summaryrefslogtreecommitdiff
path: root/vp9/decoder/vp9_decodemv.c
diff options
context:
space:
mode:
authorDmitry Kovalev <dkovalev@google.com>2014-02-25 11:04:37 -0800
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-02-25 11:04:37 -0800
commit8fc8583a4c9e28e3d852fa270aac5925a053966d (patch)
treed5261a6d6323e78b3c79e55bfcc480dc644e3b41 /vp9/decoder/vp9_decodemv.c
parent7bca32a6a37c3ece2e5d30fcb393b9ea58139594 (diff)
parent69fd030dc892eae24718ec0f07c14d0ac0a83689 (diff)
downloadlibvpx-8fc8583a4c9e28e3d852fa270aac5925a053966d.tar
libvpx-8fc8583a4c9e28e3d852fa270aac5925a053966d.tar.gz
libvpx-8fc8583a4c9e28e3d852fa270aac5925a053966d.tar.bz2
libvpx-8fc8583a4c9e28e3d852fa270aac5925a053966d.zip
Merge "Consistent names for reference_mode functions."
Diffstat (limited to 'vp9/decoder/vp9_decodemv.c')
-rw-r--r--vp9/decoder/vp9_decodemv.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/vp9/decoder/vp9_decodemv.c b/vp9/decoder/vp9_decodemv.c
index 4de8db37c..0fb7a1580 100644
--- a/vp9/decoder/vp9_decodemv.c
+++ b/vp9/decoder/vp9_decodemv.c
@@ -257,13 +257,18 @@ static INLINE void read_mv(vp9_reader *r, MV *mv, const MV *ref,
mv->col = ref->col + diff.col;
}
-static REFERENCE_MODE read_reference_mode(VP9_COMMON *cm, const MACROBLOCKD *xd,
- vp9_reader *r) {
- const int ctx = vp9_get_reference_mode_context(cm, xd);
- const int mode = vp9_read(r, cm->fc.comp_inter_prob[ctx]);
- if (!cm->frame_parallel_decoding_mode)
- ++cm->counts.comp_inter[ctx][mode];
- return mode; // SINGLE_REFERENCE or COMPOUND_REFERENCE
+static REFERENCE_MODE read_block_reference_mode(VP9_COMMON *cm,
+ const MACROBLOCKD *xd,
+ vp9_reader *r) {
+ if (cm->reference_mode == REFERENCE_MODE_SELECT) {
+ const int ctx = vp9_get_reference_mode_context(cm, xd);
+ const int mode = vp9_read(r, cm->fc.comp_inter_prob[ctx]);
+ if (!cm->frame_parallel_decoding_mode)
+ ++cm->counts.comp_inter[ctx][mode];
+ return mode; // SINGLE_REFERENCE or COMPOUND_REFERENCE
+ } else {
+ return cm->reference_mode;
+ }
}
// Read the referncence frame
@@ -277,10 +282,7 @@ static void read_ref_frames(VP9_COMMON *const cm, MACROBLOCKD *const xd,
ref_frame[0] = vp9_get_segdata(&cm->seg, segment_id, SEG_LVL_REF_FRAME);
ref_frame[1] = NONE;
} else {
- const REFERENCE_MODE mode = (cm->reference_mode == REFERENCE_MODE_SELECT)
- ? read_reference_mode(cm, xd, r)
- : cm->reference_mode;
-
+ const REFERENCE_MODE mode = read_block_reference_mode(cm, xd, r);
// FIXME(rbultje) I'm pretty sure this breaks segmentation ref frame coding
if (mode == COMPOUND_REFERENCE) {
const int idx = cm->ref_frame_sign_bias[cm->comp_fixed_ref];