diff options
| author | Anton Khirnov <[email protected]> | 2013-03-09 20:37:11 +0100 | 
|---|---|---|
| committer | Anton Khirnov <[email protected]> | 2013-03-21 10:20:48 +0100 | 
| commit | a6931d8ecea17aa232157f89abdbe7afbb93a8db (patch) | |
| tree | 7630ff67a82e4034411ac0c96ed7a3611619bf81 | |
| parent | 7fa00653a550c0d24b3951c0f9fed6350ecf5ce4 (diff) | |
h264: add a parameter to the FIELD_OR_MBAFF_PICTURE macro.
This way it does not look like a constant.
| -rw-r--r-- | libavcodec/dxva2_h264.c | 2 | ||||
| -rw-r--r-- | libavcodec/h264.c | 12 | ||||
| -rw-r--r-- | libavcodec/h264.h | 2 | ||||
| -rw-r--r-- | 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 e71d9e36a1..6457824b6f 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 14369ac70c..c81ba5e797 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1862,7 +1862,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 @@ -1888,7 +1888,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; @@ -3448,13 +3448,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); @@ -4163,7 +4163,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); @@ -4210,7 +4210,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 66708c04c6..7218cb7d27 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 7cbe8c1826..dfa2ec7bb8 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;  | 
