Revision 40d0e665 libavcodec/i386/vc1dsp_mmx.c

View differences:

libavcodec/i386/vc1dsp_mmx.c
71 71

  
72 72
/** Sacrifying mm6 allows to pipeline loads from src */
73 73
static void vc1_put_ver_16b_shift2_mmx(int16_t *dst,
74
                                       const uint8_t *src, long int stride,
74
                                       const uint8_t *src, x86_reg stride,
75 75
                                       int rnd, int64_t shift)
76 76
{
77 77
    asm volatile(
......
107 107
 * Data is already unpacked, so some operations can directly be made from
108 108
 * memory.
109 109
 */
110
static void vc1_put_hor_16b_shift2_mmx(uint8_t *dst, long int stride,
110
static void vc1_put_hor_16b_shift2_mmx(uint8_t *dst, x86_reg stride,
111 111
                                       const int16_t *src, int rnd)
112 112
{
113 113
    int h = 8;
......
152 152
 * Sacrify mm6 for *9 factor.
153 153
 */
154 154
static void vc1_put_shift2_mmx(uint8_t *dst, const uint8_t *src,
155
                               long int stride, int rnd, long int offset)
155
                               x86_reg stride, int rnd, x86_reg offset)
156 156
{
157 157
    rnd = 8-rnd;
158 158
    asm volatile(
......
259 259
#define MSPEL_FILTER13_VER_16B(NAME, A1, A2, A3, A4)                    \
260 260
static void                                                             \
261 261
vc1_put_ver_16b_ ## NAME ## _mmx(int16_t *dst, const uint8_t *src,      \
262
                                 long int src_stride,                   \
262
                                 x86_reg src_stride,                   \
263 263
                                 int rnd, int64_t shift)                \
264 264
{                                                                       \
265 265
    int h = 8;                                                          \
......
314 314
 */
315 315
#define MSPEL_FILTER13_HOR_16B(NAME, A1, A2, A3, A4)                    \
316 316
static void                                                             \
317
vc1_put_hor_16b_ ## NAME ## _mmx(uint8_t *dst, long int stride,         \
317
vc1_put_hor_16b_ ## NAME ## _mmx(uint8_t *dst, x86_reg stride,         \
318 318
                                 const int16_t *src, int rnd)           \
319 319
{                                                                       \
320 320
    int h = 8;                                                          \
......
353 353
#define MSPEL_FILTER13_8B(NAME, A1, A2, A3, A4)                         \
354 354
static void                                                             \
355 355
vc1_put_## NAME ## _mmx(uint8_t *dst, const uint8_t *src,               \
356
                        long int stride, int rnd, long int offset)      \
356
                        x86_reg stride, int rnd, x86_reg offset)      \
357 357
{                                                                       \
358 358
    int h = 8;                                                          \
359 359
    src -= offset;                                                      \
......
387 387
MSPEL_FILTER13_VER_16B(shift3, "0(%1     )", "0(%1,%3  )", "0(%1,%3,2)", "0(%1,%4  )")
388 388
MSPEL_FILTER13_HOR_16B(shift3, "2*0(%1)", "2*1(%1)", "2*2(%1)", "2*3(%1)")
389 389

  
390
typedef void (*vc1_mspel_mc_filter_ver_16bits)(int16_t *dst, const uint8_t *src, long int src_stride, int rnd, int64_t shift);
391
typedef void (*vc1_mspel_mc_filter_hor_16bits)(uint8_t *dst, long int dst_stride, const int16_t *src, int rnd);
392
typedef void (*vc1_mspel_mc_filter_8bits)(uint8_t *dst, const uint8_t *src, long int stride, int rnd, long int offset);
390
typedef void (*vc1_mspel_mc_filter_ver_16bits)(int16_t *dst, const uint8_t *src, x86_reg src_stride, int rnd, int64_t shift);
391
typedef void (*vc1_mspel_mc_filter_hor_16bits)(uint8_t *dst, x86_reg dst_stride, const int16_t *src, int rnd);
392
typedef void (*vc1_mspel_mc_filter_8bits)(uint8_t *dst, const uint8_t *src, x86_reg stride, int rnd, x86_reg offset);
393 393

  
394 394
/**
395 395
 * Interpolates fractional pel values by applying proper vertical then

Also available in: Unified diff