summaryrefslogtreecommitdiffstats
path: root/libfaad2/sbr_dct.c
diff options
context:
space:
mode:
authordiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-09-24 17:31:36 +0000
committerdiego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-09-24 17:31:36 +0000
commite1ece5e2eb68c81b1645c9ff989c833c4d67dfd8 (patch)
tree8553b3a4ef8164d14ff1b4a3f67e57cfa1d8908a /libfaad2/sbr_dct.c
parent2887bacbdb6bd320e4840fd230e92a59cc74b9ae (diff)
downloadmpv-e1ece5e2eb68c81b1645c9ff989c833c4d67dfd8.tar.bz2
mpv-e1ece5e2eb68c81b1645c9ff989c833c4d67dfd8.tar.xz
Update FAAD to a 2.1 beta CVS snapshot from 2004.07.12.
patch by adland <adland123 at yahoo dot com> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13454 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libfaad2/sbr_dct.c')
-rw-r--r--libfaad2/sbr_dct.c4420
1 files changed, 1940 insertions, 2480 deletions
diff --git a/libfaad2/sbr_dct.c b/libfaad2/sbr_dct.c
index dc8fef2d5d..2c4db6201c 100644
--- a/libfaad2/sbr_dct.c
+++ b/libfaad2/sbr_dct.c
@@ -23,7 +23,7 @@
** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
**
** Initially modified for use with MPlayer by Arpad Gereöffy on 2003/08/30
-** $Id: sbr_dct.c,v 1.3 2004/06/02 22:59:03 diego Exp $
+** $Id: sbr_dct.c,v 1.4 2004/06/23 13:50:51 diego Exp $
** detailed CVS changelog at http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/
**/
@@ -39,8 +39,758 @@
#include "sbr_dct.h"
+void DCT4_32(real_t *y, real_t *x)
+{
+ real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10;
+ real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20;
+ real_t f21, f22, f23, f24, f25, f26, f27, f28, f29, f30;
+ real_t f31, f32, f33, f34, f35, f36, f37, f38, f39, f40;
+ 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, f63, f64, f65, f66, f67, f68, f69, f70;
+ real_t f71, f72, f73, f74, f75, f76, f77, f78, f79, f80;
+ real_t f81, f82, f83, f84, f85, f86, f87, f88, f89, f90;
+ real_t f91, f92, f93, f94, f95, f96, f97, f98, f99, f100;
+ real_t f101, f102, f103, f104, f105, f106, f107, f108, f109, f110;
+ real_t f111, f112, f113, f114, f115, f116, f117, f118, f119, f120;
+ real_t f121, f122, f123, f124, f125, f126, f127, f128, f129, f130;
+ real_t f131, f132, f133, f134, f135, f136, f137, f138, f139, f140;
+ real_t f141, f142, f143, f144, f145, f146, f147, f148, f149, f150;
+ real_t f151, f152, f153, f154, f155, f156, f157, f158, f159, f160;
+ real_t f161, f162, f163, f164, f165, f166, f167, f168, f169, f170;
+ real_t f171, f172, f173, f174, f175, f176, f177, f178, f179, f180;
+ real_t f181, f182, f183, f184, f185, f186, f187, f188, f189, f190;
+ real_t f191, f192, f193, f194, f195, f196, f197, f198, f199, f200;
+ real_t f201, f202, f203, f204, f205, f206, f207, f208, f209, f210;
+ real_t f211, f212, f213, f214, f215, f216, f217, f218, f219, f220;
+ real_t f221, f222, f223, f224, f225, f226, f227, f228, f229, f230;
+ real_t f231, f232, f233, f234, f235, f236, f237, f238, f239, f240;
+ real_t f241, f242, f243, f244, f245, f246, f247, f248, f249, f250;
+ real_t f251, f252, f253, f254, f255, f256, f257, f258, f259, f260;
+ real_t f261, f262, f263, f264, f265, f266, f267, f268, f269, f270;
+ real_t f271, f272, f273, f274, f275, f276, f277, f278, f279, f280;
+ real_t f281, f282, f283, f284, f285, f286, f287, f288, f289, f290;
+ real_t f291, f292, f293, f294, f295, f296, f297, f298, f299, f300;
+ real_t f301, f302, f303, f304, f305, f306, f307, f310, f311, f312;
+ real_t f313, f316, f317, f318, f319, f322, f323, f324, f325, f328;
+ real_t f329, f330, f331, f334, f335, f336, f337, f340, f341, f342;
+ real_t f343, f346, f347, f348, f349, f352, f353, f354, f355, f358;
+ real_t f359, f360, f361, f364, f365, f366, f367, f370, f371, f372;
+ real_t f373, f376, f377, f378, f379, f382, f383, f384, f385, f388;
+ real_t f389, f390, f391, f394, f395, f396, f397;
+
+ f0 = x[15] - x[16];
+ f1 = x[15] + x[16];
+ f2 = MUL_F(FRAC_CONST(0.7071067811865476), f1);
+ f3 = MUL_F(FRAC_CONST(0.7071067811865476), f0);
+ f4 = x[8] - x[23];
+ f5 = x[8] + x[23];
+ f6 = MUL_F(FRAC_CONST(0.7071067811865476), f5);
+ f7 = MUL_F(FRAC_CONST(0.7071067811865476), f4);
+ f8 = x[12] - x[19];
+ f9 = x[12] + x[19];
+ f10 = MUL_F(FRAC_CONST(0.7071067811865476), f9);
+ f11 = MUL_F(FRAC_CONST(0.7071067811865476), f8);
+ f12 = x[11] - x[20];
+ f13 = x[11] + x[20];
+ f14 = MUL_F(FRAC_CONST(0.7071067811865476), f13);
+ f15 = MUL_F(FRAC_CONST(0.7071067811865476), f12);
+ f16 = x[14] - x[17];
+ f17 = x[14] + x[17];
+ f18 = MUL_F(FRAC_CONST(0.7071067811865476), f17);
+ f19 = MUL_F(FRAC_CONST(0.7071067811865476), f16);
+ f20 = x[9] - x[22];
+ f21 = x[9] + x[22];
+ f22 = MUL_F(FRAC_CONST(0.7071067811865476), f21);
+ f23 = MUL_F(FRAC_CONST(0.7071067811865476), f20);
+ f24 = x[13] - x[18];
+ f25 = x[13] + x[18];
+ f26 = MUL_F(FRAC_CONST(0.7071067811865476), f25);
+ f27 = MUL_F(FRAC_CONST(0.7071067811865476), f24);
+ f28 = x[10] - x[21];
+ f29 = x[10] + x[21];
+ f30 = MUL_F(FRAC_CONST(0.7071067811865476), f29);
+ f31 = MUL_F(FRAC_CONST(0.7071067811865476), f28);
+ f32 = x[0] - f2;
+ f33 = x[0] + f2;
+ f34 = x[31] - f3;
+ f35 = x[31] + f3;
+ f36 = x[7] - f6;
+ f37 = x[7] + f6;
+ f38 = x[24] - f7;
+ f39 = x[24] + f7;
+ f40 = x[3] - f10;
+ f41 = x[3] + f10;
+ f42 = x[28] - f11;
+ f43 = x[28] + f11;
+ f44 = x[4] - f14;
+ f45 = x[4] + f14;
+ f46 = x[27] - f15;
+ f47 = x[27] + f15;
+ f48 = x[1] - f18;
+ f49 = x[1] + f18;
+ f50 = x[30] - f19;
+ f51 = x[30] + f19;
+ f52 = x[6] - f22;
+ f53 = x[6] + f22;
+ f54 = x[25] - f23;
+ f55 = x[25] + f23;
+ f56 = x[2] - f26;
+ f57 = x[2] + f26;
+ f58 = x[29] - f27;
+ f59 = x[29] + f27;
+ f60 = x[5] - f30;
+ f61 = x[5] + f30;
+ f62 = x[26] - f31;
+ f63 = x[26] + f31;
+ f64 = f39 + f37;
+ f65 = MUL_F(FRAC_CONST(-0.5411961001461969), f39);
+ f66 = MUL_F(FRAC_CONST(0.9238795325112867), f64);
+ f67 = MUL_C(COEF_CONST(1.3065629648763766), f37);
+ f68 = f65 + f66;
+ f69 = f67 - f66;
+ f70 = f38 + f36;
+ f71 = MUL_C(COEF_CONST(1.3065629648763770), f38);
+ f72 = MUL_F(FRAC_CONST(-0.3826834323650904), f70);
+ f73 = MUL_F(FRAC_CONST(0.5411961001461961), f36);
+ f74 = f71 + f72;
+ f75 = f73 - f72;
+ f76 = f47 + f45;
+ f77 = MUL_F(FRAC_CONST(-0.5411961001461969), f47);
+ f78 = MUL_F(FRAC_CONST(0.9238795325112867), f76);
+ f79 = MUL_C(COEF_CONST(1.3065629648763766), f45);
+ f80 = f77 + f78;
+ f81 = f79 - f78;
+ f82 = f46 + f44;
+ f83 = MUL_C(COEF_CONST(1.3065629648763770), f46);
+ f84 = MUL_F(FRAC_CONST(-0.3826834323650904), f82);
+ f85 = MUL_F(FRAC_CONST(0.5411961001461961), f44);
+ f86 = f83 + f84;
+ f87 = f85 - f84;
+ f88 = f55 + f53;
+ f89 = MUL_F(FRAC_CONST(-0.5411961001461969), f55);
+ f90 = MUL_F(FRAC_CONST(0.9238795325112867), f88);
+ f91 = MUL_C(COEF_CONST(1.3065629648763766), f53);
+ f92 = f89 + f90;
+ f93 = f91 - f90;
+ f94 = f54 + f52;
+ f95 = MUL_C(COEF_CONST(1.3065629648763770), f54);
+ f96 = MUL_F(FRAC_CONST(-0.3826834323650904), f94);
+ f97 = MUL_F(FRAC_CONST(0.5411961001461961), f52);
+ f98 = f95 + f96;
+ f99 = f97 - f96;
+ f100 = f63 + f61;
+ f101 = MUL_F(FRAC_CONST(-0.5411961001461969), f63);
+ f102 = MUL_F(FRAC_CONST(0.9238795325112867), f100);
+ f103 = MUL_C(COEF_CONST(1.3065629648763766), f61);
+ f104 = f101 + f102;
+ f105 = f103 - f102;
+ f106 = f62 + f60;
+ f107 = MUL_C(COEF_CONST(1.3065629648763770), f62);
+ f108 = MUL_F(FRAC_CONST(-0.3826834323650904), f106);
+ f109 = MUL_F(FRAC_CONST(0.5411961001461961), f60);
+ f110 = f107 + f108;
+ f111 = f109 - f108;
+ f112 = f33 - f68;
+ f113 = f33 + f68;
+ f114 = f35 - f69;
+ f115 = f35 + f69;
+ f116 = f32 - f74;
+ f117 = f32 + f74;
+ f118 = f34 - f75;
+ f119 = f34 + f75;
+ f120 = f41 - f80;
+ f121 = f41 + f80;
+ f122 = f43 - f81;
+ f123 = f43 + f81;
+ f124 = f40 - f86;
+ f125 = f40 + f86;
+ f126 = f42 - f87;
+ f127 = f42 + f87;
+ f128 = f49 - f92;
+ f129 = f49 + f92;
+ f130 = f51 - f93;
+ f131 = f51 + f93;
+ f132 = f48 - f98;
+ f133 = f48 + f98;
+ f134 = f50 - f99;
+ f135 = f50 + f99;
+ f136 = f57 - f104;
+ f137 = f57 + f104;
+ f138 = f59 - f105;
+ f139 = f59 + f105;
+ f140 = f56 - f110;
+ f141 = f56 + f110;
+ f142 = f58 - f111;
+ f143 = f58 + f111;
+ f144 = f123 + f121;
+ f145 = MUL_F(FRAC_CONST(-0.7856949583871021), f123);
+ f146 = MUL_F(FRAC_CONST(0.9807852804032304), f144);
+ f147 = MUL_C(COEF_CONST(1.1758756024193588), f121);
+ f148 = f145 + f146;
+ f149 = f147 - f146;
+ f150 = f127 + f125;
+ f151 = MUL_F(FRAC_CONST(0.2758993792829431), f127);
+ f152 = MUL_F(FRAC_CONST(0.5555702330196022), f150);
+ f153 = MUL_C(COEF_CONST(1.3870398453221475), f125);
+ f154 = f151 + f152;
+ f155 = f153 - f152;
+ f156 = f122 + f120;
+ f157 = MUL_C(COEF_CONST(1.1758756024193591), f122);
+ f158 = MUL_F(FRAC_CONST(-0.1950903220161287), f156);
+ f159 = MUL_F(FRAC_CONST(0.7856949583871016), f120);
+ f160 = f157 + f158;
+ f161 = f159 - f158;
+ f162 = f126 + f124;
+ f163 = MUL_C(COEF_CONST(1.3870398453221473), f126);
+ f164 = MUL_F(FRAC_CONST(-0.8314696123025455), f162);
+ f165 = MUL_F(FRAC_CONST(-0.2758993792829436), f124);
+ f166 = f163 + f164;
+ f167 = f165 - f164;
+ f168 = f139 + f137;
+ f169 = MUL_F(FRAC_CONST(-0.7856949583871021), f139);
+ f170 = MUL_F(FRAC_CONST(0.9807852804032304), f168);
+ f171 = MUL_C(COEF_CONST(1.1758756024193588), f137);
+ f172 = f169 + f170;
+ f173 = f171 - f170;
+ f174 = f143 + f141;
+ f175 = MUL_F(FRAC_CONST(0.2758993792829431), f143);
+ f176 = MUL_F(FRAC_CONST(0.5555702330196022), f174);
+ f177 = MUL_C(COEF_CONST(1.3870398453221475), f141);
+ f178 = f175 + f176;
+ f179 = f177 - f176;
+ f180 = f138 + f136;
+ f181 = MUL_C(COEF_CONST(1.1758756024193591), f138);
+ f182 = MUL_F(FRAC_CONST(-0.1950903220161287), f180);
+ f183 = MUL_F(FRAC_CONST(0.7856949583871016), f136);
+ f184 = f181 + f182;
+ f185 = f183 - f182;
+ f186 = f142 + f140;
+ f187 = MUL_C(COEF_CONST(1.3870398453221473), f142);
+ f188 = MUL_F(FRAC_CONST(-0.8314696123025455), f186);
+ f189 = MUL_F(FRAC_CONST(-0.2758993792829436), f140);
+ f190 = f187 + f188;
+ f191 = f189 - f188;
+ f192 = f113 - f148;
+ f193 = f113 + f148;
+ f194 = f115 - f149;
+ f195 = f115 + f149;
+ f196 = f117 - f154;
+ f197 = f117 + f154;
+ f198 = f119 - f155;
+ f199 = f119 + f155;
+ f200 = f112 - f160;
+ f201 = f112 + f160;
+ f202 = f114 - f161;
+ f203 = f114 + f161;
+ f204 = f116 - f166;
+ f205 = f116 + f166;
+ f206 = f118 - f167;
+ f207 = f118 + f167;
+ f208 = f129 - f172;
+ f209 = f129 + f172;
+ f210 = f131 - f173;
+ f211 = f131 + f173;
+ f212 = f133 - f178;
+ f213 = f133 + f178;
+ f214 = f135 - f179;
+ f215 = f135 + f179;
+ f216 = f128 - f184;
+ f217 = f128 + f184;
+ f218 = f130 - f185;
+ f219 = f130 + f185;
+ f220 = f132 - f190;
+ f221 = f132 + f190;
+ f222 = f134 - f191;
+ f223 = f134 + f191;
+ f224 = f211 + f209;
+ f225 = MUL_F(FRAC_CONST(-0.8971675863426361), f211);
+ f226 = MUL_F(FRAC_CONST(0.9951847266721968), f224);
+ f227 = MUL_C(COEF_CONST(1.0932018670017576), f209);
+ f228 = f225 + f226;
+ f229 = f227 - f226;
+ f230 = f215 + f213;
+ f231 = MUL_F(FRAC_CONST(-0.4105245275223571), f215);
+ f232 = MUL_F(FRAC_CONST(0.8819212643483549), f230);
+ f233 = MUL_C(COEF_CONST(1.3533180011743529), f213);
+ f234 = f231 + f232;
+ f235 = f233 - f232;
+ f236 = f219 + f217;
+ f237 = MUL_F(FRAC_CONST(0.1386171691990915), f219);
+ f238 = MUL_F(FRAC_CONST(0.6343932841636455), f236);
+ f239 = MUL_C(COEF_CONST(1.4074037375263826), f217);
+ f240 = f237 + f238;
+ f241 = f239 - f238;
+ f242 = f223 + f221;
+ f243 = MUL_F(FRAC_CONST(0.6666556584777466), f223);
+ f244 = MUL_F(FRAC_CONST(0.2902846772544623), f242);
+ f245 = MUL_C(COEF_CONST(1.2472250129866711), f221);
+ f246 = f243 + f244;
+ f247 = f245 - f244;
+ f248 = f210 + f208;
+ f249 = MUL_C(COEF_CONST(1.0932018670017574), f210);
+ f250 = MUL_F(FRAC_CONST(-0.0980171403295605), f248);
+ f251 = MUL_F(FRAC_CONST(0.8971675863426364), f208);
+ f252 = f249 + f250;
+ f253 = f251 - f250;
+ f254 = f214 + f212;
+ f255 = MUL_C(COEF_CONST(1.3533180011743529), f214);
+ f256 = MUL_F(FRAC_CONST(-0.4713967368259979), f254);
+ f257 = MUL_F(FRAC_CONST(0.4105245275223569), f212);
+ f258 = f255 + f256;
+ f259 = f257 - f256;
+ f260 = f218 + f216;
+ f261 = MUL_C(COEF_CONST(1.4074037375263826), f218);
+ f262 = MUL_F(FRAC_CONST(-0.7730104533627369), f260);
+ f263 = MUL_F(FRAC_CONST(-0.1386171691990913), f216);
+ f264 = f261 + f262;
+ f265 = f263 - f262;
+ f266 = f222 + f220;
+ f267 = MUL_C(COEF_CONST(1.2472250129866711), f222);
+ f268 = MUL_F(FRAC_CONST(-0.9569403357322089), f266);
+ f269 = MUL_F(FRAC_CONST(-0.6666556584777469), f220);
+ f270 = f267 + f268;
+ f271 = f269 - f268;
+ f272 = f193 - f228;
+ f273 = f193 + f228;
+ f274 = f195 - f229;
+ f275 = f195 + f229;
+ f276 = f197 - f234;
+ f277 = f197 + f234;
+ f278 = f199 - f235;
+ f279 = f199 + f235;
+ f280 = f201 - f240;
+ f281 = f201 + f240;
+ f282 = f203 - f241;
+ f283 = f203 + f241;
+ f284 = f205 - f246;
+ f285 = f205 + f246;
+ f286 = f207 - f247;
+ f287 = f207 + f247;
+ f288 = f192 - f252;
+ f289 = f192 + f252;
+ f290 = f194 - f253;
+ f291 = f194 + f253;
+ f292 = f196 - f258;
+ f293 = f196 + f258;
+ f294 = f198 - f259;
+ f295 = f198 + f259;
+ f296 = f200 - f264;
+ f297 = f200 + f264;
+ f298 = f202 - f265;
+ f299 = f202 + f265;
+ f300 = f204 - f270;
+ f301 = f204 + f270;
+ f302 = f206 - f271;
+ f303 = f206 + f271;
+ f304 = f275 + f273;
+ f305 = MUL_F(FRAC_CONST(-0.9751575901732920), f275);
+ f306 = MUL_F(FRAC_CONST(0.9996988186962043), f304);
+ f307 = MUL_C(COEF_CONST(1.0242400472191164), f273);
+ y[0] = f305 + f306;
+ y[31] = f307 - f306;
+ f310 = f279 + f277;
+ f311 = MUL_F(FRAC_CONST(-0.8700688593994936), f279);
+ f312 = MUL_F(FRAC_CONST(0.9924795345987100), f310);
+ f313 = MUL_C(COEF_CONST(1.1148902097979263), f277);
+ y[2] = f311 + f312;
+ y[29] = f313 - f312;
+ f316 = f283 + f281;
+ f317 = MUL_F(FRAC_CONST(-0.7566008898816587), f283);
+ f318 = MUL_F(FRAC_CONST(0.9757021300385286), f316);
+ f319 = MUL_C(COEF_CONST(1.1948033701953984), f281);
+ y[4] = f317 + f318;
+ y[27] = f319 - f318;
+ f322 = f287 + f285;
+ f323 = MUL_F(FRAC_CONST(-0.6358464401941451), f287);
+ f324 = MUL_F(FRAC_CONST(0.9495281805930367), f322);
+ f325 = MUL_C(COEF_CONST(1.2632099209919283), f285);
+ y[6] = f323 + f324;
+ y[25] = f325 - f324;
+ f328 = f291 + f289;
+ f329 = MUL_F(FRAC_CONST(-0.5089684416985408), f291);
+ f330 = MUL_F(FRAC_CONST(0.9142097557035307), f328);
+ f331 = MUL_C(COEF_CONST(1.3194510697085207), f289);
+ y[8] = f329 + f330;
+ y[23] = f331 - f330;
+ f334 = f295 + f293;
+ f335 = MUL_F(FRAC_CONST(-0.3771887988789273), f295);
+ f336 = MUL_F(FRAC_CONST(0.8700869911087114), f334);
+ f337 = MUL_C(COEF_CONST(1.3629851833384954), f293);
+ y[10] = f335 + f336;
+ y[21] = f337 - f336;
+ f340 = f299 + f297;
+ f341 = MUL_F(FRAC_CONST(-0.2417766217337384), f299);
+ f342 = MUL_F(FRAC_CONST(0.8175848131515837), f340);
+ f343 = MUL_C(COEF_CONST(1.3933930045694289), f297);
+ y[12] = f341 + f342;
+ y[19] = f343 - f342;
+ f346 = f303 + f301;
+ f347 = MUL_F(FRAC_CONST(-0.1040360035527077), f303);
+ f348 = MUL_F(FRAC_CONST(0.7572088465064845), f346);
+ f349 = MUL_C(COEF_CONST(1.4103816894602612), f301);
+ y[14] = f347 + f348;
+ y[17] = f349 - f348;
+ f352 = f274 + f272;
+ f353 = MUL_F(FRAC_CONST(0.0347065382144002), f274);
+ f354 = MUL_F(FRAC_CONST(0.6895405447370668), f352);
+ f355 = MUL_C(COEF_CONST(1.4137876276885337), f272);
+ y[16] = f353 + f354;
+ y[15] = f355 - f354;
+ f358 = f278 + f276;
+ f359 = MUL_F(FRAC_CONST(0.1731148370459795), f278);
+ f360 = MUL_F(FRAC_CONST(0.6152315905806268), f358);
+ f361 = MUL_C(COEF_CONST(1.4035780182072330), f276);
+ y[18] = f359 + f360;
+ y[13] = f361 - f360;
+ f364 = f282 + f280;
+ f365 = MUL_F(FRAC_CONST(0.3098559453626100), f282);
+ f366 = MUL_F(FRAC_CONST(0.5349976198870972), f364);
+ f367 = MUL_C(COEF_CONST(1.3798511851368043), f280);
+ y[20] = f365 + f366;
+ y[11] = f367 - f366;
+ f370 = f286 + f284;
+ f371 = MUL_F(FRAC_CONST(0.4436129715409088), f286);
+ f372 = MUL_F(FRAC_CONST(0.4496113296546065), f370);
+ f373 = MUL_C(COEF_CONST(1.3428356308501219), f284);
+ y[22] = f371 + f372;
+ y[9] = f373 - f372;
+ f376 = f290 + f288;
+ f377 = MUL_F(FRAC_CONST(0.5730977622997509), f290);
+ f378 = MUL_F(FRAC_CONST(0.3598950365349881), f376);
+ f379 = MUL_C(COEF_CONST(1.2928878353697271), f288);
+ y[24] = f377 + f378;
+ y[7] = f379 - f378;
+ f382 = f294 + f292;
+ f383 = MUL_F(FRAC_CONST(0.6970633083205415), f294);
+ f384 = MUL_F(FRAC_CONST(0.2667127574748984), f382);
+ f385 = MUL_C(COEF_CONST(1.2304888232703382), f292);
+ y[26] = f383 + f384;
+ y[5] = f385 - f384;
+ f388 = f298 + f296;
+ f389 = MUL_F(FRAC_CONST(0.8143157536286401), f298);
+ f390 = MUL_F(FRAC_CONST(0.1709618887603012), f388);
+ f391 = MUL_C(COEF_CONST(1.1562395311492424), f296);
+ y[28] = f389 + f390;
+ y[3] = f391 - f390;
+ f394 = f302 + f300;
+ f395 = MUL_F(FRAC_CONST(0.9237258930790228), f302);
+ f396 = MUL_F(FRAC_CONST(0.0735645635996674), f394);
+ f397 = MUL_C(COEF_CONST(1.0708550202783576), f300);
+ y[30] = f395 + f396;
+ y[1] = f397 - f396;
+}
+
#ifdef SBR_LOW_POWER
+void DCT2_16_unscaled(real_t *y, real_t *x)
+{
+ real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10;
+ real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20;
+ real_t f21, f22, f23, f24, f25, f26, f27, f28, f31, f32;
+ real_t f33, f34, f37, f38, f39, f40, f41, f42, f43, f44;
+ real_t f45, f46, f47, f48, f49, f51, f53, f54, f57, f58;
+ real_t f59, f60, f61, f62, f63, f64, f65, f66, f67, f68;
+ real_t f69, f70, f71, f72, f73, f74, f75, f76, f77, f78;
+ real_t f79, f80, f81, f82, f83, f84, f85, f86, f87, f88;
+ real_t f89, f90, f91, f92, f95, f96, f97, f98, f101, f102;
+ real_t f103, f104, f107, f108, f109, f110;
+
+ f0 = x[0] - x[15];
+ f1 = x[0] + x[15];
+ f2 = x[1] - x[14];
+ f3 = x[1] + x[14];
+ f4 = x[2] - x[13];
+ f5 = x[2] + x[13];
+ f6 = x[3] - x[12];
+ f7 = x[3] + x[12];
+ f8 = x[4] - x[11];
+ f9 = x[4] + x[11];
+ f10 = x[5] - x[10];
+ f11 = x[5] + x[10];
+ f12 = x[6] - x[9];
+ f13 = x[6] + x[9];
+ f14 = x[7] - x[8];
+ f15 = x[7] + x[8];
+ f16 = f1 - f15;
+ f17 = f1 + f15;
+ f18 = f3 - f13;
+ f19 = f3 + f13;
+ f20 = f5 - f11;
+ f21 = f5 + f11;
+ f22 = f7 - f9;
+ f23 = f7 + f9;
+ f24 = f17 - f23;
+ f25 = f17 + f23;
+ f26 = f19 - f21;
+ f27 = f19 + f21;
+ f28 = f25 - f27;
+ y[0] = f25 + f27;
+ y[8] = MUL_F(f28, FRAC_CONST(0.7071067811865476));
+ f31 = f24 + f26;
+ f32 = MUL_C(f24, COEF_CONST(1.3065629648763766));
+ f33 = MUL_F(f31, FRAC_CONST(-0.9238795325112866));
+ f34 = MUL_F(f26, FRAC_CONST(-0.5411961001461967));
+ y[12] = f32 + f33;
+ y[4] = f34 - f33;
+ f37 = f16 + f22;
+ f38 = MUL_C(f16, COEF_CONST(1.1758756024193588));
+ f39 = MUL_F(f37, FRAC_CONST(-0.9807852804032304));
+ f40 = MUL_F(f22, FRAC_CONST(-0.7856949583871021));
+ f41 = f38 + f39;
+ f42 = f40 - f39;
+ f43 = f18 + f20;
+ f44 = MUL_C(f18, COEF_CONST(1.3870398453221473));
+ f45 = MUL_F(f43, FRAC_CONST(-0.8314696123025455));
+ f46 = MUL_F(f20, FRAC_CONST(-0.2758993792829436));
+ f47 = f44 + f45;
+ f48 = f46 - f45;
+ f49 = f42 - f48;
+ y[2] = f42 + f48;
+ f51 = MUL_F(f49, FRAC_CONST(0.7071067811865476));
+ y[14] = f41 - f47;
+ f53 = f41 + f47;
+ f54 = MUL_F(f53, FRAC_CONST(0.7071067811865476));
+ y[10] = f51 - f54;
+ y[6] = f51 + f54;
+ f57 = f2 - f4;
+ f58 = f2 + f4;
+ f59 = f6 - f8;
+ f60 = f6 + f8;
+ f61 = f10 - f12;
+ f62 = f10 + f12;
+ f63 = MUL_F(f60, FRAC_CONST(0.7071067811865476));
+ f64 = f0 - f63;
+ f65 = f0 + f63;
+ f66 = f58 + f62;
+ f67 = MUL_C(f58, COEF_CONST(1.3065629648763766));
+ f68 = MUL_F(f66, FRAC_CONST(-0.9238795325112866));
+ f69 = MUL_F(f62, FRAC_CONST(-0.5411961001461967));
+ f70 = f67 + f68;
+ f71 = f69 - f68;
+ f72 = f65 - f71;
+ f73 = f65 + f71;
+ f74 = f64 - f70;
+ f75 = f64 + f70;
+ f76 = MUL_F(f59, FRAC_CONST(0.7071067811865476));
+ f77 = f14 - f76;
+ f78 = f14 + f76;
+ f79 = f61 + f57;
+ f80 = MUL_C(f61, COEF_CONST(1.3065629648763766));
+ f81 = MUL_F(f79, FRAC_CONST(-0.9238795325112866));
+ f82 = MUL_F(f57, FRAC_CONST(-0.5411961001461967));
+ f83 = f80 + f81;
+ f84 = f82 - f81;
+ f85 = f78 - f84;
+ f86 = f78 + f84;
+ f87 = f77 - f83;
+ f88 = f77 + f83;
+ f89 = f86 + f73;
+ f90 = MUL_F(f86, FRAC_CONST(-0.8971675863426361));
+ f91 = MUL_F(f89, FRAC_CONST(0.9951847266721968));
+ f92 = MUL_C(f73, COEF_CONST(1.0932018670017576));
+ y[1] = f90 + f91;
+ y[15] = f92 - f91;
+ f95 = f75 - f88;
+ f96 = MUL_F(f88, FRAC_CONST(-0.6666556584777466));
+ f97 = MUL_F(f95, FRAC_CONST(0.9569403357322089));
+ f98 = MUL_C(f75, COEF_CONST(1.2472250129866713));
+ y[3] = f97 - f96;
+ y[13] = f98 - f97;
+ f101 = f87 + f74;
+ f102 = MUL_F(f87, FRAC_CONST(-0.4105245275223571));
+ f103 = MUL_F(f101, FRAC_CONST(0.8819212643483549));
+ f104 = MUL_C(f74, COEF_CONST(1.3533180011743529));
+ y[5] = f102 + f103;
+ y[11] = f104 - f103;
+ f107 = f72 - f85;
+ f108 = MUL_F(f85, FRAC_CONST(-0.1386171691990915));
+ f109 = MUL_F(f107, FRAC_CONST(0.7730104533627370));
+ f110 = MUL_C(f72, COEF_CONST(1.4074037375263826));
+ y[7] = f109 - f108;
+ y[9] = f110 - f109;
+}
+
+void DCT4_16(real_t *y, real_t *x)
+{
+ real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10;
+ real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20;
+ real_t f21, f22, f23, f24, f25, f26, f27, f28, f29, f30;
+ real_t f31, f32, f33, f34, f35, f36, f37, f38, f39, f40;
+ 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, f63, f64, f65, f66, f67, f68, f69, f70;
+ real_t f71, f72, f73, f74, f75, f76, f77, f78, f79, f80;
+ real_t f81, f82, f83, f84, f85, f86, f87, f88, f89, f90;
+ real_t f91, f92, f93, f94, f95, f96, f97, f98, f99, f100;
+ real_t f101, f102, f103, f104, f105, f106, f107, f108, f109, f110;
+ real_t f111, f112, f113, f114, f115, f116, f117, f118, f119, f120;
+ real_t f121, f122, f123, f124, f125, f126, f127, f128, f130, f132;
+ real_t f134, f136, f138, f140, f142, f144, f145, f148, f149, f152;
+ real_t f153, f156, f157;
+
+ f0 = x[0] + x[15];
+ f1 = MUL_C(COEF_CONST(1.0478631305325901), x[0]);
+ f2 = MUL_F(FRAC_CONST(-0.9987954562051724), f0);
+ f3 = MUL_F(FRAC_CONST(-0.9497277818777548), x[15]);
+ f4 = f1 + f2;
+ f5 = f3 - f2;
+ f6 = x[2] + x[13];
+ f7 = MUL_C(COEF_CONST(1.2130114330978077), x[2]);
+ f8 = MUL_F(FRAC_CONST(-0.9700312531945440), f6);
+ f9 = MUL_F(FRAC_CONST(-0.7270510732912803), x[13]);
+ f10 = f7 + f8;
+ f11 = f9 - f8;
+ f12 = x[4] + x[11];
+ f13 = MUL_C(COEF_CONST(1.3315443865537255), x[4]);
+ f14 = MUL_F(FRAC_CONST(-0.9039892931234433), f12);
+ f15 = MUL_F(FRAC_CONST(-0.4764341996931612), x[11]);
+ f16 = f13 + f14;
+ f17 = f15 - f14;
+ f18 = x[6] + x[9];
+ f19 = MUL_C(COEF_CONST(1.3989068359730781), x[6]);
+ f20 = MUL_F(FRAC_CONST(-0.8032075314806453), f18);
+ f21 = MUL_F(FRAC_CONST(-0.2075082269882124), x[9]);
+ f22 = f19 + f20;
+ f23 = f21 - f20;
+ f24 = x[8] + x[7];
+ f25 = MUL_C(COEF_CONST(1.4125100802019777), x[8]);
+ f26 = MUL_F(FRAC_CONST(-0.6715589548470187), f24);
+ f27 = MUL_F(FRAC_CONST(0.0693921705079402), x[7]);
+ f28 = f25 + f26;
+ f29 = f27 - f26;
+ f30 = x[10] + x[5];
+ f31 = MUL_C(COEF_CONST(1.3718313541934939), x[10]);
+ f32 = MUL_F(FRAC_CONST(-0.5141027441932219), f30);
+ f33 = MUL_F(FRAC_CONST(0.3436258658070501), x[5]);
+ f34 = f31 + f32;
+ f35 = f33 - f32;
+ f36 = x[12] + x[3];
+ f37 = MUL_C(COEF_CONST(1.2784339185752409), x[12]);
+ f38 = MUL_F(FRAC_CONST(-0.3368898533922200), f36);
+ f39 = MUL_F(FRAC_CONST(0.6046542117908008), x[3]);
+ f40 = f37 + f38;
+ f41 = f39 - f38;
+ f42 = x[14] + x[1];
+ f43 = MUL_C(COEF_CONST(1.1359069844201433), x[14]);
+ f44 = MUL_F(FRAC_CONST(-0.1467304744553624), f42);
+ f45 = MUL_F(FRAC_CONST(0.8424460355094185), x[1]);
+ f46 = f43 + f44;
+ f47 = f45 - f44;
+ f48 = f5 - f29;
+ f49 = f5 + f29;
+ f50 = f4 - f28;
+ f51 = f4 + f28;
+ f52 = f11 - f35;
+ f53 = f11 + f35;
+ f54 = f10 - f34;
+ f55 = f10 + f34;
+ f56 = f17 - f41;
+ f57 = f17 + f41;
+ f58 = f16 - f40;
+ f59 = f16 + f40;
+ f60 = f23 - f47;
+ f61 = f23 + f47;
+ f62 = f22 - f46;
+ f63 = f22 + f46;
+ f64 = f48 + f50;
+ f65 = MUL_C(COEF_CONST(1.1758756024193588), f48);
+ f66 = MUL_F(FRAC_CONST(-0.9807852804032304), f64);
+ f67 = MUL_F(FRAC_CONST(-0.7856949583871021), f50);
+ f68 = f65 + f66;
+ f69 = f67 - f66;
+ f70 = f52 + f54;
+ f71 = MUL_C(COEF_CONST(1.3870398453221475), f52);
+ f72 = MUL_F(FRAC_CONST(-0.5555702330196022), f70);
+ f73 = MUL_F(FRAC_CONST(0.2758993792829431), f54);
+ f74 = f71 + f72;
+ f75 = f73 - f72;
+ f76 = f56 + f58;
+ f77 = MUL_F(FRAC_CONST(0.7856949583871022), f56);
+ f78 = MUL_F(FRAC_CONST(0.1950903220161283), f76);
+ f79 = MUL_C(COEF_CONST(1.1758756024193586), f58);
+ f80 = f77 + f78;
+ f81 = f79 - f78;
+ f82 = f60 + f62;
+ f83 = MUL_F(FRAC_CONST(-0.2758993792829430), f60);
+ f84 = MUL_F(FRAC_CONST(0.8314696123025452), f82);
+ f85 = MUL_C(COEF_CONST(1.3870398453221475), f62);
+ f86 = f83 + f84;
+ f87 = f85 - f84;
+ f88 = f49 - f57;
+ f89 = f49 + f57;
+ f90 = f51 - f59;
+ f91 = f51 + f59;
+ f92 = f53 - f61;
+ f93 = f53 + f61;
+ f94 = f55 - f63;
+ f95 = f55 + f63;
+ f96 = f69 - f81;
+ f97 = f69 + f81;
+ f98 = f68 - f80;
+ f99 = f68 + f80;
+ f100 = f75 - f87;
+ f101 = f75 + f87;
+ f102 = f74 - f86;
+ f103 = f74 + f86;
+ f104 = f88 + f90;
+ f105 = MUL_C(COEF_CONST(1.3065629648763766), f88);
+ f106 = MUL_F(FRAC_CONST(-0.9238795325112866), f104);
+ f107 = MUL_F(FRAC_CONST(-0.5411961001461967), f90);
+ f108 = f105 + f106;
+ f109 = f107 - f106;
+ f110 = f92 + f94;
+ f111 = MUL_F(FRAC_CONST(0.5411961001461969), f92);
+ f112 = MUL_F(FRAC_CONST(0.3826834323650898), f110);
+ f113 = MUL_C(COEF_CONST(1.3065629648763766), f94);
+ f114 = f111 + f112;
+ f115 = f113 - f112;
+ f116 = f96 + f98;
+ f117 = MUL_C(COEF_CONST(1.3065629648763766), f96);
+ f118 = MUL_F(FRAC_CONST(-0.9238795325112866), f116);
+ f119 = MUL_F(FRAC_CONST(-0.5411961001461967), f98);
+ f120 = f117 + f118;
+ f121 = f119 - f118;
+ f122 = f100 + f102;
+ f123 = MUL_F(FRAC_CONST(0.5411961001461969), f100);
+ f124 = MUL_F(FRAC_CONST(0.3826834323650898), f122);
+ f125 = MUL_C(COEF_CONST(1.3065629648763766), f102);
+ f126 = f123 + f124;
+ f127 = f125 - f124;
+ f128 = f89 - f93;
+ y[0] = f89 + f93;
+ f130 = f91 - f95;
+ y[15] = f91 + f95;
+ f132 = f109 - f115;
+ y[3] = f109 + f115;
+ f134 = f108 - f114;
+ y[12] = f108 + f114;
+ f136 = f97 - f101;
+ y[1] = f97 + f101;
+ f138 = f99 - f103;
+ y[14] = f99 + f103;
+ f140 = f121 - f127;
+ y[2] = f121 + f127;
+ f142 = f120 - f126;
+ y[13] = f120 + f126;
+ f144 = f128 - f130;
+ f145 = f128 + f130;
+ y[8] = MUL_F(FRAC_CONST(0.7071067811865474), f144);
+ y[7] = MUL_F(FRAC_CONST(0.7071067811865474), f145);
+ f148 = f132 - f134;
+ f149 = f132 + f134;
+ y[11] = MUL_F(FRAC_CONST(0.7071067811865474), f148);
+ y[4] = MUL_F(FRAC_CONST(0.7071067811865474), f149);
+ f152 = f136 - f138;
+ f153 = f136 + f138;
+ y[9] = MUL_F(FRAC_CONST(0.7071067811865474), f152);
+ y[6] = MUL_F(FRAC_CONST(0.7071067811865474), f153);
+ f156 = f140 - f142;
+ f157 = f140 + f142;
+ y[10] = MUL_F(FRAC_CONST(0.7071067811865474), f156);
+ y[5] = MUL_F(FRAC_CONST(0.7071067811865474), f157);
+}
+
void DCT3_32_unscaled(real_t *y, real_t *x)
{
real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10;
@@ -72,13 +822,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(COEF_CONST(0.7071067811865476), x[16]);
+ f0 = MUL_F(x[16], FRAC_CONST(0.7071067811865476));
f1 = x[0] - f0;
f2 = x[0] + f0;
f3 = x[8] + 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]);
+ f4 = MUL_C(x[8], COEF_CONST(1.3065629648763766));
+ f5 = MUL_F(f3, FRAC_CONST((-0.9238795325112866)));
+ f6 = MUL_F(x[24], FRAC_CONST((-0.5411961001461967)));
f7 = f4 + f5;
f8 = f6 - f5;
f9 = f2 - f8;
@@ -86,23 +836,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(COEF_CONST(1.1758756024193588), x[4]);
- f15 = MUL_C(COEF_CONST((-0.9807852804032304)), f13);
- f16 = MUL_C(COEF_CONST((-0.7856949583871021)), x[28]);
+ f14 = MUL_C(x[4], COEF_CONST(1.1758756024193588));
+ f15 = MUL_F(f13, FRAC_CONST((-0.9807852804032304)));
+ f16 = MUL_F(x[28], FRAC_CONST((-0.7856949583871021)));
f17 = f14 + f15;
f18 = f16 - f15;
f19 = x[12] + 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]);
+ f20 = MUL_C(x[12], COEF_CONST(1.3870398453221473));
+ f21 = MUL_F(f19, FRAC_CONST((-0.8314696123025455)));
+ f22 = MUL_F(x[20], FRAC_CONST((-0.2758993792829436)));
f23 = f20 + f21;
f24 = f22 - f21;
f25 = f18 - f24;
f26 = f18 + f24;
- f27 = MUL_C(COEF_CONST(0.7071067811865476), f25);
+ f27 = MUL_F(f25, FRAC_CONST(0.7071067811865476));
f28 = f17 - f23;
f29 = f17 + f23;
- f30 = MUL_C(COEF_CONST(0.7071067811865476), f29);
+ f30 = MUL_F(f29, FRAC_CONST(0.7071067811865476));
f31 = f27 - f30;
f32 = f27 + f30;
f33 = f10 - f26;
@@ -114,27 +864,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(COEF_CONST(1.0932018670017569), x[2]);
- f43 = MUL_C(COEF_CONST((-0.9951847266721969)), f41);
- f44 = MUL_C(COEF_CONST((-0.8971675863426368)), x[30]);
+ f42 = MUL_C(x[2], COEF_CONST(1.0932018670017569));
+ f43 = MUL_F(f41, FRAC_CONST((-0.9951847266721969)));
+ f44 = MUL_F(x[30], FRAC_CONST((-0.8971675863426368)));
f45 = f42 + f43;
f46 = f44 - f43;
f47 = x[6] + 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]);
+ f48 = MUL_C(x[6], COEF_CONST(1.2472250129866711));
+ f49 = MUL_F(f47, FRAC_CONST((-0.9569403357322089)));
+ f50 = MUL_F(x[26], FRAC_CONST((-0.6666556584777469)));
f51 = f48 + f49;
f52 = f50 - f49;
f53 = x[10] + 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]);
+ f54 = MUL_C(x[10], COEF_CONST(1.3533180011743526));
+ f55 = MUL_F(f53, FRAC_CONST((-0.8819212643483551)));
+ f56 = MUL_F(x[22], FRAC_CONST((-0.4105245275223575)));
f57 = f54 + f55;
f58 = f56 - f55;
f59 = x[14] + 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]);
+ f60 = MUL_C(x[14], COEF_CONST(1.4074037375263826));
+ f61 = MUL_F(f59, FRAC_CONST((-0.7730104533627369)));
+ f62 = MUL_F(x[18], FRAC_CONST((-0.1386171691990913)));
f63 = f60 + f61;
f64 = f62 - f61;
f65 = f46 - f64;
@@ -143,11 +893,11 @@ void DCT3_32_unscaled(real_t *y, real_t *x)
f68 = f52 + f58;
f69 = f66 - f68;
f70 = f66 + f68;
- f71 = MUL_C(COEF_CONST(0.7071067811865476), f69);
+ f71 = MUL_F(f69, FRAC_CONST(0.7071067811865476));
f72 = f65 + 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);
+ f73 = MUL_C(f65, COEF_CONST(1.3065629648763766));
+ f74 = MUL_F(f72, FRAC_CONST((-0.9238795325112866)));
+ f75 = MUL_F(f67, FRAC_CONST((-0.5411961001461967)));
f76 = f73 + f74;
f77 = f75 - f74;
f78 = f45 - f63;
@@ -155,14 +905,14 @@ void DCT3_32_unscaled(real_t *y, real_t *x)
f80 = f51 - f57;
f81 = f51 + f57;
f82 = f79 + 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);
+ f83 = MUL_C(f79, COEF_CONST(1.3065629648763770));
+ f84 = MUL_F(f82, FRAC_CONST((-0.3826834323650904)));
+ f85 = MUL_F(f81, FRAC_CONST(0.5411961001461961));
f86 = f83 + f84;
f87 = f85 - f84;
f88 = f78 - f80;
f89 = f78 + f80;
- f90 = MUL_C(COEF_CONST(0.7071067811865476), f89);
+ f90 = MUL_F(f89, FRAC_CONST(0.7071067811865476));
f91 = f77 - f87;
f92 = f77 + f87;
f93 = f71 - f90;
@@ -186,51 +936,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(COEF_CONST(1.0478631305325901), x[1]);
- f115 = MUL_C(COEF_CONST((-0.9987954562051724)), f113);
- f116 = MUL_C(COEF_CONST((-0.9497277818777548)), x[31]);
+ f114 = MUL_C(x[1], COEF_CONST(1.0478631305325901));
+ f115 = MUL_F(f113, FRAC_CONST((-0.9987954562051724)));
+ f116 = MUL_F(x[31], FRAC_CONST((-0.9497277818777548)));
f117 = f114 + f115;
f118 = f116 - f115;
f119 = x[5] + 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]);
+ f120 = MUL_C(x[5], COEF_CONST(1.2130114330978077));
+ f121 = MUL_F(f119, FRAC_CONST((-0.9700312531945440)));
+ f122 = MUL_F(x[27], FRAC_CONST((-0.7270510732912803)));
f123 = f120 + f121;
f124 = f122 - f121;
f125 = x[9] + 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]);
+ f126 = MUL_C(x[9], COEF_CONST(1.3315443865537255));
+ f127 = MUL_F(f125, FRAC_CONST((-0.9039892931234433)));
+ f128 = MUL_F(x[23], FRAC_CONST((-0.4764341996931612)));
f129 = f126 + f127;
f130 = f128 - f127;
f131 = x[13] + 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]);
+ f132 = MUL_C(x[13], COEF_CONST(1.3989068359730781));
+ f133 = MUL_F(f131, FRAC_CONST((-0.8032075314806453)));
+ f134 = MUL_F(x[19], FRAC_CONST((-0.2075082269882124)));
f135 = f132 + f133;
f136 = f134 - f133;
f137 = x[17] + 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]);
+ f138 = MUL_C(x[17], COEF_CONST(1.4125100802019777));
+ f139 = MUL_F(f137, FRAC_CONST((-0.6715589548470187)));
+ f140 = MUL_F(x[15], FRAC_CONST(0.0693921705079402));