发布时间:2013-09-28 16:45:05
前言代码抽取方法:1. 跟踪并复制 跟踪要抽取代码的主要流程, 将主流程相关的,函数层次不是很深的代码原样复制到新的工程中; 函数调用层次很复杂的函数可以先只留下函数接口,将函数体的内容全部注释掉。2. 编译 编译新的工程,一个一个解决编译提示的警告和出错信息。3. 调试.........【阅读全文】
发布时间:2013-09-28 16:44:35
SDL(Simple DirectMedia Layer)是个好东西!要想开发一个自己的跨平台的媒体播放器(如ffplay等),它就大有武之地啦。SDL的入门介绍有很多,比如中文的有“龙飞”的洋洋洒洒一个系列:http://www.cppblog.com/lf426/archive/2008/01/30/42161.aspx当然,官方的教程是很有用:http://lazyfoo.net/SDL_tutoria.........【阅读全文】
发布时间:2013-09-28 16:43:24
一、FFmpeg忽略了adaptation_field()数据FFmpeg忽略了包含PCR值的adaptation_filed数据;代码(libavformat/mpegts.c)分析如下:/* 解析TS包 */int handle_packet(MpegTSContext *ts, const uint8_t *packet){ ... pid = AV_RB16(packet + 1) & 0x1fff; //SYNT.........【阅读全文】
发布时间:2013-09-28 16:42:59
一、引言MPEG2系统用于视音频同步以及系统时钟恢复的时间标签分别在ES,PES和TS这3个层次中。 在TS 层, TS头信息包含了节目时钟参考PCR(Program Clock Reference), 用于恢复出与编码端一致的系统时序时钟STC(System Time Clock)。 &nb.........【阅读全文】
发布时间:2013-09-28 16:42:46
一、函数声明:int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding rnd);直接看代码, 它的作用是计算 "a * b / c" 的值并分五种方式来取整.用在FFmpeg中, 则是将以 "时钟基c" 表示的 数值a 转换成以 "时钟基b" 来表示。一共有5种方式:AV_ROUND_ZERO = 0, // Round toward zero. 趋近于0AV_ROUND_INF &nb......【阅读全文】