]> granicus.if.org Git - libvpx/commit
vp9: Reset rc flags on some configuration changes.
authorMarco <marpan@google.com>
Fri, 8 Dec 2017 01:24:41 +0000 (17:24 -0800)
committerMarco <marpan@google.com>
Wed, 13 Dec 2017 18:41:38 +0000 (10:41 -0800)
commita40fa1f95d3c49424f6366cd91771f801cbac6c3
tree2442c98df61038250f0fb76b188b06954bc28572
parent94eaecaa91661dfc3ecd00a0963211b9704a5bd5
vp9: Reset rc flags on some configuration changes.

For large dynamic changes in target avg_frame_bandwidth, or
a change in resolution, via the update in change_config()),
reset the under/overshoot flags (rc_1_frame, rc_2_frame)
to prevent constraining the QP for the first few frames
following the change.

For SVC use the spatial stream avg_frame_bandwidth in
reset condition.

For the avg_frame_bandwidth condition, use fairly large
threshold (~50%) for now in reset.

This allows for better/faster QP response if, for example,
application dynamically changes bitrate by large amount.

Change-Id: Ib6e3761732d956949d79c9247e50dba744a535c0
vp9/encoder/vp9_encoder.c
vp9/encoder/vp9_ratectrl.c
vp9/encoder/vp9_ratectrl.h
vp9/encoder/vp9_svc_layercontext.c
vp9/encoder/vp9_svc_layercontext.h