diff options
Diffstat (limited to 'libavcodec/alpha')
-rw-r--r-- | libavcodec/alpha/dsputil_alpha.c | 25 | ||||
-rw-r--r-- | libavcodec/alpha/dsputil_alpha.h | 50 | ||||
-rw-r--r-- | libavcodec/alpha/motion_est_alpha.c | 1 | ||||
-rw-r--r-- | libavcodec/alpha/simple_idct_alpha.c | 6 |
4 files changed, 55 insertions, 27 deletions
diff --git a/libavcodec/alpha/dsputil_alpha.c b/libavcodec/alpha/dsputil_alpha.c index 34e892c5a8..b87367ff05 100644 --- a/libavcodec/alpha/dsputil_alpha.c +++ b/libavcodec/alpha/dsputil_alpha.c @@ -20,33 +20,14 @@ */ #include "libavcodec/dsputil.h" +#include "dsputil_alpha.h" #include "asm.h" -void ff_simple_idct_axp(DCTELEM *block); -void ff_simple_idct_put_axp(uint8_t *dest, int line_size, DCTELEM *block); -void ff_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, - int line_size); -void add_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, - 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); -void diff_pixels_mvi(DCTELEM *block, const uint8_t *s1, const uint8_t *s2, - int stride); -int pix_abs8x8_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); -int pix_abs16x16_mvi_asm(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); -int pix_abs16x16_x2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); -int pix_abs16x16_y2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); -int pix_abs16x16_xy2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); - #if 0 /* These functions were the base for the optimized assembler routines, and remain here for documentation purposes. */ @@ -280,8 +261,8 @@ PIXOP(put_no_rnd, STORE); #define STORE(l, b) stq(AVG2(l, ldq(b)), b); PIXOP(avg_no_rnd, STORE); -void put_pixels16_axp_asm(uint8_t *block, const uint8_t *pixels, - int line_size, int h) +static void put_pixels16_axp_asm(uint8_t *block, const uint8_t *pixels, + int line_size, int h) { put_pixels_axp_asm(block, pixels, line_size, h); put_pixels_axp_asm(block + 8, pixels + 8, line_size, h); diff --git a/libavcodec/alpha/dsputil_alpha.h b/libavcodec/alpha/dsputil_alpha.h new file mode 100644 index 0000000000..a3fa3dd586 --- /dev/null +++ b/libavcodec/alpha/dsputil_alpha.h @@ -0,0 +1,50 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_ALPHA_DSPUTIL_ALPHA_H +#define AVCODEC_ALPHA_DSPUTIL_ALPHA_H + +#include "libavcodec/dsputil.h" + +void ff_simple_idct_axp(DCTELEM *block); +void ff_simple_idct_put_axp(uint8_t *dest, int line_size, DCTELEM *block); +void ff_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, + int line_size); +void add_pixels_clamped_mvi_asm(const DCTELEM *block, uint8_t *pixels, + int line_size); +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); + +void get_pixels_mvi(DCTELEM *restrict block, + const uint8_t *restrict pixels, int line_size); +void diff_pixels_mvi(DCTELEM *block, const uint8_t *s1, const uint8_t *s2, + int stride); +int pix_abs8x8_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); +int pix_abs16x16_mvi_asm(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); +int pix_abs16x16_x2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); +int pix_abs16x16_y2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); +int pix_abs16x16_xy2_mvi(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h); + + +#endif /* AVCODEC_ALPHA_DSPUTIL_ALPHA_H */ diff --git a/libavcodec/alpha/motion_est_alpha.c b/libavcodec/alpha/motion_est_alpha.c index df74d07c5c..863dd23da3 100644 --- a/libavcodec/alpha/motion_est_alpha.c +++ b/libavcodec/alpha/motion_est_alpha.c @@ -20,6 +20,7 @@ */ #include "libavcodec/dsputil.h" +#include "dsputil_alpha.h" #include "asm.h" void get_pixels_mvi(DCTELEM *restrict block, diff --git a/libavcodec/alpha/simple_idct_alpha.c b/libavcodec/alpha/simple_idct_alpha.c index 45e70dcf2d..0c0689ae73 100644 --- a/libavcodec/alpha/simple_idct_alpha.c +++ b/libavcodec/alpha/simple_idct_alpha.c @@ -27,13 +27,9 @@ */ #include "libavcodec/dsputil.h" +#include "dsputil_alpha.h" #include "asm.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 |