diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-03-21 17:30:59 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-03-21 18:03:54 +0100 |
commit | d511dc653062502ac7a86d9ef47ffeabd6f77364 (patch) | |
tree | de08d37ef2724816769b0143d3e1866129b965d6 /libavcodec/h264_mvpred.h | |
parent | a0b39747b7213b5b76c0ce5984c1dac63933737f (diff) | |
parent | bc98e8c0e0a8babfea35c98855e366b29cbe1191 (diff) | |
download | ffmpeg-d511dc653062502ac7a86d9ef47ffeabd6f77364.tar.gz |
Merge commit 'bc98e8c0e0a8babfea35c98855e366b29cbe1191'
* commit 'bc98e8c0e0a8babfea35c98855e366b29cbe1191':
h264: move mb_field_decoding_flag into the per-slice context
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/h264_mvpred.h')
-rw-r--r-- | libavcodec/h264_mvpred.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/h264_mvpred.h b/libavcodec/h264_mvpred.h index 99bea07eec..e7db550f15 100644 --- a/libavcodec/h264_mvpred.h +++ b/libavcodec/h264_mvpred.h @@ -62,11 +62,11 @@ static av_always_inline int fetch_diagonal_mv(const H264Context *h, H264SliceCon AV_ZERO32(sl->mv_cache[list][scan8[0] - 2]); *C = sl->mv_cache[list][scan8[0] - 2]; - if (!MB_FIELD(h) && IS_INTERLACED(sl->left_type[0])) { + if (!MB_FIELD(sl) && IS_INTERLACED(sl->left_type[0])) { SET_DIAG_MV(* 2, >> 1, sl->left_mb_xy[0] + h->mb_stride, (sl->mb_y & 1) * 2 + (i >> 5)); } - if (MB_FIELD(h) && !IS_INTERLACED(sl->left_type[0])) { + if (MB_FIELD(sl) && !IS_INTERLACED(sl->left_type[0])) { // left shift will turn LIST_NOT_USED into PART_NOT_AVAILABLE, but that's OK. SET_DIAG_MV(/ 2, << 1, sl->left_mb_xy[i >= 36], ((i >> 2)) & 3); } @@ -237,7 +237,7 @@ static av_always_inline void pred_8x16_motion(const H264Context *const h, #define FIX_MV_MBAFF(type, refn, mvn, idx) \ if (FRAME_MBAFF(h)) { \ - if (MB_FIELD(h)) { \ + if (MB_FIELD(sl)) { \ if (!IS_INTERLACED(type)) { \ refn <<= 1; \ AV_COPY32(mvbuf[idx], mvn); \ @@ -366,7 +366,7 @@ static void fill_decode_neighbors(const H264Context *h, H264SliceContext *sl, in sl->topleft_partition = -1; - top_xy = mb_xy - (h->mb_stride << MB_FIELD(h)); + top_xy = mb_xy - (h->mb_stride << MB_FIELD(sl)); /* Wow, what a mess, why didn't they simplify the interlacing & intra * stuff, I can't imagine that these complex rules are worth it. */ @@ -767,7 +767,7 @@ static void fill_decode_caches(const H264Context *h, H264SliceContext *sl, int m MAP_F2F(scan8[0] - 1 + 3 * 8, left_type[LBOT]) if (FRAME_MBAFF(h)) { - if (MB_FIELD(h)) { + if (MB_FIELD(sl)) { #define MAP_F2F(idx, mb_type) \ if (!IS_INTERLACED(mb_type) && sl->ref_cache[list][idx] >= 0) { \ @@ -807,7 +807,7 @@ static void av_unused decode_mb_skip(const H264Context *h, H264SliceContext *sl) memset(h->non_zero_count[mb_xy], 0, 48); - if (MB_FIELD(h)) + if (MB_FIELD(sl)) mb_type |= MB_TYPE_INTERLACED; if (sl->slice_type_nos == AV_PICTURE_TYPE_B) { |