移植FFMPEG到VS2008系列之二

前面我们已经把文件重命名了,准备好了代码之后就是把代码添加到vs2008开发环境中来。

3. 创建工程添加文件。

    创建新的空的控制台工程,把所有的文件都添加进来。有几个文件夹下面的文件不用添加,主要有compat,libavdevice,tools。要注意的是子目录x86下面的c文件也需要添加进来。

      

    上图之中test文件夹里面有些文件是自己添加的,它们是config.h, ffmpeg_init_av_pix_fmt_descriptor.c,g_var_func_init.c

    添加完文件之后,不要编译,因为编译会占用较长时间,而且会有成千上万的错误。

4. 完善config.h文件

    这两个文件stdint.h ,inttypes.h 在工程中是没有的,全部替换为config.h, 在config.h, 进行数据类型的重定义,主要如下:



typedef char int8_t;
typedef unsigned char uint8_t;
typedef short int16_t;
typedef unsigned short uint16_t;
typedef int int32_t;
typedef unsigned int uint32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;


#define PRIi8	"i"
#define PRIx8   "x"
#define PRIx16	"x"
#define PRIx32	"x"
#define PRId64	"d"
#define PRIu32	"u"
#define PRIu16	"u"
#define PRIu64  "u"
#define PRIx64	"x"
#define PRIX64  "X"
#define SCNd64	"d"
#define SCNd32	"d"
#define PRIi64  "i"
#define PRIi32	"i"
#define PRIi16  "i"

#define INT16_MAX		 (int16_t)32767
#define INT16_MIN		 (int16_t)-32768
#define  UINT16_MAX		 (uint16_t)65535
#define  INT32_MAX		(int32_t)0x7FFFFFFF
#define  INT32_MIN		(int32_t)0x80000000
#define  INT64_MAX		(__int64)0x7FFFFFFFFFFFFFFF
#define  INT64_MIN              (__int64)0x8000000000000000
#define  UINT32_MAX		(uint32_t)0xFFFFFFFF
#define  UINT64_MAX	     (uint64_t)0xFFFFFFFFFFFFFFFF

#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)


config文件的其它部分主要是一些对codec,mux,demux,filter等配置的宏定义,这一部分太多,不便列出。有一个方法可以比较容易的写出。就是排除完所以编译错误会出现很多的链接错误,这些链接错误很多是说对某个codec的配置找不到的错误,把这些所有的错误copy下来,在复制到config当中,就可以一次搞定所有的codec,mux,demux,filter等配置宏定义。


  

转载于:https://my.oschina.net/abcijkxyz/blog/792312

新学期领福利!购实物周边送年卡会员! T恤、键盘、双肩包等周边任选!还能解锁资源下载、VIP文章等多重会员权益! 阅读详情

相关推荐

FFMPEG静态库 VS2008可用

FFMPEG静态库 VS2008可用

ffmpeg 静态库文件大全(vs2008 本人亲测)

包含 libgcc.a libmingwex.a libcoldname.a libavcodec.a libavformat.a libavutil.a libz.a libfaac.a libgsm.a ......

移植 FFMpeg到windows(VS 2008) Part 1

这个资源分两个部分,这是第一部分: 1. ffmpeg-0.6.3_modify 是修改后的ffmepg的代码; 2. ffmpeg-0.6.3_srouce.tar 是ffmpeg原始代码; 3. SDL-devel-1.2.15-VC.zip 是图像显示使用使用的sdl代码; 4.w_cc_p_10.1.020.exe 是VC 2008需要使用的编译器; 5. icc_lic.rar 是安装w_cc_p_10.1.020.exe的注册码;

ffmpeg2.0 VS2008工程

ffmpeg2.0的vs2008工程,调试通过测试可以播放ts文件,有部分解码器没有移植但是整个框架已经跑通,其余的可以参照移植,包括 1.SDL 2.SDLMAIN 3.ZLIB 4.LIBAVCODEC 5.LIBAVUTIL 6.LIBSWSCALE 7.LIBAVFORMAT 8.LIBAVFILTER

移植FFMPEGVS2008系列之一

做音视频编解码的人都知道ffmpeg。然而,要想在windows上调试ffmpeg却不是一件容易的事情。之前也曾经把x264的代码移植vs2008上面,具体可以参见我前面的文章。最近终于把ffmpeg的最新代码完全移植vs2008环境中来。在移植过程中深深的感觉到codec的多样性,我虽然...

chuifuhuo6864的博客 114

移植FFMPEGVS2008系列之四

这部分主要是引入第三方库,还有就去去除无关的测试代码。 7. 引入第三方库 必须引入的第三方库为zdll.lib,这个库在网上可以下载到,如若不加入这个库,很多的函数将链接不到。还有在avcodec文件夹下面以lib打头的文件都是为引入第三方库而进行的接口封装,以适应f...

chuifuhuo6864的博客 101

ffmpeg.c VS2008工程

ffmpeg.c的VS2008工程,用于调试,跟踪代码流程。只有Debug工程,Release没有配軒,可根据Dedug配置。

移植FFMPEGVS2008系列之三

5. 排除编译错误。 这部分主要是修改C99的语法,常见的不兼容语法如下: 5.1 例如在文件av_codec_4xm.c最后的结构体初始化代码如下: AVCodec ff_fourxm_decoder = { .name = "4xm", ...

chuifuhuo6864的博客 103

ffmpeg移植vs2008

移植中遇到的困难和需要移植的方面请查看相关文章,文章中有比较详细的描述        http://blog.csdn.net/celerychen2009/article/details/8839380 但是解决方法我不建议 需要的资源,          ffmpeg2.0结构体转vs2008          http://download.csdn.net/detail/

MaTaijin的专栏 1290

移植 FFMpeg到windows(VS 2008)

移植 FFMpeg 到 windows 开源代码(VS 2008)需要依赖下面几方面: a) Intel C++ Compile, 由于 Intel C++ Compile支持C99语法,因此源代码改动很小。 b) SDL库 一 Intel C++ Compile安装 1. 安装w_cc_p_10.1.020.exe 2. 使用icc_lic.rar来注册码;

Chen Yuanshen的专栏 1480

VS2008+ffmpeg SDK3.2调试tutorial01

最近研究ffmpeg,在ubuntu下感觉不太好调试,老是找不到函数的声明。所以我就把他到windows下用vs2008分析 关于环境的搭建,我参考了http://hi.baidu.com/forever803/blog/item/ba90cdd2cca917093af3cf9e.html,这里我把步骤整理一下,顺便奉上图文 第1步: 下载ffmpeg SDK3.2:点击下载,并解压。 第...

SurpassLi的专栏 46

ffmpeg移植vs2008 之编译ffmpeg中的asm的过程

原理类似于           http://blog.sina.com.cn/s/blog_6938cd050100zczd.html 这下可以打开          config.h中的HAVE_YASM开关了,ffmpeg中也基本得到汇编支持,性能得到极大提升   嵌入式汇编从at&t格式移植到vc的汇编是个大问题还没有搞定

MaTaijin的专栏 1234
上一篇: 移植FFMPEG到VS2008系列之一
下一篇: 移植FFMPEG到VS2008系列之三
chuifuhuo6864
博客等级 码龄10年 106粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值