Hi,
Morfsta schrieb:
I used xinelibout for my H264 parser but Petri Hintukainen skips parsing of the VUI! I am looking in your h264parser.c in VDR and you also seem to comment this stuff out!
Well, I have no use for this kind of information, but I have to read over it as there is no other way to get to relevant information behind it :-(
So, here is my code: -
if (br_get_bit(&br)) { /* VUI parameters */ if (br_get_bit(&br)) { /* Aspect Info */ uint32_t aspect_ratio_idc = br_get_u8(&br); printf("H.264 SPS: -> Aspect Ratio IDC %d\n", aspect_ratio_idc); const uint32_t Extended_SAR = 255; if (aspect_ratio_idc == Extended_SAR) { uint32_t sar_width = br_get_u16(&br); uint32_t sar_height = br_get_u16(&br); printf("H.264 SPS: -> SAR_Size = %dx%d\n",
sar_width, sar_height); } } }
I am getting an Aspect Ratio IDC of 11 so the sar width and height calcs are not called. What do I need to do here to get the aspect (~1.818181)?
Well, the spec tells you that aspect_ratio_idc 11 means a sample (pixel) aspect ratio 15:11 (1.3636). And you have 1440 x 1080 pixels so the frame aspect ratio yields:
far = 1.3636 * 1440 / 1080 = 1.8181
Bye.