亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? skl_dct_c.cpp

?? mpeg4編解碼器
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************** * Some code. Copyright (C) 2003 by Pascal Massimino.   * * All Rights Reserved.      (http://skal.planet-d.net) * * For Educational/Academic use ONLY. See 'LICENSE.TXT'.* ********************************************************//* *  skl_dct16_LLM.cpp * *  "Fast and precise" LLM implementation of FDCT/IDCT, where  *  rotations are decomposed using: *    tmp = (x+y).cos t *    x' = tmp + y.(sin t - cos t) *    y' = tmp - x.(sin t + cos t) * *  See details at http://skl.planet-d.net/coding/dct.html *  and at the end of this file... * * Reference (e.g.): *  Loeffler C., Ligtenberg A., and Moschytz C.S.:  *    Practical Fast 1D DCT Algorithm with Eleven Multiplications,  *  Proc. ICASSP 1989, 988-991. * *  IEEE-1180-like error specs for FDCT: * Peak error:   1.0000 * Peak MSE:     0.0340 * Overall MSE:  0.0200 * Peak ME:      0.0191 * Overall ME:   -0.0033 * *  error specs for IDCT: * Peak error:   1.0000  * Peak MSE:     0.0065 * Overall MSE:  0.0051 * Peak ME:      0.0015 * Overall ME:   0.0000 * ********************************************************/#include "skl.h"#include <math.h>extern "C" {typedef SKL_INT16 TYPE;//////////////////////////////////////////////////////////#define LOAD_BUTF(m1, m2, a, b, tmp, S) \  (m1) = (S)[(a)] + (S)[(b)];           \  (m2) = (S)[(a)] - (S)[(b)]#define BUTF(a, b, tmp) \  (tmp) = (a)+(b);      \  (b) = (a)-(b);        \  (a) = (tmp)#define ROTATE(m1,m2,c,k1,k2,tmp,Fix,Rnd) \  (tmp) = ( (m1) + (m2) )*(c);            \  (m1) *= k1;                             \  (m2) *= k2;                             \  (tmp) += (Rnd);                         \  (m1) = ((m1)+(tmp))>>(Fix);             \  (m2) = ((m2)+(tmp))>>(Fix);#define ROTATE2(m1,m2,c,k1,k2,tmp) \  (tmp) = ( (m1) + (m2) )*(c);     \  (m1) *= k1;                      \  (m2) *= k2;                      \  (m1) = (m1)+(tmp);               \  (m2) = (m2)+(tmp);#define ROTATE0(m1,m2,c,k1,k2,tmp) \  (m1) = ( (m2) )*(c);             \  (m2) = (m2)*k2+(m1);#define SHIFTL(x,n)   ((x)<<(n))#define SHIFTR(x, n)  ((x)>>(n))#define HALF(n)       (1<<((n)-1))#define IPASS 3#define FPASS 2#define FIX  16#if 1#define ROT6_C     35468#define ROT6_SmC   50159#define ROT6_SpC  121095#define ROT17_C    77062#define ROT17_SmC  25571#define ROT17_SpC 128553#define ROT37_C    58981#define ROT37_SmC  98391#define ROT37_SpC  19571#define ROT13_C   167963#define ROT13_SmC 134553#define ROT13_SpC 201373#else#define FX(x) ( (int)floor((x)*(1<<FIX) + .5 ) )static const double c1 = cos(1.*M_PI/16);static const double c2 = cos(2.*M_PI/16);static const double c3 = cos(3.*M_PI/16);static const double c4 = cos(4.*M_PI/16);static const double c5 = cos(5.*M_PI/16);static const double c6 = cos(6.*M_PI/16);static const double c7 = cos(7.*M_PI/16);static const int ROT6_C   = FX(c2-c6);  // 0.541static const int ROT6_SmC = FX(2*c6);   // 0.765static const int ROT6_SpC = FX(2*c2);   // 1.847static const int ROT17_C   = FX(c1+c7);  // 1.175static const int ROT17_SmC = FX(2*c7);   // 0.390static const int ROT17_SpC = FX(2*c1);   // 1.961static const int ROT37_C   = FX((c3-c7)/c4);  // 0.899static const int ROT37_SmC = FX(2*(c5+c7));   // 1.501static const int ROT37_SpC = FX(2*(c1-c3));   // 0.298static const int ROT13_C   = FX((c1+c3)/c4);  // 2.562static const int ROT13_SmC = FX(2*(c3+c7));   // 2.053static const int ROT13_SpC = FX(2*(c1+c5));   // 3.072#endif//////////////////////////////////////////////////////////void Skl_Dct16_C( TYPE *In ){  TYPE *pIn;  int i;  pIn = In;  for(i=8; i>0; --i)  {    int mm0, mm1, mm2, mm3, mm4, mm5, mm6, mm7, Spill;      // odd    LOAD_BUTF(mm1,mm6, 1, 6, mm0, pIn);    LOAD_BUTF(mm2,mm5, 2, 5, mm0, pIn);    LOAD_BUTF(mm3,mm4, 3, 4, mm0, pIn);    LOAD_BUTF(mm0,mm7, 0, 7, Spill, pIn);    BUTF(mm1, mm2, Spill);    BUTF(mm0, mm3, Spill);    ROTATE(mm3, mm2, ROT6_C, ROT6_SmC, -ROT6_SpC, Spill, FIX-FPASS, HALF(FIX-FPASS));    pIn[2] = mm3;    pIn[6] = mm2;    BUTF(mm0, mm1, Spill);    pIn[0] = SHIFTL(mm0, FPASS);    pIn[4] = SHIFTL(mm1, FPASS);      // even    mm3 = mm5 + mm7;    mm2 = mm4 + mm6;    ROTATE(mm2, mm3,  ROT17_C, -ROT17_SpC, -ROT17_SmC, mm0, FIX-FPASS, HALF(FIX-FPASS));    ROTATE(mm4, mm7, -ROT37_C,  ROT37_SpC,  ROT37_SmC, mm0, FIX-FPASS, HALF(FIX-FPASS));    mm7 += mm3;    mm4 += mm2;    pIn[1] = mm7;    pIn[7] = mm4;    ROTATE(mm5, mm6, -ROT13_C,  ROT13_SmC,  ROT13_SpC, mm0, FIX-FPASS, HALF(FIX-FPASS));    mm5 += mm3;    mm6 += mm2;    pIn[3] = mm6;    pIn[5] = mm5;    pIn  += 8;  }  pIn = In;  for(i=8; i>0; --i)  {    int mm0, mm1, mm2, mm3, mm4, mm5, mm6, mm7, Spill;      // odd    LOAD_BUTF(mm1,mm6, 1*8, 6*8, mm0, pIn);    LOAD_BUTF(mm2,mm5, 2*8, 5*8, mm0, pIn);    BUTF(mm1, mm2, mm0);    LOAD_BUTF(mm3,mm4, 3*8, 4*8, mm0, pIn);    LOAD_BUTF(mm0,mm7, 0*8, 7*8, Spill, pIn);    BUTF(mm0, mm3, Spill);    ROTATE(mm3, mm2, ROT6_C, ROT6_SmC, -ROT6_SpC, Spill, 0,  HALF(FIX+FPASS+3));    pIn[2*8] = (TYPE)SHIFTR(mm3,FIX+FPASS+3);    pIn[6*8] = (TYPE)SHIFTR(mm2,FIX+FPASS+3);    mm0 += HALF(FPASS+3) - 1;    BUTF(mm0, mm1, Spill);    pIn[0*8] = (TYPE)SHIFTR(mm0, FPASS+3);    pIn[4*8] = (TYPE)SHIFTR(mm1, FPASS+3);      // even    mm3 = mm5 + mm7;    mm2 = mm4 + mm6;    ROTATE(mm2, mm3,  ROT17_C, -ROT17_SpC, -ROT17_SmC, mm0, 0, HALF(FIX+FPASS+3));    ROTATE2(mm4, mm7, -ROT37_C,  ROT37_SpC,  ROT37_SmC, mm0);    mm7 += mm3;    mm4 += mm2;    pIn[7*8] = (TYPE)SHIFTR(mm4,FIX+FPASS+3);    pIn[1*8] = (TYPE)SHIFTR(mm7,FIX+FPASS+3);    ROTATE2(mm5, mm6, -ROT13_C,  ROT13_SmC,  ROT13_SpC, mm0);    mm5 += mm3;    mm6 += mm2;    pIn[5*8] = (TYPE)SHIFTR(mm5,FIX+FPASS+3);    pIn[3*8] = (TYPE)SHIFTR(mm6,FIX+FPASS+3);    pIn++;  }}//////////////////////////////////////////////////////////void Skl_IDct16_C( TYPE *In ){  TYPE *pIn;  int i;  pIn = In;  for (i=8; i>0; --i)  {    int mm0, mm1, mm2, mm3, mm4, mm5, mm6, mm7, Spill;      // odd        mm4 = (int)pIn[7];    mm5 = (int)pIn[5];    mm6 = (int)pIn[3];    mm7 = (int)pIn[1];    mm2 = mm4 + mm6;    mm3 = mm5 + mm7;    ROTATE2(mm2, mm3,  ROT17_C, -ROT17_SpC, -ROT17_SmC, mm1);    ROTATE2(mm4, mm7, -ROT37_C,  ROT37_SpC,  ROT37_SmC, mm1);    ROTATE2(mm5, mm6, -ROT13_C,  ROT13_SmC,  ROT13_SpC, mm1);    mm4 += mm2;    mm5 += mm3;    mm6 += mm2;    mm7 += mm3;      // even    mm3 = (int)pIn[2];    mm2 = (int)pIn[6];    ROTATE2(mm3, mm2, ROT6_C, ROT6_SmC, -ROT6_SpC, mm1);    LOAD_BUTF(mm0, mm1, 0, 4, Spill, pIn);    mm0 = SHIFTL(mm0, FIX) + HALF(FIX-IPASS);    mm1 = SHIFTL(mm1, FIX) + HALF(FIX-IPASS);    BUTF(mm0, mm3, Spill);    BUTF(mm1, mm2, Spill);    BUTF(mm0, mm7, Spill);    pIn[0] = SHIFTR(mm0, FIX-IPASS);    pIn[7] = SHIFTR(mm7, FIX-IPASS);    BUTF(mm1, mm6, mm0);    pIn[1] = SHIFTR(mm1, FIX-IPASS);    pIn[6] = SHIFTR(mm6, FIX-IPASS);    BUTF(mm2, mm5, mm0);    pIn[2] = SHIFTR(mm2, FIX-IPASS);    pIn[5] = SHIFTR(mm5, FIX-IPASS);    BUTF(mm3, mm4, mm0);    pIn[3] = SHIFTR(mm3, FIX-IPASS);    pIn[4] = SHIFTR(mm4, FIX-IPASS);    pIn += 8;  }  pIn = In;  for (i=8; i>0; --i)  {    int mm0, mm1, mm2, mm3, mm4, mm5, mm6, mm7, Spill;      // odd        mm4 = (int)pIn[7*8];    mm5 = (int)pIn[5*8];    mm6 = (int)pIn[3*8];    mm7 = (int)pIn[1*8];    mm2 = mm4 + mm6;    mm3 = mm5 + mm7;    ROTATE2(mm2, mm3,  ROT17_C, -ROT17_SpC, -ROT17_SmC, mm1);    ROTATE2(mm4, mm7, -ROT37_C,  ROT37_SpC,  ROT37_SmC, mm1);    ROTATE2(mm5, mm6, -ROT13_C,  ROT13_SmC,  ROT13_SpC, mm1);    mm4 += mm2;    mm5 += mm3;    mm6 += mm2;    mm7 += mm3;          // even    mm3 = (int)pIn[2*8];    mm2 = (int)pIn[6*8];    ROTATE2(mm3, mm2, ROT6_C, ROT6_SmC, -ROT6_SpC, mm1);    LOAD_BUTF(mm0, mm1, 0*8, 4*8, Spill, pIn);    mm0 = SHIFTL(mm0, FIX) + HALF(FIX+IPASS+3);    mm1 = SHIFTL(mm1, FIX) + HALF(FIX+IPASS+3);    BUTF(mm0, mm3, Spill);    BUTF(mm1, mm2, Spill);    BUTF(mm0, mm7, Spill);    pIn[8*0] = (TYPE) SHIFTR(mm0, FIX+IPASS+3);    pIn[8*7] = (TYPE) SHIFTR(mm7, FIX+IPASS+3);    BUTF(mm1, mm6, mm0);    pIn[8*1] = (TYPE) SHIFTR(mm1, FIX+IPASS+3);    pIn[8*6] = (TYPE) SHIFTR(mm6, FIX+IPASS+3);    BUTF(mm2, mm5, mm0);    pIn[8*2] = (TYPE) SHIFTR(mm2, FIX+IPASS+3);    pIn[8*5] = (TYPE) SHIFTR(mm5, FIX+IPASS+3);    BUTF(mm3, mm4, mm0);    pIn[8*3] = (TYPE) SHIFTR(mm3, FIX+IPASS+3);    pIn[8*4] = (TYPE) SHIFTR(mm4, FIX+IPASS+3);    pIn++;  }}void Skl_IDct16_Sparse_C( TYPE *In ){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲大片精品永久免费| 中文字幕欧美日韩一区| 91国内精品野花午夜精品| 国产成人激情av| 国产中文一区二区三区| 国产一区二区三区在线观看免费| 国内精品久久久久影院色| 国产一区美女在线| 国产一区二区电影| 成人理论电影网| 色综合欧美在线| 欧美日韩亚洲综合一区二区三区| 欧美日韩在线亚洲一区蜜芽| 欧美精品黑人性xxxx| 日韩欧美一二三四区| 国产欧美日韩在线视频| 中文字幕一区二区日韩精品绯色| 夜夜精品视频一区二区| 亚瑟在线精品视频| 久久爱另类一区二区小说| 风间由美一区二区三区在线观看| 一本色道亚洲精品aⅴ| 欧美日韩亚洲另类| 久久综合九色综合97婷婷女人 | 精品国产伦一区二区三区免费 | 首页国产欧美日韩丝袜| 极品美女销魂一区二区三区免费 | 午夜精品在线视频一区| 激情六月婷婷久久| 一本大道久久a久久综合婷婷| 在线综合视频播放| 亚洲国产电影在线观看| 午夜精品一区二区三区电影天堂 | 久久精品水蜜桃av综合天堂| 亚洲视频在线观看一区| 日本视频免费一区| av一区二区三区四区| 日韩一区二区三区三四区视频在线观看 | 国产精品视频yy9299一区| 亚洲一区二区三区视频在线播放| 精品制服美女久久| 色天天综合色天天久久| 欧美变态tickle挠乳网站| 亚洲蜜臀av乱码久久精品蜜桃| 麻豆精品国产91久久久久久| www.日本不卡| 精品福利在线导航| 亚洲第一狼人社区| 国产**成人网毛片九色| 欧美电影免费观看高清完整版在线| 国产亚洲一区字幕| 美日韩一区二区三区| 欧美在线三级电影| 亚洲欧洲精品一区二区三区不卡| 久久精品国产久精国产| 色综合天天天天做夜夜夜夜做| 精品国产乱码久久久久久久久| 天天色综合成人网| 在线观看不卡一区| 亚洲男人天堂av网| 99久久精品一区| 国产欧美1区2区3区| 久久99最新地址| 欧美一区二区三区不卡| 亚洲成人动漫在线观看| 欧美系列在线观看| 一区二区三区四区中文字幕| 国产jizzjizz一区二区| 亚洲精品在线三区| 精品一区二区在线视频| 日韩欧美色综合| 美女一区二区久久| 日韩精品资源二区在线| 另类小说综合欧美亚洲| 日韩一区二区免费视频| 青青草原综合久久大伊人精品优势| 欧美日韩二区三区| 日韩成人午夜电影| 日韩欧美国产一区二区三区| 日本不卡高清视频| 欧美精品一区二区在线观看| 国产专区欧美精品| 中文字幕精品一区| 91精品办公室少妇高潮对白| 亚洲成人免费影院| 欧美一区二视频| 国产综合久久久久久久久久久久| 久久久影视传媒| 91在线免费播放| 亚洲一区二区三区四区的| 91精品免费在线观看| 国产一区视频导航| 亚洲三级电影全部在线观看高清| 在线一区二区三区四区五区| 天天免费综合色| 精品国产伦一区二区三区免费| 国产69精品久久久久777| 亚洲欧美电影院| 欧美一区二区三区在线电影| 国产在线观看一区二区| 亚洲欧美日韩国产综合| 777奇米成人网| 国内不卡的二区三区中文字幕| 中文字幕中文字幕在线一区| 欧美日韩黄色影视| 国产一区二区在线看| 1000精品久久久久久久久| 欧美高清视频在线高清观看mv色露露十八| 另类调教123区| 亚洲天堂福利av| 精品国产免费一区二区三区香蕉| 不卡av免费在线观看| 日本在线观看不卡视频| 国产精品亲子伦对白| 日韩一区二区三| 色婷婷综合久久久久中文| 麻豆精品国产91久久久久久| 亚洲免费电影在线| 久久久久久久国产精品影院| 欧美伊人久久久久久久久影院 | 欧美午夜片在线观看| 国产裸体歌舞团一区二区| 亚洲图片自拍偷拍| 国产精品久久久久三级| 日韩免费在线观看| 欧美日韩久久不卡| 91丨九色丨国产丨porny| 国产精品99久久久久久宅男| 亚洲国产精品久久人人爱| 中文字幕第一区综合| 精品国产免费视频| 91麻豆精品91久久久久久清纯| 99国产精品国产精品毛片| 国产一区二区免费看| 蜜桃av一区二区| 婷婷综合另类小说色区| 亚洲一区二三区| 亚洲自拍欧美精品| 亚洲欧美一区二区三区极速播放| 日本一区二区综合亚洲| 欧美精品一区二区高清在线观看 | 欧美色网站导航| 不卡一区二区三区四区| 国产成人免费视频网站 | 日韩亚洲欧美一区二区三区| 欧美高清视频一二三区 | 一区二区三区四区亚洲| 亚洲欧洲日产国产综合网| 中文字幕一区二区三区色视频| 国产片一区二区| 国产日产欧产精品推荐色| 国产免费成人在线视频| 国产精品免费看片| 综合在线观看色| 一区二区三区四区在线免费观看| 一区二区国产视频| 亚洲国产精品精华液网站| 亚洲风情在线资源站| 日本在线不卡一区| 国产乱色国产精品免费视频| 国产精品一二三四区| 成人午夜激情影院| 91免费看视频| 在线观看国产一区二区| 欧美一区二区三区喷汁尤物| 欧美精品一区二区三区蜜桃| 国产欧美久久久精品影院| 国产精品传媒入口麻豆| 亚洲制服丝袜一区| 日韩高清在线电影| 国产一区啦啦啦在线观看| 丁香天五香天堂综合| 色成年激情久久综合| 4hu四虎永久在线影院成人| 亚洲精品在线免费观看视频| 中文成人综合网| 亚洲国产精品影院| 国产一区福利在线| 欧美性受极品xxxx喷水| 欧美成人国产一区二区| 中文一区一区三区高中清不卡| 亚洲一区在线看| 国内精品国产成人国产三级粉色| 99久久久无码国产精品| 欧美人xxxx| 《视频一区视频二区| 日韩电影在线一区二区三区| 丁香另类激情小说| 91麻豆精品国产91久久久久久久久| 国产日本欧美一区二区| 无码av中文一区二区三区桃花岛| 国产精品性做久久久久久| 欧美日本韩国一区二区三区视频 | 亚洲美女视频在线| 精品在线免费视频| 欧美三日本三级三级在线播放| 久久综合给合久久狠狠狠97色69| 一区二区欧美在线观看| 国产成人8x视频一区二区| 91精品国产综合久久福利|