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

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

?? jfif.cpp

?? Jpeg編解碼器的源代碼
?? CPP
字號:
//
// Title:   JFIF Implementation
//
// Author: John M. Miano  miano@colosseumbuilders.com
//
// Description:
//
//    This module contains the RGB/YcbCr conversion functions specified
//    by the JFIF standard. This functions are implemented using scaled
//    integers.
//
//    If you are using MS C++ you may wish to re-write this since that compile
//    generates terrible code for these function. Borland C++ is great here,
//    and G++ works well if you turn on optimizations.
//


#include "jfif.h"

#if ! defined (INLINECOLORCONVERSION)

const int ScaleFactor = 12 ;
const int ScaleValue = (1<<ScaleFactor) ;
const int Rounding = (1<<(ScaleFactor-1)) ;

namespace
{
inline int Scaled (double value)
{
  return (int) (ScaleValue * value) ;
}
}

namespace ColosseumPrivate
{
JPEGSAMPLE YCbCrToR (int yy, int /*cb*/, int cr)
{
  int result = yy + ((Scaled (1.402) * (cr - JPEGMIDPOINTSAMPLEVALUE) + Rounding) >> ScaleFactor) ;
  if (result < 0)
    result = 0 ;
  else if (result > JPEGMAXSAMPLEVALUE)
    result = JPEGMAXSAMPLEVALUE ;
  return static_cast<JPEGSAMPLE>(result) ;
}

JPEGSAMPLE YCbCrToG (int yy, int cb, int cr)
{
  int result = yy - ((Scaled (0.34414) * (cb - JPEGMIDPOINTSAMPLEVALUE)
                     + Scaled (0.71414) * (cr - JPEGMIDPOINTSAMPLEVALUE)
                     + Rounding) >> ScaleFactor) ;
  if (result < 0)
    result = 0 ;
  else if (result > JPEGMAXSAMPLEVALUE)
    result = JPEGMAXSAMPLEVALUE ;
  return static_cast<JPEGSAMPLE>(result) ;
}

JPEGSAMPLE YCbCrToB (int yy, int cb, int /*cr*/)
{
  int result = yy + ((Scaled (1.772) * (cb - JPEGMIDPOINTSAMPLEVALUE)
             + Rounding) >> ScaleFactor) ;
  if (result < 0)
    result = 0 ;
  else if (result > JPEGMAXSAMPLEVALUE)
    result = JPEGMAXSAMPLEVALUE ;
  return static_cast<JPEGSAMPLE>(result) ;
}

JPEGSAMPLE RgbToY (JPEGSAMPLE red, JPEGSAMPLE green, JPEGSAMPLE blue)
{
  int result = (Scaled (0.299) * red
             + Scaled (0.587) * green + Scaled (0.114) * blue
             + Rounding) >> ScaleFactor ;
  if (result > JPEGMAXSAMPLEVALUE)
  	result = JPEGMAXSAMPLEVALUE ;
  else if (result < JPEGMINSAMPLEVALUE)
  	result = JPEGMINSAMPLEVALUE ;
  return static_cast<JPEGSAMPLE>(result) ;
}

JPEGSAMPLE RgbToCb (JPEGSAMPLE red, JPEGSAMPLE green, JPEGSAMPLE blue)
{
  int result = ((JPEGMIDPOINTSAMPLEVALUE<<ScaleFactor)
             + Rounding - Scaled (0.1687) * red
             - Scaled (0.3313) * green + Scaled (0.5) * blue) >> ScaleFactor  ;
  if (result > JPEGMAXSAMPLEVALUE)
  	result = JPEGMAXSAMPLEVALUE ;
  else if (result < JPEGMINSAMPLEVALUE)
  	result = JPEGMINSAMPLEVALUE ;
  return static_cast<JPEGSAMPLE>(result) ;
}

JPEGSAMPLE RgbToCr (JPEGSAMPLE red, JPEGSAMPLE green, JPEGSAMPLE blue)
{
  int result = ((JPEGMIDPOINTSAMPLEVALUE<<ScaleFactor)
             + Rounding + Scaled (0.5) * red
             - Scaled (0.4187) * green - Scaled (0.0813) * blue) >> ScaleFactor ;
  if (result > JPEGMAXSAMPLEVALUE)
  	result = JPEGMAXSAMPLEVALUE ;
  else if (result < JPEGMINSAMPLEVALUE)
  	result = JPEGMINSAMPLEVALUE ;
  return static_cast<JPEGSAMPLE>(result) ;
}

}
#else
namespace ColosseumPrivate
{
// CrRTable [x] =  ROUND (x * 1.402)
extern const long CrRTable [256] =
{
-179, -178, -177, -175, -174, -172, -171, -170,
-168, -167, -165, -164, -163, -161, -160, -158,
-157, -156, -154, -153, -151, -150, -149, -147,
-146, -144, -143, -142, -140, -139, -137, -136,
-135, -133, -132, -130, -129, -128, -126, -125,
-123, -122, -121, -119, -118, -116, -115, -114,
-112, -111, -109, -108, -107, -105, -104, -102,
-101, -100,  -98,  -97,  -95,  -94,  -93,  -91,
 -90,  -88,  -87,  -86,  -84,  -83,  -81,  -80,
 -79,  -77,  -76,  -74,  -73,  -72,  -70,  -69,
 -67,  -66,  -64,  -63,  -62,  -60,  -59,  -57,
 -56,  -55,  -53,  -52,  -50,  -49,  -48,  -46,
 -45,  -43,  -42,  -41,  -39,  -38,  -36,  -35,
 -34,  -32,  -31,  -29,  -28,  -27,  -25,  -24,
 -22,  -21,  -20,  -18,  -17,  -15,  -14,  -13,
 -11,  -10,   -8,   -7,   -6,   -4,   -3,   -1,
   0,    1,    3,    4,    6,    7,    8,   10,
  11,   13,   14,   15,   17,   18,   20,   21,
  22,   24,   25,   27,   28,   29,   31,   32,
  34,   35,   36,   38,   39,   41,   42,   43,
  45,   46,   48,   49,   50,   52,   53,   55,
  56,   57,   59,   60,   62,   63,   64,   66,
  67,   69,   70,   72,   73,   74,   76,   77,
  79,   80,   81,   83,   84,   86,   87,   88,
  90,   91,   93,   94,   95,   97,   98,  100,
 101,  102,  104,  105,  107,  108,  109,  111,
 112,  114,  115,  116,  118,  119,  121,  122,
 123,  125,  126,  128,  129,  130,  132,  133,
 135,  136,  137,  139,  140,  142,  143,  144,
 146,  147,  149,  150,  151,  153,  154,  156,
 157,  158,  160,  161,  163,  164,  165,  167,
 168,  170,  171,  172,  174,  175,  177,  178,
} ;
// CbGTable [x] = ROUND ((ii-128) << 16) * 0.33414)
extern const long CbGTable [256] =
{
-2802969, -2781071, -2759173, -2737275, -2715377, -2693478, -2671580, -2649682,
-2627784, -2605886, -2583987, -2562089, -2540191, -2518293, -2496395, -2474496,
-2452598, -2430700, -2408802, -2386904, -2365005, -2343107, -2321209, -2299311,
-2277413, -2255515, -2233616, -2211718, -2189820, -2167922, -2146024, -2124125,
-2102227, -2080329, -2058431, -2036533, -2014634, -1992736, -1970838, -1948940,
-1927042, -1905143, -1883245, -1861347, -1839449, -1817551, -1795652, -1773754,
-1751856, -1729958, -1708060, -1686161, -1664263, -1642365, -1620467, -1598569,
-1576670, -1554772, -1532874, -1510976, -1489078, -1467179, -1445281, -1423383,
-1401485, -1379587, -1357688, -1335790, -1313892, -1291994, -1270096, -1248197,
-1226299, -1204401, -1182503, -1160605, -1138706, -1116808, -1094910, -1073012,
-1051114, -1029215, -1007317,  -985419,  -963521,  -941623,  -919724,  -897826,
 -875928,  -854030,  -832132,  -810233,  -788335,  -766437,  -744539,  -722641,
 -700742,  -678844,  -656946,  -635048,  -613150,  -591251,  -569353,  -547455,
 -525557,  -503659,  -481760,  -459862,  -437964,  -416066,  -394168,  -372269,
 -350371,  -328473,  -306575,  -284677,  -262778,  -240880,  -218982,  -197084, 
 -175186,  -153287,  -131389,  -109491,   -87593,   -65695,   -43796,   -21898,
       0,    21898,    43796,    65695,    87593,   109491,   131389,   153287, 
  175186,   197084,   218982,   240880,   262778,   284677,   306575,   328473,
  350371,   372269,   394168,   416066,   437964,   459862,   481760,   503659,
  525557,   547455,   569353,   591251,   613150,   635048,   656946,   678844, 
  700742,   722641,   744539,   766437,   788335,   810233,   832132,   854030,
  875928,   897826,   919724,   941623,   963521,   985419,  1007317,  1029215,
 1051114,  1073012,  1094910,  1116808,  1138706,  1160605,  1182503,  1204401,
 1226299,  1248197,  1270096,  1291994,  1313892,  1335790,  1357688,  1379587,
 1401485,  1423383,  1445281,  1467179,  1489078,  1510976,  1532874,  1554772,
 1576670,  1598569,  1620467,  1642365,  1664263,  1686161,  1708060,  1729958,
 1751856,  1773754,  1795652,  1817551,  1839449,  1861347,  1883245,  1905143,
 1927042,  1948940,  1970838,  1992736,  2014634,  2036533,  2058431,  2080329,
 2102227,  2124125,  2146024,  2167922,  2189820,  2211718,  2233616,  2255515,
 2277413,  2299311,  2321209,  2343107,  2365005,  2386904,  2408802,  2430700,
 2452598,  2474496,  2496395,  2518293,  2540191,  2562089,  2583987,  2605886,
 2627784,  2649682,  2671580,  2693478,  2715377,  2737275,  2759173,  2781071,
} ;
// CrGTable [x] = ROUND ((ii-128) << 16) * 0.71414)
extern const long CrGTable [256] =
{
-5990641, -5943839, -5897037, -5850235, -5803433, -5756631, -5709829, -5663027,
-5616225, -5569424, -5522622, -5475820, -5429018, -5382216, -5335414, -5288612,
-5241810, -5195009, -5148207, -5101405, -5054603, -5007801, -4960999, -4914197,
-4867395, -4820594, -4773792, -4726990, -4680188, -4633386, -4586584, -4539782,
-4492980, -4446179, -4399377, -4352575, -4305773, -4258971, -4212169, -4165367,
-4118565, -4071763, -4024962, -3978160, -3931358, -3884556, -3837754, -3790952,
-3744150, -3697348, -3650547, -3603745, -3556943, -3510141, -3463339, -3416537,
-3369735, -3322933, -3276132, -3229330, -3182528, -3135726, -3088924, -3042122,
-2995320, -2948518, -2901717, -2854915, -2808113, -2761311, -2714509, -2667707,
-2620905, -2574103, -2527301, -2480500, -2433698, -2386896, -2340094, -2293292,
-2246490, -2199688, -2152886, -2106085, -2059283, -2012481, -1965679, -1918877,
-1872075, -1825273, -1778471, -1731670, -1684868, -1638066, -1591264, -1544462,
-1497660, -1450858, -1404056, -1357254, -1310453, -1263651, -1216849, -1170047,
-1123245, -1076443, -1029641,  -982839,  -936038,  -889236,  -842434,  -795632, 
 -748830,  -702028,  -655226,  -608424,  -561623,  -514821,  -468019,  -421217,
 -374415,  -327613,  -280811,  -234009,  -187208,  -140406,   -93604,   -46802,
       0,    46802,    93604,   140406,   187208,   234009,   280811,   327613,
  374415,   421217,   468019,   514821,   561623,   608424,   655226,   702028,
  748830,   795632,   842434,   889236,   936038,   982839,  1029641,  1076443, 
 1123245,  1170047,  1216849,  1263651,  1310453,  1357254,  1404056,  1450858,
 1497660,  1544462,  1591264,  1638066,  1684868,  1731670,  1778471,  1825273, 
 1872075,  1918877,  1965679,  2012481,  2059283,  2106085,  2152886,  2199688, 
 2246490,  2293292,  2340094,  2386896,  2433698,  2480500,  2527301,  2574103, 
 2620905,  2667707,  2714509,  2761311,  2808113,  2854915,  2901717,  2948518,
 2995320,  3042122,  3088924,  3135726,  3182528,  3229330,  3276132,  3322933, 
 3369735,  3416537,  3463339,  3510141,  3556943,  3603745,  3650547,  3697348, 
 3744150,  3790952,  3837754,  3884556,  3931358,  3978160,  4024962,  4071763, 
 4118565,  4165367,  4212169,  4258971,  4305773,  4352575,  4399377,  4446179,
 4492980,  4539782,  4586584,  4633386,  4680188,  4726990,  4773792,  4820594,
 4867395,  4914197,  4960999,  5007801,  5054603,  5101405,  5148207,  5195009, 
 5241810,  5288612,  5335414,  5382216,  5429018,  5475820,  5522622,  5569424,
 5616225,  5663027,  5709829,  5756631,  5803433,  5850235,  5897037,  5943839,
} ;
// CbBTable [X] = ROUND ((x-128) * 1.772)
extern const long CbBTable [256] =
{
-227, -225, -223, -222, -220, -218, -216, -214,
-213, -211, -209, -207, -206, -204, -202, -200,
-198, -197, -195, -193, -191, -190, -188, -186,
-184, -183, -181, -179, -177, -175, -174, -172,
-170, -168, -167, -165, -163, -161, -159, -158, 
-156, -154, -152, -151, -149, -147, -145, -144,
-142, -140, -138, -136, -135, -133, -131, -129, 
-128, -126, -124, -122, -120, -119, -117, -115, 
-113, -112, -110, -108, -106, -105, -103, -101, 
 -99,  -97,  -96,  -94,  -92,  -90,  -89,  -87, 
 -85,  -83,  -82,  -80,  -78,  -76,  -74,  -73,
 -71,  -69,  -67,  -66,  -64,  -62,  -60,  -58,
 -57,  -55,  -53,  -51,  -50,  -48,  -46,  -44,
 -43,  -41,  -39,  -37,  -35,  -34,  -32,  -30, 
 -28,  -27,  -25,  -23,  -21,  -19,  -18,  -16,
 -14,  -12,  -11,   -9,   -7,   -5,   -4,   -2,
   0,    2,    4,    5,    7,    9,   11,   12, 
  14,   16,   18,   19,   21,   23,   25,   27,
  28,   30,   32,   34,   35,   37,   39,   41,
  43,   44,   46,   48,   50,   51,   53,   55, 
  57,   58,   60,   62,   64,   66,   67,   69,
  71,   73,   74,   76,   78,   80,   82,   83,
  85,   87,   89,   90,   92,   94,   96,   97,
  99,  101,  103,  105,  106,  108,  110,  112, 
 113,  115,  117,  119,  120,  122,  124,  126,
 128,  129,  131,  133,  135,  136,  138,  140,
 142,  144,  145,  147,  149,  151,  152,  154, 
 156,  158,  159,  161,  163,  165,  167,  168,
 170,  172,  174,  175,  177,  179,  181,  183, 
 184,  186,  188,  190,  191,  193,  195,  197,
 198,  200,  202,  204,  206,  207,  209,  211, 
 213,  214,  216,  218,  220,  222,  223,  225,
} ;


} // End Namespace ColosseumPrivate

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲国产综合| 日韩一卡二卡三卡四卡| 91黄色免费观看| 日韩一区二区中文字幕| 国产精品初高中害羞小美女文| 日韩在线一二三区| 成人一区二区三区| 日韩丝袜美女视频| 亚洲综合色网站| aaa亚洲精品一二三区| 日韩免费视频一区| 亚洲午夜国产一区99re久久| 国产成人丝袜美腿| 日韩你懂的在线播放| 亚洲午夜视频在线| 99视频一区二区| 国产欧美一区二区三区沐欲| 奇米综合一区二区三区精品视频| 色综合天天综合给合国产| 久久久美女毛片| 六月丁香婷婷色狠狠久久| 在线观看成人小视频| 中文字幕一区视频| 国产成人精品亚洲777人妖| 欧美成人一区二区| 日韩av二区在线播放| 欧美无砖专区一中文字| 亚洲精品成人在线| 91片黄在线观看| 国产免费成人在线视频| 国产在线精品一区在线观看麻豆| 日韩免费看的电影| 蜜桃91丨九色丨蝌蚪91桃色| 91精品国产一区二区人妖| 亚洲成av人片一区二区梦乃| 在线观看国产日韩| 亚洲成人一二三| 欧美日韩免费观看一区二区三区 | 在线观看一区日韩| 亚洲男人电影天堂| 色婷婷亚洲婷婷| 一区二区三区欧美日| 欧日韩精品视频| 亚洲成人在线观看视频| 欧美日韩激情一区二区三区| 亚洲一区二区三区四区不卡| 日本福利一区二区| 午夜伊人狠狠久久| 欧美一级午夜免费电影| 久久99久久精品欧美| 久久久久亚洲综合| 成人国产视频在线观看| 一区二区三区在线视频免费 | 日产精品久久久久久久性色| 欧美日韩激情一区二区三区| 蜜桃传媒麻豆第一区在线观看| 精品盗摄一区二区三区| 国产91精品精华液一区二区三区 | 亚洲日本青草视频在线怡红院| 精品国产伦理网| 国产精品一区三区| 亚洲免费观看高清| 欧美二区三区的天堂| 激情深爱一区二区| 国产精品美日韩| 欧美综合一区二区| 精一区二区三区| 国产精品久久久久久久久久免费看| 一本色道综合亚洲| 久久99精品久久久久久久久久久久 | 亚洲18影院在线观看| 日韩精品影音先锋| 91在线国内视频| 日韩国产欧美在线观看| 日本一二三四高清不卡| 欧美日韩中文一区| 国产成人啪免费观看软件| 亚洲一区二区三区激情| 精品久久久久久久久久久久包黑料| bt7086福利一区国产| 三级欧美韩日大片在线看| 国产天堂亚洲国产碰碰| 欧美猛男超大videosgay| 国产成人av一区二区三区在线 | 午夜一区二区三区在线观看| 久久精品视频网| 欧美日韩日日骚| a4yy欧美一区二区三区| 经典三级视频一区| 亚洲国产欧美在线| 国产精品麻豆一区二区| 日韩欧美成人午夜| 欧美日韩成人在线| 成人av电影免费观看| 精品一区二区三区在线观看 | 一区二区三区免费观看| 久久久噜噜噜久久人人看| 欧美日韩一卡二卡| 色94色欧美sute亚洲线路二 | 日本中文在线一区| 亚洲另类在线制服丝袜| 国产欧美一区二区精品秋霞影院| 欧美一区二区视频观看视频| 欧美亚洲日本一区| 色综合欧美在线| 91在线视频18| 成人免费视频播放| 国产乱对白刺激视频不卡 | 亚洲大片在线观看| 亚洲欧美日韩综合aⅴ视频| 国产精品日日摸夜夜摸av| 久久蜜桃一区二区| www国产精品av| 精品国产91久久久久久久妲己 | 国产一区欧美日韩| 免费的成人av| 免费人成在线不卡| 免费成人av资源网| 蜜桃一区二区三区在线| 麻豆久久久久久久| 免费看日韩a级影片| 麻豆精品视频在线观看免费| 久久精品国产亚洲高清剧情介绍 | 丝袜a∨在线一区二区三区不卡| 亚洲精品视频观看| 夜夜夜精品看看| 午夜精品国产更新| 日韩av一区二区在线影视| 日韩在线一二三区| 久久99精品网久久| 成人一区二区三区| 色综合久久中文综合久久97| 欧洲av一区二区嗯嗯嗯啊| 欧美美女视频在线观看| 欧美嫩在线观看| 欧美成人精品3d动漫h| 26uuu精品一区二区| 国产精品久久一卡二卡| 亚洲精品免费看| 日韩精品国产精品| 国产一区久久久| k8久久久一区二区三区| 久久九九久久九九| 欧美国产成人在线| 亚洲精品欧美二区三区中文字幕| 亚洲图片有声小说| 久久激情五月婷婷| 成人的网站免费观看| 在线欧美日韩精品| 精品av综合导航| 亚洲欧美另类在线| 蜜臀va亚洲va欧美va天堂| 国产二区国产一区在线观看| 在线日韩一区二区| 欧美mv日韩mv| 亚洲卡通动漫在线| 免费在线看成人av| 色婷婷久久99综合精品jk白丝| 日韩欧美一级二级三级久久久| 久久久亚洲欧洲日产国码αv| 日韩毛片高清在线播放| 免费在线观看一区| 91日韩在线专区| 久久精品水蜜桃av综合天堂| 一区二区三区在线免费播放| 精品一区二区三区欧美| 日本韩国欧美国产| 久久精品人人做人人综合| 亚洲地区一二三色| 成人黄色在线网站| 欧美videossexotv100| 一区二区三区在线视频免费观看| 国产精品一区二区久久不卡| 欧美午夜电影网| 中文字幕一区二区在线播放| 精品一区中文字幕| 在线欧美日韩精品| 中文文精品字幕一区二区| 日韩电影免费在线| 日本道在线观看一区二区| 久久先锋资源网| 免费在线观看不卡| 欧美日韩亚洲综合| 一级做a爱片久久| av在线免费不卡| 日本一区二区在线不卡| 毛片一区二区三区| 制服丝袜成人动漫| 亚洲自拍偷拍综合| 色综合久久久久久久久| 中文字幕一区在线| 成人18视频日本| 欧美激情一区二区在线| 国产一区二区h| 亚洲精品一区二区三区香蕉| 免费成人你懂的| 日韩精品最新网址| 免费成人在线观看视频| 91精品国产高清一区二区三区| 天天色天天操综合|