Revision 1be49ce5

View differences:

libavcodec/h264_direct.c
270 270
        }
271 271

  
272 272
        if(IS_INTERLACED(*mb_type) != IS_INTERLACED(mb_type_col[0])){
273
            int n=0;
273 274
            for(i8=0; i8<4; i8++){
274 275
                int x8 = i8&1;
275 276
                int y8 = i8>>1;
......
291 292
                        a= pack16to32(mv[0][0],mv[0][1]);
292 293
                    if(ref[1] > 0)
293 294
                        b= pack16to32(mv[1][0],mv[1][1]);
295
                    n++;
294 296
                }else{
295 297
                    a= pack16to32(mv[0][0],mv[0][1]);
296 298
                    b= pack16to32(mv[1][0],mv[1][1]);
......
298 300
                fill_rectangle(&h->mv_cache[0][scan8[i8*4]], 2, 2, 8, a, 4);
299 301
                fill_rectangle(&h->mv_cache[1][scan8[i8*4]], 2, 2, 8, b, 4);
300 302
            }
303
            if(!is_b8x8 && !(n&3))
304
                *mb_type= (*mb_type & ~(MB_TYPE_8x8|MB_TYPE_16x8|MB_TYPE_8x16|MB_TYPE_P1L0|MB_TYPE_P1L1))|MB_TYPE_16x16|MB_TYPE_DIRECT2;
301 305
        }else if(IS_16X16(*mb_type)){
302 306
            int a,b;
303 307

  

Also available in: Unified diff