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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? spcadecoder.c

?? 這是一個(gè)usb驅(qū)動(dòng)源代碼
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
/*******************************************************************************#	 	spcadecoder: Generic decoder for various input stream yyuv	## yuyv yuvy jpeg411 jpeg422 bayer rggb with gamma correct			## and various output palette rgb16 rgb24 rgb32 yuv420p				## various output size with crop feature						## 		Copyright (C) 2003 2004 2005 Michel Xhaard			## 		mxhaard@magic.fr						## 		Sonix Decompressor by Bertrik.Sikken. (C) 2004			## 		Pixart Decompressor by Bertrik.Sikken. Thomas Kaiser (C) 2005	## 		Spca561decoder (C) 2005 Andrzej Szombierski [qq@kuku.eu.org]	## This program is free software; you can redistribute it and/or modify		## it under the terms of the GNU General Public License as published by		## the Free Software Foundation; either version 2 of the License, or		## (at your option) any later version.						##										## This program is distributed in the hope that it will be useful,		## but WITHOUT ANY WARRANTY; without even the implied warranty of		## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the			## GNU General Public License for more details.					##										## You should have received a copy of the GNU General Public License		## along with this program; if not, write to the Free Software			## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA	#********************************************************************************/#ifndef __KERNEL__#include <stdio.h>#include <stdlib.h>#include <string.h>#else				/* __KERNEL__ */#include <linux/string.h>#endif				/* __KERNEL__ */#include "spcadecoder.h"#include "spcagamma.h"#define ISHIFT 11#define IFIX(a) ((long)((a) * (1 << ISHIFT) + .5))#define IMULT(a, b) (((a) * (b)) >> ISHIFT)#define ITOINT(a) ((a) >> ISHIFT)/* special markers */#define M_BADHUFF	-1#define ERR_NO_SOI 1#define ERR_NOT_8BIT 2#define ERR_HEIGHT_MISMATCH 3#define ERR_WIDTH_MISMATCH 4#define ERR_BAD_WIDTH_OR_HEIGHT 5#define ERR_TOO_MANY_COMPPS 6#define ERR_ILLEGAL_HV 7#define ERR_QUANT_TABLE_SELECTOR 8#define ERR_NOT_YCBCR_221111 9#define ERR_UNKNOWN_CID_IN_SCAN 10#define ERR_NOT_SEQUENTIAL_DCT 11#define ERR_WRONG_MARKER 12#define ERR_NO_EOI 13#define ERR_BAD_TABLES 14#define ERR_DEPTH_MISMATCH 15#define ERR_CORRUPTFRAME 16#define JPEGHEADER_LENGTH 589const unsigned char JPEGHeader[JPEGHEADER_LENGTH] = {    0xff, 0xd8, 0xff, 0xdb, 0x00, 0x84, 0x00, 0x06, 0x04, 0x05, 0x06,    0x05, 0x04, 0x06, 0x06, 0x05,    0x06, 0x07, 0x07, 0x06, 0x08, 0x0a, 0x10, 0x0a, 0x0a, 0x09, 0x09,    0x0a, 0x14, 0x0e, 0x0f, 0x0c,    0x10, 0x17, 0x14, 0x18, 0x18, 0x17, 0x14, 0x16, 0x16, 0x1a, 0x1d,    0x25, 0x1f, 0x1a, 0x1b, 0x23,    0x1c, 0x16, 0x16, 0x20, 0x2c, 0x20, 0x23, 0x26, 0x27, 0x29, 0x2a,    0x29, 0x19, 0x1f, 0x2d, 0x30,    0x2d, 0x28, 0x30, 0x25, 0x28, 0x29, 0x28, 0x01, 0x07, 0x07, 0x07,    0x0a, 0x08, 0x0a, 0x13, 0x0a,    0x0a, 0x13, 0x28, 0x1a, 0x16, 0x1a, 0x28, 0x28, 0x28, 0x28, 0x28,    0x28, 0x28, 0x28, 0x28, 0x28,    0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,    0x28, 0x28, 0x28, 0x28, 0x28,    0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,    0x28, 0x28, 0x28, 0x28, 0x28,    0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0xff, 0xc4, 0x01,    0xa2, 0x00, 0x00, 0x01, 0x05,    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x01, 0x02,    0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x01, 0x00,    0x03, 0x01, 0x01, 0x01, 0x01,    0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x01, 0x02, 0x03, 0x04, 0x05,    0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x10, 0x00, 0x02, 0x01, 0x03,    0x03, 0x02, 0x04, 0x03, 0x05,    0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7d, 0x01, 0x02, 0x03, 0x00,    0x04, 0x11, 0x05, 0x12, 0x21,    0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32,    0x81, 0x91, 0xa1, 0x08, 0x23,    0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0, 0x24, 0x33, 0x62, 0x72,    0x82, 0x09, 0x0a, 0x16, 0x17,    0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x34, 0x35,    0x36, 0x37, 0x38, 0x39, 0x3a,    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 0x55,    0x56, 0x57, 0x58, 0x59, 0x5a,    0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75,    0x76, 0x77, 0x78, 0x79, 0x7a,    0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94,    0x95, 0x96, 0x97, 0x98, 0x99,    0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2,    0xb3, 0xb4, 0xb5, 0xb6, 0xb7,    0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9,    0xca, 0xd2, 0xd3, 0xd4, 0xd5,    0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,    0xe7, 0xe8, 0xe9, 0xea, 0xf1,    0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0x11, 0x00,    0x02, 0x01, 0x02, 0x04, 0x04,    0x03, 0x04, 0x07, 0x05, 0x04, 0x04, 0x00, 0x01, 0x02, 0x77, 0x00,    0x01, 0x02, 0x03, 0x11, 0x04,    0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, 0x13,    0x22, 0x32, 0x81, 0x08, 0x14,    0x42, 0x91, 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, 0x15,    0x62, 0x72, 0xd1, 0x0a, 0x16,    0x24, 0x34, 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26, 0x27,    0x28, 0x29, 0x2a, 0x35, 0x36,    0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,    0x4a, 0x53, 0x54, 0x55, 0x56,    0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,    0x6a, 0x73, 0x74, 0x75, 0x76,    0x77, 0x78, 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,    0x89, 0x8a, 0x92, 0x93, 0x94,    0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,    0xa7, 0xa8, 0xa9, 0xaa, 0xb2,    0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4,    0xc5, 0xc6, 0xc7, 0xc8, 0xc9,    0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe2,    0xe3, 0xe4, 0xe5, 0xe6, 0xe7,    0xe8, 0xe9, 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9,    0xfa, 0xff, 0xc0, 0x00, 0x11,    0x08, 0x01, 0xe0, 0x02, 0x80, 0x03, 0x01, 0x21, 0x00, 0x02, 0x11,    0x01, 0x03, 0x11, 0x01, 0xff,    0xda, 0x00, 0x0c, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00,    0x3f, 0x00};#define GSMART_JPG_HUFFMAN_TABLE_LENGTH 0x1A0const unsigned char GsmartJPEGHuffmanTable[GSMART_JPG_HUFFMAN_TABLE_LENGTH]    = {    0x00, 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,    0x0A, 0x0B, 0x01, 0x00, 0x03,    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x01,    0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x10,    0x00, 0x02, 0x01, 0x03, 0x03,    0x02, 0x04, 0x03, 0x05, 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7D,    0x01, 0x02, 0x03, 0x00, 0x04,    0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,    0x22, 0x71, 0x14, 0x32, 0x81,    0x91, 0xA1, 0x08, 0x23, 0x42, 0xB1, 0xC1, 0x15, 0x52, 0xD1, 0xF0,    0x24, 0x33, 0x62, 0x72, 0x82,    0x09, 0x0A, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x25, 0x26, 0x27, 0x28,    0x29, 0x2A, 0x34, 0x35, 0x36,    0x37, 0x38, 0x39, 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,    0x4A, 0x53, 0x54, 0x55, 0x56,    0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,    0x6A, 0x73, 0x74, 0x75, 0x76,    0x77, 0x78, 0x79, 0x7A, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,    0x8A, 0x92, 0x93, 0x94, 0x95,    0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,    0xA8, 0xA9, 0xAA, 0xB2, 0xB3,    0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3, 0xC4, 0xC5,    0xC6, 0xC7, 0xC8, 0xC9, 0xCA,    0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xE1, 0xE2,    0xE3, 0xE4, 0xE5, 0xE6, 0xE7,    0xE8, 0xE9, 0xEA, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8,    0xF9, 0xFA, 0x11, 0x00, 0x02,    0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 0x07, 0x05, 0x04, 0x04, 0x00,    0x01, 0x02, 0x77, 0x00, 0x01,    0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51,    0x07, 0x61, 0x71, 0x13, 0x22,    0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 0xA1, 0xB1, 0xC1, 0x09, 0x23,    0x33, 0x52, 0xF0, 0x15, 0x62,    0x72, 0xD1, 0x0A, 0x16, 0x24, 0x34, 0xE1, 0x25, 0xF1, 0x17, 0x18,    0x19, 0x1A, 0x26, 0x27, 0x28,    0x29, 0x2A, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x43, 0x44, 0x45,    0x46, 0x47, 0x48, 0x49, 0x4A,    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65,    0x66, 0x67, 0x68, 0x69, 0x6A,    0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x82, 0x83, 0x84,    0x85, 0x86, 0x87, 0x88, 0x89,    0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2,    0xA3, 0xA4, 0xA5, 0xA6, 0xA7,    0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9,    0xBA, 0xC2, 0xC3, 0xC4, 0xC5,    0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,    0xD8, 0xD9, 0xDA, 0xE2, 0xE3,    0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF2, 0xF3, 0xF4, 0xF5,    0xF6, 0xF7, 0xF8, 0xF9, 0xFA};const unsigned char GsmartJPEGScanTable[6] = {    0x01, 0x00,    0x02, 0x11,    0x03, 0x11};const unsigned char GsmartQTable[][64] = {    //index0,Q40    {     20, 14, 15, 18, 15, 13, 20, 18, 16, 18, 23, 21, 20, 24, 30, 50,     33, 30, 28, 28, 30, 61, 44, 46, 36, 50, 73, 64, 76, 75, 71, 64,     70, 69, 80, 90, 115, 98, 80, 85, 109, 86, 69, 70, 100, 136, 101,     109,     119, 123, 129, 130, 129, 78, 96, 141, 151, 140, 125, 150, 115,     126, 129, 124},    {     21, 23, 23, 30, 26, 30, 59, 33, 33, 59, 124, 83, 70, 83, 124, 124,     124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,     124, 124, 124,     124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,     124, 124, 124,     124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,     124, 124, 124},    //index1,Q50    {     16, 11, 12, 14, 12, 10, 16, 14, 13, 14, 18, 17, 16, 19, 24, 40,     26, 24, 22, 22, 24, 49, 35, 37, 29, 40, 58, 51, 61, 60, 57, 51,     56, 55, 64, 72, 92, 78, 64, 68, 87, 69, 55, 56, 80, 109, 81, 87,     95, 98, 103, 104, 103, 62, 77, 113, 121, 112, 100, 120, 92, 101,     103, 99},    {     17, 18, 18, 24, 21, 24, 47, 26, 26, 47, 99, 66, 56, 66, 99, 99,     99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,     99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,     99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99},    //index2,Q60    {     13, 9, 10, 11, 10, 8, 13, 11, 10, 11, 14, 14, 13, 15, 19, 32,     21, 19, 18, 18, 19, 39, 28, 30, 23, 32, 46, 41, 49, 48, 46, 41,     45, 44, 51, 58, 74, 62, 51, 54, 70, 55, 44, 45, 64, 87, 65, 70,     76, 78, 82, 83, 82, 50, 62, 90, 97, 90, 80, 96, 74, 81, 82, 79},    {     14, 14, 14, 19, 17, 19, 38, 21, 21, 38, 79, 53, 45, 53, 79, 79,     79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,     79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,     79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79},    //index3,Q70    {     10, 7, 7, 8, 7, 6, 10, 8, 8, 8, 11, 10, 10, 11, 14, 24,     16, 14, 13, 13, 14, 29, 21, 22, 17, 24, 35, 31, 37, 36, 34, 31,     34, 33, 38, 43, 55, 47, 38, 41, 52, 41, 33, 34, 48, 65, 49, 52,     57, 59, 62, 62, 62, 37, 46, 68, 73, 67, 60, 72, 55, 61, 62, 59},    {     10, 11, 11, 14, 13, 14, 28, 16, 16, 28, 59, 40, 34, 40, 59, 59,     59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,     59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,     59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59},    //index4,Q80    {     6, 4, 5, 6, 5, 4, 6, 6, 5, 6, 7, 7, 6, 8, 10, 16,     10, 10, 9, 9, 10, 20, 14, 15, 12, 16, 23, 20, 24, 24, 23, 20,     22, 22, 26, 29, 37, 31, 26, 27, 35, 28, 22, 22, 32, 44, 32, 35,     38, 39, 41, 42, 41, 25, 31, 45, 48, 45, 40, 48, 37, 40, 41, 40},    {     7, 7, 7, 10, 8, 10, 19, 10, 10, 19, 40, 26, 22, 26, 40, 40,     40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,     40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,     40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40},    //index5Q85    {     5, 3, 4, 4, 4, 3, 5, 4, 4, 4, 5, 5, 5, 6, 7, 12,     8, 7, 7, 7, 7, 15, 11, 11, 9, 12, 17, 15, 18, 18, 17, 15,     17, 17, 19, 22, 28, 23, 19, 20, 26, 21, 17, 17, 24, 33, 24, 26,     29, 29, 31, 31, 31, 19, 23, 34, 36, 34, 30, 36, 28, 30, 31, 30},    {     5, 5, 5, 7, 6, 7, 14, 8, 8, 14, 30, 20, 17, 20, 30, 30,     30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,     30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,     30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30},/* Qindex= 86 */{ 0x04, 0x03, 0x03, 0x04, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x04, 0x05, 0x07, 0x0B, 0x07, 0x07, 0x06, 0x06, 0x07, 0x0E, 0x0A, 0x0A, 0x08, 0x0B, 0x10, 0x0E, 0x11, 0x11, 0x10, 0x0E, 0x10, 0x0F, 0x12, 0x14, 0x1A, 0x16, 0x12, 0x13, 0x18, 0x13, 0x0F, 0x10, 0x16, 0x1F, 0x17, 0x18, 0x1B, 0x1B, 0x1D, 0x1D, 0x1D, 0x11, 0x16, 0x20, 0x22, 0x1F, 0x1C, 0x22, 0x1A, 0x1C, 0x1D, 0x1C, },{0x05, 0x05, 0x05, 0x07, 0x06, 0x07, 0x0D, 0x07, 0x07, 0x0D, 0x1C, 0x12, 0x10, 0x12, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C,  },    /* Qindex= 88 */{ 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x04, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x06, 0x0A, 0x06, 0x06, 0x05, 0x05, 0x06, 0x0C, 0x08, 0x09, 0x07, 0x0A, 0x0E, 0x0C, 0x0F, 0x0E, 0x0E, 0x0C, 0x0D, 0x0D, 0x0F, 0x11, 0x16, 0x13, 0x0F, 0x10, 0x15, 0x11, 0x0D, 0x0D, 0x13, 0x1A, 0x13, 0x15, 0x17, 0x18, 0x19, 0x19, 0x19, 0x0F, 0x12, 0x1B, 0x1D, 0x1B, 0x18, 0x1D, 0x16, 0x18, 0x19, 0x18, },{0x04, 0x04, 0x04, 0x06, 0x05, 0x06, 0x0B, 0x06, 0x06, 0x0B, 0x18, 0x10, 0x0D, 0x10, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,  }};int spca50x_outpicture(struct spca50x_frame *myframe);static int jpeg_decode411(struct spca50x_frame *myframe, int force_rgb);static int jpeg_decode422(struct spca50x_frame *myframe, int force_rgb);static int yuv_decode(struct spca50x_frame *myframe, int force_rgb);static int bayer_decode(struct spca50x_frame *myframe, int force_rgb);static int make_jpeg(struct spca50x_frame *myframe);static int make_jpeg_conexant(struct spca50x_frame *myframe);#define CLIP(color) (unsigned char)(((color)>0xFF)?0xff:(((color)<0)?0:(color)))/****************************************************************//**************      Sonix  huffman decoder      ****************//****************************************************************/static inline unsigned char getByte(unsigned char *inp,				    unsigned int bitpos){    unsigned char *addr;    addr = inp + (bitpos >> 3);    return (addr[0] << (bitpos & 7)) | (addr[1] >> (8 - (bitpos & 7)));}void init_sonix_decoder(struct usb_spca50x *spca50x){    int i;    int is_abs, val, len;    struct code_table_t *table = spca50x->maindecode.table;    for (i = 0; i < 256; i++) {	is_abs = 0;	val = 0;	len = 0;	if ((i & 0x80) == 0) {	    /* code 0 */	    val = 0;	    len = 1;	} else if ((i & 0xE0) == 0x80) {	    /* code 100 */	    val = +4;	    len = 3;	} else if ((i & 0xE0) == 0xA0) {	    /* code 101 */	    val = -4;	    len = 3;	} else if ((i & 0xF0) == 0xD0) {	    /* code 1101 */	    val = +11;	    len = 4;	} else if ((i & 0xF0) == 0xF0) {	    /* code 1111 */	    val = -11;	    len = 4;	} else if ((i & 0xF8) == 0xC8) {	    /* code 11001 */	    val = +20;	    len = 5;	} else if ((i & 0xFC) == 0xC0) {	    /* code 110000 */	    val = -20;	    len = 6;	} else if ((i & 0xFC) == 0xC4) {	    /* code 110001xx: unknown */	    val = -1;	    len = 8;	} else if ((i & 0xF0) == 0xE0) {	    /* code 1110xxxx */	    is_abs = 1;	    val = (i & 0x0F) << 4;	    len = 8;	}	table[i].is_abs = is_abs;	table[i].val = val;	table[i].len = len;    }}static void sonix_decompress(struct spca50x_frame *myframe){    int width = myframe->hdrwidth;    int height = myframe->hdrheight;    unsigned char *inp = myframe->data;    unsigned char *outp = myframe->tmpbuffer;    struct code_table_t *table = myframe->decoder->table;    int row, col;    int val;    int bitpos;    unsigned char code;    bitpos = 0;    for (row = 0; row < height; row++) {	col = 0;	/* first two pixels in first two rows are stored as raw 8-bit */	if (row < 2) {	    code = getByte(inp, bitpos);	    bitpos += 8;	    *outp++ = code;	    code = getByte(inp, bitpos);	    bitpos += 8;	    *outp++ = code;	    col += 2;	}	while (col < width) {	    /* get bitcode from bitstream */	    code = getByte(inp, bitpos);	    /* update bit position */	    bitpos += table[code].len;	    /* calculate pixel value */	    val = table[code].val;	    /* unknowcode output nothing BS update 23:10:2005 */	    if (val == -1)		continue;	    if (!table[code].is_abs) {		/* value is relative to top and left pixel */		if (col < 2) {		    /* left column: relative to top pixel */		    val += outp[-2 * width];		} else if (row < 2) {		    /* top row: relative to left pixel */		    val += outp[-2];		} else {		    /* main area: average of left pixel and top pixel */		    val += (outp[-2] + outp[-2 * width]) / 2;		    //val += (outp[-2] + outp[-2*width] - outp[-2*width -2]);		}	    }	    /* store pixel */	    *outp++ = CLIP(val);	    col++;	}    }}void init_pixart_decoder(struct usb_spca50x *spca50x){    int i;    int is_abs, val, len;    struct code_table_t *table = spca50x->maindecode.table;    for (i = 0; i < 256; i++) {	is_abs = 0;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜天堂影视香蕉久久| 成人晚上爱看视频| 婷婷久久综合九色国产成人 | 亚洲曰韩产成在线| 亚洲少妇最新在线视频| 国产精品午夜免费| 国产精品毛片高清在线完整版 | 国产福利91精品| 久久国产人妖系列| 九九久久精品视频| 国产在线播放一区| 国产精品亚洲午夜一区二区三区| 国产一区二区美女诱惑| 久草在线在线精品观看| 国产制服丝袜一区| 国产成人午夜视频| 成人av电影免费在线播放| 99精品久久久久久| 欧美视频一区在线观看| 欧美日韩国产一级片| 91精品国产色综合久久不卡蜜臀 | 91色乱码一区二区三区| 91丨porny丨首页| 欧美性猛交xxxx乱大交退制版| 在线免费不卡视频| 日韩一级大片在线| 国产亚洲欧美在线| 亚洲欧美另类小说| 日韩电影一区二区三区| 国产在线精品不卡| 91年精品国产| 欧美精品第一页| 欧美成人r级一区二区三区| 久久老女人爱爱| 日韩美女视频一区二区| 亚洲第一福利一区| 精品一区二区精品| 成人毛片在线观看| 欧美高清视频在线高清观看mv色露露十八 | 国产精品一区二区在线看| eeuss鲁一区二区三区| 欧美亚洲综合另类| 日韩精品一区在线观看| 亚洲欧洲日产国码二区| 亚洲成人av一区| 国产在线播放一区二区三区| 色综合天天综合网天天看片 | 日韩精品一二三区| 国产精品综合久久| 欧美在线观看禁18| 久久网站热最新地址| 亚洲精品久久久蜜桃| 免费高清成人在线| 91在线丨porny丨国产| 91精品国产色综合久久不卡电影| 国产亚洲精品超碰| 亚洲v中文字幕| 国产999精品久久久久久绿帽| 日本高清免费不卡视频| 欧美成人一区二区三区片免费 | 丝袜诱惑制服诱惑色一区在线观看 | 国产福利91精品| 欧美日韩日日摸| 中文无字幕一区二区三区| 性做久久久久久免费观看| 国产91精品一区二区| 在线播放日韩导航| 国产精品国产三级国产aⅴ原创| 蜜臀av性久久久久蜜臀aⅴ| 99精品视频在线观看免费| 精品久久人人做人人爱| 亚洲综合一二区| 成人性色生活片免费看爆迷你毛片| 717成人午夜免费福利电影| 国产精品视频一二| 国产一区视频在线看| 欧美一级二级在线观看| 一区二区三区免费网站| www.在线成人| 国产欧美视频在线观看| 美女视频网站久久| 欧美精品自拍偷拍| 亚洲精品日韩专区silk| 成人精品gif动图一区| 亚洲精品在线观| 免费成人性网站| 欧美日韩高清在线| 亚洲主播在线观看| 91欧美一区二区| 国产精品成人在线观看| 国产乱码精品1区2区3区| 91精品国产一区二区人妖| 香蕉久久夜色精品国产使用方法| 99久久久免费精品国产一区二区| 国产日韩v精品一区二区| 极品少妇一区二区| 精品美女在线观看| 久久se精品一区精品二区| 这里只有精品免费| 日韩激情av在线| 欧美日韩aaaaa| 日韩国产欧美在线视频| 555www色欧美视频| 日韩高清不卡一区二区| 欧美一区日韩一区| 人人狠狠综合久久亚洲| 4438x亚洲最大成人网| 日韩一区欧美二区| 日韩欧美123| 激情欧美一区二区三区在线观看| 精品国产一区二区三区不卡| 久久精品国产精品亚洲红杏| 2021国产精品久久精品| 国产在线精品不卡| 国产精品福利电影一区二区三区四区 | 日韩福利电影在线观看| 日韩免费看的电影| 国产乱对白刺激视频不卡| 国产欧美一区在线| 99久久精品国产导航| 一区二区三区在线影院| 日本韩国一区二区三区| 亚洲成av人片一区二区三区| 日韩午夜在线观看视频| 国产一区二区成人久久免费影院| 国产视频在线观看一区二区三区| 丁香一区二区三区| 亚洲区小说区图片区qvod| 欧美日韩一区二区三区视频| 免费成人美女在线观看| 久久久不卡网国产精品二区| 成人精品鲁一区一区二区| 亚洲码国产岛国毛片在线| 欧美日韩一区二区在线观看视频| 麻豆成人91精品二区三区| 国产婷婷色一区二区三区在线| 99re66热这里只有精品3直播| 亚洲一二三四在线观看| 欧美成人欧美edvon| 成人午夜视频在线| 亚洲一区二区精品久久av| 欧美v国产在线一区二区三区| 国产盗摄女厕一区二区三区| 1区2区3区国产精品| 在线综合亚洲欧美在线视频| 国产精品一区二区在线观看网站| 一区二区免费在线| 精品国产一区二区三区久久久蜜月| aaa欧美日韩| 视频一区欧美精品| 国产精品毛片无遮挡高清| 欧美丰满少妇xxxbbb| 国产不卡视频一区| 污片在线观看一区二区| 欧美激情艳妇裸体舞| 欧美色中文字幕| 国产激情一区二区三区四区| 亚洲一区二区精品视频| 国产亚洲一区二区在线观看| 欧美日韩免费一区二区三区视频 | 欧美一区二区三区思思人| 国产99久久久国产精品免费看| 亚洲成人激情av| 中文成人综合网| 欧美一区二区播放| 91在线观看高清| 国产精品亚洲专一区二区三区| 亚洲成人免费视频| 国产精品高潮久久久久无| 欧美成人一区二区| 欧美婷婷六月丁香综合色| 国产不卡视频一区二区三区| 欧美aaaaa成人免费观看视频| 成人免费在线观看入口| 精品国产亚洲在线| 欧美日韩成人综合| 99精品视频一区二区| 国产一区二区在线看| 亚洲成a人在线观看| 亚洲精品日韩综合观看成人91| 国产欧美日韩中文久久| 欧美成人aa大片| 91精品国产综合久久精品图片| 色婷婷综合久久久中文一区二区| 国产剧情av麻豆香蕉精品| 蜜桃在线一区二区三区| 午夜精品成人在线视频| 亚洲毛片av在线| 一区在线中文字幕| 中文字幕免费不卡| 国产日韩欧美亚洲| 久久久久久免费网| 欧美成va人片在线观看| 91精品啪在线观看国产60岁| 欧美性感一类影片在线播放| 91在线视频官网| 91丨九色丨蝌蚪丨老版| 成人一级视频在线观看| 国产一区视频网站| 国产酒店精品激情|