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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ftmcp100.c

?? 基于Linux的ffmepg decoder
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "jinclude.h"
#include "jpeglib.h"
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------

/*
  Added by Leo
  Well, our zigzag order is shown as below :
  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
  
  So, our zigzag order to natural order should be :
  0   1   8   16   9   2   3  10
  17  24  32  25  18  11   4   5
  12  19  26  33  40  48  41  34
  27  20  13   6   7  14  21  28
  35  42  49  56  57  50  43  36
  29  22  15  23  30  37  44  51
  58  59  52  45  38  31  39  46
  53  60  61  54  47  55  62  63
  
  Because the quantization table in Local Memory for FTMCP100 Media Coprocessor
  should be transposed according to hardware's algorithm. So we define another
  matrix for zigzag coef order to natural and transposed order to serve this purpose.
*/

/* zigzag coef order to natural and transposed order */
const int jpeg_natural_transpozed_order[DCTSIZE2] = {
  0,  8,  1, 2,  9,  16, 24, 17,
 10,  3,  4, 11, 18, 25, 32, 40,
 33, 26, 19, 12, 5,  6,  13, 20,
 27, 34, 41, 48, 56, 49, 42, 35,
 28, 21, 14,  7, 15, 22, 29, 36,
 43, 50, 57, 58, 51, 44, 37, 30,
 23, 31, 38, 45, 52, 59, 60, 53,
 46, 39, 47, 54, 61, 62, 55, 63
};

