diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2004-02-09 15:23:35 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2004-02-09 15:23:35 +0000 |
commit | 8a36717afcb99e63535c2c6ad1459c7222365a9f (patch) | |
tree | 2a93c59e1967f48e49d154917da424b2ce1ae7c4 /libavcodec/h263.c | |
parent | 99683a307776a7638ccce236a4ce5aa3e914e77d (diff) | |
download | ffmpeg-8a36717afcb99e63535c2c6ad1459c7222365a9f.tar.gz |
rv10/obmc fixes
Originally committed as revision 2768 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h263.c')
-rw-r--r-- | libavcodec/h263.c | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/libavcodec/h263.c b/libavcodec/h263.c index 6b9e559c1e..b02bace0c0 100644 --- a/libavcodec/h263.c +++ b/libavcodec/h263.c @@ -3866,8 +3866,15 @@ int ff_h263_decode_mb(MpegEncContext *s, } } + /* decode each block */ + for (i = 0; i < 6; i++) { + if (h263_decode_block(s, block[i], i, cbp&32) < 0) + return -1; + cbp+=cbp; + } + if(s->obmc){ - if(s->pict_type == P_TYPE && s->mb_x+1<s->mb_width) + if(s->pict_type == P_TYPE && s->mb_x+1<s->mb_width && s->mb_num_left != 1) preview_obmc(s); } } else if(s->pict_type==B_TYPE) { @@ -3957,6 +3964,13 @@ int ff_h263_decode_mb(MpegEncContext *s, } s->current_picture.mb_type[xy]= mb_type; + + /* decode each block */ + for (i = 0; i < 6; i++) { + if (h263_decode_block(s, block[i], i, cbp&32) < 0) + return -1; + cbp+=cbp; + } } else { /* I-Frame */ do{ cbpc = get_vlc2(&s->gb, intra_MCBPC_vlc.table, INTRA_MCBPC_VLC_BITS, 2); @@ -3989,13 +4003,13 @@ intra: if (dquant) { h263_decode_dquant(s); } - } - /* decode each block */ - for (i = 0; i < 6; i++) { - if (h263_decode_block(s, block[i], i, cbp&32) < 0) - return -1; - cbp+=cbp; + /* decode each block */ + for (i = 0; i < 6; i++) { + if (h263_decode_block(s, block[i], i, cbp&32) < 0) + return -1; + cbp+=cbp; + } } end: |