Revision 42ff9d7a

View differences:

libavcodec/vc1.c
388 388
//            av_log(avctx, AV_LOG_ERROR,
389 389
//                   "0 for reserved RES_RTM_FLAG is forbidden\n");
390 390
        av_log(avctx, AV_LOG_ERROR,
391
               "Old WMV3 version detected, only I-frames will be decoded\n");
391
               "Old WMV3 version detected, some frames may be decoded incorrectly\n");
392 392
        //return -1;
393 393
    }
394 394
    //TODO: figure out what they mean (always 0x402F)
libavcodec/vc1dec.c
1996 1996
    if(ttblk == TT_4X4) {
1997 1997
        subblkpat = ~(get_vlc2(gb, ff_vc1_subblkpat_vlc[v->tt_index].table, VC1_SUBBLKPAT_VLC_BITS, 1) + 1);
1998 1998
    }
1999
    if((ttblk != TT_8X8 && ttblk != TT_4X4) && (v->ttmbf || (ttmb != -1 && (ttmb & 8) && !first_block))) {
1999
    if((ttblk != TT_8X8 && ttblk != TT_4X4)
2000
        && ((v->ttmbf || (ttmb != -1 && (ttmb & 8) && !first_block))
2001
            || (!v->res_rtm_flag && !first_block))) {
2000 2002
        subblkpat = decode012(gb);
2001 2003
        if(subblkpat) subblkpat ^= 3; //swap decoded pattern bits
2002 2004
        if(ttblk == TT_8X4_TOP || ttblk == TT_8X4_BOTTOM) ttblk = TT_8X4;
......
3212 3214
        }
3213 3215
    }
3214 3216

  
3215
    if(s->pict_type != FF_I_TYPE && !v->res_rtm_flag){
3216
        av_free(buf2);
3217
        return -1;
3218
    }
3219

  
3220 3217
    // for hurry_up==5
3221 3218
    s->current_picture.pict_type= s->pict_type;
3222 3219
    s->current_picture.key_frame= s->pict_type == FF_I_TYPE;

Also available in: Unified diff