diff options
author | Anton Khirnov <anton@khirnov.net> | 2015-01-18 00:28:46 +0300 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2015-03-21 13:27:15 +0300 |
commit | bc98e8c0e0a8babfea35c98855e366b29cbe1191 (patch) | |
tree | 0dbf428535cd1236545a6c31b3d3f57c7d65b911 /libavcodec/h264_loopfilter.c | |
parent | 6490a0c0fbe0e55f765ea2aa2e8495181ea1f719 (diff) |
h264: move mb_field_decoding_flag into the per-slice context
Diffstat (limited to 'libavcodec/h264_loopfilter.c')
-rw-r--r-- | libavcodec/h264_loopfilter.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libavcodec/h264_loopfilter.c b/libavcodec/h264_loopfilter.c index 6569c28328..c8f7a0a0d5 100644 --- a/libavcodec/h264_loopfilter.c +++ b/libavcodec/h264_loopfilter.c @@ -755,9 +755,9 @@ void ff_h264_filter_mb(H264Context *h, H264SliceContext *sl, {3+4*0, 3+4*1, 3+4*2, 3+4*3, 3+4*0, 3+4*1, 3+4*2, 3+4*3}, } }; - const uint8_t *off= offset[MB_FIELD(h)][mb_y&1]; + const uint8_t *off= offset[MB_FIELD(sl)][mb_y&1]; for( i = 0; i < 8; i++ ) { - int j= MB_FIELD(h) ? i>>2 : i&1; + int j= MB_FIELD(sl) ? i>>2 : i&1; int mbn_xy = sl->left_mb_xy[LEFT(j)]; int mbn_type = sl->left_type[LEFT(j)]; @@ -766,7 +766,7 @@ void ff_h264_filter_mb(H264Context *h, H264SliceContext *sl, else{ bS[i] = 1 + !!(sl->non_zero_count_cache[12+8*(i>>1)] | ((!h->pps.cabac && IS_8x8DCT(mbn_type)) ? - (h->cbp_table[mbn_xy] & (((MB_FIELD(h) ? (i&2) : (mb_y&1)) ? 8 : 2) << 12)) + (h->cbp_table[mbn_xy] & (((MB_FIELD(sl) ? (i&2) : (mb_y&1)) ? 8 : 2) << 12)) : h->non_zero_count[mbn_xy][ off[i] ])); } @@ -790,7 +790,7 @@ void ff_h264_filter_mb(H264Context *h, H264SliceContext *sl, /* Filter edge */ tprintf(h->avctx, "filter mb:%d/%d MBAFF, QPy:%d/%d, QPb:%d/%d QPr:%d/%d ls:%d uvls:%d", mb_x, mb_y, qp[0], qp[1], bqp[0], bqp[1], rqp[0], rqp[1], linesize, uvlinesize); { int i; for (i = 0; i < 8; i++) tprintf(h->avctx, " bS[%d]:%d", i, bS[i]); tprintf(h->avctx, "\n"); } - if (MB_FIELD(h)) { + if (MB_FIELD(sl)) { filter_mb_mbaff_edgev ( h, img_y , linesize, bS , 1, qp [0], a, b, 1 ); filter_mb_mbaff_edgev ( h, img_y + 8* linesize, linesize, bS+4, 1, qp [1], a, b, 1 ); if (chroma){ |