diff options
Diffstat (limited to 'src/libffmpeg/libavcodec/alpha')
-rw-r--r-- | src/libffmpeg/libavcodec/alpha/dsputil_alpha.c | 8 | ||||
-rw-r--r-- | src/libffmpeg/libavcodec/alpha/mpegvideo_alpha.c | 5 | ||||
-rw-r--r-- | src/libffmpeg/libavcodec/alpha/simple_idct_alpha.c | 12 |
3 files changed, 13 insertions, 12 deletions
diff --git a/src/libffmpeg/libavcodec/alpha/dsputil_alpha.c b/src/libffmpeg/libavcodec/alpha/dsputil_alpha.c index 5cbc00167..cdc8a6d5a 100644 --- a/src/libffmpeg/libavcodec/alpha/dsputil_alpha.c +++ b/src/libffmpeg/libavcodec/alpha/dsputil_alpha.c @@ -20,6 +20,9 @@ #include "asm.h" #include "../dsputil.h" +extern void simple_idct_put_axp(uint8_t *dest, int line_size, DCTELEM *block); +extern void simple_idct_add_axp(uint8_t *dest, int line_size, DCTELEM *block); + void put_pixels_axp_asm(uint8_t *block, const uint8_t *pixels, int line_size, int h); void put_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, @@ -295,7 +298,7 @@ static int sad8x8_mvi(void *s, uint8_t *a, uint8_t *b, int stride) return pix_abs8x8_mvi(a, b, stride); } -void dsputil_init_alpha(DSPContext* c, unsigned mask) +void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx) { c->put_pixels_tab[0][0] = put_pixels16_axp_asm; c->put_pixels_tab[0][1] = put_pixels16_x2_axp; @@ -357,4 +360,7 @@ void dsputil_init_alpha(DSPContext* c, unsigned mask) put_pixels_clamped_axp_p = c->put_pixels_clamped; add_pixels_clamped_axp_p = c->add_pixels_clamped; + + c->idct_put = simple_idct_put_axp; + c->idct_add = simple_idct_add_axp; } diff --git a/src/libffmpeg/libavcodec/alpha/mpegvideo_alpha.c b/src/libffmpeg/libavcodec/alpha/mpegvideo_alpha.c index 350b53f62..1a58e5dfd 100644 --- a/src/libffmpeg/libavcodec/alpha/mpegvideo_alpha.c +++ b/src/libffmpeg/libavcodec/alpha/mpegvideo_alpha.c @@ -21,9 +21,6 @@ #include "../dsputil.h" #include "../mpegvideo.h" -extern void simple_idct_put_axp(uint8_t *dest, int line_size, DCTELEM *block); -extern void simple_idct_add_axp(uint8_t *dest, int line_size, DCTELEM *block); - static void dct_unquantize_h263_axp(MpegEncContext *s, DCTELEM *block, int n, int qscale) { @@ -97,6 +94,4 @@ static void dct_unquantize_h263_axp(MpegEncContext *s, DCTELEM *block, void MPV_common_init_axp(MpegEncContext *s) { s->dct_unquantize_h263 = dct_unquantize_h263_axp; - s->idct_put = simple_idct_put_axp; - s->idct_add = simple_idct_add_axp; } diff --git a/src/libffmpeg/libavcodec/alpha/simple_idct_alpha.c b/src/libffmpeg/libavcodec/alpha/simple_idct_alpha.c index 5ce017740..889fd2ae1 100644 --- a/src/libffmpeg/libavcodec/alpha/simple_idct_alpha.c +++ b/src/libffmpeg/libavcodec/alpha/simple_idct_alpha.c @@ -49,7 +49,7 @@ extern void (*add_pixels_clamped_axp_p)(const DCTELEM *block, uint8_t *pixels, static inline int idct_row(DCTELEM *row) { int_fast32_t a0, a1, a2, a3, b0, b1, b2, b3, t; - uint64_t l, r; + uint64_t l, r, t2; l = ldq(row); r = ldq(row + 4); @@ -60,12 +60,12 @@ static inline int idct_row(DCTELEM *row) if (((l & ~0xffffUL) | r) == 0) { a0 >>= ROW_SHIFT; - a0 = (uint16_t) a0; - a0 |= a0 << 16; - a0 |= a0 << 32; + t2 = (uint16_t) a0; + t2 |= t2 << 16; + t2 |= t2 << 32; - stq(a0, row); - stq(a0, row + 4); + stq(t2, row); + stq(t2, row + 4); return 1; } |