diff options
author | diego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-06-02 22:59:04 +0000 |
---|---|---|
committer | diego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-06-02 22:59:04 +0000 |
commit | 228ca70d485e2660c2e381d7112cbcca65c156a0 (patch) | |
tree | f7ab4303f2daa68c76271787a60d50cb1ada2e46 /libfaad2/sbr_dct.c | |
parent | eb1dee5cbf86fba8d5081bae6071cc4a4fd68306 (diff) | |
download | mpv-228ca70d485e2660c2e381d7112cbcca65c156a0.tar.bz2 mpv-228ca70d485e2660c2e381d7112cbcca65c156a0.tar.xz |
update to the 2.0 release of faad, patch by adland
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12528 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libfaad2/sbr_dct.c')
-rw-r--r-- | libfaad2/sbr_dct.c | 3059 |
1 files changed, 1607 insertions, 1452 deletions
diff --git a/libfaad2/sbr_dct.c b/libfaad2/sbr_dct.c index d0a654b7ef..ce396d2697 100644 --- a/libfaad2/sbr_dct.c +++ b/libfaad2/sbr_dct.c @@ -1,19 +1,19 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com -** +** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. -** +** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. -** +** ** You should have received a copy of the GNU General Public License -** along with this program; if not, write to the Free Software +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly @@ -22,7 +22,7 @@ ** Commercial non-GPL licensing of this software is possible. ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. ** -** $Id: sbr_dct.c,v 1.4 2003/09/24 11:52:12 menno Exp $ +** $Id: sbr_dct.c,v 1.2 2003/10/03 22:22:27 alex Exp $ **/ #include "common.h" @@ -34,7 +34,6 @@ #pragma warning(disable:4244) #endif -#define MUL_C_R(B,A) MUL_R_C(A,B) #include "sbr_dct.h" @@ -71,13 +70,13 @@ void DCT3_32_unscaled(real_t *y, real_t *x) real_t f261, f262, f263, f264, f265, f266, f267, f268, f269, f270; real_t f271, f272; - f0 = MUL_C_R(COEF_CONST(0.7071067811865476), x[16]); + f0 = MUL_C(COEF_CONST(0.7071067811865476), x[16]); f1 = x[0] - f0; f2 = x[0] + f0; f3 = x[8] + x[24]; - f4 = MUL_C_R(COEF_CONST(1.3065629648763766), x[8]); - f5 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f3); - f6 = MUL_C_R(COEF_CONST((-0.5411961001461967)), x[24]); + f4 = MUL_C(COEF_CONST(1.3065629648763766), x[8]); + f5 = MUL_C(COEF_CONST((-0.9238795325112866)), f3); + f6 = MUL_C(COEF_CONST((-0.5411961001461967)), x[24]); f7 = f4 + f5; f8 = f6 - f5; f9 = f2 - f8; @@ -85,23 +84,23 @@ void DCT3_32_unscaled(real_t *y, real_t *x) f11 = f1 - f7; f12 = f1 + f7; f13 = x[4] + x[28]; - f14 = MUL_C_R(COEF_CONST(1.1758756024193588), x[4]); - f15 = MUL_C_R(COEF_CONST((-0.9807852804032304)), f13); - f16 = MUL_C_R(COEF_CONST((-0.7856949583871021)), x[28]); + f14 = MUL_C(COEF_CONST(1.1758756024193588), x[4]); + f15 = MUL_C(COEF_CONST((-0.9807852804032304)), f13); + f16 = MUL_C(COEF_CONST((-0.7856949583871021)), x[28]); f17 = f14 + f15; f18 = f16 - f15; f19 = x[12] + x[20]; - f20 = MUL_C_R(COEF_CONST(1.3870398453221473), x[12]); - f21 = MUL_C_R(COEF_CONST((-0.8314696123025455)), f19); - f22 = MUL_C_R(COEF_CONST((-0.2758993792829436)), x[20]); + f20 = MUL_C(COEF_CONST(1.3870398453221473), x[12]); + f21 = MUL_C(COEF_CONST((-0.8314696123025455)), f19); + f22 = MUL_C(COEF_CONST((-0.2758993792829436)), x[20]); f23 = f20 + f21; f24 = f22 - f21; f25 = f18 - f24; f26 = f18 + f24; - f27 = MUL_C_R(COEF_CONST(0.7071067811865476), f25); + f27 = MUL_C(COEF_CONST(0.7071067811865476), f25); f28 = f17 - f23; f29 = f17 + f23; - f30 = MUL_C_R(COEF_CONST(0.7071067811865476), f29); + f30 = MUL_C(COEF_CONST(0.7071067811865476), f29); f31 = f27 - f30; f32 = f27 + f30; f33 = f10 - f26; @@ -113,27 +112,27 @@ void DCT3_32_unscaled(real_t *y, real_t *x) f39 = f9 - f28; f40 = f9 + f28; f41 = x[2] + x[30]; - f42 = MUL_C_R(COEF_CONST(1.0932018670017569), x[2]); - f43 = MUL_C_R(COEF_CONST((-0.9951847266721969)), f41); - f44 = MUL_C_R(COEF_CONST((-0.8971675863426368)), x[30]); + f42 = MUL_C(COEF_CONST(1.0932018670017569), x[2]); + f43 = MUL_C(COEF_CONST((-0.9951847266721969)), f41); + f44 = MUL_C(COEF_CONST((-0.8971675863426368)), x[30]); f45 = f42 + f43; f46 = f44 - f43; f47 = x[6] + x[26]; - f48 = MUL_C_R(COEF_CONST(1.2472250129866711), x[6]); - f49 = MUL_C_R(COEF_CONST((-0.9569403357322089)), f47); - f50 = MUL_C_R(COEF_CONST((-0.6666556584777469)), x[26]); + f48 = MUL_C(COEF_CONST(1.2472250129866711), x[6]); + f49 = MUL_C(COEF_CONST((-0.9569403357322089)), f47); + f50 = MUL_C(COEF_CONST((-0.6666556584777469)), x[26]); f51 = f48 + f49; f52 = f50 - f49; f53 = x[10] + x[22]; - f54 = MUL_C_R(COEF_CONST(1.3533180011743526), x[10]); - f55 = MUL_C_R(COEF_CONST((-0.8819212643483551)), f53); - f56 = MUL_C_R(COEF_CONST((-0.4105245275223575)), x[22]); + f54 = MUL_C(COEF_CONST(1.3533180011743526), x[10]); + f55 = MUL_C(COEF_CONST((-0.8819212643483551)), f53); + f56 = MUL_C(COEF_CONST((-0.4105245275223575)), x[22]); f57 = f54 + f55; f58 = f56 - f55; f59 = x[14] + x[18]; - f60 = MUL_C_R(COEF_CONST(1.4074037375263826), x[14]); - f61 = MUL_C_R(COEF_CONST((-0.7730104533627369)), f59); - f62 = MUL_C_R(COEF_CONST((-0.1386171691990913)), x[18]); + f60 = MUL_C(COEF_CONST(1.4074037375263826), x[14]); + f61 = MUL_C(COEF_CONST((-0.7730104533627369)), f59); + f62 = MUL_C(COEF_CONST((-0.1386171691990913)), x[18]); f63 = f60 + f61; f64 = f62 - f61; f65 = f46 - f64; @@ -142,11 +141,11 @@ void DCT3_32_unscaled(real_t *y, real_t *x) f68 = f52 + f58; f69 = f66 - f68; f70 = f66 + f68; - f71 = MUL_C_R(COEF_CONST(0.7071067811865476), f69); + f71 = MUL_C(COEF_CONST(0.7071067811865476), f69); f72 = f65 + f67; - f73 = MUL_C_R(COEF_CONST(1.3065629648763766), f65); - f74 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f72); - f75 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f67); + f73 = MUL_C(COEF_CONST(1.3065629648763766), f65); + f74 = MUL_C(COEF_CONST((-0.9238795325112866)), f72); + f75 = MUL_C(COEF_CONST((-0.5411961001461967)), f67); f76 = f73 + f74; f77 = f75 - f74; f78 = f45 - f63; @@ -154,14 +153,14 @@ void DCT3_32_unscaled(real_t *y, real_t *x) f80 = f51 - f57; f81 = f51 + f57; f82 = f79 + f81; - f83 = MUL_C_R(COEF_CONST(1.3065629648763770), f79); - f84 = MUL_C_R(COEF_CONST((-0.3826834323650904)), f82); - f85 = MUL_C_R(COEF_CONST(0.5411961001461961), f81); + f83 = MUL_C(COEF_CONST(1.3065629648763770), f79); + f84 = MUL_C(COEF_CONST((-0.3826834323650904)), f82); + f85 = MUL_C(COEF_CONST(0.5411961001461961), f81); f86 = f83 + f84; f87 = f85 - f84; f88 = f78 - f80; f89 = f78 + f80; - f90 = MUL_C_R(COEF_CONST(0.7071067811865476), f89); + f90 = MUL_C(COEF_CONST(0.7071067811865476), f89); f91 = f77 - f87; f92 = f77 + f87; f93 = f71 - f90; @@ -185,51 +184,51 @@ void DCT3_32_unscaled(real_t *y, real_t *x) f111 = f33 - f88; f112 = f33 + f88; f113 = x[1] + x[31]; - f114 = MUL_C_R(COEF_CONST(1.0478631305325901), x[1]); - f115 = MUL_C_R(COEF_CONST((-0.9987954562051724)), f113); - f116 = MUL_C_R(COEF_CONST((-0.9497277818777548)), x[31]); + f114 = MUL_C(COEF_CONST(1.0478631305325901), x[1]); + f115 = MUL_C(COEF_CONST((-0.9987954562051724)), f113); + f116 = MUL_C(COEF_CONST((-0.9497277818777548)), x[31]); f117 = f114 + f115; f118 = f116 - f115; f119 = x[5] + x[27]; - f120 = MUL_C_R(COEF_CONST(1.2130114330978077), x[5]); - f121 = MUL_C_R(COEF_CONST((-0.9700312531945440)), f119); - f122 = MUL_C_R(COEF_CONST((-0.7270510732912803)), x[27]); + f120 = MUL_C(COEF_CONST(1.2130114330978077), x[5]); + f121 = MUL_C(COEF_CONST((-0.9700312531945440)), f119); + f122 = MUL_C(COEF_CONST((-0.7270510732912803)), x[27]); f123 = f120 + f121; f124 = f122 - f121; f125 = x[9] + x[23]; - f126 = MUL_C_R(COEF_CONST(1.3315443865537255), x[9]); - f127 = MUL_C_R(COEF_CONST((-0.9039892931234433)), f125); - f128 = MUL_C_R(COEF_CONST((-0.4764341996931612)), x[23]); + f126 = MUL_C(COEF_CONST(1.3315443865537255), x[9]); + f127 = MUL_C(COEF_CONST((-0.9039892931234433)), f125); + f128 = MUL_C(COEF_CONST((-0.4764341996931612)), x[23]); f129 = f126 + f127; f130 = f128 - f127; f131 = x[13] + x[19]; - f132 = MUL_C_R(COEF_CONST(1.3989068359730781), x[13]); - f133 = MUL_C_R(COEF_CONST((-0.8032075314806453)), f131); - f134 = MUL_C_R(COEF_CONST((-0.2075082269882124)), x[19]); + f132 = MUL_C(COEF_CONST(1.3989068359730781), x[13]); + f133 = MUL_C(COEF_CONST((-0.8032075314806453)), f131); + f134 = MUL_C(COEF_CONST((-0.2075082269882124)), x[19]); f135 = f132 + f133; f136 = f134 - f133; f137 = x[17] + x[15]; - f138 = MUL_C_R(COEF_CONST(1.4125100802019777), x[17]); - f139 = MUL_C_R(COEF_CONST((-0.6715589548470187)), f137); - f140 = MUL_C_R(COEF_CONST(0.0693921705079402), x[15]); + f138 = MUL_C(COEF_CONST(1.4125100802019777), x[17]); + f139 = MUL_C(COEF_CONST((-0.6715589548470187)), f137); + f140 = MUL_C(COEF_CONST(0.0693921705079402), x[15]); f141 = f138 + f139; f142 = f140 - f139; f143 = x[21] + x[11]; - f144 = MUL_C_R(COEF_CONST(1.3718313541934939), x[21]); - f145 = MUL_C_R(COEF_CONST((-0.5141027441932219)), f143); - f146 = MUL_C_R(COEF_CONST(0.3436258658070501), x[11]); + f144 = MUL_C(COEF_CONST(1.3718313541934939), x[21]); + f145 = MUL_C(COEF_CONST((-0.5141027441932219)), f143); + f146 = MUL_C(COEF_CONST(0.3436258658070501), x[11]); f147 = f144 + f145; f148 = f146 - f145; f149 = x[25] + x[7]; - f150 = MUL_C_R(COEF_CONST(1.2784339185752409), x[25]); - f151 = MUL_C_R(COEF_CONST((-0.3368898533922200)), f149); - f152 = MUL_C_R(COEF_CONST(0.6046542117908008), x[7]); + f150 = MUL_C(COEF_CONST(1.2784339185752409), x[25]); + f151 = MUL_C(COEF_CONST((-0.3368898533922200)), f149); + f152 = MUL_C(COEF_CONST(0.6046542117908008), x[7]); f153 = f150 + f151; f154 = f152 - f151; f155 = x[29] + x[3]; - f156 = MUL_C_R(COEF_CONST(1.1359069844201433), x[29]); - f157 = MUL_C_R(COEF_CONST((-0.1467304744553624)), f155); - f158 = MUL_C_R(COEF_CONST(0.8424460355094185), x[3]); + f156 = MUL_C(COEF_CONST(1.1359069844201433), x[29]); + f157 = MUL_C(COEF_CONST((-0.1467304744553624)), f155); + f158 = MUL_C(COEF_CONST(0.8424460355094185), x[3]); f159 = f156 + f157; f160 = f158 - f157; f161 = f118 - f142; @@ -249,27 +248,27 @@ void DCT3_32_unscaled(real_t *y, real_t *x) f175 = f135 - f159; f176 = f135 + f159; f177 = f161 + f163; - f178 = MUL_C_R(COEF_CONST(1.1758756024193588), f161); - f179 = MUL_C_R(COEF_CONST((-0.9807852804032304)), f177); - f180 = MUL_C_R(COEF_CONST((-0.7856949583871021)), f163); + f178 = MUL_C(COEF_CONST(1.1758756024193588), f161); + f179 = MUL_C(COEF_CONST((-0.9807852804032304)), f177); + f180 = MUL_C(COEF_CONST((-0.7856949583871021)), f163); f181 = f178 + f179; f182 = f180 - f179; f183 = f165 + f167; - f184 = MUL_C_R(COEF_CONST(1.3870398453221475), f165); - f185 = MUL_C_R(COEF_CONST((-0.5555702330196022)), f183); - f186 = MUL_C_R(COEF_CONST(0.2758993792829431), f167); + f184 = MUL_C(COEF_CONST(1.3870398453221475), f165); + f185 = MUL_C(COEF_CONST((-0.5555702330196022)), f183); + f186 = MUL_C(COEF_CONST(0.2758993792829431), f167); f187 = f184 + f185; f188 = f186 - f185; f189 = f169 + f171; - f190 = MUL_C_R(COEF_CONST(0.7856949583871022), f169); - f191 = MUL_C_R(COEF_CONST(0.1950903220161283), f189); - f192 = MUL_C_R(COEF_CONST(1.1758756024193586), f171); + f190 = MUL_C(COEF_CONST(0.7856949583871022), f169); + f191 = MUL_C(COEF_CONST(0.1950903220161283), f189); + f192 = MUL_C(COEF_CONST(1.1758756024193586), f171); f193 = f190 + f191; f194 = f192 - f191; f195 = f173 + f175; - f196 = MUL_C_R(COEF_CONST((-0.2758993792829430)), f173); - f197 = MUL_C_R(COEF_CONST(0.8314696123025452), f195); - f198 = MUL_C_R(COEF_CONST(1.3870398453221475), f175); + f196 = MUL_C(COEF_CONST((-0.2758993792829430)), f173); + f197 = MUL_C(COEF_CONST(0.8314696123025452), f195); + f198 = MUL_C(COEF_CONST(1.3870398453221475), f175); f199 = f196 + f197; f200 = f198 - f197; f201 = f162 - f170; @@ -289,27 +288,27 @@ void DCT3_32_unscaled(real_t *y, real_t *x) f215 = f187 - f199; f216 = f187 + f199; f217 = f201 + f203; - f218 = MUL_C_R(COEF_CONST(1.3065629648763766), f201); - f219 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f217); - f220 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f203); + f218 = MUL_C(COEF_CONST(1.3065629648763766), f201); + f219 = MUL_C(COEF_CONST((-0.9238795325112866)), f217); + f220 = MUL_C(COEF_CONST((-0.5411961001461967)), f203); f221 = f218 + f219; f222 = f220 - f219; f223 = f205 + f207; - f224 = MUL_C_R(COEF_CONST(0.5411961001461969), f205); - f225 = MUL_C_R(COEF_CONST(0.3826834323650898), f223); - f226 = MUL_C_R(COEF_CONST(1.3065629648763766), f207); + f224 = MUL_C(COEF_CONST(0.5411961001461969), f205); + f225 = MUL_C(COEF_CONST(0.3826834323650898), f223); + f226 = MUL_C(COEF_CONST(1.3065629648763766), f207); f227 = f224 + f225; f228 = f226 - f225; f229 = f209 + f211; - f230 = MUL_C_R(COEF_CONST(1.3065629648763766), f209); - f231 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f229); - f232 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f211); + f230 = MUL_C(COEF_CONST(1.3065629648763766), f209); + f231 = MUL_C(COEF_CONST((-0.9238795325112866)), f229); + f232 = MUL_C(COEF_CONST((-0.5411961001461967)), f211); f233 = f230 + f231; f234 = f232 - f231; f235 = f213 + f215; - f236 = MUL_C_R(COEF_CONST(0.5411961001461969), f213); - f237 = MUL_C_R(COEF_CONST(0.3826834323650898), f235); - f238 = MUL_C_R(COEF_CONST(1.3065629648763766), f215); + f236 = MUL_C(COEF_CONST(0.5411961001461969), f213); + f237 = MUL_C(COEF_CONST(0.3826834323650898), f235); + f238 = MUL_C(COEF_CONST(1.3065629648763766), f215); f239 = f236 + f237; f240 = f238 - f237; f241 = f202 - f206; @@ -330,20 +329,20 @@ void DCT3_32_unscaled(real_t *y, real_t *x) f256 = f233 + f239; f257 = f241 - f243; f258 = f241 + f243; - f259 = MUL_C_R(COEF_CONST(0.7071067811865474), f257); - f260 = MUL_C_R(COEF_CONST(0.7071067811865474), f258); + f259 = MUL_C(COEF_CONST(0.7071067811865474), f257); + f260 = MUL_C(COEF_CONST(0.7071067811865474), f258); f261 = f245 - f247; f262 = f245 + f247; - f263 = MUL_C_R(COEF_CONST(0.7071067811865474), f261); - f264 = MUL_C_R(COEF_CONST(0.7071067811865474), f262); + f263 = MUL_C(COEF_CONST(0.7071067811865474), f261); + f264 = MUL_C(COEF_CONST(0.7071067811865474), f262); f265 = f249 - f251; f266 = f249 + f251; - f267 = MUL_C_R(COEF_CONST(0.7071067811865474), f265); - f268 = MUL_C_R(COEF_CONST(0.7071067811865474), f266); + f267 = MUL_C(COEF_CONST(0.7071067811865474), f265); + f268 = MUL_C(COEF_CONST(0.7071067811865474), f266); f269 = f253 - f255; f270 = f253 + f255; - f271 = MUL_C_R(COEF_CONST(0.7071067811865474), f269); - f272 = MUL_C_R(COEF_CONST(0.7071067811865474), f270); + f271 = MUL_C(COEF_CONST(0.7071067811865474), f269); + f272 = MUL_C(COEF_CONST(0.7071067811865474), f270); y[31] = f98 - f242; y[0] = f98 + f242; y[30] = f100 - f250; @@ -388,27 +387,27 @@ void DCT2_64_unscaled(real_t *y, real_t *x) real_t f41, f42, f43, f44, f45, f46, f47, f48, f49, f50; real_t f51, f52, f53, f54, f55, f56, f57, f58, f59, f60; real_t f61, f62, f65, f66, f67, f68, f71, f72, f73, f74; - real_t f75, f76, f77, f78, f79, f80, f81, f82, f85, f86; + real_t f75, f76, f77, f78, f79, f80, f81, f82, f83, f85; real_t f87, f88, f91, f92, f93, f94, f95, f96, f97, f98; real_t f99, f100, f101, f102, f103, f104, f105, f106, f107, f108; real_t f109, f110, f111, f112, f113, f114, f115, f116, f117, f118; - real_t f119, f120, f121, f122, f123, f124, f125, f126, f127, f128; - real_t f129, f130, f133, f134, f135, f136, f139, f140, f141, f142; - real_t f145, f146, f147, f148, f151, f152, f153, f154, f155, f156; + real_t f119, f120, f121, f122, f123, f124, f125, f126, f129, f130; + real_t f131, f132, f135, f136, f137, f138, f141, f142, f143, f144; + real_t f147, f148, f149, f150, f151, f152, f153, f154, f155, f156; real_t f157, f158, f159, f160, f161, f162, f163, f164, f165, f166; real_t f167, f168, f169, f170, f171, f172, f173, f174, f175, f176; real_t f177, f178, f179, f180, f181, f182, f183, f184, f185, f186; real_t f187, f188, f189, f190, f191, f192, f193, f194, f195, f196; real_t f197, f198, f199, f200, f201, f202, f203, f204, f205, f206; - real_t f207, f208, f209, f210, f211, f213, f214, f215, f216, f217; - real_t f218, f219, f220, f221, f222, f223, f224, f225, f226, f227; - real_t f228, f229, f230, f231, f232, f233, f234, f235, f236, f237; - real_t f238, f239, f240, f241, f242, f243, f244, f245, f246, f247; - real_t f248, f249, f250, f251, f252, f253, f254, f255, f256, f257; - real_t f258, f259, f260, f261, f262, f263, f264, f265, f266, f267; - real_t f268, f269, f270, f271, f272, f273, f274, f275, f276, f277; - real_t f279, f280, f295, f296, f297, f298, f299, f300, f301, f302; - real_t f303, f304, f305, f306, f307, f308, f309, f310, f311, f312; + real_t f207, f208, f209, f210, f211, f212, f213, f214, f215, f216; + real_t f217, f218, f219, f220, f221, f222, f223, f224, f225, f226; + real_t f227, f228, f229, f230, f231, f232, f233, f234, f235, f236; + real_t f237, f238, f239, f240, f241, f242, f243, f244, f245, f246; + real_t f247, f248, f249, f250, f251, f252, f253, f254, f255, f256; + real_t f257, f258, f259, f260, f261, f262, f265, f266, f267, f268; + real_t f271, f272, f273, f274, f277, f278, f279, f280, f283, f284; + real_t f285, f286, f289, f290, f291, f292, f295, f296, f297, f298; + real_t f301, f302, f303, f304, f307, f308, f309, f310, f311, f312; real_t f313, f314, f315, f316, f317, f318, f319, f320, f321, f322; real_t f323, f324, f325, f326, f327, f328, f329, f330, f331, f332; real_t f333, f334, f335, f336, f337, f338, f339, f340, f341, f342; @@ -420,27 +419,28 @@ void DCT2_64_unscaled(real_t *y, real_t *x) real_t f393, f394, f395, f396, f397, f398, f399, f400, f401, f402; real_t f403, f404, f405, f406, f407, f408, f409, f410, f411, f412; real_t f413, f414, f415, f416, f417, f418, f419, f420, f421, f422; - real_t f423, f424, f425, f426, f427, f428, f429, f430, f431, f432; - real_t f433, f434, f435, f436, f437, f438, f439, f440, f441, f442; - real_t f443, f444, f445, f446, f447, f448, f449, f450, f451, f452; - real_t f453, f454, f455, f456, f457, f458, f459, f460, f461, f462; - real_t f463, f464, f465, f466, f467, f468, f469, f470, f471, f472; - real_t f473, f474, f475, f476, f477, f478, f479, f480, f481, f482; - real_t f483, f484, f485, f486, f487, f488, f489, f490, f491, f492; - real_t f493, f494, f495, f496, f497, f498, f499, f500, f501, f502; - real_t f503, f504, f505, f506, f507, f508, f509, f510, f511, f512; - real_t f513, f514, f515, f516, f517, f518, f519, f520, f521, f522; - real_t f523, f524, f525, f526, f527, f528, f529, f530, f531, f532; - real_t f533, f534, f535, f536, f537, f538, f539, f540, f541, f542; - real_t f543, f544, f545, f546, f547, f548, f549, f550, f551, f552; - real_t f553, f554, f557, f558, f559, f560, f563, f564, f565, f566; - real_t f569, f570, f571, f572, f575, f576, f577, f578, f581, f582; - real_t f583, f584, f587, f588, f589, f590, f593, f594, f595, f596; - real_t f599, f600, f601, f602, f605, f606, f607, f608, f611, f612; - real_t f613, f614, f617, f618, f619, f620, f623, f624, f625, f626; - real_t f629, f630, f631, f632, f635, f636, f637, f638, f641, f642; - real_t f643, f644; - static real_t t2[64]; + real_t f423, f424, f425, f426, f427, f428, f429, f430, f431, f433; + real_t f434, f435, f436, f437, f438, f439, f440, f441, f442, f443; + real_t f444, f445, f446, f447, f448, f449, f450, f451, f452, f453; + real_t f454, f455, f456, f457, f458, f459, f460, f461, f462, f463; + real_t f464, f465, f466, f467, f468, f469, f470, f471, f472, f473; + real_t f474, f475, f476, f477, f478, f479, f480, f481, f482, f483; + real_t f484, f485, f486, f487, f488, f489, f490, f491, f492, f493; + real_t f494, f495, f496, f497, f498, f499, f500, f501, f502, f503; + real_t f504, f505, f506, f507, f508, f509, f510, f511, f512, f513; + real_t f514, f515, f516, f517, f518, f519, f520, f521, f522, f523; + real_t f524, f525, f526, f527, f528, f529, f530, f531, f532, f533; + real_t f534, f535, f536, f537, f538, f539, f540, f541, f542, f543; + real_t f544, f546, f547, f548, f549, f550, f551, f552, f553, f554; + real_t f555, f556, f557, f558, f559, f560, f561, f562, f563, f564; + real_t f565, f566, f567, f568, f569, f570, f571, f572, f573, f574; + real_t f575, f576, f577, f578, f579, f580, f581, f582, f583, f584; + real_t f585, f586, f587, f588, f589, f590, f591, f592, f593, f594; + real_t f595, f596, f597, f598, f599, f600, f601, f602, f603, f604; + real_t f605, f606, f607, f608, f609, f610, f611, f612, f613, f614; + real_t f615, f616, f617, f618, f619, f620, f621, f622, f623, f624; + real_t f625, f626, f627, f628; + ALIGN static real_t t2[64]; for (i0=0; i0<32; i0++) { @@ -509,589 +509,1369 @@ void DCT2_64_unscaled(real_t *y, real_t *x) f61 = f53 + f55; f62 = f59 - f61; y[0] = f59 + f61; - y[32] = MUL_C_R(COEF_CONST(0.7071067811865476), f62); + y[32] = MUL_C(COEF_CONST(0.7071067811865476), f62); f65 = f58 + f60; - f66 = MUL_C_R(COEF_CONST(1.3065629648763766), f58); - f67 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f65); - f68 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f60); + f66 = MUL_C(COEF_CONST(1.3065629648763766), f58); + f67 = MUL_C(COEF_CONST((-0.9238795325112866)), f65); + f68 = MUL_C(COEF_CONST((-0.5411961001461967)), f60); y[48] = f66 + f67; y[16] = f68 - f67; - f71 = f52 - f54; - f72 = f52 + f54; - f73 = MUL_C_R(COEF_CONST(0.7071067811865476), f72); - f74 = MUL_C_R(COEF_CONST(0.7071067811865476), f71); - f75 = f50 - f73; - f76 = f50 + f73; - f77 = f56 - f74; - f78 = f56 + f74; - f79 = f78 + f76; - f80 = MUL_C_R(COEF_CONST((-0.7856949583871021)), f78); - f81 = MUL_C_R(COEF_CONST(0.9807852804032304), f79); - f82 = MUL_C_R(COEF_CONST(1.1758756024193588), f76); - y[8] = f80 + f81; - y[56] = f82 - f81; - f85 = f77 + f75; - f86 = MUL_C_R(COEF_CONST(0.2758993792829431), f77); - f87 = MUL_C_R(COEF_CONST(0.5555702330196022), f85); - f88 = MUL_C_R(COEF_CONST(1.3870398453221475), f75); - y[40] = f86 + f87; - y[24] = f88 - f87; - f91 = f40 - f42; - f92 = f40 + f42; - f93 = MUL_C_R(COEF_CONST(0.7071067811865476), f92); - f94 = MUL_C_R(COEF_CONST(0.7071067811865476), f91); - f95 = f38 - f44; - f96 = f38 + f44; - f97 = MUL_C_R(COEF_CONST(0.7071067811865476), f96); - f98 = MUL_C_R(COEF_CONST(0.7071067811865476), f95); - f99 = f34 - f93; - f100 = f34 + f93; - f101 = f48 - f94; - f102 = f48 + f94; - f103 = f36 - f97; - f104 = f36 + f97; - f105 = f46 - f98; - f106 = f46 + f98; - f107 = f106 + f104; - f108 = MUL_C_R(COEF_CONST((-0.5411961001461969)), f106); - f109 = MUL_C_R(COEF_CONST(0.9238795325112867), f107); - f110 = MUL_C_R(COEF_CONST(1.3065629648763766), f104); - f111 = f108 + f109; - f112 = f110 - f109; - f113 = f105 + f103; - f114 = MUL_C_R(COEF_CONST(1.3065629648763770), f105); - f115 = MUL_C_R(COEF_CONST((-0.3826834323650904)), f113); - f116 = MUL_C_R(COEF_CONST(0.5411961001461961), f103); - f117 = f114 + f115; - f118 = f116 - f115; - f119 = f100 - f111; - f120 = f100 + f111; - f121 = f102 - f112; - f122 = f102 + f112; - f123 = f99 - f117; - f124 = f99 + f117; - f125 = f101 - f118; - f126 = f101 + f118; - f127 = f122 + f120; - f128 = MUL_C_R(COEF_CONST((-0.8971675863426361)), f122); - f129 = MUL_C_R(COEF_CONST(0.9951847266721968), f127); - f130 = MUL_C_R(COEF_CONST(1.0932018670017576), f120); - y[4] = f128 + f129; - y[60] = f130 - f129; - f133 = f126 + f124; - f134 = MUL_C_R(COEF_CONST((-0.4105245275223571)), f126); - f135 = MUL_C_R(COEF_CONST(0.8819212643483549), f133); - f136 = MUL_C_R(COEF_CONST(1.3533180011743529), f124); - y[20] = f134 + f135; - y[44] = f136 - f135; - f139 = f121 + f119; - f140 = MUL_C_R(COEF_CONST(0.1386171691990915), f121); - f141 = MUL_C_R(COEF_CONST(0.6343932841636455), f139); - f142 = MUL_C_R(COEF_CONST(1.4074037375263826), f119); - y[36] = f140 + f141; - y[28] = f142 - f141; - f145 = f125 + f123; - f146 = MUL_C_R(COEF_CONST(0.6666556584777466), f125); - f147 = MUL_C_R(COEF_CONST(0.2902846772544623), f145); - f148 = MUL_C_R(COEF_CONST(1.2472250129866711), f123); - y[52] = f146 + f147; - y[12] = f148 - f147; - f151 = f2 + f32; - f152 = MUL_C_R(COEF_CONST(1.0478631305325901), f2); - f153 = MUL_C_R(COEF_CONST((-0.9987954562051724)), f151); - f154 = MUL_C_R(COEF_CONST((-0.9497277818777548)), f32); - f155 = f152 + f153; - f156 = f154 - f153; - f157 = f4 + f30; - f158 = MUL_C_R(COEF_CONST(1.1359069844201428), f4); - f159 = MUL_C_R(COEF_CONST((-0.9891765099647809)), f157); - f160 = MUL_C_R(COEF_CONST((-0.8424460355094190)), f30); - f161 = f158 + f159; - f162 = f160 - f159; - f163 = f6 + f28; - f164 = MUL_C_R(COEF_CONST(1.2130114330978077), f6); - f165 = MUL_C_R(COEF_CONST((-0.9700312531945440)), f163); - f166 = MUL_C_R(COEF_CONST((-0.7270510732912803)), f28); - f167 = f164 + f165; - f168 = f166 - f165; - f169 = f8 + f26; - f170 = MUL_C_R(COEF_CONST(1.2784339185752405), f8); - f171 = MUL_C_R(COEF_CONST((-0.9415440651830209)), f169); - f172 = MUL_C_R(COEF_CONST((-0.6046542117908014)), f26); - f173 = f170 + f171; - f174 = f172 - f171; - f175 = f10 + f24; - f176 = MUL_C_R(COEF_CONST(1.3315443865537255), f10); - f177 = MUL_C_R(COEF_CONST((-0.9039892931234433)), f175); - f178 = MUL_C_R(COEF_CONST((-0.4764341996931612)), f24); - f179 = f176 + f177; - f180 = f178 - f177; - f181 = f12 + f22; - f182 = MUL_C_R(COEF_CONST(1.3718313541934939), f12); - f183 = MUL_C_R(COEF_CONST((-0.8577286100002722)), f181); - f184 = MUL_C_R(COEF_CONST((-0.3436258658070507)), f22); - f185 = f182 + f183; - f186 = f184 - f183; - f187 = f14 + f20; - f188 = MUL_C_R(COEF_CONST(1.3989068359730781), f14); - f189 = MUL_C_R(COEF_CONST((-0.8032075314806453)), f187); - f190 = MUL_C_R(COEF_CONST((-0.2075082269882124)), f20); - f191 = f188 + f189; - f192 = f190 - f189; - f193 = f16 + f18; - f194 = MUL_C_R(COEF_CONST(1.4125100802019774), f16); - f195 = MUL_C_R(COEF_CONST((-0.7409511253549591)), f193); - f196 = MUL_C_R(COEF_CONST((-0.0693921705079408)), f18); - f197 = f194 + f195; - f198 = f196 - f195; - f199 = f156 - f198; - f200 = f156 + f198; - f201 = f162 - f192; - f202 = f162 + f192; - f203 = f168 - f186; - f204 = f168 + f186; - f205 = f174 - f180; - f206 = f174 + f180; - f207 = f200 - f206; - f208 = f200 + f206; - f209 = f202 - f204; - f210 = f202 + f204; - f211 = f208 - f210; - y[2] = f208 + f210; - f213 = MUL_C_R(COEF_CONST(0.7071067811865476), f211); - f214 = f207 + f209; - f215 = MUL_C_R(COEF_CONST(1.3065629648763766), f207); - f216 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f214); - f217 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f209); - f218 = f215 + f216; - f219 = f217 - f216; - f220 = f201 - f203; - f221 = f201 + f203; - f222 = MUL_C_R(COEF_CONST(0.7071067811865476), f221); - f223 = MUL_C_R(COEF_CONST(0.7071067811865476), f220); - f224 = f199 - f222; - f225 = f199 + f222; - f226 = f205 - f223; - f227 = f205 + f223; - f228 = f227 + f225; - f229 = MUL_C_R(COEF_CONST((-0.7856949583871021)), f227); - f230 = MUL_C_R(COEF_CONST(0.9807852804032304), f228); - f231 = MUL_C_R(COEF_CONST(1.1758756024193588), f225); - f232 = f229 + f230; - f233 = f231 - f230; - f234 = f226 + f224; - f235 = MUL_C_R(COEF_CONST(0.2758993792829431), f226); - f236 = MUL_C_R(COEF_CONST(0.5555702330196022), f234); - f237 = MUL_C_R(COEF_CONST(1.3870398453221475), f224); - f238 = f235 + f236; - f239 = f237 - f236; - f240 = f155 - f197; - f241 = f155 + f197; - f242 = f161 - f191; - f243 = f161 + f191; - f244 = f167 - f185; - f245 = f167 + f185; - f246 = f173 - f179; - f247 = f173 + f179; - f248 = f245 - f243; - f249 = f245 + f243; - f250 = MUL_C_R(COEF_CONST(0.7071067811865476), f249); - f251 = f247 - f250; - f252 = f247 + f250; - f253 = MUL_C_R(COEF_CONST(0.7071067811865476), f248); - f254 = f253 - f241; - f255 = f253 + f241; - f256 = f255 + f252; - f257 = MUL_C_R(COEF_CONST((-0.7856949583871021)), f255); - f258 = MUL_C_R(COEF_CONST(0.9807852804032304), f256); - f259 = MUL_C_R(COEF_CONST(1.1758756024193588), f252); - f260 = f257 + f258; - f261 = f259 - f258; - f262 = f254 + f251; - f263 = MUL_C_R(COEF_CONST((-0.2758993792829430)), f254); - f264 = MUL_C_R(COEF_CONST(0.8314696123025452), f262); - f265 = MUL_C_R(COEF_CONST(1.3870398453221475), f251); - f266 = f263 + f264; - f267 = f265 - f264; - f268 = f240 - f246; - f269 = f240 + f246; - f270 = f242 - f244; - f271 = f242 + f244; - f272 = f269 + f271; - f273 = MUL_C_R(COEF_CONST(1.3065629648763770), f269); - f274 = MUL_C_R(COEF_CONST((-0.3826834323650904)), f272); - f275 = MUL_C_R(COEF_CONST(0.5411961001461961), f271); - f276 = f273 + f274; - f277 = f275 - f274; - y[62] = f268 - f270; - f279 = f268 + f270; - f280 = MUL_C_R(COEF_CONST(0.7071067811865476), f279); - y[10] = f232 - f260; - y[6] = f232 + f260; - y[18] = f219 - f277; - y[14] = f219 + f277; - y[26] = f239 + f266; - y[22] = f239 - f266; - y[34] = f213 - f280; - y[30] = f213 + f280; - y[42] = f238 - f267; - y[38] = f238 + f267; - y[50] = f218 - f276; - y[46] = f218 + f276; - y[58] = f233 + f261; - y[54] = f233 - f261; - f295 = t2[3] - t2[5]; - f296 = t2[3] + t2[5]; - f297 = t2[7] - t2[9]; - f298 = t2[7] + t2[9]; - f299 = t2[11] - t2[13]; - f300 = t2[11] + t2[13]; - f301 = t2[15] - t2[17]; - f302 = t2[15] + t2[17]; - f303 = t2[19] - t2[21]; - f304 = t2[19] + t2[21]; - f305 = t2[23] - t2[25]; - f306 = t2[23] + t2[25]; - f307 = t2[27] - t2[29]; - f308 = t2[27] + t2[29]; - f309 = t2[31] - t2[33]; - f310 = t2[31] + t2[33]; - f311 = t2[35] - t2[37]; - f312 = t2[35] + t2[37]; - f313 = t2[39] - t2[41]; - f314 = t2[39] + t2[41]; - f315 = t2[43] - t2[45]; - f316 = t2[43] + t2[45]; - f317 = t2[47] - t2[49]; - f318 = t2[47] + t2[49]; - f319 = t2[51] - t2[53]; - f320 = t2[51] + t2[53]; - f321 = t2[55] - t2[57]; - f322 = t2[55] + t2[57]; - f323 = t2[59] - t2[61]; - f324 = t2[59] + t2[61]; - f325 = MUL_C_R(COEF_CONST(0.7071067811865476), f310); - f326 = t2[1] - f325; - f327 = t2[1] + f325; - f328 = f302 + f318; - f329 = MUL_C_R(COEF_CONST(1.3065629648763766), f302); - f330 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f328); - f331 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f318); - f332 = f329 + f330; - f333 = f331 - f330; - f334 = f327 - f333; - f335 = f327 + f333; - f336 = f326 - f332; - f337 = f326 + f332; - f338 = f306 - f314; - f339 = f306 + f314; - f340 = MUL_C_R(COEF_CONST(0.7071067811865476), f339); - f341 = f298 - f340; - f342 = f298 + f340; - f343 = MUL_C_R(COEF_CONST(0.7071067811865476), f338); - f344 = f343 - f322; - f345 = f343 + f322; - f346 = f345 + f342; - f347 = MUL_C_R(COEF_CONST((-0.7856949583871021)), f345); - f348 = MUL_C_R(COEF_CONST(0.9807852804032304), f346); - f349 = MUL_C_R(COEF_CONST(1.1758756024193588), f342); - f350 = f347 + f348; - f351 = f349 - f348; - f352 = f344 + f341; - f353 = MUL_C_R(COEF_CONST((-0.2758993792829430)), f344); - f354 = MUL_C_R(COEF_CONST(0.8314696123025452), f352); - f355 = MUL_C_R(COEF_CONST(1.3870398453221475), f341); - f356 = f353 + f354; - f357 = f355 - f354; - f358 = f335 - f350; - f359 = f335 + f350; - f360 = f337 - f356; - f361 = f337 + f356; - f362 = f336 - f357; - f363 = f336 + f357; - f364 = f334 - f351; - f365 = f334 + f351; - f366 = MUL_C_R(COEF_CONST(5.1011486186891641), f296); - f367 = MUL_C_R(COEF_CONST(1.7224470982383342), f300); - f368 = MUL_C_R(COEF_CONST(1.0606776859903475), f304); - f369 = MUL_C_R(COEF_CONST(0.7881546234512502), f308); - f370 = MUL_C_R(COEF_CONST(0.5024192861881557), f324); - f371 = MUL_C_R(COEF_CONST(0.5224986149396889), f320); - f372 = MUL_C_R(COEF_CONST(0.5669440348163577), f316); - f373 = MUL_C_R(COEF_CONST(0.6468217833599901), f312); - f374 = f366 - f370; - f375 = f366 + f370; - f376 = f367 - f371; - f377 = f367 + f371; - f378 = f368 - f372; - f379 = f368 + f372; - f380 = f369 - f373; - f381 = f369 + f373; - f382 = MUL_C_R(COEF_CONST(0.5097955791041592), f375); - f383 = MUL_C_R(COEF_CONST(0.6013448869350453), f377); - f384 = MUL_C_R(COEF_CONST(0.8999762231364156), f379); - f385 = MUL_C_R(COEF_CONST(2.5629154477415055), f381); - f386 = f382 + f385; - f387 = f382 - f385; - f388 = f383 + f384; - f389 = f384 - f383; - f390 = f387 - f389; - f391 = f387 + f389; - f392 = MUL_C_R(COEF_CONST(0.7071067811865476), f390); - f393 = f386 - f388; - f394 = MUL_C_R(COEF_CONST(1.3065629648763766), f386); - f395 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f393); - f396 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f388); - f397 = f394 + f395; - f398 = f395 + f396; - f399 = f391 - f398; - f400 = f392 - f398; - f401 = f392 + f397; - f402 = f380 - f374; - f403 = f374 + f380; - f404 = f378 - f376; - f405 = f376 + f378; - f406 = f403 + f405; - f407 = MUL_C_R(COEF_CONST(1.3065629648763770), f403); - f408 = MUL_C_R(COEF_CONST((-0.3826834323650904)), f406); - f409 = MUL_C_R(COEF_CONST(0.5411961001461961), f405); - f410 = f407 + f408; - f411 = f408 - f409; - f412 = f402 - f404; - f413 = f402 + f404; - f414 = MUL_C_R(COEF_CONST(0.7071067811865476), f413); - f415 = f411 + f397; - f416 = f401 + f411; - f417 = f414 + f401; - f418 = f400 + f414; - f419 = f400 - f410; - f420 = f399 - f410; - f421 = f412 + f399; - f422 = f359 - f397; - f423 = f359 + f397; - f424 = f361 + f415; - f425 = f361 - f415; - f426 = f363 - f416; - f427 = f363 + f416; - f428 = f365 + f417; - f429 = f365 - f417; - f430 = f364 - f418; - f431 = f364 + f418; - f432 = f362 + f419; - f433 = f362 - f419; - f434 = f360 - f420; - f435 = f360 + f420; - f436 = f358 + f421; - f437 = f358 - f421; - f438 = MUL_C_R(COEF_CONST(5.1011486186891641), f295); - f439 = MUL_C_R(COEF_CONST(1.7224470982383342), f299); - f440 = MUL_C_R(COEF_CONST(1.0606776859903475), f303); - f441 = MUL_C_R(COEF_CONST(0.7881546234512502), f307); - f442 = MUL_C_R(COEF_CONST(0.5024192861881557), f323); - f443 = MUL_C_R(COEF_CONST(0.5224986149396889), f319); - f444 = MUL_C_R(COEF_CONST(0.5669440348163577), f315); - f445 = MUL_C_R(COEF_CONST(0.6468217833599901), f311); - f446 = f438 + f442; - f447 = f438 - f442; - f448 = f439 + f443; - f449 = f443 - f439; - f450 = f440 + f444; - f451 = f440 - f444; - f452 = f441 + f445; - f453 = f445 - f441; - f454 = MUL_C_R(COEF_CONST(0.5097955791041592), f447); - f455 = MUL_C_R(COEF_CONST(0.6013448869350453), f449); - f456 = MUL_C_R(COEF_CONST(0.8999762231364156), f451); - f457 = MUL_C_R(COEF_CONST(2.5629154477415055), f453); - f458 = f454 + f457; - f459 = f454 - f457; - f460 = f455 + f456; - f461 = f456 - f455; - f462 = f459 - f461; - f463 = f459 + f461; - f464 = MUL_C_R(COEF_CONST(0.7071067811865476), f462); - f465 = f458 - f460; - f466 = MUL_C_R(COEF_CONST(1.3065629648763766), f458); - f467 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f465); - f468 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f460); - f469 = f466 + f467; - f470 = f467 + f468; - f471 = f463 - f470; - f472 = f464 - f470; - f473 = f464 + f469; - f474 = f446 + f452; - f475 = f452 - f446; - f476 = f448 + f450; - f477 = f448 - f450; - f478 = f475 + f477; - f479 = MUL_C_R(COEF_CONST(1.3065629648763770), f475); - f480 = MUL_C_R(COEF_CONST((-0.3826834323650904)), f478); - f481 = MUL_C_R(COEF_CONST(0.5411961001461961), f477); - f482 = f479 + f480; |