Browse code

qpeldsp: Mark source pointer in qpel_mc_func function pointer const

Diego Biurrun authored on 2014/07/25 08:19:45
Showing 15 changed files
... ...
@@ -26,73 +26,73 @@
26 26
 #include "libavutil/arm/cpu.h"
27 27
 #include "libavcodec/h264qpel.h"
28 28
 
29
-void ff_put_h264_qpel16_mc00_neon(uint8_t *, uint8_t *, ptrdiff_t);
30
-void ff_put_h264_qpel16_mc10_neon(uint8_t *, uint8_t *, ptrdiff_t);
31
-void ff_put_h264_qpel16_mc20_neon(uint8_t *, uint8_t *, ptrdiff_t);
32
-void ff_put_h264_qpel16_mc30_neon(uint8_t *, uint8_t *, ptrdiff_t);
33
-void ff_put_h264_qpel16_mc01_neon(uint8_t *, uint8_t *, ptrdiff_t);
34
-void ff_put_h264_qpel16_mc11_neon(uint8_t *, uint8_t *, ptrdiff_t);
35
-void ff_put_h264_qpel16_mc21_neon(uint8_t *, uint8_t *, ptrdiff_t);
36
-void ff_put_h264_qpel16_mc31_neon(uint8_t *, uint8_t *, ptrdiff_t);
37
-void ff_put_h264_qpel16_mc02_neon(uint8_t *, uint8_t *, ptrdiff_t);
38
-void ff_put_h264_qpel16_mc12_neon(uint8_t *, uint8_t *, ptrdiff_t);
39
-void ff_put_h264_qpel16_mc22_neon(uint8_t *, uint8_t *, ptrdiff_t);
40
-void ff_put_h264_qpel16_mc32_neon(uint8_t *, uint8_t *, ptrdiff_t);
41
-void ff_put_h264_qpel16_mc03_neon(uint8_t *, uint8_t *, ptrdiff_t);
42
-void ff_put_h264_qpel16_mc13_neon(uint8_t *, uint8_t *, ptrdiff_t);
43
-void ff_put_h264_qpel16_mc23_neon(uint8_t *, uint8_t *, ptrdiff_t);
44
-void ff_put_h264_qpel16_mc33_neon(uint8_t *, uint8_t *, ptrdiff_t);
29
+void ff_put_h264_qpel16_mc00_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
30
+void ff_put_h264_qpel16_mc10_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
31
+void ff_put_h264_qpel16_mc20_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
32
+void ff_put_h264_qpel16_mc30_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
33
+void ff_put_h264_qpel16_mc01_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
34
+void ff_put_h264_qpel16_mc11_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
35
+void ff_put_h264_qpel16_mc21_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
36
+void ff_put_h264_qpel16_mc31_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
37
+void ff_put_h264_qpel16_mc02_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
38
+void ff_put_h264_qpel16_mc12_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
39
+void ff_put_h264_qpel16_mc22_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
40
+void ff_put_h264_qpel16_mc32_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
41
+void ff_put_h264_qpel16_mc03_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
42
+void ff_put_h264_qpel16_mc13_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
43
+void ff_put_h264_qpel16_mc23_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
44
+void ff_put_h264_qpel16_mc33_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
45 45
 
46
-void ff_put_h264_qpel8_mc00_neon(uint8_t *, uint8_t *, ptrdiff_t);
47
-void ff_put_h264_qpel8_mc10_neon(uint8_t *, uint8_t *, ptrdiff_t);
48
-void ff_put_h264_qpel8_mc20_neon(uint8_t *, uint8_t *, ptrdiff_t);
49
-void ff_put_h264_qpel8_mc30_neon(uint8_t *, uint8_t *, ptrdiff_t);
50
-void ff_put_h264_qpel8_mc01_neon(uint8_t *, uint8_t *, ptrdiff_t);
51
-void ff_put_h264_qpel8_mc11_neon(uint8_t *, uint8_t *, ptrdiff_t);
52
-void ff_put_h264_qpel8_mc21_neon(uint8_t *, uint8_t *, ptrdiff_t);
53
-void ff_put_h264_qpel8_mc31_neon(uint8_t *, uint8_t *, ptrdiff_t);
54
-void ff_put_h264_qpel8_mc02_neon(uint8_t *, uint8_t *, ptrdiff_t);
55
-void ff_put_h264_qpel8_mc12_neon(uint8_t *, uint8_t *, ptrdiff_t);
56
-void ff_put_h264_qpel8_mc22_neon(uint8_t *, uint8_t *, ptrdiff_t);
57
-void ff_put_h264_qpel8_mc32_neon(uint8_t *, uint8_t *, ptrdiff_t);
58
-void ff_put_h264_qpel8_mc03_neon(uint8_t *, uint8_t *, ptrdiff_t);
59
-void ff_put_h264_qpel8_mc13_neon(uint8_t *, uint8_t *, ptrdiff_t);
60
-void ff_put_h264_qpel8_mc23_neon(uint8_t *, uint8_t *, ptrdiff_t);
61
-void ff_put_h264_qpel8_mc33_neon(uint8_t *, uint8_t *, ptrdiff_t);
46
+void ff_put_h264_qpel8_mc00_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
47
+void ff_put_h264_qpel8_mc10_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
48
+void ff_put_h264_qpel8_mc20_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
49
+void ff_put_h264_qpel8_mc30_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
50
+void ff_put_h264_qpel8_mc01_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
51
+void ff_put_h264_qpel8_mc11_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
52
+void ff_put_h264_qpel8_mc21_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
53
+void ff_put_h264_qpel8_mc31_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
54
+void ff_put_h264_qpel8_mc02_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
55
+void ff_put_h264_qpel8_mc12_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
56
+void ff_put_h264_qpel8_mc22_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
57
+void ff_put_h264_qpel8_mc32_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
58
+void ff_put_h264_qpel8_mc03_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
59
+void ff_put_h264_qpel8_mc13_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
60
+void ff_put_h264_qpel8_mc23_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
61
+void ff_put_h264_qpel8_mc33_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
62 62
 
63
-void ff_avg_h264_qpel16_mc00_neon(uint8_t *, uint8_t *, ptrdiff_t);
64
-void ff_avg_h264_qpel16_mc10_neon(uint8_t *, uint8_t *, ptrdiff_t);
65
-void ff_avg_h264_qpel16_mc20_neon(uint8_t *, uint8_t *, ptrdiff_t);
66
-void ff_avg_h264_qpel16_mc30_neon(uint8_t *, uint8_t *, ptrdiff_t);
67
-void ff_avg_h264_qpel16_mc01_neon(uint8_t *, uint8_t *, ptrdiff_t);
68
-void ff_avg_h264_qpel16_mc11_neon(uint8_t *, uint8_t *, ptrdiff_t);
69
-void ff_avg_h264_qpel16_mc21_neon(uint8_t *, uint8_t *, ptrdiff_t);
70
-void ff_avg_h264_qpel16_mc31_neon(uint8_t *, uint8_t *, ptrdiff_t);
71
-void ff_avg_h264_qpel16_mc02_neon(uint8_t *, uint8_t *, ptrdiff_t);
72
-void ff_avg_h264_qpel16_mc12_neon(uint8_t *, uint8_t *, ptrdiff_t);
73
-void ff_avg_h264_qpel16_mc22_neon(uint8_t *, uint8_t *, ptrdiff_t);
74
-void ff_avg_h264_qpel16_mc32_neon(uint8_t *, uint8_t *, ptrdiff_t);
75
-void ff_avg_h264_qpel16_mc03_neon(uint8_t *, uint8_t *, ptrdiff_t);
76
-void ff_avg_h264_qpel16_mc13_neon(uint8_t *, uint8_t *, ptrdiff_t);
77
-void ff_avg_h264_qpel16_mc23_neon(uint8_t *, uint8_t *, ptrdiff_t);
78
-void ff_avg_h264_qpel16_mc33_neon(uint8_t *, uint8_t *, ptrdiff_t);
63
+void ff_avg_h264_qpel16_mc00_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
64
+void ff_avg_h264_qpel16_mc10_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
65
+void ff_avg_h264_qpel16_mc20_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
66
+void ff_avg_h264_qpel16_mc30_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
67
+void ff_avg_h264_qpel16_mc01_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
68
+void ff_avg_h264_qpel16_mc11_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
69
+void ff_avg_h264_qpel16_mc21_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
70
+void ff_avg_h264_qpel16_mc31_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
71
+void ff_avg_h264_qpel16_mc02_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
72
+void ff_avg_h264_qpel16_mc12_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
73
+void ff_avg_h264_qpel16_mc22_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
74
+void ff_avg_h264_qpel16_mc32_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
75
+void ff_avg_h264_qpel16_mc03_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
76
+void ff_avg_h264_qpel16_mc13_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
77
+void ff_avg_h264_qpel16_mc23_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
78
+void ff_avg_h264_qpel16_mc33_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
79 79
 
80
-void ff_avg_h264_qpel8_mc00_neon(uint8_t *, uint8_t *, ptrdiff_t);
81
-void ff_avg_h264_qpel8_mc10_neon(uint8_t *, uint8_t *, ptrdiff_t);
82
-void ff_avg_h264_qpel8_mc20_neon(uint8_t *, uint8_t *, ptrdiff_t);
83
-void ff_avg_h264_qpel8_mc30_neon(uint8_t *, uint8_t *, ptrdiff_t);
84
-void ff_avg_h264_qpel8_mc01_neon(uint8_t *, uint8_t *, ptrdiff_t);
85
-void ff_avg_h264_qpel8_mc11_neon(uint8_t *, uint8_t *, ptrdiff_t);
86
-void ff_avg_h264_qpel8_mc21_neon(uint8_t *, uint8_t *, ptrdiff_t);
87
-void ff_avg_h264_qpel8_mc31_neon(uint8_t *, uint8_t *, ptrdiff_t);
88
-void ff_avg_h264_qpel8_mc02_neon(uint8_t *, uint8_t *, ptrdiff_t);
89
-void ff_avg_h264_qpel8_mc12_neon(uint8_t *, uint8_t *, ptrdiff_t);
90
-void ff_avg_h264_qpel8_mc22_neon(uint8_t *, uint8_t *, ptrdiff_t);
91
-void ff_avg_h264_qpel8_mc32_neon(uint8_t *, uint8_t *, ptrdiff_t);
92
-void ff_avg_h264_qpel8_mc03_neon(uint8_t *, uint8_t *, ptrdiff_t);
93
-void ff_avg_h264_qpel8_mc13_neon(uint8_t *, uint8_t *, ptrdiff_t);
94
-void ff_avg_h264_qpel8_mc23_neon(uint8_t *, uint8_t *, ptrdiff_t);
95
-void ff_avg_h264_qpel8_mc33_neon(uint8_t *, uint8_t *, ptrdiff_t);
80
+void ff_avg_h264_qpel8_mc00_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
81
+void ff_avg_h264_qpel8_mc10_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
82
+void ff_avg_h264_qpel8_mc20_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
83
+void ff_avg_h264_qpel8_mc30_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
84
+void ff_avg_h264_qpel8_mc01_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
85
+void ff_avg_h264_qpel8_mc11_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
86
+void ff_avg_h264_qpel8_mc21_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
87
+void ff_avg_h264_qpel8_mc31_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
88
+void ff_avg_h264_qpel8_mc02_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
89
+void ff_avg_h264_qpel8_mc12_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
90
+void ff_avg_h264_qpel8_mc22_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
91
+void ff_avg_h264_qpel8_mc32_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
92
+void ff_avg_h264_qpel8_mc03_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
93
+void ff_avg_h264_qpel8_mc13_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
94
+void ff_avg_h264_qpel8_mc23_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
95
+void ff_avg_h264_qpel8_mc33_neon(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
96 96
 
97 97
 av_cold void ff_h264qpel_init_arm(H264QpelContext *c, int bit_depth)
98 98
 {
... ...
@@ -26,8 +26,10 @@
26 26
 #include "libavutil/arm/cpu.h"
27 27
 
28 28
 #define DECL_QPEL3(type, w, pos) \
29
-    void ff_##type##_rv40_qpel##w##_mc##pos##_neon(uint8_t *dst, uint8_t *src,\
30
-                                                   ptrdiff_t stride)
29
+void ff_ ## type ## _rv40_qpel ## w ## _mc ## pos ## _neon(uint8_t *dst,       \
30
+                                                           const uint8_t *src, \
31
+                                                           ptrdiff_t stride)
32
+
31 33
 #define DECL_QPEL2(w, pos)                      \
32 34
     DECL_QPEL3(put, w, pos);                    \
33 35
     DECL_QPEL3(avg, w, pos)
... ...
@@ -261,7 +261,7 @@ static void cavs_idct8_add_c(uint8_t *dst, int16_t *block, int stride) {
261 261
  ****************************************************************************/
262 262
 
263 263
 #define CAVS_SUBPIX(OPNAME, OP, NAME, A, B, C, D, E, F) \
264
-static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
264
+static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
265 265
     const int h=8;\
266 266
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
267 267
     int i;\
... ...
@@ -280,7 +280,7 @@ static void OPNAME ## cavs_filt8_h_ ## NAME(uint8_t *dst, uint8_t *src, int dstS
280 280
     }\
281 281
 }\
282 282
 \
283
-static void OPNAME ## cavs_filt8_v_  ## NAME(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
283
+static void OPNAME ## cavs_filt8_v_  ## NAME(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
284 284
     const int w=8;\
285 285
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
286 286
     int i;\
... ...
@@ -312,7 +312,7 @@ static void OPNAME ## cavs_filt8_v_  ## NAME(uint8_t *dst, uint8_t *src, int dst
312 312
     }\
313 313
 }\
314 314
 \
315
-static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
315
+static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
316 316
     OPNAME ## cavs_filt8_v_ ## NAME(dst  , src  , dstStride, srcStride);\
317 317
     OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\
318 318
     src += 8*srcStride;\
... ...
@@ -321,7 +321,7 @@ static void OPNAME ## cavs_filt16_v_ ## NAME(uint8_t *dst, uint8_t *src, int dst
321 321
     OPNAME ## cavs_filt8_v_ ## NAME(dst+8, src+8, dstStride, srcStride);\
322 322
 }\
323 323
 \
324
-static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
324
+static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
325 325
     OPNAME ## cavs_filt8_h_ ## NAME(dst  , src  , dstStride, srcStride);\
326 326
     OPNAME ## cavs_filt8_h_ ## NAME(dst+8, src+8, dstStride, srcStride);\
327 327
     src += 8*srcStride;\
... ...
@@ -331,7 +331,7 @@ static void OPNAME ## cavs_filt16_h_ ## NAME(uint8_t *dst, uint8_t *src, int dst
331 331
 }\
332 332
 
333 333
 #define CAVS_SUBPIX_HV(OPNAME, OP, NAME, AH, BH, CH, DH, EH, FH, AV, BV, CV, DV, EV, FV, FULL) \
334
-static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, uint8_t *src1, uint8_t *src2, int dstStride, int srcStride){\
334
+static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dstStride, int srcStride){\
335 335
     int16_t temp[8*(8+5)];\
336 336
     int16_t *tmp = temp;\
337 337
     const int h=8;\
... ...
@@ -412,7 +412,7 @@ static void OPNAME ## cavs_filt8_hv_ ## NAME(uint8_t *dst, uint8_t *src1, uint8_
412 412
     }\
413 413
 }\
414 414
 \
415
-static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, uint8_t *src1, uint8_t *src2, int dstStride, int srcStride){ \
415
+static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dstStride, int srcStride){ \
416 416
     OPNAME ## cavs_filt8_hv_ ## NAME(dst  , src1,   src2  , dstStride, srcStride); \
417 417
     OPNAME ## cavs_filt8_hv_ ## NAME(dst+8, src1+8, src2+8, dstStride, srcStride); \
418 418
     src1 += 8*srcStride;\
... ...
@@ -423,77 +423,77 @@ static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, uint8_t *src1, uint8
423 423
 }\
424 424
 
425 425
 #define CAVS_MC(OPNAME, SIZE) \
426
-static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
426
+static void OPNAME ## cavs_qpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
427 427
 {\
428 428
     OPNAME ## cavs_filt ## SIZE ## _h_qpel_l(dst, src, stride, stride);\
429 429
 }\
430 430
 \
431
-static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
431
+static void OPNAME ## cavs_qpel ## SIZE ## _mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
432 432
 {\
433 433
     OPNAME ## cavs_filt ## SIZE ## _h_hpel(dst, src, stride, stride);\
434 434
 }\
435 435
 \
436
-static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
436
+static void OPNAME ## cavs_qpel ## SIZE ## _mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
437 437
 {\
438 438
     OPNAME ## cavs_filt ## SIZE ## _h_qpel_r(dst, src, stride, stride);\
439 439
 }\
440 440
 \
441
-static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
441
+static void OPNAME ## cavs_qpel ## SIZE ## _mc01_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
442 442
 {\
443 443
     OPNAME ## cavs_filt ## SIZE ## _v_qpel_l(dst, src, stride, stride);\
444 444
 }\
445 445
 \
446
-static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
446
+static void OPNAME ## cavs_qpel ## SIZE ## _mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
447 447
 {\
448 448
     OPNAME ## cavs_filt ## SIZE ## _v_hpel(dst, src, stride, stride);\
449 449
 }\
450 450
 \
451
-static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
451
+static void OPNAME ## cavs_qpel ## SIZE ## _mc03_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
452 452
 {\
453 453
     OPNAME ## cavs_filt ## SIZE ## _v_qpel_r(dst, src, stride, stride);\
454 454
 }\
455 455
 \
456
-static void OPNAME ## cavs_qpel ## SIZE ## _mc22_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
456
+static void OPNAME ## cavs_qpel ## SIZE ## _mc22_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
457 457
 {\
458 458
   OPNAME ## cavs_filt ## SIZE ## _hv_jj(dst, src, NULL, stride, stride); \
459 459
 }\
460 460
 \
461
-static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
461
+static void OPNAME ## cavs_qpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
462 462
 {\
463 463
   OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src, stride, stride); \
464 464
 }\
465 465
 \
466
-static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
466
+static void OPNAME ## cavs_qpel ## SIZE ## _mc13_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
467 467
 {\
468 468
   OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride, stride, stride); \
469 469
 }\
470 470
 \
471
-static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
471
+static void OPNAME ## cavs_qpel ## SIZE ## _mc31_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
472 472
 {\
473 473
   OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+1, stride, stride); \
474 474
 }\
475 475
 \
476
-static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
476
+static void OPNAME ## cavs_qpel ## SIZE ## _mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
477 477
 {\
478 478
   OPNAME ## cavs_filt ## SIZE ## _hv_egpr(dst, src, src+stride+1,stride, stride); \
479 479
 }\
480 480
 \
481
-static void OPNAME ## cavs_qpel ## SIZE ## _mc21_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
481
+static void OPNAME ## cavs_qpel ## SIZE ## _mc21_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
482 482
 {\
483 483
   OPNAME ## cavs_filt ## SIZE ## _hv_ff(dst, src, src+stride+1,stride, stride); \
484 484
 }\
485 485
 \
486
-static void OPNAME ## cavs_qpel ## SIZE ## _mc12_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
486
+static void OPNAME ## cavs_qpel ## SIZE ## _mc12_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
487 487
 {\
488 488
   OPNAME ## cavs_filt ## SIZE ## _hv_ii(dst, src, src+stride+1,stride, stride); \
489 489
 }\
490 490
 \
491
-static void OPNAME ## cavs_qpel ## SIZE ## _mc32_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
491
+static void OPNAME ## cavs_qpel ## SIZE ## _mc32_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
492 492
 {\
493 493
   OPNAME ## cavs_filt ## SIZE ## _hv_kk(dst, src, src+stride+1,stride, stride); \
494 494
 }\
495 495
 \
496
-static void OPNAME ## cavs_qpel ## SIZE ## _mc23_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
496
+static void OPNAME ## cavs_qpel ## SIZE ## _mc23_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
497 497
 {\
498 498
   OPNAME ## cavs_filt ## SIZE ## _hv_qq(dst, src, src+stride+1,stride, stride); \
499 499
 }\
... ...
@@ -75,12 +75,12 @@ static inline void FUNC(copy_block16)(uint8_t *dst, const uint8_t *src, int dstS
75 75
 }
76 76
 
77 77
 #define H264_LOWPASS(OPNAME, OP, OP2) \
