好文档 - 专业文书写作范文服务资料分享网站

z i g z a g 压 缩 算 法( 2 0 2 0) 

天下 分享 时间: 加入收藏 我要投稿 点赞

纯C实现的JPEG压缩算法

【现场实操恋爱视频】【扣:10⒈б.x.⒐526】 #include stdio.htypedef?unsigned

unsigned unsigned

int?UINT32;typedef?int?INT32;typedef short?UINT16;typedef

short?INT16;typedef

char?UINT8;typedef char?INT8;#define CLIP(color) (unsigned char)(((color)0xFF)?0xff:(((color)0)?0:(color)))#define?BLOCK_SIZE?64? typedef struct JPEG_ENCODER_STRUCTURE{?UINT16 mcu_width;?UINT16 mcu_height;?UINT16 horizontal_mcus;?UINT16 vertical_mcus;?UINT16 cols_in_right_mcus;?UINT16 length_minus_width;?UINT16 offset;?INT16

ldc1;?INT16

rows_in_bottom_mcus;?UINT16 length_minus_mcu_width;?UINT16

mcu_width_size;?UINT16 ldc2;?INT16

ldc3;?UINT16

rows;?UINT16 cols;?UINT16 incr;} JPEG_ENCODER_STRUCTURE; UINT8?Lqt[BLOCK_SIZE];UINT8?Cqt[BLOCK_SIZE];UINT16?ILqt[BLOCK_SIZE];UINT16?ICqt[BLOCK_SIZE];INT16?Y1[BLOCK_SIZE];INT16?Y2[BLOCK_SIZE];INT16?Y3[BLOCK_SIZE];INT16?Y4[BLOCK_SIZE];INT16?CB[BLOCK_SIZE];INT16?CR[BLOCK_SIZE];INT16?Temp[BLOCK_SIZE];INT32?lcode;UINT16?bitindex;static

UINT8

zigzag_table[] = {?0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12, 17,25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32, 39, 45, 52,54, 20, 22, 33, 38, 46, 51,

55, 60, 21, 34, 37, 47, 50, 56, 59, 61, 35, 36,48, 49, 57, 58, 62, 63 };-- Header for JPEG Encoderstatic UINT16 markerdata[] = { ? -- dht? 0xFFC4, 0x1A2, 0x00, ? -- luminance dc (2 - 16) + 1? 0x0105, 0x0101, 0x00101, 0x0101, 0x0000, 0x00000, 00000, 00000, ? -- luminance dc (2 - 12) + 1? 0x0102, 0x0304, 0x0506, 0x0708, 0x090A, 0x0B01, ? -- chrominance dc (1 - 16)? 0x0003, 0x0101, 0x0101, 0x0101, 0x0101, 0x0100, 0x0000, 0x0000, ? -- chrominance dc (1 - 12)? 0x0001, 0x00203, 0x0405, 0x0607, 0x0809, 0x00A0B, ? -- luminance ac 1 + (1 - 15)? 0x1000, 0x0201, 0x0303, 0x0204, 0x0305, 0x0504, 0x0400, 0x0001, ? -- luminance ac 1 + (1 - 162) + 1? 0x7D01, 0x0203, 0x0004, 0x1105, 0x1221, 0x3141, 0x0613, 0x5161, 0x0722,? 0x7114, 0x3281, 0x91A1, 0x0823, 0x42B1, 0xC115, 0x52D1, 0xF024, 0x3362,? 0x7282, 0x090A, 0x1617, 0x1819, 0x1A25, 0x2627, 0x2829, 0x2A34, 0x3536,? 0x3738, 0x393A, 0x4344, 0x4546, 0x4748, 0x494A, 0x5354, 0x5556, 0x5758,? 0x595A, 0x6364, 0x6566, 0x6768, 0x696A, 0x7374, 0x7576, 0x7778, 0x797A,? 0x8384, 0x8586, 0x8788, 0x898A, 0x9293, 0x9495, 0x9697, 0x9899, 0x9AA2,? 0xA3A4, 0xA5A6, 0xA7A8, 0xA9AA, 0xB2B3, 0xB4B5, 0xB6B7, 0xB8B9, 0xBAC2,? 0xC3C4, 0xC5C6, 0xC7C8, 0xC9CA, 0xD2D3, 0xD4D5, 0xD6D7, 0xD8D9, 0xDAE1,? 0xE2E3, 0xE4E5, 0xE6E7, 0xE8E9, 0xEAF1, 0xF2F3, 0xF4F5, 0xF6F7, 0xF8F9,? 0xFA11, ? --

chrominance ac (1 - 16)? 0x0002, 0x0102, 0x0404, 0x0304, 0x0705, 0x0404, 0x0001, 0x0277, ? -- chrominance ac (1 - 162)?0x0001, 0x0203, 0x1104, 0x0521, 0x3106, 0x1241, 0x5107, 0x6171, 0x1322,? 0x3281, 0x0814, 0x4291, 0xA1B1, 0xC109, 0x2333, 0x52F0, 0x1562, 0x72D1,? 0x0A16, 0x2434, 0xE125, 0xF117, 0x1819, 0x1A26, 0x2728, 0x292A, 0x3536,? 0x3738, 0x393A, 0x4344, 0x4546, 0x4748, 0x494A, 0x5354, 0x5556, 0x5758,? 0x595A, 0x6364, 0x6566, 0x6768, 0x696A, 0x7374, 0x7576, 0x7778, 0x797A,? 0x8283, 0x8485, 0x8687, 0x8889, 0x8A92, 0x9394, 0x9596, 0x9798, 0x999A,? 0xA2A3, 0xA4A5, 0xA6A7, 0xA8A9, 0xAAB2, 0xB3B4, 0xB5B6, 0xB7B8, 0xB9BA,? 0xC2C3, 0xC4C5, 0xC6C7, 0xC8C9, 0xCAD2, 0xD3D4, 0xD5D6, 0xD7D8, 0xD9DA,? 0xE2E3, 0xE4E5, 0xE6E7, 0xE8E9, 0xEAF2, 0xF3F4, 0xF5F6, 0xF7F8, 0xF9FA };UINT8 bitsize[] = {? 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5,? 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,? 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7,? 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,? 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,? 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,? 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,? 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,

8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,? 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,? 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,? 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,? 8, 8};UINT16 luminance_dc_code_table[] = {?0x0000, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x000E, 0x001E, 0x003E,0x007E, 0x00FE, 0x01FE};UINT16 luminance_dc_size_table[] = {?0x0002, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0004, 0x0005, 0x0006,?0x0007,

0x0008,

0x0009};UINT16