//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// added by Leo
GLOBAL(void) ftmcp100_set_mcu_dma_params (j_decompress_ptr cinfo)
{
  FTMCP100_CODEC *pCodec=(FTMCP100_CODEC *)cinfo->pCodec;
  int ci,bi;
  jpeg_component_info *compptr;
  //unsigned int mcublks=0;
  unsigned int comp=0;
  unsigned short tbidx[3]= { 0,0,0 };
  unsigned int bc=0; // block counts
  unsigned int mcutir=0; // mcu table index

  // Control and Length DMA Register for local command buffer
  // 0x4B10010 in Control and Length register represents
  // TDmask : 1 , BEINT: 0 , TDINT: 0
  // Enable : 1 , Chain: 1 , Dir: 1
  // LType : 00 , SType : 01
  // Transfer Length : 0010
  // It means that to move 16 words(64 bytes) from local memory(sequential) to system memory (2D)
  
  //local command buffer 1
  pCodec->pLDMA[3]  = 0x4B10010;	//chain enable
  pCodec->pLDMA[7]  = 0x4B10010;
  pCodec->pLDMA[11] = 0x4B10010;
  pCodec->pLDMA[15] = 0x4B10010;
  pCodec->pLDMA[19] = 0x4B10010;
  pCodec->pLDMA[23] = 0x4B10010;
  pCodec->pLDMA[27] = 0x4B10010;
  pCodec->pLDMA[31] = 0x4B10010;
  pCodec->pLDMA[35] = 0x4B10010;
  pCodec->pLDMA[39] = 0x4B10010;
  //local command buffer 2
  pCodec->pLDMA[43] = 0x4B10010;	//chain enable
  pCodec->pLDMA[47] = 0x4B10010;
  pCodec->pLDMA[51] = 0x4B10010;
  pCodec->pLDMA[55] = 0x4B10010;
  pCodec->pLDMA[59] = 0x4B10010;
  pCodec->pLDMA[63] = 0x4B10010;
  pCodec->pLDMA[67] = 0x4B10010;
  pCodec->pLDMA[71] = 0x4B10010;
  pCodec->pLDMA[75] = 0x4B10010;
  pCodec->pLDMA[79] = 0x4B10010;
  
  //Local Memory base address (word alginment)
  //local command buffer1
  #ifdef CORE_VERSION_1
    pCodec->pLDMA[1] = (unsigned int) (CUR_B0);
    pCodec->pLDMA[5] = (unsigned int) (CUR_B1);
    pCodec->pLDMA[9] = (unsigned int) (CUR_B2);
    pCodec->pLDMA[13] = (unsigned int) (CUR_B3);
    pCodec->pLDMA[17] = (unsigned int) (CUR_B4);	
    pCodec->pLDMA[21] = (unsigned int) (CUR_B5);
    pCodec->pLDMA[25] = (unsigned int) (CUR_B6);
    pCodec->pLDMA[29] = (unsigned int) (CUR_B7);
    pCodec->pLDMA[33] = (unsigned int) (CUR_B8);
    pCodec->pLDMA[37] = (unsigned int) (CUR_B9);

    //local command buffer2
    pCodec->pLDMA[41] = (unsigned int) (CUR_B0 + STRIDE_MCU);	
    pCodec->pLDMA[45] = (unsigned int) (CUR_B1 + STRIDE_MCU);
    pCodec->pLDMA[49] = (unsigned int) (CUR_B2 + STRIDE_MCU);
    pCodec->pLDMA[53] = (unsigned int) (CUR_B3 + STRIDE_MCU);	
    pCodec->pLDMA[57] = (unsigned int) (CUR_B4 + STRIDE_MCU);	
    pCodec->pLDMA[61] = (unsigned int) (CUR_B5 + STRIDE_MCU);	
    pCodec->pLDMA[65] = (unsigned int) (CUR_B6 + STRIDE_MCU);	
    pCodec->pLDMA[69] = (unsigned int) (CUR_B7 + STRIDE_MCU);	
    pCodec->pLDMA[73] = (unsigned int) (CUR_B8 + STRIDE_MCU);	
    pCodec->pLDMA[77] = (unsigned int) (CUR_B9 + STRIDE_MCU);
  #elif defined(CORE_VERSION_2)
    pCodec->pLDMA[1] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B0);
    pCodec->pLDMA[5] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B1);
    pCodec->pLDMA[9] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B2);
    pCodec->pLDMA[13] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B3);
    pCodec->pLDMA[17] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B4);	
    pCodec->pLDMA[21] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B5);
    pCodec->pLDMA[25] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B6);
    pCodec->pLDMA[29] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B7);
    pCodec->pLDMA[33] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B8);
    pCodec->pLDMA[37] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B9);

    //local command buffer2
    pCodec->pLDMA[41] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B0 + STRIDE_MCU);	
    pCodec->pLDMA[45] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B1 + STRIDE_MCU);
    pCodec->pLDMA[49] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B2 + STRIDE_MCU);
    pCodec->pLDMA[53] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B3 + STRIDE_MCU);	
    pCodec->pLDMA[57] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B4 + STRIDE_MCU);	
    pCodec->pLDMA[61] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B5 + STRIDE_MCU);	
    pCodec->pLDMA[65] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B6 + STRIDE_MCU);	
    pCodec->pLDMA[69] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B7 + STRIDE_MCU);	
    pCodec->pLDMA[73] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B8 + STRIDE_MCU);	
    pCodec->pLDMA[77] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B9 + STRIDE_MCU);  
  #else
    #error "Please define the hardware core version (either CORE_VERSION_1 or CORE_VERSION_2)"
  #endif

  
  for (ci = 0; ci < cinfo->comps_in_scan; ci++)
    {
      compptr = cinfo->cur_comp_info[ci];
      //mcublks+=compptr->MCU_blocks;

      if(ci<3) // just for boundary safety
        {
		  tbidx[ci] = compptr->ac_tbl_no;
		  tbidx[ci] = (tbidx[ci]<<1) | compptr->dc_tbl_no;
		  tbidx[ci] = (tbidx[ci]<<2) | compptr->quant_tbl_no;
		  tbidx[ci] = tbidx[ci] & 0xf;
	    }

      for(bi=0;bi<compptr->MCU_blocks;bi++)
        {
          // fill the Block Width Register for Sequential-to-2D (S2D)
          // We move sequential data in local memory to 2D data in system memory
          // note that the Line Offset field in Block Width Register is defined as
          // frame width minus block width plus one (in word)
          // therefore, the System Memory Line Offset can be written as
          // "(cinfo->MCUs_per_row * compptr->MCU_width)*2-2+1"
          #ifdef CORE_VERSION_1
		    pCodec->pLDMA[2+bc*4]  = ((( cinfo->MCUs_per_row * compptr->MCU_width)*2-1)<<8) | 0x02;
		    pCodec->pLDMA[42+bc*4] = ((( cinfo->MCUs_per_row * compptr->MCU_width)*2-1)<<8) | 0x02;
		  #elif defined(CORE_VERSION_2)
		    pCodec->pLDMA[2+bc*4]  = ((( cinfo->MCUs_per_row * compptr->MCU_width)*2-1)<<6) | 0x01;
		    pCodec->pLDMA[42+bc*4] = ((( cinfo->MCUs_per_row * compptr->MCU_width)*2-1)<<6) | 0x01;
		  #else
            #error "Please define the hardware core version (either CORE_VERSION_1 or CORE_VERSION_2)"
          #endif
		  

          comp = comp | (cinfo->MCU_membership[bc] << (bc<<1));	//pwhsu++:20040108
          bc++;
	    }
    }

  mcutir = (((tbidx[2]<<8) | (tbidx[1]<<4) | tbidx[0]) << 20) | (comp&0xfffff);

  //SET_MCUBR(mcublks) , we set the MCUBR in the ftmcp100_store_multilevel_huffman_table() funciton
  SET_MCUTIR(mcutir)
  
  pCodec->pLDMA[cinfo->blocks_in_MCU*4-1] = 0x00910010;	//chain disable at the end of blocks
  pCodec->pLDMA[cinfo->blocks_in_MCU*4+39] = 0x00910010;	//chain disable at the end of blocks

}

