partitioned_frame is never set for h264 (as easily seen from git grep). --- libavcodec/h264.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/libavcodec/h264.c b/libavcodec/h264.c index a903b7b..bd9eb01 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -3640,8 +3640,6 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) { H264Context *h = *(void **)arg; MpegEncContext *const s = &h->s; - const int part_mask = s->partitioned_frame ? (ER_AC_END | ER_AC_ERROR) - : 0x7F; int lf_x_start = s->mb_x; s->mb_skip_run = -1; @@ -3686,7 +3684,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) if ((s->workaround_bugs & FF_BUG_TRUNCATED) && h->cabac.bytestream > h->cabac.bytestream_end + 2) { ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x - 1, - s->mb_y, ER_MB_END & part_mask); + s->mb_y, ER_MB_END); if (s->mb_x >= lf_x_start) loop_filter(h, lf_x_start, s->mb_x + 1); return 0; @@ -3697,7 +3695,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) s->mb_x, s->mb_y, h->cabac.bytestream_end - h->cabac.bytestream); ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x, - s->mb_y, ER_MB_ERROR & part_mask); + s->mb_y, ER_MB_ERROR); return -1; } @@ -3717,7 +3715,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) tprintf(s->avctx, "slice end %d %d\n", get_bits_count(&s->gb), s->gb.size_in_bits); ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x - 1, - s->mb_y, ER_MB_END & part_mask); + s->mb_y, ER_MB_END); if (s->mb_x > lf_x_start) loop_filter(h, lf_x_start, s->mb_x); return 0; @@ -3744,7 +3742,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) av_log(h->s.avctx, AV_LOG_ERROR, "error while decoding MB %d %d\n", s->mb_x, s->mb_y); ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x, - s->mb_y, ER_MB_ERROR & part_mask); + s->mb_y, ER_MB_ERROR); return -1; } @@ -3765,13 +3763,13 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) if (get_bits_left(&s->gb) == 0) { ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x - 1, s->mb_y, - ER_MB_END & part_mask); + ER_MB_END); return 0; } else { ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x - 1, s->mb_y, - ER_MB_END & part_mask); + ER_MB_END); return -1; } @@ -3784,14 +3782,14 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) if (get_bits_left(&s->gb) == 0) { ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x - 1, s->mb_y, - ER_MB_END & part_mask); + ER_MB_END); if (s->mb_x > lf_x_start) loop_filter(h, lf_x_start, s->mb_x); return 0; } else { ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x, - s->mb_y, ER_MB_ERROR & part_mask); + s->mb_y, ER_MB_ERROR); return -1; } -- 1.7.10.4 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel