与slice有关的问题

  返回列表发帖

与slice有关的问题

大家有没有研究ffmpeg的h264解码的,一个nal单元是不是只包含一个slice或SPS、PPS什么的,怎么知道一个slice属于哪个frame,frame之间有没有具体的分割单位,怎么知道一个frame里包含的哪几个slice呢?
麻烦大侠们了,刚开始看ffmpeg的h264部分代码,还比较朦胧呢……
收藏 分享
 

 
1、一个nal单元是不是只包含一个slice或SPS、PPS什么的
——不一定。有可能不到一个 slice;

2、怎么知道一个slice属于哪个frame
——可以用 frame_num + POC 来判断;

3、frame之间有没有具体的分割单位
——没有;

4、怎么知道一个frame里包含的哪几个slice呢?
——无法知道。
欢迎加入我们的QQ群: 12923082。新加入者请先仔细阅读论坛中的 《群成员须知》

TOP

 
回复 2# firstime
我理解的标准是这样的,一个frame的所有slice划分的宏块预测是独立的,也就是说属于一个frame的slice之间不能相互参考。这样对吗?

那么在文件中(不是来源于网络流)属于一个frame的那些slice是不是应该在一起,而不会分散的出现。这些slice之间有没有分隔单位,还是说他们有可能互相穿插。
 

TOP

 
1、属于一个frame的slice之间不能相互参考
——是;

2、这些slice之间有没有分隔单位
——没有。
欢迎加入我们的QQ群: 12923082。新加入者请先仔细阅读论坛中的 《群成员须知》

TOP

 
回复 4# firstime


    非常感谢版主不厌其烦的解答。
  对于第二个回答:这些slice之间有没有分隔单位
我想知道,那么在解码slice单位前,有没有可能把属于一帧的所有slice都找到,提取出来,然后对他们单独分开处理。
还是说只能在对码流一边扫描一边解析呢?
 

TOP

 
可以用 frame_num + POC 来判断
欢迎加入我们的QQ群: 12923082。新加入者请先仔细阅读论坛中的 《群成员须知》

TOP

 
回复 6# firstime

可以用 frame_num + POC 来判断:

可是码流是顺序的,怎么在未来的码流还未解析的情况下,获得后续slice的frame_num和POC呢?

也就是说,既然frame无分割单位,那么就只有等到当前slice解析完,才能获得下一slice的相关信息吧。
 

TOP

 
1、怎么在未来的码流还未解析的情况下,获得后续slice的frame_num和POC呢?
——当然要解析码流才能知道 frame_num 和 POC 了;

2、那么就只有等到当前slice解析完,才能获得下一slice的相关信息吧。
——只需要解析 slice 头就可以了,不必等全部解析完。slice 头解析完之后,就可以得到 frame_num 和 POC,就可以知道哪些 slice 属于一帧了,后面的解析部分对于同一帧的多个 slice 就可以并行了。
欢迎加入我们的QQ群: 12923082。新加入者请先仔细阅读论坛中的 《群成员须知》

TOP

 
  返回列表

你可能感兴趣的:(与slice有关的问题)