78
-static av_unused void FUNC(OPNAME ## h264_qpel2_h_lowpass)(uint8_t *_dst, uint8_t *_src, int dstStride, int srcStride){\
78
+static av_unused void FUNC(OPNAME ## h264_qpel2_h_lowpass)(uint8_t *_dst, const uint8_t *_src, int dstStride, int srcStride){\
79 79
     const int h=2;\
80 80
     INIT_CLIP\
81 81
     int i;\
82 82
     pixel *dst = (pixel*)_dst;\
83
-    pixel *src = (pixel*)_src;\
83
+    const pixel *src = (const pixel*)_src;\
84 84
     dstStride /= sizeof(pixel);\
85 85
     srcStride /= sizeof(pixel);\
86 86
     for(i=0; i<h; i++)\
... ...
@@ -92,12 +92,12 @@ static av_unused void FUNC(OPNAME ## h264_qpel2_h_lowpass)(uint8_t *_dst, uint8_
92 92
     }\
93 93
 }\
94 94
 \
95
-static av_unused void FUNC(OPNAME ## h264_qpel2_v_lowpass)(uint8_t *_dst, uint8_t *_src, int dstStride, int srcStride){\
95
+static av_unused void FUNC(OPNAME ## h264_qpel2_v_lowpass)(uint8_t *_dst, const uint8_t *_src, int dstStride, int srcStride){\
96 96
     const int w=2;\
97 97
     INIT_CLIP\
98 98
     int i;\
99 99
     pixel *dst = (pixel*)_dst;\
100
-    pixel *src = (pixel*)_src;\
100
+    const pixel *src = (const pixel*)_src;\
101 101
     dstStride /= sizeof(pixel);\
102 102
     srcStride /= sizeof(pixel);\
103 103
     for(i=0; i<w; i++)\
... ...
@@ -116,14 +116,14 @@ static av_unused void FUNC(OPNAME ## h264_qpel2_v_lowpass)(uint8_t *_dst, uint8_
116 116
     }\
117 117
 }\
118 118
 \
119
-static av_unused void FUNC(OPNAME ## h264_qpel2_hv_lowpass)(uint8_t *_dst, int16_t *tmp, uint8_t *_src, int dstStride, int tmpStride, int srcStride){\
119
+static av_unused void FUNC(OPNAME ## h264_qpel2_hv_lowpass)(uint8_t *_dst, int16_t *tmp, const uint8_t *_src, int dstStride, int tmpStride, int srcStride){\
120 120
     const int h=2;\
121 121
     const int w=2;\
122 122
     const int pad = (BIT_DEPTH > 9) ? (-10 * ((1<<BIT_DEPTH)-1)) : 0;\
123 123
     INIT_CLIP\
124 124
     int i;\
125 125
     pixel *dst = (pixel*)_dst;\
126
-    pixel *src = (pixel*)_src;\
126
+    const pixel *src = (const pixel*)_src;\
127 127
     dstStride /= sizeof(pixel);\
128 128
     srcStride /= sizeof(pixel);\
129 129
     src -= 2*srcStride;\
... ...
@@ -150,12 +150,12 @@ static av_unused void FUNC(OPNAME ## h264_qpel2_hv_lowpass)(uint8_t *_dst, int16
150 150
         tmp++;\
151 151
     }\
152 152
 }\
153
-static void FUNC(OPNAME ## h264_qpel4_h_lowpass)(uint8_t *_dst, uint8_t *_src, int dstStride, int srcStride){\
153
+static void FUNC(OPNAME ## h264_qpel4_h_lowpass)(uint8_t *_dst, const uint8_t *_src, int dstStride, int srcStride){\
154 154
     const int h=4;\
155 155
     INIT_CLIP\
156 156
     int i;\
157 157
     pixel *dst = (pixel*)_dst;\
158
-    pixel *src = (pixel*)_src;\
158
+    const pixel *src = (const pixel*)_src;\
159 159
     dstStride /= sizeof(pixel);\
160 160
     srcStride /= sizeof(pixel);\
161 161
     for(i=0; i<h; i++)\
... ...
@@ -169,12 +169,12 @@ static void FUNC(OPNAME ## h264_qpel4_h_lowpass)(uint8_t *_dst, uint8_t *_src, i
169 169
     }\
170 170
 }\
171 171
 \
172
-static void FUNC(OPNAME ## h264_qpel4_v_lowpass)(uint8_t *_dst, uint8_t *_src, int dstStride, int srcStride){\
172
+static void FUNC(OPNAME ## h264_qpel4_v_lowpass)(uint8_t *_dst, const uint8_t *_src, int dstStride, int srcStride){\
173 173
     const int w=4;\
174 174
     INIT_CLIP\
175 175
     int i;\
176 176
     pixel *dst = (pixel*)_dst;\
177
-    pixel *src = (pixel*)_src;\
177
+    const pixel *src = (const pixel*)_src;\
178 178
     dstStride /= sizeof(pixel);\
179 179
     srcStride /= sizeof(pixel);\
180 180
     for(i=0; i<w; i++)\
... ...
@@ -197,14 +197,14 @@ static void FUNC(OPNAME ## h264_qpel4_v_lowpass)(uint8_t *_dst, uint8_t *_src, i
197 197
     }\
198 198
 }\
199 199
 \
200
-static void FUNC(OPNAME ## h264_qpel4_hv_lowpass)(uint8_t *_dst, int16_t *tmp, uint8_t *_src, int dstStride, int tmpStride, int srcStride){\
200
+static void FUNC(OPNAME ## h264_qpel4_hv_lowpass)(uint8_t *_dst, int16_t *tmp, const uint8_t *_src, int dstStride, int tmpStride, int srcStride){\
201 201
     const int h=4;\
202 202
     const int w=4;\
203 203
     const int pad = (BIT_DEPTH > 9) ? (-10 * ((1<<BIT_DEPTH)-1)) : 0;\
204 204
     INIT_CLIP\
205 205
     int i;\
206 206
     pixel *dst = (pixel*)_dst;\
207
-    pixel *src = (pixel*)_src;\
207
+    const pixel *src = (const pixel*)_src;\
208 208
     dstStride /= sizeof(pixel);\
209 209
     srcStride /= sizeof(pixel);\
210 210
     src -= 2*srcStride;\
... ...
@@ -238,12 +238,12 @@ static void FUNC(OPNAME ## h264_qpel4_hv_lowpass)(uint8_t *_dst, int16_t *tmp, u
238 238
     }\
239 239
 }\
240 240
 \
241
-static void FUNC(OPNAME ## h264_qpel8_h_lowpass)(uint8_t *_dst, uint8_t *_src, int dstStride, int srcStride){\
241
+static void FUNC(OPNAME ## h264_qpel8_h_lowpass)(uint8_t *_dst, const uint8_t *_src, int dstStride, int srcStride){\
242 242
     const int h=8;\
243 243
     INIT_CLIP\
244 244
     int i;\
245 245
     pixel *dst = (pixel*)_dst;\
246
-    pixel *src = (pixel*)_src;\
246
+    const pixel *src = (const pixel*)_src;\
247 247
     dstStride /= sizeof(pixel);\
248 248
     srcStride /= sizeof(pixel);\
249 249
     for(i=0; i<h; i++)\
... ...
@@ -261,12 +261,12 @@ static void FUNC(OPNAME ## h264_qpel8_h_lowpass)(uint8_t *_dst, uint8_t *_src, i
261 261
     }\
262 262
 }\
263 263
 \
264
-static void FUNC(OPNAME ## h264_qpel8_v_lowpass)(uint8_t *_dst, uint8_t *_src, int dstStride, int srcStride){\
264
+static void FUNC(OPNAME ## h264_qpel8_v_lowpass)(uint8_t *_dst, const uint8_t *_src, int dstStride, int srcStride){\
265 265
     const int w=8;\
266 266
     INIT_CLIP\
267 267
     int i;\
268 268
     pixel *dst = (pixel*)_dst;\
269
-    pixel *src = (pixel*)_src;\
269
+    const pixel *src = (const pixel*)_src;\
270 270
     dstStride /= sizeof(pixel);\
271 271
     srcStride /= sizeof(pixel);\
272 272
     for(i=0; i<w; i++)\
... ...
@@ -297,14 +297,14 @@ static void FUNC(OPNAME ## h264_qpel8_v_lowpass)(uint8_t *_dst, uint8_t *_src, i
297 297
     }\
298 298
 }\
299 299
 \
300
-static void FUNC(OPNAME ## h264_qpel8_hv_lowpass)(uint8_t *_dst, int16_t *tmp, uint8_t *_src, int dstStride, int tmpStride, int srcStride){\
300
+static void FUNC(OPNAME ## h264_qpel8_hv_lowpass)(uint8_t *_dst, int16_t *tmp, const uint8_t *_src, int dstStride, int tmpStride, int srcStride){\
301 301
     const int h=8;\
302 302
     const int w=8;\
303 303
     const int pad = (BIT_DEPTH > 9) ? (-10 * ((1<<BIT_DEPTH)-1)) : 0;\
304 304
     INIT_CLIP\
305 305
     int i;\
306 306
     pixel *dst = (pixel*)_dst;\
307
-    pixel *src = (pixel*)_src;\
307
+    const pixel *src = (const pixel*)_src;\
308 308
     dstStride /= sizeof(pixel);\
309 309
     srcStride /= sizeof(pixel);\
310 310
     src -= 2*srcStride;\
... ...
@@ -350,7 +350,7 @@ static void FUNC(OPNAME ## h264_qpel8_hv_lowpass)(uint8_t *_dst, int16_t *tmp, u
350 350
     }\
351 351
 }\
352 352
 \
353
-static void FUNC(OPNAME ## h264_qpel16_v_lowpass)(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
353
+static void FUNC(OPNAME ## h264_qpel16_v_lowpass)(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
354 354
     FUNC(OPNAME ## h264_qpel8_v_lowpass)(dst                , src                , dstStride, srcStride);\
355 355
     FUNC(OPNAME ## h264_qpel8_v_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
356 356
     src += 8*srcStride;\
... ...
@@ -359,7 +359,7 @@ static void FUNC(OPNAME ## h264_qpel16_v_lowpass)(uint8_t *dst, uint8_t *src, in
359 359
     FUNC(OPNAME ## h264_qpel8_v_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
360 360
 }\
361 361
 \
362
-static void FUNC(OPNAME ## h264_qpel16_h_lowpass)(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
362
+static void FUNC(OPNAME ## h264_qpel16_h_lowpass)(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
363 363
     FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst                , src                , dstStride, srcStride);\
364 364
     FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
365 365
     src += 8*srcStride;\
... ...
@@ -368,7 +368,7 @@ static void FUNC(OPNAME ## h264_qpel16_h_lowpass)(uint8_t *dst, uint8_t *src, in
368 368
     FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
369 369
 }\
370 370
 \
371
-static void FUNC(OPNAME ## h264_qpel16_hv_lowpass)(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\
371
+static void FUNC(OPNAME ## h264_qpel16_hv_lowpass)(uint8_t *dst, int16_t *tmp, const uint8_t *src, int dstStride, int tmpStride, int srcStride){\
372 372
     FUNC(OPNAME ## h264_qpel8_hv_lowpass)(dst                , tmp  , src                , dstStride, tmpStride, srcStride);\
373 373
     FUNC(OPNAME ## h264_qpel8_hv_lowpass)(dst+8*sizeof(pixel), tmp+8, src+8*sizeof(pixel), dstStride, tmpStride, srcStride);\
374 374
     src += 8*srcStride;\
... ...
@@ -378,31 +378,31 @@ static void FUNC(OPNAME ## h264_qpel16_hv_lowpass)(uint8_t *dst, int16_t *tmp, u
378 378
 }\
379 379
 
380 380
 #define H264_MC(OPNAME, SIZE) \
381
-static av_unused void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc00)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
381
+static av_unused void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc00)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
382 382
 {\
383 383
     FUNCC(OPNAME ## pixels ## SIZE)(dst, src, stride, SIZE);\
384 384
 }\
385 385
 \
386
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc10)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
386
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc10)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
387 387
 {\
388 388
     uint8_t half[SIZE*SIZE*sizeof(pixel)];\
389 389
     FUNC(put_h264_qpel ## SIZE ## _h_lowpass)(half, src, SIZE*sizeof(pixel), stride);\
390 390
     FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, src, half, stride, stride, SIZE*sizeof(pixel), SIZE);\
391 391
 }\
392 392
 \
393
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc20)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
393
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc20)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
394 394
 {\
395 395
     FUNC(OPNAME ## h264_qpel ## SIZE ## _h_lowpass)(dst, src, stride, stride);\
396 396
 }\
397 397
 \
398
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc30)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
398
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc30)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
399 399
 {\
400 400
     uint8_t half[SIZE*SIZE*sizeof(pixel)];\
401 401
     FUNC(put_h264_qpel ## SIZE ## _h_lowpass)(half, src, SIZE*sizeof(pixel), stride);\
402 402
     FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, src+sizeof(pixel), half, stride, stride, SIZE*sizeof(pixel), SIZE);\
403 403
 }\
404 404
 \
405
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc01)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
405
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc01)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
406 406
 {\
407 407
     uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
408 408
     uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
... ...
@@ -412,7 +412,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc01)(uint8_t *dst, uint8_t *s
412 412
     FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, full_mid, half, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
413 413
 }\
414 414
 \
415
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc02)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
415
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc02)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
416 416
 {\
417 417
     uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
418 418
     uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
... ...
@@ -420,7 +420,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc02)(uint8_t *dst, uint8_t *s
420 420
     FUNC(OPNAME ## h264_qpel ## SIZE ## _v_lowpass)(dst, full_mid, stride, SIZE*sizeof(pixel));\
421 421
 }\
422 422
 \
423
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc03)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
423
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc03)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
424 424
 {\
425 425
     uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
426 426
     uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
... ...
@@ -430,7 +430,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc03)(uint8_t *dst, uint8_t *s
430 430
     FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, full_mid+SIZE*sizeof(pixel), half, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
431 431
 }\
432 432
 \
433
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc11)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
433
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc11)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
434 434
 {\
435 435
     uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
436 436
     uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
... ...
@@ -442,7 +442,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc11)(uint8_t *dst, uint8_t *s
442 442
     FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
443 443
 }\
444 444
 \
445
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc31)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
445
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc31)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
446 446
 {\
447 447
     uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
448 448
     uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
... ...
@@ -454,7 +454,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc31)(uint8_t *dst, uint8_t *s
454 454
     FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
455 455
 }\
456 456
 \
457
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc13)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
457
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc13)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
458 458
 {\
459 459
     uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
460 460
     uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
... ...
@@ -466,7 +466,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc13)(uint8_t *dst, uint8_t *s
466 466
     FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
467 467
 }\
468 468
 \
469
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc33)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
469
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc33)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
470 470
 {\
471 471
     uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
472 472
     uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
... ...
@@ -478,13 +478,13 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc33)(uint8_t *dst, uint8_t *s
478 478
     FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
479 479
 }\
480 480
 \
481
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc22)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
481
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc22)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
482 482
 {\
483 483
     int16_t tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
484 484
     FUNC(OPNAME ## h264_qpel ## SIZE ## _hv_lowpass)(dst, tmp, src, stride, SIZE*sizeof(pixel), stride);\
485 485
 }\
486 486
 \
487
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc21)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
487
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc21)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
488 488
 {\
489 489
     int16_t tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
490 490
     uint8_t halfH[SIZE*SIZE*sizeof(pixel)];\
... ...
@@ -494,7 +494,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc21)(uint8_t *dst, uint8_t *s
494 494
     FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
495 495
 }\
496 496
 \
497
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc23)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
497
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc23)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
498 498
 {\
499 499
     int16_t tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
500 500
     uint8_t halfH[SIZE*SIZE*sizeof(pixel)];\
... ...
@@ -504,7 +504,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc23)(uint8_t *dst, uint8_t *s
504 504
     FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
505 505
 }\
506 506
 \
507
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc12)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
507
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc12)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
508 508
 {\
509 509
     uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
510 510
     uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
... ...
@@ -517,7 +517,7 @@ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc12)(uint8_t *dst, uint8_t *s
517 517
     FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfV, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
518 518
 }\
519 519
 \
520
-static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc32)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
520
+static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc32)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
521 521
 {\
522 522
     uint8_t full[SIZE*(SIZE+5)*sizeof(pixel)];\
523 523
     uint8_t * const full_mid= full + SIZE*2*sizeof(pixel);\
... ...
@@ -66,50 +66,50 @@
66 66
 #undef PREFIX_h264_qpel16_hv_lowpass_num
67 67
 
68 68
 #define H264_MC(OPNAME, SIZE, CODETYPE) \
69
-static void OPNAME ## h264_qpel ## SIZE ## _mc00_ ## CODETYPE (uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
69
+static void OPNAME ## h264_qpel ## SIZE ## _mc00_ ## CODETYPE (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
70 70
 {\
71 71
     ff_ ## OPNAME ## pixels ## SIZE ## _ ## CODETYPE(dst, src, stride, SIZE);\
72 72
 }\
73 73
 \
74
-static void OPNAME ## h264_qpel ## SIZE ## _mc10_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
74
+static void OPNAME ## h264_qpel ## SIZE ## _mc10_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
75 75
 { \
76 76
     DECLARE_ALIGNED(16, uint8_t, half)[SIZE*SIZE];\
77 77
     put_h264_qpel ## SIZE ## _h_lowpass_ ## CODETYPE(half, src, SIZE, stride);\
78 78
     OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, src, half, stride, stride, SIZE);\
79 79
 }\
80 80
 \
81
-static void OPNAME ## h264_qpel ## SIZE ## _mc20_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
81
+static void OPNAME ## h264_qpel ## SIZE ## _mc20_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
82 82
 {\
83 83
     OPNAME ## h264_qpel ## SIZE ## _h_lowpass_ ## CODETYPE(dst, src, stride, stride);\
84 84
 }\
85 85
 \
86
-static void OPNAME ## h264_qpel ## SIZE ## _mc30_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
86
+static void OPNAME ## h264_qpel ## SIZE ## _mc30_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
87 87
 {\
88 88
     DECLARE_ALIGNED(16, uint8_t, half)[SIZE*SIZE];\
89 89
     put_h264_qpel ## SIZE ## _h_lowpass_ ## CODETYPE(half, src, SIZE, stride);\
90 90
     OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, src+1, half, stride, stride, SIZE);\
91 91
 }\
92 92
 \
93
-static void OPNAME ## h264_qpel ## SIZE ## _mc01_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
93
+static void OPNAME ## h264_qpel ## SIZE ## _mc01_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
94 94
 {\
95 95
     DECLARE_ALIGNED(16, uint8_t, half)[SIZE*SIZE];\
96 96
     put_h264_qpel ## SIZE ## _v_lowpass_ ## CODETYPE(half, src, SIZE, stride);\
97 97
     OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, src, half, stride, stride, SIZE);\
98 98
 }\
99 99
 \
100
-static void OPNAME ## h264_qpel ## SIZE ## _mc02_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
100
+static void OPNAME ## h264_qpel ## SIZE ## _mc02_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
101 101
 {\
102 102
     OPNAME ## h264_qpel ## SIZE ## _v_lowpass_ ## CODETYPE(dst, src, stride, stride);\
103 103
 }\
104 104
 \
105
-static void OPNAME ## h264_qpel ## SIZE ## _mc03_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
105
+static void OPNAME ## h264_qpel ## SIZE ## _mc03_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
106 106
 {\
107 107
     DECLARE_ALIGNED(16, uint8_t, half)[SIZE*SIZE];\
108 108
     put_h264_qpel ## SIZE ## _v_lowpass_ ## CODETYPE(half, src, SIZE, stride);\
109 109
     OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, src+stride, half, stride, stride, SIZE);\
110 110
 }\
111 111
 \
112
-static void OPNAME ## h264_qpel ## SIZE ## _mc11_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
112
+static void OPNAME ## h264_qpel ## SIZE ## _mc11_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
113 113
 {\
114 114
     DECLARE_ALIGNED(16, uint8_t, halfH)[SIZE*SIZE];\
115 115
     DECLARE_ALIGNED(16, uint8_t, halfV)[SIZE*SIZE];\
... ...
@@ -118,7 +118,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc11_ ## CODETYPE(uint8_t *dst, uint
118 118
     OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfH, halfV, stride, SIZE, SIZE);\
119 119
 }\
120 120
 \
121
-static void OPNAME ## h264_qpel ## SIZE ## _mc31_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
121
+static void OPNAME ## h264_qpel ## SIZE ## _mc31_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
122 122
 {\
123 123
     DECLARE_ALIGNED(16, uint8_t, halfH)[SIZE*SIZE];\
124 124
     DECLARE_ALIGNED(16, uint8_t, halfV)[SIZE*SIZE];\
... ...
@@ -127,7 +127,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc31_ ## CODETYPE(uint8_t *dst, uint
127 127
     OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfH, halfV, stride, SIZE, SIZE);\
128 128
 }\
129 129
 \
130
-static void OPNAME ## h264_qpel ## SIZE ## _mc13_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
130
+static void OPNAME ## h264_qpel ## SIZE ## _mc13_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
131 131
 {\
132 132
     DECLARE_ALIGNED(16, uint8_t, halfH)[SIZE*SIZE];\
133 133
     DECLARE_ALIGNED(16, uint8_t, halfV)[SIZE*SIZE];\
... ...
@@ -136,7 +136,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc13_ ## CODETYPE(uint8_t *dst, uint
136 136
     OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfH, halfV, stride, SIZE, SIZE);\
137 137
 }\
138 138
 \
139
-static void OPNAME ## h264_qpel ## SIZE ## _mc33_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
139
+static void OPNAME ## h264_qpel ## SIZE ## _mc33_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
140 140
 {\
141 141
     DECLARE_ALIGNED(16, uint8_t, halfH)[SIZE*SIZE];\
142 142
     DECLARE_ALIGNED(16, uint8_t, halfV)[SIZE*SIZE];\
... ...
@@ -145,13 +145,13 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc33_ ## CODETYPE(uint8_t *dst, uint
145 145
     OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfH, halfV, stride, SIZE, SIZE);\
