Tune effect of motion on KF/GF boost in two pass;

This code adjust the impact of the amount and speed of motion
on GF and KF boost.

Sections with lots of slow motion will tend to have a
somewhat bigger boost and sections with fast motion may
have less.

There is a knock on effect to the selection of the active
quantizer range.

This will likely require further tuning but helps with a couple
of particularly bad edge cases.

Change-Id: Ic2449cda7305672b69acf42fc0a845b77ac98d40
This commit is contained in:
Paul Wilkins
2010-10-02 17:31:46 +01:00
parent f143a81191
commit 788c0eb54e
2 changed files with 63 additions and 25 deletions

View File

@@ -4247,7 +4247,7 @@ static void encode_frame_to_data_rate
if (cpi->avg_frame_qindex < cpi->active_worst_quality)
Q = cpi->avg_frame_qindex;
if ( cpi->gfu_boost > 1000 )
if ( cpi->gfu_boost > 1000 )
cpi->active_best_quality = gf_low_motion_minq[Q];
else if ( cpi->gfu_boost < 400 )
cpi->active_best_quality = gf_high_motion_minq[Q];
@@ -4265,7 +4265,7 @@ static void encode_frame_to_data_rate
// KEY FRAMES
else
{
if (cpi->gfu_boost > 1000)
if (cpi->gfu_boost > 600)
cpi->active_best_quality = kf_low_motion_minq[Q];
else
cpi->active_best_quality = kf_high_motion_minq[Q];