From d27b8248a6ee7e64c68c46c23e00d703b9caa50c Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 27 Jan 2015 15:53:33 +0100 Subject: [PATCH] h264_direct: constify all uses of H264Context All the variables modified by this code are either per-MB arrays or have been moved to the per-slice context --- libavcodec/h264.h | 6 +++--- libavcodec/h264_direct.c | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/libavcodec/h264.h b/libavcodec/h264.h index 8483c1597f..adb378802a 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -825,9 +825,9 @@ void ff_h264_init_cabac_states(H264Context *h, H264SliceContext *sl); void h264_init_dequant_tables(H264Context *h); -void ff_h264_direct_dist_scale_factor(H264Context *const h, H264SliceContext *sl); -void ff_h264_direct_ref_list_init(H264Context *const h, H264SliceContext *sl); -void ff_h264_pred_direct_motion(H264Context *const h, H264SliceContext *sl, +void ff_h264_direct_dist_scale_factor(const H264Context *const h, H264SliceContext *sl); +void ff_h264_direct_ref_list_init(const H264Context *const h, H264SliceContext *sl); +void ff_h264_pred_direct_motion(const H264Context *const h, H264SliceContext *sl, int *mb_type); void ff_h264_filter_mb_fast(H264Context *h, H264SliceContext *sl, int mb_x, int mb_y, diff --git a/libavcodec/h264_direct.c b/libavcodec/h264_direct.c index 43ad41de90..ae24b02f23 100644 --- a/libavcodec/h264_direct.c +++ b/libavcodec/h264_direct.c @@ -34,7 +34,7 @@ #include -static int get_scale_factor(H264Context *const h, H264SliceContext *sl, +static int get_scale_factor(H264SliceContext *sl, int poc, int poc1, int i) { int poc0 = sl->ref_list[0][i].poc; @@ -48,7 +48,7 @@ static int get_scale_factor(H264Context *const h, H264SliceContext *sl, } } -void ff_h264_direct_dist_scale_factor(H264Context *const h, +void ff_h264_direct_dist_scale_factor(const H264Context *const h, H264SliceContext *sl) { const int poc = FIELD_PICTURE(h) ? h->cur_pic_ptr->field_poc[h->picture_structure == PICT_BOTTOM_FIELD] @@ -62,14 +62,14 @@ void ff_h264_direct_dist_scale_factor(H264Context *const h, const int poc1 = sl->ref_list[1][0].field_poc[field]; for (i = 0; i < 2 * sl->ref_count[0]; i++) sl->dist_scale_factor_field[field][i ^ field] = - get_scale_factor(h, sl, poc, poc1, i + 16); + get_scale_factor(sl, poc, poc1, i + 16); } for (i = 0; i < sl->ref_count[0]; i++) - sl->dist_scale_factor[i] = get_scale_factor(h, sl, poc, poc1, i); + sl->dist_scale_factor[i] = get_scale_factor(sl, poc, poc1, i); } -static void fill_colmap(H264Context *h, H264SliceContext *sl, +static void fill_colmap(const H264Context *h, H264SliceContext *sl, int map[2][16 + 32], int list, int field, int colfield, int mbafi) { @@ -107,7 +107,7 @@ static void fill_colmap(H264Context *h, H264SliceContext *sl, } } -void ff_h264_direct_ref_list_init(H264Context *const h, H264SliceContext *sl) +void ff_h264_direct_ref_list_init(const H264Context *const h, H264SliceContext *sl) { H264Picture *const ref1 = &sl->ref_list[1][0]; H264Picture *const cur = h->cur_pic_ptr; @@ -155,7 +155,7 @@ void ff_h264_direct_ref_list_init(H264Context *const h, H264SliceContext *sl) } } -static void await_reference_mb_row(H264Context *const h, H264Picture *ref, +static void await_reference_mb_row(const H264Context *const h, H264Picture *ref, int mb_y) { int ref_field = ref->reference - 1; @@ -174,7 +174,7 @@ static void await_reference_mb_row(H264Context *const h, H264Picture *ref, ref_field_picture && ref_field); } -static void pred_spatial_direct_motion(H264Context *const h, H264SliceContext *sl, +static void pred_spatial_direct_motion(const H264Context *const h, H264SliceContext *sl, int *mb_type) { int b8_stride = 2; @@ -460,7 +460,7 @@ single_col: } } -static void pred_temp_direct_motion(H264Context *const h, H264SliceContext *sl, +static void pred_temp_direct_motion(const H264Context *const h, H264SliceContext *sl, int *mb_type) { int b8_stride = 2; @@ -694,7 +694,7 @@ single_col: } } -void ff_h264_pred_direct_motion(H264Context *const h, H264SliceContext *sl, +void ff_h264_pred_direct_motion(const H264Context *const h, H264SliceContext *sl, int *mb_type) { if (sl->direct_spatial_mv_pred)