Revision 8c7b533e

View differences:

libavcodec/alpha/dsputil_alpha.c
224 224
        } while (--h);                                                      \
225 225
    } while (0)
226 226

  
227
#define MAKE_OP(OPNAME, SUFF, OPKIND, STORE)                            \
228
static void OPNAME ## _pixels ## SUFF ## _axp                           \
229
        (uint8_t *restrict block, const uint8_t *restrict pixels,       \
230
         int line_size, int h)                                          \
231
{                                                                       \
232
    if ((size_t) pixels & 0x7) {                                        \
233
        OPKIND(uldq, STORE);                                            \
234
    } else {                                                            \
235
        OPKIND(ldq, STORE);                                             \
236
    }                                                                   \
227
#define MAKE_OP(OPNAME, SUFF, OPKIND, STORE)                                \
228
static void OPNAME ## _pixels ## SUFF ## _axp                               \
229
        (uint8_t *restrict block, const uint8_t *restrict pixels,           \
230
         int line_size, int h)                                              \
231
{                                                                           \
232
    if ((size_t) pixels & 0x7) {                                            \
233
        OPKIND(uldq, STORE);                                                \
234
    } else {                                                                \
235
        OPKIND(ldq, STORE);                                                 \
236
    }                                                                       \
237
}                                                                           \
238
                                                                            \
239
static void OPNAME ## _pixels16 ## SUFF ## _axp                             \
240
        (uint8_t *restrict block, const uint8_t *restrict pixels,           \
241
         int line_size, int h)                                              \
242
{                                                                           \
243
    OPNAME ## _pixels ## SUFF ## _axp(block,     pixels,     line_size, h); \
244
    OPNAME ## _pixels ## SUFF ## _axp(block + 8, pixels + 8, line_size, h); \
237 245
}
238 246

  
239 247
#define PIXOP(OPNAME, STORE)                    \
......
268 276
#define STORE(l, b) stq(AVG2(l, ldq(b)), b);
269 277
PIXOP(avg_no_rnd, STORE);
270 278

  
279
void put_pixels16_axp_asm(uint8_t *block, const uint8_t *pixels,
280
                          int line_size, int h)
281
{
282
    put_pixels_axp_asm(block,     pixels,     line_size, h);
283
    put_pixels_axp_asm(block + 8, pixels + 8, line_size, h);
284
}
285

  
271 286
void dsputil_init_alpha(void)
272 287
{
288
    put_pixels_tab[0][0] = put_pixels16_axp_asm;
289
    put_pixels_tab[0][1] = put_pixels16_x2_axp;
290
    put_pixels_tab[0][2] = put_pixels16_y2_axp;
291
    put_pixels_tab[0][3] = put_pixels16_xy2_axp;
292

  
293
    put_no_rnd_pixels_tab[0][0] = put_pixels16_axp_asm;
294
    put_no_rnd_pixels_tab[0][1] = put_no_rnd_pixels16_x2_axp;
295
    put_no_rnd_pixels_tab[0][2] = put_no_rnd_pixels16_y2_axp;
296
    put_no_rnd_pixels_tab[0][3] = put_no_rnd_pixels16_xy2_axp;
297

  
298
    avg_pixels_tab[0][0] = avg_pixels16_axp;
299
    avg_pixels_tab[0][1] = avg_pixels16_x2_axp;
300
    avg_pixels_tab[0][2] = avg_pixels16_y2_axp;
301
    avg_pixels_tab[0][3] = avg_pixels16_xy2_axp;
302

  
303
    avg_no_rnd_pixels_tab[0][0] = avg_no_rnd_pixels16_axp;
304
    avg_no_rnd_pixels_tab[0][1] = avg_no_rnd_pixels16_x2_axp;
305
    avg_no_rnd_pixels_tab[0][2] = avg_no_rnd_pixels16_y2_axp;
306
    avg_no_rnd_pixels_tab[0][3] = avg_no_rnd_pixels16_xy2_axp;
307

  
273 308
    put_pixels_tab[1][0] = put_pixels_axp_asm;
274 309
    put_pixels_tab[1][1] = put_pixels_x2_axp;
275 310
    put_pixels_tab[1][2] = put_pixels_y2_axp;

Also available in: Unified diff