146 146
 }\
147 147
 \
148
-static void OPNAME ## h264_qpel ## SIZE ## _mc22_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
148
+static void OPNAME ## h264_qpel ## SIZE ## _mc22_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
149 149
 {\
150 150
     DECLARE_ALIGNED(16, int16_t, tmp)[SIZE*(SIZE+8)];\
151 151
     OPNAME ## h264_qpel ## SIZE ## _hv_lowpass_ ## CODETYPE(dst, tmp, src, stride, SIZE, stride);\
152 152
 }\
153 153
 \
154
-static void OPNAME ## h264_qpel ## SIZE ## _mc21_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
154
+static void OPNAME ## h264_qpel ## SIZE ## _mc21_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
155 155
 {\
156 156
     DECLARE_ALIGNED(16, uint8_t, halfH)[SIZE*SIZE];\
157 157
     DECLARE_ALIGNED(16, uint8_t, halfHV)[SIZE*SIZE];\
... ...
@@ -161,7 +161,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc21_ ## CODETYPE(uint8_t *dst, uint
161 161
     OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfH, halfHV, stride, SIZE, SIZE);\
162 162
 }\
163 163
 \
164
-static void OPNAME ## h264_qpel ## SIZE ## _mc23_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
164
+static void OPNAME ## h264_qpel ## SIZE ## _mc23_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
165 165
 {\
166 166
     DECLARE_ALIGNED(16, uint8_t, halfH)[SIZE*SIZE];\
167 167
     DECLARE_ALIGNED(16, uint8_t, halfHV)[SIZE*SIZE];\
... ...
@@ -171,7 +171,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc23_ ## CODETYPE(uint8_t *dst, uint
171 171
     OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfH, halfHV, stride, SIZE, SIZE);\
172 172
 }\
173 173
 \
174
-static void OPNAME ## h264_qpel ## SIZE ## _mc12_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
174
+static void OPNAME ## h264_qpel ## SIZE ## _mc12_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
175 175
 {\
176 176
     DECLARE_ALIGNED(16, uint8_t, halfV)[SIZE*SIZE];\
177 177
     DECLARE_ALIGNED(16, uint8_t, halfHV)[SIZE*SIZE];\
... ...
@@ -181,7 +181,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc12_ ## CODETYPE(uint8_t *dst, uint
181 181
     OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, halfV, halfHV, stride, SIZE, SIZE);\
182 182
 }\
183 183
 \
184
-static void OPNAME ## h264_qpel ## SIZE ## _mc32_ ## CODETYPE(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
184
+static void OPNAME ## h264_qpel ## SIZE ## _mc32_ ## CODETYPE(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
185 185
 {\
186 186
     DECLARE_ALIGNED(16, uint8_t, halfV)[SIZE*SIZE];\
187 187
     DECLARE_ALIGNED(16, uint8_t, halfHV)[SIZE*SIZE];\
... ...
@@ -28,7 +28,10 @@
28 28
 
29 29
 /* this code assume stride % 16 == 0 */
30 30
 #ifdef PREFIX_h264_qpel16_h_lowpass_altivec
31
-static void PREFIX_h264_qpel16_h_lowpass_altivec(uint8_t * dst, uint8_t * src, int dstStride, int srcStride) {
31
+static void PREFIX_h264_qpel16_h_lowpass_altivec(uint8_t *dst,
32
+                                                 const uint8_t *src,
33
+                                                 int dstStride, int srcStride)
34
+{
32 35
     register int i;
33 36
 
34 37
     LOAD_ZERO;
... ...
@@ -168,7 +171,10 @@ static void PREFIX_h264_qpel16_h_lowpass_altivec(uint8_t * dst, uint8_t * src, i
168 168
 
169 169
 /* this code assume stride % 16 == 0 */
170 170
 #ifdef PREFIX_h264_qpel16_v_lowpass_altivec
171
-static void PREFIX_h264_qpel16_v_lowpass_altivec(uint8_t * dst, uint8_t * src, int dstStride, int srcStride) {
171
+static void PREFIX_h264_qpel16_v_lowpass_altivec(uint8_t *dst,
172
+                                                 const uint8_t *src,
173
+                                                 int dstStride, int srcStride)
174
+{
172 175
     register int i;
173 176
 
174 177
     LOAD_ZERO;
... ...
@@ -178,7 +184,7 @@ static void PREFIX_h264_qpel16_v_lowpass_altivec(uint8_t * dst, uint8_t * src, i
178 178
     const vec_s16 v5ss = vec_splat_s16(5);
179 179
     const vec_s16 v16ss = vec_sl(vec_splat_s16(1),vec_splat_u16(4));
180 180
 
181
-    uint8_t *srcbis = src - (srcStride * 2);
181
+    const uint8_t *srcbis = src - (srcStride * 2);
182 182
 
183 183
     const vec_u8 srcM2a = vec_ld(0, srcbis);
184 184
     const vec_u8 srcM2b = vec_ld(16, srcbis);
... ...
@@ -275,7 +281,11 @@ static void PREFIX_h264_qpel16_v_lowpass_altivec(uint8_t * dst, uint8_t * src, i
275 275
 
276 276
 /* this code assume stride % 16 == 0 *and* tmp is properly aligned */
277 277
 #ifdef PREFIX_h264_qpel16_hv_lowpass_altivec
278
-static void PREFIX_h264_qpel16_hv_lowpass_altivec(uint8_t * dst, int16_t * tmp, uint8_t * src, int dstStride, int tmpStride, int srcStride) {
278
+static void PREFIX_h264_qpel16_hv_lowpass_altivec(uint8_t *dst, int16_t *tmp,
279
+                                                  const uint8_t *src,
280
+                                                  int dstStride, int tmpStride,
281
+                                                  int srcStride)
282
+{
279 283
     register int i;
280 284
     LOAD_ZERO;
281 285
     const vec_u8 permM2 = vec_lvsl(-2, src);
... ...
@@ -37,7 +37,7 @@
37 37
 #include "qpel_template.c"
38 38
 
39 39
 #define QPEL_MC(r, OPNAME, RND, OP)                                           \
40
-static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src,       \
40
+static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, const uint8_t *src, \
41 41
                                             int dstStride, int srcStride,     \
42 42
                                             int h)                            \
43 43
 {                                                                             \
... ...
@@ -58,7 +58,7 @@ static void OPNAME ## mpeg4_qpel8_h_lowpass(uint8_t *dst, uint8_t *src,       \
58 58
     }                                                                         \
59 59
 }                                                                             \
60 60
                                                                               \
61
-static void OPNAME ## mpeg4_qpel8_v_lowpass(uint8_t *dst, uint8_t *src,       \
61
+static void OPNAME ## mpeg4_qpel8_v_lowpass(uint8_t *dst, const uint8_t *src, \
62 62
                                             int dstStride, int srcStride)     \
63 63
 {                                                                             \
64 64
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;                           \
... ...
@@ -88,7 +88,8 @@ static void OPNAME ## mpeg4_qpel8_v_lowpass(uint8_t *dst, uint8_t *src,       \
88 88
     }                                                                         \
89 89
 }                                                                             \
90 90
                                                                               \
91
-static void OPNAME ## mpeg4_qpel16_h_lowpass(uint8_t *dst, uint8_t *src,      \
91
+static void OPNAME ## mpeg4_qpel16_h_lowpass(uint8_t *dst,                    \
92
+                                             const uint8_t *src,              \
92 93
                                              int dstStride, int srcStride,    \
93 94
                                              int h)                           \
94 95
 {                                                                             \
... ...
@@ -117,7 +118,8 @@ static void OPNAME ## mpeg4_qpel16_h_lowpass(uint8_t *dst, uint8_t *src,      \
117 117
     }                                                                         \
118 118
 }                                                                             \
119 119
                                                                               \
120
-static void OPNAME ## mpeg4_qpel16_v_lowpass(uint8_t *dst, uint8_t *src,      \
120
+static void OPNAME ## mpeg4_qpel16_v_lowpass(uint8_t *dst,                    \
121
+                                             const uint8_t *src,              \
121 122
                                              int dstStride, int srcStride)    \
122 123
 {                                                                             \
123 124
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;                           \
... ...
@@ -163,7 +165,7 @@ static void OPNAME ## mpeg4_qpel16_v_lowpass(uint8_t *dst, uint8_t *src,      \
163 163
     }                                                                         \
164 164
 }                                                                             \
165 165
                                                                               \
166
-static void OPNAME ## qpel8_mc10_c(uint8_t *dst, uint8_t *src,                \
166
+static void OPNAME ## qpel8_mc10_c(uint8_t *dst, const uint8_t *src,          \
167 167
                                    ptrdiff_t stride)                          \
168 168
 {                                                                             \
169 169
     uint8_t half[64];                                                         \
... ...
@@ -172,13 +174,13 @@ static void OPNAME ## qpel8_mc10_c(uint8_t *dst, uint8_t *src,                \
172 172
     OPNAME ## pixels8_l2_8(dst, src, half, stride, stride, 8, 8);             \
173 173
 }                                                                             \
174 174
                                                                               \
175
-static void OPNAME ## qpel8_mc20_c(uint8_t *dst, uint8_t *src,                \
175
+static void OPNAME ## qpel8_mc20_c(uint8_t *dst, const uint8_t *src,          \
176 176
                                    ptrdiff_t stride)                          \
177 177
 {                                                                             \
178 178
     OPNAME ## mpeg4_qpel8_h_lowpass(dst, src, stride, stride, 8);             \
179 179
 }                                                                             \
180 180
                                                                               \
181
-static void OPNAME ## qpel8_mc30_c(uint8_t *dst, uint8_t *src,                \
181
+static void OPNAME ## qpel8_mc30_c(uint8_t *dst, const uint8_t *src,          \
182 182
                                    ptrdiff_t stride)                          \
183 183
 {                                                                             \
184 184
     uint8_t half[64];                                                         \
... ...
@@ -187,7 +189,7 @@ static void OPNAME ## qpel8_mc30_c(uint8_t *dst, uint8_t *src,                \
187 187
     OPNAME ## pixels8_l2_8(dst, src + 1, half, stride, stride, 8, 8);         \
188 188
 }                                                                             \
189 189
                                                                               \
190
-static void OPNAME ## qpel8_mc01_c(uint8_t *dst, uint8_t *src,                \
190
+static void OPNAME ## qpel8_mc01_c(uint8_t *dst, const uint8_t *src,          \
191 191
                                    ptrdiff_t stride)                          \
192 192
 {                                                                             \
193 193
     uint8_t full[16 * 9];                                                     \
... ...
@@ -198,7 +200,7 @@ static void OPNAME ## qpel8_mc01_c(uint8_t *dst, uint8_t *src,                \
198 198
     OPNAME ## pixels8_l2_8(dst, full, half, stride, 16, 8, 8);                \
199 199
 }                                                                             \
200 200
                                                                               \
201
-static void OPNAME ## qpel8_mc02_c(uint8_t *dst, uint8_t *src,                \
201
+static void OPNAME ## qpel8_mc02_c(uint8_t *dst, const uint8_t *src,          \
202 202
                                    ptrdiff_t stride)                          \
203 203
 {                                                                             \
204 204
     uint8_t full[16 * 9];                                                     \
... ...
@@ -207,7 +209,7 @@ static void OPNAME ## qpel8_mc02_c(uint8_t *dst, uint8_t *src,                \
207 207
     OPNAME ## mpeg4_qpel8_v_lowpass(dst, full, stride, 16);                   \
208 208
 }                                                                             \
209 209
                                                                               \
210
-static void OPNAME ## qpel8_mc03_c(uint8_t *dst, uint8_t *src,                \
210
+static void OPNAME ## qpel8_mc03_c(uint8_t *dst, const uint8_t *src,          \
211 211
                                    ptrdiff_t stride)                          \
212 212
 {                                                                             \
213 213
     uint8_t full[16 * 9];                                                     \
... ...
@@ -218,7 +220,7 @@ static void OPNAME ## qpel8_mc03_c(uint8_t *dst, uint8_t *src,                \
218 218
     OPNAME ## pixels8_l2_8(dst, full + 16, half, stride, 16, 8, 8);           \
219 219
 }                                                                             \
220 220
                                                                               \
221
-void ff_ ## OPNAME ## qpel8_mc11_old_c(uint8_t *dst, uint8_t *src,            \
221
+void ff_ ## OPNAME ## qpel8_mc11_old_c(uint8_t *dst, const uint8_t *src,      \
222 222
                                        ptrdiff_t stride)                      \
223 223
 {                                                                             \
224 224
     uint8_t full[16 * 9];                                                     \
... ...
@@ -234,7 +236,7 @@ void ff_ ## OPNAME ## qpel8_mc11_old_c(uint8_t *dst, uint8_t *src,            \
234 234
                            stride, 16, 8, 8, 8, 8);                           \
235 235
 }                                                                             \
236 236
                                                                               \
237
-static void OPNAME ## qpel8_mc11_c(uint8_t *dst, uint8_t *src,                \
237
+static void OPNAME ## qpel8_mc11_c(uint8_t *dst, const uint8_t *src,          \
238 238
                                    ptrdiff_t stride)                          \
239 239
 {                                                                             \
240 240
     uint8_t full[16 * 9];                                                     \
... ...
@@ -248,7 +250,7 @@ static void OPNAME ## qpel8_mc11_c(uint8_t *dst, uint8_t *src,                \
248 248
     OPNAME ## pixels8_l2_8(dst, halfH, halfHV, stride, 8, 8, 8);              \
249 249
 }                                                                             \
250 250
                                                                               \
251
-void ff_ ## OPNAME ## qpel8_mc31_old_c(uint8_t *dst, uint8_t *src,            \
251
+void ff_ ## OPNAME ## qpel8_mc31_old_c(uint8_t *dst, const uint8_t *src,      \
252 252
                                        ptrdiff_t stride)                      \
253 253
 {                                                                             \
254 254
     uint8_t full[16 * 9];                                                     \
... ...
@@ -264,7 +266,7 @@ void ff_ ## OPNAME ## qpel8_mc31_old_c(uint8_t *dst, uint8_t *src,            \
264 264
                            stride, 16, 8, 8, 8, 8);                           \
265 265
 }                                                                             \
266 266
                                                                               \
267
-static void OPNAME ## qpel8_mc31_c(uint8_t *dst, uint8_t *src,                \
267
+static void OPNAME ## qpel8_mc31_c(uint8_t *dst, const uint8_t *src,          \
268 268
                                    ptrdiff_t stride)                          \
269 269
 {                                                                             \
270 270
     uint8_t full[16 * 9];                                                     \
... ...
@@ -278,7 +280,7 @@ static void OPNAME ## qpel8_mc31_c(uint8_t *dst, uint8_t *src,                \
278 278
     OPNAME ## pixels8_l2_8(dst, halfH, halfHV, stride, 8, 8, 8);              \
279 279
 }                                                                             \
280 280
                                                                               \
281
-void ff_ ## OPNAME ## qpel8_mc13_old_c(uint8_t *dst, uint8_t *src,            \
281
+void ff_ ## OPNAME ## qpel8_mc13_old_c(uint8_t *dst, const uint8_t *src,      \
282 282
                                        ptrdiff_t stride)                      \
283 283
 {                                                                             \
284 284
     uint8_t full[16 * 9];                                                     \
... ...
@@ -294,7 +296,7 @@ void ff_ ## OPNAME ## qpel8_mc13_old_c(uint8_t *dst, uint8_t *src,            \
294 294
                            stride, 16, 8, 8, 8, 8);                           \
295 295
 }                                                                             \
296 296
                                                                               \
297
-static void OPNAME ## qpel8_mc13_c(uint8_t *dst, uint8_t *src,                \
297
+static void OPNAME ## qpel8_mc13_c(uint8_t *dst, const uint8_t *src,    \
298 298
                                    ptrdiff_t stride)                          \
299 299
 {                                                                             \
300 300
     uint8_t full[16 * 9];                                                     \
... ...
@@ -308,7 +310,7 @@ static void OPNAME ## qpel8_mc13_c(uint8_t *dst, uint8_t *src,                \
308 308
     OPNAME ## pixels8_l2_8(dst, halfH + 8, halfHV, stride, 8, 8, 8);          \
309 309
 }                                                                             \
310 310
                                                                               \
311
-void ff_ ## OPNAME ## qpel8_mc33_old_c(uint8_t *dst, uint8_t *src,            \
311
+void ff_ ## OPNAME ## qpel8_mc33_old_c(uint8_t *dst, const uint8_t *src,      \
312 312
                                        ptrdiff_t stride)                      \
313 313
 {                                                                             \
314 314
     uint8_t full[16 * 9];                                                     \
... ...
@@ -324,7 +326,7 @@ void ff_ ## OPNAME ## qpel8_mc33_old_c(uint8_t *dst, uint8_t *src,            \
324 324
                            stride, 16, 8, 8, 8, 8);                           \
325 325
 }                                                                             \
326 326
                                                                               \
327
-static void OPNAME ## qpel8_mc33_c(uint8_t *dst, uint8_t *src,                \
327
+static void OPNAME ## qpel8_mc33_c(uint8_t *dst, const uint8_t *src,          \
328 328
                                    ptrdiff_t stride)                          \
329 329
 {                                                                             \
330 330
     uint8_t full[16 * 9];                                                     \
... ...
@@ -338,7 +340,7 @@ static void OPNAME ## qpel8_mc33_c(uint8_t *dst, uint8_t *src,                \
338 338
     OPNAME ## pixels8_l2_8(dst, halfH + 8, halfHV, stride, 8, 8, 8);          \
339 339
 }                                                                             \
340 340
                                                                               \
341
-static void OPNAME ## qpel8_mc21_c(uint8_t *dst, uint8_t *src,                \
341
+static void OPNAME ## qpel8_mc21_c(uint8_t *dst, const uint8_t *src,          \
342 342
                                    ptrdiff_t stride)                          \
343 343
 {                                                                             \
344 344
     uint8_t halfH[72];                                                        \
... ...
@@ -349,7 +351,7 @@ static void OPNAME ## qpel8_mc21_c(uint8_t *dst, uint8_t *src,                \
349 349
     OPNAME ## pixels8_l2_8(dst, halfH, halfHV, stride, 8, 8, 8);              \
350 350
 }                                                                             \
351 351
                                                                               \
352
-static void OPNAME ## qpel8_mc23_c(uint8_t *dst, uint8_t *src,                \
352
+static void OPNAME ## qpel8_mc23_c(uint8_t *dst, const uint8_t *src,          \
353 353
                                    ptrdiff_t stride)                          \
354 354
 {                                                                             \
355 355
     uint8_t halfH[72];                                                        \
... ...
@@ -360,7 +362,7 @@ static void OPNAME ## qpel8_mc23_c(uint8_t *dst, uint8_t *src,                \
360 360
     OPNAME ## pixels8_l2_8(dst, halfH + 8, halfHV, stride, 8, 8, 8);          \
361 361
 }                                                                             \
362 362
                                                                               \
363
-void ff_ ## OPNAME ## qpel8_mc12_old_c(uint8_t *dst, uint8_t *src,            \
363
+void ff_ ## OPNAME ## qpel8_mc12_old_c(uint8_t *dst, const uint8_t *src,      \
364 364
                                        ptrdiff_t stride)                      \
365 365
 {                                                                             \
366 366
     uint8_t full[16 * 9];                                                     \
... ...
@@ -375,7 +377,7 @@ void ff_ ## OPNAME ## qpel8_mc12_old_c(uint8_t *dst, uint8_t *src,            \
375 375
     OPNAME ## pixels8_l2_8(dst, halfV, halfHV, stride, 8, 8, 8);              \
376 376
 }                                                                             \
377 377
                                                                               \
378
-static void OPNAME ## qpel8_mc12_c(uint8_t *dst, uint8_t *src,                \
378
+static void OPNAME ## qpel8_mc12_c(uint8_t *dst, const uint8_t *src,          \
379 379
                                    ptrdiff_t stride)                          \
380 380
 {                                                                             \
381 381
     uint8_t full[16 * 9];                                                     \
... ...
@@ -387,7 +389,7 @@ static void OPNAME ## qpel8_mc12_c(uint8_t *dst, uint8_t *src,                \
387 387
     OPNAME ## mpeg4_qpel8_v_lowpass(dst, halfH, stride, 8);                   \
388 388
 }                                                                             \
389 389
                                                                               \
390
-void ff_ ## OPNAME ## qpel8_mc32_old_c(uint8_t *dst, uint8_t *src,            \
390
+void ff_ ## OPNAME ## qpel8_mc32_old_c(uint8_t *dst, const uint8_t *src,      \
391 391
                                        ptrdiff_t stride)                      \
392 392
 {                                                                             \
393 393
     uint8_t full[16 * 9];                                                     \
... ...
@@ -402,7 +404,7 @@ void ff_ ## OPNAME ## qpel8_mc32_old_c(uint8_t *dst, uint8_t *src,            \
402 402
     OPNAME ## pixels8_l2_8(dst, halfV, halfHV, stride, 8, 8, 8);              \
403 403
 }                                                                             \
404 404
                                                                               \
