Commit f4fbcd33 authored by Michael Niedermayer's avatar Michael Niedermayer

exchange for() and if() order in the MT_FRAME case

safes 24 cpu cycles

Originally committed as revision 9862 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent dc1ecb6a
...@@ -378,13 +378,13 @@ static int mpeg_decode_mb(MpegEncContext *s, ...@@ -378,13 +378,13 @@ static int mpeg_decode_mb(MpegEncContext *s,
dprintf(s->avctx, "motion_type=%d\n", motion_type); dprintf(s->avctx, "motion_type=%d\n", motion_type);
switch(motion_type) { switch(motion_type) {
case MT_FRAME: /* or MT_16X8 */ case MT_FRAME: /* or MT_16X8 */
if (s->picture_structure == PICT_FRAME) {
mb_type |= MB_TYPE_16x16;
s->mv_type = MV_TYPE_16X16;
for(i=0;i<2;i++) { for(i=0;i<2;i++) {
if (USES_LIST(mb_type, i)) { if (USES_LIST(mb_type, i)) {
s->mv_dir |= (MV_DIR_FORWARD >> i); s->mv_dir |= (MV_DIR_FORWARD >> i);
if (s->picture_structure == PICT_FRAME) {
/* MT_FRAME */ /* MT_FRAME */
mb_type |= MB_TYPE_16x16;
s->mv_type = MV_TYPE_16X16;
s->mv[i][0][0]= s->last_mv[i][0][0]= s->last_mv[i][1][0] = s->mv[i][0][0]= s->last_mv[i][0][0]= s->last_mv[i][1][0] =
mpeg_decode_motion(s, s->mpeg_f_code[i][0], s->last_mv[i][0][0]); mpeg_decode_motion(s, s->mpeg_f_code[i][0], s->last_mv[i][0][0]);
s->mv[i][0][1]= s->last_mv[i][0][1]= s->last_mv[i][1][1] = s->mv[i][0][1]= s->last_mv[i][0][1]= s->last_mv[i][1][1] =
...@@ -394,10 +394,15 @@ static int mpeg_decode_mb(MpegEncContext *s, ...@@ -394,10 +394,15 @@ static int mpeg_decode_mb(MpegEncContext *s,
s->mv[i][0][0] <<= 1; s->mv[i][0][0] <<= 1;
s->mv[i][0][1] <<= 1; s->mv[i][0][1] <<= 1;
} }
}
}
} else { } else {
/* MT_16X8 */
mb_type |= MB_TYPE_16x8 | MB_TYPE_INTERLACED; mb_type |= MB_TYPE_16x8 | MB_TYPE_INTERLACED;
s->mv_type = MV_TYPE_16X8; s->mv_type = MV_TYPE_16X8;
for(i=0;i<2;i++) {
if (USES_LIST(mb_type, i)) {
s->mv_dir |= (MV_DIR_FORWARD >> i);
/* MT_16X8 */
for(j=0;j<2;j++) { for(j=0;j<2;j++) {
s->field_select[i][j] = get_bits1(&s->gb); s->field_select[i][j] = get_bits1(&s->gb);
for(k=0;k<2;k++) { for(k=0;k<2;k++) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment