从.mp4获取的H.264解码器配置记录的格式

时间:2012-08-08 16:21:00

标签: h.264 mp4 codec

我正在检查从Android设备录制的.mp4视频文件中包含的解码器配置记录。某些设备在解码器配置记录中写入了奇怪或不正确的参数。

以下是来自Galaxy Player 4.0的示例:

DecoderConfigurationRecord: 010283f2ffe100086742000de90283f201000568ce010f20
       pictureParameterSetNALUnits : 68ce010f20
       AVCLevelIndication : 242
       AVCProfileIndication : 2
       sequenceParameterSetNALUnits : 6742000de90283f2
       lengthSizeMinusOne : 3
       configurationVersion : 1
       profile_compatibility : 131
       profile_idc : 103
       constraint_set : 16
       level_idc : 0

AVCLevelIndication == 242错误,因为标准状态51是最高值。

AVCProfileIndication应该在(66,77,88,100,120,..)

profile_compatibility被称为constraint_set_flag s和2个最低有效位被保留并且被置于等于0

这应该是这样的:

DecoderConfigurationRecord: 0142000dffe100086742000de90283f201000568ce010f20
       pictureParameterSetNALUnits : 68ce010f20
       AVCLevelIndication : 13
       AVCProfileIndication : 66
       sequenceParameterSetNALUnits : 6742000de90283f2
       lengthSizeMinusOne : 3
       configurationVersion : 1
       profile_compatibility : 0
       profile_idc : 103
       constraint_set : 16
       level_idc : 0

如何从AVCLevelIndicationAVCProfileIndication推断profile_idclevel_idc

有没有办法通过将它们与SPS参数进行比较来检查或可能修复错误的参数?

1 个答案:

答案 0 :(得分:5)

level_idc10 * level。即如果您使用等级3.1,则为31

{p> profile_idcISO/IEC 14496-10的附件A中指定。基线资料为66,主要资料为77,扩展资料为88

此外,您可以分别在7.3.2.1和7.3.2.2节中查看SPS RBSP和PPS RBSP的语法。注意ue(x)se(x)表示无符号指数golomb编码和带符号指数golomb编码。

编辑:道歉。 AVCProfileIndicationAVCLevelIndication应与profile_idclevel_idc

相同