Mercurial > libavcodec.hg
comparison rv10.c @ 2359:a3c029107a88 libavcodec
fixing rv20201002
author | michael |
---|---|
date | Fri, 19 Nov 2004 18:19:36 +0000 |
parents | 622a0b0f2d56 |
children | 26560d4fdb1f |
comparison
equal
deleted
inserted
replaced
2358:622a0b0f2d56 | 2359:a3c029107a88 |
---|---|
399 seq= get_bits(&s->gb, 15); | 399 seq= get_bits(&s->gb, 15); |
400 if (s->avctx->sub_id == 0x20201002 && 0 && get_bits(&s->gb, 1)){ | 400 if (s->avctx->sub_id == 0x20201002 && 0 && get_bits(&s->gb, 1)){ |
401 av_log(s->avctx, AV_LOG_ERROR, "unknown bit4 set\n"); | 401 av_log(s->avctx, AV_LOG_ERROR, "unknown bit4 set\n"); |
402 // return -1; | 402 // return -1; |
403 } | 403 } |
404 mb_pos= get_bits(&s->gb, av_log2(s->mb_num-1)+1); | 404 if(s->avctx->sub_id == 0x20201002){ |
405 s->mb_x= mb_pos % s->mb_width; | 405 mb_pos= ff_h263_decode_mba(s); |
406 s->mb_y= mb_pos / s->mb_width; | 406 }else{ |
407 mb_pos= get_bits(&s->gb, av_log2(s->mb_num-1)+1); | |
408 s->mb_x= mb_pos % s->mb_width; | |
409 s->mb_y= mb_pos / s->mb_width; | |
410 } | |
407 }else{ | 411 }else{ |
408 seq= get_bits(&s->gb, 8)*128; | 412 seq= get_bits(&s->gb, 8)*128; |
409 mb_pos= ff_h263_decode_mba(s); | 413 mb_pos= ff_h263_decode_mba(s); |
410 } | 414 } |
411 //av_log(s->avctx, AV_LOG_DEBUG, "%d\n", seq); | 415 //av_log(s->avctx, AV_LOG_DEBUG, "%d\n", seq); |
502 s->avctx->has_b_frames=1; | 506 s->avctx->has_b_frames=1; |
503 break; | 507 break; |
504 default: | 508 default: |
505 av_log(s->avctx, AV_LOG_ERROR, "unknown header %X\n", avctx->sub_id); | 509 av_log(s->avctx, AV_LOG_ERROR, "unknown header %X\n", avctx->sub_id); |
506 } | 510 } |
507 //printf("ver:%X\n", avctx->sub_id); | 511 //av_log(avctx, AV_LOG_DEBUG, "ver:%X\n", avctx->sub_id); |
508 if (MPV_common_init(s) < 0) | 512 if (MPV_common_init(s) < 0) |
509 return -1; | 513 return -1; |
510 | 514 |
511 h263_decode_init_vlc(s); | 515 h263_decode_init_vlc(s); |
512 | 516 |
684 ff_print_debug_info(s, pict); | 688 ff_print_debug_info(s, pict); |
685 } else { | 689 } else { |
686 *pict= *(AVFrame*)&s->last_picture; | 690 *pict= *(AVFrame*)&s->last_picture; |
687 ff_print_debug_info(s, pict); | 691 ff_print_debug_info(s, pict); |
688 } | 692 } |
689 | 693 if(s->last_picture_ptr || s->low_delay) |
690 *data_size = sizeof(AVFrame); | 694 *data_size = sizeof(AVFrame); |
691 } | 695 } |
692 | 696 |
693 return buf_size; | 697 return buf_size; |
694 } | 698 } |
695 | 699 |