📄 sbr_dct.c
字号:
y[49] = f438 - f552; y[47] = f438 + f552; y[53] = f503 - f623; y[51] = f503 + f623; y[57] = f455 - f566; y[55] = f455 + f566; y[61] = f497 - f622; y[59] = f497 + f622;}void DST2_64_unscaled(real_t *y, real_t *x){ int16_t i0; real_t f2, f3, f4, f5, f6, f7; real_t f8, f9, f10, f11, f12, f13; real_t f14, f15, f16, f17, f18, f19; real_t f20, f21, f22, f23, f24, f25; real_t f26, f27, f28, f29, f30, f31; real_t f32, f33, f34, f35, f36, f37; real_t f38, f39, f40, f41, f42, f43; real_t f44, f45, f46, f47, f48, f49; real_t f50, f51, f52, f53, f54, f55; real_t f56, f57, f58, f59, f60, f61; real_t f62, f63, f64, f65, f66, f67; real_t f68, f69, f70, f71, f72, f73; real_t f74, f75, f76, f77, f78, f79; real_t f80, f81, f82, f83, f84, f85; real_t f86, f87, f88, f89, f90, f91; real_t f92, f93, f94, f95, f96, f97; real_t f98, f99, f100, f101, f102, f103; real_t f104, f105, f106, f107, f108, f109; real_t f110, f111, f112, f113, f114, f115; real_t f116, f117, f118, f119, f120, f121; real_t f122, f123, f124, f125, f126, f127; real_t f128, f129, f130, f131, f132, f133; real_t f134, f135, f136, f137, f138, f139; real_t f140, f141, f142, f143, f144, f145; real_t f146, f147, f148, f149, f150, f151; real_t f152, f153, f154, f155, f156, f157; real_t f158, f159, f160, f161, f162, f163; real_t f164, f165, f166, f167, f168, f169; real_t f170, f171, f172, f173, f174, f175; real_t f176, f177, f178, f179, f180, f181; real_t f182, f183, f184, f185, f186, f187; real_t f188, f189, f190, f191, f192, f193; real_t f194, f195, f196, f197, f198, f199; real_t f200, f201, f202, f203, f204, f205; real_t f206, f207, f208, f209, f210, f211; real_t f212, f213, f214, f215, f216, f217; real_t f218, f219, f220, f221, f222, f223; real_t f224, f225, f226, f227, f228, f229; real_t f230, f231, f232, f233, f234, f235; real_t f236, f237, f238, f239, f240, f241; real_t f242, f243, f244, f245, f246, f247; real_t f248, f249, f250, f251, f252, f253; real_t f254, f255, f256, f257, f258, f259; real_t f260, f261, f264, f265, f266, f267; real_t f270, f271, f272, f273, f276, f277; real_t f278, f279, f282, f283, f284, f285; real_t f288, f289, f290, f291, f294, f295; real_t f296, f297, f300, f301, f302, f303; real_t f306, f307, f308, f309, f312, f313; real_t f314, f315, f318, f319, f320, f321; real_t f324, f325, f326, f327, f330, f331; real_t f332, f333, f336, f337, f338, f339; real_t f342, f343, f344, f345, f348, f349; real_t f350, f351, f354, f355, f356, f357; real_t f358, f359, f360, f361, f362, f363; real_t f364, f365, f366, f367, f368, f369; real_t f370, f371, f372, f373, f374, f375; real_t f376, f377, f378, f379, f380, f381; real_t f382, f383, f384, f385, f386, f387; real_t f388, f389, f390, f391, f392, f393; real_t f394, f395, f396, f397, f398, f399; real_t f400, f401, f402, f403, f404, f405; real_t f406, f407, f408, f409, f410, f411; real_t f412, f413, f414, f415, f416, f417; real_t f418, f419, f420, f421, f422, f423; real_t f424, f425, f426, f427, f428, f429; real_t f430, f431, f432, f433, f434, f435; real_t f436, f437, f438, f439, f440, f441; real_t f442, f443, f444, f445, f446, f447; real_t f448, f449, f450, f451, f452, f453; real_t f454, f455, f456, f457, f458, f459; real_t f460, f461, f462, f463, f464, f465; real_t f466, f467, f468, f469, f470, f471; real_t f472, f473, f474, f475, f476, f477; real_t f478, f479, f480, f481, f482, f483; real_t f484, f485, f486, f487, f488, f489; real_t f490, f491, f492, f493, f494, f495; real_t f496, f497, f498, f499, f500, f501; real_t f504, f505, f506, f507, f510, f511; real_t f512, f513, f516, f517, f518, f519; real_t f522, f523, f524, f525, f528, f529; real_t f530, f531, f534, f535, f536, f537; real_t f540, f541, f542, f543, f546, f547; real_t f548, f549, f550, f551, f552, f553; real_t f554, f555, f556, f557, f558, f559; real_t f560, f561, f562, f563, f564, f565; real_t f566, f567, f568, f569, f570, f571; real_t f572, f573, f574, f577, f578, f579; real_t f580, f583, f584, f585, f586, f587; real_t f588, f589, f590, f591, f592, f593; real_t f594, f595, f596, f597, f598, f603; real_t f604, f605, f606, f607, f608, f609; real_t f610, f611, f612, f613, f614, f615; real_t f616, f617, f618, f619, f620, f621; real_t f622, f623, f624, f625, f626, f627; real_t f628, f629, f630, f631, f632, f633; real_t f634, f635, f636, f637, f638, f639; real_t f640, f641, f642, f643, f644, f645; real_t f646, f647, f648, f649, f650; ALIGN static real_t t2[64]; for (i0=0; i0<32; i0++) { t2[2*i0+1] = x[i0] - x[-i0+63]; t2[2*i0] = x[i0] + x[-i0+63]; } f2 = t2[2] + t2[4]; f3 = t2[4] - t2[2]; f4 = t2[6] + t2[8]; f5 = t2[8] - t2[6]; f6 = t2[10] + t2[12]; f7 = t2[12] - t2[10]; f8 = t2[14] + t2[16]; f9 = t2[16] - t2[14]; f10 = t2[18] + t2[20]; f11 = t2[20] - t2[18]; f12 = t2[22] + t2[24]; f13 = t2[24] - t2[22]; f14 = t2[26] + t2[28]; f15 = t2[28] - t2[26]; f16 = t2[30] + t2[32]; f17 = t2[32] - t2[30]; f18 = t2[34] + t2[36]; f19 = t2[36] - t2[34]; f20 = t2[38] + t2[40]; f21 = t2[40] - t2[38]; f22 = t2[42] + t2[44]; f23 = t2[44] - t2[42]; f24 = t2[46] + t2[48]; f25 = t2[48] - t2[46]; f26 = t2[50] + t2[52]; f27 = t2[52] - t2[50]; f28 = t2[54] + t2[56]; f29 = t2[56] - t2[54]; f30 = t2[58] + t2[60]; f31 = t2[60] - t2[58]; f32 = MUL_C(COEF_CONST(0.7071067811865476), f17); f33 = t2[0] - f32; f34 = t2[0] + f32; f35 = f9 + f25; f36 = MUL_C(COEF_CONST(1.3065629648763766), f9); f37 = MUL_C(COEF_CONST((-0.9238795325112866)), f35); f38 = MUL_C(COEF_CONST((-0.5411961001461967)), f25); f39 = f36 + f37; f40 = f38 - f37; f41 = f34 - f40; f42 = f34 + f40; f43 = f33 - f39; f44 = f33 + f39; f45 = MUL_C(COEF_CONST(2.5629154477415064), f5); f46 = MUL_C(COEF_CONST(0.8999762231364158), f13); f47 = MUL_C(COEF_CONST(0.5097955791041592), f29); f48 = MUL_C(COEF_CONST(0.6013448869350453), f21); f49 = f45 - f47; f50 = f45 + f47; f51 = f46 - f48; f52 = f46 + f48; f53 = f50 + f52; f54 = MUL_C(COEF_CONST(1.3065629648763770), f50); f55 = MUL_C(COEF_CONST((-0.3826834323650904)), f53); f56 = MUL_C(COEF_CONST(0.5411961001461961), f52); f57 = f54 + f55; f58 = f56 - f55; f59 = f51 - f49; f60 = f49 + f51; f61 = MUL_C(COEF_CONST(0.7071067811865476), f60); f62 = f58 - f61; f63 = f57 - f61; f64 = f59 + f57; f65 = f42 - f58; f66 = f42 + f58; f67 = f44 + f62; f68 = f44 - f62; f69 = f43 - f63; f70 = f43 + f63; f71 = f41 + f64; f72 = f41 - f64; f73 = f7 - f11; f74 = f7 + f11; f75 = f15 - f19; f76 = f15 + f19; f77 = f23 - f27; f78 = f23 + f27; f79 = MUL_C(COEF_CONST(0.7071067811865476), f76); f80 = f3 - f79; f81 = f3 + f79; f82 = f74 + f78; f83 = MUL_C(COEF_CONST(1.3065629648763766), f74); f84 = MUL_C(COEF_CONST((-0.9238795325112866)), f82); f85 = MUL_C(COEF_CONST((-0.5411961001461967)), f78); f86 = f83 + f84; f87 = f85 - f84; f88 = f81 - f87; f89 = f81 + f87; f90 = f80 - f86; f91 = f80 + f86; f92 = MUL_C(COEF_CONST(0.7071067811865476), f75); f93 = f31 - f92; f94 = f31 + f92; f95 = f77 + f73; f96 = MUL_C(COEF_CONST(1.3065629648763766), f77); f97 = MUL_C(COEF_CONST((-0.9238795325112866)), f95); f98 = MUL_C(COEF_CONST((-0.5411961001461967)), f73); f99 = f96 + f97; f100 = f98 - f97; f101 = f94 - f100; f102 = f94 + f100; f103 = f93 - f99; f104 = f93 + f99; f105 = f102 + f89; f106 = MUL_C(COEF_CONST((-0.8971675863426361)), f102); f107 = MUL_C(COEF_CONST(0.9951847266721968), f105); f108 = MUL_C(COEF_CONST(1.0932018670017576), f89); f109 = f106 + f107; f110 = f108 - f107; f111 = f91 - f104; f112 = MUL_C(COEF_CONST((-0.6666556584777466)), f104); f113 = MUL_C(COEF_CONST(0.9569403357322089), f111); f114 = MUL_C(COEF_CONST(1.2472250129866713), f91); f115 = f113 - f112; f116 = f114 - f113; f117 = f103 + f90; f118 = MUL_C(COEF_CONST((-0.4105245275223571)), f103); f119 = MUL_C(COEF_CONST(0.8819212643483549), f117); f120 = MUL_C(COEF_CONST(1.3533180011743529), f90); f121 = f118 + f119; f122 = f120 - f119; f123 = f88 - f101; f124 = MUL_C(COEF_CONST((-0.1386171691990915)), f101); f125 = MUL_C(COEF_CONST(0.7730104533627370), f123); f126 = MUL_C(COEF_CONST(1.4074037375263826), f88); f127 = f125 - f124; f128 = f126 - f125; f129 = f66 - f109; f130 = f66 + f109; f131 = f68 - f115; f132 = f68 + f115; f133 = f70 - f121; f134 = f70 + f121; f135 = f72 - f127; f136 = f72 + f127; f137 = f71 - f128; f138 = f71 + f128; f139 = f69 - f122; f140 = f69 + f122; f141 = f67 - f116; f142 = f67 + f116; f143 = f65 - f110; f144 = f65 + f110; f145 = f26 + f30; f146 = f22 + f26; f147 = f18 + f22; f148 = f14 + f18; f149 = f10 + f14; f150 = f6 + f10; f151 = f2 + f6; f152 = MUL_C(COEF_CONST(0.7071067811865476), f148); f153 = f152 - f30; f154 = f30 + f152; f155 = f146 + f150; f156 = MUL_C(COEF_CONST(1.3065629648763766), f146); f157 = MUL_C(COEF_CONST((-0.9238795325112866)), f155); f158 = MUL_C(COEF_CONST((-0.5411961001461967)), f150); f159 = f156 + f157; f160 = f157 - f158; f161 = f154 + f160; f162 = f160 - f154; f163 = f153 + f159; f164 = f153 - f159; f165 = f147 + f145; f166 = f149 + f147; f167 = f151 + f149; f168 = MUL_C(COEF_CONST(0.7071067811865476), f166); f169 = f168 - f145; f170 = f145 + f168; f171 = f165 + f167; f172 = MUL_C(COEF_CONST(1.3065629648763766), f165); f173 = MUL_C(COEF_CONST((-0.9238795325112866)), f171); f174 = MUL_C(COEF_CONST((-0.5411961001461967)), f167); f175 = f172 + f173; f176 = f173 - f174; f177 = f170 + f176; f178 = f176 - f170; f179 = f169 + f175; f180 = f169 - f175; f181 = MUL_C(COEF_CONST(0.5097955791041592), f178); f182 = MUL_C(COEF_CONST(0.6013448869350453), f180); f183 = MUL_C(COEF_CONST(0.8999762231364156), f179); f184 = MUL_C(COEF_CONST(2.5629154477415055), f177); f185 = f162 - f181; f186 = f162 + f181; f187 = f164 - f182; f188 = f164 + f182; f189 = f163 - f183; f190 = f163 + f183; f191 = f184 - f161; f192 = f161 + f184; f193 = MUL_C(COEF_CONST(0.5024192861881557), f186); f194 = MUL_C(COEF_CONST(0.5224986149396889), f188); f195 = MUL_C(COEF_CONST(0.5669440348163577), f190); f196 = MUL_C(COEF_CONST(0.6468217833599901), f192); f197 = MUL_C(COEF_CONST(0.7881546234512502), f191); f198 = MUL_C(COEF_CONST(1.0606776859903471), f189); f199 = MUL_C(COEF_CONST(1.7224470982383342), f187); f200 = MUL_C(COEF_CONST(5.1011486186891553), f185); f201 = MUL_C(COEF_CONST(0.7071067811865476), f16); f202 = f201 - t2[62]; f203 = t2[62] + f201; f204 = f24 + f8; f205 = MUL_C(COEF_CONST(1.3065629648763766), f24); f206 = MUL_C(COEF_CONST((-0.9238795325112866)), f204); f207 = MUL_C(COEF_CONST((-0.5411961001461967)), f8); f208 = f205 + f206; f209 = f206 - f207; f210 = f203 + f209; f211 = f209 - f203; f212 = f202 + f208; f213 = f202 - f208; f214 = f20 + f28; f215 = f12 + f20; f216 = f4 + f12; f217 = MUL_C(COEF_CONST(0.7071067811865476), f215); f218 = f217 - f28; f219 = f28 + f217; f220 = f214 + f216; f221 = MUL_C(COEF_CONST(1.3065629648763766), f214); f222 = MUL_C(COEF_CONST((-0.9238795325112866)), f220); f223 = MUL_C(COEF_CONST((-0.5411961001461967)), f216); f224 = f221 + f222; f225 = f222 - f223; f226 = f219 + f225; f227 = f225 - f219; f228 = f218 + f224; f229 = f218 - f224; f230 = MUL_C(COEF_CONST(0.5097955791041592), f227); f231 = MUL_C(COEF_CONST(0.6013448869350453), f229); f232 = MUL_C(COEF_CONST(0.8999762231364156), f228); f233 = MUL_C(COEF_CONST(2.5629154477415055), f226); f234 = f211 - f230; f235 = f211 + f230; f236 = f213 - f231; f237 = f213 + f231; f238 = f212 - f232; f239 = f212 + f232; f240 = f233 - f210; f241 = f210 + f233; f242 = f193 - f235; f243 = f193 + f235; f244 = f237 - f194; f245 = f194 + f237; f246 = f195 - f239; f247 = f195 + f239; f248 = f196 - f241;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -