changeset 1469:43ceb6e34b06 libavcodec

another non const static, maybe its thread save now
author michaelni
date Mon, 15 Sep 2003 19:18:28 +0000
parents 92c1f24f7754
children dc1aebe51742
files i386/simple_idct_mmx.c
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/i386/simple_idct_mmx.c	Sun Sep 14 19:39:18 2003 +0000
+++ b/i386/simple_idct_mmx.c	Mon Sep 15 19:18:28 2003 +0000
@@ -47,8 +47,8 @@
 
 static const uint64_t __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000ULL;
 static const uint64_t __attribute__((aligned(8))) d40000= 0x0000000000040000ULL;
-static int16_t __attribute__((aligned(8))) temp[64];
-static int16_t __attribute__((aligned(8))) coeffs[]= {
+
+static const int16_t __attribute__((aligned(8))) coeffs[]= {
 	1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0,
 //	1<<(COL_SHIFT-1), 0, 1<<(COL_SHIFT-1), 0,
 //	0, 1<<(COL_SHIFT-1-16), 0, 1<<(COL_SHIFT-1-16),
@@ -206,6 +206,9 @@
 
 static inline void idct(int16_t *block)
 {
+	int64_t __attribute__((aligned(8))) align_tmp[16];
+	int16_t * const temp= (int16_t*)align_tmp;
+
 	asm volatile(
 #if 0 //Alternative, simpler variant