fractional frame rate, SAR + fps in SPS/VUI

Issue #21 resolved
Steve Borho created an issue

In real life, most frame rates are not integers, they are rational numbers with integer numerators and denominators. Some light reading:

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)

  1. Log in to comment