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

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

?? encoder.c

?? arm9 Linux下基于攝像頭的物體移動(dòng)檢測程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/***************************************************************************#
# jpegenc: library to encode a jpeg frame from various input palette.       #
# jpegenc works for embedded device without libjpeg                         #
#.                                                                          #
# 		Copyright (C) 2005 Michel Xhaard                            #
#                                                                           #
# 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 #
#  CREDIT:								    #
# Original code from Nitin Gupta India (?)					    #
#                                                                           #
#***************************************************************************/ 
  
  
#include <malloc.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
  
#include "jdatatype.h"
#include "encoder.h"
#include "huffman.h"
#include "quant.h"
#include "marker.h"
#include "utils.h"
static void (*read_format) (JPEG_ENCODER_STRUCTURE * jpeg_encoder_structure,
			     UINT8 * input_ptr);
static void read_400_format (JPEG_ENCODER_STRUCTURE * jpeg_encoder_structure,
			      UINT8 * input_ptr);
static void read_420_format (JPEG_ENCODER_STRUCTURE * jpeg_encoder_structure,
			      UINT8 * input_ptr);
static void read_422_format (JPEG_ENCODER_STRUCTURE * jpeg_encoder_structure,
			      UINT8 * input_ptr);
static void read_444_format (JPEG_ENCODER_STRUCTURE * jpeg_encoder_structure,
			      UINT8 * input_ptr);
static void RGB_2_444 (UINT8 * input_ptr, UINT8 * output_ptr,
			UINT32 image_width, UINT32 image_height);
static void RGB_2_422 (UINT8 * input_ptr, UINT8 * output_ptr,
			UINT32 image_width, UINT32 image_height);
static void RGB_2_420 (UINT8 * input_ptr, UINT8 * output_ptr,
			UINT32 image_width, UINT32 image_height);
static void RGB_2_400 (UINT8 * input_ptr, UINT8 * output_ptr,
			UINT32 image_width, UINT32 image_height);
static void RGB565_2_420 (UINT8 * input_ptr, UINT8 * output_ptr,
			   UINT32 image_width, UINT32 image_height);
static void RGB32_2_420 (UINT8 * input_ptr, UINT8 * output_ptr,
			  UINT32 image_width, UINT32 image_height);
static void YUV_2_444 (UINT8 * input_ptr, UINT8 * output_ptr,
			UINT32 image_width, UINT32 image_height);
static void YUV_2_422 (UINT8 * input_ptr, UINT8 * output_ptr,
			UINT32 image_width, UINT32 image_height);
static void YUV_2_420 (UINT8 * input_ptr, UINT8 * output_ptr,
			UINT32 image_width, UINT32 image_height);
static void DCT (INT16 * data);
static void initialization (JPEG_ENCODER_STRUCTURE * jpeg,
			     UINT32 image_format, UINT32 image_width,
			     UINT32 image_height);
static UINT8 *encodeMCU (JPEG_ENCODER_STRUCTURE * jpeg_encoder_structure,
			  UINT32 image_format, UINT8 * output_ptr);