405
-static void OPNAME ## qpel8_mc32_c(uint8_t *dst, uint8_t *src,                \
405
+static void OPNAME ## qpel8_mc32_c(uint8_t *dst, const uint8_t *src,          \
406 406
                                    ptrdiff_t stride)                          \
407 407
 {                                                                             \
408 408
     uint8_t full[16 * 9];                                                     \
... ...
@@ -414,7 +416,7 @@ static void OPNAME ## qpel8_mc32_c(uint8_t *dst, uint8_t *src,                \
414 414
     OPNAME ## mpeg4_qpel8_v_lowpass(dst, halfH, stride, 8);                   \
415 415
 }                                                                             \
416 416
                                                                               \
417
-static void OPNAME ## qpel8_mc22_c(uint8_t *dst, uint8_t *src,                \
417
+static void OPNAME ## qpel8_mc22_c(uint8_t *dst, const uint8_t *src,          \
418 418
                                    ptrdiff_t stride)                          \
419 419
 {                                                                             \
420 420
     uint8_t halfH[72];                                                        \
... ...
@@ -423,7 +425,7 @@ static void OPNAME ## qpel8_mc22_c(uint8_t *dst, uint8_t *src,                \
423 423
     OPNAME ## mpeg4_qpel8_v_lowpass(dst, halfH, stride, 8);                   \
424 424
 }                                                                             \
425 425
                                                                               \
426
-static void OPNAME ## qpel16_mc10_c(uint8_t *dst, uint8_t *src,               \
426
+static void OPNAME ## qpel16_mc10_c(uint8_t *dst, const uint8_t *src,         \
427 427
                                     ptrdiff_t stride)                         \
428 428
 {                                                                             \
429 429
     uint8_t half[256];                                                        \
... ...
@@ -432,13 +434,13 @@ static void OPNAME ## qpel16_mc10_c(uint8_t *dst, uint8_t *src,               \
432 432
     OPNAME ## pixels16_l2_8(dst, src, half, stride, stride, 16, 16);          \
433 433
 }                                                                             \
434 434
                                                                               \
435
-static void OPNAME ## qpel16_mc20_c(uint8_t *dst, uint8_t *src,               \
435
+static void OPNAME ## qpel16_mc20_c(uint8_t *dst, const uint8_t *src,         \
436 436
                                     ptrdiff_t stride)                         \
437 437
 {                                                                             \
438 438
     OPNAME ## mpeg4_qpel16_h_lowpass(dst, src, stride, stride, 16);           \
439 439
 }                                                                             \
440 440
                                                                               \
441
-static void OPNAME ## qpel16_mc30_c(uint8_t *dst, uint8_t *src,               \
441
+static void OPNAME ## qpel16_mc30_c(uint8_t *dst, const uint8_t *src,         \
442 442
                                     ptrdiff_t stride)                         \
443 443
 {                                                                             \
444 444
     uint8_t half[256];                                                        \
... ...
@@ -447,7 +449,7 @@ static void OPNAME ## qpel16_mc30_c(uint8_t *dst, uint8_t *src,               \
447 447
     OPNAME ## pixels16_l2_8(dst, src + 1, half, stride, stride, 16, 16);      \
448 448
 }                                                                             \
449 449
                                                                               \
450
-static void OPNAME ## qpel16_mc01_c(uint8_t *dst, uint8_t *src,               \
450
+static void OPNAME ## qpel16_mc01_c(uint8_t *dst, const uint8_t *src,         \
451 451
                                     ptrdiff_t stride)                         \
452 452
 {                                                                             \
453 453
     uint8_t full[24 * 17];                                                    \
... ...
@@ -458,7 +460,7 @@ static void OPNAME ## qpel16_mc01_c(uint8_t *dst, uint8_t *src,               \
458 458
     OPNAME ## pixels16_l2_8(dst, full, half, stride, 24, 16, 16);             \
459 459
 }                                                                             \
460 460
                                                                               \
461
-static void OPNAME ## qpel16_mc02_c(uint8_t *dst, uint8_t *src,               \
461
+static void OPNAME ## qpel16_mc02_c(uint8_t *dst, const uint8_t *src,         \
462 462
                                     ptrdiff_t stride)                         \
463 463
 {                                                                             \
464 464
     uint8_t full[24 * 17];                                                    \
... ...
@@ -467,7 +469,7 @@ static void OPNAME ## qpel16_mc02_c(uint8_t *dst, uint8_t *src,               \
467 467
     OPNAME ## mpeg4_qpel16_v_lowpass(dst, full, stride, 24);                  \
468 468
 }                                                                             \
469 469
                                                                               \
470
-static void OPNAME ## qpel16_mc03_c(uint8_t *dst, uint8_t *src,               \
470
+static void OPNAME ## qpel16_mc03_c(uint8_t *dst, const uint8_t *src,         \
471 471
                                     ptrdiff_t stride)                         \
472 472
 {                                                                             \
473 473
     uint8_t full[24 * 17];                                                    \
... ...
@@ -478,7 +480,7 @@ static void OPNAME ## qpel16_mc03_c(uint8_t *dst, uint8_t *src,               \
478 478
     OPNAME ## pixels16_l2_8(dst, full + 24, half, stride, 24, 16, 16);        \
479 479
 }                                                                             \
480 480
                                                                               \
481
-void ff_ ## OPNAME ## qpel16_mc11_old_c(uint8_t *dst, uint8_t *src,           \
481
+void ff_ ## OPNAME ## qpel16_mc11_old_c(uint8_t *dst, const uint8_t *src,     \
482 482
                                         ptrdiff_t stride)                     \
483 483
 {                                                                             \
484 484
     uint8_t full[24 * 17];                                                    \
... ...
@@ -494,7 +496,7 @@ void ff_ ## OPNAME ## qpel16_mc11_old_c(uint8_t *dst, uint8_t *src,           \
494 494
                             stride, 24, 16, 16, 16, 16);                      \
495 495
 }                                                                             \
496 496
                                                                               \
497
-static void OPNAME ## qpel16_mc11_c(uint8_t *dst, uint8_t *src,               \
497
+static void OPNAME ## qpel16_mc11_c(uint8_t *dst, const uint8_t *src,         \
498 498
                                     ptrdiff_t stride)                         \
499 499
 {                                                                             \
500 500
     uint8_t full[24 * 17];                                                    \
... ...
@@ -508,7 +510,7 @@ static void OPNAME ## qpel16_mc11_c(uint8_t *dst, uint8_t *src,               \
508 508
     OPNAME ## pixels16_l2_8(dst, halfH, halfHV, stride, 16, 16, 16);          \
509 509
 }                                                                             \
510 510
                                                                               \
511
-void ff_ ## OPNAME ## qpel16_mc31_old_c(uint8_t *dst, uint8_t *src,           \
511
+void ff_ ## OPNAME ## qpel16_mc31_old_c(uint8_t *dst, const uint8_t *src,     \
512 512
                                         ptrdiff_t stride)                     \
513 513
 {                                                                             \
514 514
     uint8_t full[24 * 17];                                                    \
... ...
@@ -524,7 +526,7 @@ void ff_ ## OPNAME ## qpel16_mc31_old_c(uint8_t *dst, uint8_t *src,           \
524 524
                             stride, 24, 16, 16, 16, 16);                      \
525 525
 }                                                                             \
526 526
                                                                               \
527
-static void OPNAME ## qpel16_mc31_c(uint8_t *dst, uint8_t *src,               \
527
+static void OPNAME ## qpel16_mc31_c(uint8_t *dst, const uint8_t *src,         \
528 528
                                     ptrdiff_t stride)                         \
529 529
 {                                                                             \
530 530
     uint8_t full[24 * 17];                                                    \
... ...
@@ -538,7 +540,7 @@ static void OPNAME ## qpel16_mc31_c(uint8_t *dst, uint8_t *src,               \
538 538
     OPNAME ## pixels16_l2_8(dst, halfH, halfHV, stride, 16, 16, 16);          \
539 539
 }                                                                             \
540 540
                                                                               \
541
-void ff_ ## OPNAME ## qpel16_mc13_old_c(uint8_t *dst, uint8_t *src,           \
541
+void ff_ ## OPNAME ## qpel16_mc13_old_c(uint8_t *dst, const uint8_t *src,     \
542 542
                                         ptrdiff_t stride)                     \
543 543
 {                                                                             \
544 544
     uint8_t full[24 * 17];                                                    \
... ...
@@ -554,7 +556,7 @@ void ff_ ## OPNAME ## qpel16_mc13_old_c(uint8_t *dst, uint8_t *src,           \
554 554
                             stride, 24, 16, 16, 16, 16);                      \
555 555
 }                                                                             \
556 556
                                                                               \
557
-static void OPNAME ## qpel16_mc13_c(uint8_t *dst, uint8_t *src,               \
557
+static void OPNAME ## qpel16_mc13_c(uint8_t *dst, const uint8_t *src,         \
558 558
                                     ptrdiff_t stride)                         \
559 559
 {                                                                             \
560 560
     uint8_t full[24 * 17];                                                    \
... ...
@@ -568,7 +570,7 @@ static void OPNAME ## qpel16_mc13_c(uint8_t *dst, uint8_t *src,               \
568 568
     OPNAME ## pixels16_l2_8(dst, halfH + 16, halfHV, stride, 16, 16, 16);     \
569 569
 }                                                                             \
570 570
                                                                               \
571
-void ff_ ## OPNAME ## qpel16_mc33_old_c(uint8_t *dst, uint8_t *src,           \
571
+void ff_ ## OPNAME ## qpel16_mc33_old_c(uint8_t *dst, const uint8_t *src,     \
572 572
                                         ptrdiff_t stride)                     \
573 573
 {                                                                             \
574 574
     uint8_t full[24 * 17];                                                    \
... ...
@@ -584,7 +586,7 @@ void ff_ ## OPNAME ## qpel16_mc33_old_c(uint8_t *dst, uint8_t *src,           \
584 584
                             stride, 24, 16, 16, 16, 16);                      \
585 585
 }                                                                             \
586 586
                                                                               \
587
-static void OPNAME ## qpel16_mc33_c(uint8_t *dst, uint8_t *src,               \
587
+static void OPNAME ## qpel16_mc33_c(uint8_t *dst, const uint8_t *src,         \
588 588
                                     ptrdiff_t stride)                         \
589 589
 {                                                                             \
590 590
     uint8_t full[24 * 17];                                                    \
... ...
@@ -598,7 +600,7 @@ static void OPNAME ## qpel16_mc33_c(uint8_t *dst, uint8_t *src,               \
598 598
     OPNAME ## pixels16_l2_8(dst, halfH + 16, halfHV, stride, 16, 16, 16);     \
599 599
 }                                                                             \
600 600
                                                                               \
601
-static void OPNAME ## qpel16_mc21_c(uint8_t *dst, uint8_t *src,               \
601
+static void OPNAME ## qpel16_mc21_c(uint8_t *dst, const uint8_t *src,         \
602 602
                                     ptrdiff_t stride)                         \
603 603
 {                                                                             \
604 604
     uint8_t halfH[272];                                                       \
... ...
@@ -609,7 +611,7 @@ static void OPNAME ## qpel16_mc21_c(uint8_t *dst, uint8_t *src,               \
609 609
     OPNAME ## pixels16_l2_8(dst, halfH, halfHV, stride, 16, 16, 16);          \
610 610
 }                                                                             \
611 611
                                                                               \
612
-static void OPNAME ## qpel16_mc23_c(uint8_t *dst, uint8_t *src,               \
612
+static void OPNAME ## qpel16_mc23_c(uint8_t *dst, const uint8_t *src,         \
613 613
                                     ptrdiff_t stride)                         \
614 614
 {                                                                             \
615 615
     uint8_t halfH[272];                                                       \
... ...
@@ -620,7 +622,7 @@ static void OPNAME ## qpel16_mc23_c(uint8_t *dst, uint8_t *src,               \
620 620
     OPNAME ## pixels16_l2_8(dst, halfH + 16, halfHV, stride, 16, 16, 16);     \
621 621
 }                                                                             \
622 622
                                                                               \
623
-void ff_ ## OPNAME ## qpel16_mc12_old_c(uint8_t *dst, uint8_t *src,           \
623
+void ff_ ## OPNAME ## qpel16_mc12_old_c(uint8_t *dst, const uint8_t *src,     \
624 624
                                         ptrdiff_t stride)                     \
625 625
 {                                                                             \
626 626
     uint8_t full[24 * 17];                                                    \
... ...
@@ -635,7 +637,7 @@ void ff_ ## OPNAME ## qpel16_mc12_old_c(uint8_t *dst, uint8_t *src,           \
635 635
     OPNAME ## pixels16_l2_8(dst, halfV, halfHV, stride, 16, 16, 16);          \
636 636
 }                                                                             \
637 637
                                                                               \
638
-static void OPNAME ## qpel16_mc12_c(uint8_t *dst, uint8_t *src,               \
638
+static void OPNAME ## qpel16_mc12_c(uint8_t *dst, const uint8_t *src,         \
639 639
                                     ptrdiff_t stride)                         \
640 640
 {                                                                             \
641 641
     uint8_t full[24 * 17];                                                    \
... ...
@@ -647,7 +649,7 @@ static void OPNAME ## qpel16_mc12_c(uint8_t *dst, uint8_t *src,               \
647 647
     OPNAME ## mpeg4_qpel16_v_lowpass(dst, halfH, stride, 16);                 \
648 648
 }                                                                             \
649 649
                                                                               \
650
-void ff_ ## OPNAME ## qpel16_mc32_old_c(uint8_t *dst, uint8_t *src,           \
650
+void ff_ ## OPNAME ## qpel16_mc32_old_c(uint8_t *dst, const uint8_t *src,     \
651 651
                                         ptrdiff_t stride)                     \
652 652
 {                                                                             \
653 653
     uint8_t full[24 * 17];                                                    \
... ...
@@ -662,7 +664,7 @@ void ff_ ## OPNAME ## qpel16_mc32_old_c(uint8_t *dst, uint8_t *src,           \
662 662
     OPNAME ## pixels16_l2_8(dst, halfV, halfHV, stride, 16, 16, 16);          \
663 663
 }                                                                             \
664 664
                                                                               \
665
-static void OPNAME ## qpel16_mc32_c(uint8_t *dst, uint8_t *src,               \
665
+static void OPNAME ## qpel16_mc32_c(uint8_t *dst, const uint8_t *src,         \
666 666
                                     ptrdiff_t stride)                         \
667 667
 {                                                                             \
668 668
     uint8_t full[24 * 17];                                                    \
... ...
@@ -674,7 +676,7 @@ static void OPNAME ## qpel16_mc32_c(uint8_t *dst, uint8_t *src,               \
674 674
     OPNAME ## mpeg4_qpel16_v_lowpass(dst, halfH, stride, 16);                 \
675 675
 }                                                                             \
676 676
                                                                               \
677
-static void OPNAME ## qpel16_mc22_c(uint8_t *dst, uint8_t *src,               \
677
+static void OPNAME ## qpel16_mc22_c(uint8_t *dst, const uint8_t *src,         \
678 678
                                     ptrdiff_t stride)                         \
679 679
 {                                                                             \
680 680
     uint8_t halfH[272];                                                       \
... ...
@@ -695,22 +697,22 @@ QPEL_MC(0, avg_, _, op_avg)
695 695
 #undef op_put
696 696
 #undef op_put_no_rnd
697 697
 
698
-void ff_put_pixels8x8_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
698
+void ff_put_pixels8x8_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
699 699
 {
700 700
     put_pixels8_8_c(dst, src, stride, 8);
701 701
 }
702 702
 
703
-void ff_avg_pixels8x8_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
703
+void ff_avg_pixels8x8_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
704 704
 {
705 705
     avg_pixels8_8_c(dst, src, stride, 8);
706 706
 }
707 707
 
708
-void ff_put_pixels16x16_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
708
+void ff_put_pixels16x16_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
709 709
 {
710 710
     put_pixels16_8_c(dst, src, stride, 16);
711 711
 }
712 712
 
713
-void ff_avg_pixels16x16_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
713
+void ff_avg_pixels16x16_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
714 714
 {
715 715
     avg_pixels16_8_c(dst, src, stride, 16);
716 716
 }
... ...
@@ -29,22 +29,25 @@
29 29
 #include <stddef.h>
30 30
 #include <stdint.h>
31 31
 
32
-void ff_put_pixels8x8_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride);
33
-void ff_avg_pixels8x8_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride);
34
-void ff_put_pixels16x16_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride);
35
-void ff_avg_pixels16x16_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride);
32
+void ff_put_pixels8x8_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
33
+void ff_avg_pixels8x8_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
34
+void ff_put_pixels16x16_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
35
+void ff_avg_pixels16x16_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
36 36
 
37 37
 void ff_put_pixels8_l2_8(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
38 38
                          int dst_stride, int src_stride1, int src_stride2,
39 39
                          int h);
40 40
 
41
-#define DEF_OLD_QPEL(name)                                                     \
42
-    void ff_put_        ## name(uint8_t *dst /* align width (8 or 16) */,      \
43
-                                uint8_t *src /* align 1 */, ptrdiff_t stride); \
44
-    void ff_put_no_rnd_ ## name(uint8_t *dst /* align width (8 or 16) */,      \
45
-                                uint8_t *src /* align 1 */, ptrdiff_t stride); \
46
-    void ff_avg_        ## name(uint8_t *dst /* align width (8 or 16) */,      \
47
-                                uint8_t *src /* align 1 */, ptrdiff_t stride);
41
+#define DEF_OLD_QPEL(name)                                              \
42
+void ff_put_        ## name(uint8_t *dst /* align width (8 or 16) */,   \
43
+                            const uint8_t *src /* align 1 */,           \
44
+                            ptrdiff_t stride);                          \
45
+void ff_put_no_rnd_ ## name(uint8_t *dst /* align width (8 or 16) */,   \
46
+                            const uint8_t *src /* align 1 */,           \
47
+                            ptrdiff_t stride);                          \
48
+void ff_avg_        ## name(uint8_t *dst /* align width (8 or 16) */,   \
49
+                            const uint8_t *src /* align 1 */,           \
50
+                            ptrdiff_t stride);
48 51
 
49 52
 DEF_OLD_QPEL(qpel16_mc11_old_c)
50 53
 DEF_OLD_QPEL(qpel16_mc31_old_c)
... ...
@@ -60,7 +63,8 @@ DEF_OLD_QPEL(qpel8_mc13_old_c)
60 60
 DEF_OLD_QPEL(qpel8_mc33_old_c)
61 61
 
62 62
 typedef void (*qpel_mc_func)(uint8_t *dst /* align width (8 or 16) */,
63
-                             uint8_t *src /* align 1 */, ptrdiff_t stride);
63
+                             const uint8_t *src /* align 1 */,
64
+                             ptrdiff_t stride);
64 65
 
65 66
 /**
66 67
  * quarterpel DSP context
... ...
@@ -31,7 +31,7 @@
31 31
 #include "rv34dsp.h"
32 32
 
33 33
 #define RV30_LOWPASS(OPNAME, OP) \
34
-static av_unused void OPNAME ## rv30_tpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
34
+static av_unused void OPNAME ## rv30_tpel8_h_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
35 35
     const int h = 8;\
36 36
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
37 37
     int i;\
... ...
@@ -50,7 +50,7 @@ static av_unused void OPNAME ## rv30_tpel8_h_lowpass(uint8_t *dst, uint8_t *src,
50 50
     }\
51 51
 }\
52 52
 \
53
-static void OPNAME ## rv30_tpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
53
+static void OPNAME ## rv30_tpel8_v_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
54 54
     const int w = 8;\
55 55
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
56 56
     int i;\
... ...
@@ -80,7 +80,7 @@ static void OPNAME ## rv30_tpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstSt
80 80
     }\
81 81
 }\
82 82
 \
83
-static void OPNAME ## rv30_tpel8_hv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
83
+static void OPNAME ## rv30_tpel8_hv_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
84 84
     const int w = 8;\
85 85
     const int h = 8;\
86 86
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
... ...
@@ -99,7 +99,7 @@ static void OPNAME ## rv30_tpel8_hv_lowpass(uint8_t *dst, uint8_t *src, int dstS
99 99
     }\
100 100
 }\
101 101
 \
102
-static void OPNAME ## rv30_tpel8_hhv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
102
+static void OPNAME ## rv30_tpel8_hhv_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
103 103
     const int w = 8;\
104 104
     const int h = 8;\
105 105
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
... ...
@@ -118,7 +118,7 @@ static void OPNAME ## rv30_tpel8_hhv_lowpass(uint8_t *dst, uint8_t *src, int dst
118 118
     }\
119 119
 }\
120 120
 \
121
-static void OPNAME ## rv30_tpel8_hvv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
121
+static void OPNAME ## rv30_tpel8_hvv_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
122 122
     const int w = 8;\
123 123
     const int h = 8;\
124 124
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
... ...
@@ -137,7 +137,7 @@ static void OPNAME ## rv30_tpel8_hvv_lowpass(uint8_t *dst, uint8_t *src, int dst
137 137
     }\
138 138
 }\
139 139
 \
140
-static void OPNAME ## rv30_tpel8_hhvv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
140
+static void OPNAME ## rv30_tpel8_hhvv_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
141 141
     const int w = 8;\
142 142
     const int h = 8;\
143 143
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
... ...
@@ -155,7 +155,7 @@ static void OPNAME ## rv30_tpel8_hhvv_lowpass(uint8_t *dst, uint8_t *src, int ds
155 155
     }\
156 156
 }\
157 157
 \
158
-static void OPNAME ## rv30_tpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
158
+static void OPNAME ## rv30_tpel16_v_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
159 159
     OPNAME ## rv30_tpel8_v_lowpass(dst  , src  , dstStride, srcStride, C1, C2);\
160 160
     OPNAME ## rv30_tpel8_v_lowpass(dst+8, src+8, dstStride, srcStride, C1, C2);\
161 161
     src += 8*srcStride;\
... ...
@@ -164,7 +164,7 @@ static void OPNAME ## rv30_tpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dstS
164 164
     OPNAME ## rv30_tpel8_v_lowpass(dst+8, src+8, dstStride, srcStride, C1, C2);\
165 165
 }\
166 166
 \
167
-static void OPNAME ## rv30_tpel16_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
167
+static void OPNAME ## rv30_tpel16_h_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, const int C1, const int C2){\
168 168
     OPNAME ## rv30_tpel8_h_lowpass(dst  , src  , dstStride, srcStride, C1, C2);\
169 169
     OPNAME ## rv30_tpel8_h_lowpass(dst+8, src+8, dstStride, srcStride, C1, C2);\
170 170
     src += 8*srcStride;\
... ...
@@ -173,7 +173,7 @@ static void OPNAME ## rv30_tpel16_h_lowpass(uint8_t *dst, uint8_t *src, int dstS
173 173
     OPNAME ## rv30_tpel8_h_lowpass(dst+8, src+8, dstStride, srcStride, C1, C2);\
174 174
 }\
175 175
 \
176
-static void OPNAME ## rv30_tpel16_hv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
176
+static void OPNAME ## rv30_tpel16_hv_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
177 177
     OPNAME ## rv30_tpel8_hv_lowpass(dst  , src  , dstStride, srcStride);\
178 178
     OPNAME ## rv30_tpel8_hv_lowpass(dst+8, src+8, dstStride, srcStride);\
179 179
     src += 8*srcStride;\
... ...
@@ -182,7 +182,7 @@ static void OPNAME ## rv30_tpel16_hv_lowpass(uint8_t *dst, uint8_t *src, int dst
182 182
     OPNAME ## rv30_tpel8_hv_lowpass(dst+8, src+8, dstStride, srcStride);\
183 183
 }\
184 184
 \
185
-static void OPNAME ## rv30_tpel16_hhv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
185
+static void OPNAME ## rv30_tpel16_hhv_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
186 186
     OPNAME ## rv30_tpel8_hhv_lowpass(dst  , src  , dstStride, srcStride);\
187 187
     OPNAME ## rv30_tpel8_hhv_lowpass(dst+8, src+8, dstStride, srcStride);\
188 188
     src += 8*srcStride;\
... ...
@@ -191,7 +191,7 @@ static void OPNAME ## rv30_tpel16_hhv_lowpass(uint8_t *dst, uint8_t *src, int ds
191 191
     OPNAME ## rv30_tpel8_hhv_lowpass(dst+8, src+8, dstStride, srcStride);\
192 192
 }\
193 193
 \
194
-static void OPNAME ## rv30_tpel16_hvv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
194
+static void OPNAME ## rv30_tpel16_hvv_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
195 195
     OPNAME ## rv30_tpel8_hvv_lowpass(dst  , src  , dstStride, srcStride);\
196 196
     OPNAME ## rv30_tpel8_hvv_lowpass(dst+8, src+8, dstStride, srcStride);\
197 197
     src += 8*srcStride;\
... ...
@@ -200,7 +200,7 @@ static void OPNAME ## rv30_tpel16_hvv_lowpass(uint8_t *dst, uint8_t *src, int ds
200 200
     OPNAME ## rv30_tpel8_hvv_lowpass(dst+8, src+8, dstStride, srcStride);\
201 201
 }\
202 202
 \
203
-static void OPNAME ## rv30_tpel16_hhvv_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
203
+static void OPNAME ## rv30_tpel16_hhvv_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
204 204
     OPNAME ## rv30_tpel8_hhvv_lowpass(dst  , src  , dstStride, srcStride);\
205 205
     OPNAME ## rv30_tpel8_hhvv_lowpass(dst+8, src+8, dstStride, srcStride);\
206 206
     src += 8*srcStride;\
... ...
@@ -211,42 +211,42 @@ static void OPNAME ## rv30_tpel16_hhvv_lowpass(uint8_t *dst, uint8_t *src, int d
211 211
 \
212 212
 
213 213
 #define RV30_MC(OPNAME, SIZE) \
214
-static void OPNAME ## rv30_tpel ## SIZE ## _mc10_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
214
+static void OPNAME ## rv30_tpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
215 215
 {\
216 216
     OPNAME ## rv30_tpel ## SIZE ## _h_lowpass(dst, src, stride, stride, 12, 6);\
217 217
 }\
218 218
 \
219
-static void OPNAME ## rv30_tpel ## SIZE ## _mc20_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
219
+static void OPNAME ## rv30_tpel ## SIZE ## _mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
220 220
 {\
221 221
     OPNAME ## rv30_tpel ## SIZE ## _h_lowpass(dst, src, stride, stride, 6, 12);\
222 222
 }\
223 223
 \
224
-static void OPNAME ## rv30_tpel ## SIZE ## _mc01_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
224
+static void OPNAME ## rv30_tpel ## SIZE ## _mc01_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
225 225
 {\
226 226
     OPNAME ## rv30_tpel ## SIZE ## _v_lowpass(dst, src, stride, stride, 12, 6);\
227 227
 }\
228 228
 \
229
-static void OPNAME ## rv30_tpel ## SIZE ## _mc02_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
229
+static void OPNAME ## rv30_tpel ## SIZE ## _mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
230 230
 {\
231 231
     OPNAME ## rv30_tpel ## SIZE ## _v_lowpass(dst, src, stride, stride, 6, 12);\
232 232
 }\
233 233
 \
234
-static void OPNAME ## rv30_tpel ## SIZE ## _mc11_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
234
+static void OPNAME ## rv30_tpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
235 235
 {\
236 236
     OPNAME ## rv30_tpel ## SIZE ## _hv_lowpass(dst, src, stride, stride);\
237 237
 }\
238 238
 \
239
-static void OPNAME ## rv30_tpel ## SIZE ## _mc12_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
239
+static void OPNAME ## rv30_tpel ## SIZE ## _mc12_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
240 240
 {\
241 241
     OPNAME ## rv30_tpel ## SIZE ## _hvv_lowpass(dst, src, stride, stride);\
242 242
 }\
243 243
 \
244
-static void OPNAME ## rv30_tpel ## SIZE ## _mc21_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
244
+static void OPNAME ## rv30_tpel ## SIZE ## _mc21_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
245 245
 {\
246 246
     OPNAME ## rv30_tpel ## SIZE ## _hhv_lowpass(dst, src, stride, stride);\
247 247
 }\
248 248
 \
249
-static void OPNAME ## rv30_tpel ## SIZE ## _mc22_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
249
+static void OPNAME ## rv30_tpel ## SIZE ## _mc22_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
250 250
 {\
251 251
     OPNAME ## rv30_tpel ## SIZE ## _hhvv_lowpass(dst, src, stride, stride);\
252 252
 }\
... ...
@@ -34,7 +34,7 @@
34 34
 #include "rv34dsp.h"
35 35
 
36 36
 #define RV40_LOWPASS(OPNAME, OP) \
37
-static av_unused void OPNAME ## rv40_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride,\
37
+static av_unused void OPNAME ## rv40_qpel8_h_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride,\
38 38
                                                      const int h, const int C1, const int C2, const int SHIFT){\
39 39
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
40 40
     int i;\
... ...
@@ -53,7 +53,7 @@ static av_unused void OPNAME ## rv40_qpel8_h_lowpass(uint8_t *dst, uint8_t *src,
53 53
     }\
54 54
 }\
55 55
 \
56
-static void OPNAME ## rv40_qpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride,\
56
+static void OPNAME ## rv40_qpel8_v_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride,\
57 57
                                            const int w, const int C1, const int C2, const int SHIFT){\
58 58
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
59 59
     int i;\
... ...
@@ -85,7 +85,7 @@ static void OPNAME ## rv40_qpel8_v_lowpass(uint8_t *dst, uint8_t *src, int dstSt
85 85
     }\
86 86
 }\
87 87
 \
88
-static void OPNAME ## rv40_qpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride,\
88
+static void OPNAME ## rv40_qpel16_v_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride,\
89 89
                                             const int w, const int C1, const int C2, const int SHIFT){\
90 90
     OPNAME ## rv40_qpel8_v_lowpass(dst  , src  , dstStride, srcStride, 8, C1, C2, SHIFT);\
91 91
     OPNAME ## rv40_qpel8_v_lowpass(dst+8, src+8, dstStride, srcStride, 8, C1, C2, SHIFT);\
... ...
@@ -95,7 +95,7 @@ static void OPNAME ## rv40_qpel16_v_lowpass(uint8_t *dst, uint8_t *src, int dstS
95 95
     OPNAME ## rv40_qpel8_v_lowpass(dst+8, src+8, dstStride, srcStride, w-8, C1, C2, SHIFT);\
96 96
 }\
97 97
 \
98
-static void OPNAME ## rv40_qpel16_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride,\
98
+static void OPNAME ## rv40_qpel16_h_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride,\
99 99
                                             const int h, const int C1, const int C2, const int SHIFT){\
100 100
     OPNAME ## rv40_qpel8_h_lowpass(dst  , src  , dstStride, srcStride, 8, C1, C2, SHIFT);\
101 101
     OPNAME ## rv40_qpel8_h_lowpass(dst+8, src+8, dstStride, srcStride, 8, C1, C2, SHIFT);\
... ...
@@ -107,22 +107,22 @@ static void OPNAME ## rv40_qpel16_h_lowpass(uint8_t *dst, uint8_t *src, int dstS
107 107
 \
108 108
 
109 109
 #define RV40_MC(OPNAME, SIZE) \
110
-static void OPNAME ## rv40_qpel ## SIZE ## _mc10_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
110
+static void OPNAME ## rv40_qpel ## SIZE ## _mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
111 111
 {\
112 112
     OPNAME ## rv40_qpel ## SIZE ## _h_lowpass(dst, src, stride, stride, SIZE, 52, 20, 6);\
113 113
 }\
114 114
 \
115
-static void OPNAME ## rv40_qpel ## SIZE ## _mc30_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
115
+static void OPNAME ## rv40_qpel ## SIZE ## _mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
116 116
 {\
117 117
     OPNAME ## rv40_qpel ## SIZE ## _h_lowpass(dst, src, stride, stride, SIZE, 20, 52, 6);\
118 118
 }\
119 119
 \
120
-static void OPNAME ## rv40_qpel ## SIZE ## _mc01_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
120
+static void OPNAME ## rv40_qpel ## SIZE ## _mc01_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
121 121
 {\
122 122
     OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, src, stride, stride, SIZE, 52, 20, 6);\
123 123
 }\
124 124
 \
125
-static void OPNAME ## rv40_qpel ## SIZE ## _mc11_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
125
+static void OPNAME ## rv40_qpel ## SIZE ## _mc11_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
126 126
 {\
127 127
     uint8_t full[SIZE*(SIZE+5)];\
128 128
     uint8_t * const full_mid = full + SIZE*2;\
... ...
@@ -130,7 +130,7 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc11_c(uint8_t *dst, uint8_t *src, p
130 130
     OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 52, 20, 6);\
131 131
 }\
132 132
 \
133
-static void OPNAME ## rv40_qpel ## SIZE ## _mc21_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
133
+static void OPNAME ## rv40_qpel ## SIZE ## _mc21_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
134 134
 {\
135 135
     uint8_t full[SIZE*(SIZE+5)];\
136 136
     uint8_t * const full_mid = full + SIZE*2;\
... ...
@@ -138,7 +138,7 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc21_c(uint8_t *dst, uint8_t *src, p
138 138
     OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 52, 20, 6);\
139 139
 }\
140 140
 \
141
-static void OPNAME ## rv40_qpel ## SIZE ## _mc31_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
141
+static void OPNAME ## rv40_qpel ## SIZE ## _mc31_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
142 142
 {\
143 143
     uint8_t full[SIZE*(SIZE+5)];\
144 144
     uint8_t * const full_mid = full + SIZE*2;\
... ...
@@ -146,7 +146,7 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc31_c(uint8_t *dst, uint8_t *src, p
146 146
     OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 52, 20, 6);\
147 147
 }\
148 148
 \
149
-static void OPNAME ## rv40_qpel ## SIZE ## _mc12_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
149
+static void OPNAME ## rv40_qpel ## SIZE ## _mc12_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
150 150
 {\
151 151
     uint8_t full[SIZE*(SIZE+5)];\
152 152
     uint8_t * const full_mid = full + SIZE*2;\
... ...
@@ -154,7 +154,7 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc12_c(uint8_t *dst, uint8_t *src, p
154 154
     OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 20, 20, 5);\
155 155
 }\
156 156
 \
157
-static void OPNAME ## rv40_qpel ## SIZE ## _mc22_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
157
+static void OPNAME ## rv40_qpel ## SIZE ## _mc22_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
158 158
 {\
159 159
     uint8_t full[SIZE*(SIZE+5)];\
160 160
     uint8_t * const full_mid = full + SIZE*2;\
... ...
@@ -162,7 +162,7 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc22_c(uint8_t *dst, uint8_t *src, p
162 162
     OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 20, 20, 5);\
163 163
 }\
164 164
 \
165
-static void OPNAME ## rv40_qpel ## SIZE ## _mc32_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
165
+static void OPNAME ## rv40_qpel ## SIZE ## _mc32_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
166 166
 {\
167 167
     uint8_t full[SIZE*(SIZE+5)];\
168 168
     uint8_t * const full_mid = full + SIZE*2;\
... ...
@@ -170,12 +170,12 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc32_c(uint8_t *dst, uint8_t *src, p
170 170
     OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 20, 20, 5);\
171 171
 }\
172 172
 \
173
-static void OPNAME ## rv40_qpel ## SIZE ## _mc03_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
173
+static void OPNAME ## rv40_qpel ## SIZE ## _mc03_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
174 174
 {\
175 175
     OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, src, stride, stride, SIZE, 20, 52, 6);\
176 176
 }\
177 177
 \
178
-static void OPNAME ## rv40_qpel ## SIZE ## _mc13_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
178
+static void OPNAME ## rv40_qpel ## SIZE ## _mc13_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
179 179
 {\
180 180
     uint8_t full[SIZE*(SIZE+5)];\
181 181
     uint8_t * const full_mid = full + SIZE*2;\
... ...
@@ -183,7 +183,7 @@ static void OPNAME ## rv40_qpel ## SIZE ## _mc13_c(uint8_t *dst, uint8_t *src, p
183 183
     OPNAME ## rv40_qpel ## SIZE ## _v_lowpass(dst, full_mid, stride, SIZE, SIZE, 20, 52, 6);\
184 184
 }\
185 185
 \
186
-static void OPNAME ## rv40_qpel ## SIZE ## _mc23_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
186
+static void OPNAME ## rv40_qpel ## SIZE ## _mc23_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
187 187
 {\
188 188
     uint8_t full[SIZE*(SIZE+5)];\
189 189
     uint8_t * const full_mid = full + SIZE*2;\
... ...
@@ -266,19 +266,19 @@ PIXOP2(put, op_put)
266 266
 #undef op_avg
267 267
 #undef op_put
268 268
 
269
-static void put_rv40_qpel16_mc33_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
269
+static void put_rv40_qpel16_mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
270 270
 {
271 271
     put_pixels16_xy2_8_c(dst, src, stride, 16);
272 272
 }
273
-static void avg_rv40_qpel16_mc33_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
273
+static void avg_rv40_qpel16_mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
274 274
 {
275 275
     avg_pixels16_xy2_8_c(dst, src, stride, 16);
276 276
 }
277
-static void put_rv40_qpel8_mc33_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
277
+static void put_rv40_qpel8_mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
278 278
 {
279 279
     put_pixels8_xy2_8_c(dst, src, stride, 8);
280 280
 }
281
-static void avg_rv40_qpel8_mc33_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
281
+static void avg_rv40_qpel8_mc33_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
282 282
 {
283 283
     avg_pixels8_xy2_8_c(dst, src, stride, 8);
284 284
 }
... ...
@@ -139,7 +139,7 @@ static void wmv2_idct_put_c(uint8_t *dest, int line_size, int16_t *block)
139 139
     }
140 140
 }
141 141
 
142
-static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src,
142
+static void wmv2_mspel8_h_lowpass(uint8_t *dst, const uint8_t *src,
143 143
                                   int dstStride, int srcStride, int h)
144 144
 {
145 145
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;
... ...
@@ -159,7 +159,7 @@ static void wmv2_mspel8_h_lowpass(uint8_t *dst, uint8_t *src,
159 159
     }
160 160
 }
161 161
 
162
-static void wmv2_mspel8_v_lowpass(uint8_t *dst, uint8_t *src,
162
+static void wmv2_mspel8_v_lowpass(uint8_t *dst, const uint8_t *src,
163 163
                                   int dstStride, int srcStride, int w)
164 164
 {
165 165
     const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;
... ...
@@ -190,7 +190,7 @@ static void wmv2_mspel8_v_lowpass(uint8_t *dst, uint8_t *src,
190 190
     }
191 191
 }
192 192
 
193
-static void put_mspel8_mc10_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
193
+static void put_mspel8_mc10_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
194 194
 {
195 195
     uint8_t half[64];
196 196
 
... ...
@@ -198,12 +198,12 @@ static void put_mspel8_mc10_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
198 198
     ff_put_pixels8_l2_8(dst, src, half, stride, stride, 8, 8);
199 199
 }
200 200
 
201
-static void put_mspel8_mc20_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
201
+static void put_mspel8_mc20_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
202 202
 {
203 203
     wmv2_mspel8_h_lowpass(dst, src, stride, stride, 8);
204 204
 }
205 205
 
206
-static void put_mspel8_mc30_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
206
+static void put_mspel8_mc30_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
207 207
 {
208 208
     uint8_t half[64];
209 209
 
... ...
@@ -211,12 +211,12 @@ static void put_mspel8_mc30_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
211 211
     ff_put_pixels8_l2_8(dst, src + 1, half, stride, stride, 8, 8);
212 212
 }
213 213
 
214
-static void put_mspel8_mc02_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
214
+static void put_mspel8_mc02_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
215 215
 {
216 216
     wmv2_mspel8_v_lowpass(dst, src, stride, stride, 8);
217 217
 }
218 218
 
219
-static void put_mspel8_mc12_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
219
+static void put_mspel8_mc12_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
220 220
 {
221 221
     uint8_t halfH[88];
222 222
     uint8_t halfV[64];
... ...
@@ -228,7 +228,7 @@ static void put_mspel8_mc12_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
228 228
     ff_put_pixels8_l2_8(dst, halfV, halfHV, stride, 8, 8, 8);
229 229
 }
230 230
 
231
-static void put_mspel8_mc32_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
231
+static void put_mspel8_mc32_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
232 232
 {
233 233
     uint8_t halfH[88];
234 234
     uint8_t halfV[64];
... ...
@@ -240,7 +240,7 @@ static void put_mspel8_mc32_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
240 240
     ff_put_pixels8_l2_8(dst, halfV, halfHV, stride, 8, 8, 8);
241 241
 }
242 242
 
243
-static void put_mspel8_mc22_c(uint8_t *dst, uint8_t *src, ptrdiff_t stride)
243
+static void put_mspel8_mc22_c(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
244 244
 {
245 245
     uint8_t halfH[88];
246 246
 
... ...
@@ -334,7 +334,7 @@ static void cavs_idct8_add_mmx(uint8_t *dst, int16_t *block, int stride)
334 334
    }
335 335
 
336 336
 #define QPEL_CAVS(OPNAME, OP, MMX)\
337
-static void OPNAME ## cavs_qpel8_h_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
337
+static void OPNAME ## cavs_qpel8_h_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
338 338
     int h=8;\
339 339
     __asm__ volatile(\
340 340
         "pxor %%mm7, %%mm7          \n\t"\
... ...
@@ -381,43 +381,43 @@ static void OPNAME ## cavs_qpel8_h_ ## MMX(uint8_t *dst, uint8_t *src, int dstSt
381 381
     );\
382 382
 }\
383 383
 \
384
-static inline void OPNAME ## cavs_qpel8or16_v1_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
384
+static inline void OPNAME ## cavs_qpel8or16_v1_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h){\
385 385
   QPEL_CAVSVNUM(QPEL_CAVSV1,OP,ff_pw_64,ff_pw_96,ff_pw_42)      \
386 386
 }\
387 387
 \
388
-static inline void OPNAME ## cavs_qpel8or16_v2_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
388
+static inline void OPNAME ## cavs_qpel8or16_v2_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h){\
389 389
   QPEL_CAVSVNUM(QPEL_CAVSV2,OP,ff_pw_4,ff_pw_5,ff_pw_5)         \
390 390
 }\
391 391
 \
392
-static inline void OPNAME ## cavs_qpel8or16_v3_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
392
+static inline void OPNAME ## cavs_qpel8or16_v3_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h){\
393 393
   QPEL_CAVSVNUM(QPEL_CAVSV3,OP,ff_pw_64,ff_pw_96,ff_pw_42)      \
394 394
 }\
395 395
 \
396
-static void OPNAME ## cavs_qpel8_v1_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
396
+static void OPNAME ## cavs_qpel8_v1_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
397 397
     OPNAME ## cavs_qpel8or16_v1_ ## MMX(dst  , src  , dstStride, srcStride, 8);\
398 398
 }\
399
-static void OPNAME ## cavs_qpel16_v1_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
399
+static void OPNAME ## cavs_qpel16_v1_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
400 400
     OPNAME ## cavs_qpel8or16_v1_ ## MMX(dst  , src  , dstStride, srcStride, 16);\
401 401
     OPNAME ## cavs_qpel8or16_v1_ ## MMX(dst+8, src+8, dstStride, srcStride, 16);\
402 402
 }\
403 403
 \
404
-static void OPNAME ## cavs_qpel8_v2_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
404
+static void OPNAME ## cavs_qpel8_v2_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
405 405
     OPNAME ## cavs_qpel8or16_v2_ ## MMX(dst  , src  , dstStride, srcStride, 8);\
406 406
 }\
407
-static void OPNAME ## cavs_qpel16_v2_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
407
+static void OPNAME ## cavs_qpel16_v2_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
408 408
     OPNAME ## cavs_qpel8or16_v2_ ## MMX(dst  , src  , dstStride, srcStride, 16);\
409 409
     OPNAME ## cavs_qpel8or16_v2_ ## MMX(dst+8, src+8, dstStride, srcStride, 16);\
410 410
 }\
411 411
 \
412
-static void OPNAME ## cavs_qpel8_v3_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
412
+static void OPNAME ## cavs_qpel8_v3_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
413 413
     OPNAME ## cavs_qpel8or16_v3_ ## MMX(dst  , src  , dstStride, srcStride, 8);\
414 414
 }\
415
-static void OPNAME ## cavs_qpel16_v3_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
415
+static void OPNAME ## cavs_qpel16_v3_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
416 416
     OPNAME ## cavs_qpel8or16_v3_ ## MMX(dst  , src  , dstStride, srcStride, 16);\
417 417
     OPNAME ## cavs_qpel8or16_v3_ ## MMX(dst+8, src+8, dstStride, srcStride, 16);\
418 418
 }\
419 419
 \
420
-static void OPNAME ## cavs_qpel16_h_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
420
+static void OPNAME ## cavs_qpel16_h_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
421 421
     OPNAME ## cavs_qpel8_h_ ## MMX(dst  , src  , dstStride, srcStride);\
422 422
     OPNAME ## cavs_qpel8_h_ ## MMX(dst+8, src+8, dstStride, srcStride);\
423 423
     src += 8*srcStride;\
... ...
@@ -427,22 +427,22 @@ static void OPNAME ## cavs_qpel16_h_ ## MMX(uint8_t *dst, uint8_t *src, int dstS
427 427
 }\
428 428
 
429 429
 #define CAVS_MC(OPNAME, SIZE, MMX) \
430
-static void OPNAME ## cavs_qpel ## SIZE ## _mc20_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
430
+static void OPNAME ## cavs_qpel ## SIZE ## _mc20_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
431 431
 {\
432 432
     OPNAME ## cavs_qpel ## SIZE ## _h_ ## MMX(dst, src, stride, stride);\
433 433
 }\
434 434
 \
435
-static void OPNAME ## cavs_qpel ## SIZE ## _mc01_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
435
+static void OPNAME ## cavs_qpel ## SIZE ## _mc01_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
436 436
 {\
437 437
     OPNAME ## cavs_qpel ## SIZE ## _v1_ ## MMX(dst, src, stride, stride);\
438 438
 }\
439 439
 \
440
-static void OPNAME ## cavs_qpel ## SIZE ## _mc02_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
440
+static void OPNAME ## cavs_qpel ## SIZE ## _mc02_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
441 441
 {\
442 442
     OPNAME ## cavs_qpel ## SIZE ## _v2_ ## MMX(dst, src, stride, stride);\
443 443
 }\
444 444
 \
445
-static void OPNAME ## cavs_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
445
+static void OPNAME ## cavs_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
446 446
 {\
447 447
     OPNAME ## cavs_qpel ## SIZE ## _v3_ ## MMX(dst, src, stride, stride);\
448 448
 }\
... ...
@@ -460,25 +460,25 @@ static void OPNAME ## cavs_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst, uint8_t *
460 460
 #endif /* (HAVE_MMXEXT_INLINE || HAVE_AMD3DNOW_INLINE) */