GLOBAL(void) ftmcp100_set_mcu_dma_noninterleaved_params (j_decompress_ptr cinfo)
{
  FTMCP100_CODEC *pCodec=(FTMCP100_CODEC *)cinfo->pCodec;
  int ci,bi;
  jpeg_component_info *compptr;
  int comp_index;
  unsigned int mcublks=0;
  unsigned int comp=0;
  unsigned short tbidx[3]= { 0,0,0 };
  unsigned int bc=0; // block counts
  unsigned int mcutir=0; // mcu table index

  // Control and Length DMA Register for local command buffer
  // 0x4B10010 in Control and Length register represents
  // TDmask : 1 , BEINT: 0 , TDINT: 0
  // Enable : 1 , Chain: 1 , Dir: 1
  // LType : 00 , SType : 01
  // Transfer Length : 0010
  // It means that to move 16 words(64 bytes) from local memory(sequential) to system memory (2D)

  //local command buffer 1
  pCodec->pLDMA[3]  = 0x4B10010;	//chain enable
  pCodec->pLDMA[7]  = 0x4B10010;
  pCodec->pLDMA[11] = 0x4B10010;
  pCodec->pLDMA[15] = 0x4B10010;
  pCodec->pLDMA[19] = 0x4B10010;
  pCodec->pLDMA[23] = 0x4B10010;
  pCodec->pLDMA[27] = 0x4B10010;
  pCodec->pLDMA[31] = 0x4B10010;
  pCodec->pLDMA[35] = 0x4B10010;
  pCodec->pLDMA[39] = 0x4B10010;
  //local command buffer 2
  pCodec->pLDMA[43] = 0x4B10010;	//chain enable
  pCodec->pLDMA[47] = 0x4B10010;
  pCodec->pLDMA[51] = 0x4B10010;
  pCodec->pLDMA[55] = 0x4B10010;
  pCodec->pLDMA[59] = 0x4B10010;
  pCodec->pLDMA[63] = 0x4B10010;
  pCodec->pLDMA[67] = 0x4B10010;
  pCodec->pLDMA[71] = 0x4B10010;
  pCodec->pLDMA[75] = 0x4B10010;
  pCodec->pLDMA[79] = 0x4B10010;    
  //#endif

  //Local Memory base address (word alginment)
  //local command buffer1
  #ifdef CORE_VERSION_1
    pCodec->pLDMA[1] = (unsigned int) (CUR_B0);
    pCodec->pLDMA[5] = (unsigned int) (CUR_B1);
    pCodec->pLDMA[9] = (unsigned int) (CUR_B2);
    pCodec->pLDMA[13] = (unsigned int) (CUR_B3);
    pCodec->pLDMA[17] = (unsigned int) (CUR_B4);	
    pCodec->pLDMA[21] = (unsigned int) (CUR_B5);
    pCodec->pLDMA[25] = (unsigned int) (CUR_B6);
    pCodec->pLDMA[29] = (unsigned int) (CUR_B7);
    pCodec->pLDMA[33] = (unsigned int) (CUR_B8);
    pCodec->pLDMA[37] = (unsigned int) (CUR_B9);

    //local command buffer2
    pCodec->pLDMA[41] = (unsigned int) (CUR_B0 + STRIDE_MCU);	
    pCodec->pLDMA[45] = (unsigned int) (CUR_B1 + STRIDE_MCU);
    pCodec->pLDMA[49] = (unsigned int) (CUR_B2 + STRIDE_MCU);
    pCodec->pLDMA[53] = (unsigned int) (CUR_B3 + STRIDE_MCU);	
    pCodec->pLDMA[57] = (unsigned int) (CUR_B4 + STRIDE_MCU);	
    pCodec->pLDMA[61] = (unsigned int) (CUR_B5 + STRIDE_MCU);	
    pCodec->pLDMA[65] = (unsigned int) (CUR_B6 + STRIDE_MCU);	
    pCodec->pLDMA[69] = (unsigned int) (CUR_B7 + STRIDE_MCU);	
    pCodec->pLDMA[73] = (unsigned int) (CUR_B8 + STRIDE_MCU);	
    pCodec->pLDMA[77] = (unsigned int) (CUR_B9 + STRIDE_MCU);
  #elif defined(CORE_VERSION_2)
    pCodec->pLDMA[1] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B0);
    pCodec->pLDMA[5] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B1);
    pCodec->pLDMA[9] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B2);
    pCodec->pLDMA[13] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B3);
    pCodec->pLDMA[17] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B4);	
    pCodec->pLDMA[21] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B5);
    pCodec->pLDMA[25] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B6);
    pCodec->pLDMA[29] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B7);
    pCodec->pLDMA[33] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B8);
    pCodec->pLDMA[37] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B9);

    //local command buffer2
    pCodec->pLDMA[41] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B0 + STRIDE_MCU);	
    pCodec->pLDMA[45] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B1 + STRIDE_MCU);
    pCodec->pLDMA[49] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B2 + STRIDE_MCU);
    pCodec->pLDMA[53] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B3 + STRIDE_MCU);	
    pCodec->pLDMA[57] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B4 + STRIDE_MCU);	
    pCodec->pLDMA[61] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B5 + STRIDE_MCU);	
    pCodec->pLDMA[65] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B6 + STRIDE_MCU);	
    pCodec->pLDMA[69] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B7 + STRIDE_MCU);	
    pCodec->pLDMA[73] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B8 + STRIDE_MCU);	
    pCodec->pLDMA[77] = (unsigned int) TRANSLATE_LOCAL_MEMORY_BASE_ADDRESS(CUR_B9 + STRIDE_MCU);
  #else
    #error "Please define the hardware core version (either CORE_VERSION_1 or CORE_VERSION_2)"
  #endif
  
  for (ci = 0; ci < cinfo->comps_in_scan; ci++)
    {
      //#ifdef FPGA_PLATFORM
        //unsigned int comps_length;
      //#endif
      compptr = cinfo->cur_comp_info[ci];
      mcublks+=compptr->MCU_blocks;
      comp_index=compptr->component_index;

      if(ci<3) // just for boundary safety
        {
		  //tbidx[ci] = compptr->ac_tbl_no;
		  //tbidx[ci] = (tbidx[ci]<<1) | compptr->dc_tbl_no;
		  //tbidx[ci] = (tbidx[ci]<<2) | compptr->quant_tbl_no;
		  //tbidx[ci] = tbidx[ci] & 0xf;		  
		  tbidx[comp_index] = compptr->ac_tbl_no;
		  tbidx[comp_index] = (tbidx[comp_index]<<1) | compptr->dc_tbl_no;
		  tbidx[comp_index] = (tbidx[comp_index]<<2) | compptr->quant_tbl_no;
		  tbidx[comp_index] = tbidx[comp_index] & 0xf;
	    }

      for(bi=0;bi<compptr->MCU_blocks;bi++)
        {
          // fill the Block Width Register for Sequential-to-2D (S2D)
          // We move sequential data in local memory to 2D data in system memory
          // note that the Line Offset field in Block Width Register is defined as
          // frame width minus block width plus one (in word)
          // therefore, the System Memory Line Offset can be written as
          // "(cinfo->MCUs_per_row * compptr->MCU_width)*2-2+1"
          #ifdef CORE_VERSION_1
		    pCodec->pLDMA[2+bc*4]  = ((( cinfo->MCUs_per_row * compptr->MCU_width)*2-1)<<8) | 0x02;
		    pCodec->pLDMA[42+bc*4] = ((( cinfo->MCUs_per_row * compptr->MCU_width)*2-1)<<8) | 0x02;
          #elif defined(CORE_VERSION_2)
            pCodec->pLDMA[2+bc*4]  = ((( cinfo->MCUs_per_row * compptr->MCU_width)*2-1)<<6) | 0x01;
		    pCodec->pLDMA[42+bc*4] = ((( cinfo->MCUs_per_row * compptr->MCU_width)*2-1)<<6) | 0x01;
          #else
            #error "Please define the hardware core version (either CORE_VERSION_1 or CORE_VERSION_2)"
          #endif
          
          //comp = comp | (cinfo->MCU_membership[bc] << (bc<<1));	//pwhsu++:20040108
          comp = comp | (compptr->component_index << (bc<<1));	//pwhsu++:20040108
          bc++;
	    }
    }

  mcutir = (((tbidx[2]<<8) | (tbidx[1]<<4) | tbidx[0]) << 20) | (comp&0xfffff);

  SET_MCUBR(mcublks) // we set the MCUBR in the ftmcp100_store_multilevel_huffman_table() funciton
  SET_MCUTIR(mcutir)
  
  pCodec->pLDMA[cinfo->blocks_in_MCU*4-1] = 0x00910010;	//chain disable at the end of blocks
  pCodec->pLDMA[cinfo->blocks_in_MCU*4+39] = 0x00910010;	//chain disable at the end of blocks
}