static void
initialization (JPEG_ENCODER_STRUCTURE * jpeg, UINT32 image_format,
		UINT32 image_width, UINT32 image_height) 
{
  UINT16 mcu_width, mcu_height, bytes_per_pixel;
  lcode = 0;
  bitindex = 0;
  if (image_format == FOUR_ZERO_ZERO || image_format == FOUR_FOUR_FOUR)
    
    {
      jpeg->mcu_width = mcu_width = 8;
      jpeg->mcu_height = mcu_height = 8;
      jpeg->horizontal_mcus = (UINT16) ((image_width + mcu_width - 1) >> 3);
      jpeg->vertical_mcus = (UINT16) ((image_height + mcu_height - 1) >> 3);
      if (image_format == FOUR_ZERO_ZERO)
	
	{
	  bytes_per_pixel = 1;
	  read_format = read_400_format;
	}
      
      else
	
	{
	  bytes_per_pixel = 3;
	  read_format = read_444_format;
	}
    }
  
  else
    
    {
      jpeg->mcu_width = mcu_width = 16;
      jpeg->horizontal_mcus = (UINT16) ((image_width + mcu_width - 1) >> 4);
      if (image_format == FOUR_TWO_ZERO)
	
	{
	  jpeg->mcu_height = mcu_height = 16;
	  jpeg->vertical_mcus =
	    (UINT16) ((image_height + mcu_height - 1) >> 4);
	  bytes_per_pixel = 3;
	  read_format = read_420_format;
	}
      
      else
	
	{
	  jpeg->mcu_height = mcu_height = 8;
	  jpeg->vertical_mcus =
	    (UINT16) ((image_height + mcu_height - 1) >> 3);
	  bytes_per_pixel = 2;
	  read_format = read_422_format;
	}
    }
  jpeg->rows_in_bottom_mcus =
    (UINT16) (image_height - (jpeg->vertical_mcus - 1) * mcu_height);
  jpeg->cols_in_right_mcus =
    (UINT16) (image_width - (jpeg->horizontal_mcus - 1) * mcu_width);
  jpeg->length_minus_mcu_width =
    (UINT16) ((image_width - mcu_width) * bytes_per_pixel);
  jpeg->length_minus_width =
    (UINT16) ((image_width - jpeg->cols_in_right_mcus) * bytes_per_pixel);
  jpeg->mcu_width_size = (UINT16) (mcu_width * bytes_per_pixel);
  if (image_format != FOUR_TWO_ZERO)
    jpeg->offset =
      (UINT16) ((image_width * (mcu_height - 1) -
		 (mcu_width - jpeg->cols_in_right_mcus)) * bytes_per_pixel);
  
  else
    jpeg->offset =
      (UINT16) ((image_width * ((mcu_height >> 1) - 1) -
		 (mcu_width - jpeg->cols_in_right_mcus)) * bytes_per_pixel);
  jpeg->ldc1 = 0;
  jpeg->ldc2 = 0;
  jpeg->ldc3 = 0;
}

