*
*/
+#include "libavutil/common.h"
+#include "h264chroma.h"
#include "vc1dsp.h"
}
}
-static void vc1_v_s_overlap_c(DCTELEM *top, DCTELEM *bottom)
+static void vc1_v_s_overlap_c(int16_t *top, int16_t *bottom)
{
int i;
int a, b, c, d;
}
}
-static void vc1_h_s_overlap_c(DCTELEM *left, DCTELEM *right)
+static void vc1_h_s_overlap_c(int16_t *left, int16_t *right)
{
int i;
int a, b, c, d;
/** Do inverse transform on 8x8 block
*/
-static void vc1_inv_trans_8x8_dc_c(uint8_t *dest, int linesize, DCTELEM *block)
+static void vc1_inv_trans_8x8_dc_c(uint8_t *dest, int linesize, int16_t *block)
{
int i;
int dc = block[0];
}
}
-static void vc1_inv_trans_8x8_c(DCTELEM block[64])
+static void vc1_inv_trans_8x8_c(int16_t block[64])
{
int i;
register int t1,t2,t3,t4,t5,t6,t7,t8;
- DCTELEM *src, *dst, temp[64];
+ int16_t *src, *dst, temp[64];
src = block;
dst = temp;
/** Do inverse transform on 8x4 part of block
*/
-static void vc1_inv_trans_8x4_dc_c(uint8_t *dest, int linesize, DCTELEM *block)
+static void vc1_inv_trans_8x4_dc_c(uint8_t *dest, int linesize, int16_t *block)
{
int i;
int dc = block[0];
}
}
-static void vc1_inv_trans_8x4_c(uint8_t *dest, int linesize, DCTELEM *block)
+static void vc1_inv_trans_8x4_c(uint8_t *dest, int linesize, int16_t *block)
{
int i;
register int t1,t2,t3,t4,t5,t6,t7,t8;
- DCTELEM *src, *dst;
+ int16_t *src, *dst;
src = block;
dst = block;
/** Do inverse transform on 4x8 parts of block
*/
-static void vc1_inv_trans_4x8_dc_c(uint8_t *dest, int linesize, DCTELEM *block)
+static void vc1_inv_trans_4x8_dc_c(uint8_t *dest, int linesize, int16_t *block)
{
int i;
int dc = block[0];
}
}
-static void vc1_inv_trans_4x8_c(uint8_t *dest, int linesize, DCTELEM *block)
+static void vc1_inv_trans_4x8_c(uint8_t *dest, int linesize, int16_t *block)
{
int i;
register int t1,t2,t3,t4,t5,t6,t7,t8;
- DCTELEM *src, *dst;
+ int16_t *src, *dst;
src = block;
dst = block;
/** Do inverse transform on 4x4 part of block
*/
-static void vc1_inv_trans_4x4_dc_c(uint8_t *dest, int linesize, DCTELEM *block)
+static void vc1_inv_trans_4x4_dc_c(uint8_t *dest, int linesize, int16_t *block)
{
int i;
int dc = block[0];
}
}
-static void vc1_inv_trans_4x4_c(uint8_t *dest, int linesize, DCTELEM *block)
+static void vc1_inv_trans_4x4_c(uint8_t *dest, int linesize, int16_t *block)
{
int i;
register int t1,t2,t3,t4;
- DCTELEM *src, *dst;
+ int16_t *src, *dst;
src = block;
dst = block;
/** Function used to do motion compensation with bicubic interpolation
*/
#define VC1_MSPEL_MC(OP, OPNAME)\
-static void OPNAME ## vc1_mspel_mc(uint8_t *dst, const uint8_t *src, int stride, int hmode, int vmode, int rnd)\
+static av_always_inline void OPNAME ## vc1_mspel_mc(uint8_t *dst, const uint8_t *src, int stride, int hmode, int vmode, int rnd)\
{\
int i, j;\
\
/* pixel functions - really are entry points to vc1_mspel_mc */
#define PUT_VC1_MSPEL(a, b)\
-static void put_vc1_mspel_mc ## a ## b ##_c(uint8_t *dst, const uint8_t *src, int stride, int rnd) { \
- put_vc1_mspel_mc(dst, src, stride, a, b, rnd); \
-}\
-static void avg_vc1_mspel_mc ## a ## b ##_c(uint8_t *dst, const uint8_t *src, int stride, int rnd) { \
- avg_vc1_mspel_mc(dst, src, stride, a, b, rnd); \
+static void put_vc1_mspel_mc ## a ## b ##_c(uint8_t *dst, \
+ const uint8_t *src, \
+ ptrdiff_t stride, int rnd) \
+{ \
+ put_vc1_mspel_mc(dst, src, stride, a, b, rnd); \
+} \
+static void avg_vc1_mspel_mc ## a ## b ##_c(uint8_t *dst, \
+ const uint8_t *src, \
+ ptrdiff_t stride, int rnd) \
+{ \
+ avg_vc1_mspel_mc(dst, src, stride, a, b, rnd); \
}
PUT_VC1_MSPEL(1, 0)
dsp->sprite_v_double_twoscale = sprite_v_double_twoscale_c;
#endif
- if (HAVE_ALTIVEC)
- ff_vc1dsp_init_altivec(dsp);
- if (HAVE_MMX)
- ff_vc1dsp_init_mmx(dsp);
+ if (ARCH_X86)
+ ff_vc1dsp_init_x86(dsp);
+ if (ARCH_PPC)
+ ff_vc1dsp_init_ppc(dsp);
}