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

📄 umc_dv_decoder_tables.cpp

📁 这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数就可以编译该代码.
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/*//              INTEL CORPORATION PROPRIETARY INFORMATION//  This software is supplied under the terms of a license  agreement or//  nondisclosure agreement with Intel Corporation and may not be copied//  or disclosed except in  accordance  with the terms of that agreement.//    Copyright (c) 2003-2005 Intel Corporation. All Rights Reserved.////*/#include "umc_dv_decoder.h"namespace UMC{enum{    ALING_VALUE                 = 16};#define SIZE_TABLE_A_DEQUANTIZE  (64 * 14 * sizeof(short int))#define INIT_A_D_E(num, zone0, zone1, zone2, zone3) \    lpBuffer[(num) * 64 + 0] = 1;                   \    lpBuffer[(num) * 64 + 1] = zone0;/*zone0;*/     \    lpBuffer[(num) * 64 + 2] = zone0;               \    lpBuffer[(num) * 64 + 3] = zone0;               \    lpBuffer[(num) * 64 + 4] = zone0;               \    lpBuffer[(num) * 64 + 5] = zone0;               \    lpBuffer[(num) * 64 + 6] = zone1;               \    lpBuffer[(num) * 64 + 7] = zone1;/*zone1;*/     \    lpBuffer[(num) * 64 + 8] = zone1;               \    lpBuffer[(num) * 64 + 9] = zone1;               \    lpBuffer[(num) * 64 + 10] = zone1;              \    lpBuffer[(num) * 64 + 11] = zone1;              \    lpBuffer[(num) * 64 + 12] = zone1;              \    lpBuffer[(num) * 64 + 13] = zone1;              \    lpBuffer[(num) * 64 + 14] = zone1;              \    lpBuffer[(num) * 64 + 15] = zone1;              \    lpBuffer[(num) * 64 + 16] = zone1;              \    lpBuffer[(num) * 64 + 17] = zone1;              \    lpBuffer[(num) * 64 + 18] = zone1;              \    lpBuffer[(num) * 64 + 19] = zone1;              \    lpBuffer[(num) * 64 + 20] = zone1;              \    lpBuffer[(num) * 64 + 21] = zone2;              \    lpBuffer[(num) * 64 + 22] = zone2;              \    lpBuffer[(num) * 64 + 23] = zone2;              \    lpBuffer[(num) * 64 + 24] = zone2;              \    lpBuffer[(num) * 64 + 25] = zone2;              \    lpBuffer[(num) * 64 + 26] = zone2;              \    lpBuffer[(num) * 64 + 27] = zone2;              \    lpBuffer[(num) * 64 + 28] = zone2;              \    lpBuffer[(num) * 64 + 29] = zone2;              \    lpBuffer[(num) * 64 + 30] = zone2;              \    lpBuffer[(num) * 64 + 31] = zone2;              \    lpBuffer[(num) * 64 + 32] = zone2;              \    lpBuffer[(num) * 64 + 33] = zone2;              \    lpBuffer[(num) * 64 + 34] = zone2;              \    lpBuffer[(num) * 64 + 35] = zone2;              \    lpBuffer[(num) * 64 + 36] = zone2;              \    lpBuffer[(num) * 64 + 37] = zone2;              \    lpBuffer[(num) * 64 + 38] = zone2;              \    lpBuffer[(num) * 64 + 39] = zone2;              \    lpBuffer[(num) * 64 + 40] = zone2;              \    lpBuffer[(num) * 64 + 41] = zone2;              \    lpBuffer[(num) * 64 + 42] = zone2;              \    lpBuffer[(num) * 64 + 43] = zone3;              \    lpBuffer[(num) * 64 + 44] = zone3;              \    lpBuffer[(num) * 64 + 45] = zone3;              \    lpBuffer[(num) * 64 + 46] = zone3;              \    lpBuffer[(num) * 64 + 47] = zone3;              \    lpBuffer[(num) * 64 + 48] = zone3;              \    lpBuffer[(num) * 64 + 49] = zone3;              \    lpBuffer[(num) * 64 + 50] = zone3;              \    lpBuffer[(num) * 64 + 51] = zone3;              \    lpBuffer[(num) * 64 + 52] = zone3;              \    lpBuffer[(num) * 64 + 53] = zone3;              \    lpBuffer[(num) * 64 + 54] = zone3;              \    lpBuffer[(num) * 64 + 55] = zone3;              \    lpBuffer[(num) * 64 + 56] = zone3;              \    lpBuffer[(num) * 64 + 57] = zone3;              \    lpBuffer[(num) * 64 + 58] = zone3;              \    lpBuffer[(num) * 64 + 59] = zone3;              \    lpBuffer[(num) * 64 + 60] = zone3;              \    lpBuffer[(num) * 64 + 61] = zone3;              \    lpBuffer[(num) * 64 + 62] = zone3;              \lpBuffer[(num) * 64 + 63] = zone3;#define _INTERNAL_CS1 0.980785  //cos(1*PI/16)#define _INTERNAL_CS2 0.923880  //cos(2*PI/16)#define _INTERNAL_CS3 0.831470  //cos(3*PI/16)#define _INTERNAL_CS4 0.707107  //cos(4*PI/16)#define _INTERNAL_CS5 0.555570  //cos(5*PI/16)#define _INTERNAL_CS6 0.382683  //cos(6*PI/16)#define _INTERNAL_CS7 0.195090  //cos(7*PI/16)#define _W0 (1.0000001)#define _W1 (_INTERNAL_CS4 / (4.0 * _INTERNAL_CS7 * _INTERNAL_CS2))#define _W2 (_INTERNAL_CS4 / (2.0 * _INTERNAL_CS6))#define _W3 (1.0 / (2.0 * _INTERNAL_CS5))#define _W4 (7.0 / 8.0)#define _W5 (_INTERNAL_CS4 / _INTERNAL_CS3)#define _W6 (_INTERNAL_CS4 / _INTERNAL_CS2)#define _W7 (_INTERNAL_CS4 / _INTERNAL_CS1)int DVVideoDecoder::dvTable1[] ={    9 ,    1,    9,    0, /* 1-bit codes */    0, /* 2-bit codes */    2, /* 3-bit codes */    0x00000000, 0, 1, 0x00000001, 0, -1,    3, /* 4-bit codes */    0x00000004, 0, 2, 0x00000005, 0, -2, 0x00000006, 100, 100,    6, /* 5-bit codes */    0x0000000e, 1, 1, 0x0000000f, 1, -1, 0x00000010, 0, 3, 0x00000011, 0, -3,    0x00000012, 0, 4, 0x00000013, 0, -4,    8, /* 6-bit codes */    0x00000028, 2, 1, 0x00000029, 2, -1, 0x0000002a, 1, 2, 0x0000002b, 1, -2,    0x0000002c, 0, 5, 0x0000002d, 0, -5, 0x0000002e, 0, 6, 0x0000002f, 0, -6,    8,// + 2, /* 7-bit codes */    0x00000060, 3, 1, 0x00000061, 3, -1, 0x00000062, 4, 1, 0x00000063, 4, -1,    0x00000064, 0, 7, 0x00000065, 0, -7, 0x00000066, 0, 8, 0x00000067, 0, -8,    //0x0000007e, IPPVC_ESCAPE_DV_RUN, IPPVC_ESCAPE_DV_RUN, 0x0000007f,IPPVC_ESCAPE_DV_AMP, IPPVC_ESCAPE_DV_AMP,    16, /* 8-bit codes */    0x000000d0, 5, 1, 0x000000d1, 5, -1, 0x000000d2, 6, 1, 0x000000d3, 6, -1,    0x000000d4, 2, 2, 0x000000d5, 2, -2, 0x000000d6, 1, 3, 0x000000d7, 1, -3,    0x000000d8, 1, 4, 0x000000d9, 1, -4, 0x000000da, 0, 9, 0x000000db, 0, -9,    0x000000dc, 0, 10,0x000000dd, 0, -10,0x000000de, 0, 11,0x000000df, 0, -11,    32, /* 9-bit codes */    0x000001c0, 7, 1, 0x000001c1, 7, -1, 0x000001c2, 8, 1, 0x000001c3, 8, -1,    0x000001c4, 9, 1, 0x000001c5, 9, -1, 0x000001c6, 10, 1,0x000001c7, 10, -1,    0x000001c8, 3, 2, 0x000001c9, 3, -2, 0x000001ca, 4, 2, 0x000001cb, 4, -2,    0x000001cc, 2, 3, 0x000001cd, 2, -3, 0x000001ce, 1, 5, 0x000001cf, 1, -5,    0x000001d0, 1, 6, 0x000001d1, 1, -6, 0x000001d2, 1, 7, 0x000001d3, 1, -7,    0x000001d4, 0, 12,0x000001d5, 0, -12,0x000001d6, 0, 13,0x000001d7, 0, -13,    0x000001d8, 0, 14,0x000001d9, 0, -14,0x000001da, 0, 15,0x000001db, 0, -15,    0x000001dc, 0, 16,0x000001dd, 0, -16,0x000001de, 0, 17,0x000001df, 0, -17,    -1 /* end of table */};int DVVideoDecoder::dvTable2[] ={    9 ,    1,    9,    0,  /* 1-bit codes */    0,  /* 2-bit codes */    0,  /* 3-bit codes */    0,  /* 4-bit codes */    0,  /* 5-bit codes */    32, /* 6-bit codes */    0x00000000, 11, 1, 0x00000001, 11, -1, 0x00000002, 12, 1, 0x00000003, 12, -1,    0x00000004, 13, 1, 0x00000005, 13, -1, 0x00000006, 14, 1, 0x00000007, 14, -1,    0x00000008, 5,  2, 0x00000009, 5 , -2, 0x0000000a, 6 , 2, 0x0000000b, 6 , -2,    0x0000000c, 3,  3, 0x0000000d, 3 , -3, 0x0000000e, 4 , 3, 0x0000000f, 4 , -3,    0x00000010, 2, 4 , 0x00000011, 2, -4 , 0x00000012, 2, 5 , 0x00000013, 2, -5,    0x00000014, 1, 8 , 0x00000015, 1, -8 , 0x00000016, 0, 18, 0x00000017, 0, -18,    0x00000018, 0, 19, 0x00000019, 0, -19, 0x0000001a, 0, 20, 0x0000001b, 0, -20,    0x0000001c, 0, 21, 0x0000001d, 0, -21, 0x0000001e, 0, 22, 0x0000001f, 0, -22,    16, /* 7-bit codes */    0x00000040, 5, 3, 0x00000041, 5, -3, 0x00000042, 3, 4, 0x00000043, 3, -4,    0x00000044, 3, 5, 0x00000045, 3, -5, 0x00000046, 2, 6, 0x00000047, 2, -6,    0x00000048, 1, 9, 0x00000049, 1, -9, 0x0000004a, 1,10, 0x0000004b, 1, -10,    0x0000004c, 1, 11,0x0000004d, 1, -11,0x0000004e, 0, 0, 0x0000004f, 1, 0,    16,  /* 8-bit codes */    0x000000a0, 6, 3, 0x000000a1, 6, -3, 0x000000a2, 4, 4, 0x000000a3, 4, -4,    0x000000a4, 3, 6, 0x000000a5, 3, -6, 0x000000a6, 1,12, 0x000000a7, 1,-12,    0x000000a8, 1,13, 0x000000a9, 1,-13, 0x000000aa, 1,14, 0x000000ab, 1,-14,    0x000000ac, 2, 0, 0x000000ad, 3, 0 , 0x000000ae, 4, 0, 0x000000af, 5, 0,    32+56 + 6 + 2,  /* 9-bit codes */    0x00000160, 7, 2,         0x00000161, 7, -2,         0x00000162, 8, 2,         0x00000163, 8, -2,    0x00000164, 9, 2,         0x00000165, 9, -2,         0x00000166, 10, 2,        0x00000167, 10, -2,    0x00000168, 7, 3,         0x00000169, 7, -3,         0x0000016a, 8, 3,         0x0000016b, 8, -3,    0x0000016c, 4, 5,         0x0000016d, 4, -5,         0x0000016e, 3, 7,         0x0000016f, 3, -7,    0x00000170, 2, 7,         0x00000171, 2, -7,         0x00000172, 2, 8,         0x00000173, 2, -8,    0x00000174, 2, 9,         0x00000175, 2, -9,         0x00000176, 2, 10,        0x00000177, 2, -10,    0x00000178, 2, 11,        0x00000179, 2, -11,        0x0000017a, 1, 15,        0x0000017b, 1, -15,    0x0000017c, 1, 16,        0x0000017d, 1, -16,        0x0000017e, 1, 17,        0x0000017f, 1, -17,    0x00000180 + 0  , 0 , 0,        0x00000180 + 1  , 0 , 0,    0x00000180 + 2  , 0 , 0 ,       0x00000180 + 3 , 0  , 0,        0x00000180 + 4  , 0 , 0,        0x00000180 + 5  , 0 , 0,//1    0x00000180 + 6  , 6 , 0 ,       0x00000180 + 7 , 7  , 0,        0x00000180 + 8  , 8 , 0,        0x00000180 + 9  , 9 , 0,//1    0x00000180 + 10, 10, 0,         0x00000180 + 11, 11, 0,         0x00000180 + 12, 12, 0,         0x00000180 + 13, 13, 0,//2    0x00000180 + 14, 14, 0,         0x00000180 + 15, 15, 0,         0x00000180 + 16, 16, 0,         0x00000180 + 17, 17, 0,//3    0x00000180 + 18, 18, 0,         0x00000180 + 19, 19, 0,         0x00000180 + 20, 20, 0,         0x00000180 + 21, 21, 0,//4    0x00000180 + 22, 22, 0,         0x00000180 + 23, 23, 0,         0x00000180 + 24, 24, 0,         0x00000180 + 25, 25, 0,//5    0x00000180 + 26, 26, 0,         0x00000180 + 27, 27, 0,         0x00000180 + 28, 28, 0,         0x00000180 + 29, 29, 0,//6    0x00000180 + 30, 30, 0,         0x00000180 + 31, 31, 0,         0x00000180 + 32, 32, 0,         0x00000180 + 33, 33, 0,//7    0x00000180 + 34, 34, 0,         0x00000180 + 35, 35, 0,         0x00000180 + 36, 36, 0,         0x00000180 + 37, 37, 0,//8    0x00000180 + 38, 38, 0,         0x00000180 + 39, 39, 0,         0x00000180 + 40, 40, 0,         0x00000180 + 41, 41, 0,//9    0x00000180 + 42, 42, 0,         0x00000180 + 43, 43, 0,         0x00000180 + 44, 44, 0,         0x00000180 + 45, 45, 0,//10

⌨️ 快捷键说明

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