summaryrefslogtreecommitdiff
path: root/vp8/encoder
diff options
context:
space:
mode:
authoragrange <agrange@google.com>2010-06-21 13:44:42 +0100
committeragrange <agrange@google.com>2010-06-21 16:50:59 +0100
commita08df4552a73529e12fdad10bc1b04e5f82fbcb6 (patch)
tree661eb3f5100d4446b870fe9bfc083f169ff03775 /vp8/encoder
parentdaa5d0eb3d837aefdf30c96c11a1af93566d318d (diff)
downloadlibvpx-a08df4552a73529e12fdad10bc1b04e5f82fbcb6.tar
libvpx-a08df4552a73529e12fdad10bc1b04e5f82fbcb6.tar.gz
libvpx-a08df4552a73529e12fdad10bc1b04e5f82fbcb6.tar.bz2
libvpx-a08df4552a73529e12fdad10bc1b04e5f82fbcb6.zip
Fix breakout thresh computation for golden & AltRef frames
1. Unavailability of each reference frame type should be tested independently, 2. Also, only the VP8_GOLD_FLAG needs to be tested before setting golden frame specific thresholds, and only VP8_ALT_FLAG needs testing before setting thresholds relevant to the AltRef frame. (Raised by gbvalor, in response to Issue 47) Change-Id: I6a06fc2a6592841d85422bc1661e33349bb6c3b8
Diffstat (limited to 'vp8/encoder')
-rw-r--r--vp8/encoder/onyx_if.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c
index 14adb4ecc..f3456a733 100644
--- a/vp8/encoder/onyx_if.c
+++ b/vp8/encoder/onyx_if.c
@@ -545,7 +545,8 @@ void vp8_set_speed_features(VP8_COMP *cpi)
sf->thresh_mult[THR_NEWG ] = INT_MAX;
sf->thresh_mult[THR_SPLITG ] = INT_MAX;
}
- else if (!(cpi->ref_frame_flags & VP8_ALT_FLAG))
+
+ if (!(cpi->ref_frame_flags & VP8_ALT_FLAG))
{
sf->thresh_mult[THR_NEARESTA ] = INT_MAX;
sf->thresh_mult[THR_ZEROA ] = INT_MAX;
@@ -597,7 +598,8 @@ void vp8_set_speed_features(VP8_COMP *cpi)
sf->thresh_mult[THR_NEARMV ] = INT_MAX;
sf->thresh_mult[THR_SPLITMV ] = INT_MAX;
}
- else if (!(cpi->ref_frame_flags & VP8_GOLD_FLAG))
+
+ if (!(cpi->ref_frame_flags & VP8_GOLD_FLAG))
{
sf->thresh_mult[THR_NEARESTG ] = INT_MAX;
sf->thresh_mult[THR_ZEROG ] = INT_MAX;
@@ -605,7 +607,8 @@ void vp8_set_speed_features(VP8_COMP *cpi)
sf->thresh_mult[THR_NEWG ] = INT_MAX;
sf->thresh_mult[THR_SPLITG ] = INT_MAX;
}
- else if (!(cpi->ref_frame_flags & VP8_ALT_FLAG))
+
+ if (!(cpi->ref_frame_flags & VP8_ALT_FLAG))
{
sf->thresh_mult[THR_NEARESTA ] = INT_MAX;
sf->thresh_mult[THR_ZEROA ] = INT_MAX;
@@ -763,7 +766,7 @@ void vp8_set_speed_features(VP8_COMP *cpi)
cpi->mode_check_freq[THR_NEWA] = 4;
}
- if (cpi->ref_frame_flags & VP8_LAST_FLAG & VP8_GOLD_FLAG)
+ if (cpi->ref_frame_flags & VP8_GOLD_FLAG)
{
sf->thresh_mult[THR_NEARESTG ] = 2000;
sf->thresh_mult[THR_ZEROG ] = 2000;
@@ -771,7 +774,7 @@ void vp8_set_speed_features(VP8_COMP *cpi)
sf->thresh_mult[THR_NEWG ] = 4000;
}
- if (cpi->ref_frame_flags & VP8_LAST_FLAG & VP8_ALT_FLAG)
+ if (cpi->ref_frame_flags & VP8_ALT_FLAG)
{
sf->thresh_mult[THR_NEARESTA ] = 2000;
sf->thresh_mult[THR_ZEROA ] = 2000;