Mercurial > libavcodec.hg
comparison rv10.c @ 5248:d138b2abf3d5 libavcodec
* Getting rid of the use of GCC language extensions
author | romansh |
---|---|
date | Sun, 08 Jul 2007 03:16:59 +0000 |
parents | cd5964d440e8 |
children | 9f8219a3b86f |
comparison
equal
deleted
inserted
replaced
5247:32b69770ae23 | 5248:d138b2abf3d5 |
---|---|
537 s->height = avctx->height; | 537 s->height = avctx->height; |
538 | 538 |
539 s->h263_long_vectors= ((uint8_t*)avctx->extradata)[3] & 1; | 539 s->h263_long_vectors= ((uint8_t*)avctx->extradata)[3] & 1; |
540 avctx->sub_id= AV_RB32((uint8_t*)avctx->extradata + 4); | 540 avctx->sub_id= AV_RB32((uint8_t*)avctx->extradata + 4); |
541 | 541 |
542 switch(avctx->sub_id){ | 542 if (avctx->sub_id == 0x10000000) { |
543 case 0x10000000: | |
544 s->rv10_version= 0; | 543 s->rv10_version= 0; |
545 s->low_delay=1; | 544 s->low_delay=1; |
546 break; | 545 } else if (avctx->sub_id == 0x10002000) { |
547 case 0x10002000: | |
548 s->rv10_version= 3; | 546 s->rv10_version= 3; |
549 s->low_delay=1; | 547 s->low_delay=1; |
550 s->obmc=1; | 548 s->obmc=1; |
551 break; | 549 } else if (avctx->sub_id == 0x10003000) { |
552 case 0x10003000: | |
553 s->rv10_version= 3; | 550 s->rv10_version= 3; |
554 s->low_delay=1; | 551 s->low_delay=1; |
555 break; | 552 } else if (avctx->sub_id == 0x10003001) { |
556 case 0x10003001: | |
557 s->rv10_version= 3; | 553 s->rv10_version= 3; |
558 s->low_delay=1; | 554 s->low_delay=1; |
559 break; | 555 } else if ( avctx->sub_id == 0x20001000 |
560 case 0x20001000: /* real rv20 decoder fail on this id */ | 556 || (avctx->sub_id >= 0x20100000 && avctx->sub_id < 0x201a0000)) { |
561 /*case 0x20100001: | |
562 case 0x20101001: | |
563 case 0x20103001:*/ | |
564 case 0x20100000 ... 0x2019ffff: | |
565 s->low_delay=1; | 557 s->low_delay=1; |
566 break; | 558 } else if ( avctx->sub_id == 0x30202002 |
567 /*case 0x20200002: | 559 || avctx->sub_id == 0x30203002 |
568 case 0x20201002: | 560 || (avctx->sub_id >= 0x20200002 && avctx->sub_id < 0x20300000)) { |
569 case 0x20203002:*/ | |
570 case 0x20200002 ... 0x202fffff: | |
571 case 0x30202002: | |
572 case 0x30203002: | |
573 s->low_delay=0; | 561 s->low_delay=0; |
574 s->avctx->has_b_frames=1; | 562 s->avctx->has_b_frames=1; |
575 break; | 563 } else |
576 default: | |
577 av_log(s->avctx, AV_LOG_ERROR, "unknown header %X\n", avctx->sub_id); | 564 av_log(s->avctx, AV_LOG_ERROR, "unknown header %X\n", avctx->sub_id); |
578 } | |
579 | 565 |
580 if(avctx->debug & FF_DEBUG_PICT_INFO){ | 566 if(avctx->debug & FF_DEBUG_PICT_INFO){ |
581 av_log(avctx, AV_LOG_DEBUG, "ver:%X ver0:%X\n", avctx->sub_id, avctx->extradata_size >= 4 ? ((uint32_t*)avctx->extradata)[0] : -1); | 567 av_log(avctx, AV_LOG_DEBUG, "ver:%X ver0:%X\n", avctx->sub_id, avctx->extradata_size >= 4 ? ((uint32_t*)avctx->extradata)[0] : -1); |
582 } | 568 } |
583 | 569 |