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

📄 sbr_dct.c

📁 wince下著名的视频播放器源码
💻 C
📖 第 1 页 / 共 5 页
字号:
    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_POWERvoid 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;

⌨️ 快捷键说明

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