summaryrefslogtreecommitdiffstats
path: root/libavcodec/i386/vp3dsp_mmx.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/i386/vp3dsp_mmx.c')
-rw-r--r--libavcodec/i386/vp3dsp_mmx.c24
1 files changed, 2 insertions, 22 deletions
diff --git a/libavcodec/i386/vp3dsp_mmx.c b/libavcodec/i386/vp3dsp_mmx.c
index e0fb394..bdf19bbb 100644
--- a/libavcodec/i386/vp3dsp_mmx.c
+++ b/libavcodec/i386/vp3dsp_mmx.c
@@ -27,15 +27,7 @@
#include "dsputil_mmx.h"
#include "mmx.h"
-/* (12 * 4) 2-byte memory locations ( = 96 bytes total)
- * idct_constants[0..15] = Mask table (M(I))
- * idct_constants[16..43] = Cosine table (C(I))
- * idct_constants[44..47] = 8
- */
-static uint16_t idct_constants[(4 + 7) * 4];
-static const uint16_t idct_cosine_table[7] = {
- 64277, 60547, 54491, 46341, 36410, 25080, 12785
-};
+extern const uint16_t ff_vp3_idct_data[];
#define r0 mm0
#define r1 mm1
@@ -258,18 +250,6 @@ static const uint16_t idct_cosine_table[7] = {
movq_r2m(r2, *I(2)); \
}
-void ff_vp3_dsp_init_mmx(void)
-{
- int j = 16;
- uint16_t *p;
-
- j = 1;
- do {
- p = idct_constants + ((j + 3) << 2);
- p[0] = p[1] = p[2] = p[3] = idct_cosine_table[j - 1];
- } while (++j <= 7);
-}
-
void ff_vp3_idct_mmx(int16_t *output_data)
{
/* eax = quantized input
@@ -281,7 +261,7 @@ void ff_vp3_idct_mmx(int16_t *output_data)
* r0..r7 = mm0..mm7
*/
-#define C(x) (idct_constants + 16 + (x - 1) * 4)
+#define C(x) (ff_vp3_idct_data + (x - 1) * 8)
#define Eight (&ff_pw_8)
/* at this point, function has completed dequantization + dezigzag +
OpenPOWER on IntegriCloud