aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-04-10 01:39:53 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-04-10 01:39:53 +0000
commit0aae3f43e48bbe4b3933db83f75b30685ee8015c (patch)
treec93b59dfd767f9006ed11b366d48782edc35ef9a
parente322ea480b42e741ff49c827a298d5d26d0b5a25 (diff)
downloadffmpeg-0aae3f43e48bbe4b3933db83f75b30685ee8015c.tar.gz
fixing slice decoding, dunno why the regression tests didnt catch that ...
Originally committed as revision 1744 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/error_resilience.c6
-rw-r--r--libavcodec/h263dec.c2
2 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/error_resilience.c b/libavcodec/error_resilience.c
index 77488cd589..486f5670a2 100644
--- a/libavcodec/error_resilience.c
+++ b/libavcodec/error_resilience.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[start_xy] |= VP_START;
-
+
if(end_xy < s->mb_num){
s->error_status_table[end_xy] &= mask;
s->error_status_table[end_xy] |= status;
}
+
+ s->error_status_table[start_xy] |= VP_START;
}
void ff_er_frame_end(MpegEncContext *s){
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index 2b9443908b..c8a13a7542 100644
--- a/libavcodec/h263dec.c
+++ b/libavcodec/h263dec.c
@@ -484,7 +484,7 @@ retry:
avctx->has_b_frames= !s->low_delay;
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;
else
s->workaround_bugs &= ~FF_BUG_NO_PADDING;