自己解析SPS中分辨率的宽和高,具体的语法在方文档ITU-T H.264(03/2005)中有解释,具体在7.4.2.1 序列参数集RBSP语义中。
重点字段有:
1、chroma_format_idc
与亮度取样对应的色度取样。可取值包括:0,1,2,3。当chroma_format_idc不存在时,应推断其值为1(4:2:0的色度格式)。
chroma_format_idc = 0,表示 色彩为单色
chroma_format_idc = 1,表示 YUV 4:2:0
chroma_format_idc = 2,表示 YUV 4:2:2
chroma_format_idc = 3,表示 YUV 4:4:4
2、frame_mbs_only_flag
表示视频序列中的编码图像的类型,为0时表示编码图像为编码场;为1时表示编码图像为只包含帧宏块的编码帧,影响图像高度的计算。
frame_mbs_only_flag = 0,(pic_height_in_map_units_minus1 + 1)表示以宏块为单位的一场的高度;
frame_mbs_only_flag = 1,(pic_height_in_map_units_minus1 + 1)表示以宏块为单位的一帧的高度;
3、pic_width_in_mbs_minus1
该值加1是指以宏块为单位的每个解码图像的宽度。
具体的,以宏块为单元的图像宽度为:PicWidthInMbs = pic_width_in_mbs_minus1 + 1
图像的宽即亮度分量的宽为:PicWidthIn