UINT32 encode_image (UINT8 * input_ptr, UINT8 * output_ptr,
		       UINT32 quality_factor, UINT32 image_format,
		       UINT32 image_width, UINT32 image_height) 
{
  UINT16 i, j;
  UINT8 * output;
  JPEG_ENCODER_STRUCTURE JpegStruct;
  JPEG_ENCODER_STRUCTURE * jpeg_encoder_structure = &JpegStruct;
  output = output_ptr;
  switch (image_format)
    {
    case RGBto444:
      
      {
	image_format = FOUR_FOUR_FOUR;
	RGB_2_444 (input_ptr, output_ptr, image_width, image_height);
      }
      break;
    case RGBto422:
      
      {
	image_format = FOUR_TWO_TWO;
	RGB_2_422 (input_ptr, output_ptr, image_width, image_height);
      }
      break;
    case RGBto420:
      
      {
	image_format = FOUR_TWO_ZERO;
	RGB_2_420 (input_ptr, output_ptr, image_width, image_height);
      }
      break;
    case RGB565to420:
      
      {
	image_format = FOUR_TWO_ZERO;
	RGB565_2_420 (input_ptr, output_ptr, image_width, image_height);
      }
      break;
    case RGB32to420:
      
      {
	image_format = FOUR_TWO_ZERO;
	RGB32_2_420 (input_ptr, output_ptr, image_width, image_height);
      }
      break;
    case RGBto400:
      
      {
	image_format = FOUR_ZERO_ZERO;
	RGB_2_400 (input_ptr, output_ptr, image_width, image_height);
      }
      break;
    case YUVto444:
      
      {
	image_format = FOUR_FOUR_FOUR;
	YUV_2_444 (input_ptr, output_ptr, image_width, image_height);
      }
      break;
    case YUVto422:
      
      {
	image_format = FOUR_TWO_TWO;
	YUV_2_422 (input_ptr, output_ptr, image_width, image_height);
      }
      break;
    case YUVto420:
      
      {
	image_format = FOUR_TWO_ZERO;
	YUV_2_420 (input_ptr, output_ptr, image_width, image_height);
      }
      break;
    }
  
    /* Initialization of JPEG control structure */ 
    initialization (jpeg_encoder_structure, image_format, image_width,
		    image_height);
  
    /* Quantization Table Initialization */ 
    initialize_quantization_tables (quality_factor);
  
    /* Writing Marker Data */ 
    output_ptr =
    write_markers (output_ptr, image_format, image_width, image_height);
  for (i = 1; i <= jpeg_encoder_structure->vertical_mcus; i++)
    
    {
      if (i < jpeg_encoder_structure->vertical_mcus)
	jpeg_encoder_structure->rows = jpeg_encoder_structure->mcu_height;
      
      else
	jpeg_encoder_structure->rows =
	  jpeg_encoder_structure->rows_in_bottom_mcus;
      for (j = 1; j <= jpeg_encoder_structure->horizontal_mcus; j++)
	
	{
	  if (j < jpeg_encoder_structure->horizontal_mcus)
	    
	    {
	      jpeg_encoder_structure->cols =
		jpeg_encoder_structure->mcu_width;
	      jpeg_encoder_structure->incr =
		jpeg_encoder_structure->length_minus_mcu_width;
	    }
	  
	  else
	    
	    {
	      jpeg_encoder_structure->cols =
		jpeg_encoder_structure->cols_in_right_mcus;
	      jpeg_encoder_structure->incr =
		jpeg_encoder_structure->length_minus_width;
	    }
	  read_format (jpeg_encoder_structure, input_ptr);
	  
	    /* Encode the data in MCU */ 
	    output_ptr =
	    encodeMCU (jpeg_encoder_structure, image_format, output_ptr);
	  input_ptr += jpeg_encoder_structure->mcu_width_size;
	}
      input_ptr += jpeg_encoder_structure->offset;
    }
  
    /* Close Routine */ 
    output_ptr = close_bitstream (output_ptr);
  return (UINT32) (output_ptr - output);
}
static UINT8 *
encodeMCU (JPEG_ENCODER_STRUCTURE * jpeg_encoder_structure,
	   UINT32 image_format, UINT8 * output_ptr) 
{
  DCT (Y1);
  quantization (Y1, ILqt);
  output_ptr = huffman (jpeg_encoder_structure, 1, output_ptr);
  if (image_format == FOUR_ZERO_ZERO)
    return output_ptr;
  DCT (Y2);
  quantization (Y2, ILqt);
  output_ptr = huffman (jpeg_encoder_structure, 1, output_ptr);
  if (image_format == FOUR_TWO_TWO)
    goto chroma;
  DCT (Y3);
  quantization (Y3, ILqt);
  output_ptr = huffman (jpeg_encoder_structure, 1, output_ptr);
  DCT (Y4);
  quantization (Y4, ILqt);
  output_ptr = huffman (jpeg_encoder_structure, 1, output_ptr);
chroma:DCT (CB);
  quantization (CB, ICqt);
  output_ptr = huffman (jpeg_encoder_structure, 2, output_ptr);
  DCT (CR);
  quantization (CR, ICqt);
  output_ptr = huffman (jpeg_encoder_structure, 3, output_ptr);
  return output_ptr;
}


/* DCT for One block(8x8) */ 
  static void
