summaryrefslogtreecommitdiff
path: root/libavcodec/h264_mvpred.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-03-21 12:43:32 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-03-21 12:43:32 +0100
commite168b508163d7dc05176d81e6b5ea73ac23eb38b (patch)
treed6fc72152fcc1e94a4b101380bdf62a28432d564 /libavcodec/h264_mvpred.h
parent137df692fc28710aa1a21856b1f5b9e157896fef (diff)
parentda6be8fcec16a94d8084bda8bb8a0a411a96bcf7 (diff)
Merge commit 'da6be8fcec16a94d8084bda8bb8a0a411a96bcf7'
* commit 'da6be8fcec16a94d8084bda8bb8a0a411a96bcf7': h264: add a parameter to the MB_FIELD macro. h264: add a parameter to the MB_MBAFF macro. Conflicts: libavcodec/h264.c libavcodec/h264_cabac.c libavcodec/h264_cavlc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/h264_mvpred.h')
-rw-r--r--libavcodec/h264_mvpred.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/h264_mvpred.h b/libavcodec/h264_mvpred.h
index 492a9a794d..1d13994cd1 100644
--- a/libavcodec/h264_mvpred.h
+++ b/libavcodec/h264_mvpred.h
@@ -60,11 +60,11 @@ static av_always_inline int fetch_diagonal_mv(H264Context *h, const int16_t **C,
AV_ZERO32(h->mv_cache[list][scan8[0] - 2]);
*C = h->mv_cache[list][scan8[0] - 2];
- if (!MB_FIELD && IS_INTERLACED(h->left_type[0])) {
+ if (!MB_FIELD(h) && IS_INTERLACED(h->left_type[0])) {
SET_DIAG_MV(* 2, >> 1, h->left_mb_xy[0] + h->mb_stride,
(h->mb_y & 1) * 2 + (i >> 5));
}
- if (MB_FIELD && !IS_INTERLACED(h->left_type[0])) {
+ if (MB_FIELD(h) && !IS_INTERLACED(h->left_type[0])) {
// left shift will turn LIST_NOT_USED into PART_NOT_AVAILABLE, but that's OK.
SET_DIAG_MV(/ 2, << 1, h->left_mb_xy[i >= 36], ((i >> 2)) & 3);
}
@@ -231,7 +231,7 @@ static av_always_inline void pred_8x16_motion(H264Context *const h,
#define FIX_MV_MBAFF(type, refn, mvn, idx) \
if (FRAME_MBAFF) { \
- if (MB_FIELD) { \
+ if (MB_FIELD(h)) { \
if (!IS_INTERLACED(type)) { \
refn <<= 1; \
AV_COPY32(mvbuf[idx], mvn); \
@@ -359,7 +359,7 @@ static void fill_decode_neighbors(H264Context *h, int mb_type)
h->topleft_partition = -1;
- top_xy = mb_xy - (h->mb_stride << MB_FIELD);
+ top_xy = mb_xy - (h->mb_stride << MB_FIELD(h));
/* Wow, what a mess, why didn't they simplify the interlacing & intra
* stuff, I can't imagine that these complex rules are worth it. */
@@ -760,7 +760,7 @@ static void fill_decode_caches(H264Context *h, int mb_type)
MAP_F2F(scan8[0] - 1 + 3 * 8, left_type[LBOT])
if (FRAME_MBAFF) {
- if (MB_FIELD) {
+ if (MB_FIELD(h)) {
#define MAP_F2F(idx, mb_type) \
if (!IS_INTERLACED(mb_type) && h->ref_cache[list][idx] >= 0) { \
@@ -800,7 +800,7 @@ static void av_unused decode_mb_skip(H264Context *h)
memset(h->non_zero_count[mb_xy], 0, 48);
- if (MB_FIELD)
+ if (MB_FIELD(h))
mb_type |= MB_TYPE_INTERLACED;
if (h->slice_type_nos == AV_PICTURE_TYPE_B) {