h264_direct: constify all uses of H264Context
authorAnton Khirnov <anton@khirnov.net>
Tue, 27 Jan 2015 14:53:33 +0000 (15:53 +0100)
committerAnton Khirnov <anton@khirnov.net>
Sat, 21 Mar 2015 10:27:14 +0000 (11:27 +0100)
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context

libavcodec/h264.h
libavcodec/h264_direct.c

index 8483c15..adb3788 100644 (file)
@@ -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,
index 43ad41d..ae24b02 100644 (file)
@@ -34,7 +34,7 @@
 
 #include <assert.h>
 
-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)