[vdr] VDR - xine - CoreAVC

Reinhard Nissl rnissl at gmx.de
Mon Feb 11 23:10:38 CET 2008


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.
-- 
Dipl.-Inform. (FH) Reinhard Nissl
mailto:rnissl at gmx.de



More information about the vdr mailing list