summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorAlex Converse <aconverse@google.com>2014-02-26 16:46:21 -0800
committerAlex Converse <aconverse@google.com>2014-02-26 16:46:21 -0800
commit801f136be2c605a867f41f10267fef057348f65b (patch)
tree35a2a7f14218779165d9847974f483ffaece8d8b /vp9
parent28cd97281051229a14d3795cbc6cead91de475cf (diff)
downloadlibvpx-801f136be2c605a867f41f10267fef057348f65b.tar
libvpx-801f136be2c605a867f41f10267fef057348f65b.tar.gz
libvpx-801f136be2c605a867f41f10267fef057348f65b.tar.bz2
libvpx-801f136be2c605a867f41f10267fef057348f65b.zip
Don't let GOLDEN_FRAME turn off LAST_FRAME as a reference when GOLDEN_FRAME is disabled.
There was a bug in the previous code that if GOLDEN was better than LAST neither would be used. LAST would get turned off due to superior GOLDEN quality then all GOLDEN modes would get skipped. Change-Id: I173f3720451707dab7b2cbbe8b8e6a047089bde7
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_onyx_if.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c
index 33f588fa1..ccf726b31 100644
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -491,18 +491,6 @@ static void set_rd_speed_thresholds(VP9_COMP *cpi) {
sf->thresh_mult[THR_D207_PRED] += 2500;
sf->thresh_mult[THR_D63_PRED] += 2500;
- // disable using golden frame modes if golden frames are not being used
- if (cpi->rc.frames_till_gf_update_due == INT_MAX) {
- sf->thresh_mult[THR_NEARESTG ] = INT_MAX;
- sf->thresh_mult[THR_ZEROG ] = INT_MAX;
- sf->thresh_mult[THR_NEARG ] = INT_MAX;
- sf->thresh_mult[THR_NEWG ] = INT_MAX;
- sf->thresh_mult[THR_COMP_ZEROGA ] = INT_MAX;
- sf->thresh_mult[THR_COMP_NEARESTGA] = INT_MAX;
- sf->thresh_mult[THR_COMP_NEARGA ] = INT_MAX;
- sf->thresh_mult[THR_COMP_NEWGA ] = INT_MAX;
- }
-
/* disable frame modes if flags not set */
if (!(cpi->ref_frame_flags & VP9_LAST_FLAG)) {
sf->thresh_mult[THR_NEWMV ] = INT_MAX;
@@ -3072,6 +3060,9 @@ static void get_ref_frame_flags(VP9_COMP *cpi) {
if (cpi->gold_is_last)
cpi->ref_frame_flags &= ~VP9_GOLD_FLAG;
+ if (cpi->rc.frames_till_gf_update_due == INT_MAX)
+ cpi->ref_frame_flags &= ~VP9_GOLD_FLAG;
+
if (cpi->alt_is_last)
cpi->ref_frame_flags &= ~VP9_ALT_FLAG;