diff options
author | Anton Khirnov <anton@khirnov.net> | 2015-01-17 22:28:46 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2015-03-21 11:27:13 +0100 |
commit | 30da98adbda6de1f55188f9058a3a5c715049633 (patch) | |
tree | 170e185eefe1c17b94a8194f9208d47820fec7ff /libavcodec/h264_slice.c | |
parent | bf03a878a76dea29b36f368759e9f66102b39a5f (diff) | |
download | ffmpeg-30da98adbda6de1f55188f9058a3a5c715049633.tar.gz |
h264: move cabac[_state] into the per-slice context
Diffstat (limited to 'libavcodec/h264_slice.c')
-rw-r--r-- | libavcodec/h264_slice.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index 7c5179618b..e9a68d2051 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -2194,7 +2194,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) align_get_bits(&h->gb); /* init cabac */ - ff_init_cabac_decoder(&h->cabac, + ff_init_cabac_decoder(&sl->cabac, h->gb.buffer + get_bits_count(&h->gb) / 8, (get_bits_left(&h->gb) + 7) / 8); @@ -2219,21 +2219,21 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) ff_h264_hl_decode_mb(h, sl); h->mb_y--; } - eos = get_cabac_terminate(&h->cabac); + eos = get_cabac_terminate(&sl->cabac); if ((h->workaround_bugs & FF_BUG_TRUNCATED) && - h->cabac.bytestream > h->cabac.bytestream_end + 2) { + sl->cabac.bytestream > sl->cabac.bytestream_end + 2) { er_add_slice(h, sl, h->resync_mb_x, h->resync_mb_y, h->mb_x - 1, h->mb_y, ER_MB_END); if (h->mb_x >= lf_x_start) loop_filter(h, sl, lf_x_start, h->mb_x + 1); return 0; } - if (ret < 0 || h->cabac.bytestream > h->cabac.bytestream_end + 2) { + if (ret < 0 || sl->cabac.bytestream > sl->cabac.bytestream_end + 2) { av_log(h->avctx, AV_LOG_ERROR, "error while decoding MB %d %d, bytestream %td\n", h->mb_x, h->mb_y, - h->cabac.bytestream_end - h->cabac.bytestream); + sl->cabac.bytestream_end - sl->cabac.bytestream); er_add_slice(h, sl, h->resync_mb_x, h->resync_mb_y, h->mb_x, h->mb_y, ER_MB_ERROR); return AVERROR_INVALIDDATA; |