Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
libmpeg2 : fix compil issue with gcc4.6
- Loading branch information
Thomas Genty
committed
Jul 29, 2011
1 parent
978ea0a
commit 6f4eb83
Showing
1 changed file
with
128 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
--- libmpeg2-0.5.1/libmpeg2/idct_mmx.c.orig 2011-05-13 09:23:02.557758717 -0300 | ||
+++ libmpeg2-0.5.1/libmpeg2/idct_mmx.c 2011-05-13 09:23:06.346778580 -0300 | ||
@@ -39,7 +39,6 @@ | ||
#define rounder(bias) {round (bias), round (bias)} | ||
#define rounder_sse2(bias) {round (bias), round (bias), round (bias), round (bias)} | ||
|
||
- | ||
#if 0 | ||
/* C row IDCT - it is just here to document the MMXEXT and MMX versions */ | ||
static inline void idct_row (int16_t * row, int offset, | ||
@@ -464,10 +463,10 @@ static inline void sse2_idct_col (int16_ | ||
/* Almost identical to mmxext version: */ | ||
/* just do both 4x8 columns in paraller */ | ||
|
||
- static const short t1_vector[] ATTR_ALIGN(16) = {T1,T1,T1,T1,T1,T1,T1,T1}; | ||
- static const short t2_vector[] ATTR_ALIGN(16) = {T2,T2,T2,T2,T2,T2,T2,T2}; | ||
- static const short t3_vector[] ATTR_ALIGN(16) = {T3,T3,T3,T3,T3,T3,T3,T3}; | ||
- static const short c4_vector[] ATTR_ALIGN(16) = {C4,C4,C4,C4,C4,C4,C4,C4}; | ||
+ static/* const*/ short t1_vector[] ATTR_ALIGN(16) = {T1,T1,T1,T1,T1,T1,T1,T1}; | ||
+ static/* const*/ short t2_vector[] ATTR_ALIGN(16) = {T2,T2,T2,T2,T2,T2,T2,T2}; | ||
+ static/* const*/ short t3_vector[] ATTR_ALIGN(16) = {T3,T3,T3,T3,T3,T3,T3,T3}; | ||
+ static/* const*/ short c4_vector[] ATTR_ALIGN(16) = {C4,C4,C4,C4,C4,C4,C4,C4}; | ||
|
||
#if defined(__x86_64__) | ||
|
||
@@ -710,10 +709,10 @@ static inline void sse2_idct_col (int16_ | ||
/* MMX column IDCT */ | ||
static inline void idct_col (int16_t * const col, const int offset) | ||
{ | ||
- static const short t1_vector[] ATTR_ALIGN(8) = {T1,T1,T1,T1}; | ||
- static const short t2_vector[] ATTR_ALIGN(8) = {T2,T2,T2,T2}; | ||
- static const short t3_vector[] ATTR_ALIGN(8) = {T3,T3,T3,T3}; | ||
- static const short c4_vector[] ATTR_ALIGN(8) = {C4,C4,C4,C4}; | ||
+ static/* const*/ short t1_vector[] ATTR_ALIGN(8) = {T1,T1,T1,T1}; | ||
+ static/* const*/ short t2_vector[] ATTR_ALIGN(8) = {T2,T2,T2,T2}; | ||
+ static/* const*/ short t3_vector[] ATTR_ALIGN(8) = {T3,T3,T3,T3}; | ||
+ static/* const*/ short c4_vector[] ATTR_ALIGN(8) = {C4,C4,C4,C4}; | ||
|
||
/* column code adapted from peter gubanov */ | ||
/* http://www.elecard.com/peter/idct.shtml */ | ||
@@ -847,33 +846,33 @@ static inline void idct_col (int16_t * c | ||
} | ||
|
||
|
||
-static const int32_t rounder0[] ATTR_ALIGN(8) = | ||
+static/* const*/ int32_t rounder0[] ATTR_ALIGN(8) = | ||
rounder ((1 << (COL_SHIFT - 1)) - 0.5); | ||
-static const int32_t rounder4[] ATTR_ALIGN(8) = rounder (0); | ||
-static const int32_t rounder1[] ATTR_ALIGN(8) = | ||
+static/* const*/ int32_t rounder4[] ATTR_ALIGN(8) = rounder (0); | ||
+static/* const*/ int32_t rounder1[] ATTR_ALIGN(8) = | ||
rounder (1.25683487303); /* C1*(C1/C4+C1+C7)/2 */ | ||
-static const int32_t rounder7[] ATTR_ALIGN(8) = | ||
+static/* const*/ int32_t rounder7[] ATTR_ALIGN(8) = | ||
rounder (-0.25); /* C1*(C7/C4+C7-C1)/2 */ | ||
-static const int32_t rounder2[] ATTR_ALIGN(8) = | ||
+static/* const*/ int32_t rounder2[] ATTR_ALIGN(8) = | ||
rounder (0.60355339059); /* C2 * (C6+C2)/2 */ | ||
-static const int32_t rounder6[] ATTR_ALIGN(8) = | ||
+static/* const*/ int32_t rounder6[] ATTR_ALIGN(8) = | ||
rounder (-0.25); /* C2 * (C6-C2)/2 */ | ||
-static const int32_t rounder3[] ATTR_ALIGN(8) = | ||
+static/* const*/ int32_t rounder3[] ATTR_ALIGN(8) = | ||
rounder (0.087788325588); /* C3*(-C3/C4+C3+C5)/2 */ | ||
-static const int32_t rounder5[] ATTR_ALIGN(8) = | ||
+static/* const*/ int32_t rounder5[] ATTR_ALIGN(8) = | ||
rounder (-0.441341716183); /* C3*(-C5/C4+C5-C3)/2 */ | ||
|
||
|
||
#define declare_idct(idct,table,idct_row_head,idct_row,idct_row_tail,idct_row_mid) \ | ||
static inline void idct (int16_t * const block) \ | ||
{ \ | ||
- static const int16_t table04[] ATTR_ALIGN(16) = \ | ||
+ static/* const*/ int16_t table04[] ATTR_ALIGN(16) = \ | ||
table (22725, 21407, 19266, 16384, 12873, 8867, 4520); \ | ||
- static const int16_t table17[] ATTR_ALIGN(16) = \ | ||
+ static/* const*/ int16_t table17[] ATTR_ALIGN(16) = \ | ||
table (31521, 29692, 26722, 22725, 17855, 12299, 6270); \ | ||
- static const int16_t table26[] ATTR_ALIGN(16) = \ | ||
+ static/* const*/ int16_t table26[] ATTR_ALIGN(16) = \ | ||
table (29692, 27969, 25172, 21407, 16819, 11585, 5906); \ | ||
- static const int16_t table35[] ATTR_ALIGN(16) = \ | ||
+ static/* const*/ int16_t table35[] ATTR_ALIGN(16) = \ | ||
table (26722, 25172, 22654, 19266, 15137, 10426, 5315); \ | ||
\ | ||
idct_row_head (block, 0*8, table04); \ | ||
@@ -900,29 +899,29 @@ static inline void idct (int16_t * const | ||
|
||
static inline void sse2_idct (int16_t * const block) | ||
{ | ||
- static const int16_t table04[] ATTR_ALIGN(16) = | ||
+ static/* const*/ int16_t table04[] ATTR_ALIGN(16) = | ||
sse2_table (22725, 21407, 19266, 16384, 12873, 8867, 4520); | ||
- static const int16_t table17[] ATTR_ALIGN(16) = | ||
+ static/* const*/ int16_t table17[] ATTR_ALIGN(16) = | ||
sse2_table (31521, 29692, 26722, 22725, 17855, 12299, 6270); | ||
- static const int16_t table26[] ATTR_ALIGN(16) = | ||
+ static/* const*/ int16_t table26[] ATTR_ALIGN(16) = | ||
sse2_table (29692, 27969, 25172, 21407, 16819, 11585, 5906); | ||
- static const int16_t table35[] ATTR_ALIGN(16) = | ||
+ static/* const*/ int16_t table35[] ATTR_ALIGN(16) = | ||
sse2_table (26722, 25172, 22654, 19266, 15137, 10426, 5315); | ||
|
||
- static const int32_t rounder0_128[] ATTR_ALIGN(16) = | ||
+ static/* const*/ int32_t rounder0_128[] ATTR_ALIGN(16) = | ||
rounder_sse2 ((1 << (COL_SHIFT - 1)) - 0.5); | ||
- static const int32_t rounder4_128[] ATTR_ALIGN(16) = rounder_sse2 (0); | ||
- static const int32_t rounder1_128[] ATTR_ALIGN(16) = | ||
+ static/* const*/ int32_t rounder4_128[] ATTR_ALIGN(16) = rounder_sse2 (0); | ||
+ static/* const*/ int32_t rounder1_128[] ATTR_ALIGN(16) = | ||
rounder_sse2 (1.25683487303); /* C1*(C1/C4+C1+C7)/2 */ | ||
- static const int32_t rounder7_128[] ATTR_ALIGN(16) = | ||
+ static/* const*/ int32_t rounder7_128[] ATTR_ALIGN(16) = | ||
rounder_sse2 (-0.25); /* C1*(C7/C4+C7-C1)/2 */ | ||
- static const int32_t rounder2_128[] ATTR_ALIGN(16) = | ||
+ static/* const*/ int32_t rounder2_128[] ATTR_ALIGN(16) = | ||
rounder_sse2 (0.60355339059); /* C2 * (C6+C2)/2 */ | ||
- static const int32_t rounder6_128[] ATTR_ALIGN(16) = | ||
+ static/* const*/ int32_t rounder6_128[] ATTR_ALIGN(16) = | ||
rounder_sse2 (-0.25); /* C2 * (C6-C2)/2 */ | ||
- static const int32_t rounder3_128[] ATTR_ALIGN(16) = | ||
+ static/* const*/ int32_t rounder3_128[] ATTR_ALIGN(16) = | ||
rounder_sse2 (0.087788325588); /* C3*(-C3/C4+C3+C5)/2 */ | ||
- static const int32_t rounder5_128[] ATTR_ALIGN(16) = | ||
+ static/* const*/ int32_t rounder5_128[] ATTR_ALIGN(16) = | ||
rounder_sse2 (-0.441341716183); /* C3*(-C5/C4+C5-C3)/2 */ | ||
|
||
#if defined(__x86_64__) |