diff options
author | Ronald S. Bultje <rbultje@google.com> | 2013-06-06 13:44:34 -0700 |
---|---|---|
committer | Ronald S. Bultje <rbultje@google.com> | 2013-06-06 17:28:09 -0700 |
commit | 6ef805eb9d084eec2ca52ff5740cbd30972fbf78 (patch) | |
tree | d56e75726f4c33853b541a03132954f4e31ece5e /vp9/encoder/vp9_encodemb.c | |
parent | 9062b92b0fb9e49fbe22ad844abdfaf9f86530dd (diff) | |
download | libvpx-6ef805eb9d084eec2ca52ff5740cbd30972fbf78.tar libvpx-6ef805eb9d084eec2ca52ff5740cbd30972fbf78.tar.gz libvpx-6ef805eb9d084eec2ca52ff5740cbd30972fbf78.tar.bz2 libvpx-6ef805eb9d084eec2ca52ff5740cbd30972fbf78.zip |
Change ref frame coding.
Code intra/inter, then comp/single, then the ref frame selection.
Use contextualization for all steps. Don't code two past frames
in comp pred mode.
Change-Id: I4639a78cd5cccb283023265dbcc07898c3e7cf95
Diffstat (limited to 'vp9/encoder/vp9_encodemb.c')
-rw-r--r-- | vp9/encoder/vp9_encodemb.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_encodemb.c b/vp9/encoder/vp9_encodemb.c index b65b2619b..aa9cf8d13 100644 --- a/vp9/encoder/vp9_encodemb.c +++ b/vp9/encoder/vp9_encodemb.c @@ -118,7 +118,7 @@ static void optimize_b(VP9_COMMON *const cm, MACROBLOCK *mb, int plane, int block, BLOCK_SIZE_TYPE bsize, ENTROPY_CONTEXT *a, ENTROPY_CONTEXT *l, TX_SIZE tx_size) { - const int ref = mb->e_mbd.mode_info_context->mbmi.ref_frame != INTRA_FRAME; + const int ref = mb->e_mbd.mode_info_context->mbmi.ref_frame[0] != INTRA_FRAME; MACROBLOCKD *const xd = &mb->e_mbd; vp9_token_state tokens[1025][2]; unsigned best_index[1025][2]; @@ -179,7 +179,7 @@ static void optimize_b(VP9_COMMON *const cm, MACROBLOCK *mb, /* Now set up a Viterbi trellis to evaluate alternative roundings. */ rdmult = mb->rdmult * err_mult; - if (mb->e_mbd.mode_info_context->mbmi.ref_frame == INTRA_FRAME) + if (mb->e_mbd.mode_info_context->mbmi.ref_frame[0] == INTRA_FRAME) rdmult = (rdmult * 9) >> 4; rddiv = mb->rddiv; memset(best_index, 0, sizeof(best_index)); @@ -622,7 +622,7 @@ static void encode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize, mode = plane == 0? mbmi->mode: mbmi->uv_mode; if (plane == 0 && mbmi->sb_type < BLOCK_SIZE_SB8X8 && - mbmi->ref_frame == INTRA_FRAME) + mbmi->ref_frame[0] == INTRA_FRAME) b_mode = xd->mode_info_context->bmi[ib].as_mode.first; else b_mode = mode; |