461 461
 
462 462
 #if HAVE_MMX_INLINE
463
-static void put_cavs_qpel8_mc00_mmx(uint8_t *dst, uint8_t *src,
463
+static void put_cavs_qpel8_mc00_mmx(uint8_t *dst, const uint8_t *src,
464 464
                                     ptrdiff_t stride)
465 465
 {
466 466
     ff_put_pixels8_mmx(dst, src, stride, 8);
467 467
 }
468 468
 
469
-static void avg_cavs_qpel8_mc00_mmx(uint8_t *dst, uint8_t *src,
469
+static void avg_cavs_qpel8_mc00_mmx(uint8_t *dst, const uint8_t *src,
470 470
                                     ptrdiff_t stride)
471 471
 {
472 472
     ff_avg_pixels8_mmx(dst, src, stride, 8);
473 473
 }
474 474
 
475
-static void put_cavs_qpel16_mc00_mmx(uint8_t *dst, uint8_t *src,
475
+static void put_cavs_qpel16_mc00_mmx(uint8_t *dst, const uint8_t *src,
476 476
                                      ptrdiff_t stride)
477 477
 {
478 478
     ff_put_pixels16_mmx(dst, src, stride, 16);
479 479
 }
480 480
 
481
-static void avg_cavs_qpel16_mc00_mmx(uint8_t *dst, uint8_t *src,
481
+static void avg_cavs_qpel16_mc00_mmx(uint8_t *dst, const uint8_t *src,
482 482
                                      ptrdiff_t stride)
483 483
 {
484 484
     ff_avg_pixels16_mmx(dst, src, stride, 16);
... ...
@@ -33,17 +33,17 @@ void ff_put_pixels4_mmxext(uint8_t *block, const uint8_t *pixels,
33 33
                            ptrdiff_t line_size, int h);
34 34
 void ff_avg_pixels4_mmxext(uint8_t *block, const uint8_t *pixels,
35 35
                            ptrdiff_t line_size, int h);
36
-void ff_put_pixels4_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
36
+void ff_put_pixels4_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
37 37
                               int dstStride, int src1Stride, int h);
38
-void ff_avg_pixels4_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
38
+void ff_avg_pixels4_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
39 39
                               int dstStride, int src1Stride, int h);
40
-void ff_put_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
40
+void ff_put_pixels8_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
41 41
                               int dstStride, int src1Stride, int h);
42
-void ff_avg_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
42
+void ff_avg_pixels8_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
43 43
                               int dstStride, int src1Stride, int h);
44
-void ff_put_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
44
+void ff_put_pixels16_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
45 45
                                int dstStride, int src1Stride, int h);
46
-void ff_avg_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
46
+void ff_avg_pixels16_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
47 47
                                int dstStride, int src1Stride, int h);
48 48
 #define ff_put_pixels8_l2_sse2  ff_put_pixels8_l2_mmxext
49 49
 #define ff_avg_pixels8_l2_sse2  ff_avg_pixels8_l2_mmxext
... ...
@@ -54,29 +54,29 @@ CALL_2X_PIXELS(ff_avg_pixels16_mmxext, ff_avg_pixels8_mmxext, 8)
54 54
 CALL_2X_PIXELS(ff_put_pixels16_mmxext, ff_put_pixels8_mmxext, 8)
55 55
 
56 56
 #define DEF_QPEL(OPNAME)\
57
-void ff_ ## OPNAME ## _h264_qpel4_h_lowpass_mmxext(uint8_t *dst, uint8_t *src, int dstStride, int srcStride);\
58
-void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_mmxext(uint8_t *dst, uint8_t *src, int dstStride, int srcStride);\
59
-void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_ssse3(uint8_t *dst, uint8_t *src, int dstStride, int srcStride);\
60
-void ff_ ## OPNAME ## _h264_qpel4_h_lowpass_l2_mmxext(uint8_t *dst, uint8_t *src, uint8_t *src2, int dstStride, int src2Stride);\
61
-void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_l2_mmxext(uint8_t *dst, uint8_t *src, uint8_t *src2, int dstStride, int src2Stride);\
62
-void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_l2_ssse3(uint8_t *dst, uint8_t *src, uint8_t *src2, int dstStride, int src2Stride);\
63
-void ff_ ## OPNAME ## _h264_qpel4_v_lowpass_mmxext(uint8_t *dst, uint8_t *src, int dstStride, int srcStride);\
64
-void ff_ ## OPNAME ## _h264_qpel8or16_v_lowpass_op_mmxext(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h);\
65
-void ff_ ## OPNAME ## _h264_qpel8or16_v_lowpass_sse2(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h);\
66
-void ff_ ## OPNAME ## _h264_qpel4_hv_lowpass_v_mmxext(uint8_t *src, int16_t *tmp, int srcStride);\
57
+void ff_ ## OPNAME ## _h264_qpel4_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride);\
58
+void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride);\
59
+void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_ssse3(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride);\
60
+void ff_ ## OPNAME ## _h264_qpel4_h_lowpass_l2_mmxext(uint8_t *dst, const uint8_t *src, const uint8_t *src2, int dstStride, int src2Stride);\
61
+void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_l2_mmxext(uint8_t *dst, const uint8_t *src, const uint8_t *src2, int dstStride, int src2Stride);\
62
+void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_l2_ssse3(uint8_t *dst, const uint8_t *src, const uint8_t *src2, int dstStride, int src2Stride);\
63
+void ff_ ## OPNAME ## _h264_qpel4_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride);\
64
+void ff_ ## OPNAME ## _h264_qpel8or16_v_lowpass_op_mmxext(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h);\
65
+void ff_ ## OPNAME ## _h264_qpel8or16_v_lowpass_sse2(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h);\
66
+void ff_ ## OPNAME ## _h264_qpel4_hv_lowpass_v_mmxext(const uint8_t *src, int16_t *tmp, int srcStride);\
67 67
 void ff_ ## OPNAME ## _h264_qpel4_hv_lowpass_h_mmxext(int16_t *tmp, uint8_t *dst, int dstStride);\
68
-void ff_ ## OPNAME ## _h264_qpel8or16_hv1_lowpass_op_mmxext(uint8_t *src, int16_t *tmp, int srcStride, int size);\
69
-void ff_ ## OPNAME ## _h264_qpel8or16_hv1_lowpass_op_sse2(uint8_t *src, int16_t *tmp, int srcStride, int size);\
68
+void ff_ ## OPNAME ## _h264_qpel8or16_hv1_lowpass_op_mmxext(const uint8_t *src, int16_t *tmp, int srcStride, int size);\
69
+void ff_ ## OPNAME ## _h264_qpel8or16_hv1_lowpass_op_sse2(const uint8_t *src, int16_t *tmp, int srcStride, int size);\
70 70
 void ff_ ## OPNAME ## _h264_qpel8or16_hv2_lowpass_op_mmxext(uint8_t *dst, int16_t *tmp, int dstStride, int unused, int h);\
71 71
 void ff_ ## OPNAME ## _h264_qpel8or16_hv2_lowpass_ssse3(uint8_t *dst, int16_t *tmp, int dstStride, int tmpStride, int size);\
72
-void ff_ ## OPNAME ## _pixels4_l2_shift5_mmxext(uint8_t *dst, int16_t *src16, uint8_t *src8, int dstStride, int src8Stride, int h);\
73
-void ff_ ## OPNAME ## _pixels8_l2_shift5_mmxext(uint8_t *dst, int16_t *src16, uint8_t *src8, int dstStride, int src8Stride, int h);
72
+void ff_ ## OPNAME ## _pixels4_l2_shift5_mmxext(uint8_t *dst, const int16_t *src16, const uint8_t *src8, int dstStride, int src8Stride, int h);\
73
+void ff_ ## OPNAME ## _pixels8_l2_shift5_mmxext(uint8_t *dst, const int16_t *src16, const uint8_t *src8, int dstStride, int src8Stride, int h);
74 74
 
75 75
 DEF_QPEL(avg)
76 76
 DEF_QPEL(put)
77 77
 
78 78
 #define QPEL_H264(OPNAME, OP, MMX)\
79
-static av_always_inline void ff_ ## OPNAME ## h264_qpel4_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\
79
+static av_always_inline void ff_ ## OPNAME ## h264_qpel4_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, const uint8_t *src, int dstStride, int tmpStride, int srcStride){\
80 80
     int w=3;\
81 81
     src -= 2*srcStride+2;\
82 82
     while(w--){\
... ...
@@ -88,14 +88,14 @@ static av_always_inline void ff_ ## OPNAME ## h264_qpel4_hv_lowpass_ ## MMX(uint
88 88
     ff_ ## OPNAME ## h264_qpel4_hv_lowpass_h_mmxext(tmp, dst, dstStride);\
89 89
 }\
90 90
 \
91
-static av_always_inline void ff_ ## OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
91
+static av_always_inline void ff_ ## OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h){\
92 92
     src -= 2*srcStride;\
93 93
     ff_ ## OPNAME ## h264_qpel8or16_v_lowpass_op_mmxext(dst, src, dstStride, srcStride, h);\
94 94
     src += 4;\
95 95
     dst += 4;\
96 96
     ff_ ## OPNAME ## h264_qpel8or16_v_lowpass_op_mmxext(dst, src, dstStride, srcStride, h);\
97 97
 }\
98
-static av_always_inline void ff_ ## OPNAME ## h264_qpel8or16_hv1_lowpass_ ## MMX(int16_t *tmp, uint8_t *src, int tmpStride, int srcStride, int size){\
98
+static av_always_inline void ff_ ## OPNAME ## h264_qpel8or16_hv1_lowpass_ ## MMX(int16_t *tmp, const uint8_t *src, int tmpStride, int srcStride, int size){\
99 99
     int w = (size+8)>>2;\
100 100
     src -= 2*srcStride+2;\
101 101
     while(w--){\
... ...
@@ -113,15 +113,15 @@ static av_always_inline void ff_ ## OPNAME ## h264_qpel8or16_hv2_lowpass_ ## MMX
113 113
     }while(w--);\
114 114
 }\
115 115
 \
116
-static av_always_inline void ff_ ## OPNAME ## h264_qpel8_v_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
116
+static av_always_inline void ff_ ## OPNAME ## h264_qpel8_v_lowpass_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
117 117
     ff_ ## OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(dst  , src  , dstStride, srcStride, 8);\
118 118
 }\
119
-static av_always_inline void ff_ ## OPNAME ## h264_qpel16_v_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
119
+static av_always_inline void ff_ ## OPNAME ## h264_qpel16_v_lowpass_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
120 120
     ff_ ## OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(dst  , src  , dstStride, srcStride, 16);\
121 121
     ff_ ## OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(dst+8, src+8, dstStride, srcStride, 16);\
122 122
 }\
123 123
 \
124
-static av_always_inline void ff_ ## OPNAME ## h264_qpel16_h_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
124
+static av_always_inline void ff_ ## OPNAME ## h264_qpel16_h_lowpass_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
125 125
     ff_ ## OPNAME ## h264_qpel8_h_lowpass_ ## MMX(dst  , src  , dstStride, srcStride);\
126 126
     ff_ ## OPNAME ## h264_qpel8_h_lowpass_ ## MMX(dst+8, src+8, dstStride, srcStride);\
127 127
     src += 8*srcStride;\
... ...
@@ -130,7 +130,7 @@ static av_always_inline void ff_ ## OPNAME ## h264_qpel16_h_lowpass_ ## MMX(uint
130 130
     ff_ ## OPNAME ## h264_qpel8_h_lowpass_ ## MMX(dst+8, src+8, dstStride, srcStride);\
131 131
 }\
132 132
 \
133
-static av_always_inline void ff_ ## OPNAME ## h264_qpel16_h_lowpass_l2_ ## MMX(uint8_t *dst, uint8_t *src, uint8_t *src2, int dstStride, int src2Stride){\
133
+static av_always_inline void ff_ ## OPNAME ## h264_qpel16_h_lowpass_l2_ ## MMX(uint8_t *dst, const uint8_t *src, const uint8_t *src2, int dstStride, int src2Stride){\
134 134
     ff_ ## OPNAME ## h264_qpel8_h_lowpass_l2_ ## MMX(dst  , src  , src2  , dstStride, src2Stride);\
135 135
     ff_ ## OPNAME ## h264_qpel8_h_lowpass_l2_ ## MMX(dst+8, src+8, src2+8, dstStride, src2Stride);\
136 136
     src += 8*dstStride;\
... ...
@@ -140,19 +140,19 @@ static av_always_inline void ff_ ## OPNAME ## h264_qpel16_h_lowpass_l2_ ## MMX(u
140 140
     ff_ ## OPNAME ## h264_qpel8_h_lowpass_l2_ ## MMX(dst+8, src+8, src2+8, dstStride, src2Stride);\
141 141
 }\
142 142
 \
143
-static av_always_inline void ff_ ## OPNAME ## h264_qpel8or16_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride, int size){\
143
+static av_always_inline void ff_ ## OPNAME ## h264_qpel8or16_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, const uint8_t *src, int dstStride, int tmpStride, int srcStride, int size){\
144 144
     ff_put_h264_qpel8or16_hv1_lowpass_ ## MMX(tmp, src, tmpStride, srcStride, size);\
145 145
     ff_ ## OPNAME ## h264_qpel8or16_hv2_lowpass_ ## MMX(dst, tmp, dstStride, tmpStride, size);\
146 146
 }\
147
-static av_always_inline void ff_ ## OPNAME ## h264_qpel8_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\
147
+static av_always_inline void ff_ ## OPNAME ## h264_qpel8_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, const uint8_t *src, int dstStride, int tmpStride, int srcStride){\
148 148
     ff_ ## OPNAME ## h264_qpel8or16_hv_lowpass_ ## MMX(dst  , tmp  , src  , dstStride, tmpStride, srcStride, 8);\
149 149
 }\
150 150
 \
151
-static av_always_inline void ff_ ## OPNAME ## h264_qpel16_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\
151
+static av_always_inline void ff_ ## OPNAME ## h264_qpel16_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, const uint8_t *src, int dstStride, int tmpStride, int srcStride){\
152 152
     ff_ ## OPNAME ## h264_qpel8or16_hv_lowpass_ ## MMX(dst  , tmp  , src  , dstStride, tmpStride, srcStride, 16);\
153 153
 }\
154 154
 \
155
-static av_always_inline void ff_ ## OPNAME ## pixels16_l2_shift5_ ## MMX(uint8_t *dst, int16_t *src16, uint8_t *src8, int dstStride, int src8Stride, int h)\
155
+static av_always_inline void ff_ ## OPNAME ## pixels16_l2_shift5_ ## MMX(uint8_t *dst, const int16_t *src16, const uint8_t *src8, int dstStride, int src8Stride, int h)\
156 156
 {\
157 157
     ff_ ## OPNAME ## pixels8_l2_shift5_ ## MMX(dst  , src16  , src8  , dstStride, src8Stride, h);\
158 158
     ff_ ## OPNAME ## pixels8_l2_shift5_ ## MMX(dst+8, src16+8, src8+8, dstStride, src8Stride, h);\
... ...
@@ -162,12 +162,12 @@ static av_always_inline void ff_ ## OPNAME ## pixels16_l2_shift5_ ## MMX(uint8_t
162 162
 #if ARCH_X86_64
163 163
 #define QPEL_H264_H16_XMM(OPNAME, OP, MMX)\
164 164
 
165
-void ff_avg_h264_qpel16_h_lowpass_l2_ssse3(uint8_t *dst, uint8_t *src, uint8_t *src2, int dstStride, int src2Stride);
166
-void ff_put_h264_qpel16_h_lowpass_l2_ssse3(uint8_t *dst, uint8_t *src, uint8_t *src2, int dstStride, int src2Stride);
165
+void ff_avg_h264_qpel16_h_lowpass_l2_ssse3(uint8_t *dst, const uint8_t *src, const uint8_t *src2, int dstStride, int src2Stride);
166
+void ff_put_h264_qpel16_h_lowpass_l2_ssse3(uint8_t *dst, const uint8_t *src, const uint8_t *src2, int dstStride, int src2Stride);
167 167
 
168 168
 #else // ARCH_X86_64
169 169
 #define QPEL_H264_H16_XMM(OPNAME, OP, MMX)\
170
-static av_always_inline void ff_ ## OPNAME ## h264_qpel16_h_lowpass_l2_ ## MMX(uint8_t *dst, uint8_t *src, uint8_t *src2, int dstStride, int src2Stride){\
170
+static av_always_inline void ff_ ## OPNAME ## h264_qpel16_h_lowpass_l2_ ## MMX(uint8_t *dst, const uint8_t *src, const uint8_t *src2, int dstStride, int src2Stride){\
171 171
     ff_ ## OPNAME ## h264_qpel8_h_lowpass_l2_ ## MMX(dst  , src  , src2  , dstStride, src2Stride);\
172 172
     ff_ ## OPNAME ## h264_qpel8_h_lowpass_l2_ ## MMX(dst+8, src+8, src2+8, dstStride, src2Stride);\
173 173
     src += 8*dstStride;\
... ...
@@ -180,7 +180,7 @@ static av_always_inline void ff_ ## OPNAME ## h264_qpel16_h_lowpass_l2_ ## MMX(u
180 180
 
181 181
 #define QPEL_H264_H_XMM(OPNAME, OP, MMX)\
182 182
 QPEL_H264_H16_XMM(OPNAME, OP, MMX)\
183
-static av_always_inline void ff_ ## OPNAME ## h264_qpel16_h_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
183
+static av_always_inline void ff_ ## OPNAME ## h264_qpel16_h_lowpass_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
184 184
     ff_ ## OPNAME ## h264_qpel8_h_lowpass_ ## MMX(dst  , src  , dstStride, srcStride);\
185 185
     ff_ ## OPNAME ## h264_qpel8_h_lowpass_ ## MMX(dst+8, src+8, dstStride, srcStride);\
186 186
     src += 8*srcStride;\
... ...
@@ -190,16 +190,16 @@ static av_always_inline void ff_ ## OPNAME ## h264_qpel16_h_lowpass_ ## MMX(uint
190 190
 }\