DCT (INT16 * data) 
{
  UINT16 i;
  INT32 x0, x1, x2, x3, x4, x5, x6, x7, x8;
  
/*	All values are shifted left by 10
	and rounded off to nearest integer */ 
  static const UINT16 c1 = 1420;	/* cos PI/16 * root(2)  */
  static const UINT16 c2 = 1338;	/* cos PI/8 * root(2)   */
  static const UINT16 c3 = 1204;	/* cos 3PI/16 * root(2) */
  static const UINT16 c5 = 805;	/* cos 5PI/16 * root(2) */
  static const UINT16 c6 = 554;	/* cos 3PI/8 * root(2)  */
  static const UINT16 c7 = 283;	/* cos 7PI/16 * root(2) */
  static const UINT16 s1 = 3;
  static const UINT16 s2 = 10;
  static const UINT16 s3 = 13;
  for (i = 8; i > 0; i--)
    
    {
      x8 = data[0] + data[7];
      x0 = data[0] - data[7];
      x7 = data[1] + data[6];
      x1 = data[1] - data[6];
      x6 = data[2] + data[5];
      x2 = data[2] - data[5];
      x5 = data[3] + data[4];
      x3 = data[3] - data[4];
      x4 = x8 + x5;
      x8 -= x5;
      x5 = x7 + x6;
      x7 -= x6;
      data[0] = (INT16) (x4 + x5);
      data[4] = (INT16) (x4 - x5);
      data[2] = (INT16) ((x8 * c2 + x7 * c6) >> s2);
      data[6] = (INT16) ((x8 * c6 - x7 * c2) >> s2);
      data[7] = (INT16) ((x0 * c7 - x1 * c5 + x2 * c3 - x3 * c1) >> s2);
      data[5] = (INT16) ((x0 * c5 - x1 * c1 + x2 * c7 + x3 * c3) >> s2);
      data[3] = (INT16) ((x0 * c3 - x1 * c7 - x2 * c1 - x3 * c5) >> s2);
      data[1] = (INT16) ((x0 * c1 + x1 * c3 + x2 * c5 + x3 * c7) >> s2);
      data += 8;
    }
  data -= 64;
  for (i = 8; i > 0; i--)
    
    {
      x8 = data[0] + data[56];
      x0 = data[0] - data[56];
      x7 = data[8] + data[48];
      x1 = data[8] - data[48];
      x6 = data[16] + data[40];
      x2 = data[16] - data[40];
      x5 = data[24] + data[32];
      x3 = data[24] - data[32];
      x4 = x8 + x5;
      x8 -= x5;
      x5 = x7 + x6;
      x7 -= x6;
      data[0] = (INT16) ((x4 + x5) >> s1);
      data[32] = (INT16) ((x4 - x5) >> s1);
      data[16] = (INT16) ((x8 * c2 + x7 * c6) >> s3);
      data[48] = (INT16) ((x8 * c6 - x7 * c2) >> s3);
      data[56] = (INT16) ((x0 * c7 - x1 * c5 + x2 * c3 - x3 * c1) >> s3);
      data[40] = (INT16) ((x0 * c5 - x1 * c1 + x2 * c7 + x3 * c3) >> s3);
      data[24] = (INT16) ((x0 * c3 - x1 * c7 - x2 * c1 - x3 * c5) >> s3);
      data[8] = (INT16) ((x0 * c1 + x1 * c3 + x2 * c5 + x3 * c7) >> s3);
      data++;
    }
}
static void
read_400_format (JPEG_ENCODER_STRUCTURE * jpeg_encoder_structure,
		 UINT8 * input_ptr) 
{
  INT32 i, j;
  INT16 * Y1_Ptr = Y1;
  UINT16 rows = jpeg_encoder_structure->rows;
  UINT16 cols = jpeg_encoder_structure->cols;
  UINT16 incr = jpeg_encoder_structure->incr;
  for (i = rows; i > 0; i--)
    
    {
      for (j = cols; j > 0; j--)
	*Y1_Ptr++ = *input_ptr++ - 128;
      for (j = 8 - cols; j > 0; j--)
	*Y1_Ptr++ = *(Y1_Ptr - 1);
      input_ptr += incr;
    }
  for (i = 8 - rows; i > 0; i--)
    
    {
      for (j = 8; j > 0; j--)
	*Y1_Ptr++ = *(Y1_Ptr - 8);
    }
}
static void
read_420_format (JPEG_ENCODER_STRUCTURE * jpeg_encoder_structure,
		 UINT8 * input_ptr) 
{
  INT32 i, j;
  UINT16 Y1_rows, Y3_rows, Y1_cols, Y2_cols;
  INT16 * Y1_Ptr = Y1;
  INT16 * Y2_Ptr = Y2;
  INT16 * Y3_Ptr = Y3;
  INT16 * Y4_Ptr = Y4;
  INT16 * CB_Ptr = CB;
  INT16 * CR_Ptr = CR;
  INT16 * Y1Ptr = Y1 + 8;
  INT16 * Y2Ptr = Y2 + 8;
  INT16 * Y3Ptr = Y3 + 8;
  INT16 * Y4Ptr = Y4 + 8;
  UINT16 rows = jpeg_encoder_structure->rows;
  UINT16 cols = jpeg_encoder_structure->cols;
  UINT16 incr = jpeg_encoder_structure->incr;
  if (rows <= 8)
    
    {
      Y1_rows = rows;
      Y3_rows = 0;
    }
  
  else
    
    {
      Y1_rows = 8;
      Y3_rows = (UINT16) (rows - 8);
    }
  if (cols <= 8)
    
    {
      Y1_cols = cols;
      Y2_cols = 0;
    }
  
  else
    
    {
      Y1_cols = 8;
      Y2_cols = (UINT16) (cols - 8);
    }
  for (i = Y1_rows >> 1; i > 0; i--)
    
    {
      for (j = Y1_cols >> 1; j > 0; j--)
	
	{
	  *Y1_Ptr++ = *input_ptr++ - 128;
	  *Y1_Ptr++ = *input_ptr++ - 128;
	  *Y1Ptr++ = *input_ptr++ - 128;
	  *Y1Ptr++ = *input_ptr++ - 128;
	  *CB_Ptr++ = *input_ptr++ - 128;
	  *CR_Ptr++ = *input_ptr++ - 128;
	}
      for (j = Y2_cols >> 1; j > 0; j--)
	
	{
	  *Y2_Ptr++ = *input_ptr++ - 128;
	  *Y2_Ptr++ = *input_ptr++ - 128;
	  *Y2Ptr++ = *input_ptr++ - 128;
	  *Y2Ptr++ = *input_ptr++ - 128;
	  *CB_Ptr++ = *input_ptr++ - 128;
	  *CR_Ptr++ = *input_ptr++ - 128;
	}
      if (cols <= 8)
	
	{
	  for (j = 8 - Y1_cols; j > 0; j--)
	    
	    {
	      *Y1_Ptr++ = *(Y1_Ptr - 1);
	      *Y1Ptr++ = *(Y1Ptr - 1);
	    }
	  for (j = 8; j > 0; j--)
	    
	    {
	      *Y2_Ptr++ = *(Y1_Ptr - 1);
	      *Y2Ptr++ = *(Y1Ptr - 1);
	    }
	
       }
      else
	
	{
	  for (j = 8 - Y2_cols; j > 0; j--)
	    
	    {
	      *Y2_Ptr++ = *(Y2_Ptr - 1);
	      *Y2Ptr++ = *(Y2Ptr - 1);
	    }
	}
      for (j = (16 - cols) >> 1; j > 0; j--)
	
	{
	  *CB_Ptr++ = *(CB_Ptr - 1);
	  *CR_Ptr++ = *(CR_Ptr - 1);
	}
      Y1_Ptr += 8;
      Y2_Ptr += 8;
      Y1Ptr += 8;
      Y2Ptr += 8;
      input_ptr += incr;
    }
  for (i = Y3_rows >> 1; i > 0; i--)
    
    {
      for (j = Y1_cols >> 1; j > 0; j--)
	
	{
	  *Y3_Ptr++ = *input_ptr++ - 128;
	  *Y3_Ptr++ = *input_ptr++ - 128;
	  *Y3Ptr++ = *input_ptr++ - 128;
	  *Y3Ptr++ = *input_ptr++ - 128;
	  *CB_Ptr++ = *input_ptr++ - 128;
	  *CR_Ptr++ = *input_ptr++ - 128;
	}
      for (j = Y2_cols >> 1; j > 0; j--)
	
	{
	  *Y4_Ptr++ = *input_ptr++ - 128;
	  *Y4_Ptr++ = *input_ptr++ - 128;
	  *Y4Ptr++ = *input_ptr++ - 128;
	  *Y4Ptr++ = *input_ptr++ - 128;
	  *CB_Ptr++ = *input_ptr++ - 128;
	  *CR_Ptr++ = *input_ptr++ - 128;
	}
      if (cols <= 8)
	
	{
	  for (j = 8 - Y1_cols; j > 0; j--)
	    
	    {
	      *Y3_Ptr++ = *(Y3_Ptr - 1);
	      *Y3Ptr++ = *(Y3Ptr - 1);
	    }
	  for (j = 8; j > 0; j--)
	    
	    {
	      *Y4_Ptr++ = *(Y3_Ptr - 1);
	      *Y4Ptr++ = *(Y3Ptr - 1);
	    }
	}
      
      else
	
	{
	  for (j = 8 - Y2_cols; j > 0; j--)
	    
	    {
	      *Y4_Ptr++ = *(Y4_Ptr - 1);
	      *Y4Ptr++ = *(Y4Ptr - 1);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂资源在线中文精品| 欧美激情一区在线观看| 无码av免费一区二区三区试看| 日韩一区二区三区免费观看| 亚洲在线免费播放| 欧美日韩亚洲另类| 亚洲电影一级黄| 欧美日韩一区在线观看| 另类综合日韩欧美亚洲| 日韩免费观看高清完整版 | 91高清在线观看| 亚洲国产美国国产综合一区二区| 日本不卡一二三| 精品乱人伦小说| 国产成人免费高清| 亚洲免费看黄网站| 亚洲综合在线电影| 国产精品一二三四区| 中文乱码免费一区二区| 国产精品理论在线观看| 91在线视频在线| 亚洲成人中文在线| 2022国产精品视频| k8久久久一区二区三区| 五月开心婷婷久久| 久久久九九九九| 欧美日韩一区不卡| 丁香婷婷深情五月亚洲| 亚洲国产视频一区二区| 精品国产免费人成电影在线观看四季| |精品福利一区二区三区| 欧美三级电影在线看| 国内精品嫩模私拍在线| 亚洲激情一二三区| 精品久久人人做人人爱| 欧美在线观看视频一区二区| 久草热8精品视频在线观看| 一区二区三区中文字幕精品精品 | 日韩成人一级大片| 精品国产乱码久久久久久闺蜜 | 免费成人结看片| 国产精品天美传媒| 日韩美女在线视频| 欧美在线观看视频一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在 | 91在线精品一区二区| 欧美aaaaa成人免费观看视频| 91精品国产91热久久久做人人| 亚洲国产欧美在线| 中文字幕一区二区三区在线不卡| 福利一区在线观看| 天天综合日日夜夜精品| 中文字幕一区二区日韩精品绯色| 91在线观看免费视频| 精品午夜久久福利影院| 亚洲国产精品一区二区www| 国产亚洲欧美日韩在线一区| 欧美日韩不卡一区二区| 在线免费av一区| 91在线观看下载| 99久久精品国产精品久久| 国产一区二区美女| 麻豆国产精品777777在线| 亚洲一区二区黄色| 亚洲精品ww久久久久久p站| 中文字幕精品在线不卡| 久久蜜桃av一区精品变态类天堂| www.综合网.com| 成人午夜在线免费| 国产成人免费视频一区| 狠狠色丁香久久婷婷综| 久久精品免费观看| 老司机免费视频一区二区三区| 久久综合久久久久88| 日韩欧美国产三级| 91精品国产麻豆国产自产在线 | 91国模大尺度私拍在线视频| va亚洲va日韩不卡在线观看| a美女胸又www黄视频久久| 国产精品一区二区黑丝| 国产成人免费视频网站高清观看视频| 中文字幕中文字幕一区二区| 久久欧美中文字幕| 久久久久久日产精品| 国产午夜精品一区二区| 国产精品女人毛片| 亚洲日穴在线视频| 国产乱码精品1区2区3区| 欧美xxxxx牲另类人与| 欧美成人在线直播| 久久综合色之久久综合| 国产亚洲欧洲一区高清在线观看| 成人丝袜18视频在线观看| 粉嫩av一区二区三区| 97se亚洲国产综合在线| 色系网站成人免费| 欧美肥大bbwbbw高潮| 日韩一二三四区| 国产人久久人人人人爽| 亚洲欧美日韩在线不卡| 婷婷六月综合网| 精品写真视频在线观看| 丰满亚洲少妇av| 欧美色欧美亚洲另类二区| 欧美大度的电影原声| 中文字幕第一区第二区| 一区二区三区久久| 麻豆成人综合网| 成人av免费网站| 欧美高清激情brazzers| 精品成人一区二区三区四区| 国产精品美女久久久久久久 | 日韩视频一区二区在线观看| 日韩欧美的一区| 欧美激情一区二区在线| 亚洲在线观看免费视频| 国内精品久久久久影院色| 色婷婷av久久久久久久| 精品国免费一区二区三区| 国产精品久久久久久亚洲毛片| 国产亚洲va综合人人澡精品 | 欧美人妇做爰xxxⅹ性高电影| 成人午夜精品在线| 在线欧美日韩国产| 国产亚洲精品福利| 午夜一区二区三区在线观看| 国产精品99精品久久免费| 日本道精品一区二区三区| 精品电影一区二区| 亚洲裸体在线观看| 精品中文av资源站在线观看| 在线一区二区三区| 久久久久久久久久久久久女国产乱| 欧美不卡在线视频| 亚洲欧洲美洲综合色网| 日韩av不卡在线观看| 色婷婷国产精品| 久久精品视频网| 日本美女一区二区三区| av一二三不卡影片| 久久夜色精品一区| 秋霞国产午夜精品免费视频| 91久久精品一区二区| 日本一区二区高清| 久久国产精品72免费观看| 欧美在线视频全部完| 国产精品视频你懂的| 国产一区不卡精品| 欧美一级专区免费大片| 亚洲国产成人av| 99国产精品久久| 国产精品久久午夜| 国产在线视视频有精品| 日韩欧美你懂的| 丝袜诱惑亚洲看片| 欧美日韩国产一区| 午夜欧美大尺度福利影院在线看| 日本亚洲三级在线| 欧美影视一区二区三区| 亚洲少妇最新在线视频| 成人av电影在线网| 国产精品不卡视频| 99久久免费国产| 1区2区3区精品视频| 成人av免费网站| 亚洲视频一区二区在线| 99国产精品久| 一区二区三区精品在线观看| 91丨九色丨国产丨porny| 18欧美乱大交hd1984| 色乱码一区二区三区88| 一区二区三区日韩欧美精品| 一本久久精品一区二区| 亚洲一区二区在线视频| 欧美日韩午夜在线视频| 午夜精品国产更新| 日韩一级片在线播放| 裸体一区二区三区| 久久亚洲精精品中文字幕早川悠里| 亚洲美腿欧美偷拍| 欧美亚男人的天堂| 日本最新不卡在线| 欧美一区二区三区系列电影| 免费一级片91| 久久精品综合网| 99re在线视频这里只有精品| 一区二区三区中文字幕精品精品| 国产一区二区三区四区五区入口 | 91小视频免费观看| 亚洲视频一区二区在线观看| 一本大道综合伊人精品热热| 依依成人综合视频| 91精品国产综合久久久久久 | 在线观看91视频| 日韩二区三区四区| 欧美成人欧美edvon| 成人性视频网站| 亚洲成人自拍偷拍| 国产无人区一区二区三区| 亚洲国产三级在线|