chrominance_dc_code_table[] = {?0x0000, 0x0001, 0x0002, 0x0006, 0x000E, 0x001E, 0x003E, 0x007E, 0x00FE,?0x01FE, 0x03FE, 0x07FE};UINT16 chrominance_dc_size_table[] = {?0x0002, 0x0002, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008,?0x0009, 0x000A, 0x000B };

UINT16 luminance_ac_code_table[] = {? 0x000A, 0x0000, 0x0001, 0x0004, 0x000B, 0x001A, 0x0078, 0x00F8, 0x03F6,? 0xFF82, 0xFF83, 0x000C, 0x001B, 0x0079, 0x01F6, 0x07F6, 0xFF84, 0xFF85,? 0xFF86, 0xFF87, 0xFF88, 0x001C, 0x00F9, 0x03F7, 0x0FF4, 0xFF89, 0xFF8A,? 0xFF8b, 0xFF8C, 0xFF8D, 0xFF8E, 0x003A, 0x01F7, 0x0FF5, 0xFF8F, 0xFF90,? 0xFF91, 0xFF92, 0xFF93, 0xFF94, 0xFF95, 0x003B, 0x03F8, 0xFF96, 0xFF97,? 0xFF98, 0xFF99, 0xFF9A, 0xFF9B, 0xFF9C, 0xFF9D, 0x007A, 0x07F7,

0xFF9E,? 0xFF9F, 0xFFA0, 0xFFA1, 0xFFA2, 0xFFA3, 0xFFA4, 0xFFA5, 0x007B, 0x0FF6,? 0xFFA6, 0xFFA7, 0xFFA8, 0xFFA9, 0xFFAA, 0xFFAB, 0xFFAC, 0xFFAD, 0x00FA,? 0x0FF7, 0xFFAE, 0xFFAF, 0xFFB0, 0xFFB1, 0xFFB2, 0xFFB3, 0xFFB4, 0xFFB5,? 0x01F8, 0x7FC0, 0xFFB6, 0xFFB7, 0xFFB8, 0xFFB9, 0xFFBA, 0xFFBB, 0xFFBC,? 0xFFBD, 0x01F9, 0xFFBE, 0xFFBF, 0xFFC0, 0xFFC1, 0xFFC2, 0xFFC3, 0xFFC4,? 0xFFC5, 0xFFC6, 0x01FA, 0xFFC7, 0xFFC8, 0xFFC9, 0xFFCA, 0xFFCB, 0xFFCC,? 0xFFCD, 0xFFCE, 0xFFCF, 0x03F9, 0xFFD0, 0xFFD1, 0xFFD2, 0xFFD3, 0xFFD4,? 0xFFD5, 0xFFD6, 0xFFD7, 0xFFD8, 0x03FA, 0xFFD9, 0xFFDA, 0xFFDB, 0xFFDC,? 0xFFDD, 0xFFDE, 0xFFDF, 0xFFE0, 0xFFE1, 0x07F8, 0xFFE2, 0xFFE3, 0xFFE4,? 0xFFE5, 0xFFE6, 0xFFE7, 0xFFE8, 0xFFE9, 0xFFEA, 0xFFEB, 0xFFEC, 0xFFED,? 0xFFEE, 0xFFEF, 0xFFF0, 0xFFF1, 0xFFF2, 0xFFF3, 0xFFF4, 0xFFF5, 0xFFF6,? 0xFFF7, 0xFFF8, 0xFFF9, 0xFFFA, 0xFFFB, 0xFFFC, 0xFFFD, 0xFFFE,? 0x07F9};UINT16 luminance_ac_size_table[] = {? 0x0004, 0x0002, 0x0002, 0x0003, 0x0004, 0x0005, 0x0007, 0x0008, 0x000A,? 0x0010, 0x0010, 0x0004, 0x0005, 0x0007, 0x0009, 0x000B, 0x0010, 0x0010,? 0x0010, 0x0010, 0x0010, 0x0005, 0x0008, 0x000A, 0x000C, 0x0010, 0x0010,? 0x0010, 0x0010, 0x0010, 0x0010, 0x0006, 0x0009, 0x000C, 0x0010, 0x0010,? 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0006, 0x000A, 0x0010,

z i g z a g 压 缩 算 法( 2 0 2 0) 

纯C实现的JPEG压缩算法【现场实操恋爱视频】【扣:10⒈б.x.⒐526】#includestdio.htypedef?unsignedunsignedunsignedint?UINT32;typedef?int?INT32;typedefshort?UINT16;typedefshort?INT16;typedef
推荐度:
点击下载文档文档为doc格式
4qrhw3xvcy0a6ri16ozy38gut0xt46013rd
领取福利

微信扫码领取福利

微信扫码分享