Revision cba322d7 libavcodec/vc1.c

View differences:

libavcodec/vc1.c
315 315
            return -1;
316 316
        }
317 317
        if (v->res_sprite) {
318
            av_log(avctx, AV_LOG_ERROR, "WMVP is not supported\n");
319
            return -1;
318
            av_log(avctx, AV_LOG_ERROR, "WMVP is not fully supported\n");
320 319
        }
321 320
    }
322 321

  
......
387 386
    v->quantizer_mode = get_bits(gb, 2); //common
388 387

  
389 388
    v->finterpflag = get_bits1(gb); //common
390
    v->res_rtm_flag = get_bits1(gb); //reserved
389

  
390
    if (v->res_sprite) {
391
        v->s.avctx->width  = v->s.avctx->coded_width  = get_bits(gb, 11);
392
        v->s.avctx->height = v->s.avctx->coded_height = get_bits(gb, 11);
393
        skip_bits(gb, 5); //frame rate
394
        v->res_x8 = get_bits1(gb);
395
        if (get_bits1(gb)) { // something to do with DC VLC selection
396
            av_log(avctx, AV_LOG_ERROR, "Unsupported sprite feature\n");
397
            return -1;
398
        }
399
        skip_bits(gb, 3); //slice code
400
        v->res_rtm_flag = 0;
401
    } else {
402
        v->res_rtm_flag = get_bits1(gb); //reserved
403
    }
391 404
    if (!v->res_rtm_flag)
392 405
    {
393 406
//            av_log(avctx, AV_LOG_ERROR,
......
566 579
{
567 580
    int pqindex, lowquant, status;
568 581

  
582
    if(v->res_sprite) {
583
        skip_bits(gb, 2); //not yet deciphered
584
    }
569 585
    if(v->finterpflag) v->interpfrm = get_bits1(gb);
570 586
    skip_bits(gb, 2); //framecnt unused
571 587
    v->rangeredfrm = 0;

Also available in: Unified diff