diff options
author | Mark Thompson <sw@jkqxz.net> | 2017-01-10 00:04:43 +0000 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2017-01-10 08:59:16 +0800 |
commit | f804a502699c05b6a61afac833fd465df16b32c8 (patch) | |
tree | cda025fc5d21b00616b93ad3f38df4ba555129ab /AUTHORS | |
parent | ecde5e89a8e3e8567fc95e5a3af22834583b5778 (diff) |
This implements a simple reactive VBR rate control mode for single-layer H.264.
The primary aim here is to avoid the problematic behaviour that the CBR rate
controller displays on scene changes, where the QP can get pushed up by a large
amount in a short period and compromise the quality of following frames to a
very visible degree.
The main idea, then, is to try to keep the HRD buffering above the target level
most of the time, so that when a large frame is generated (on a scene change or
when the stream complexity increases) we have plenty of slack to be able to
encode the more difficult region without compromising quality immediately on
the following frames. It is optimistic about the complexity of future frames,
so even after generating one or more large frames on a significant change it
will try to keep the QP at its current level until the HRD buffer bounds force
a change to maintain the intended rate.
Compared to the CBR rate controller, it keeps the quality level much more
stable - QP does not always spike up as large frames are generated when the
complexity of the stream increases transiently, but equally it does not reduce
as quickly when the complexity of the stream decreases.
Signed-off-by: Mark Thompson <sw@jkqxz.net>
Diffstat (limited to 'AUTHORS')
0 files changed, 0 insertions, 0 deletions