📄 sbr_dct.c
字号:
y[10] = f107 + f271; y[20] = f105 - f263; y[11] = f105 + f263; y[19] = f103 - f248; y[12] = f103 + f248; y[18] = f101 - f256; y[13] = f101 + f256; y[17] = f99 - f252; y[14] = f99 + f252; y[16] = f97 - f244; y[15] = f97 + f244;}void DCT2_64_unscaled(real_t *y, real_t *x){ int16_t i0; real_t 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, f65, f66, f67, f68, f71, f72, f73, f74; 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, 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, 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; real_t f343, f344, f345, f346, f347, f348, f349, f350, f351, f352; real_t f353, f354, f355, f356, f357, f358, f359, f360, f361, f362; real_t f363, f364, f365, f366, f367, f368, f369, f370, f371, f372; real_t f373, f374, f375, f376, f377, f378, f379, f380, f381, f382; real_t f383, f384, f385, f386, f387, f388, f389, f390, f391, f392; 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, 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++) { t2[2*i0+1] = x[i0] - x[-i0+63]; t2[2*i0] = x[i0] + x[-i0+63]; } f2 = t2[0] - t2[62]; f3 = t2[0] + t2[62]; f4 = t2[2] - t2[60]; f5 = t2[2] + t2[60]; f6 = t2[4] - t2[58]; f7 = t2[4] + t2[58]; f8 = t2[6] - t2[56]; f9 = t2[6] + t2[56]; f10 = t2[8] - t2[54]; f11 = t2[8] + t2[54]; f12 = t2[10] - t2[52]; f13 = t2[10] + t2[52]; f14 = t2[12] - t2[50]; f15 = t2[12] + t2[50]; f16 = t2[14] - t2[48]; f17 = t2[14] + t2[48]; f18 = t2[16] - t2[46]; f19 = t2[16] + t2[46]; f20 = t2[18] - t2[44]; f21 = t2[18] + t2[44]; f22 = t2[20] - t2[42]; f23 = t2[20] + t2[42]; f24 = t2[22] - t2[40]; f25 = t2[22] + t2[40]; f26 = t2[24] - t2[38]; f27 = t2[24] + t2[38]; f28 = t2[26] - t2[36]; f29 = t2[26] + t2[36]; f30 = t2[28] - t2[34]; f31 = t2[28] + t2[34]; f32 = t2[30] - t2[32]; f33 = t2[30] + t2[32]; f34 = f3 - f33; f35 = f3 + f33; f36 = f5 - f31; f37 = f5 + f31; f38 = f7 - f29; f39 = f7 + f29; f40 = f9 - f27; f41 = f9 + f27; f42 = f11 - f25; f43 = f11 + f25; f44 = f13 - f23; f45 = f13 + f23; f46 = f15 - f21; f47 = f15 + f21; f48 = f17 - f19; f49 = f17 + f19; f50 = f35 - f49; f51 = f35 + f49; f52 = f37 - f47; f53 = f37 + f47; f54 = f39 - f45; f55 = f39 + f45; f56 = f41 - f43; f57 = f41 + f43; f58 = f51 - f57; f59 = f51 + f57; f60 = f53 - f55; f61 = f53 + f55; f62 = f59 - f61; y[0] = f59 + f61; y[32] = MUL_C(COEF_CONST(0.7071067811865476), f62); f65 = f58 + 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 = f50 + f56; f72 = MUL_C(COEF_CONST(1.1758756024193588), f50); f73 = MUL_C(COEF_CONST((-0.9807852804032304)), f71); f74 = MUL_C(COEF_CONST((-0.7856949583871021)), f56); f75 = f72 + f73; f76 = f74 - f73; f77 = f52 + f54; f78 = MUL_C(COEF_CONST(1.3870398453221473), f52); f79 = MUL_C(COEF_CONST((-0.8314696123025455)), f77); f80 = MUL_C(COEF_CONST((-0.2758993792829436)), f54); f81 = f78 + f79; f82 = f80 - f79; f83 = f76 - f82; y[8] = f76 + f82; f85 = MUL_C(COEF_CONST(0.7071067811865476), f83); y[56] = f75 - f81; f87 = f75 + f81; f88 = MUL_C(COEF_CONST(0.7071067811865476), f87); y[40] = f85 - f88; y[24] = f85 + f88; f91 = f36 - f38; f92 = f36 + f38; f93 = f40 - f42; f94 = f40 + f42; f95 = f44 - f46; f96 = f44 + f46; f97 = MUL_C(COEF_CONST(0.7071067811865476), f94); f98 = f34 - f97; f99 = f34 + f97; f100 = f92 + f96; f101 = MUL_C(COEF_CONST(1.3065629648763766), f92); f102 = MUL_C(COEF_CONST((-0.9238795325112866)), f100); f103 = MUL_C(COEF_CONST((-0.5411961001461967)), f96); f104 = f101 + f102; f105 = f103 - f102; f106 = f99 - f105; f107 = f99 + f105; f108 = f98 - f104; f109 = f98 + f104; f110 = f91 + f95; f111 = MUL_C(COEF_CONST(1.3065629648763770), f91); f112 = MUL_C(COEF_CONST((-0.3826834323650904)), f110); f113 = MUL_C(COEF_CONST(0.5411961001461961), f95); f114 = f111 + f112; f115 = f113 - f112; f116 = MUL_C(COEF_CONST(0.7071067811865476), f93); f117 = f116 - f48; f118 = f116 + f48; f119 = f115 - f118; f120 = f115 + f118; f121 = f114 - f117; f122 = f114 + f117; f123 = f120 + f107; f124 = MUL_C(COEF_CONST((-0.8971675863426361)), f120); f125 = MUL_C(COEF_CONST(0.9951847266721968), f123); f126 = MUL_C(COEF_CONST(1.0932018670017576), f107); y[4] = f124 + f125; y[60] = f126 - f125; f129 = f122 + f109; f130 = MUL_C(COEF_CONST((-0.6666556584777466)), f122); f131 = MUL_C(COEF_CONST(0.9569403357322089), f129); f132 = MUL_C(COEF_CONST(1.2472250129866713), f109); y[12] = f130 + f131; y[52] = f132 - f131; f135 = f121 + f108; f136 = MUL_C(COEF_CONST((-0.4105245275223571)), f121); f137 = MUL_C(COEF_CONST(0.8819212643483549), f135); f138 = MUL_C(COEF_CONST(1.3533180011743529), f108); y[20] = f136 + f137; y[44] = f138 - f137; f141 = f119 + f106; f142 = MUL_C(COEF_CONST((-0.1386171691990915)), f119); f143 = MUL_C(COEF_CONST(0.7730104533627370), f141); f144 = MUL_C(COEF_CONST(1.4074037375263826), f106); y[28] = f142 + f143; y[36] = f144 - f143; f147 = f16 - f18; f148 = f16 + f18; f149 = MUL_C(COEF_CONST(0.7071067811865476), f148); f150 = MUL_C(COEF_CONST(0.7071067811865476), f147); f151 = f10 - f24; f152 = f10 + f24; f153 = MUL_C(COEF_CONST(0.7071067811865476), f152); f154 = MUL_C(COEF_CONST(0.7071067811865476), f151); f155 = f14 - f20; f156 = f14 + f20; f157 = MUL_C(COEF_CONST(0.7071067811865476), f156); f158 = MUL_C(COEF_CONST(0.7071067811865476), f155); f159 = f12 - f22; f160 = f12 + f22; f161 = MUL_C(COEF_CONST(0.7071067811865476), f160); f162 = MUL_C(COEF_CONST(0.7071067811865476), f159); f163 = f2 - f149; f164 = f2 + f149; f165 = f32 - f150; f166 = f32 + f150; f167 = f8 - f153; f168 = f8 + f153; f169 = f26 - f154; f170 = f26 + f154; f171 = f4 - f157; f172 = f4 + f157; f173 = f30 - f158; f174 = f30 + f158; f175 = f6 - f161; f176 = f6 + f161; f177 = f28 - f162; f178 = f28 + f162; f179 = f170 + f168; f180 = MUL_C(COEF_CONST((-0.5411961001461969)), f170); f181 = MUL_C(COEF_CONST(0.9238795325112867), f179); f182 = MUL_C(COEF_CONST(1.3065629648763766), f168); f183 = f180 + f181; f184 = f182 - f181; f185 = f169 + f167; f186 = MUL_C(COEF_CONST(1.3065629648763770), f169); f187 = MUL_C(COEF_CONST((-0.3826834323650904)), f185); f188 = MUL_C(COEF_CONST(0.5411961001461961), f167); f189 = f186 + f187; f190 = f188 - f187; f191 = f178 + f176; f192 = MUL_C(COEF_CONST((-0.5411961001461969)), f178); f193 = MUL_C(COEF_CONST(0.9238795325112867), f191); f194 = MUL_C(COEF_CONST(1.3065629648763766), f176); f195 = f192 + f193; f196 = f194 - f193; f197 = f177 + f175; f198 = MUL_C(COEF_CONST(1.3065629648763770), f177); f199 = MUL_C(COEF_CONST((-0.3826834323650904)), f197); f200 = MUL_C(COEF_CONST(0.5411961001461961), f175); f201 = f198 + f199; f202 = f200 - f199; f203 = f164 - f183; f204 = f164 + f183; f205 = f166 - f184; f206 = f166 + f184; f207 = f163 - f189; f208 = f163 + f189; f209 = f165 - f190; f210 = f165 + f190; f211 = f172 - f195; f212 = f172 + f195; f213 = f174 - f196; f214 = f174 + f196; f215 = f171 - f201; f216 = f171 + f201; f217 = f173 - f202; f218 = f173 + f202; f219 = f214 + f212; f220 = MUL_C(COEF_CONST((-0.7856949583871021)), f214); f221 = MUL_C(COEF_CONST(0.9807852804032304), f219); f222 = MUL_C(COEF_CONST(1.1758756024193588), f212); f223 = f220 + f221; f224 = f222 - f221; f225 = f218 + f216; f226 = MUL_C(COEF_CONST(0.2758993792829431), f218); f227 = MUL_C(COEF_CONST(0.5555702330196022), f225); f228 = MUL_C(COEF_CONST(1.3870398453221475), f216); f229 = f226 + f227; f230 = f228 - f227; f231 = f213 + f211; f232 = MUL_C(COEF_CONST(1.1758756024193591), f213); f233 = MUL_C(COEF_CONST((-0.1950903220161287)), f231); f234 = MUL_C(COEF_CONST(0.7856949583871016), f211); f235 = f232 + f233; f236 = f234 - f233; f237 = f217 + f215; f238 = MUL_C(COEF_CONST(1.3870398453221473), f217); f239 = MUL_C(COEF_CONST((-0.8314696123025455)), f237); f240 = MUL_C(COEF_CONST((-0.2758993792829436)), f215); f241 = f238 + f239; f242 = f240 - f239; f243 = f204 - f223; f244 = f204 + f223; f245 = f206 - f224; f246 = f206 + f224; f247 = f208 - f229; f248 = f208 + f229; f249 = f210 - f230; f250 = f210 + f230; f251 = f203 - f235; f252 = f203 + f235; f253 = f205 - f236; f254 = f205 + f236; f255 = f207 - f241; f256 = f207 + f241; f257 = f209 - f242; f258 = f209 + f242; f259 = f246 + f244; f260 = MUL_C(COEF_CONST((-0.9497277818777543)), f246); f261 = MUL_C(COEF_CONST(0.9987954562051724), f259); f262 = MUL_C(COEF_CONST(1.0478631305325905), f244); y[2] = f260 + f261; y[62] = f262 - f261; f265 = f250 + f248; f266 = MUL_C(COEF_CONST((-0.7270510732912801)), f250); f267 = MUL_C(COEF_CONST(0.9700312531945440), f265); f268 = MUL_C(COEF_CONST(1.2130114330978079), f248); y[10] = f266 + f267; y[54] = f268 - f267; f271 = f254 + f252; f272 = MUL_C(COEF_CONST((-0.4764341996931611)), f254); f273 = MUL_C(COEF_CONST(0.9039892931234433), f271); f274 = MUL_C(COEF_CONST(1.3315443865537255), f252); y[18] = f272 + f273; y[46] = f274 - f273; f277 = f258 + f256; f278 = MUL_C(COEF_CONST((-0.2075082269882114)), f258); f279 = MUL_C(COEF_CONST(0.8032075314806448), f277); f280 = MUL_C(COEF_CONST(1.3989068359730783), f256); y[26] = f278 + f279; y[38] = f280 - f279; f283 = f245 + f243; f284 = MUL_C(COEF_CONST(0.0693921705079408), f245);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -