[FFmpeg-cvslog] r17734 - trunk/libavcodec/h263.c
kostya
subversion
Mon Mar 2 18:18:49 CET 2009
Author: kostya
Date: Mon Mar 2 18:18:49 2009
New Revision: 17734
Log:
Factor out block decoding in ff_h263_decode_mb()
Modified:
trunk/libavcodec/h263.c
Modified: trunk/libavcodec/h263.c
==============================================================================
--- trunk/libavcodec/h263.c Mon Mar 2 16:13:58 2009 (r17733)
+++ trunk/libavcodec/h263.c Mon Mar 2 18:18:49 2009 (r17734)
@@ -4005,18 +4005,6 @@ int ff_h263_decode_mb(MpegEncContext *s,
mot_val[1] = my;
}
}
-
- /* 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 == FF_P_TYPE && s->mb_x+1<s->mb_width && s->mb_num_left != 1)
- preview_obmc(s);
- }
} else if(s->pict_type==FF_B_TYPE) {
int mb_type;
const int stride= s->b8_stride;
@@ -4105,13 +4093,6 @@ 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);
@@ -4146,13 +4127,18 @@ 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;
+ }
+
+ if(s->obmc && !s->mb_intra){
+ if(s->pict_type == FF_P_TYPE && s->mb_x+1<s->mb_width && s->mb_num_left != 1)
+ preview_obmc(s);
}
end:
More information about the ffmpeg-cvslog
mailing list