vob aspect ratio
A unified display of relevant technical and tag data for A/V files
Brought to you by:
guillaumeroques,
zenitram
Ah... I did not have this report for some time... :)
Example of old discussion: http://forum.doom9.org/showthread.php?p=1335505#post1335505
So, your file:
(...)
00000824 sequence_header (12 bytes)
(...)
0000082C aspect_ratio_information: 3 (0x03) - (4 bits) - 9÷16
(...)
0000083A extension_start - Sequence Display (12 bytes)
(...)
00000840 display_horizontal_size: 540 (0x021C)
00000841 display_vertical_size: 576 (0x0240)
(...)
Spec says:
"aspect_ratio_information gives the Display Aspect Ratio (DAR).
• If sequence_display_extension() is not present, then it is intended that the entire reconstructed frame is intended to be mapped to the entire active region of the display. The sample aspect ratio may be calculated as follows: SAR = DAR × horizontal_size ÷ vertical_size
NOTE 1 – In this case horizontal_size and vertical_size are constrained by the SAR of the source and the DAR selected.
• If sequence_display_extension() is present then the sample aspect ratio may be calculated as follows: SAR = DAR × display_horizontal_size ÷ display_vertical_size"
So, in case: SAR = 9 ÷ 16 × 540 ÷ 576 = 0.527
in MPEG Video specs, SAR is inverted compared to what we use in modern discussion, so SAR = 1/0.527 = 1.896
So DAR is expected to be 720/576*1.896=2.370.
I think I am conform to specifications, if you think I don't, please provide me the explanation about how specifications should be interpreted.
I don't know how ffmpeg or mplayer implement the specifications, and if I remember well, it depends a lot of which version of VLC or ffmpeg you use, but on my side, I prefer to conform to specifications when I am not able to differentiate a right implementation and a wrong implementation (maybe I could test the extension, VOB is known to be only 4:3 or 16:9, but relying only on the extension is also a bit risky...)
FYI, I have several files with different implementation of display_horizontal_size and display_vertical_size, so I put DAR=16:9 for your file, I break the result of some other files, so conformance to specifications if the most important thing, whatever say some other decoders.
Thanks for clearing that up.
" If sequence_display_extension() is present ..." that was the part I was not aware of. :)