ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8246|回复: 2

【经验分享&讨论】如何判断H264的帧为I帧

[复制链接]
发表于 2013-10-5 12:29:09 | 显示全部楼层 |阅读模式
本帖最后由 宁静致远 于 2013-10-7 16:37 编辑

不保证正确性,仅仅是与大家讨论对标准的理解。

判断一个帧是否是I帧,我通过判断slice_header来决定。
如何判断slice_header的方法如下:
之前一直对slice_header的一些变量的数据结构占多少位感到疑惑,实际确实是可变的。
详情查阅14496-10   avc的文档此章节。
Parsing process for Exp-Golomb codes
此章节列出了ue(v)格式是分布的的。


由于I帧肯定是帧内预测,所以第一个宏块的起始地址是0,于是对应后面的slice_type 也就可以算出是不是I帧了。
slice_type是 2 4 7 9 都是 I slice,
因此 第五个字节开始算起,符合如下数据,我认为都可以算是I帧。

1 011
1 00101
1 0001000
1 0001010

由于紧跟着的变量也是ue(v)格式的,所以不可以用字节判断,必须从第五个字节开始,按位来判断是否是I帧。

回复

使用道具 举报

 楼主| 发表于 2013-10-9 23:16:51 | 显示全部楼层
奇怪,为啥没人分享呢
回复 支持 反对

使用道具 举报

发表于 2013-12-23 15:17:35 | 显示全部楼层
谢, 谢,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg

GMT+8, 2024-4-27 03:52 , Processed in 0.054596 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表