|
|
@@ -47,7 +47,7 @@ |
|
|
#include "dsputil_x86.h" |
|
|
#include "dsputil_x86.h" |
|
|
#include "idct_xvid.h" |
|
|
#include "idct_xvid.h" |
|
|
|
|
|
|
|
|
#if HAVE_INLINE_ASM |
|
|
|
|
|
|
|
|
#if HAVE_MMX_INLINE |
|
|
|
|
|
|
|
|
//============================================================================= |
|
|
//============================================================================= |
|
|
// Macros and other preprocessor constants |
|
|
// Macros and other preprocessor constants |
|
|
@@ -507,6 +507,22 @@ __asm__ volatile( |
|
|
:: "r"(block), "r"(rounder_0), "r"(tab_i_04_mmx), "r"(tg_1_16)); |
|
|
:: "r"(block), "r"(rounder_0), "r"(tab_i_04_mmx), "r"(tg_1_16)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, int16_t *block) |
|
|
|
|
|
{ |
|
|
|
|
|
ff_idct_xvid_mmx(block); |
|
|
|
|
|
ff_put_pixels_clamped_mmx(block, dest, line_size); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, int16_t *block) |
|
|
|
|
|
{ |
|
|
|
|
|
ff_idct_xvid_mmx(block); |
|
|
|
|
|
ff_add_pixels_clamped_mmx(block, dest, line_size); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#endif /* HAVE_MMX_INLINE */ |
|
|
|
|
|
|
|
|
|
|
|
#if HAVE_MMXEXT_INLINE |
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
|
//----------------------------------------------------------------------------- |
|
|
// void idct_xmm(uint16_t block[64]); |
|
|
// void idct_xmm(uint16_t block[64]); |
|
|
//----------------------------------------------------------------------------- |
|
|
//----------------------------------------------------------------------------- |
|
|
@@ -531,18 +547,6 @@ __asm__ volatile( |
|
|
:: "r"(block), "r"(rounder_0), "r"(tab_i_04_xmm), "r"(tg_1_16)); |
|
|
:: "r"(block), "r"(rounder_0), "r"(tab_i_04_xmm), "r"(tg_1_16)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, int16_t *block) |
|
|
|
|
|
{ |
|
|
|
|
|
ff_idct_xvid_mmx(block); |
|
|
|
|
|
ff_put_pixels_clamped_mmx(block, dest, line_size); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, int16_t *block) |
|
|
|
|
|
{ |
|
|
|
|
|
ff_idct_xvid_mmx(block); |
|
|
|
|
|
ff_add_pixels_clamped_mmx(block, dest, line_size); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void ff_idct_xvid_mmxext_put(uint8_t *dest, int line_size, int16_t *block) |
|
|
void ff_idct_xvid_mmxext_put(uint8_t *dest, int line_size, int16_t *block) |
|
|
{ |
|
|
{ |
|
|
ff_idct_xvid_mmxext(block); |
|
|
ff_idct_xvid_mmxext(block); |
|
|
@@ -555,4 +559,4 @@ void ff_idct_xvid_mmxext_add(uint8_t *dest, int line_size, int16_t *block) |
|
|
ff_add_pixels_clamped_mmx(block, dest, line_size); |
|
|
ff_add_pixels_clamped_mmx(block, dest, line_size); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
#endif /* HAVE_INLINE_ASM */ |
|
|
|
|
|
|
|
|
#endif /* HAVE_MMXEXT_INLINE */ |