// added by Leo

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久蜜臀| 欧美少妇bbb| 污片在线观看一区二区| 日韩理论片一区二区| 欧美国产一区二区| 国产日韩高清在线| 国产精品美女久久福利网站| 日本一区二区三区视频视频| 国产欧美一区在线| 国产精品午夜春色av| **网站欧美大片在线观看| 国产精品亲子伦对白| 亚洲免费观看高清完整版在线| 国产精品久久久久久久久免费樱桃| 国产欧美一二三区| 亚洲欧洲一区二区在线播放| 国产精品久久久久久户外露出| 中文字幕一区二区三区四区 | 国产成人av电影免费在线观看| 久久精品国产精品亚洲红杏 | 欧美激情一区三区| 久久综合九色综合97婷婷| 久久久久久久久岛国免费| 国产精品视频免费| 一区二区三区四区视频精品免费 | 91精品国产乱码| 久久先锋影音av鲁色资源| 国产亚洲成aⅴ人片在线观看| 久久网这里都是精品| 国产精品国产自产拍高清av王其| 一区二区三区在线视频观看58| 午夜国产精品一区| 精品午夜久久福利影院| 成人一区二区三区在线观看| 91九色02白丝porn| 日韩欧美一卡二卡| 欧美一区二区黄色| 亚洲国产日韩a在线播放性色| 亚洲综合色区另类av| 美腿丝袜亚洲综合| 波多野结衣精品在线| 欧美色涩在线第一页| 国产午夜久久久久| 亚洲午夜精品17c| 国产在线看一区| 在线精品国精品国产尤物884a| 精品免费视频一区二区| 亚洲精品乱码久久久久| 精品一区二区国语对白| 色噜噜狠狠色综合欧洲selulu| 精品国精品国产| 亚洲综合一区二区三区| 国产成人a级片| 欧美一区二区成人6969| 亚洲美女视频一区| 大尺度一区二区| 日韩一卡二卡三卡四卡| 一区二区欧美视频| 不卡一区在线观看| 欧美精品一区二区在线播放| 亚洲3atv精品一区二区三区| av毛片久久久久**hd| 精品第一国产综合精品aⅴ| 天天爽夜夜爽夜夜爽精品视频| 99久久免费精品高清特色大片| 日韩精品一区二区三区中文不卡| 亚洲一区在线播放| av在线不卡观看免费观看| 久久色.com| 国产麻豆精品在线| ww亚洲ww在线观看国产| 石原莉奈在线亚洲二区| 欧美亚洲自拍偷拍| 夜夜爽夜夜爽精品视频| 91免费视频大全| 亚洲欧美日韩在线播放| 99国产精品国产精品久久| 国产精品无遮挡| www.亚洲精品| 国产精品久久久久久久久动漫 | 亚洲免费色视频| av电影天堂一区二区在线观看| 久久综合国产精品| 国产精品一二三| 中文字幕av在线一区二区三区| 国产成人鲁色资源国产91色综| 久久日韩精品一区二区五区| 国产精品一级在线| 国产精品网曝门| 97精品视频在线观看自产线路二| 最新成人av在线| 在线观看国产日韩| 亚洲18影院在线观看| 正在播放亚洲一区| 久久精品国产亚洲一区二区三区| 日韩欧美一区二区视频| 国产一区二区h| 日韩一区在线播放| 欧美在线看片a免费观看| 午夜私人影院久久久久| 日韩欧美专区在线| 丁香六月久久综合狠狠色| 亚洲视频一二区| 欧美日韩中文字幕精品| 久久精品国产亚洲高清剧情介绍| 久久婷婷成人综合色| 成人av在线观| 日本视频中文字幕一区二区三区| 日韩欧美一级片| www.成人在线| 日韩国产精品久久| 国产女主播一区| 欧美日韩免费一区二区三区| 另类的小说在线视频另类成人小视频在线 | 精品综合久久久久久8888| 久久久91精品国产一区二区精品| 91在线丨porny丨国产| 日本中文字幕一区二区有限公司| 国产欧美综合在线| 欧美亚洲丝袜传媒另类| 国产美女精品在线| 亚洲国产中文字幕| 国产女同互慰高潮91漫画| 欧美手机在线视频| 高清国产一区二区| 久久97超碰色| 亚洲va天堂va国产va久| 久久久久久免费网| 欧美艳星brazzers| 成人v精品蜜桃久久一区| 天天影视网天天综合色在线播放| 亚洲国产成人在线| 精品国产乱码久久久久久1区2区 | 午夜久久久久久久久| 国产精品免费aⅴ片在线观看| 91精品国产综合久久国产大片 | 天天综合网天天综合色| 亚洲欧洲日韩一区二区三区| 亚洲精品一区二区三区香蕉| 欧美三日本三级三级在线播放| 国产高清不卡一区| 精品影视av免费| 日韩成人免费在线| 午夜精品久久久久久久久久| 亚洲人123区| 国产精品国模大尺度视频| 久久久亚洲国产美女国产盗摄| 欧美日韩电影在线播放| 日本电影欧美片| 91老师片黄在线观看| 国产福利一区二区三区视频| 精品一区二区三区免费| 免费一级片91| 久久精品国产99久久6| 日本视频免费一区| 美女视频一区在线观看| 男人的天堂亚洲一区| 青草国产精品久久久久久| 天天色 色综合| 蜜臀av性久久久久蜜臀aⅴ流畅 | 久久精品国产秦先生| 免费在线欧美视频| 美女一区二区在线观看| 日日夜夜精品视频天天综合网| 日韩制服丝袜av| 精品一区二区三区日韩| 另类人妖一区二区av| 六月婷婷色综合| 国产99久久久精品| 成人av小说网| 91成人在线免费观看| 欧美日韩精品久久久| 日韩一区二区免费高清| 久久久久久久久一| 亚洲免费看黄网站| 午夜视频在线观看一区二区 | 国产精品国产精品国产专区不蜜| 欧美激情一区二区三区不卡| 亚洲精品乱码久久久久久黑人| 五月婷婷欧美视频| 激情图片小说一区| 成人av午夜电影| 7777精品伊人久久久大香线蕉完整版 | 欧美另类久久久品| 久久精品亚洲精品国产欧美| 亚洲欧洲www| 日韩国产在线观看| 成人免费电影视频| 欧美群妇大交群中文字幕| 久久久青草青青国产亚洲免观| 亚洲私人影院在线观看| 九九热在线视频观看这里只有精品| 成人在线综合网| 日韩一区二区三区在线观看| 国产视频在线观看一区二区三区| 一区二区三区在线视频观看58| 久久精品国产999大香线蕉| 波多野结衣视频一区| 色系网站成人免费| 国产日韩高清在线|