aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorFalk Hüffner <mellum@users.sourceforge.net>2002-11-27 01:20:42 +0000
committerFalk Hüffner <mellum@users.sourceforge.net>2002-11-27 01:20:42 +0000
commit3354b0c9e59eaad616be3b1f58d5306ce012af7a (patch)
tree12a4ed5516021447bf2cdac91c52310edf322aff /libavcodec
parent7ca413b44a83d71d879ca9a75be0c88cbe99189b (diff)
downloadffmpeg-3354b0c9e59eaad616be3b1f58d5306ce012af7a.tar.gz
Kludge around compilation failure on Alpha.
Originally committed as revision 1286 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/alpha/dsputil_alpha.c27
-rw-r--r--libavcodec/alpha/simple_idct_alpha.c9
2 files changed, 24 insertions, 12 deletions
diff --git a/libavcodec/alpha/dsputil_alpha.c b/libavcodec/alpha/dsputil_alpha.c
index 401dfd7877..706462a590 100644
--- a/libavcodec/alpha/dsputil_alpha.c
+++ b/libavcodec/alpha/dsputil_alpha.c
@@ -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 avg2(uint64_t a, uint64_t b)
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 @@ void dsputil_init_alpha(DSPContext* c, unsigned mask)
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 --git a/libavcodec/alpha/simple_idct_alpha.c b/libavcodec/alpha/simple_idct_alpha.c
index 31677184e0..5ce0177408 100644
--- a/libavcodec/alpha/simple_idct_alpha.c
+++ b/libavcodec/alpha/simple_idct_alpha.c
@@ -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_axp(DCTELEM *block)
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);
}