[FFmpeg-cvslog] h264_direct: constify all uses of H264Context

Anton Khirnov git at videolan.org
Sat Mar 21 17:21:44 CET 2015


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Tue Jan 27 15:53:33 2015 +0100| [d27b8248a6ee7e64c68c46c23e00d703b9caa50c] | committer: Anton Khirnov

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

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d27b8248a6ee7e64c68c46c23e00d703b9caa50c
---

 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 8483c15..adb3788 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 43ad41d..ae24b02 100644
--- a/libavcodec/h264_direct.c
+++ b/libavcodec/h264_direct.c
@@ -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)



More information about the ffmpeg-cvslog mailing list