This way it does not look like a constant.
---
libavcodec/dxva2_h264.c | 2 +-
libavcodec/h264.c | 12 ++++++------
libavcodec/h264.h | 2 +-
libavcodec/vaapi_h264.c | 2 +-
4 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c
index e71d9e3..6457824 100644
--- a/libavcodec/dxva2_h264.c
+++ b/libavcodec/dxva2_h264.c
@@ -206,7 +206,7 @@ static void fill_slice_long(AVCodecContext *avctx,
DXVA_Slice_H264_Long *slice,
slice->SliceBytesInBuffer = size;
slice->wBadSliceChopping = 0;
- slice->first_mb_in_slice = (h->mb_y >> FIELD_OR_MBAFF_PICTURE) *
h->mb_width + h->mb_x;
+ slice->first_mb_in_slice = (h->mb_y >> FIELD_OR_MBAFF_PICTURE(h)) *
h->mb_width + h->mb_x;
slice->NumMbsForSlice = 0; /* XXX it is set once we have all slices
*/
slice->BitOffsetToSliceData = get_bits_count(&h->gb);
slice->slice_type = ff_h264_get_slice_type(h);
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 1dbe272..6040b52 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -1856,7 +1856,7 @@ static void decode_postinit(H264Context *h, int
setup_finished)
break;
case SEI_PIC_STRUCT_TOP_BOTTOM:
case SEI_PIC_STRUCT_BOTTOM_TOP:
- if (FIELD_OR_MBAFF_PICTURE)
+ if (FIELD_OR_MBAFF_PICTURE(h))
cur->f.interlaced_frame = 1;
else
// try to flag soft telecine progressive
@@ -1882,7 +1882,7 @@ static void decode_postinit(H264Context *h, int
setup_finished)
cur->f.interlaced_frame = (h->sei_ct_type & (1 << 1)) != 0;
} else {
/* Derive interlacing flag from used decoding process. */
- cur->f.interlaced_frame = FIELD_OR_MBAFF_PICTURE;
+ cur->f.interlaced_frame = FIELD_OR_MBAFF_PICTURE(h);
}
h->prev_interlaced_frame = cur->f.interlaced_frame;
@@ -3442,13 +3442,13 @@ static int decode_slice_header(H264Context *h,
H264Context *h0)
h->cur_pic_ptr->frame_num = h->frame_num; // FIXME frame_num cleanup
assert(h->mb_num == h->mb_width * h->mb_height);
- if (first_mb_in_slice << FIELD_OR_MBAFF_PICTURE >= h->mb_num ||
+ if (first_mb_in_slice << FIELD_OR_MBAFF_PICTURE(h) >= h->mb_num ||
first_mb_in_slice >= h->mb_num) {
av_log(h->avctx, AV_LOG_ERROR, "first_mb_in_slice overflow\n");
return -1;
}
h->resync_mb_x = h->mb_x = first_mb_in_slice % h->mb_width;
- h->resync_mb_y = h->mb_y = (first_mb_in_slice / h->mb_width) <<
FIELD_OR_MBAFF_PICTURE;
+ h->resync_mb_y = h->mb_y = (first_mb_in_slice / h->mb_width) <<
FIELD_OR_MBAFF_PICTURE(h);
if (h->picture_structure == PICT_BOTTOM_FIELD)
h->resync_mb_y = h->mb_y = h->mb_y + 1;
assert(h->mb_y < h->mb_height);
@@ -4157,7 +4157,7 @@ static int decode_slice(struct AVCodecContext *avctx,
void *arg)
h->mb_x = lf_x_start = 0;
decode_finish_row(h);
++h->mb_y;
- if (FIELD_OR_MBAFF_PICTURE) {
+ if (FIELD_OR_MBAFF_PICTURE(h)) {
++h->mb_y;
if (FRAME_MBAFF(h) && h->mb_y < h->mb_height)
predict_field_decoding_flag(h);
@@ -4204,7 +4204,7 @@ static int decode_slice(struct AVCodecContext *avctx,
void *arg)
h->mb_x = lf_x_start = 0;
decode_finish_row(h);
++h->mb_y;
- if (FIELD_OR_MBAFF_PICTURE) {
+ if (FIELD_OR_MBAFF_PICTURE(h)) {
++h->mb_y;
if (FRAME_MBAFF(h) && h->mb_y < h->mb_height)
predict_field_decoding_flag(h);
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 66708c0..7218cb7 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -79,7 +79,7 @@
#define LBOT 0
#define LEFT(i) 0
#endif
-#define FIELD_OR_MBAFF_PICTURE (FRAME_MBAFF(h) || FIELD_PICTURE(h))
+#define FIELD_OR_MBAFF_PICTURE(h) (FRAME_MBAFF(h) || FIELD_PICTURE(h))
#ifndef CABAC
#define CABAC h->pps.cabac
diff --git a/libavcodec/vaapi_h264.c b/libavcodec/vaapi_h264.c
index 7cbe8c1..dfa2ec7 100644
--- a/libavcodec/vaapi_h264.c
+++ b/libavcodec/vaapi_h264.c
@@ -324,7 +324,7 @@ static int vaapi_h264_decode_slice(AVCodecContext *avctx,
if (!slice_param)
return -1;
slice_param->slice_data_bit_offset = get_bits_count(&h->gb) + 8;
/* bit buffer started beyond nal_unit_type */
- slice_param->first_mb_in_slice = (h->mb_y >>
FIELD_OR_MBAFF_PICTURE) * h->mb_width + h->mb_x;
+ slice_param->first_mb_in_slice = (h->mb_y >>
FIELD_OR_MBAFF_PICTURE(h)) * h->mb_width + h->mb_x;
slice_param->slice_type = ff_h264_get_slice_type(h);
slice_param->direct_spatial_mv_pred_flag = h->slice_type ==
AV_PICTURE_TYPE_B ? h->direct_spatial_mv_pred : 0;
slice_param->num_ref_idx_l0_active_minus1 = h->list_count > 0 ?
h->ref_count[0] - 1 : 0;
--
1.7.10.4
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel