zoukankan      html  css  js  c++  java
  • 移植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等配置宏定义。


      

  • 相关阅读:
    Redis基础
    Windows 10 中 安装 RabbitMQ
    Nginx
    第二章-矩阵
    第一章-行列式
    第六章-微分方程
    第五章-多元函数
    第四章-定积分
    第三章-不定积分
    第二章-导数
  • 原文地址:https://www.cnblogs.com/celerychen/p/3588210.html
Copyright © 2011-2022 走看看