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

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

?? spcadecoder.c

?? 凌陽SPCA5XX解碼芯片USB驅(qū)動源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
/****************************************************************************#	 	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 B.S. (C) 2004                         ## 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 "jpeg_header.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	-1struct in {	unsigned char *p;	unsigned int bits;	int omitescape;	int left;	int marker;};/*********************************/struct dec_hufftbl;struct enc_hufftbl;union hufftblp {	struct dec_hufftbl *dhuff;	struct enc_hufftbl *ehuff;};struct scan {	int dc;			/* old dc value */	union hufftblp hudc;	union hufftblp huac;	int next;		/* when to switch to next scan */	int cid;		/* component id */	int hv;			/* horiz/vert, copied from comp */	int tq;			/* quant tbl, copied from comp */};/*********************************/#define DECBITS 10		/* seems to be the optimum */struct dec_hufftbl {	int maxcode[17];	int valptr[16];	unsigned char vals[256];	unsigned int llvals[1 << DECBITS];};/*********************************//*********************************//*********************************/struct comp {	int cid;	int hv;	int tq;};struct jpginfo {	int nc;			/* number of components */	int ns;			/* number of scans */	int dri;		/* restart interval */	int nm;			/* mcus til next marker */	int rm;			/* next restart marker */};/* Sonix decompressor struct B.S.(2004) */typedef struct {	int is_abs;	int len;	int val;} code_table_t;static code_table_t table[256];#define MAXCOMP 4#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 JPEGHeaderz[JPEGHEADER_LENGTH] ={ 0xff, 0xd8, 0xff, 0xdb, 0x00, 0x84, 0x00, 0x08, 0x06, 0x06, 0x07, 0x06, 0x05, 0x08, 0x07, 0x07, 0x07, 0x09, 0x09, 0x08, 0x0a, 0x0c, 0x14, 0x0a, 0x0c, 0x0b, 0x0b, 0x0c, 0x19, 0x12, 0x13, 0x0f, 0x14, 0x1d, 0x1a, 0x1f, 0x1e, 0x1d, 0x1a, 0x1c, 0x1c, 0x20, 0x24, 0x2e, 0x27, 0x20, 0x22, 0x2c, 0x23, 0x1c, 0x1c, 0x28, 0x37, 0x29, 0x2c, 0x30, 0x31, 0x34, 0x34, 0x34, 0x1f, 0x27, 0x39, 0x3d, 0x38, 0x32, 0x3c, 0x2e, 0x33, 0x34, 0x32, 0x01, 0x09, 0x09, 0x09, 0x0c, 0x0b, 0x0c, 0x18, 0x0a, 0x0a, 0x18, 0x32, 0x21, 0x1c, 0x21, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 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 };const 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 };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      ****************//****************************************************************/void init_sonix_decoder(void){	int i;	int is_abs, val, len;	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 = 0;			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(int width, int height, unsigned char *inp, unsigned char *outp){	int row, col;	int val;	int bitpos;	unsigned char code;	unsigned char *addr;	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) {			addr = inp + (bitpos >> 3);			code = (addr[0] << (bitpos & 7)) | (addr[1] >> (8 - (bitpos & 7)));			bitpos += 8;			*outp++ = code;			addr = inp + (bitpos >> 3);			code = (addr[0] << (bitpos & 7)) | (addr[1] >> (8 - (bitpos & 7)));			bitpos += 8;			*outp++ = code;			col += 2;		}		while (col < width) {			/* get bitcode from bitstream */			addr = inp + (bitpos >> 3);			code = (addr[0] << (bitpos & 7)) | (addr[1] >> (8 - (bitpos & 7)));			/* update bit position */			bitpos += table[code].len;			/* calculate pixel value */			val = table[code].val;			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;									}			}			/* store pixel */			*outp++ = CLIP(val);			col++;		}	}}static void tv8532_preprocess(struct spca50x_frame *myframe){/* we should received a whole frame with header and EOL markerin myframe->data and return a GBRG pattern in frame->tmpbuffer sequence 2bytes header the Alternate pixels bayer GB 4 bytes Alternate pixels bayer RG 4 bytes EOL */ int width = myframe->hdrwidth; int height =myframe->hdrheight; int src = 0; unsigned char *dst = myframe->tmpbuffer; unsigned char *data = myframe->data; int i; int seq1,seq2;  /* precompute where is the good bayer line */ if((((data[src+3]+ data[src+width+7]) >>1 )+(data[src+4]>>2)+(data[src+width+6]>>1)) >=     (((data[src+2]+data[src+width+6]) >>1)+(data[src+3]>>2)+(data[src+width+5]>>1))){ 	seq1 = 3; 	seq2 = 4; } else { 	seq1 = 2; 	seq2 = 5; } for(i=0; i < height/2; i++){ 	src += seq1;	memcpy(dst,&myframe->data[src],width);	src += (width + 3);	dst += width;	memcpy(dst,&myframe->data[src],width);	src += (width + seq2);	dst += width;	 }}/****************************************************************//**************       huffman decoder             ***************//****************************************************************/static int fillbits (struct in *, int, unsigned int);static int dec_rec2 (struct in *, struct dec_hufftbl *, int *, int, int);static struct comp comps[MAXCOMP] = {	{0x01, 0x22, 0x00},	{0x02, 0x11, 0x01},	{0x03, 0x11, 0x01},	{0x00, 0x00, 0x00}};static struct scan dscans[MAXCOMP];static unsigned char quant[4][64];static struct dec_hufftbl dhuff[4];#define dec_huffdc (dhuff + 0)#define dec_huffac (dhuff + 2)#define M_RST0	0xd0static struct in in;int dquant[3][64];static struct jpginfo info;static intfillbits (struct in *in, int le, unsigned int bi){	int b;	int m;	if (in->marker) {		if (le <= 16)			in->bits = bi << 16, le += 16;		return le;	}	while (le <= 24) {		b = *in->p++;		if(in->omitescape){			if (b == 0xff && (m = *in->p++) != 0) {				in->marker = m;				if (le <= 16)					bi = bi << 16, le += 16;				break;			}		}		bi = bi << 8 | b;		le += 8;	}	in->bits = bi;		/* tmp... 2 return values needed */	return le;}#define LEBI_GET(in)	(le = in->left, bi = in->bits)#define LEBI_PUT(in)	(in->left = le, in->bits = bi)#define GETBITS(in, n) (					\  (le < (n) ? le = fillbits(in, le, bi), bi = in->bits : 0),	\  (le -= (n)),							\  bi >> le & ((1 << (n)) - 1)					\)#define UNGETBITS(in, n) (	\  le += (n)			\)static void dec_initscans(void){	int i;	info.ns = 3; // HARDCODED  here	info.nm = info.dri + 1; // macroblock count	info.rm = M_RST0;	for (i = 0; i < info.ns; i++)		dscans[i].dc = 0;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美不卡激情三级在线观看| 国产日韩成人精品| 国产精品影视在线观看| 亚洲免费观看高清完整| 精品久久人人做人人爱| 欧美中文字幕一区| 成人sese在线| 久国产精品韩国三级视频| 一区二区三区色| 中文字幕第一区第二区| 日韩欧美不卡一区| 欧美猛男男办公室激情| 91日韩在线专区| 成人一级视频在线观看| 激情深爱一区二区| 日本欧美一区二区三区| 亚洲精品福利视频网站| 日本一区二区视频在线| 欧美大片免费久久精品三p | 麻豆成人免费电影| 亚洲免费伊人电影| 国产精品日日摸夜夜摸av| www久久精品| 精品国产乱码久久| 欧美一区二区高清| 在线播放91灌醉迷j高跟美女| 色综合天天综合| 99精品热视频| 波多野结衣亚洲| 成人午夜精品一区二区三区| 国产91在线|亚洲| 国产精品一区二区三区网站| 国产精一区二区三区| 极品少妇xxxx精品少妇| 久久成人久久爱| 久久草av在线| 国产美女在线精品| 国产成人在线观看| 成人动漫中文字幕| caoporm超碰国产精品| a美女胸又www黄视频久久| 成人av在线资源| 91蝌蚪国产九色| 色哟哟精品一区| 欧美最猛黑人xxxxx猛交| 欧美在线免费播放| 欧美精品1区2区| 日韩欧美一区二区三区在线| 欧美不卡视频一区| 欧美国产一区在线| 亚洲视频免费观看| 亚洲一区二区成人在线观看| 日日夜夜精品视频天天综合网| 日韩国产欧美在线视频| 韩国精品主播一区二区在线观看| 国产一级精品在线| a在线欧美一区| 欧美日韩中文另类| 日韩欧美一区二区视频| 欧美极品xxx| 亚洲欧美偷拍另类a∨色屁股| 亚洲国产另类av| 经典三级视频一区| 成人手机电影网| 欧美中文字幕久久| 欧美一区二区三区在线| 久久久久久久性| 成人免费视频在线观看| 五月开心婷婷久久| 国内成+人亚洲+欧美+综合在线| 成人影视亚洲图片在线| 欧美日韩精品一区二区三区四区 | 在线观看91精品国产入口| 欧美乱熟臀69xxxxxx| 久久久青草青青国产亚洲免观| 中文字幕日本不卡| 视频一区二区不卡| 成人午夜在线播放| 欧美日韩精品久久久| 久久综合成人精品亚洲另类欧美| 一区精品在线播放| 美女一区二区在线观看| 91在线精品一区二区三区| 欧美一区二区性放荡片| 国产精品美女久久久久久久久久久| 亚洲高清不卡在线观看| 国产成人精品午夜视频免费| 欧美日韩国产综合一区二区| 国产日韩影视精品| 污片在线观看一区二区| 成人午夜免费电影| 欧美一区二区三区在线观看| 17c精品麻豆一区二区免费| 美女任你摸久久 | 成人高清免费在线播放| 欧美精品三级日韩久久| 国产精品美女久久久久久| 日本不卡不码高清免费观看| 成人免费毛片app| 欧美不卡一二三| 亚洲不卡在线观看| 成人av资源网站| 久久午夜老司机| 秋霞av亚洲一区二区三| 色综合色狠狠天天综合色| 久久久久久久精| 日本在线不卡视频| 日本二三区不卡| 国产精品久久久久aaaa樱花| 九色综合国产一区二区三区| 欧美精选在线播放| 一区二区高清视频在线观看| 不卡一区中文字幕| 久久久五月婷婷| 国产在线不卡一卡二卡三卡四卡| 欧美日韩国产小视频| 亚洲专区一二三| 91蜜桃网址入口| 1区2区3区欧美| 不卡一区二区三区四区| 国产欧美精品在线观看| 国产一区二区精品久久99| 日韩欧美亚洲国产精品字幕久久久| 亚洲福中文字幕伊人影院| 在线观看免费视频综合| 亚洲男女毛片无遮挡| 91免费国产视频网站| 一色屋精品亚洲香蕉网站| 99久久免费国产| 国产精品对白交换视频| 97精品久久久午夜一区二区三区| 欧美激情一区二区三区全黄 | 欧美日韩一区二区三区四区五区| 亚洲欧美精品午睡沙发| 色综合婷婷久久| 一区二区在线观看免费| 91福利国产精品| 亚洲小说欧美激情另类| 欧美日韩二区三区| 日本伊人精品一区二区三区观看方式| 欧美日本在线看| 蜜臀av国产精品久久久久| 日韩欧美国产综合一区| 麻豆国产精品官网| 久久精品男人天堂av| 国产成人av在线影院| 国产精品福利在线播放| 一本大道av一区二区在线播放| 亚洲老妇xxxxxx| 欧美美女黄视频| 久久精品国产久精国产爱| 久久久欧美精品sm网站 | 91精品在线观看入口| 麻豆视频观看网址久久| 国产免费久久精品| 91黄视频在线观看| 日本少妇一区二区| 国产日韩亚洲欧美综合| 色综合久久综合| 日韩中文欧美在线| 久久蜜桃香蕉精品一区二区三区| 成人永久免费视频| 亚洲五月六月丁香激情| 欧美不卡激情三级在线观看| 成人黄动漫网站免费app| 亚洲一区在线电影| 精品久久久久久久久久久久久久久| 岛国av在线一区| 亚洲国产视频一区二区| 欧美成人精品1314www| gogogo免费视频观看亚洲一| 亚洲成人动漫av| 久久久久久久久久久久久久久99 | 成人欧美一区二区三区黑人麻豆 | 久久久久久久久久看片| jlzzjlzz亚洲女人18| 日韩高清中文字幕一区| 亚洲国产高清在线观看视频| 欧美性淫爽ww久久久久无| 久久国产精品99久久久久久老狼| 一区在线观看免费| 欧美成人高清电影在线| 色拍拍在线精品视频8848| 久久国产尿小便嘘嘘尿| 亚洲另类在线视频| 亚洲精品一区二区三区在线观看 | 激情另类小说区图片区视频区| 中文字幕在线一区免费| 欧美一区二区三区喷汁尤物| 成人a区在线观看| 久久精品99久久久| 一区二区三区四区国产精品| 久久久精品免费网站| 欧美日韩大陆一区二区| 成人福利视频在线| 黑人巨大精品欧美一区| 亚洲成人先锋电影| 亚洲手机成人高清视频| 国产性色一区二区| 日韩欧美成人一区|