# HG changeset patch # User michael # Date 1102353677 0 # Node ID 1f56314b37704a2e07cb90f5c53882e4954666fe # Parent 9214c91cdfb71992d24fdd3984588fa109c62969 rv10 thread safety fix / rv10 ffplay fix diff -r 9214c91cdfb7 -r 1f56314b3770 rv10.c --- a/rv10.c Sun Dec 05 23:26:43 2004 +0000 +++ b/rv10.c Mon Dec 06 17:21:17 2004 +0000 @@ -276,9 +276,8 @@ /* read RV 1.0 compatible frame header */ static int rv10_decode_picture_header(MpegEncContext *s) { - int mb_count, pb_frame, marker, full_frame, unk; + int mb_count, pb_frame, marker, unk, mb_xy; - full_frame= s->avctx->slice_count==1; //printf("ff:%d\n", full_frame); marker = get_bits(&s->gb, 1); @@ -321,7 +320,9 @@ } /* if multiple packets per frame are sent, the position at which to display the macro blocks is coded here */ - if ((!full_frame) || show_bits(&s->gb, 12)==0) { + + mb_xy= s->mb_x + s->mb_y*s->mb_width; + if(show_bits(&s->gb, 12)==0 || (mb_xy && mb_xy < s->mb_num)){ s->mb_x = get_bits(&s->gb, 6); /* mb_x */ s->mb_y = get_bits(&s->gb, 6); /* mb_y */ mb_count = get_bits(&s->gb, 12);