# HG changeset patch # User mellum # Date 1038360042 0 # Node ID 3dbbdc2f8bd3e4843225fa8b5ae6f27edbb85d2c # Parent d774ded81bf6365aed646a7ee930b2f8f62ceb8c Kludge around compilation failure on Alpha. diff -r d774ded81bf6 -r 3dbbdc2f8bd3 alpha/dsputil_alpha.c --- a/alpha/dsputil_alpha.c Tue Nov 26 16:26:58 2002 +0000 +++ b/alpha/dsputil_alpha.c Wed Nov 27 01:20:42 2002 +0000 @@ -21,11 +21,15 @@ #include "../dsputil.h" void put_pixels_axp_asm(uint8_t *block, const uint8_t *pixels, - int line_size, int h); + int line_size, int h); void put_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, - int line_size); + int line_size); void add_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, - int line_size); + int line_size); +void (*put_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels, + int line_size); +void (*add_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels, + int line_size); void get_pixels_mvi(DCTELEM *restrict block, const uint8_t *restrict pixels, int line_size); @@ -147,14 +151,14 @@ static inline uint64_t avg4(uint64_t l1, uint64_t l2, uint64_t l3, uint64_t l4) { uint64_t r1 = ((l1 & ~BYTE_VEC(0x03)) >> 2) - + ((l2 & ~BYTE_VEC(0x03)) >> 2) - + ((l3 & ~BYTE_VEC(0x03)) >> 2) - + ((l4 & ~BYTE_VEC(0x03)) >> 2); + + ((l2 & ~BYTE_VEC(0x03)) >> 2) + + ((l3 & ~BYTE_VEC(0x03)) >> 2) + + ((l4 & ~BYTE_VEC(0x03)) >> 2); uint64_t r2 = (( (l1 & BYTE_VEC(0x03)) - + (l2 & BYTE_VEC(0x03)) - + (l3 & BYTE_VEC(0x03)) - + (l4 & BYTE_VEC(0x03)) - + BYTE_VEC(0x02)) >> 2) & BYTE_VEC(0x03); + + (l2 & BYTE_VEC(0x03)) + + (l3 & BYTE_VEC(0x03)) + + (l4 & BYTE_VEC(0x03)) + + BYTE_VEC(0x02)) >> 2) & BYTE_VEC(0x03); return r1 + r2; } #endif @@ -338,4 +342,7 @@ c->pix_abs16x16_y2 = pix_abs16x16_y2_mvi; c->pix_abs16x16_xy2 = pix_abs16x16_xy2_mvi; } + + put_pixels_clamped_axp_p = c->put_pixels_clamped; + add_pixels_clamped_axp_p = c->add_pixels_clamped; } diff -r d774ded81bf6 -r 3dbbdc2f8bd3 alpha/simple_idct_alpha.c --- a/alpha/simple_idct_alpha.c Tue Nov 26 16:26:58 2002 +0000 +++ b/alpha/simple_idct_alpha.c Wed Nov 27 01:20:42 2002 +0000 @@ -27,6 +27,11 @@ #include "asm.h" #include "../dsputil.h" +extern void (*put_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels, + int line_size); +extern void (*add_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels, + int line_size); + // cos(i * M_PI / 16) * sqrt(2) * (1 << 14) // W4 is actually exactly 16384, but using 16383 works around // accumulating rounding errors for some encoders @@ -296,11 +301,11 @@ void simple_idct_put_axp(uint8_t *dest, int line_size, DCTELEM *block) { simple_idct_axp(block); - put_pixels_clamped(block, dest, line_size); + put_pixels_clamped_axp_p(block, dest, line_size); } void simple_idct_add_axp(uint8_t *dest, int line_size, DCTELEM *block) { simple_idct_axp(block); - add_pixels_clamped(block, dest, line_size); + add_pixels_clamped_axp_p(block, dest, line_size); }