⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sbr_dct.c

📁 从FFMPEG转换而来的H264解码程序,VC下编译..
💻 C
📖 第 1 页 / 共 5 页
字号:
    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;
}

void DST4_32(real_t *y, real_t *x)
{
    real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9;
    real_t f10, f11, f12, f13, f14, f15, f16, f17, f18, f19;
    real_t f20, f21, f22, f23, f24, f25, f26, f27, f28, f29;
    real_t f30, f31, f32, f33, f34, f35, f36, f37, f38, f39;
    real_t f40, f41, f42, f43, f44, f45, f46, f47, f48, f49;
    real_t f50, f51, f52, f53, f54, f55, f56, f57, f58, f59;
    real_t f60, f61, f62, f63, f64, f65, f66, f67, f68, f69;
    real_t f70, f71, f72, f73, f74, f75, f76, f77, f78, f79;
    real_t f80, f81, f82, f83, f84, f85, f86, f87, f88, f89;
    real_t f90, f91, f92, f93, f94, f95, f96, f97, f98, f99;
    real_t f100, f101, f102, f103, f104, f105, f106, f107, f108, f109;
    real_t f110, f111, f112, f113, f114, f115, f116, f117, f118, f119;
    real_t f120, f121, f122, f123, f124, f125, f126, f127, f128, f129;
    real_t f130, f131, f132, f133, f134, f135, f136, f137, f138, f139;
    real_t f140, f141, f142, f143, f144, f145, f146, f147, f148, f149;
    real_t f150, f151, f152, f153, f154, f155, f156, f157, f158, f159;
    real_t f160, f161, f162, f163, f164, f165, f166, f167, f168, f169;
    real_t f170, f171, f172, f173, f174, f175, f176, f177, f178, f179;
    real_t f180, f181, f182, f183, f184, f185, f186, f187, f188, f189;
    real_t f190, f191, f192, f193, f194, f195, f196, f197, f198, f199;
    real_t f200, f201, f202, f203, f204, f205, f206, f207, f208, f209;
    real_t f210, f211, f212, f213, f214, f215, f216, f217, f218, f219;
    real_t f220, f221, f222, f223, f224, f225, f226, f227, f228, f229;
    real_t f230, f231, f232, f233, f234, f235, f236, f237, f238, f239;
    real_t f240, f241, f242, f243, f244, f245, f246, f247, f248, f249;
    real_t f250, f251, f252, f253, f254, f255, f256, f257, f258, f259;
    real_t f260, f261, f262, f263, f264, f265, f266, f267, f268, f269;
    real_t f270, f271, f272, f273, f274, f275, f276, f277, f278, f279;
    real_t f280, f281, f282, f283, f284, f285, f286, f287, f288, f289;
    real_t f290, f291, f292, f293, f294, f295, f296, f297, f298, f299;
    real_t f300, f301, f302, f303, f304, f305, f306, f307, f308, f309;
    real_t f310, f311, f312, f313, f314, f315, f316, f317, f318, f319;
    real_t f320, f321, f322, f323, f324, f325, f326, f327, f328, f329;
    real_t f330, f331, f332, f333, f334, f335;

    f0 = x[0] - x[1];
    f1 = x[2] - x[1];
    f2 = x[2] - x[3];
    f3 = x[4] - x[3];
    f4 = x[4] - x[5];
    f5 = x[6] - x[5];
    f6 = x[6] - x[7];
    f7 = x[8] - x[7];
    f8 = x[8] - x[9];
    f9 = x[10] - x[9];
    f10 = x[10] - x[11];
    f11 = x[12] - x[11];
    f12 = x[12] - x[13];
    f13 = x[14] - x[13];
    f14 = x[14] - x[15];
    f15 = x[16] - x[15];
    f16 = x[16] - x[17];
    f17 = x[18] - x[17];
    f18 = x[18] - x[19];
    f19 = x[20] - x[19];
    f20 = x[20] - x[21];
    f21 = x[22] - x[21];
    f22 = x[22] - x[23];
    f23 = x[24] - x[23];
    f24 = x[24] - x[25];
    f25 = x[26] - x[25];
    f26 = x[26] - x[27];
    f27 = x[28] - x[27];
    f28 = x[28] - x[29];
    f29 = x[30] - x[29];
    f30 = x[30] - x[31];
    f31 = MUL_F(FRAC_CONST(0.7071067811865476), f15);
    f32 = x[0] - f31;
    f33 = x[0] + f31;
    f34 = f7 + f23;
    f35 = MUL_C(COEF_CONST(1.3065629648763766), f7);
    f36 = MUL_F(FRAC_CONST(-0.9238795325112866), f34);
    f37 = MUL_F(FRAC_CONST(-0.5411961001461967), f23);
    f38 = f35 + f36;
    f39 = f37 - f36;
    f40 = f33 - f39;
    f41 = f33 + f39;
    f42 = f32 - f38;
    f43 = f32 + f38;
    f44 = f11 - f19;
    f45 = f11 + f19;
    f46 = MUL_F(FRAC_CONST(0.7071067811865476), f45);
    f47 = f3 - f46;
    f48 = f3 + f46;
    f49 = MUL_F(FRAC_CONST(0.7071067811865476), f44);
    f50 = f49 - f27;
    f51 = f49 + f27;
    f52 = f51 + f48;
    f53 = MUL_F(FRAC_CONST(-0.7856949583871021), f51);
    f54 = MUL_F(FRAC_CONST(0.9807852804032304), f52);
    f55 = MUL_C(COEF_CONST(1.1758756024193588), f48);
    f56 = f53 + f54;
    f57 = f55 - f54;
    f58 = f50 + f47;
    f59 = MUL_F(FRAC_CONST(-0.2758993792829430), f50);
    f60 = MUL_F(FRAC_CONST(0.8314696123025452), f58);
    f61 = MUL_C(COEF_CONST(1.3870398453221475), f47);
    f62 = f59 + f60;
    f63 = f61 - f60;
    f64 = f41 - f56;
    f65 = f41 + f56;
    f66 = f43 - f62;
    f67 = f43 + f62;
    f68 = f42 - f63;
    f69 = f42 + f63;
    f70 = f40 - f57;
    f71 = f40 + f57;
    f72 = f5 - f9;
    f73 = f5 + f9;
    f74 = f13 - f17;
    f75 = f13 + f17;
    f76 = f21 - f25;
    f77 = f21 + f25;
    f78 = MUL_F(FRAC_CONST(0.7071067811865476), f75);
    f79 = f1 - f78;
    f80 = f1 + f78;
    f81 = f73 + f77;
    f82 = MUL_C(COEF_CONST(1.3065629648763766), f73);
    f83 = MUL_F(FRAC_CONST(-0.9238795325112866), f81);
    f84 = MUL_F(FRAC_CONST(-0.5411961001461967), f77);
    f85 = f82 + f83;
    f86 = f84 - f83;
    f87 = f80 - f86;
    f88 = f80 + f86;
    f89 = f79 - f85;
    f90 = f79 + f85;
    f91 = MUL_F(FRAC_CONST(0.7071067811865476), f74);
    f92 = f29 - f91;
    f93 = f29 + f91;
    f94 = f76 + f72;
    f95 = MUL_C(COEF_CONST(1.3065629648763766), f76);
    f96 = MUL_F(FRAC_CONST(-0.9238795325112866), f94);
    f97 = MUL_F(FRAC_CONST(-0.5411961001461967), f72);
    f98 = f95 + f96;
    f99 = f97 - f96;
    f100 = f93 - f99;
    f101 = f93 + f99;
    f102 = f92 - f98;
    f103 = f92 + f98;
    f104 = f101 + f88;
    f105 = MUL_F(FRAC_CONST(-0.8971675863426361), f101);
    f106 = MUL_F(FRAC_CONST(0.9951847266721968), f104);
    f107 = MUL_C(COEF_CONST(1.0932018670017576), f88);
    f108 = f105 + f106;
    f109 = f107 - f106;
    f110 = f90 - f103;
    f111 = MUL_F(FRAC_CONST(-0.6666556584777466), f103);
    f112 = MUL_F(FRAC_CONST(0.9569403357322089), f110);
    f113 = MUL_C(COEF_CONST(1.2472250129866713), f90);
    f114 = f112 - f111;
    f115 = f113 - f112;
    f116 = f102 + f89;
    f117 = MUL_F(FRAC_CONST(-0.4105245275223571), f102);
    f118 = MUL_F(FRAC_CONST(0.8819212643483549), f116);
    f119 = MUL_C(COEF_CONST(1.3533180011743529), f89);
    f120 = f117 + f118;
    f121 = f119 - f118;
    f122 = f87 - f100;
    f123 = MUL_F(FRAC_CONST(-0.1386171691990915), f100);
    f124 = MUL_F(FRAC_CONST(0.7730104533627370), f122);
    f125 = MUL_C(COEF_CONST(1.4074037375263826), f87);
    f126 = f124 - f123;
    f127 = f125 - f124;
    f128 = f65 - f108;
    f129 = f65 + f108;
    f130 = f67 - f114;
    f131 = f67 + f114;
    f132 = f69 - f120;
    f133 = f69 + f120;
    f134 = f71 - f126;
    f135 = f71 + f126;
    f136 = f70 - f127;
    f137 = f70 + f127;
    f138 = f68 - f121;
    f139 = f68 + f121;
    f140 = f66 - f115;
    f141 = f66 + f115;
    f142 = f64 - f109;
    f143 = f64 + f109;
    f144 = f0 + f30;
    f145 = MUL_C(COEF_CONST(1.0478631305325901), f0);
    f146 = MUL_F(FRAC_CONST(-0.9987954562051724), f144);
    f147 = MUL_F(FRAC_CONST(-0.9497277818777548), f30);
    f148 = f145 + f146;
    f149 = f147 - f146;
    f150 = f4 + f26;
    f151 = MUL_F(FRAC_CONST(1.2130114330978077), f4);
    f152 = MUL_F(FRAC_CONST(-0.9700312531945440), f150);
    f153 = MUL_F(FRAC_CONST(-0.7270510732912803), f26);
    f154 = f151 + f152;
    f155 = f153 - f152;
    f156 = f8 + f22;
    f157 = MUL_C(COEF_CONST(1.3315443865537255), f8);
    f158 = MUL_F(FRAC_CONST(-0.9039892931234433), f156);
    f159 = MUL_F(FRAC_CONST(-0.4764341996931612), f22);
    f160 = f157 + f158;
    f161 = f159 - f158;
    f162 = f12 + f18;
    f163 = MUL_C(COEF_CONST(1.3989068359730781), f12);
    f164 = MUL_F(FRAC_CONST(-0.8032075314806453), f162);
    f165 = MUL_F(FRAC_CONST(-0.2075082269882124), f18);
    f166 = f163 + f164;
    f167 = f165 - f164;
    f168 = f16 + f14;
    f169 = MUL_C(COEF_CONST(1.4125100802019777), f16);
    f170 = MUL_F(FRAC_CONST(-0.6715589548470187), f168);
    f171 = MUL_F(FRAC_CONST(0.0693921705079402), f14);
    f172 = f169 + f170;
    f173 = f171 - f170;
    f174 = f20 + f10;
    f175 = MUL_C(COEF_CONST(1.3718313541934939), f20);
    f176 = MUL_F(FRAC_CONST(-0.5141027441932219), f174);
    f177 = MUL_F(FRAC_CONST(0.3436258658070501), f10);
    f178 = f175 + f176;
    f179 = f177 - f176;
    f180 = f24 + f6;
    f181 = MUL_C(COEF_CONST(1.2784339185752409), f24);
    f182 = MUL_F(FRAC_CONST(-0.3368898533922200), f180);
    f183 = MUL_F(FRAC_CONST(0.6046542117908008), f6);
    f184 = f181 + f182;
    f185 = f183 - f182;
    f186 = f28 + f2;
    f187 = MUL_C(COEF_CONST(1.1359069844201433), f28);
    f188 = MUL_F(FRAC_CONST(-0.1467304744553624), f186);
    f189 = MUL_F(FRAC_CONST(0.8424460355094185), f2);
    f190 = f187 + f188;
    f191 = f189 - f188;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -