我正在检查从 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
How can AVCLevelIndication
and AVCProfileIndication
可以推导出来profile_idc
and level_idc
?
有没有办法通过比较参数来检查或修复错误的参数SPS
参数 ?