Originally committed as revision 3694 to svn://svn.ffmpeg.org/ffmpeg/trunk
Michael Niedermayer authored on 2004/11/20 03:19:36... | ... |
@@ -401,9 +401,13 @@ static int rv20_decode_picture_header(MpegEncContext *s) |
401 | 401 |
av_log(s->avctx, AV_LOG_ERROR, "unknown bit4 set\n"); |
402 | 402 |
// return -1; |
403 | 403 |
} |
404 |
- mb_pos= get_bits(&s->gb, av_log2(s->mb_num-1)+1); |
|
405 |
- s->mb_x= mb_pos % s->mb_width; |
|
406 |
- s->mb_y= mb_pos / s->mb_width; |
|
404 |
+ if(s->avctx->sub_id == 0x20201002){ |
|
405 |
+ mb_pos= ff_h263_decode_mba(s); |
|
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 | 411 |
}else{ |
408 | 412 |
seq= get_bits(&s->gb, 8)*128; |
409 | 413 |
mb_pos= ff_h263_decode_mba(s); |
... | ... |
@@ -504,7 +508,7 @@ static int rv10_decode_init(AVCodecContext *avctx) |
504 | 504 |
default: |
505 | 505 |
av_log(s->avctx, AV_LOG_ERROR, "unknown header %X\n", avctx->sub_id); |
506 | 506 |
} |
507 |
-//printf("ver:%X\n", avctx->sub_id); |
|
507 |
+//av_log(avctx, AV_LOG_DEBUG, "ver:%X\n", avctx->sub_id); |
|
508 | 508 |
if (MPV_common_init(s) < 0) |
509 | 509 |
return -1; |
510 | 510 |
|
... | ... |
@@ -686,8 +690,8 @@ static int rv10_decode_frame(AVCodecContext *avctx, |
686 | 686 |
*pict= *(AVFrame*)&s->last_picture; |
687 | 687 |
ff_print_debug_info(s, pict); |
688 | 688 |
} |
689 |
- |
|
690 |
- *data_size = sizeof(AVFrame); |
|
689 |
+ if(s->last_picture_ptr || s->low_delay) |
|
690 |
+ *data_size = sizeof(AVFrame); |
|
691 | 691 |
} |
692 | 692 |
|
693 | 693 |
return buf_size; |