diff --git a/libavcodec/cfhdencdsp.c b/libavcodec/cfhdencdsp.c
index 3a35522d69417a16d8ebc27220665fa665bed8fe..a122bcaf192c17a54c676e684ce41472828b7409 100644
--- a/libavcodec/cfhdencdsp.c
+++ b/libavcodec/cfhdencdsp.c
@@ -23,7 +23,7 @@
 
 #include "cfhdencdsp.h"
 
-static av_always_inline void filter(int16_t *input, ptrdiff_t in_stride,
+static av_always_inline void filter(const int16_t *input, ptrdiff_t in_stride,
                           int16_t *low, ptrdiff_t low_stride,
                           int16_t *high, ptrdiff_t high_stride,
                           int len)
@@ -46,7 +46,7 @@ static av_always_inline void filter(int16_t *input, ptrdiff_t in_stride,
                                                       1 * input[((len-2)-3)*in_stride] + 1 * input[((len-2)-4)*in_stride] + 4) >> 3);
 }
 
-static void horiz_filter(int16_t *input, int16_t *low, int16_t *high,
+static void horiz_filter(const int16_t *input, int16_t *low, int16_t *high,
                          ptrdiff_t in_stride, ptrdiff_t low_stride,
                          ptrdiff_t high_stride,
                          int width, int height)
@@ -59,7 +59,7 @@ static void horiz_filter(int16_t *input, int16_t *low, int16_t *high,
     }
 }
 
-static void vert_filter(int16_t *input, int16_t *low, int16_t *high,
+static void vert_filter(const int16_t *input, int16_t *low, int16_t *high,
                         ptrdiff_t in_stride, ptrdiff_t low_stride,
                         ptrdiff_t high_stride,
                         int width, int height)
diff --git a/libavcodec/cfhdencdsp.h b/libavcodec/cfhdencdsp.h
index b3aac8d0a78b7a0004d8f2a846c433b38f1a9f9a..d234b937978e5c98e095d8e9aa1f754a55651c91 100644
--- a/libavcodec/cfhdencdsp.h
+++ b/libavcodec/cfhdencdsp.h
@@ -23,12 +23,12 @@
 #include <stdint.h>
 
 typedef struct CFHDEncDSPContext {
-    void (*horiz_filter)(int16_t *input, int16_t *low, int16_t *high,
+    void (*horiz_filter)(const int16_t *input, int16_t *low, int16_t *high,
                          ptrdiff_t in_stride, ptrdiff_t low_stride,
                          ptrdiff_t high_stride,
                          int width, int height);
 
-    void (*vert_filter)(int16_t *input, int16_t *low, int16_t *high,
+    void (*vert_filter)(const int16_t *input, int16_t *low, int16_t *high,
                         ptrdiff_t in_stride, ptrdiff_t low_stride,
                         ptrdiff_t high_stride,
                         int width, int height);
diff --git a/libavcodec/x86/cfhdencdsp_init.c b/libavcodec/x86/cfhdencdsp_init.c
index 1e3586e08cd354e59776b492371aa612f45c9708..5cea39a80ad38f3429e09ecd92b57114b834cc63 100644
--- a/libavcodec/x86/cfhdencdsp_init.c
+++ b/libavcodec/x86/cfhdencdsp_init.c
@@ -27,11 +27,11 @@
 #include "libavutil/x86/cpu.h"
 #include "libavcodec/cfhdencdsp.h"
 
-void ff_cfhdenc_horiz_filter_sse2(int16_t *input, int16_t *low, int16_t *high,
+void ff_cfhdenc_horiz_filter_sse2(const int16_t *input, int16_t *low, int16_t *high,
                                   ptrdiff_t in_stride, ptrdiff_t low_stride,
                                   ptrdiff_t high_stride,
                                   int width, int height);
-void ff_cfhdenc_vert_filter_sse2(int16_t *input, int16_t *low, int16_t *high,
+void ff_cfhdenc_vert_filter_sse2(const int16_t *input, int16_t *low, int16_t *high,
                                  ptrdiff_t in_stride, ptrdiff_t low_stride,
                                  ptrdiff_t high_stride,
                                  int width, int height);