ffmpeg源码分析--9.av_read_frame
来源:互联网 发布:java 银行外包公司 编辑:程序博客网 时间:2024/06/07 02:59
1.
av_read_frame返回后可以保证读到的是一个完整帧
av_read_frame(is->pFormatCtx, is->packet);
av_read_frame
-->read_frame_internal
av_read_frame
-->read_frame_internal
--> ff_read_packet
ff_read_packet()
{
1. 检查raw_packet_buffer中是否有buf,有的话直接probe_codec然后返回
2. 若没有buf,则:
av_init_packet(pkt);
ret = s->iformat->read_packet(s, pkt); //调用具体container的read_packet
pts dts 的有关操作
force_codec_ids(s, st);
add_to_pktbuf
probe_codec
}
下面就进入到具体的container的read函数中
av_read_frame
-->read_frame_internal
--> ff_read_packet
--> mov_read_packet
mov_read_packet()
{
}
av_read_frame返回后可以保证读到的是一个完整帧
av_read_frame(is->pFormatCtx, is->packet);
- int av_read_frame(AVFormatContext *s, AVPacket *pkt)
- {
- 1. 先判断AVPacketList中是否有数据,若有数据直接从AVPacketList中返回一帧
- 2. 若AVPacketList中没有数据,则:
- ret = read_frame_internal(s, pkt); ;;读取一帧
- add_to_pktbuf(); ;;将packet加入s->raw_packet_buffer中
- av_packet_unref();
- }
av_read_frame
-->read_frame_internal
- static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
- {
- av_init_packet(pkt); //pkt中的变量设为0,buf设为NULL
- ff_read_packet();
- }
av_read_frame
-->read_frame_internal
--> ff_read_packet
ff_read_packet()
{
1. 检查raw_packet_buffer中是否有buf,有的话直接probe_codec然后返回
2. 若没有buf,则:
av_init_packet(pkt);
ret = s->iformat->read_packet(s, pkt); //调用具体container的read_packet
pts dts 的有关操作
force_codec_ids(s, st);
add_to_pktbuf
probe_codec
}
下面就进入到具体的container的read函数中
av_read_frame
-->read_frame_internal
--> ff_read_packet
--> mov_read_packet
mov_read_packet()
{
}
0 0
- ffmpeg源码分析--9.av_read_frame
- FFmpeg源码剖析-解码:av_read_frame()
- ffmpeg 源代码简单分析 : av_read_frame()
- ffmpeg 源代码简单分析 :av_read_frame()
- ffmpeg 源代码简单分析 : av_read_frame()
- ffmpeg 源代码简单分析 : av_read_frame()
- ffmpeg 源代码简单分析 : av_read_frame()
- FFmpeg的av_read_frame()的分析
- ffmpeg 函数简单分析 : av_read_frame()
- ffmpeg源码跟踪笔记之av_read_frame
- FFmpeg-av_read_frame
- ffmpeg源码简析(八)解码 av_read_frame(),avcodec_decode_video2(),avformat_close_input()
- FFMPeg代码分析:AVPacket结构体和av_read_frame函数
- FFMPeg代码分析:av_read_frame()函数的内部构造
- FFMPeg代码分析:AVPacket结构体和av_read_frame函数
- ffmpeg开发系列--av_read_frame()
- ffmpeg的av_read_frame学习
- FFmpeg图解:av_read_frame()
- 「 PSR规范」PSR-2 编码风格规范
- Fmod studio 获取spectrum波谱数据
- ffmpeg源码分析--8.avformat_find_stream_info及一些参数的确定
- SIT测试 和 UAT测试
- fastdfs分布式文件系统之TrackerServer连接池实现
- ffmpeg源码分析--9.av_read_frame
- requests应用step1
- jquery事件切换
- ffmpeg源码分析--10.视频帧IPB
- TextBox AutoComplete with ASP.NET and jQuery UI
- 2016 9月版本的linphone for android make 不能执行py,pl,sh等脚本问题
- 汇编预备知识(二)
- ffmpeg源码分析--11.mov的mov_read_header
- bootstrap 基本例子,导航栏和container的使用