[FFmpeg-cvslog] avcodec/intrax8dsp: Constify DSP functions

Andreas Rheinhardt git at videolan.org
Thu Feb 27 16:54:47 EET 2025


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Sun Feb 23 20:44:48 2025 +0100| [6f31b05389ae7edf29407aad77916c43c51841e6] | committer: Andreas Rheinhardt

avcodec/intrax8dsp: Constify DSP functions

Also add restrict where possible.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

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

 libavcodec/intrax8dsp.c | 29 +++++++++++++++--------------
 libavcodec/intrax8dsp.h |  4 ++--
 2 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/libavcodec/intrax8dsp.c b/libavcodec/intrax8dsp.c
index 80c3929f71..ff22aecae2 100644
--- a/libavcodec/intrax8dsp.c
+++ b/libavcodec/intrax8dsp.c
@@ -62,11 +62,12 @@
         note:   1|2 - mb_x==mb_y==0 - first block, use 0x80 value for all areas;
                 4   - mb_x>= (mb_width-1) last block in the row, interpolate area #5;
 -*/
-static void x8_setup_spatial_compensation(uint8_t *src, uint8_t *dst,
+static void x8_setup_spatial_compensation(const uint8_t *restrict src,
+                                                uint8_t *restrict dst,
                                           ptrdiff_t stride, int *range,
                                           int *psum, int edges)
 {
-    uint8_t *ptr;
+    const uint8_t *ptr;
     int sum;
     int i;
     int min_pix, max_pix;
@@ -160,7 +161,7 @@ static const uint16_t zero_prediction_weights[64 * 2] = {
     317,  846, 366,  731, 458,  611, 499, 499,
 };
 
-static void spatial_compensation_0(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
+static void spatial_compensation_0(const uint8_t *restrict src, uint8_t *restrict dst, ptrdiff_t stride)
 {
     int i, j;
     int x, y;
@@ -212,7 +213,7 @@ static void spatial_compensation_0(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
     }
 }
 
-static void spatial_compensation_1(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
+static void spatial_compensation_1(const uint8_t *restrict src, uint8_t *restrict dst, ptrdiff_t stride)
 {
     int x, y;
 
@@ -223,7 +224,7 @@ static void spatial_compensation_1(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
     }
 }
 
-static void spatial_compensation_2(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
+static void spatial_compensation_2(const uint8_t *restrict src, uint8_t *restrict dst, ptrdiff_t stride)
 {
     int x, y;
 
@@ -234,7 +235,7 @@ static void spatial_compensation_2(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
     }
 }
 
-static void spatial_compensation_3(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
+static void spatial_compensation_3(const uint8_t *restrict src, uint8_t *restrict dst, ptrdiff_t stride)
 {
     int x, y;
 
@@ -245,7 +246,7 @@ static void spatial_compensation_3(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
     }
 }
 
-static void spatial_compensation_4(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
+static void spatial_compensation_4(const uint8_t *restrict src, uint8_t *restrict dst, ptrdiff_t stride)
 {
     int x, y;
 
@@ -256,7 +257,7 @@ static void spatial_compensation_4(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
     }
 }
 
-static void spatial_compensation_5(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
+static void spatial_compensation_5(const uint8_t *restrict src, uint8_t *restrict dst, ptrdiff_t stride)
 {
     int x, y;
 
@@ -271,7 +272,7 @@ static void spatial_compensation_5(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
     }
 }
 
-static void spatial_compensation_6(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
+static void spatial_compensation_6(const uint8_t *restrict src, uint8_t *restrict dst, ptrdiff_t stride)
 {
     int x, y;
 
@@ -282,7 +283,7 @@ static void spatial_compensation_6(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
     }
 }
 
-static void spatial_compensation_7(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
+static void spatial_compensation_7(const uint8_t *restrict src, uint8_t *restrict dst, ptrdiff_t stride)
 {
     int x, y;
 
@@ -297,7 +298,7 @@ static void spatial_compensation_7(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
     }
 }
 
-static void spatial_compensation_8(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
+static void spatial_compensation_8(const uint8_t *restrict src, uint8_t *restrict dst, ptrdiff_t stride)
 {
     int x, y;
 
@@ -308,7 +309,7 @@ static void spatial_compensation_8(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
     }
 }
 
-static void spatial_compensation_9(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
+static void spatial_compensation_9(const uint8_t *restrict src, uint8_t *restrict dst, ptrdiff_t stride)
 {
     int x, y;
 
@@ -319,7 +320,7 @@ static void spatial_compensation_9(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
     }
 }
 
-static void spatial_compensation_10(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
+static void spatial_compensation_10(const uint8_t *restrict src, uint8_t *restrict dst, ptrdiff_t stride)
 {
     int x, y;
 
@@ -330,7 +331,7 @@ static void spatial_compensation_10(uint8_t *src, uint8_t *dst, ptrdiff_t stride
     }
 }
 
-static void spatial_compensation_11(uint8_t *src, uint8_t *dst, ptrdiff_t stride)
+static void spatial_compensation_11(const uint8_t *restrict src, uint8_t *restrict dst, ptrdiff_t stride)
 {
     int x, y;
 
diff --git a/libavcodec/intrax8dsp.h b/libavcodec/intrax8dsp.h
index bf42698ed7..6cf673c364 100644
--- a/libavcodec/intrax8dsp.h
+++ b/libavcodec/intrax8dsp.h
@@ -26,9 +26,9 @@ typedef struct IntraX8DSPContext {
     void (*v_loop_filter)(uint8_t *src, ptrdiff_t stride, int qscale);
     void (*h_loop_filter)(uint8_t *src, ptrdiff_t stride, int qscale);
 
-    void (*spatial_compensation[12])(uint8_t *src, uint8_t *dst,
+    void (*spatial_compensation[12])(const uint8_t *restrict src, uint8_t *restrict dst,
                                      ptrdiff_t stride);
-    void (*setup_spatial_compensation)(uint8_t *src, uint8_t *dst,
+    void (*setup_spatial_compensation)(const uint8_t *restrict src, uint8_t *restrict dst,
                                        ptrdiff_t stride, int *range,
                                        int *sum, int edges);
 } IntraX8DSPContext;



More information about the ffmpeg-cvslog mailing list