中易网

vc6能用较新的ffmpeg吗

答案:1  悬赏:80  
解决时间 2021-01-17 03:51
vc6能用较新的ffmpeg吗
最佳答案
支持:
  1. 下载最新git版本的源代码,
本例下载的是2011-12-12版本
2. 放到MSYS环境里配置,生成config.h文件。mingw
gcc是能顺利编译通过整个项目的,并生成最新版的ffmpeg。
3. 建立vc6工程,把相关代码都加入到工程中。由于在vc生成的obj都在一个目录下,所以需要修改文件名,让其不重名。
4.
安装intel compiler 11编译器,单独提取其icl.exe及相关include目录,替换掉vc6自带的cl.exe,
在工程设置里加上/Qstd=c99,用于支持C99语法。
5. 安装intel compiler
10编译器,单独提取lib目录,因为此版本调试库的结构能完美支持vc6的调试信息。
6.
在vc6的options里设置include/exe/lib查找目录,指向intel编译器。
7. 开始修改代码,添加C99的相关linux头文件,
用于支持vc6, (unistd.h, stdint.h, inttypes.h, getopt.h)
8.
添加C99和linux的相关实现代码,ffmpeg需要用到: getopt_long, strtoll, gettimeofday, atoll,
usleep等
9. 修改windows的相关兼容代码,GetWindowLongPtr -> GetWindowLong,
GWLP_USERDATA
10. 去除硬件加速libavcodec代码,和依赖库代码。选择所需要的模块,修改相关的allcodec.c,
alldevices.c, allfilters.c, allformats.c
11. 加上链接库,sdl.lib, winmm.lib,
dxguid.lib, wsock32.lib
12.
在os_support.c里,把移动到文件最前面。
13. 如果是ffmpeg,
已经能顺利编译了。如果是ffplay,还需要编译静态sdl, 并链接。
14.
等等,音频运行不正确?有雪花声?因为还需要替换所有文件里的,
默认的rint等数学函数和gcc不兼容。
15. ok, 大功告成,纯C版本完美运行。
16.
由于ffmpeg0.9在c文件里,添加了一些intel compiler不支持的mmx语法,所以编译mmx/sse加速版本时,一小部分.c文件需要依赖mingw
gcc编译成.o文件,再通过vc6的lib.exe工具转换成lib,让vc6链接上。当然还要加上yasm编译的很多汇编obj.
17.
有兴趣的,可以继续以此方法编译x264库,官方最新代码MMX版也可以顺利通过。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
15米的五分之三是多少米,多少的五分之三是15
H5 canvas不显示
为什么篮球的花纹非要做成那样呢
允许windows远程控制但又要防止3389端口被扫
大华眼镜(明视达三店)地址在什么地方,我要处
Labview程序框图部分编的程序已经比整个电脑
PSP的IMG游戏如何处理
怎样才能让自己遇事不怕事
c++中如何判断四边形的凸凹
长丰桥地址有知道的么?有点事想过去
巜住在口琴里的蜂王》读后感:
GHOST纯净版安装后 ,屏幕上就出现segnale di
有人知道“买空卖空”啥意思吗?
未定的意思是什么?未定的释义是什么啊?
我在一个单位干了15年,现在要被辞退,我想知
推荐资讯
金百惠美容养生会馆怎么去啊,我要去那办事
为什么法国产的派克世纪笔防伪标签上说是上海
蔡辉二手车业地址在哪,我要去那里办事
做主播是繁星艺人好还是公会艺人好啊
芙蓉宾馆(株洲醴陵市)地址在什么地方,我要处
11减多少加6等于16
python为什么那么火?列举一下你们学python的
武汉到孝惑乘座什么交通比较便利
一加仑等于多少克?
睿音琴行在哪里啊,我有事要去这个地方
苹果4可以用移动卡吗?
绿化,这两种什么乔木、灌木。
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?