fixing slice decoding, dunno why the regression tests didnt catch that ...

Originally committed as revision 1744 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Michael Niedermayer 22 years ago
parent e322ea480b
commit 0aae3f43e4
  1. 6
      libavcodec/error_resilience.c
  2. 2
      libavcodec/h263dec.c

@ -614,13 +614,13 @@ void ff_er_add_slice(MpegEncContext *s, int startx, int starty, int endx, int en
s->error_status_table[i] &= mask; s->error_status_table[i] &= mask;
} }
} }
s->error_status_table[start_xy] |= VP_START;
if(end_xy < s->mb_num){ if(end_xy < s->mb_num){
s->error_status_table[end_xy] &= mask; s->error_status_table[end_xy] &= mask;
s->error_status_table[end_xy] |= status; s->error_status_table[end_xy] |= status;
} }
s->error_status_table[start_xy] |= VP_START;
} }
void ff_er_frame_end(MpegEncContext *s){ void ff_er_frame_end(MpegEncContext *s){

@ -484,7 +484,7 @@ retry:
avctx->has_b_frames= !s->low_delay; avctx->has_b_frames= !s->low_delay;
if(s->workaround_bugs&FF_BUG_AUTODETECT){ if(s->workaround_bugs&FF_BUG_AUTODETECT){
if(s->padding_bug_score > -2 && !s->data_partitioning) if(s->padding_bug_score > -2 && !s->data_partitioning && !s->resync_marker)
s->workaround_bugs |= FF_BUG_NO_PADDING; s->workaround_bugs |= FF_BUG_NO_PADDING;
else else
s->workaround_bugs &= ~FF_BUG_NO_PADDING; s->workaround_bugs &= ~FF_BUG_NO_PADDING;

Loading…
Cancel
Save