Populate bmi for B_PRED only

Small decode performance gain (~1%) on keyframes.  No
noticeable gains on encode.  Also changed pick_intra4x4mby_modes()
to read the above and left block modes for keyframes only.

Change-Id: I1f4885252f5b3e9caf04d4e01e643960f910aba5
This commit is contained in:
Scott LaVarnway
2011-06-13 17:14:11 -04:00
parent e71a010646
commit 223d1b54cf
4 changed files with 45 additions and 71 deletions

View File

@@ -81,30 +81,6 @@ void vp8_encode_intra16x16mby(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x)
RECON_INVOKE(&rtcd->common->recon, recon_mby)
(IF_RTCD(&rtcd->common->recon), &x->e_mbd);
// make sure block modes are set the way we want them for context updates
for (b = 0; b < 16; b++)
{
BLOCKD *d = &x->e_mbd.block[b];
switch (x->e_mbd.mode_info_context->mbmi.mode)
{
case DC_PRED:
d->bmi.as_mode = B_DC_PRED;
break;
case V_PRED:
d->bmi.as_mode = B_VE_PRED;
break;
case H_PRED:
d->bmi.as_mode = B_HE_PRED;
break;
case TM_PRED:
d->bmi.as_mode = B_TM_PRED;
break;
default:
d->bmi.as_mode = B_DC_PRED;
break;
}
}
}
void vp8_encode_intra16x16mbuv(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x)