文档章节

移植FFMPEG到VS2008系列之二

abcijkxyz
 abcijkxyz
发布于 2016/11/22 16:45
字数 497
阅读 6
收藏 0

前面我们已经把文件重命名了,准备好了代码之后就是把代码添加到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等配置宏定义。


  

本文转载自:http://www.cnblogs.com/celerychen/archive/2013/04/23/3588210.html

共有 人打赏支持
abcijkxyz
粉丝 63
博文 6196
码字总数 1876
作品 0
深圳
项目经理
私信 提问
最简单的基于FFmpeg的移动端例子附件:Android 自带播放器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leixiaohua1020/article/details/47056733 ===================================================== 最简单的...

雷霄骅
2015/07/25
0
0
最简单的基于FFmpeg的移动端例子:IOS 视频转码器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leixiaohua1020/article/details/47072673 ===================================================== 最简单的...

雷霄骅
2015/08/01
0
0
最简单的基于FFmpeg的移动端例子附件:IOS自带播放器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leixiaohua1020/article/details/47072861 ===================================================== 最简单的...

雷霄骅
2015/08/01
0
0
最简单的基于FFmpeg的移动端例子:IOS 推流器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leixiaohua1020/article/details/47072519 ===================================================== 最简单的...

雷霄骅
2015/07/29
0
0
最简单的基于FFmpeg的移动端例子:IOS 视频解码器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/leixiaohua1020/article/details/47072257 ===================================================== 最简单的...

雷霄骅
2015/07/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue.js开发环境搭建说明(mac)

vue开发环境搭建(mac) 投影放大:cmd + + 安装Node 下载Node 官网下载 https://nodejs.org/en/download/ 安装Node 双击安装包,选择安装目录,比如: /usr/local/bin 安装成功后最好记录一...

Danni3
26分钟前
2
0
Qt编写自定义控件3-速度仪表盘

前言 速度仪表盘,写作之初的本意是用来展示当前测试的网速用的,三色圆环+数码管显示当前速度,Qt自带了数码管控件QLCDNumber,直接集成即可,同时还带有动画功能,其实也可以用在汽车+工业...

飞扬青云
31分钟前
1
0
【论文阅读】Image Super-Resolution via Deep Recursive Residual Network

题目:通过深度递归残差网络实现图像的超分辨率 摘要: 近年来,基于卷积神经网络的模型在单张图像的超分辨率上已经取得了巨大的成功。由于深度网络的强大,这些CNN模型学习了从低分辨率输入...

云烟成雨forever
34分钟前
2
0
为什么强烈建议大家使用枚举来实现单例

关于单例模式,我的博客中有很多文章介绍过。作为23种设计模式中最为常用的设计模式,单例模式并没有想象的那么简单。因为在设计单例的时候要考虑很多问题,比如线程安全问题、序列化对单例的...

群星纪元
52分钟前
14
0
Confluence 6 超过当前许可证期限进行升级

这个页面将会对你在进行 Confluence 升级的时候超过了当前许可证的期限进行升级的情况。 许可证警告 在升级的过程中,你将会在 Confluence 的应用程序日志(log file)中看到类似下面的错误提...

honeymoose
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部