summaryrefslogtreecommitdiff
path: root/libavcodec/h264_slice.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2015-01-17 22:28:46 +0100
committerAnton Khirnov <anton@khirnov.net>2015-03-21 11:27:12 +0100
commit7d8154edd594981e7891d57de91f2260f8a62939 (patch)
tree0ec7ffcb096bb6ca6f1b676018cfd9bca3acf606 /libavcodec/h264_slice.c
parent8b00f4df20f4a8ab0656fdaf7d00233a6515a052 (diff)
h264: move intra4x4_pred_mode[_cache] into the per-slice context
Diffstat (limited to 'libavcodec/h264_slice.c')
-rw-r--r--libavcodec/h264_slice.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index b40757b140..b9e098c78a 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -363,9 +363,11 @@ void h264_init_dequant_tables(H264Context *h)
/**
* Mimic alloc_tables(), but for every context thread.
*/
-static void clone_tables(H264Context *dst, H264Context *src, int i)
+static void clone_tables(H264Context *dst, H264SliceContext *sl,
+ H264Context *src, int i)
{
- dst->intra4x4_pred_mode = src->intra4x4_pred_mode + i * 8 * 2 * src->mb_stride;
+ sl->intra4x4_pred_mode = src->intra4x4_pred_mode + i * 8 * 2 * src->mb_stride;
+
dst->non_zero_count = src->non_zero_count;
dst->slice_table = src->slice_table;
dst->cbp_table = src->cbp_table;
@@ -1144,7 +1146,7 @@ static int h264_slice_header_init(H264Context *h, int reinit)
h->slice_ctx[i].h264 = c;
init_scan_tables(c);
- clone_tables(c, h, i);
+ clone_tables(c, &h->slice_ctx[i], h, i);
c->context_initialized = 1;
}