191 191
 
192 192
 #define QPEL_H264_V_XMM(OPNAME, OP, MMX)\
193
-static av_always_inline void ff_ ## OPNAME ## h264_qpel8_v_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
193
+static av_always_inline void ff_ ## OPNAME ## h264_qpel8_v_lowpass_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
194 194
     ff_ ## OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(dst  , src  , dstStride, srcStride, 8);\
195 195
 }\
196
-static av_always_inline void ff_ ## OPNAME ## h264_qpel16_v_lowpass_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride){\
196
+static av_always_inline void ff_ ## OPNAME ## h264_qpel16_v_lowpass_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride){\
197 197
     ff_ ## OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(dst  , src  , dstStride, srcStride, 16);\
198 198
     ff_ ## OPNAME ## h264_qpel8or16_v_lowpass_ ## MMX(dst+8, src+8, dstStride, srcStride, 16);\
199 199
 }
200 200
 
201 201
 static av_always_inline void put_h264_qpel8or16_hv1_lowpass_sse2(int16_t *tmp,
202
-                                                                 uint8_t *src,
202
+                                                                 const uint8_t *src,
203 203
                                                                  int tmpStride,
204 204
                                                                  int srcStride,
205 205
                                                                  int size)
... ...
@@ -214,14 +214,14 @@ static av_always_inline void put_h264_qpel8or16_hv1_lowpass_sse2(int16_t *tmp,
214 214
 }
215 215
 
216 216
 #define QPEL_H264_HV_XMM(OPNAME, OP, MMX)\
217
-static av_always_inline void ff_ ## OPNAME ## h264_qpel8or16_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride, int size){\
217
+static av_always_inline void ff_ ## OPNAME ## h264_qpel8or16_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, const uint8_t *src, int dstStride, int tmpStride, int srcStride, int size){\
218 218
     put_h264_qpel8or16_hv1_lowpass_sse2(tmp, src, tmpStride, srcStride, size);\
219 219
     ff_ ## OPNAME ## h264_qpel8or16_hv2_lowpass_ ## MMX(dst, tmp, dstStride, tmpStride, size);\
220 220
 }\
221
-static av_always_inline void ff_ ## OPNAME ## h264_qpel8_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\
221
+static av_always_inline void ff_ ## OPNAME ## h264_qpel8_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, const uint8_t *src, int dstStride, int tmpStride, int srcStride){\
222 222
     ff_ ## OPNAME ## h264_qpel8or16_hv_lowpass_ ## MMX(dst, tmp, src, dstStride, tmpStride, srcStride, 8);\
223 223
 }\
224
-static av_always_inline void ff_ ## OPNAME ## h264_qpel16_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\
224
+static av_always_inline void ff_ ## OPNAME ## h264_qpel16_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, const uint8_t *src, int dstStride, int tmpStride, int srcStride){\
225 225
     ff_ ## OPNAME ## h264_qpel8or16_hv_lowpass_ ## MMX(dst, tmp, src, dstStride, tmpStride, srcStride, 16);\
226 226
 }\
227 227
 
... ...
@@ -244,12 +244,12 @@ H264_MC_V(OPNAME, SIZE, MMX, ALIGN)\
244 244
 H264_MC_H(OPNAME, SIZE, MMX, ALIGN)\
245 245
 H264_MC_HV(OPNAME, SIZE, MMX, ALIGN)\
246 246
 
247
-static void put_h264_qpel16_mc00_sse2 (uint8_t *dst, uint8_t *src,
247
+static void put_h264_qpel16_mc00_sse2 (uint8_t *dst, const uint8_t *src,
248 248
                                        ptrdiff_t stride)
249 249
 {
250 250
     ff_put_pixels16_sse2(dst, src, stride, 16);
251 251
 }
252
-static void avg_h264_qpel16_mc00_sse2 (uint8_t *dst, uint8_t *src,
252
+static void avg_h264_qpel16_mc00_sse2 (uint8_t *dst, const uint8_t *src,
253 253
                                        ptrdiff_t stride)
254 254
 {
255 255
     ff_avg_pixels16_sse2(dst, src, stride, 16);
... ...
@@ -258,41 +258,41 @@ static void avg_h264_qpel16_mc00_sse2 (uint8_t *dst, uint8_t *src,
258 258
 #define avg_h264_qpel8_mc00_sse2 avg_h264_qpel8_mc00_mmxext
259 259
 
260 260
 #define H264_MC_C(OPNAME, SIZE, MMX, ALIGN) \
261
-static void OPNAME ## h264_qpel ## SIZE ## _mc00_ ## MMX (uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
261
+static void OPNAME ## h264_qpel ## SIZE ## _mc00_ ## MMX (uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
262 262
 {\
263 263
     ff_ ## OPNAME ## pixels ## SIZE ## _ ## MMX(dst, src, stride, SIZE);\
264 264
 }\
265 265
 
266 266
 #define H264_MC_H(OPNAME, SIZE, MMX, ALIGN) \
267
-static void OPNAME ## h264_qpel ## SIZE ## _mc10_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
267
+static void OPNAME ## h264_qpel ## SIZE ## _mc10_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
268 268
 {\
269 269
     ff_ ## OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src, src, stride, stride);\
270 270
 }\
271 271
 \
272
-static void OPNAME ## h264_qpel ## SIZE ## _mc20_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
272
+static void OPNAME ## h264_qpel ## SIZE ## _mc20_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
273 273
 {\
274 274
     ff_ ## OPNAME ## h264_qpel ## SIZE ## _h_lowpass_ ## MMX(dst, src, stride, stride);\
275 275
 }\
276 276
 \
277
-static void OPNAME ## h264_qpel ## SIZE ## _mc30_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
277
+static void OPNAME ## h264_qpel ## SIZE ## _mc30_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
278 278
 {\
279 279
     ff_ ## OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src, src+1, stride, stride);\
280 280
 }\
281 281
 
282 282
 #define H264_MC_V(OPNAME, SIZE, MMX, ALIGN) \
283
-static void OPNAME ## h264_qpel ## SIZE ## _mc01_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
283
+static void OPNAME ## h264_qpel ## SIZE ## _mc01_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
284 284
 {\
285 285
     DECLARE_ALIGNED(ALIGN, uint8_t, temp)[SIZE*SIZE];\
286 286
     ff_put_h264_qpel ## SIZE ## _v_lowpass_ ## MMX(temp, src, SIZE, stride);\
287 287
     ff_ ## OPNAME ## pixels ## SIZE ## _l2_ ## MMX(dst, src, temp, stride, stride, SIZE);\
288 288
 }\
289 289
 \
290
-static void OPNAME ## h264_qpel ## SIZE ## _mc02_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
290
+static void OPNAME ## h264_qpel ## SIZE ## _mc02_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
291 291
 {\
292 292
     ff_ ## OPNAME ## h264_qpel ## SIZE ## _v_lowpass_ ## MMX(dst, src, stride, stride);\
293 293
 }\
294 294
 \
295
-static void OPNAME ## h264_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
295
+static void OPNAME ## h264_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
296 296
 {\
297 297
     DECLARE_ALIGNED(ALIGN, uint8_t, temp)[SIZE*SIZE];\
298 298
     ff_put_h264_qpel ## SIZE ## _v_lowpass_ ## MMX(temp, src, SIZE, stride);\
... ...
@@ -300,41 +300,41 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst, uint8_t *
300 300
 }\
301 301
 
302 302
 #define H264_MC_HV(OPNAME, SIZE, MMX, ALIGN) \
303
-static void OPNAME ## h264_qpel ## SIZE ## _mc11_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
303
+static void OPNAME ## h264_qpel ## SIZE ## _mc11_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
304 304
 {\
305 305
     DECLARE_ALIGNED(ALIGN, uint8_t, temp)[SIZE*SIZE];\
306 306
     ff_put_h264_qpel ## SIZE ## _v_lowpass_ ## MMX(temp, src, SIZE, stride);\
307 307
     ff_ ## OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src, temp, stride, SIZE);\
308 308
 }\
309 309
 \
310
-static void OPNAME ## h264_qpel ## SIZE ## _mc31_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
310
+static void OPNAME ## h264_qpel ## SIZE ## _mc31_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
311 311
 {\
312 312
     DECLARE_ALIGNED(ALIGN, uint8_t, temp)[SIZE*SIZE];\
313 313
     ff_put_h264_qpel ## SIZE ## _v_lowpass_ ## MMX(temp, src+1, SIZE, stride);\
314 314
     ff_ ## OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src, temp, stride, SIZE);\
315 315
 }\
316 316
 \
317
-static void OPNAME ## h264_qpel ## SIZE ## _mc13_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
317
+static void OPNAME ## h264_qpel ## SIZE ## _mc13_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
318 318
 {\
319 319
     DECLARE_ALIGNED(ALIGN, uint8_t, temp)[SIZE*SIZE];\
320 320
     ff_put_h264_qpel ## SIZE ## _v_lowpass_ ## MMX(temp, src, SIZE, stride);\
321 321
     ff_ ## OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src+stride, temp, stride, SIZE);\
322 322
 }\
323 323
 \
324
-static void OPNAME ## h264_qpel ## SIZE ## _mc33_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
324
+static void OPNAME ## h264_qpel ## SIZE ## _mc33_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
325 325
 {\
326 326
     DECLARE_ALIGNED(ALIGN, uint8_t, temp)[SIZE*SIZE];\
327 327
     ff_put_h264_qpel ## SIZE ## _v_lowpass_ ## MMX(temp, src+1, SIZE, stride);\
328 328
     ff_ ## OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src+stride, temp, stride, SIZE);\
329 329
 }\
330 330
 \
331
-static void OPNAME ## h264_qpel ## SIZE ## _mc22_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
331
+static void OPNAME ## h264_qpel ## SIZE ## _mc22_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
332 332
 {\
333 333
     DECLARE_ALIGNED(ALIGN, uint16_t, temp)[SIZE*(SIZE<8?12:24)];\
334 334
     ff_ ## OPNAME ## h264_qpel ## SIZE ## _hv_lowpass_ ## MMX(dst, temp, src, stride, SIZE, stride);\
335 335
 }\
336 336
 \
337
-static void OPNAME ## h264_qpel ## SIZE ## _mc21_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
337
+static void OPNAME ## h264_qpel ## SIZE ## _mc21_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
338 338
 {\
339 339
     DECLARE_ALIGNED(ALIGN, uint8_t, temp)[SIZE*(SIZE<8?12:24)*2 + SIZE*SIZE];\
340 340
     uint8_t * const halfHV= temp;\
... ...
@@ -344,7 +344,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc21_ ## MMX(uint8_t *dst, uint8_t *
344 344
     ff_ ## OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src, halfHV, stride, SIZE);\
345 345
 }\
346 346
 \
347
-static void OPNAME ## h264_qpel ## SIZE ## _mc23_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
347
+static void OPNAME ## h264_qpel ## SIZE ## _mc23_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
348 348
 {\
349 349
     DECLARE_ALIGNED(ALIGN, uint8_t, temp)[SIZE*(SIZE<8?12:24)*2 + SIZE*SIZE];\
350 350
     uint8_t * const halfHV= temp;\
... ...
@@ -354,7 +354,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc23_ ## MMX(uint8_t *dst, uint8_t *
354 354
     ff_ ## OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src+stride, halfHV, stride, SIZE);\
355 355
 }\
356 356
 \
357
-static void OPNAME ## h264_qpel ## SIZE ## _mc12_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
357
+static void OPNAME ## h264_qpel ## SIZE ## _mc12_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
358 358
 {\
359 359
     DECLARE_ALIGNED(ALIGN, uint8_t, temp)[SIZE*(SIZE<8?12:24)*2 + SIZE*SIZE];\
360 360
     uint8_t * const halfHV= temp;\
... ...
@@ -364,7 +364,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc12_ ## MMX(uint8_t *dst, uint8_t *
364 364
     ff_ ## OPNAME ## pixels ## SIZE ## _l2_shift5_mmxext(dst, halfV+2, halfHV, stride, SIZE, SIZE);\
365 365
 }\
366 366
 \
367
-static void OPNAME ## h264_qpel ## SIZE ## _mc32_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
367
+static void OPNAME ## h264_qpel ## SIZE ## _mc32_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
368 368
 {\
369 369
     DECLARE_ALIGNED(ALIGN, uint8_t, temp)[SIZE*(SIZE<8?12:24)*2 + SIZE*SIZE];\
370 370
     uint8_t * const halfHV= temp;\
... ...
@@ -409,7 +409,7 @@ H264_MC_816(H264_MC_HV, ssse3)
409 409
 //10bit
410 410
 #define LUMA_MC_OP(OP, NUM, DEPTH, TYPE, OPT) \
411 411
 void ff_ ## OP ## _h264_qpel ## NUM ## _ ## TYPE ## _ ## DEPTH ## _ ## OPT \
412
-    (uint8_t *dst, uint8_t *src, ptrdiff_t stride);
412
+    (uint8_t *dst, const uint8_t *src, ptrdiff_t stride);
413 413
 
414 414
 #define LUMA_MC_ALL(DEPTH, TYPE, OPT) \
415 415
     LUMA_MC_OP(put,  4, DEPTH, TYPE, OPT) \
... ...
@@ -466,7 +466,7 @@ LUMA_MC_816(10, mc23, sse2)
466 466
 LUMA_MC_816(10, mc33, sse2)
467 467
 
468 468
 #define QPEL16_OPMC(OP, MC, MMX)\
469
-void ff_ ## OP ## _h264_qpel16_ ## MC ## _10_ ## MMX(uint8_t *dst, uint8_t *src, ptrdiff_t stride){\
469
+void ff_ ## OP ## _h264_qpel16_ ## MC ## _10_ ## MMX(uint8_t *dst, const uint8_t *src, ptrdiff_t stride){\
470 470
     ff_ ## OP ## _h264_qpel8_ ## MC ## _10_ ## MMX(dst   , src   , stride);\
471 471
     ff_ ## OP ## _h264_qpel8_ ## MC ## _10_ ## MMX(dst+16, src+16, stride);\
472 472
     src += 8*stride;\
... ...
@@ -29,44 +29,53 @@
29 29
 #include "libavcodec/qpeldsp.h"
30 30
 #include "fpel.h"
31 31
 
32
-void ff_put_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
32
+void ff_put_pixels8_l2_mmxext(uint8_t *dst,
33
+                              const uint8_t *src1, const uint8_t *src2,
33 34
                               int dstStride, int src1Stride, int h);
34
-void ff_put_no_rnd_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1,
35
-                                     uint8_t *src2, int dstStride,
36
-                                     int src1Stride, int h);
37
-void ff_avg_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
35
+void ff_put_no_rnd_pixels8_l2_mmxext(uint8_t *dst,
36
+                                     const uint8_t *src1, const uint8_t *src2,
37
+                                     int dstStride, int src1Stride, int h);
38
+void ff_avg_pixels8_l2_mmxext(uint8_t *dst,
39
+                              const uint8_t *src1, const uint8_t *src2,
38 40
                               int dstStride, int src1Stride, int h);
39
-void ff_put_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
41
+void ff_put_pixels16_l2_mmxext(uint8_t *dst,
42
+                               const uint8_t *src1, const uint8_t *src2,
40 43
                                int dstStride, int src1Stride, int h);
41
-void ff_avg_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
44
+void ff_avg_pixels16_l2_mmxext(uint8_t *dst,
45
+                               const uint8_t *src1, const uint8_t *src2,
42 46
                                int dstStride, int src1Stride, int h);
43
-void ff_put_no_rnd_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
47
+void ff_put_no_rnd_pixels16_l2_mmxext(uint8_t *dst,
48
+                                      const uint8_t *src1, const uint8_t *src2,
44 49
                                       int dstStride, int src1Stride, int h);
45
-void ff_put_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, uint8_t *src,
50
+void ff_put_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
46 51
                                           int dstStride, int srcStride, int h);
47
-void ff_avg_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, uint8_t *src,
52
+void ff_avg_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
48 53
                                           int dstStride, int srcStride, int h);
49
-void ff_put_no_rnd_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, uint8_t *src,
54
+void ff_put_no_rnd_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst,
55
+                                                 const uint8_t *src,
50 56
                                                  int dstStride, int srcStride,
51 57
                                                  int h);
52
-void ff_put_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, uint8_t *src,
58
+void ff_put_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
53 59
                                          int dstStride, int srcStride, int h);
54
-void ff_avg_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, uint8_t *src,
60
+void ff_avg_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
55 61
                                          int dstStride, int srcStride, int h);
56
-void ff_put_no_rnd_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, uint8_t *src,
62
+void ff_put_no_rnd_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst,
63
+                                                const uint8_t *src,
57 64
                                                 int dstStride, int srcStride,
58 65
                                                 int h);
59
-void ff_put_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
66
+void ff_put_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
60 67
                                           int dstStride, int srcStride);
61
-void ff_avg_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
68
+void ff_avg_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
62 69
                                           int dstStride, int srcStride);
63
-void ff_put_no_rnd_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
70
+void ff_put_no_rnd_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst,
71
+                                                 const uint8_t *src,
64 72
                                                  int dstStride, int srcStride);
65
-void ff_put_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
73
+void ff_put_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
66 74
                                          int dstStride, int srcStride);
67
-void ff_avg_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
75
+void ff_avg_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
68 76
                                          int dstStride, int srcStride);
69
-void ff_put_no_rnd_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
77
+void ff_put_no_rnd_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst,
78
+                                                const uint8_t *src,
70 79
                                                 int dstStride, int srcStride);
71 80
 #define ff_put_no_rnd_pixels16_mmxext ff_put_pixels16_mmxext
72 81
 #define ff_put_no_rnd_pixels8_mmxext ff_put_pixels8_mmxext
... ...
@@ -77,13 +86,15 @@ CALL_2X_PIXELS(ff_avg_pixels16_mmxext, ff_avg_pixels8_mmxext, 8)
77 77
 CALL_2X_PIXELS(ff_put_pixels16_mmxext, ff_put_pixels8_mmxext, 8)
78 78
 
79 79
 #define QPEL_OP(OPNAME, RND, MMX)                                       \
80
-static void OPNAME ## qpel8_mc00_ ## MMX(uint8_t *dst, uint8_t *src,    \
80
+static void OPNAME ## qpel8_mc00_ ## MMX(uint8_t *dst,                  \
81
+                                         const uint8_t *src,            \
81 82
                                          ptrdiff_t stride)              \
82 83
 {                                                                       \
83 84
     ff_ ## OPNAME ## pixels8_ ## MMX(dst, src, stride, 8);              \
84 85
 }                                                                       \
85 86
                                                                         \
86
-static void OPNAME ## qpel8_mc10_ ## MMX(uint8_t *dst, uint8_t *src,    \
87
+static void OPNAME ## qpel8_mc10_ ## MMX(uint8_t *dst,                  \
88
+                                         const uint8_t *src,            \
87 89
                                          ptrdiff_t stride)              \
88 90
 {                                                                       \
89 91
     uint64_t temp[8];                                                   \
... ...
@@ -94,14 +105,16 @@ static void OPNAME ## qpel8_mc10_ ## MMX(uint8_t *dst, uint8_t *src,    \
94 94
                                         stride, stride, 8);             \
95 95
 }                                                                       \
96 96
                                                                         \
97
-static void OPNAME ## qpel8_mc20_ ## MMX(uint8_t *dst, uint8_t *src,    \
97
+static void OPNAME ## qpel8_mc20_ ## MMX(uint8_t *dst,                  \
98
+                                         const uint8_t *src,            \
98 99
                                          ptrdiff_t stride)              \
