//#include "osdef.h" #include #include "pq_tab.h" #include "drv_pq_internal.h" UINT8 ID_GammaString10[14]={"SiS516_Gamma10"}; UINT8 ID_GammaString12[14]={"SiS516_Gamma12"}; //UINT32 ColorSpaceTableYCC601[12]= //YC C601 16~235=>0~255 UINT32 ColorSpaceTableYCC_Full601[12]= //YC C601 16~235=>0~255 { 0x04A8, 0x0000, 0x0662, 0x04A8, 0x3E6F, 0x3CC0, 0x04A8, 0x0811, 0x0000, 0x0000, 0x0000, 0x0000 }; //UINT32 ColorSpaceTableYCC709[12]= //YCC 709 UINT32 ColorSpaceTableYCC_Full709[12]= //YCC 709 { 0x04A8, 0x0000, 0x072b, 0x04A8, 0x3F26, 0x3DDF, 0x04A8, 0x0873, 0x0000, 0x0000, 0x0000, 0x0000 }; UINT32 ColorSpaceTableYCC_Limit601[12]= //YC C601 16~235=>0~255 { 0x0400, 0x0000, 0x057b, 0x0400, 0x3EA8, 0x3D36, 0x0400, 0x06ee, 0x0000, 0x0000, 0x0000, 0x0000 }; UINT32 ColorSpaceTableYCC_Limit709[12]= //YCC 709 { 0x0400, 0x0000, 0x0628, 0x0400, 0x3F45, 0x3E2C, 0x0400, 0x0741, 0x0000, 0x0000, 0x0000, 0x0000 }; UINT32 ColorSpaceTableFCC[12]= { //full range 0x04A8, 0x0000, 0x0688, 0x04A8, 0x3E75, 0x3CB1, 0x04A8, 0x0875, 0x0000, 0x0000, 0x0000, 0x0000 /* limit range 1024, 0, 1436, 1024, 0x3EAC, //-85 0x3D28, //-182 1024, 1860, 0, 0x0000, 0x0000, 0x0000 */ }; UINT32 ColorSpaceTable624[12]= { //full range 0x04A8, 0x0000, 0x0688, 0x04A8, 0x3E67, 0x3CAC, 0x04A8, 0x0842, 0x0000, 0x0000, 0x0000, 0x0000 /* limit range 1024, 0, 1436, 1024, 0x3EA0, //-88 0x3D24, //-183 1024, 1816, 0, 0x0000, 0x0000, 0x0000 */ }; UINT32 ColorSpaceTable240M[12]= { //full range 0x04A8, 0x0000, 0x0754, 0x04A8, 0x3EF2, 0x3DC8, 0x04A8, 0x087F, 0x0000, 0x0000, 0x0000, 0x0000 /*limit range 1024, 0, 1612, 1024, 0x3F18, //-58 0x3E18, //-122 1024, 1868, 0, 0x0000, 0x0000, 0x0000 */ }; UINT32 ColorSpaceJPEG[12]= //CCIR601 0~255=>0~255 { 1024, 0, 1403, 1024, 0x3EA8, //-344 0x3D36, //-714 1024, 1774, 0, 16, 16, 16 }; UINT32 ColorSpaceBMP[12]= { 1192, 0, 1634, 1192, 0x3E70, //-344 0x3CBF, //-714 1192, 2067, 0, 0, 0, 0 }; /* //for JPEG SOURCE input is RGB format UINT32 ColorSpaceTableJPEGRGB[12]= { 0x400, 0x000, 0x000, 0x000, 0x400, 0x000, 0x0000, 0x0000, 0x400, 0x0000, 0x0000, 0x0000 }; */ //for JPEG SOURCE input is RGB format //update JPEG RGB color space to swap Blue, Green UINT32 ColorSpaceTableJPEGRGB[12]= { 0x400, 0x000, 0x000, 0x000, 0x000, 0x400, 0x0000, 0x400, 0x0000, 0x0000, 0x0000, 0x0000 }; //yukuo for VGA mode input range 10~245 UINT32 ColorSpaceTableRGB[12]= { 0x050d, 0x0000, 0x06ed, 0x050d, 0x3e4e, 0x3c79, 0x050d, 0x08c2, 0x0000, 0x3ff5, //-11 0x3ff5, 0x3ff5 }; // angle degree= ( 45-(-45) ) / 32 = 2.8125 // 256 * sine(value) , 256 * cosine(value) HUE HueSetting[] = { //{ sine,cosine},/* angle*/ { -180, 182 }, /*-44.8*/ { -171, 190 }, /*-42.0*/ { -162, 198 }, /*-39.2*/ { -152,206 }, /*-36.4*/ { -142,213 }, /*-33.6*/ { -131,220 }, /*-30.8*/ { -120,226 }, /*-28.0*/ { -109,232 }, /*-25.2*/ { -98,237 }, /*-22.4*/ { -86,241 }, /*-19.6*/ { -74,245 }, /*-16.8*/ { -62,248 }, /*-14.0*/ { -50,251 }, /*-11.2*/ { -37,253 }, /* -8.4*/ { -25,255 }, /* -5.6*/ { -13,256 }, /* -2.8*/ { 0,256 }, /* 0 */ { 13,256 }, /* 2.8*/ { 25,255 }, /* 5.6*/ { 37,253 }, /* 8.4*/ { 50,251 }, /* 11.2*/ { 62,248 }, /* 14.0*/ { 74,245 }, /* 16.8*/ { 86,241 }, /* 19.6*/ { 98,237 }, /* 22.4*/ { 109,232 }, /* 25.2*/ { 120,226 }, /* 28.0*/ { 131,220 }, /* 30.8*/ { 142,213 }, /* 33.6*/ { 152,206 }, /* 36.4*/ { 162, 198 }, /* 39.2*/ { 171, 190 }, /* 42.0*/ { 180, 182 } /* 44.8*/ }; HUE NewHueSetting[] = { {-196, 165}, {-193, 168}, {-190, 171}, {-187, 175}, {-184, 178}, {-181, 181}, {-178, 184}, {-175, 187}, {-171, 190}, {-168, 193}, {-165, 196}, {-161, 199}, {-158, 202}, {-154, 204}, {-150, 207}, {-147, 210}, {-143, 212}, {-139, 215}, {-136, 217}, {-132, 219}, {-128, 222}, {-124, 224}, {-120, 226}, {-116, 228}, {-112, 230}, {-108, 232}, {-104, 234}, {-100, 236}, {-96, 237}, {-92, 239}, {-88, 241}, {-83, 242}, {-79, 243}, {-75, 245}, {-71, 246}, {-66, 247}, {-62, 248}, {-58, 249}, {-53, 250}, {-49, 251}, {-44, 252}, {-40, 253}, {-36, 254}, {-31, 254}, {-27, 255}, {-22, 255}, {-18, 255}, {-13, 256}, {-9, 256}, {-4, 256}, {0, 256}, {4, 256}, {9, 256}, {13, 256}, {18, 255}, {22, 255}, {27, 255}, {31, 254}, {36, 254}, {40, 253}, {44, 252}, {49, 251}, {53, 250}, {58, 249}, {62, 248}, {66, 247}, {71, 246}, {75, 245}, {79, 243}, {83, 242}, {88, 241}, {92, 239}, {96, 237}, {100, 236}, {104, 234}, {108, 232}, {112, 230}, {116, 228}, {120, 226}, {124, 224}, {128, 222}, {132, 219}, {136, 217}, {139, 215}, {143, 212}, {147, 210}, {150, 207}, {154, 204}, {158, 202}, {161, 199}, {165, 196}, {168, 193}, {171, 190}, {175, 187}, {178, 184}, {181, 181}, {184, 178}, {187, 175}, {190, 171}, {193, 168}, {196, 165} }; const USER_BIN_SET g_StaticGamma= { {0, -9, -26, -38, -46, -49, -48, -41, -30, -15, 4, 28, 57, 88, 125, 0 }, //-5 {0, -8, -22, -32, -39, -40, -39, -33, -23, -11, 4, 24, 47, 71, 101, 0 }, //-4 {0, -6, -18, -26, -30, -31, -29, -24, -17, -7, 4, 19, 36, 54, 75, 0 }, //-3 {0, -5, -13, -18, -21, -21, -19, -16, -11, -4, 3, 13, 24, 37, 51, 0 }, //-2 {0, -2, -7, -9, -10, -10, -9, -8, -5, -1, 2, 7, 12, 17, 23, 0 }, //-1 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, //0 {0, 3, 8, 10, 11, 11, 10, 7, 4, 1, -3, -8, -13, -18, -23, 0 }, //+1 {0, 8, 18, 22, 24, 23, 20, 15, 9, 1, -7, -16, -27, -39, -51, 0 }, //+2 {0, 14, 30, 36, 37, 35, 29, 22, 12, 1, -12, -26, -42, -59, -77, 0 }, //+3 {0, 23, 43, 51, 51, 47, 39, 28, 15, 0, -18, -37, -58, -80, -104, 0 }, //+4 {0, 33, 59, 67, 66, 59, 48, 34, 16, -3, -25, -49, -74, -101, -130, 0 }, //+5 }; const USER_BIN_SET g_BlackLevelExtension= { {-128, -160, -40, 0, 82, 82, 82, 82, 0, 0, 0, 0, 0, 0, 0, 0 }, //-5 {-64, -160, -40, 0, 66, 66, 66, 66, 0, 0, 0, 0, 0, 0, 0, 0 }, //-4 {0, -160, -40, 0, 50, 50, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0}, //-3 {0, -96, -24, 0, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0}, //-2 {0, -32, -8, 0, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0 }, //-1 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, //0 {0, 32, 8, 0, -10, -10, -10, -10, 0, 0, 0, 0, 0, 0, 0, 0}, //+1 {0, 96, 24, 0, -30, -30, -30, -30, 0, 0, 0, 0, 0, 0, 0, 0 }, //+2 {0, 160, 40, 0, -50, -50, -50, -50, 0, 0, 0, 0, 0, 0, 0, 0 }, //+3 {64, 160, 40, 0, -66, -66, -66, -66, 0, 0, 0, 0, 0, 0, 0, 0 }, //+4 {128, 160, 40, 0, -82, -82, -82, -82, 0, 0, 0, 0, 0, 0, 0, 0 }, //+5 }; const USER_BIN_SET g_WhiteLevelExtension= { {0, 0, 0, 0, 0, 0, 0, 0, -62, -62, -62, -62, 0, 24, 96, 128 }, // -5 {0, 0, 0, 0, 0, 0, 0, 0, -46, -46, -46, -46, 0, 24, 96, 64 }, //-4 {0, 0, 0, 0, 0, 0, 0, 0, -30, -30, -30, -30, 0, 24, 96, 0}, //-3 {0, 0, 0, 0, 0, 0, 0, 0, -20, -20, -20, -20, 0, 16, 64, 0}, //-2 {0, 0, 0, 0, 0, 0, 0, 0, -10, -10, -10, -10, 0, 8, 32, 0}, //-1 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, //0 {0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 0, -8, -32, 0}, //+1 {0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 20, 0, -16, -64, 0}, //+2 {0, 0, 0, 0, 0, 0, 0, 0, 30, 30, 30, 30, 0, -24, -96, 0}, //+3 {0, 0, 0, 0, 0, 0, 0, 0, 46, 46, 46, 46, 0, -24, -96, -64 }, //+4 {0, 0, 0, 0, 0, 0, 0, 0, 62, 62, 62, 62, 0, -24, -96, -128 }, //+5 }; const DC_STRENGTH DCStrength[PQ_MAX_ITEM_DEGREE]= { {0x100, 0x100, 0, 0, 0}, {0x106, 0xf9, 0, 0, 0}, {0x10c, 0xf3, 0, 0x04, -0x04}, {0x113, 0xee, 0, 0x08, -0x08}, {0x119, 0xe8, 0, 0x10, -0x10}, // 4 {0x120, 0xe3, 1, 0x14, -0x14}, {0x126, 0xde, 1, 0x18, -0x18}, {0x12c, 0xd9, 1, 0x1c, -0x1c}, {0x134, 0xd5, 1, 0x20, -0x20}, //8 {0x139, 0xd0, 1, 0x1c, -0x1c}, {0x140, 0xcc, 1, 0x18, -0x18}, {0x146, 0xc8, 0, 0x14, -0x14}, {0x14c, 0xc4, 1, 0x10, -0x10}, //0xc {0x159, 0xbd, 1, 0x08, -0x08}, {0x166, 0xb6, 1, 0x04, -0x04}, {0x173, 0xb0, 1, 0, 0}, }; const PEAKING_STRENGTH PeakingStrength[PQ_MAX_PEAKING_DEGREE]= { {8, 2, 0, 0}, {5, 4, 3, 1}, {1, 7, 2, 1}, {-2, 16, -2, -2}, {-6, 12, 2, -2}, {-9, 7, 6, 0}, {-8, 1, 6, 3}, {-11, 2, 7, 4}, }; const LUMA_TNR_CORING LTNRCoring[PQ_MAX_ITEM_DEGREE]= { {0, 0, 0, 64}, {0, 2, 5, 64}, {0, 5, 10, 64}, {0, 8, 20, 64}, {0, 10, 30, 64}, {0, 12, 32, 64}, {0, 15, 35, 64}, {0, 18, 38, 64}, {0, 20, 40, 64}, {4, 24, 44, 64}, {8, 28, 48, 64}, {12, 32, 52, 64}, {16, 36, 56, 64}, {20, 40, 60, 64}, {24, 44, 64, 64}, {32, 52, 72, 64}, }; const LUMA_TNR_STRENGTH ATVLTNRStrength[PQ_MAX_ITEM_DEGREE]= { {63, 63, 63, 63}, {56, 56, 56, 56}, {48, 48, 48, 48}, {40, 40, 40, 40}, {32, 32, 32, 32}, // 4 {27, 27, 27, 27}, {25, 25, 25, 25}, {21, 21, 21, 21}, {16, 16, 16, 16}, // 8 {13, 13, 13, 13}, {10, 10, 10, 10}, {7, 7, 7, 7}, {4, 4, 4, 4}, // 12 {3, 3, 3, 3}, {2, 2, 2, 2}, {1, 1, 1, 1}, }; const LUMA_TNR_STRENGTH AVLTNRStrength[PQ_MAX_ITEM_DEGREE]= { {63, 63, 63, 63}, {52, 52, 52, 52}, {40, 40, 40, 40}, {28, 28, 28, 28}, {16, 16, 16, 16}, // 4 {14, 14, 14, 14}, {12, 12, 12, 12}, {10, 10, 10, 10}, {8, 8, 8, 8}, // 8 {7, 7, 7, 7}, {6, 6, 6, 6}, {5, 5, 5, 5}, {4, 4, 4, 4}, // 12 {3, 3, 3, 3}, {2, 2, 2, 2}, {1,01, 1, 1}, }; const LUMA_TNR_STRENGTH SDLTNRStrength[PQ_MAX_ITEM_DEGREE]= { {63, 63, 63, 63}, {52, 52, 52, 52}, {40, 40, 40, 40}, {28, 28, 28, 28}, {16, 16, 16, 16}, // 4 {14, 14, 14, 14}, {12, 12, 12, 12}, {10, 10, 10, 10}, {8, 8, 8, 8}, // 8 {7, 7, 7, 7}, {6, 6, 6, 6}, {5, 5, 5, 5}, {4, 4, 4, 4}, // 12 {3, 3, 3, 3}, {2, 2, 2, 2}, {1, 1, 1, 1}, }; const LUMA_TNR_STRENGTH HDLTNRStrength[PQ_MAX_ITEM_DEGREE]= { {63, 63, 63, 63}, {54, 54, 54, 54}, {44, 44, 44, 44}, {34, 34, 34, 34}, {24, 24, 24, 24}, // 4 {22, 22, 22, 22}, {20, 20, 20, 20}, {18, 18, 18, 18}, {16, 16, 16, 16}, // 8 {13, 13, 13, 13}, {10, 10, 10, 10}, {7, 7, 7, 7}, {4, 4, 4, 4}, // 12 {3, 3, 3, 3}, {2, 2, 2, 2}, {1, 1, 1, 1}, }; const LUMA_TNR_STRENGTH PCSDLTNRStrength[PQ_MAX_ITEM_DEGREE]= { {63, 63, 63, 63}, {52, 52, 52, 52}, {40, 40, 40, 40}, {28, 28, 28, 28}, {16, 16, 16, 16}, // 4 {14, 14, 14, 14}, {12, 12, 12, 12}, {10, 10, 10, 10}, {8, 8, 8, 8}, // 8 {7, 7, 7, 7}, {6, 6, 6, 6}, {5, 5, 5, 5}, {4, 4, 4, 4}, // 12 {3, 3, 3, 3}, {2, 2, 2, 2}, {1, 1, 1, 1}, }; const LUMA_TNR_STRENGTH PCHDLTNRStrength[PQ_MAX_ITEM_DEGREE]= { {63, 63, 63, 63}, {54, 54, 54, 54}, {44, 44, 44, 44}, {34, 34, 34, 34}, {24, 24, 24, 24}, // 4 {22, 22, 22, 22}, {20, 20, 20, 20}, {18, 18, 18, 18}, {16, 16, 16, 16}, // 8 {13, 13, 13, 13}, {10, 10, 10, 10}, {7, 07, 07, 07}, {4, 04, 04, 04}, // 12 {3, 03, 03, 03}, {2, 02, 02, 02}, {1, 01, 01, 01}, }; const CHROMA_TNR_CORING CTNRCoring[PQ_MAX_ITEM_DEGREE]= { {0}, {0}, {0}, {0}, {0}, {4}, {8}, {12}, {16}, {20}, {24}, {28}, {32}, {36}, {40}, {48}, }; const CHROMA_TNR_CORING ATVCTNRCoring[PQ_MAX_ITEM_DEGREE]= { {0}, {2}, {4}, {6}, {8}, {10}, {12}, {14}, {16}, {18}, {20}, {22}, {24}, {26}, {28}, {30}, }; const CHROMA_TNR_CORING SDCTNRCoring[PQ_MAX_ITEM_DEGREE]= { {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {6}, {12}, {18}, {24}, {30}, {36}, {42}, }; const CHROMA_TNR_CORING HDCTNRCoring[PQ_MAX_ITEM_DEGREE]= { {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {6}, {12}, {18}, {24}, {30}, {36}, {42}, }; const CHROMA_TNR_STRENGTH CTNRStrength[PQ_MAX_ITEM_DEGREE]= { {0}, {2}, {5}, {9}, {14}, {20}, {27}, {35}, {44}, {54}, {65}, {77}, {90}, {104}, {154}, {200}, }; const CHROMA_TNR_STRENGTH CVD2CTNRStrength[PQ_MAX_ITEM_DEGREE]= { {0}, {2}, {4}, {6}, {8}, {10}, {12}, {14}, {16}, {18}, {20}, {22}, {24}, {26}, {28}, {30}, }; const TNR_ULTRA_LOW TnrUltraLowAlpha[PQ_MAX_ITEM_DEGREE] = { {63}, {60}, {56}, {53}, {48}, {46}, {43}, {40}, {38}, {37}, {35}, {33}, {32}, {28}, {24}, {20}, }; const LUMA_SNR1_CORING LSNR1Coring[PQ_MAX_LSNR_DEGREE]= { {0, 0, 24}, // 0 {0, 8, 24}, {0, 16, 24}, {0, 24, 24}, {0, 32, 22}, // 4 {4, 36, 21}, {8, 40, 19}, {12, 44, 17}, {16, 48, 16}, // 8 {20, 52, 15}, {24, 56, 13}, {28, 60, 11}, {32, 64, 10}, // 12 {40, 72, 8}, {48, 80, 6}, {64, 96, 4}, {80, 112, 2}, // 16 {100, 132, 0}, {120, 152, 0}, {140, 172, 0}, {160, 192, 0}, // 20 {180, 212, 0}, {200, 232, 0}, {223, 255, 0}, }; const LUMA_SNR1_STRENGTH LSNR1Strength[PQ_MAX_ITEM_DEGREE]= { {0 }, // 0 {4 }, {8 }, {12}, {16}, {20}, {24}, {28}, {32}, // 8 {36}, {40}, {44}, {48}, // 12 {52}, {56}, {63}, }; const LUMA_SNR1_STRENGTH ATVLSNR1Strength[PQ_MAX_ITEM_DEGREE]= { { 8}, // 0 {16}, {24}, {32}, {40}, {48}, {56}, {64}, {72}, // 8 {80}, {88}, {96}, {104}, // 12 {112}, {120}, {127}, }; const LUMA_SNR1_STRENGTH AVLSNR1Strength[PQ_MAX_ITEM_DEGREE]= { { 0}, // 0 { 2}, { 4}, { 6}, { 8}, {10 }, {12}, {14}, {16}, // 8 {20}, {24}, {28}, {32}, // 12 {40}, {48}, {56}, }; const LUMA_SNR1_STRENGTH SDSNR1Strength[PQ_MAX_ITEM_DEGREE]= { { 0}, // 0 { 2}, { 4}, { 6}, { 8}, {10 }, {12}, {14}, {16}, // 8 {20}, {24}, {28}, {32}, // 12 {40}, {48}, {56}, }; const LUMA_SNR1_STRENGTH HDSNR1Strength[PQ_MAX_ITEM_DEGREE]= { {0 }, // 0 {0 }, {0 }, {0 }, {0 }, {4 }, {8 }, {12}, {16}, // 8 {20}, {24}, {28}, {32}, // 12 {40}, {48}, {56}, }; const LUMA_SNR1_STRENGTH PCSDSNR1Strength[PQ_MAX_ITEM_DEGREE]= { { 0}, // 0 { 0}, { 0}, { 0}, { 0}, { 1 }, { 2}, { 3}, { 4}, // 8 { 5}, { 6}, { 7}, { 8}, // 12 { 9}, {10}, {11}, }; const LUMA_SNR1_STRENGTH PCHDSNR1Strength[PQ_MAX_ITEM_DEGREE]= { { 0}, // 0 { 0}, { 0}, { 0}, { 0}, { 1}, { 2}, { 3}, { 4}, // 8 { 5}, { 6}, { 7}, { 8}, // 12 { 9}, {10}, {11}, }; const LUMA_SNR2_CORING LSNR2Coring[PQ_MAX_LSNR_DEGREE]= { {0, 0, 24}, {0, 8, 24}, {0, 16, 24}, {0, 24, 24}, {0, 32, 22}, // 4 {4, 36, 21}, {8, 40, 19}, {12, 44, 17}, {16, 48, 16}, //8 {20, 52, 15}, {24, 56, 13}, {28, 60, 11}, {32, 64, 10}, // 12 {40, 72, 8}, {48, 80, 6}, {64, 96, 4}, {80, 112, 2}, // 16 {100, 132, 0}, {120, 152, 0}, {140, 172, 0}, {160, 192, 0}, // 20 {180, 212, 0}, {200, 232, 0}, {223, 255, 0}, }; const LUMA_SNR2_STRENGTH LSNR2Strength[PQ_MAX_ITEM_DEGREE]= { {63}, // 0 {56}, {48}, {44}, {40}, // 4 {38}, {36}, {34}, {32}, //8 {30}, {28}, {26}, {24}, // 12 {16}, {8}, {0}, }; const CHROMA_SNR_CORING CSNRCoring[PQ_MAX_ITEM_DEGREE]= { {0,0,4,6,24}, {0,8,4,6,24}, {0,16,4,6,24}, {0,24,4,6,24}, {0,32,4,6,22}, {4,36,4,6,21}, {8,40,4,6,19}, {12,44,4,6,17}, {16,48,4,6,16}, {20,52,4,6,15}, {24,56,4,6,13}, {28,60,4,6,11}, {32,64,4,6,10}, {36,68,4,6,8}, {40,72,4,6,6}, {48,76,4,6,4}, }; const CHROMA_SNR_STRENGTH CSNRStrength[PQ_MAX_ITEM_DEGREE]= { { 0}, { 4}, { 8}, {12}, {16}, {20}, {24}, {28}, {32}, {36}, {40}, {44}, {48}, {52}, {56}, {60}, }; const SNR1_ULTRA_LOW Snr1UltraLowCoring[PQ_MAX_SNR_ULOW_DEGREE] = { {0}, {0}, {0}, {0}, {0}, {4}, {8}, {12}, {16}, {20}, {24}, {28}, {32}, {40}, {48}, {64}, {80}, {100}, {120}, {140}, {160}, {180}, {200}, {223}, }; const SNR2_ULTRA_LOW Snr2UltraLowCoring[PQ_MAX_SNR_ULOW_DEGREE] = { {0}, {0}, {0}, {0}, {0}, {4}, {8}, {12}, {16}, {20}, {24}, {28}, {32}, {40}, {48}, {64}, {80}, {100}, {120}, {140}, {160}, {180}, {200}, {223}, }; const BLOCK_NR_CORING BlockNrCoring[PQ_MAX_MPEGNR_DEGREE]= { {0}, {6}, {7}, {8}, {9}, {10}, {12}, {14}, {16}, {18}, }; const BLOCK_NR_STRENGTH BlockNrStrength[PQ_MAX_MPEGNR_DEGREE]= { {0, 0}, {22, 15}, {14, 14}, {18, 12}, {22, 10}, {26, 8}, {30, 7}, {34, 6}, {38, 4}, {42, 2}, }; const MOSQUITO_NR_CORING MosquitoNrCoring[PQ_MAX_MPEGNR_DEGREE]= { {0, 0}, {10, 10}, {16, 16}, {21, 21}, {27, 27}, {32, 32}, {37, 37}, {43, 43}, {48, 48}, {56, 56}, }; const MOSQUITO_NR_STRENGTH MosquitoNrStrength[PQ_MAX_MPEGNR_DEGREE]= { {0}, {5}, {10}, {13}, {17}, {20}, {22}, {24}, {26}, {28}, }; const CR_HUE ANGLE_TABLE[360]= { {0 ,256 }, {4 ,256 }, {9 ,256 }, {13 ,256 }, {18 ,255 }, {22 ,255 }, {27 ,255 }, {31 ,254 }, {36 ,254 }, {40 ,253 }, {44 ,252 }, {49 ,251 }, {53 ,250 }, {58 ,249 }, {62 ,248 }, {66 ,247 }, {71 ,246 }, {75 ,245 }, {79 ,243 }, {83 ,242 }, {88 ,241 }, {92 ,239 }, {96 ,237 }, {100 ,236 }, {104 ,234 }, {108 ,232 }, {112 ,230 }, {116 ,228 }, {120 ,226 }, {124 ,224 }, {128 ,222 }, {132 ,219 }, {136 ,217 }, {139 ,215 }, {143 ,212 }, {147 ,210 }, {150 ,207 }, {154 ,204 }, {158 ,202 }, {161 ,199 }, {165 ,196 }, {168 ,193 }, {171 ,190 }, {175 ,187 }, {178 ,184 }, {181 ,181 }, {184 ,178 }, {187 ,175 }, {190 ,171 }, {193 ,168 }, {196 ,165 }, {199 ,161 }, {202 ,158 }, {204 ,154 }, {207 ,150 }, {210 ,147 }, {212 ,143 }, {215 ,139 }, {217 ,136 }, {219 ,132 }, {222 ,128 }, {224 ,124 }, {226 ,120 }, {228 ,116 }, {230 ,112 }, {232 ,108 }, {234 ,104 }, {236 ,100 }, {237 ,96 }, {239 ,92 }, {241 ,88 }, {242 ,83 }, {243 ,79 }, {245 ,75 }, {246 ,71 }, {247 ,66 }, {248 ,62 }, {249 ,58 }, {250 ,53 }, {251 ,49 }, {252 ,44 }, {253 ,40 }, {254 ,36 }, {254 ,31 }, {255 ,27 }, {255 ,22 }, {255 ,18 }, {256 ,13 }, {256 ,9 }, {256 ,4 }, {256 ,0 }, {256 ,-4 }, {256 ,-9 }, {256 ,-13 }, {255 ,-18 }, {255 ,-22 }, {255 ,-27 }, {254 ,-31 }, {254 ,-36 }, {253 ,-40 }, {252 ,-44 }, {251 ,-49 }, {250 ,-53 }, {249 ,-58 }, {248 ,-62 }, {247 ,-66 }, {246 ,-71 }, {245 ,-75 }, {243 ,-79 }, {242 ,-83 }, {241 ,-88 }, {239 ,-92 }, {237 ,-96 }, {236 ,-100 }, {234 ,-104 }, {232 ,-108 }, {230 ,-112 }, {228 ,-116 }, {226 ,-120 }, {224 ,-124 }, {222 ,-128 }, {219 ,-132 }, {217 ,-136 }, {215 ,-139 }, {212 ,-143 }, {210 ,-147 }, {207 ,-150 }, {204 ,-154 }, {202 ,-158 }, {199 ,-161 }, {196 ,-165 }, {193 ,-168 }, {190 ,-171 }, {187 ,-175 }, {184 ,-178 }, {181 ,-181 }, {178 ,-184 }, {175 ,-187 }, {171 ,-190 }, {168 ,-193 }, {165 ,-196 }, {161 ,-199 }, {158 ,-202 }, {154 ,-204 }, {150 ,-207 }, {147 ,-210 }, {143 ,-212 }, {139 ,-215 }, {136 ,-217 }, {132 ,-219 }, {128 ,-222 }, {124 ,-224 }, {120 ,-226 }, {116 ,-228 }, {112 ,-230 }, {108 ,-232 }, {104 ,-234 }, {100 ,-236 }, {96 ,-237 }, {92 ,-239 }, {88 ,-241 }, {83 ,-242 }, {79 ,-243 }, {75 ,-245 }, {71 ,-246 }, {66 ,-247 }, {62 ,-248 }, {58 ,-249 }, {53 ,-250 }, {49 ,-251 }, {44 ,-252 }, {40 ,-253 }, {36 ,-254 }, {31 ,-254 }, {27 ,-255 }, {22 ,-255 }, {18 ,-255 }, {13 ,-256 }, {9 ,-256 }, {4 ,-256 }, {0 ,-256 }, {-4 ,-256 }, {-9 ,-256 }, {-13 ,-256 }, {-18 ,-255 }, {-22 ,-255 }, {-27 ,-255 }, {-31 ,-254 }, {-36 ,-254 }, {-40 ,-253 }, {-44 ,-252 }, {-49 ,-251 }, {-53 ,-250 }, {-58 ,-249 }, {-62 ,-248 }, {-66 ,-247 }, {-71 ,-246 }, {-75 ,-245 }, {-79 ,-243 }, {-83 ,-242 }, {-88 ,-241 }, {-92 ,-239 }, {-96 ,-237 }, {-100 ,-236 }, {-104 ,-234 }, {-108 ,-232 }, {-112 ,-230 }, {-116 ,-228 }, {-120 ,-226 }, {-124 ,-224 }, {-128 ,-222 }, {-132 ,-219 }, {-136 ,-217 }, {-139 ,-215 }, {-143 ,-212 }, {-147 ,-210 }, {-150 ,-207 }, {-154 ,-204 }, {-158 ,-202 }, {-161 ,-199 }, {-165 ,-196 }, {-168 ,-193 }, {-171 ,-190 }, {-175 ,-187 }, {-178 ,-184 }, {-181 ,-181 }, {-184 ,-178 }, {-187 ,-175 }, {-190 ,-171 }, {-193 ,-168 }, {-196 ,-165 }, {-199 ,-161 }, {-202 ,-158 }, {-204 ,-154 }, {-207 ,-150 }, {-210 ,-147 }, {-212 ,-143 }, {-215 ,-139 }, {-217 ,-136 }, {-219 ,-132 }, {-222 ,-128 }, {-224 ,-124 }, {-226 ,-120 }, {-228 ,-116 }, {-230 ,-112 }, {-232 ,-108 }, {-234 ,-104 }, {-236 ,-100 }, {-237 ,-96 }, {-239 ,-92 }, {-241 ,-88 }, {-242 ,-83 }, {-243 ,-79 }, {-245 ,-75 }, {-246 ,-71 }, {-247 ,-66 }, {-248 ,-62 }, {-249 ,-58 }, {-250 ,-53 }, {-251 ,-49 }, {-252 ,-44 }, {-253 ,-40 }, {-254 ,-36 }, {-254 ,-31 }, {-255 ,-27 }, {-255 ,-22 }, {-255 ,-18 }, {-256 ,-13 }, {-256 ,-9 }, {-256 ,-4 }, {-256 ,0 }, {-256 ,4 }, {-256 ,9 }, {-256 ,13 }, {-255 ,18 }, {-255 ,22 }, {-255 ,27 }, {-254 ,31 }, {-254 ,36 }, {-253 ,40 }, {-252 ,44 }, {-251 ,49 }, {-250 ,53 }, {-249 ,58 }, {-248 ,62 }, {-247 ,66 }, {-246 ,71 }, {-245 ,75 }, {-243 ,79 }, {-242 ,83 }, {-241 ,88 }, {-239 ,92 }, {-237 ,96 }, {-236 ,100 }, {-234 ,104 }, {-232 ,108 }, {-230 ,112 }, {-228 ,116 }, {-226 ,120 }, {-224 ,124 }, {-222 ,128 }, {-219 ,132 }, {-217 ,136 }, {-215 ,139 }, {-212 ,143 }, {-210 ,147 }, {-207 ,150 }, {-204 ,154 }, {-202 ,158 }, {-199 ,161 }, {-196 ,165 }, {-193 ,168 }, {-190 ,171 }, {-187 ,175 }, {-184 ,178 }, {-181 ,181 }, {-178 ,184 }, {-175 ,187 }, {-171 ,190 }, {-168 ,193 }, {-165 ,196 }, {-161 ,199 }, {-158 ,202 }, {-154 ,204 }, {-150 ,207 }, {-147 ,210 }, {-143 ,212 }, {-139 ,215 }, {-136 ,217 }, {-132 ,219 }, {-128 ,222 }, {-124 ,224 }, {-120 ,226 }, {-116 ,228 }, {-112 ,230 }, {-108 ,232 }, {-104 ,234 }, {-100 ,236 }, {-96 ,237 }, {-92 ,239 }, {-88 ,241 }, {-83 ,242 }, {-79 ,243 }, {-75 ,245 }, {-71 ,246 }, {-66 ,247 }, {-62 ,248 }, {-58 ,249 }, {-53 ,250 }, {-49 ,251 }, {-44 ,252 }, {-40 ,253 }, {-36 ,254 }, {-31 ,254 }, {-27 ,255 }, {-22 ,255 }, {-18 ,255 }, {-13 ,256 }, {-9 ,256 }, {-4 ,256 }, }; const INT32 COLOR_LUTABLE[512]= { 0x0, 0x20000, 0x40000, 0x5fc00, 0x7f800, 0xa0000, 0xc0000, 0xe0000, 0x7f, 0x1f878, 0x3fc6f, 0x5f86e, 0x7f871, 0xa007c, 0xc0080, 0xe0080, 0xfc, 0x1f0ee, 0x3f4ed, 0x5f8f1, 0x7fcf7, 0xa00ff, 0xc0100, 0xe0100, 0x17a, 0x1ed6f, 0x3f170, 0x5f976, 0x7fd7b, 0xa0180, 0xc0180, 0xe0180, 0x208, 0x1ea08, 0x3f208, 0x5fa08, 0x80200, 0xa0200, 0xc0200, 0xe0200, 0x280, 0x1fe80, 0x3fe80, 0x60280, 0x80280, 0xa0280, 0xc0280, 0xe0280, 0x300, 0x20300, 0x40300, 0x60300, 0x80300, 0xa0300, 0xc0300, 0xe0300, 0x380, 0x20380, 0x40380, 0x60380, 0x80380, 0xa0380, 0xc0380, 0xe0380, 0x8000000, 0x801fc00, 0x803f800, 0x805c800, 0x807ac00, 0x80a2000, 0x80c4800, 0x80e0c00, 0x800007a, 0x801c027, 0x803c800, 0x8059800, 0x807a000, 0x80ab43d, 0x80d805a, 0x80ec06e, 0x80000d8, 0x801543d, 0x8037030, 0x805b861, 0x807d89d, 0x80afcda, 0x80dbcd6, 0x80f80dd, 0x8000144, 0x80128ca, 0x8034cd7, 0x805b516, 0x8080d49, 0x80ac968, 0x80d5d60, 0x80fb159, 0x8000208, 0x8010608, 0x8032e08, 0x8059e08, 0x8080200, 0x80aa1f2, 0x80d41e4, 0x80fbdd9, 0x8000292, 0x801a6b3, 0x803caab, 0x805f296, 0x8080689, 0x80a6a7d, 0x80d5a67, 0x80fe259, 0xb400309, 0xb40f74c, 0xb438b48, 0x806031a, 0x9a7231e, 0x9a85f14, 0x9ab0f04, 0x9aea6f2, 0xb40038e, 0xb410bd0, 0xb438bde, 0x805fb9e, 0x9a723b3, 0x9a853a8, 0x9aa6b9d, 0x9ad8794, 0x10000000, 0x1001fc00, 0x1003f400, 0x1005b000, 0x10078800, 0x100a8000, 0x100cd800, 0x100e2400, 0x10000078, 0x1001a000, 0x1003ac00, 0x10056c00, 0x10078000, 0x100c4400, 0x100ffc0c, 0x100ffc49, 0x100000c5, 0x10010800, 0x10033000, 0x1005981a, 0x1007f06c, 0x100d04a0, 0x100ffc81, 0x100ffc95, 0x10000129, 0x1000c479, 0x1002fc8c, 0x100590e6, 0x1008512b, 0x100c653f, 0x100ffd20, 0x100ffd09, 0x10000208, 0x10008208, 0x1002b208, 0x10056208, 0x10080200, 0xffbba22, 0xfff71f5, 0xfefa20b, 0x100002b5, 0x10011f1b, 0x10037f03, 0x1005e2c2, 0x1008169f, 0xffb2b1d, 0xfffa2d3, 0xfefa312, 0x1680031c, 0x1680e3a8, 0x16839f9b, 0x1005ff4e, 0x13472745, 0x133893d4, 0x133cafbd, 0x132ec3d1, 0x16800391, 0x16811bf3, 0x1683d3ff, 0x1005e7da, 0x134727eb, 0x133853ff, 0x133a8bff, 0x132db3ff, 0x18000000, 0x1801fc00, 0x1803f400, 0x1805b000, 0x18078800, 0x180a8800, 0x180ce400, 0x180e2800, 0x18000078, 0x1801a000, 0x1803ac00, 0x18056c00, 0x18078400, 0x17fc6c00, 0x17fffc04, 0x180ffc46, 0x180000c5, 0x18010800, 0x17f33000, 0x17f5981a, 0x1807f46c, 0x17fd3c9b, 0x17fffc78, 0x17fffc8d, 0x18000129, 0x17f0c479, 0x17f2fc8c, 0x17f590e6, 0x17f8592a, 0x17fc913b, 0x17fffd19, 0x17fffd01, 0x17f00208, 0x17f07e08, 0x17f2ae08, 0x17f56208, 0x18080200, 0x17ebde21, 0x17efa1f0, 0x17dfa202, 0x180002b9, 0x18011325, 0x1803770c, 0x1805dec6, 0x17f77ea2, 0x17eab326, 0x17df5f51, 0x17cf5f88, 0x1e80031e, 0x1e80dfb1, 0x1e839fa3, 0x1805ff53, 0x1b368b49, 0x1b2817e4, 0x1b2c17ff, 0x1b0d9bff, 0x1e800391, 0x1e811bf7, 0x1e83dfff, 0x1805e3e0, 0x1b4727f1, 0x1b3863ff, 0x1b3aa3ff, 0x1b2dbbff, 0x20000000, 0x2001fc00, 0x1ff3f400, 0x1fd5b000, 0x1fb78800, 0x1fda8800, 0x1fece400, 0x200e2800, 0x20000078, 0x1fd1a000, 0x1fa3ac00, 0x1f856c00, 0x1f978400, 0x1f7c6c00, 0x1f4ffc04, 0x1faffc46, 0x1ff000c5, 0x1fa10800, 0x1f833000, 0x1f75981a, 0x1f97f46c, 0x1f4d3c9b, 0x1efffc78, 0x1f3ffc8d, 0x1fd00129, 0x1f90c479, 0x1f72fc8c, 0x1f7590e6, 0x1f68592a, 0x1f1c913b, 0x1efffd19, 0x1f0ffd01, 0x1fa00208, 0x1f807e08, 0x1f52ae08, 0x1f656208, 0x20080200, 0x1f1bde21, 0x1eefa1f0, 0x1eefa202, 0x1fd002b9, 0x1fa11325, 0x1fb3770c, 0x1fd5dec6, 0x1fe77ea2, 0x1f8ab326, 0x1eff5f51, 0x1edf5f88, 0x2330031e, 0x2320dfb1, 0x23339fa3, 0x2005ff53, 0x21968b49, 0x217817e4, 0x212c17ff, 0x20cd9bff, 0x23400391, 0x23411bf7, 0x2343dfff, 0x2005e3e0, 0x21a727f1, 0x219863ff, 0x218aa3ff, 0x216dbbff, 0x28000000, 0x2801fc00, 0x27d3f400, 0x2785b000, 0x27378800, 0x279a8800, 0x27ace400, 0x27fe2800, 0x28000078, 0x2781a000, 0x26e3ac00, 0x26a56c00, 0x26b78400, 0x268c6c00, 0x25effc04, 0x270ffc46, 0x27d000c5, 0x26e10800, 0x26833000, 0x2685981a, 0x26b7f46c, 0x25dd3c9b, 0x250ffc78, 0x25cffc8d, 0x27900129, 0x26d0c479, 0x2682fc8c, 0x268590e6, 0x2658592a, 0x255c913b, 0x250ffd19, 0x254ffd01, 0x27300208, 0x26d07e08, 0x2662ae08, 0x26956208, 0x28080200, 0x256bde21, 0x24ffa1f0, 0x250fa202, 0x279002b9, 0x27011325, 0x2723770c, 0x2795dec6, 0x27d81ea3, 0x26eb5327, 0x256fa2d3, 0x252fa30a, 0x27e00323, 0x27b1df92, 0x27f41f84, 0x2805ff53, 0x28080b3f, 0x27da77da, 0x26eecfcd, 0x260fa3c8, 0x28000384, 0x28021bb8, 0x280417e3, 0x2805e3e0, 0x280807da, 0x27fa17ff, 0x27dc5bff, 0x278ecfff, 0x30000000, 0x2ff1fc00, 0x2fb3f400, 0x2f25b000, 0x2ea78800, 0x2f4a5800, 0x2f7ca000, 0x2fee1c00, 0x2ff00078, 0x2f31a000, 0x2e23ac00, 0x2db56c00, 0x2dd77800, 0x2d8ba40f, 0x2c8f5c2b, 0x2e5fac58, 0x2fb000c5, 0x2e210800, 0x2d833000, 0x2d85981a, 0x2de7dc6f, 0x2c6c38b5, 0x2b1fdca2, 0x2c5ffcb1, 0x2f500129, 0x2e10c479, 0x2d82fc8c, 0x2d8590e6, 0x2d38312e, 0x2b9bc54f, 0x2b0f0539, 0x2b6ffd28, 0x2ec00208, 0x2e307e08, 0x2d72ae08, 0x2dc56208, 0x30080200, 0x2bcb6de5, 0x2b0ecdc2, 0x2b3ffda8, 0x2f5002b9, 0x2e511325, 0x2e93770c, 0x2f55dec6, 0x2fc816a3, 0x2e3b2299, 0x2bcf1e58, 0x2b6ffe2a, 0x2fc00323, 0x2f71df92, 0x2fe41f84, 0x3005ff53, 0x30080b3f, 0x2fda9b46, 0x2e3e6b45, 0x2ceffedd, 0x30000384, 0x30021bb8, 0x300417e3, 0x3005e3e0, 0x300807da, 0x300a5bc9, 0x2fdcffe3, 0x2f5f279e, 0x38000000, 0x37f1fc00, 0x3793f800, 0x36e5c800, 0x3637ac00, 0x3709fc00, 0x373c1000, 0x37ee0400, 0x37f0007a, 0x36e1c027, 0x3593c800, 0x34f59800, 0x35279800, 0x349a184e, 0x331c5078, 0x35be287c, 0x379000d8, 0x3591543d, 0x34b37030, 0x34b5b861, 0x3527c89f, 0x32fa30ef, 0x311c5cf7, 0x32de50f9, 0x37100144, 0x356118ca, 0x34b340d7, 0x34b5ad16, 0x3427e94d, 0x31da2978, 0x310c4979, 0x319e5d78, 0x36500208, 0x35908e08, 0x3492c608, 0x34f56e08, 0x38080200, 0x321a2a00, 0x310c45fa, 0x314e5df8, 0x371002b9, 0x35b11325, 0x35f3770c, 0x3715dec6, 0x37a80aa2, 0x357a4a9d, 0x320c5e87, 0x319e6678, 0x37b00323, 0x3741df92, 0x37d41f84, 0x3805ff53, 0x3808073e, 0x37ca5f39, 0x357cab41, 0x33ae730c, 0x38000384, 0x38021bb8, 0x380417e3, 0x3805e3e0, 0x380807da, 0x380a4fc2, 0x37cc93c8, 0x371e4f9d, }; const UINT16 LUT17x17DefAngle[17][17] = //[u][v] { {225, 221, 217, 212, 207, 201, 194, 187, 180, 173, 166, 159, 153, 148, 143, 139, 135, }, {229, 225, 221, 216, 210, 203, 196, 188, 180, 172, 164, 157, 150, 144, 139, 135, 131, }, {233, 229, 225, 220, 214, 207, 198, 189, 180, 171, 162, 153, 146, 140, 135, 131, 127, }, {238, 234, 230, 225, 219, 211, 202, 191, 180, 169, 158, 149, 141, 135, 130, 126, 122, }, {243, 240, 236, 231, 225, 217, 207, 194, 180, 166, 153, 143, 135, 129, 124, 120, 117, }, {249, 247, 243, 239, 233, 225, 214, 198, 180, 162, 146, 135, 127, 121, 117, 113, 111, }, {256, 254, 252, 248, 243, 236, 225, 207, 180, 153, 135, 124, 117, 112, 108, 106, 104, }, {263, 262, 261, 259, 256, 252, 243, 225, 180, 135, 117, 108, 104, 101, 99, 98, 97, }, {270, 270, 270, 270, 270, 270, 270, 270, 0, 90, 90, 90, 90, 90, 90, 90, 90, }, {277, 278, 279, 281, 284, 288, 297, 315, 0, 45, 63, 72, 76, 79, 81, 82, 83, }, {284, 286, 288, 292, 297, 304, 315, 333, 0, 27, 45, 56, 63, 68, 72, 74, 76, }, {291, 293, 297, 301, 307, 315, 326, 342, 0, 18, 34, 45, 53, 59, 63, 67, 69, }, {297, 300, 304, 309, 315, 323, 333, 346, 0, 14, 27, 37, 45, 51, 56, 60, 63, }, {302, 306, 310, 315, 321, 329, 338, 349, 0, 11, 22, 31, 39, 45, 50, 54, 58, }, {307, 311, 315, 320, 326, 333, 342, 351, 0, 9, 18, 27, 34, 40, 45, 49, 53, }, {311, 315, 319, 324, 330, 337, 344, 352, 0, 8, 16, 23, 30, 36, 41, 45, 49, }, {315, 319, 323, 328, 333, 339, 346, 353, 0, 7, 14, 21, 27, 32, 37, 41, 45, }, }; const UINT16 LUT17x17DefSat[17][17] = //[u][v] { {181, 170, 160, 151, 143, 137, 132, 129, 128, 129, 132, 137, 143, 151, 160, 170, 181, }, {170, 158, 148, 138, 129, 122, 116, 113, 112, 113, 116, 122, 129, 138, 148, 158, 170, }, {160, 148, 136, 125, 115, 107, 101, 97, 96, 97, 101, 107, 115, 125, 136, 148, 160, }, {151, 138, 125, 113, 102, 93, 86, 82, 80, 82, 86, 93, 102, 113, 125, 138, 151, }, {143, 129, 115, 102, 91, 80, 72, 66, 64, 66, 72, 80, 91, 102, 115, 129, 143, }, {137, 122, 107, 93, 80, 68, 58, 51, 48, 51, 58, 68, 80, 93, 107, 122, 137, }, {132, 116, 101, 86, 72, 58, 45, 36, 32, 36, 45, 58, 72, 86, 101, 116, 132, }, {129, 113, 97, 82, 66, 51, 36, 23, 16, 23, 36, 51, 66, 82, 97, 113, 129, }, {128, 112, 96, 80, 64, 48, 32, 16, 0, 16, 32, 48, 64, 80, 96, 112, 128, }, {129, 113, 97, 82, 66, 51, 36, 23, 16, 23, 36, 51, 66, 82, 97, 113, 129, }, {132, 116, 101, 86, 72, 58, 45, 36, 32, 36, 45, 58, 72, 86, 101, 116, 132, }, {137, 122, 107, 93, 80, 68, 58, 51, 48, 51, 58, 68, 80, 93, 107, 122, 137, }, {143, 129, 115, 102, 91, 80, 72, 66, 64, 66, 72, 80, 91, 102, 115, 129, 143, }, {151, 138, 125, 113, 102, 93, 86, 82, 80, 82, 86, 93, 102, 113, 125, 138, 151, }, {160, 148, 136, 125, 115, 107, 101, 97, 96, 97, 101, 107, 115, 125, 136, 148, 160, }, {170, 158, 148, 138, 129, 122, 116, 113, 112, 113, 116, 122, 129, 138, 148, 158, 170, }, {181, 170, 160, 151, 143, 137, 132, 129, 128, 129, 132, 137, 143, 151, 160, 170, 181, }, }; //#ifdef VIP_SW_DC #if 1 ST_SWDC_Param SWDC_Param[]= { {1, 255, {358, 154, 307, 205, 282, 282 },{190, 200, 230, 512, 512 },200, {128, 128, 128, 128 },256, 256 } }; ST_SWDC_Slope SWDC_HistSlop[] = { { { //ATV {175, 193, 191, 189, 189, 175, 163, 149, 135, 123, 109, 97, 83, 69, 57, 43 }, {77, 167, 209, 197, 187, 173, 149, 131, 119, 113, 109, 105, 101, 95, 91, 87 }, {103, 149, 199, 215, 199, 187, 175, 161, 149, 137, 125, 111, 99, 87, 75, 61 }, {59, 101, 157, 193, 219, 239, 215, 205, 197, 187, 177, 161, 141, 129, 105, 75 }, {187, 135, 127, 151, 203, 253, 253, 193, 155, 123, 115, 107, 99, 91, 83, 75 }, {97, 145, 169, 197, 209, 227, 233, 199, 189, 191, 189, 187, 147, 139, 133, 125 }, {125, 139, 155, 145, 153, 161, 185, 251, 203, 179, 153, 127, 101, 77, 51, 25 }, {39, 71, 81, 113, 157, 177, 193, 205, 193, 181, 167, 153, 133, 105, 93, 81 }, {61, 89, 109, 139, 155, 167, 177, 189, 175, 163, 151, 139, 125, 113, 101, 87 }, {83, 93, 103, 117, 125, 137, 147, 159, 169, 187, 197, 183, 167, 147, 125, 107 }, {105, 105, 105, 115, 119, 125, 129, 133, 139, 143, 149, 189, 179, 171, 159, 151 }, {57, 103, 145, 181, 157, 123, 93, 105, 147, 167, 173, 169, 149, 133, 109, 93 }, {93, 93, 93, 99, 105, 109, 115, 119, 125, 133, 149, 159, 181, 205, 213, 221 }, {57, 119, 181, 231, 173, 133, 115, 109, 103, 107, 115, 125, 155, 151, 131, 103 }, {81, 103, 177, 209, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143, 143 }, {47, 77, 123, 147, 127, 107, 99, 99, 99, 111, 131, 151, 195, 223, 211, 161 }, {57, 119, 181, 231, 173, 133, 129, 133, 147, 159, 155, 129, 105, 97, 83, 75 }, {47, 77, 123, 147, 121, 105, 113, 137, 177, 219, 219, 171, 135, 121, 105, 95 }, {57, 103, 177, 209, 149, 103, 109, 125, 163, 195, 195, 151, 109, 101, 83, 75 }, {35, 67, 99, 145, 193, 231, 209, 169, 127, 107, 105, 109, 111, 135, 147, 117 }, {35, 59, 83, 113, 143, 159, 139, 131, 113, 111, 121, 133, 153, 209, 227, 175 }, {35, 67, 99, 141, 183, 209, 165, 143, 99, 89, 93, 109, 123, 179, 209, 159 }, {83, 125, 195, 207, 213, 223, 215, 207, 201, 179, 165, 143, 107, 93, 77, 53 }, {85, 105, 133, 173, 207, 209, 187, 169, 157, 141, 127, 117, 101, 91, 83, 75 }, {103, 133, 151, 165, 183, 197, 203, 199, 189, 177, 165, 153, 135, 85, 51, 23 }, {55, 87, 137, 155, 165, 173, 175, 171, 179, 189, 193, 187, 167, 161, 85, 39 }, {89, 127, 153, 177, 181, 181, 157, 145, 121, 101, 113, 141, 159, 191, 157, 133 }, {51, 83, 133, 175, 201, 199, 171, 147, 123, 103, 107, 119, 129, 141, 121, 105 }, {57, 103, 145, 181, 157, 123, 93, 105, 147, 167, 173, 169, 149, 133, 109, 93 }, {47, 77, 107, 133, 131, 117, 105, 113, 135, 149, 161, 179, 197, 189, 149, 123 }, {131, 141, 149, 157, 167, 175, 183, 157, 149, 143, 129, 117, 111, 105, 95, 89 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {57, 103, 145, 181, 157, 123, 93, 105, 147, 167, 173, 169, 149, 133, 109, 93 }, {47, 77, 107, 133, 131, 117, 105, 113, 135, 149, 161, 179, 197, 189, 149, 123 }, {131, 141, 149, 157, 167, 175, 183, 157, 149, 143, 129, 117, 111, 105, 95, 89 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, } }, }; ST_SWDC_Chroma SWDC_HistChroma[] = { { { //ATV {191, 187, 183, 179, 175, 171, 167, 163, 159, 155, 151, 147, 143, 139, 135, 131 }, {157, 157, 157, 157, 157, 163, 165, 175, 177, 179, 180, 181, 183, 167, 149, 131 }, {143, 157, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165 }, {167, 177, 185, 193, 189, 183, 179, 173, 167, 163, 157, 153, 147, 141, 141, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {159, 165, 173, 179, 187, 193, 201, 193, 181, 187, 195, 201, 155, 147, 139, 131 }, {153, 157, 163, 155, 145, 137, 137, 135, 135, 135, 135, 135, 135, 133, 133, 133 }, {169, 175, 181, 187, 181, 169, 163, 171, 149, 149, 149, 149, 149, 149, 149, 149 }, {191, 191, 191, 191, 185, 181, 175, 171, 165, 161, 157, 151, 147, 141, 137, 131 }, {67, 95, 121, 147, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {189, 191, 189, 185, 181, 179, 175, 173, 169, 165, 163, 159, 157, 153, 149, 147 }, {183, 183, 183, 183, 183, 183, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 141, 149, 159, 167, 177, 185, 195, 187, 179, 179, 179, 179, 179, 179, 179 }, {149, 153, 157, 163, 167, 173, 177, 179, 181, 183, 185, 187, 187, 187, 187, 187 }, {199, 193, 187, 177, 175, 171, 167, 163, 159, 155, 151, 147, 143, 139, 135, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, {131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131 }, } } }; #endif #ifdef NEW_COEFFICIENT UINT32 V_SCALING_UP[99]={ 0x00000289, 0x0AF802AB, 0xFFD50000, 0x00000267, 0x0AF602CE, 0xFFD60000, 0x00000246, 0x0AF202F2, 0xFFD60000, 0x00000227, 0x0AEC0317, 0xFFD70000, 0x00000208, 0x0AE6033C, 0xFFD70000, 0x000001EA, 0x0ADD0362, 0xFFD80000, 0x000001CD, 0x0AD30389, 0xFFD80000, 0x000001B0, 0x0AC703B1, 0xFFD80000, 0x00000195, 0x0ABA03D9, 0xFFD90000, 0x0000017B, 0x0AAB0402, 0xFFD90000, 0x00000162, 0x0A9A042B, 0xFFD90000, 0x00000149, 0x0A890455, 0xFFDA0000, 0x00000132, 0x0A75047F, 0xFFDA0000, 0x0000011B, 0x0A6004AA, 0xFFDB0000, 0x00000106, 0x0A4A04D5, 0xFFDB0000, 0x000000F1, 0x0A320501, 0xFFDC0000, 0x000000DD, 0x0A19052D, 0xFFDD0000, 0x000000CB, 0x09FF0559, 0xFFDE0000, 0x000000B9, 0x09E30586, 0xFFDF0000, 0x000000A8, 0x09C605B2, 0xFFE10000, 0x00000098, 0x09A805DF, 0xFFE20000, 0x00000088, 0x0988060C, 0xFFE40000, 0x0000007A, 0x09680638, 0xFFE70000, 0x0000006C, 0x09460665, 0xFFE90000, 0x0000005F, 0x09230692, 0xFFEC0000, 0x00000053, 0x08FF06BE, 0xFFEF0000, 0x00000048, 0x08DB06EB, 0xFFF30000, 0x0000003D, 0x08B50717, 0xFFF70000, 0x00000033, 0x088F0743, 0xFFFC0000, 0x0000002A, 0x0867076E, 0x00000000, 0x00000022, 0x083F0799, 0x00060000, 0x0000001A, 0x081707C3, 0x000C0000, 0x00000013, 0x07ED07ED, 0x00130000, }; UINT32 V_SCALING_100_110[99]={ 0x00000289, 0x0AF802AB, 0xFFD50000, 0x00000267, 0x0AF602CE, 0xFFD60000, 0x00000246, 0x0AF202F2, 0xFFD60000, 0x00000227, 0x0AEC0317, 0xFFD70000, 0x00000208, 0x0AE6033C, 0xFFD70000, 0x000001EA, 0x0ADD0362, 0xFFD80000, 0x000001CD, 0x0AD30389, 0xFFD80000, 0x000001B0, 0x0AC703B1, 0xFFD80000, 0x00000195, 0x0ABA03D9, 0xFFD90000, 0x0000017B, 0x0AAB0402, 0xFFD90000, 0x00000162, 0x0A9A042B, 0xFFD90000, 0x00000149, 0x0A890455, 0xFFDA0000, 0x00000132, 0x0A75047F, 0xFFDA0000, 0x0000011B, 0x0A6004AA, 0xFFDB0000, 0x00000106, 0x0A4A04D5, 0xFFDB0000, 0x000000F1, 0x0A320501, 0xFFDC0000, 0x000000DD, 0x0A19052D, 0xFFDD0000, 0x000000CB, 0x09FF0559, 0xFFDE0000, 0x000000B9, 0x09E30586, 0xFFDF0000, 0x000000A8, 0x09C605B2, 0xFFE10000, 0x00000098, 0x09A805DF, 0xFFE20000, 0x00000088, 0x0988060C, 0xFFE40000, 0x0000007A, 0x09680638, 0xFFE70000, 0x0000006C, 0x09460665, 0xFFE90000, 0x0000005F, 0x09230692, 0xFFEC0000, 0x00000053, 0x08FF06BE, 0xFFEF0000, 0x00000048, 0x08DB06EB, 0xFFF30000, 0x0000003D, 0x08B50717, 0xFFF70000, 0x00000033, 0x088F0743, 0xFFFC0000, 0x0000002A, 0x0867076E, 0x00000000, 0x00000022, 0x083F0799, 0x00060000, 0x0000001A, 0x081707C3, 0x000C0000, 0x00000013, 0x07ED07ED, 0x00130000, }; UINT32 V_SCALING_110_120[99]={ 0x000002CE, 0x0A6102EF, 0xFFE20000, 0x000002AE, 0x0A5F0311, 0xFFE30000, 0x0000028F, 0x0A5B0333, 0xFFE40000, 0x00000270, 0x0A570355, 0xFFE50000, 0x00000252, 0x0A500378, 0xFFE60000, 0x00000234, 0x0A49039C, 0xFFE70000, 0x00000218, 0x0A4003C1, 0xFFE80000, 0x000001FC, 0x0A3603E5, 0xFFE90000, 0x000001E1, 0x0A2B040B, 0xFFEA0000, 0x000001C7, 0x0A1E0431, 0xFFEB0000, 0x000001AE, 0x0A100457, 0xFFEC0000, 0x00000195, 0x0A00047E, 0xFFEE0000, 0x0000017D, 0x09EF04A5, 0xFFEF0000, 0x00000166, 0x09DD04CC, 0xFFF10000, 0x00000150, 0x09CA04F3, 0xFFF20000, 0x0000013B, 0x09B6051B, 0xFFF40000, 0x00000127, 0x09A00543, 0xFFF60000, 0x00000113, 0x0989056C, 0xFFF90000, 0x00000100, 0x09710594, 0xFFFB0000, 0x000000EE, 0x095805BC, 0xFFFE0000, 0x000000DD, 0x093E05E5, 0x00010000, 0x000000CC, 0x0923060D, 0x00040000, 0x000000BC, 0x09060635, 0x00080000, 0x000000AD, 0x08E9065E, 0x000C0000, 0x0000009F, 0x08CB0686, 0x00100000, 0x00000091, 0x08AC06AE, 0x00150000, 0x00000084, 0x088C06D5, 0x001B0000, 0x00000078, 0x086B06FD, 0x00210000, 0x0000006D, 0x08490724, 0x00270000, 0x00000062, 0x0827074A, 0x002E0000, 0x00000058, 0x08030770, 0x00350000, 0x0000004E, 0x07DF0796, 0x003D0000, 0x00000045, 0x07BB07BB, 0x00450000, }; UINT32 V_SCALING_120_130[99]={ 0x00000302, 0x09ED0322, 0xFFF00000, 0x000002E3, 0x09EB0341, 0xFFF10000, 0x000002C5, 0x09E70362, 0xFFF30000, 0x000002A7, 0x09E30383, 0xFFF40000, 0x00000289, 0x09DE03A4, 0xFFF60000, 0x0000026D, 0x09D703C6, 0xFFF70000, 0x00000251, 0x09CF03E8, 0xFFF80000, 0x00000236, 0x09C6040B, 0xFFFA0000, 0x0000021B, 0x09BC042E, 0xFFFC0000, 0x00000201, 0x09B10451, 0xFFFD0000, 0x000001E8, 0x09A40475, 0xFFFF0000, 0x000001D0, 0x09960499, 0x00010000, 0x000001B8, 0x098804BD, 0x00030000, 0x000001A1, 0x097804E2, 0x00050000, 0x0000018B, 0x09670507, 0x00080000, 0x00000175, 0x0955052B, 0x000B0000, 0x00000160, 0x09420550, 0x000E0000, 0x0000014C, 0x092D0576, 0x00110000, 0x00000139, 0x0918059B, 0x00150000, 0x00000126, 0x090205C0, 0x00180000, 0x00000114, 0x08EB05E5, 0x001D0000, 0x00000103, 0x08D2060A, 0x00210000, 0x000000F2, 0x08B9062F, 0x00260000, 0x000000E2, 0x089F0654, 0x002B0000, 0x000000D3, 0x08840678, 0x00310000, 0x000000C4, 0x0868069C, 0x00370000, 0x000000B6, 0x084C06C0, 0x003E0000, 0x000000A9, 0x082E06E4, 0x00450000, 0x0000009C, 0x08100707, 0x004C0000, 0x00000090, 0x07F1072A, 0x00540000, 0x00000085, 0x07D1074D, 0x005D0000, 0x0000007A, 0x07B1076F, 0x00660000, 0x00000070, 0x07900790, 0x00700000, }; UINT32 V_SCALING_130_140[99]={ 0x00000329, 0x09910348, 0xFFFE0000, 0x0000030B, 0x098F0366, 0xFFFF0000, 0x000002EE, 0x098C0385, 0x00010000, 0x000002D1, 0x098803A5, 0x00020000, 0x000002B4, 0x098303C4, 0x00040000, 0x00000299, 0x097D03E4, 0x00060000, 0x0000027D, 0x09760405, 0x00080000, 0x00000263, 0x096E0426, 0x00090000, 0x00000249, 0x09650447, 0x000C0000, 0x0000022F, 0x095B0469, 0x000E0000, 0x00000216, 0x094F048A, 0x00100000, 0x000001FE, 0x094304AC, 0x00130000, 0x000001E6, 0x093604CE, 0x00150000, 0x000001CF, 0x092704F1, 0x00180000, 0x000001B9, 0x09180513, 0x001C0000, 0x000001A3, 0x09080536, 0x001F0000, 0x0000018E, 0x08F60558, 0x00230000, 0x0000017A, 0x08E4057B, 0x00270000, 0x00000166, 0x08D1059D, 0x002B0000, 0x00000153, 0x08BD05C0, 0x00300000, 0x00000141, 0x08A805E2, 0x00350000, 0x0000012F, 0x08920605, 0x003B0000, 0x0000011E, 0x087B0627, 0x00400000, 0x0000010D, 0x08630649, 0x00470000, 0x000000FD, 0x084B066B, 0x004D0000, 0x000000EE, 0x0831068C, 0x00540000, 0x000000DF, 0x081706AD, 0x005C0000, 0x000000D1, 0x07FD06CE, 0x00640000, 0x000000C4, 0x07E106EF, 0x006C0000, 0x000000B7, 0x07C5070F, 0x00750000, 0x000000AA, 0x07A8072F, 0x007F0000, 0x0000009F, 0x078A074E, 0x00890000, 0x00000094, 0x076C076C, 0x00940000, }; UINT32 V_SCALING_140_150[99]={ 0x00000348, 0x09480365, 0x000B0000, 0x0000032B, 0x09460382, 0x000D0000, 0x0000030E, 0x094303A0, 0x000E0000, 0x000002F2, 0x094003BE, 0x00100000, 0x000002D6, 0x093B03DD, 0x00120000, 0x000002BB, 0x093603FC, 0x00140000, 0x000002A0, 0x092F041B, 0x00160000, 0x00000286, 0x0928043A, 0x00180000, 0x0000026D, 0x091F045A, 0x001B0000, 0x00000253, 0x0916047A, 0x001D0000, 0x0000023B, 0x090B049A, 0x00200000, 0x00000223, 0x090004BA, 0x00230000, 0x0000020C, 0x08F404DA, 0x00260000, 0x000001F5, 0x08E704FB, 0x002A0000, 0x000001DE, 0x08D9051B, 0x002D0000, 0x000001C9, 0x08CA053C, 0x00310000, 0x000001B4, 0x08BA055D, 0x00360000, 0x0000019F, 0x08A9057D, 0x003A0000, 0x0000018B, 0x0898059E, 0x003F0000, 0x00000178, 0x088505BE, 0x00450000, 0x00000165, 0x087205DF, 0x004B0000, 0x00000153, 0x085D05FF, 0x00510000, 0x00000141, 0x0848061F, 0x00570000, 0x00000130, 0x0833063F, 0x005E0000, 0x00000120, 0x081C065E, 0x00660000, 0x00000110, 0x0805067E, 0x006D0000, 0x00000101, 0x07ED069D, 0x00760000, 0x000000F2, 0x07D406BB, 0x007E0000, 0x000000E4, 0x07BA06DA, 0x00880000, 0x000000D7, 0x07A006F7, 0x00910000, 0x000000CA, 0x07850715, 0x009C0000, 0x000000BE, 0x076A0732, 0x00A60000, 0x000000B2, 0x074E074E, 0x00B20000, }; UINT32 V_SCALING_150_160[99]={ 0x00000360, 0x090D037C, 0x00180000, 0x00000343, 0x090B0399, 0x00190000, 0x00000328, 0x090803B5, 0x001B0000, 0x0000030C, 0x090503D3, 0x001D0000, 0x000002F1, 0x090103F0, 0x001E0000, 0x000002D6, 0x08FB040E, 0x00210000, 0x000002BC, 0x08F5042C, 0x00230000, 0x000002A3, 0x08EE044A, 0x00250000, 0x00000289, 0x08E70468, 0x00280000, 0x00000271, 0x08DE0487, 0x002B0000, 0x00000259, 0x08D404A5, 0x002E0000, 0x00000241, 0x08CA04C4, 0x00310000, 0x0000022A, 0x08BF04E3, 0x00350000, 0x00000213, 0x08B20502, 0x00390000, 0x000001FD, 0x08A50521, 0x003D0000, 0x000001E7, 0x08970540, 0x00410000, 0x000001D2, 0x0889055F, 0x00460000, 0x000001BE, 0x0879057E, 0x004B0000, 0x000001AA, 0x0869059D, 0x00510000, 0x00000196, 0x085705BC, 0x00570000, 0x00000183, 0x084505DA, 0x005D0000, 0x00000171, 0x083205F9, 0x00640000, 0x0000015F, 0x081F0617, 0x006B0000, 0x0000014E, 0x080A0635, 0x00720000, 0x0000013D, 0x07F50653, 0x007A0000, 0x0000012D, 0x07E00671, 0x00830000, 0x0000011D, 0x07C9068E, 0x008C0000, 0x0000010E, 0x07B206AB, 0x00950000, 0x00000100, 0x079A06C7, 0x009F0000, 0x000000F2, 0x078206E3, 0x00A90000, 0x000000E4, 0x076906FF, 0x00B40000, 0x000000D7, 0x074F071A, 0x00BF0000, 0x000000CB, 0x07350735, 0x00CB0000, }; UINT32 V_SCALING_160_170[99]={ 0x00000373, 0x08DC038F, 0x00230000, 0x00000357, 0x08DA03AA, 0x00240000, 0x0000033C, 0x08D803C6, 0x00260000, 0x00000321, 0x08D403E3, 0x00280000, 0x00000307, 0x08D003FF, 0x002A0000, 0x000002ED, 0x08CC041C, 0x002C0000, 0x000002D3, 0x08C60439, 0x002E0000, 0x000002BA, 0x08BF0456, 0x00310000, 0x000002A1, 0x08B80473, 0x00340000, 0x00000289, 0x08B00490, 0x00370000, 0x00000271, 0x08A704AE, 0x003A0000, 0x00000259, 0x089D04CC, 0x003E0000, 0x00000242, 0x089204E9, 0x00420000, 0x0000022C, 0x08870507, 0x00460000, 0x00000216, 0x087B0525, 0x004B0000, 0x00000200, 0x086E0543, 0x004F0000, 0x000001EB, 0x08600560, 0x00550000, 0x000001D7, 0x0851057E, 0x005A0000, 0x000001C3, 0x0842059C, 0x00600000, 0x000001AF, 0x083105B9, 0x00660000, 0x0000019C, 0x082005D6, 0x006D0000, 0x0000018A, 0x080F05F3, 0x00740000, 0x00000178, 0x07FC0610, 0x007C0000, 0x00000166, 0x07E9062D, 0x00840000, 0x00000155, 0x07D50649, 0x008C0000, 0x00000145, 0x07C10665, 0x00950000, 0x00000135, 0x07AB0681, 0x009E0000, 0x00000126, 0x0796069C, 0x00A80000, 0x00000117, 0x077F06B8, 0x00B30000, 0x00000108, 0x076806D2, 0x00BD0000, 0x000000FB, 0x075006EC, 0x00C90000, 0x000000ED, 0x07380706, 0x00D40000, 0x000000E1, 0x071F071F, 0x00E10000, }; UINT32 V_SCALING_170_180[99]={ 0x00000383, 0x08B3039E, 0x002D0000, 0x00000368, 0x08B103B9, 0x002E0000, 0x0000034D, 0x08AF03D4, 0x00300000, 0x00000333, 0x08AC03EF, 0x00320000, 0x00000319, 0x08A8040B, 0x00340000, 0x000002FF, 0x08A40427, 0x00360000, 0x000002E6, 0x089E0443, 0x00390000, 0x000002CD, 0x0898045F, 0x003B0000, 0x000002B5, 0x0891047C, 0x003E0000, 0x0000029D, 0x088A0498, 0x00420000, 0x00000285, 0x088104B5, 0x00450000, 0x0000026E, 0x087804D2, 0x00490000, 0x00000257, 0x086E04EE, 0x004D0000, 0x00000241, 0x0863050B, 0x00520000, 0x0000022B, 0x08570528, 0x00560000, 0x00000215, 0x084B0544, 0x005C0000, 0x00000200, 0x083E0561, 0x00610000, 0x000001EC, 0x0830057D, 0x00670000, 0x000001D8, 0x0821059A, 0x006D0000, 0x000001C4, 0x081205B6, 0x00740000, 0x000001B1, 0x080205D2, 0x007B0000, 0x0000019F, 0x07F105EE, 0x00830000, 0x0000018D, 0x07DF060A, 0x008B0000, 0x0000017B, 0x07CD0625, 0x00930000, 0x0000016A, 0x07BA0640, 0x009C0000, 0x00000159, 0x07A7065B, 0x00A50000, 0x00000149, 0x07920676, 0x00AF0000, 0x00000139, 0x077E0690, 0x00B90000, 0x0000012A, 0x076806AA, 0x00C40000, 0x0000011C, 0x075206C3, 0x00CF0000, 0x0000010E, 0x073C06DC, 0x00DA0000, 0x00000100, 0x072506F5, 0x00E60000, 0x000000F3, 0x070D070D, 0x00F30000, }; UINT32 V_SCALING_180_190[99]={ 0x00000390, 0x089103AA, 0x00360000, 0x00000375, 0x088F03C4, 0x00370000, 0x0000035B, 0x088D03DF, 0x00390000, 0x00000341, 0x088A03FA, 0x003B0000, 0x00000328, 0x08870415, 0x003D0000, 0x0000030E, 0x08820430, 0x003F0000, 0x000002F6, 0x087D044C, 0x00420000, 0x000002DD, 0x08770467, 0x00440000, 0x000002C5, 0x08710483, 0x00480000, 0x000002AD, 0x0869049E, 0x004B0000, 0x00000296, 0x086104BA, 0x004F0000, 0x0000027F, 0x085804D6, 0x00530000, 0x00000268, 0x084F04F2, 0x00570000, 0x00000252, 0x0844050E, 0x005C0000, 0x0000023C, 0x0839052A, 0x00610000, 0x00000227, 0x082D0545, 0x00660000, 0x00000212, 0x08210561, 0x006C0000, 0x000001FE, 0x0814057D, 0x00720000, 0x000001EA, 0x08060598, 0x00790000, 0x000001D6, 0x07F705B3, 0x00800000, 0x000001C3, 0x07E705CE, 0x00870000, 0x000001B0, 0x07D705E9, 0x008F0000, 0x0000019E, 0x07C70604, 0x00970000, 0x0000018C, 0x07B5061F, 0x00A00000, 0x0000017B, 0x07A30639, 0x00A90000, 0x0000016A, 0x07900653, 0x00B30000, 0x0000015A, 0x077D066C, 0x00BD0000, 0x0000014A, 0x07690685, 0x00C70000, 0x0000013B, 0x0755069E, 0x00D20000, 0x0000012C, 0x074006B7, 0x00DE0000, 0x0000011E, 0x072A06CF, 0x00E90000, 0x00000110, 0x071406E6, 0x00F60000, 0x00000103, 0x06FD06FD, 0x01030000, }; UINT32 V_SCALING_190_200[99]={ 0x0000039A, 0x087403B4, 0x003E0000, 0x00000380, 0x087203CE, 0x003F0000, 0x00000367, 0x087003E8, 0x00410000, 0x0000034D, 0x086D0403, 0x00430000, 0x00000334, 0x086A041D, 0x00450000, 0x0000031B, 0x08660438, 0x00470000, 0x00000303, 0x08610453, 0x004A0000, 0x000002EB, 0x085B046E, 0x004D0000, 0x000002D3, 0x08550488, 0x00500000, 0x000002BB, 0x084E04A4, 0x00530000, 0x000002A4, 0x084604BF, 0x00570000, 0x0000028D, 0x083E04DA, 0x005B0000, 0x00000277, 0x083404F5, 0x00600000, 0x00000261, 0x082A0510, 0x00650000, 0x0000024B, 0x0820052B, 0x006A0000, 0x00000236, 0x08140546, 0x00700000, 0x00000221, 0x08080561, 0x00760000, 0x0000020D, 0x07FC057C, 0x007C0000, 0x000001F9, 0x07EE0596, 0x00830000, 0x000001E5, 0x07E005B1, 0x008A0000, 0x000001D2, 0x07D105CB, 0x00920000, 0x000001BF, 0x07C205E5, 0x009A0000, 0x000001AD, 0x07B205FF, 0x00A20000, 0x0000019B, 0x07A10619, 0x00AB0000, 0x0000018A, 0x078F0632, 0x00B50000, 0x00000179, 0x077D064B, 0x00BE0000, 0x00000169, 0x076B0664, 0x00C90000, 0x00000159, 0x0758067C, 0x00D40000, 0x00000149, 0x07440694, 0x00DF0000, 0x0000013A, 0x073006AB, 0x00EA0000, 0x0000012C, 0x071B06C3, 0x00F70000, 0x0000011E, 0x070606D9, 0x01030000, 0x00000110, 0x06F006F0, 0x01100000, }; UINT32 V_SCALING_200_250[99]={ 0x000003BD, 0x081403D5, 0x005B0000, 0x000003A4, 0x081203ED, 0x005C0000, 0x0000038C, 0x08110406, 0x005D0000, 0x00000374, 0x080F041E, 0x005F0000, 0x0000035C, 0x080C0437, 0x00610000, 0x00000345, 0x0808044F, 0x00640000, 0x0000032E, 0x08040468, 0x00660000, 0x00000316, 0x07FF0481, 0x006A0000, 0x00000300, 0x07FA049A, 0x006D0000, 0x000002E9, 0x07F404B2, 0x00710000, 0x000002D3, 0x07ED04CB, 0x00750000, 0x000002BD, 0x07E504E4, 0x007A0000, 0x000002A7, 0x07DD04FD, 0x007F0000, 0x00000292, 0x07D50515, 0x00840000, 0x0000027C, 0x07CC052E, 0x008A0000, 0x00000268, 0x07C20546, 0x00910000, 0x00000253, 0x07B7055E, 0x00970000, 0x0000023F, 0x07AC0576, 0x009E0000, 0x0000022B, 0x07A0058E, 0x00A60000, 0x00000218, 0x079405A6, 0x00AE0000, 0x00000205, 0x078705BE, 0x00B60000, 0x000001F2, 0x077A05D5, 0x00BF0000, 0x000001E0, 0x076C05EC, 0x00C90000, 0x000001CE, 0x075D0603, 0x00D20000, 0x000001BC, 0x074E061A, 0x00DD0000, 0x000001AB, 0x073E0630, 0x00E70000, 0x0000019A, 0x072E0646, 0x00F20000, 0x0000018A, 0x071D065B, 0x00FE0000, 0x0000017A, 0x070C0671, 0x010A0000, 0x0000016A, 0x06FA0685, 0x01160000, 0x0000015B, 0x06E8069A, 0x01230000, 0x0000014D, 0x06D506AE, 0x01310000, 0x0000013E, 0x06C206C2, 0x013E0000, }; UINT32 V_SCALING_250_300[99]={ 0x000003CE, 0x07E003E5, 0x006C0000, 0x000003B7, 0x07DF03FD, 0x006D0000, 0x0000039F, 0x07DE0414, 0x006E0000, 0x00000388, 0x07DC042C, 0x00700000, 0x00000371, 0x07D90443, 0x00720000, 0x0000035B, 0x07D6045B, 0x00750000, 0x00000344, 0x07D20473, 0x00770000, 0x0000032D, 0x07CE048A, 0x007B0000, 0x00000317, 0x07C904A2, 0x007E0000, 0x00000301, 0x07C304B9, 0x00820000, 0x000002EB, 0x07BD04D1, 0x00870000, 0x000002D6, 0x07B604E8, 0x008C0000, 0x000002C1, 0x07AF0500, 0x00910000, 0x000002AB, 0x07A70517, 0x00970000, 0x00000297, 0x079E052E, 0x009D0000, 0x00000282, 0x07950545, 0x00A40000, 0x0000026E, 0x078C055C, 0x00AB0000, 0x0000025A, 0x07810573, 0x00B20000, 0x00000246, 0x07760589, 0x00BA0000, 0x00000233, 0x076B059F, 0x00C30000, 0x00000220, 0x075F05B6, 0x00CB0000, 0x0000020D, 0x075305CB, 0x00D50000, 0x000001FB, 0x074605E1, 0x00DE0000, 0x000001E9, 0x073805F6, 0x00E90000, 0x000001D7, 0x072A060C, 0x00F30000, 0x000001C6, 0x071B0620, 0x00FE0000, 0x000001B5, 0x070C0635, 0x010A0000, 0x000001A5, 0x06FD0649, 0x01160000, 0x00000194, 0x06ED065D, 0x01220000, 0x00000185, 0x06DC0670, 0x012F0000, 0x00000175, 0x06CB0683, 0x013C0000, 0x00000166, 0x06BA0696, 0x014A0000, 0x00000158, 0x06A806A8, 0x01580000, }; UINT32 V_SCALING_300_350[99]={ 0x000003D8, 0x07C103EF, 0x00770000, 0x000003C1, 0x07C10406, 0x00780000, 0x000003AB, 0x07BF041D, 0x00790000, 0x00000394, 0x07BD0434, 0x007B0000, 0x0000037E, 0x07BB044B, 0x007D0000, 0x00000367, 0x07B80461, 0x007F0000, 0x00000351, 0x07B40478, 0x00820000, 0x0000033B, 0x07B0048F, 0x00850000, 0x00000325, 0x07AB04A6, 0x00890000, 0x00000310, 0x07A604BD, 0x008D0000, 0x000002FA, 0x07A004D4, 0x00920000, 0x000002E5, 0x079A04EA, 0x00970000, 0x000002D0, 0x07930501, 0x009C0000, 0x000002BB, 0x078B0518, 0x00A20000, 0x000002A6, 0x0783052E, 0x00A90000, 0x00000292, 0x077B0544, 0x00AF0000, 0x0000027E, 0x0771055A, 0x00B70000, 0x0000026A, 0x07680570, 0x00BE0000, 0x00000256, 0x075D0586, 0x00C70000, 0x00000243, 0x0752059B, 0x00CF0000, 0x00000230, 0x074705B0, 0x00D80000, 0x0000021E, 0x073B05C5, 0x00E20000, 0x0000020B, 0x072F05DA, 0x00EC0000, 0x000001F9, 0x072205EF, 0x00F60000, 0x000001E8, 0x07150603, 0x01010000, 0x000001D6, 0x07070617, 0x010C0000, 0x000001C5, 0x06F8062A, 0x01180000, 0x000001B5, 0x06E9063E, 0x01240000, 0x000001A5, 0x06DA0650, 0x01310000, 0x00000195, 0x06CA0663, 0x013E0000, 0x00000185, 0x06BA0675, 0x014B0000, 0x00000176, 0x06AA0687, 0x01590000, 0x00000167, 0x06990699, 0x01670000, }; UINT32 V_SCALING_350_400[99]={ 0x000003DF, 0x07AD03F5, 0x007F0000, 0x000003C8, 0x07AD040C, 0x007F0000, 0x000003B2, 0x07AC0422, 0x00800000, 0x0000039C, 0x07AA0439, 0x00820000, 0x00000385, 0x07A7044F, 0x00840000, 0x0000036F, 0x07A50466, 0x00860000, 0x0000035A, 0x07A1047C, 0x00890000, 0x00000344, 0x079D0493, 0x008D0000, 0x0000032E, 0x079904A9, 0x00900000, 0x00000319, 0x079404BF, 0x00940000, 0x00000303, 0x078E04D6, 0x00990000, 0x000002EE, 0x078804EC, 0x009E0000, 0x000002D9, 0x07810502, 0x00A40000, 0x000002C5, 0x077A0518, 0x00AA0000, 0x000002B0, 0x0772052E, 0x00B00000, 0x0000029C, 0x07690543, 0x00B70000, 0x00000288, 0x07600559, 0x00BF0000, 0x00000274, 0x0757056E, 0x00C70000, 0x00000261, 0x074D0583, 0x00CF0000, 0x0000024E, 0x07430598, 0x00D80000, 0x0000023B, 0x073805AD, 0x00E10000, 0x00000228, 0x072C05C1, 0x00EA0000, 0x00000216, 0x072005D5, 0x00F50000, 0x00000204, 0x071405E9, 0x00FF0000, 0x000001F2, 0x070705FD, 0x010A0000, 0x000001E1, 0x06F90610, 0x01160000, 0x000001D0, 0x06EB0623, 0x01220000, 0x000001BF, 0x06DD0636, 0x012E0000, 0x000001AF, 0x06CE0648, 0x013B0000, 0x0000019F, 0x06BF065A, 0x01480000, 0x00000190, 0x06AF066C, 0x01550000, 0x00000180, 0x069F067D, 0x01630000, 0x00000172, 0x068E068E, 0x01720000, }; #endif