Mercurial > libavcodec.hg
comparison faanidct.c @ 6415:2eb1b18d6282 libavcodec
Remove another temporary variable with which gcc has problems.
author | michael |
---|---|
date | Tue, 26 Feb 2008 18:36:58 +0000 |
parents | 7f9e2b5893fc |
children | eb740c8e9212 |
comparison
equal
deleted
inserted
replaced
6414:f2d49842ea63 | 6415:2eb1b18d6282 |
---|---|
45 B7*B0/8, B7*B1/8, B7*B2/8, B7*B3/8, B7*B4/8, B7*B5/8, B7*B6/8, B7*B7/8, | 45 B7*B0/8, B7*B1/8, B7*B2/8, B7*B3/8, B7*B4/8, B7*B5/8, B7*B6/8, B7*B7/8, |
46 }; | 46 }; |
47 | 47 |
48 static inline void p8idct(DCTELEM data[64], FLOAT temp[64], uint8_t *dest, int stride, int x, int y, int type){ | 48 static inline void p8idct(DCTELEM data[64], FLOAT temp[64], uint8_t *dest, int stride, int x, int y, int type){ |
49 int i; | 49 int i; |
50 FLOAT tmp0, tmp1; | 50 FLOAT tmp0; |
51 FLOAT s04, d04, s17, d17, s26, d26, s53, d53; | 51 FLOAT s04, d04, s17, d17, s26, d26, s53, d53; |
52 FLOAT os07, os16, os25, os34; | 52 FLOAT os07, os16, os25, os34; |
53 FLOAT od07, od16, od25, od34; | 53 FLOAT od07, od16, od25, od34; |
54 | 54 |
55 for(i=0; i<y*8; i+=y){ | 55 for(i=0; i<y*8; i+=y){ |
74 od25 -= od16; | 74 od25 -= od16; |
75 od34 += od25; | 75 od34 += od25; |
76 | 76 |
77 s26 = temp[2*x + i] + temp[6*x + i]; | 77 s26 = temp[2*x + i] + temp[6*x + i]; |
78 d26 = temp[2*x + i] - temp[6*x + i]; | 78 d26 = temp[2*x + i] - temp[6*x + i]; |
79 tmp1= d26*(2*A4) - s26; | 79 d26*= 2*A4; |
80 d26-= s26; | |
80 | 81 |
81 s04= temp[0*x + i] + temp[4*x + i]; | 82 s04= temp[0*x + i] + temp[4*x + i]; |
82 d04= temp[0*x + i] - temp[4*x + i]; | 83 d04= temp[0*x + i] - temp[4*x + i]; |
83 | 84 |
84 os07= s04 + s26; | 85 os07= s04 + s26; |
85 os34= s04 - s26; | 86 os34= s04 - s26; |
86 os16= d04 + tmp1; | 87 os16= d04 + d26; |
87 os25= d04 - tmp1; | 88 os25= d04 - d26; |
88 | 89 |
89 if(type==0){ | 90 if(type==0){ |
90 temp[0*x + i]= os07 + od07; | 91 temp[0*x + i]= os07 + od07; |
91 temp[7*x + i]= os07 - od07; | 92 temp[7*x + i]= os07 - od07; |
92 temp[1*x + i]= os16 + od16; | 93 temp[1*x + i]= os16 + od16; |