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