我是靠谱客的博主 踏实草莓,最近开发中收集的这篇文章主要介绍vs2013编译ffmpeg之二十八 snappy、soxr、speexsnappysoxrspeex/speexdsp,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

snappy

对应ffmpeg configure选项–enable-libsnappy。

快速压缩库,注重速度。

msys编译

其没有对应的vs工程,用git bash下载代码:git clone https://github.com/google/snappy.git。其代码里面没有说明如何编译在msys下编译命令:

mkdir msys_build; ./configure --prefix=$(pwd)/msys_build; make; make install

编译出来的.a文件有问题,在configure ffmpeg的时候报下面的错误:

libsnappy.a(snappy.o) : fatal error LNK1143: 无效或损坏的文件:
没有 COMDAT 0x14 节的符号

这个错误没有找到原因,可能是需要用lib工具转换一下,这个未作测试:

lib
/machine:ix86
/def:xxx.def
/out:xxx.lib

vs2013编译

从snappy的编译打印看,snappy的库文件只包含4个文件,所以直接用vs2013编译。创建一个新的Win32 Console Application,工程设置为空,将snappy.cc、snappy-c.cc、snappy-sinksource.cc、snappy-stubs-internal.cc加入工程。HAVE_CONFIG_H加入宏定义中,config.h里面需要修改,将:

#define HAVE_BUILTIN_CTZ 1
#define HAVE_BUILTIN_EXPECT 1

改成:

#ifdef WIN32
#else
#define HAVE_BUILTIN_CTZ 1
#endif
/* Define to 1 if the compiler supports __builtin_expect. */
#ifdef WIN32
#else
#define HAVE_BUILTIN_EXPECT 1
#endif

将输出的文件名改成snappy.lib。编译成功后就可以configure ffmpeg了。

soxr

对应ffmpeg configure选项–enable-libsoxr。

从https://sourceforge.net/projects/soxr/files/上下载soxr-0.1.2-Source.tar.xz。

soxr是重采样的库。

源代码下有soxr-0.1.2-Sourcemsvclibsoxr.vcproj,MSVC2013建立个空的解决方案libsoxr.sln,手动加入libsoxr.vcproj再编译。

speex/speexdsp

对应ffmpeg configure选项–enable-libspeex。
从官网上下载speex-1.2rc2、speexdsp-1.2rc3,两个模块的编译都在speex-1.2rc2win32VS2013libspeex.sln里面(原本是VS2010,目录改成VS2013),将speexdsp-1.2rc3里面的工程都包含进来。

最后

以上就是踏实草莓为你收集整理的vs2013编译ffmpeg之二十八 snappy、soxr、speexsnappysoxrspeex/speexdsp的全部内容,希望文章能够帮你解决vs2013编译ffmpeg之二十八 snappy、soxr、speexsnappysoxrspeex/speexdsp所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部