1. 首页
  2. 编程语言
  3. C
  4. 0.6版ffmpeg.c在vs2005下编译

0.6版ffmpeg.c在vs2005下编译

上传者: 2018-12-26 17:29:29上传 RAR文件 2.97MB 热度 65次
我比较笨,用了2天的时间将ffmpeg.c改在vs2005下编译. ---------------------------------- 粗略说说过程吧. 1.ffmpeg.c,牵涉的的文件有audioconvert.h,audioconvert.c,cmdutils.h,cmdutils.c,将c文件改为cpp文件 2.mingw下inttypes.h在ffmpeg.c里主要是一些int32_t的类型定义.弄出来 3.c99的语法(AVRational){1,2}在VC下不支持,我弄了个函数_AVRational()... 这样所有的地方改为_AVRational(1,2)改动不大, 4.几个msys的函数lrintf,llrintf,这是4舍5入 奇怪VC本身没有round的函数,所以我宏替代 #define lrintf(f) (f>=0?(int32_t)(f+(float)0.5)int32_t)(f-0.4) ); 查手册4舍5入法则: 20.4---->20 20.5---->21 -20.5---->-20 -20.6---->-21 --------------------------- 5.还有一个地方 gcc充许除以0,结果为正负最大值,我直接定义了最大值的宏. 6.linux下的函数usleep()精确到微秒,而VC的Sleep,sleep只能是秒,豪秒,这个差距不知道怎么解决.暂时我就让错差存在. 7.其实编的时候,里面很多include的头文件没用着的,我就注释了. 8.加上extern "C"{};规范 =========================== 总的说来,这样调试跟踪顺序是对的.对学习帮助较大. gcc充许除以0,结果为正负最大值,我直接定义了最大值的宏. 6.linux下的函数usleep()精确到微秒,而VC的Sleep,sleep只能是秒,豪秒,这个差距不知道怎么解决.暂时我就让错差存在. 7.其实编的时候,里面很多include的头文件没用着的,我就注释了. 8.加上extern "C"{};规范 =========================== 总的说来,这样调试跟踪顺序是对的.对学习帮助较大.
用户评论
码姐姐匿名网友 2018-12-26 17:29:29

一执行就崩溃

码姐姐匿名网友 2018-12-26 17:29:29

好像不能用啊,

码姐姐匿名网友 2018-12-26 17:29:29

不错,也就是只可以跟一下,结果是无法执行,一执行就崩溃,很是郁闷!!

码姐姐匿名网友 2018-12-26 17:29:29

还是链接的avcodec.dll等库,只是在vs下编译ffmpeg命令行程序而已

码姐姐匿名网友 2018-12-26 17:29:29

楼主的代码跑起来有问题啊,调用的时候程序总是崩溃