Merge commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac'
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 25 Jul 2014 10:58:03 +0000 (12:58 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 25 Jul 2014 11:05:08 +0000 (13:05 +0200)
* commit '7fb993d338d88f2f62e0a358b6c9f3eb9a3a08ac':
  qpeldsp: Mark source pointer in qpel_mc_func function pointer const

Conflicts:
libavcodec/h264qpel_template.c
libavcodec/x86/cavsdsp.c
libavcodec/x86/rv40dsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
15 files changed:
1  2 
libavcodec/arm/h264qpel_init_arm.c
libavcodec/arm/rv40dsp_init_arm.c
libavcodec/cavsdsp.c
libavcodec/h264qpel_template.c
libavcodec/ppc/h264qpel.c
libavcodec/ppc/h264qpel_template.c
libavcodec/qpeldsp.c
libavcodec/qpeldsp.h
libavcodec/rv30dsp.c
libavcodec/rv40dsp.c
libavcodec/wmv2dsp.c
libavcodec/x86/cavsdsp.c
libavcodec/x86/h264_qpel.c
libavcodec/x86/qpeldsp_init.c
libavcodec/x86/rv40dsp_init.c

Simple merge
Simple merge
Simple merge
@@@ -75,14 -75,14 +75,14 @@@ static inline void FUNC(copy_block16)(u
  }
  
  #define H264_LOWPASS(OPNAME, OP, OP2) \
- static av_unused void FUNC(OPNAME ## h264_qpel2_h_lowpass)(uint8_t *p_dst, uint8_t *p_src, int dstStride, int srcStride){\
 -static av_unused void FUNC(OPNAME ## h264_qpel2_h_lowpass)(uint8_t *_dst, const uint8_t *_src, int dstStride, int srcStride){\
++static av_unused void FUNC(OPNAME ## h264_qpel2_h_lowpass)(uint8_t *p_dst, const uint8_t *p_src, int dstStride, int srcStride){\
      const int h=2;\
      INIT_CLIP\
      int i;\
 -    pixel *dst = (pixel*)_dst;\
 -    const pixel *src = (const pixel*)_src;\
 -    dstStride /= sizeof(pixel);\
 -    srcStride /= sizeof(pixel);\
 +    pixel *dst = (pixel*)p_dst;\
-     pixel *src = (pixel*)p_src;\
++    const pixel *src = (const pixel*)p_src;\
 +    dstStride >>= sizeof(pixel)-1;\
 +    srcStride >>= sizeof(pixel)-1;\
      for(i=0; i<h; i++)\
      {\
          OP(dst[0], (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3]));\
@@@ -96,10 -96,10 +96,10 @@@ static av_unused void FUNC(OPNAME ## h2
      const int w=2;\
      INIT_CLIP\
      int i;\
-     pixel *dst = (pixel*)p_dst;\
-     pixel *src = (pixel*)p_src;\
+     pixel *dst = (pixel*)_dst;\
+     const pixel *src = (const pixel*)_src;\
 -    dstStride /= sizeof(pixel);\
 -    srcStride /= sizeof(pixel);\
 +    dstStride >>= sizeof(pixel)-1;\
 +    srcStride >>= sizeof(pixel)-1;\
      for(i=0; i<w; i++)\
      {\
          const int srcB= src[-2*srcStride];\
      }\
  }\
  \
- static av_unused void FUNC(OPNAME ## h264_qpel2_hv_lowpass)(uint8_t *p_dst, pixeltmp *tmp, uint8_t *p_src, int dstStride, int tmpStride, int srcStride){\
 -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){\
++static av_unused void FUNC(OPNAME ## h264_qpel2_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp, const uint8_t *_src, int dstStride, int tmpStride, int srcStride){\
      const int h=2;\
      const int w=2;\
 -    const int pad = (BIT_DEPTH > 9) ? (-10 * ((1<<BIT_DEPTH)-1)) : 0;\
 +    const int pad = (BIT_DEPTH == 10) ? (-10 * ((1<<BIT_DEPTH)-1)) : 0;\
      INIT_CLIP\
      int i;\
-     pixel *dst = (pixel*)p_dst;\
-     pixel *src = (pixel*)p_src;\
+     pixel *dst = (pixel*)_dst;\
+     const pixel *src = (const pixel*)_src;\
 -    dstStride /= sizeof(pixel);\
 -    srcStride /= sizeof(pixel);\
 +    dstStride >>= sizeof(pixel)-1;\
 +    srcStride >>= sizeof(pixel)-1;\
      src -= 2*srcStride;\
      for(i=0; i<h+5; i++)\
      {\
@@@ -154,10 -154,10 +154,10 @@@ static void FUNC(OPNAME ## h264_qpel4_h
      const int h=4;\
      INIT_CLIP\
      int i;\
-     pixel *dst = (pixel*)p_dst;\
-     pixel *src = (pixel*)p_src;\
+     pixel *dst = (pixel*)_dst;\
+     const pixel *src = (const pixel*)_src;\
 -    dstStride /= sizeof(pixel);\
 -    srcStride /= sizeof(pixel);\
 +    dstStride >>= sizeof(pixel)-1;\
 +    srcStride >>= sizeof(pixel)-1;\
      for(i=0; i<h; i++)\
      {\
          OP(dst[0], (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3]));\
@@@ -173,10 -173,10 +173,10 @@@ static void FUNC(OPNAME ## h264_qpel4_v
      const int w=4;\
      INIT_CLIP\
      int i;\
-     pixel *dst = (pixel*)p_dst;\
-     pixel *src = (pixel*)p_src;\
+     pixel *dst = (pixel*)_dst;\
+     const pixel *src = (const pixel*)_src;\
 -    dstStride /= sizeof(pixel);\
 -    srcStride /= sizeof(pixel);\
 +    dstStride >>= sizeof(pixel)-1;\
 +    srcStride >>= sizeof(pixel)-1;\
      for(i=0; i<w; i++)\
      {\
          const int srcB= src[-2*srcStride];\
      }\
  }\
  \
- static void FUNC(OPNAME ## h264_qpel4_hv_lowpass)(uint8_t *p_dst, pixeltmp *tmp, uint8_t *p_src, int dstStride, int tmpStride, int srcStride){\
 -static void FUNC(OPNAME ## h264_qpel4_hv_lowpass)(uint8_t *_dst, int16_t *tmp, const uint8_t *_src, int dstStride, int tmpStride, int srcStride){\
++static void FUNC(OPNAME ## h264_qpel4_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp, const uint8_t *_src, int dstStride, int tmpStride, int srcStride){\
      const int h=4;\
      const int w=4;\
 -    const int pad = (BIT_DEPTH > 9) ? (-10 * ((1<<BIT_DEPTH)-1)) : 0;\
 +    const int pad = (BIT_DEPTH == 10) ? (-10 * ((1<<BIT_DEPTH)-1)) : 0;\
      INIT_CLIP\
      int i;\
-     pixel *dst = (pixel*)p_dst;\
-     pixel *src = (pixel*)p_src;\
+     pixel *dst = (pixel*)_dst;\
+     const pixel *src = (const pixel*)_src;\
 -    dstStride /= sizeof(pixel);\
 -    srcStride /= sizeof(pixel);\
 +    dstStride >>= sizeof(pixel)-1;\
 +    srcStride >>= sizeof(pixel)-1;\
      src -= 2*srcStride;\
      for(i=0; i<h+5; i++)\
      {\
@@@ -242,10 -242,10 +242,10 @@@ static void FUNC(OPNAME ## h264_qpel8_h
      const int h=8;\
      INIT_CLIP\
      int i;\
-     pixel *dst = (pixel*)p_dst;\
-     pixel *src = (pixel*)p_src;\
+     pixel *dst = (pixel*)_dst;\
+     const pixel *src = (const pixel*)_src;\
 -    dstStride /= sizeof(pixel);\
 -    srcStride /= sizeof(pixel);\
 +    dstStride >>= sizeof(pixel)-1;\
 +    srcStride >>= sizeof(pixel)-1;\
      for(i=0; i<h; i++)\
      {\
          OP(dst[0], (src[0]+src[1])*20 - (src[-1]+src[2])*5 + (src[-2]+src[3 ]));\
@@@ -265,10 -265,10 +265,10 @@@ static void FUNC(OPNAME ## h264_qpel8_v
      const int w=8;\
      INIT_CLIP\
      int i;\
-     pixel *dst = (pixel*)p_dst;\
-     pixel *src = (pixel*)p_src;\
+     pixel *dst = (pixel*)_dst;\
+     const pixel *src = (const pixel*)_src;\
 -    dstStride /= sizeof(pixel);\
 -    srcStride /= sizeof(pixel);\
 +    dstStride >>= sizeof(pixel)-1;\
 +    srcStride >>= sizeof(pixel)-1;\
      for(i=0; i<w; i++)\
      {\
          const int srcB= src[-2*srcStride];\
      }\
  }\
  \
- static void FUNC(OPNAME ## h264_qpel8_hv_lowpass)(uint8_t *p_dst, pixeltmp *tmp, uint8_t *p_src, int dstStride, int tmpStride, int srcStride){\
 -static void FUNC(OPNAME ## h264_qpel8_hv_lowpass)(uint8_t *_dst, int16_t *tmp, const uint8_t *_src, int dstStride, int tmpStride, int srcStride){\
++static void FUNC(OPNAME ## h264_qpel8_hv_lowpass)(uint8_t *_dst, pixeltmp *tmp, const uint8_t *_src, int dstStride, int tmpStride, int srcStride){\
      const int h=8;\
      const int w=8;\
 -    const int pad = (BIT_DEPTH > 9) ? (-10 * ((1<<BIT_DEPTH)-1)) : 0;\
 +    const int pad = (BIT_DEPTH == 10) ? (-10 * ((1<<BIT_DEPTH)-1)) : 0;\
      INIT_CLIP\
      int i;\
-     pixel *dst = (pixel*)p_dst;\
-     pixel *src = (pixel*)p_src;\
+     pixel *dst = (pixel*)_dst;\
+     const pixel *src = (const pixel*)_src;\
 -    dstStride /= sizeof(pixel);\
 -    srcStride /= sizeof(pixel);\
 +    dstStride >>= sizeof(pixel)-1;\
 +    srcStride >>= sizeof(pixel)-1;\
      src -= 2*srcStride;\
      for(i=0; i<h+5; i++)\
      {\
@@@ -368,7 -368,7 +368,7 @@@ static void FUNC(OPNAME ## h264_qpel16_
      FUNC(OPNAME ## h264_qpel8_h_lowpass)(dst+8*sizeof(pixel), src+8*sizeof(pixel), dstStride, srcStride);\
  }\
  \
- static void FUNC(OPNAME ## h264_qpel16_hv_lowpass)(uint8_t *dst, pixeltmp *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\
 -static void FUNC(OPNAME ## h264_qpel16_hv_lowpass)(uint8_t *dst, int16_t *tmp, const uint8_t *src, int dstStride, int tmpStride, int srcStride){\
++static void FUNC(OPNAME ## h264_qpel16_hv_lowpass)(uint8_t *dst, pixeltmp *tmp, const uint8_t *src, int dstStride, int tmpStride, int srcStride){\
      FUNC(OPNAME ## h264_qpel8_hv_lowpass)(dst                , tmp  , src                , dstStride, tmpStride, srcStride);\
      FUNC(OPNAME ## h264_qpel8_hv_lowpass)(dst+8*sizeof(pixel), tmp+8, src+8*sizeof(pixel), dstStride, tmpStride, srcStride);\
      src += 8*srcStride;\
@@@ -478,15 -478,15 +478,15 @@@ static void FUNCC(OPNAME ## h264_qpel #
      FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
  }\
  \
- static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc22)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
+ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc22)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
  {\
 -    int16_t tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
 +    pixeltmp tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
      FUNC(OPNAME ## h264_qpel ## SIZE ## _hv_lowpass)(dst, tmp, src, stride, SIZE*sizeof(pixel), stride);\
  }\
  \
- static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc21)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
+ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc21)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
  {\
 -    int16_t tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
 +    pixeltmp tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
      uint8_t halfH[SIZE*SIZE*sizeof(pixel)];\
      uint8_t halfHV[SIZE*SIZE*sizeof(pixel)];\
      FUNC(put_h264_qpel ## SIZE ## _h_lowpass)(halfH, src, SIZE*sizeof(pixel), stride);\
      FUNC(OPNAME ## pixels ## SIZE ## _l2)(dst, halfH, halfHV, stride, SIZE*sizeof(pixel), SIZE*sizeof(pixel), SIZE);\
  }\
  \
- static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc23)(uint8_t *dst, uint8_t *src, ptrdiff_t stride)\
+ static void FUNCC(OPNAME ## h264_qpel ## SIZE ## _mc23)(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)\
  {\
 -    int16_t tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
 +    pixeltmp tmp[SIZE*(SIZE+5)*sizeof(pixel)];\
      uint8_t halfH[SIZE*SIZE*sizeof(pixel)];\
      uint8_t halfHV[SIZE*SIZE*sizeof(pixel)];\
      FUNC(put_h264_qpel ## SIZE ## _h_lowpass)(halfH, src + stride, SIZE*sizeof(pixel), stride);\
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
  #include "pixels.h"
  #include "rnd_avg.h"
  #include "rv34dsp.h"
 +#include "libavutil/avassert.h"
  
  #define RV40_LOWPASS(OPNAME, OP) \
- static av_unused void OPNAME ## rv40_qpel8_h_lowpass(uint8_t *dst, uint8_t *src, int dstStride, int srcStride,\
+ static av_unused void OPNAME ## rv40_qpel8_h_lowpass(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride,\
                                                       const int h, const int C1, const int C2, const int SHIFT){\
      const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;\
      int i;\
Simple merge
@@@ -388,11 -385,11 +388,11 @@@ static inline void OPNAME ## cavs_qpel8
    QPEL_CAVSVNUM(QPEL_CAVSV1,OP,ff_pw_64,ff_pw_96,ff_pw_42)      \
  }\
  \
- static inline void OPNAME ## cavs_qpel8or16_v2_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
+ static inline void OPNAME ## cavs_qpel8or16_v2_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h){\
 -  QPEL_CAVSVNUM(QPEL_CAVSV2,OP,ff_pw_4,ff_pw_5,ff_pw_5)         \
 +  QPEL_CAVSVNUM(QPEL_CAVSV2,OP,ff_pw_4,ff_pw_5,ff_pw_42)        \
  }\
  \
- static inline void OPNAME ## cavs_qpel8or16_v3_ ## MMX(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h){\
+ static inline void OPNAME ## cavs_qpel8or16_v3_ ## MMX(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h){\
    QPEL_CAVSVNUM(QPEL_CAVSV3,OP,ff_pw_64,ff_pw_96,ff_pw_42)      \
  }\
  \
@@@ -462,8 -459,8 +462,8 @@@ static void OPNAME ## cavs_qpel ## SIZ
  
  #endif /* (HAVE_MMXEXT_INLINE || HAVE_AMD3DNOW_INLINE) */
  
 -#if HAVE_MMX_INLINE
 +#if HAVE_MMX_EXTERNAL
- static void put_cavs_qpel8_mc00_mmx(uint8_t *dst, uint8_t *src,
+ static void put_cavs_qpel8_mc00_mmx(uint8_t *dst, const uint8_t *src,
                                      ptrdiff_t stride)
  {
      ff_put_pixels8_mmx(dst, src, stride, 8);
@@@ -475,13 -472,7 +475,13 @@@ static void avg_cavs_qpel8_mc00_mmx(uin
      ff_avg_pixels8_mmx(dst, src, stride, 8);
  }
  
- static void avg_cavs_qpel8_mc00_mmxext(uint8_t *dst, uint8_t *src,
++static void avg_cavs_qpel8_mc00_mmxext(uint8_t *dst, const uint8_t *src,
 +                                       ptrdiff_t stride)
 +{
 +    ff_avg_pixels8_mmxext(dst, src, stride, 8);
 +}
 +
- static void put_cavs_qpel16_mc00_mmx(uint8_t *dst, uint8_t *src,
+ static void put_cavs_qpel16_mc00_mmx(uint8_t *dst, const uint8_t *src,
                                       ptrdiff_t stride)
  {
      ff_put_pixels16_mmx(dst, src, stride, 16);
@@@ -493,25 -484,6 +493,25 @@@ static void avg_cavs_qpel16_mc00_mmx(ui
      ff_avg_pixels16_mmx(dst, src, stride, 16);
  }
  
- static void avg_cavs_qpel16_mc00_mmxext(uint8_t *dst, uint8_t *src,
++static void avg_cavs_qpel16_mc00_mmxext(uint8_t *dst, const uint8_t *src,
 +                                        ptrdiff_t stride)
 +{
 +    ff_avg_pixels16_mmxext(dst, src, stride, 16);
 +}
 +
- static void put_cavs_qpel16_mc00_sse2(uint8_t *dst, uint8_t *src,
++static void put_cavs_qpel16_mc00_sse2(uint8_t *dst, const uint8_t *src,
 +                                      ptrdiff_t stride)
 +{
 +    ff_put_pixels16_sse2(dst, src, stride, 16);
 +}
 +
- static void avg_cavs_qpel16_mc00_sse2(uint8_t *dst, uint8_t *src,
++static void avg_cavs_qpel16_mc00_sse2(uint8_t *dst, const uint8_t *src,
 +                                      ptrdiff_t stride)
 +{
 +    ff_avg_pixels16_sse2(dst, src, stride, 16);
 +}
 +#endif
 +
  static av_cold void cavsdsp_init_mmx(CAVSDSPContext *c,
                                       AVCodecContext *avctx)
  {
  #include "fpel.h"
  
  #if HAVE_YASM
 -void ff_put_pixels4_mmxext(uint8_t *block, const uint8_t *pixels,
 -                           ptrdiff_t line_size, int h);
 +void ff_put_pixels4_mmx(uint8_t *block, const uint8_t *pixels,
 +                        ptrdiff_t line_size, int h);
  void ff_avg_pixels4_mmxext(uint8_t *block, const uint8_t *pixels,
                             ptrdiff_t line_size, int h);
- void ff_put_pixels4_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
+ void ff_put_pixels4_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
                                int dstStride, int src1Stride, int h);
- void ff_avg_pixels4_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
+ void ff_avg_pixels4_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
                                int dstStride, int src1Stride, int h);
- void ff_put_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
+ void ff_put_pixels8_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
                                int dstStride, int src1Stride, int h);
- void ff_avg_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
+ void ff_avg_pixels8_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
                                int dstStride, int src1Stride, int h);
- void ff_put_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
+ void ff_put_pixels16_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
                                 int dstStride, int src1Stride, int h);
- void ff_avg_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
+ void ff_avg_pixels16_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2,
                                 int dstStride, int src1Stride, int h);
  #define ff_put_pixels8_l2_sse2  ff_put_pixels8_l2_mmxext
  #define ff_avg_pixels8_l2_sse2  ff_avg_pixels8_l2_mmxext
  #define ff_put_pixels16_l2_sse2 ff_put_pixels16_l2_mmxext
  #define ff_avg_pixels16_l2_sse2 ff_avg_pixels16_l2_mmxext
 -
 -CALL_2X_PIXELS(ff_avg_pixels16_mmxext, ff_avg_pixels8_mmxext, 8)
 -CALL_2X_PIXELS(ff_put_pixels16_mmxext, ff_put_pixels8_mmxext, 8)
 +#define ff_put_pixels16_mmxext  ff_put_pixels16_mmx
 +#define ff_put_pixels8_mmxext   ff_put_pixels8_mmx
 +#define ff_put_pixels4_mmxext   ff_put_pixels4_mmx
  
  #define DEF_QPEL(OPNAME)\
- void ff_ ## OPNAME ## _h264_qpel4_h_lowpass_mmxext(uint8_t *dst, uint8_t *src, int dstStride, int srcStride);\
- void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_mmxext(uint8_t *dst, uint8_t *src, int dstStride, int srcStride);\
- void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_ssse3(uint8_t *dst, uint8_t *src, int dstStride, int srcStride);\
- void ff_ ## OPNAME ## _h264_qpel4_h_lowpass_l2_mmxext(uint8_t *dst, uint8_t *src, uint8_t *src2, int dstStride, int src2Stride);\
- void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_l2_mmxext(uint8_t *dst, uint8_t *src, uint8_t *src2, int dstStride, int src2Stride);\
- void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_l2_ssse3(uint8_t *dst, uint8_t *src, uint8_t *src2, int dstStride, int src2Stride);\
- void ff_ ## OPNAME ## _h264_qpel4_v_lowpass_mmxext(uint8_t *dst, uint8_t *src, int dstStride, int srcStride);\
- void ff_ ## OPNAME ## _h264_qpel8or16_v_lowpass_op_mmxext(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h);\
- void ff_ ## OPNAME ## _h264_qpel8or16_v_lowpass_sse2(uint8_t *dst, uint8_t *src, int dstStride, int srcStride, int h);\
- void ff_ ## OPNAME ## _h264_qpel4_hv_lowpass_v_mmxext(uint8_t *src, int16_t *tmp, int srcStride);\
+ void ff_ ## OPNAME ## _h264_qpel4_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride);\
+ void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride);\
+ void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_ssse3(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride);\
+ void ff_ ## OPNAME ## _h264_qpel4_h_lowpass_l2_mmxext(uint8_t *dst, const uint8_t *src, const uint8_t *src2, int dstStride, int src2Stride);\
+ void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_l2_mmxext(uint8_t *dst, const uint8_t *src, const uint8_t *src2, int dstStride, int src2Stride);\
+ void ff_ ## OPNAME ## _h264_qpel8_h_lowpass_l2_ssse3(uint8_t *dst, const uint8_t *src, const uint8_t *src2, int dstStride, int src2Stride);\
+ void ff_ ## OPNAME ## _h264_qpel4_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride);\
+ void ff_ ## OPNAME ## _h264_qpel8or16_v_lowpass_op_mmxext(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h);\
+ void ff_ ## OPNAME ## _h264_qpel8or16_v_lowpass_sse2(uint8_t *dst, const uint8_t *src, int dstStride, int srcStride, int h);\
+ void ff_ ## OPNAME ## _h264_qpel4_hv_lowpass_v_mmxext(const uint8_t *src, int16_t *tmp, int srcStride);\
  void ff_ ## OPNAME ## _h264_qpel4_hv_lowpass_h_mmxext(int16_t *tmp, uint8_t *dst, int dstStride);\
- void ff_ ## OPNAME ## _h264_qpel8or16_hv1_lowpass_op_mmxext(uint8_t *src, int16_t *tmp, int srcStride, int size);\
- void ff_ ## OPNAME ## _h264_qpel8or16_hv1_lowpass_op_sse2(uint8_t *src, int16_t *tmp, int srcStride, int size);\
+ void ff_ ## OPNAME ## _h264_qpel8or16_hv1_lowpass_op_mmxext(const uint8_t *src, int16_t *tmp, int srcStride, int size);\
+ void ff_ ## OPNAME ## _h264_qpel8or16_hv1_lowpass_op_sse2(const uint8_t *src, int16_t *tmp, int srcStride, int size);\
  void ff_ ## OPNAME ## _h264_qpel8or16_hv2_lowpass_op_mmxext(uint8_t *dst, int16_t *tmp, int dstStride, int unused, int h);\
  void ff_ ## OPNAME ## _h264_qpel8or16_hv2_lowpass_ssse3(uint8_t *dst, int16_t *tmp, int dstStride, int tmpStride, int size);\
- void ff_ ## OPNAME ## _pixels4_l2_shift5_mmxext(uint8_t *dst, int16_t *src16, uint8_t *src8, int dstStride, int src8Stride, int h);\
- void ff_ ## OPNAME ## _pixels8_l2_shift5_mmxext(uint8_t *dst, int16_t *src16, uint8_t *src8, int dstStride, int src8Stride, int h);
+ void ff_ ## OPNAME ## _pixels4_l2_shift5_mmxext(uint8_t *dst, const int16_t *src16, const uint8_t *src8, int dstStride, int src8Stride, int h);\
+ void ff_ ## OPNAME ## _pixels8_l2_shift5_mmxext(uint8_t *dst, const int16_t *src16, const uint8_t *src8, int dstStride, int src8Stride, int h);
  
  DEF_QPEL(avg)
  DEF_QPEL(put)
  #include "libavcodec/qpeldsp.h"
  #include "fpel.h"
  
- void ff_put_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
+ void ff_put_pixels8_l2_mmxext(uint8_t *dst,
+                               const uint8_t *src1, const uint8_t *src2,
                                int dstStride, int src1Stride, int h);
- void ff_put_no_rnd_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1,
-                                      uint8_t *src2, int dstStride,
-                                      int src1Stride, int h);
- void ff_avg_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
+ void ff_put_no_rnd_pixels8_l2_mmxext(uint8_t *dst,
+                                      const uint8_t *src1, const uint8_t *src2,
+                                      int dstStride, int src1Stride, int h);
+ void ff_avg_pixels8_l2_mmxext(uint8_t *dst,
+                               const uint8_t *src1, const uint8_t *src2,
                                int dstStride, int src1Stride, int h);
- void ff_put_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
+ void ff_put_pixels16_l2_mmxext(uint8_t *dst,
+                                const uint8_t *src1, const uint8_t *src2,
                                 int dstStride, int src1Stride, int h);
- void ff_avg_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
+ void ff_avg_pixels16_l2_mmxext(uint8_t *dst,
+                                const uint8_t *src1, const uint8_t *src2,
                                 int dstStride, int src1Stride, int h);
- void ff_put_no_rnd_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2,
+ void ff_put_no_rnd_pixels16_l2_mmxext(uint8_t *dst,
+                                       const uint8_t *src1, const uint8_t *src2,
                                        int dstStride, int src1Stride, int h);
- void ff_put_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, uint8_t *src,
+ void ff_put_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
                                            int dstStride, int srcStride, int h);
- void ff_avg_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, uint8_t *src,
+ void ff_avg_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
                                            int dstStride, int srcStride, int h);
- void ff_put_no_rnd_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, uint8_t *src,
+ void ff_put_no_rnd_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst,
+                                                  const uint8_t *src,
                                                   int dstStride, int srcStride,
                                                   int h);
- void ff_put_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, uint8_t *src,
+ void ff_put_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
                                           int dstStride, int srcStride, int h);
- void ff_avg_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, uint8_t *src,
+ void ff_avg_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
                                           int dstStride, int srcStride, int h);
- void ff_put_no_rnd_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, uint8_t *src,
+ void ff_put_no_rnd_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst,
+                                                 const uint8_t *src,
                                                  int dstStride, int srcStride,
                                                  int h);
- void ff_put_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
+ void ff_put_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
                                            int dstStride, int srcStride);
- void ff_avg_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
+ void ff_avg_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
                                            int dstStride, int srcStride);
- void ff_put_no_rnd_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
+ void ff_put_no_rnd_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst,
+                                                  const uint8_t *src,
                                                   int dstStride, int srcStride);
- void ff_put_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
+ void ff_put_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
                                           int dstStride, int srcStride);
- void ff_avg_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
+ void ff_avg_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src,
                                           int dstStride, int srcStride);
- void ff_put_no_rnd_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, uint8_t *src,
+ void ff_put_no_rnd_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst,
+                                                 const uint8_t *src,
                                                  int dstStride, int srcStride);
 -#define ff_put_no_rnd_pixels16_mmxext ff_put_pixels16_mmxext
 -#define ff_put_no_rnd_pixels8_mmxext ff_put_pixels8_mmxext
 +#define ff_put_no_rnd_pixels16_mmxext ff_put_pixels16_mmx
 +#define ff_put_no_rnd_pixels8_mmxext ff_put_pixels8_mmx
  
  #if HAVE_YASM
  
 -CALL_2X_PIXELS(ff_avg_pixels16_mmxext, ff_avg_pixels8_mmxext, 8)
 -CALL_2X_PIXELS(ff_put_pixels16_mmxext, ff_put_pixels8_mmxext, 8)
 +#define ff_put_pixels16_mmxext ff_put_pixels16_mmx
 +#define ff_put_pixels8_mmxext  ff_put_pixels8_mmx
  
  #define QPEL_OP(OPNAME, RND, MMX)                                       \
- static void OPNAME ## qpel8_mc00_ ## MMX(uint8_t *dst, uint8_t *src,    \
+ static void OPNAME ## qpel8_mc00_ ## MMX(uint8_t *dst,                  \
+                                          const uint8_t *src,            \
                                           ptrdiff_t stride)              \
  {                                                                       \
      ff_ ## OPNAME ## pixels8_ ## MMX(dst, src, stride, 8);              \
  #include "libavutil/x86/cpu.h"
  #include "hpeldsp.h"
  
- static void op##_rv40_qpel##size##_mc33_##insn(uint8_t *dst, uint8_t *src, \
 +#define DEFINE_FN(op, size, insn) \
++static void op##_rv40_qpel##size##_mc33_##insn(uint8_t *dst, const uint8_t *src, \
 +                                               ptrdiff_t stride) \
 +{ \
 +    ff_##op##_pixels##size##_xy2_##insn(dst, src, stride, size); \
 +}
 +
  #if HAVE_YASM
  void ff_put_rv40_chroma_mc8_mmx  (uint8_t *dst, uint8_t *src,
                                    int stride, int h, int x, int y);