99 100
 {                                                                       \
100 101
     ff_ ## OPNAME ## mpeg4_qpel8_h_lowpass_ ## MMX(dst, src, stride,    \
101 102
                                                    stride, 8);          \
102 103
 }                                                                       \
103 104
                                                                         \
104
-static void OPNAME ## qpel8_mc30_ ## MMX(uint8_t *dst, uint8_t *src,    \
105
+static void OPNAME ## qpel8_mc30_ ## MMX(uint8_t *dst,                  \
106
+                                         const uint8_t *src,            \
105 107
                                          ptrdiff_t stride)              \
106 108
 {                                                                       \
107 109
     uint64_t temp[8];                                                   \
... ...
@@ -112,7 +125,8 @@ static void OPNAME ## qpel8_mc30_ ## MMX(uint8_t *dst, uint8_t *src,    \
112 112
                                         stride, 8);                     \
113 113
 }                                                                       \
114 114
                                                                         \
115
-static void OPNAME ## qpel8_mc01_ ## MMX(uint8_t *dst, uint8_t *src,    \
115
+static void OPNAME ## qpel8_mc01_ ## MMX(uint8_t *dst,                  \
116
+                                         const uint8_t *src,            \
116 117
                                          ptrdiff_t stride)              \
117 118
 {                                                                       \
118 119
     uint64_t temp[8];                                                   \
... ...
@@ -123,14 +137,16 @@ static void OPNAME ## qpel8_mc01_ ## MMX(uint8_t *dst, uint8_t *src,    \
123 123
                                         stride, stride, 8);             \
124 124
 }                                                                       \
125 125
                                                                         \
126
-static void OPNAME ## qpel8_mc02_ ## MMX(uint8_t *dst, uint8_t *src,    \
126
+static void OPNAME ## qpel8_mc02_ ## MMX(uint8_t *dst,                  \
127
+                                         const uint8_t *src,            \
127 128
                                          ptrdiff_t stride)              \
128 129
 {                                                                       \
129 130
     ff_ ## OPNAME ## mpeg4_qpel8_v_lowpass_ ## MMX(dst, src,            \
130 131
                                                    stride, stride);     \
131 132
 }                                                                       \
132 133
                                                                         \
133
-static void OPNAME ## qpel8_mc03_ ## MMX(uint8_t *dst, uint8_t *src,    \
134
+static void OPNAME ## qpel8_mc03_ ## MMX(uint8_t *dst,                  \
135
+                                         const uint8_t *src,            \
134 136
                                          ptrdiff_t stride)              \
135 137
 {                                                                       \
136 138
     uint64_t temp[8];                                                   \
... ...
@@ -141,7 +157,8 @@ static void OPNAME ## qpel8_mc03_ ## MMX(uint8_t *dst, uint8_t *src,    \
141 141
                                         stride, 8);                     \
142 142
 }                                                                       \
143 143
                                                                         \
144
-static void OPNAME ## qpel8_mc11_ ## MMX(uint8_t *dst, uint8_t *src,    \
144
+static void OPNAME ## qpel8_mc11_ ## MMX(uint8_t *dst,                  \
145
+                                         const uint8_t *src,            \
145 146
                                          ptrdiff_t stride)              \
146 147
 {                                                                       \
147 148
     uint64_t half[8 + 9];                                               \
... ...
@@ -156,7 +173,8 @@ static void OPNAME ## qpel8_mc11_ ## MMX(uint8_t *dst, uint8_t *src,    \
156 156
                                         stride, 8, 8);                  \
157 157
 }                                                                       \
158 158
                                                                         \
159
-static void OPNAME ## qpel8_mc31_ ## MMX(uint8_t *dst, uint8_t *src,    \
159
+static void OPNAME ## qpel8_mc31_ ## MMX(uint8_t *dst,                  \
160
+                                         const uint8_t *src,            \
160 161
                                          ptrdiff_t stride)              \
161 162
 {                                                                       \
162 163
     uint64_t half[8 + 9];                                               \
... ...
@@ -171,7 +189,8 @@ static void OPNAME ## qpel8_mc31_ ## MMX(uint8_t *dst, uint8_t *src,    \
171 171
                                         stride, 8, 8);                  \
172 172
 }                                                                       \
173 173
                                                                         \
174
-static void OPNAME ## qpel8_mc13_ ## MMX(uint8_t *dst, uint8_t *src,    \
174
+static void OPNAME ## qpel8_mc13_ ## MMX(uint8_t *dst,                  \
175
+                                         const uint8_t *src,            \
175 176
                                          ptrdiff_t stride)              \
176 177
 {                                                                       \
177 178
     uint64_t half[8 + 9];                                               \
... ...
@@ -186,7 +205,8 @@ static void OPNAME ## qpel8_mc13_ ## MMX(uint8_t *dst, uint8_t *src,    \
186 186
                                         stride, 8, 8);                  \
187 187
 }                                                                       \
188 188
                                                                         \
189
-static void OPNAME ## qpel8_mc33_ ## MMX(uint8_t *dst, uint8_t *src,    \
189
+static void OPNAME ## qpel8_mc33_ ## MMX(uint8_t *dst,                  \
190
+                                         const uint8_t *src,            \
190 191
                                          ptrdiff_t stride)              \
191 192
 {                                                                       \
192 193
     uint64_t half[8 + 9];                                               \
... ...
@@ -201,7 +221,8 @@ static void OPNAME ## qpel8_mc33_ ## MMX(uint8_t *dst, uint8_t *src,    \
201 201
                                         stride, 8, 8);                  \
202 202
 }                                                                       \
203 203
                                                                         \
204
-static void OPNAME ## qpel8_mc21_ ## MMX(uint8_t *dst, uint8_t *src,    \
204
+static void OPNAME ## qpel8_mc21_ ## MMX(uint8_t *dst,                  \
205
+                                         const uint8_t *src,            \
205 206
                                          ptrdiff_t stride)              \
206 207
 {                                                                       \
207 208
     uint64_t half[8 + 9];                                               \
... ...
@@ -214,7 +235,8 @@ static void OPNAME ## qpel8_mc21_ ## MMX(uint8_t *dst, uint8_t *src,    \
214 214
                                         stride, 8, 8);                  \
215 215
 }                                                                       \
216 216
                                                                         \
217
-static void OPNAME ## qpel8_mc23_ ## MMX(uint8_t *dst, uint8_t *src,    \
217
+static void OPNAME ## qpel8_mc23_ ## MMX(uint8_t *dst,                  \
218
+                                         const uint8_t *src,            \
218 219
                                          ptrdiff_t stride)              \
219 220
 {                                                                       \
220 221
     uint64_t half[8 + 9];                                               \
... ...
@@ -227,7 +249,8 @@ static void OPNAME ## qpel8_mc23_ ## MMX(uint8_t *dst, uint8_t *src,    \
227 227
                                         stride, 8, 8);                  \
228 228
 }                                                                       \
229 229
                                                                         \
230
-static void OPNAME ## qpel8_mc12_ ## MMX(uint8_t *dst, uint8_t *src,    \
230
+static void OPNAME ## qpel8_mc12_ ## MMX(uint8_t *dst,                  \
231
+                                         const uint8_t *src,            \
231 232
                                          ptrdiff_t stride)              \
232 233
 {                                                                       \
233 234
     uint64_t half[8 + 9];                                               \
... ...
@@ -240,7 +263,8 @@ static void OPNAME ## qpel8_mc12_ ## MMX(uint8_t *dst, uint8_t *src,    \
240 240
                                                    stride, 8);          \
241 241
 }                                                                       \
242 242
                                                                         \
243
-static void OPNAME ## qpel8_mc32_ ## MMX(uint8_t *dst, uint8_t *src,    \
243
+static void OPNAME ## qpel8_mc32_ ## MMX(uint8_t *dst,                  \
244
+                                         const uint8_t *src,            \
244 245
                                          ptrdiff_t stride)              \
245 246
 {                                                                       \
246 247
     uint64_t half[8 + 9];                                               \
... ...
@@ -253,7 +277,8 @@ static void OPNAME ## qpel8_mc32_ ## MMX(uint8_t *dst, uint8_t *src,    \
253 253
                                                    stride, 8);          \
254 254
 }                                                                       \
255 255
                                                                         \
256
-static void OPNAME ## qpel8_mc22_ ## MMX(uint8_t *dst, uint8_t *src,    \
256
+static void OPNAME ## qpel8_mc22_ ## MMX(uint8_t *dst,                  \
257
+                                         const uint8_t *src,            \
257 258
                                          ptrdiff_t stride)              \
258 259
 {                                                                       \
259 260
     uint64_t half[9];                                                   \
... ...
@@ -264,13 +289,15 @@ static void OPNAME ## qpel8_mc22_ ## MMX(uint8_t *dst, uint8_t *src,    \
264 264
                                                    stride, 8);          \
265 265
 }                                                                       \
266 266
                                                                         \
267
-static void OPNAME ## qpel16_mc00_ ## MMX(uint8_t *dst, uint8_t *src,   \
267
+static void OPNAME ## qpel16_mc00_ ## MMX(uint8_t *dst,                 \
268
+                                          const uint8_t *src,           \
268 269
                                           ptrdiff_t stride)             \
269 270
 {                                                                       \
270 271
     ff_ ## OPNAME ## pixels16_ ## MMX(dst, src, stride, 16);            \
271 272
 }                                                                       \
272 273
                                                                         \
273
-static void OPNAME ## qpel16_mc10_ ## MMX(uint8_t *dst, uint8_t *src,   \
274
+static void OPNAME ## qpel16_mc10_ ## MMX(uint8_t *dst,                 \
275
+                                          const uint8_t *src,           \
274 276
                                           ptrdiff_t stride)             \
275 277
 {                                                                       \
276 278
     uint64_t temp[32];                                                  \
... ...
@@ -281,14 +308,16 @@ static void OPNAME ## qpel16_mc10_ ## MMX(uint8_t *dst, uint8_t *src,   \
281 281
                                          stride, 16);                   \
282 282
 }                                                                       \
283 283
                                                                         \
284
-static void OPNAME ## qpel16_mc20_ ## MMX(uint8_t *dst, uint8_t *src,   \
284
+static void OPNAME ## qpel16_mc20_ ## MMX(uint8_t *dst,                 \
285
+                                          const uint8_t *src,           \
285 286
                                           ptrdiff_t stride)             \
286 287
 {                                                                       \
287 288
     ff_ ## OPNAME ## mpeg4_qpel16_h_lowpass_ ## MMX(dst, src,           \
288 289
                                                     stride, stride, 16);\
289 290
 }                                                                       \
290 291
                                                                         \
291
-static void OPNAME ## qpel16_mc30_ ## MMX(uint8_t *dst, uint8_t *src,   \
292
+static void OPNAME ## qpel16_mc30_ ## MMX(uint8_t *dst,                 \
293
+                                          const uint8_t *src,           \
292 294
                                           ptrdiff_t stride)             \
293 295
 {                                                                       \
294 296
     uint64_t temp[32];                                                  \
... ...
@@ -299,7 +328,8 @@ static void OPNAME ## qpel16_mc30_ ## MMX(uint8_t *dst, uint8_t *src,   \
299 299
                                          stride, stride, 16);           \
300 300
 }                                                                       \
301 301
                                                                         \
302
-static void OPNAME ## qpel16_mc01_ ## MMX(uint8_t *dst, uint8_t *src,   \
302
+static void OPNAME ## qpel16_mc01_ ## MMX(uint8_t *dst,                 \
303
+                                          const uint8_t *src,           \
303 304
                                           ptrdiff_t stride)             \
304 305
 {                                                                       \
305 306
     uint64_t temp[32];                                                  \
... ...
@@ -310,14 +340,16 @@ static void OPNAME ## qpel16_mc01_ ## MMX(uint8_t *dst, uint8_t *src,   \
310 310
                                          stride, 16);                   \
311 311
 }                                                                       \
312 312
                                                                         \
313
-static void OPNAME ## qpel16_mc02_ ## MMX(uint8_t *dst, uint8_t *src,   \
313
+static void OPNAME ## qpel16_mc02_ ## MMX(uint8_t *dst,                 \
314
+                                          const uint8_t *src,           \
314 315
                                           ptrdiff_t stride)             \
315 316
 {                                                                       \
316 317
     ff_ ## OPNAME ## mpeg4_qpel16_v_lowpass_ ## MMX(dst, src,           \
317 318
                                                     stride, stride);    \
318 319
 }                                                                       \
319 320
                                                                         \
320
-static void OPNAME ## qpel16_mc03_ ## MMX(uint8_t *dst, uint8_t *src,   \
321
+static void OPNAME ## qpel16_mc03_ ## MMX(uint8_t *dst,                 \
322
+                                          const uint8_t *src,           \
321 323
                                           ptrdiff_t stride)             \
322 324
 {                                                                       \
323 325
     uint64_t temp[32];                                                  \
... ...
@@ -328,7 +360,8 @@ static void OPNAME ## qpel16_mc03_ ## MMX(uint8_t *dst, uint8_t *src,   \
328 328
                                          stride, stride, 16);           \
329 329
 }                                                                       \
330 330
                                                                         \
331
-static void OPNAME ## qpel16_mc11_ ## MMX(uint8_t *dst, uint8_t *src,   \
331
+static void OPNAME ## qpel16_mc11_ ## MMX(uint8_t *dst,                 \
332
+                                          const uint8_t *src,           \
332 333
                                           ptrdiff_t stride)             \
333 334
 {                                                                       \
334 335
     uint64_t half[16 * 2 + 17 * 2];                                     \
... ...
@@ -344,7 +377,8 @@ static void OPNAME ## qpel16_mc11_ ## MMX(uint8_t *dst, uint8_t *src,   \
344 344
                                          stride, 16, 16);               \
345 345
 }                                                                       \
346 346
                                                                         \
347
-static void OPNAME ## qpel16_mc31_ ## MMX(uint8_t *dst, uint8_t *src,   \
347
+static void OPNAME ## qpel16_mc31_ ## MMX(uint8_t *dst,                 \
348
+                                          const uint8_t *src,           \
348 349
                                           ptrdiff_t stride)             \
349 350
 {                                                                       \
350 351
     uint64_t half[16 * 2 + 17 * 2];                                     \
... ...
@@ -360,7 +394,8 @@ static void OPNAME ## qpel16_mc31_ ## MMX(uint8_t *dst, uint8_t *src,   \
360 360
                                          stride, 16, 16);               \
361 361
 }                                                                       \
362 362
                                                                         \
363
-static void OPNAME ## qpel16_mc13_ ## MMX(uint8_t *dst, uint8_t *src,   \
363
+static void OPNAME ## qpel16_mc13_ ## MMX(uint8_t *dst,                 \
364
+                                          const uint8_t *src,           \
364 365
                                           ptrdiff_t stride)             \
365 366
 {                                                                       \
366 367
     uint64_t half[16 * 2 + 17 * 2];                                     \
... ...
@@ -376,7 +411,8 @@ static void OPNAME ## qpel16_mc13_ ## MMX(uint8_t *dst, uint8_t *src,   \
376 376
                                          stride, 16, 16);               \
377 377
 }                                                                       \
378 378
                                                                         \
379
-static void OPNAME ## qpel16_mc33_ ## MMX(uint8_t *dst, uint8_t *src,   \
379
+static void OPNAME ## qpel16_mc33_ ## MMX(uint8_t *dst,                 \
380
+                                          const uint8_t *src,           \
380 381
                                           ptrdiff_t stride)             \
381 382
 {                                                                       \
382 383
     uint64_t half[16 * 2 + 17 * 2];                                     \
... ...
@@ -392,7 +428,8 @@ static void OPNAME ## qpel16_mc33_ ## MMX(uint8_t *dst, uint8_t *src,   \
392 392
                                          stride, 16, 16);               \
393 393
 }                                                                       \
394 394
                                                                         \
395
-static void OPNAME ## qpel16_mc21_ ## MMX(uint8_t *dst, uint8_t *src,   \
395
+static void OPNAME ## qpel16_mc21_ ## MMX(uint8_t *dst,                 \
396
+                                          const uint8_t *src,           \
396 397
                                           ptrdiff_t stride)             \
397 398
 {                                                                       \
398 399
     uint64_t half[16 * 2 + 17 * 2];                                     \
... ...
@@ -406,7 +443,8 @@ static void OPNAME ## qpel16_mc21_ ## MMX(uint8_t *dst, uint8_t *src,   \
406 406
                                          stride, 16, 16);               \
407 407
 }                                                                       \
408 408
                                                                         \
409
-static void OPNAME ## qpel16_mc23_ ## MMX(uint8_t *dst, uint8_t *src,   \
409
+static void OPNAME ## qpel16_mc23_ ## MMX(uint8_t *dst,                 \
410
+                                          const uint8_t *src,           \
410 411
                                           ptrdiff_t stride)             \
411 412
 {                                                                       \
412 413
     uint64_t half[16 * 2 + 17 * 2];                                     \
... ...
@@ -420,7 +458,8 @@ static void OPNAME ## qpel16_mc23_ ## MMX(uint8_t *dst, uint8_t *src,   \
420 420
                                          stride, 16, 16);               \
421 421
 }                                                                       \
422 422
                                                                         \
423
-static void OPNAME ## qpel16_mc12_ ## MMX(uint8_t *dst, uint8_t *src,   \
423
+static void OPNAME ## qpel16_mc12_ ## MMX(uint8_t *dst,                 \
424
+                                          const uint8_t *src,           \
424 425
                                           ptrdiff_t stride)             \
425 426
 {                                                                       \
426 427
     uint64_t half[17 * 2];                                              \
... ...
@@ -433,7 +472,8 @@ static void OPNAME ## qpel16_mc12_ ## MMX(uint8_t *dst, uint8_t *src,   \
433 433
                                                     stride, 16);        \
434 434
 }                                                                       \
435 435
                                                                         \
436
-static void OPNAME ## qpel16_mc32_ ## MMX(uint8_t *dst, uint8_t *src,   \
436
+static void OPNAME ## qpel16_mc32_ ## MMX(uint8_t *dst,                 \
437
+                                          const uint8_t *src,           \
437 438
                                           ptrdiff_t stride)             \
438 439
 {                                                                       \
439 440
     uint64_t half[17 * 2];                                              \
... ...
@@ -446,7 +486,8 @@ static void OPNAME ## qpel16_mc32_ ## MMX(uint8_t *dst, uint8_t *src,   \
446 446
                                                     stride, 16);        \
447 447
 }                                                                       \
448 448
                                                                         \
449
-static void OPNAME ## qpel16_mc22_ ## MMX(uint8_t *dst, uint8_t *src,   \
449
+static void OPNAME ## qpel16_mc22_ ## MMX(uint8_t *dst,                 \
450
+                                          const uint8_t *src,           \
450 451
                                           ptrdiff_t stride)             \
451 452
 {                                                                       \
452 453
     uint64_t half[17 * 2];                                              \
... ...
@@ -70,7 +70,7 @@ DECLARE_WEIGHT(ssse3)
70 70
  */
71 71
 #define QPEL_FUNC_DECL(OP, SIZE, PH, PV, OPT)                           \
72 72
 static void OP ## rv40_qpel ##SIZE ##_mc ##PH ##PV ##OPT(uint8_t *dst,  \
73
-                                                         uint8_t *src,  \
73
+                                                         const uint8_t *src, \
74 74
                                                          ptrdiff_t stride)  \
75 75
 {                                                                       \
76 76
     int i;                                                              \
... ...
@@ -189,22 +189,22 @@ QPEL_FUNCS_SET (OP, 3, 2, OPT)
189 189
 #endif /* HAVE_YASM */
190 190
 
191 191
 #if HAVE_MMX_INLINE
192
-static void put_rv40_qpel8_mc33_mmx(uint8_t *dst, uint8_t *src,
192
+static void put_rv40_qpel8_mc33_mmx(uint8_t *dst, const uint8_t *src,
193 193
                                     ptrdiff_t stride)
194 194
 {
195 195
     ff_put_pixels8_xy2_mmx(dst, src, stride, 8);
196 196
 }
197
-static void put_rv40_qpel16_mc33_mmx(uint8_t *dst, uint8_t *src,
197
+static void put_rv40_qpel16_mc33_mmx(uint8_t *dst, const uint8_t *src,
198 198
                                      ptrdiff_t stride)
199 199
 {
200 200
     ff_put_pixels16_xy2_mmx(dst, src, stride, 16);
201 201
 }
202
-static void avg_rv40_qpel8_mc33_mmx(uint8_t *dst, uint8_t *src,
202
+static void avg_rv40_qpel8_mc33_mmx(uint8_t *dst, const uint8_t *src,
203 203
                                     ptrdiff_t stride)
204 204
 {
205 205
     ff_avg_pixels8_xy2_mmx(dst, src, stride, 8);
206 206
 }
207
-static void avg_rv40_qpel16_mc33_mmx(uint8_t *dst, uint8_t *src,
207
+static void avg_rv40_qpel16_mc33_mmx(uint8_t *dst, const uint8_t *src,
208 208
                                      ptrdiff_t stride)
209 209
 {
210 210
     ff_avg_pixels16_xy2_mmx(dst, src, stride, 16);