- edited description
fractional frame rate, SAR + fps in SPS/VUI
In real life, most frame rates are not integers, they are rational numbers with integer numerators and denominators. Some light reading:
- http://en.wikipedia.org/wiki/Frame_rate
- http://en.wikipedia.org/wiki/Interlaced_video
- http://en.wikipedia.org/wiki/Telecine
The reason our pts and dts fields are 64bits is that they are typically numerators; while the user app has large denominators (often in system tics) that they keep to themselves, we don't need to know what they are typically, except in a few places.
One of those is the VUI portion of the SPS, which we need to enable and make certain parts of it user-visible. The SAR, FPS, overscan, and other info needs to be user configurable, and again we should follow x264's lead as far as x265_param and the CLI options. Whomever works on this task needs to become an expert on the fields in the VUI on their meanings and how they pertain to encode options.
Also, rate control needs to be aware of the fractional nature of the frame rate, particularly where duration and elapsed time are calculated. The frame rate statistics are another place that need to be aware of the fractional times.
To get started, search for setVuiParametersPresentFlag() in encoder.cpp
Comments (2)
-
reporter -
reporter - changed status to resolved
implemented by 04a72988d48f
- Log in to comment