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 | e6287f077c3e8e4aca11e61dd4bade1351439e6b (patch) | |
tree | fe27d754efb718b11606b3c14973ac1c8bde515c /libavcodec/h264_slice.c | |
parent | f69574cf7aca4fe4d57a2155e925f37fc863474d (diff) | |
download | ffmpeg-e6287f077c3e8e4aca11e61dd4bade1351439e6b.tar.gz |
h264: move {mv,ref}_cache into the per-slice context
Diffstat (limited to 'libavcodec/h264_slice.c')
-rw-r--r-- | libavcodec/h264_slice.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c index 11dc98478d..925538970b 100644 --- a/libavcodec/h264_slice.c +++ b/libavcodec/h264_slice.c @@ -1822,6 +1822,7 @@ int ff_h264_get_slice_type(const H264Context *h) } static av_always_inline void fill_filter_caches_inter(H264Context *h, + H264SliceContext *sl, int mb_type, int top_xy, int left_xy[LEFT_MBS], int top_type, @@ -1829,8 +1830,8 @@ static av_always_inline void fill_filter_caches_inter(H264Context *h, int mb_xy, int list) { int b_stride = h->b_stride; - int16_t(*mv_dst)[2] = &h->mv_cache[list][scan8[0]]; - int8_t *ref_cache = &h->ref_cache[list][scan8[0]]; + int16_t(*mv_dst)[2] = &sl->mv_cache[list][scan8[0]]; + int8_t *ref_cache = &sl->ref_cache[list][scan8[0]]; if (IS_INTER(mb_type) || IS_DIRECT(mb_type)) { if (USES_LIST(top_type, list)) { const int b_xy = h->mb2b_xy[top_xy] + 3 * b_stride; @@ -1979,10 +1980,10 @@ static int fill_filter_caches(H264Context *h, H264SliceContext *sl, int mb_type) if (IS_INTRA(mb_type)) return 0; - fill_filter_caches_inter(h, mb_type, top_xy, left_xy, + fill_filter_caches_inter(h, sl, mb_type, top_xy, left_xy, top_type, left_type, mb_xy, 0); if (h->list_count == 2) - fill_filter_caches_inter(h, mb_type, top_xy, left_xy, + fill_filter_caches_inter(h, sl, mb_type, top_xy, left_xy, top_type, left_type, mb_xy, 1); nnz = h->non_zero_count[mb_xy]; |