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

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

?? skl_mpg4_rvop.cpp

?? mpeg4編解碼器
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************** * Some code. Copyright (C) 2003 by Pascal Massimino.   * * All Rights Reserved.      (http://skal.planet-d.net) * * For Educational/Academic use ONLY. See 'LICENSE.TXT'.* ********************************************************//* * skl_mpg4_rvop.cpp * * MPEG4 decoder. Reduced-Resolution related funcs. ********************************************************/#include "./skl_mpg4i.h"//////////////////////////////////////////////////////////// Reduced-I/P-VOP//////////////////////////////////////////////////////////void SKL_MB::Next_Reduced(){  SKL_ASSERT(VOL->Reduced_VOP>0);  Tops[0] += 2;  Tops[1] += 2;  Tops[2] += 2;  Tops[3] += 2;  Tops[4] += 1;  Tops[5] += 1;  Curs[0] += 2;  Curs[1] += 2;  Curs[2] += 2;  Curs[3] += 2;  Curs[4] += 1;  Curs[5] += 1;  MVs  += 2;  MVs2 += 2;  Y1  += 32;  Y2  += 32;  U   += 16;  V   += 16;  Limit_Mins[0] -= 2*MB_Pels;  Limit_Maxs[0] -= 2*MB_Pels;  Limit_Mins_UV[0] -= 2*16;  Limit_Maxs_UV[0] -= 2*16;  x += 2;  Pos += 2;}//////////////////////////////////////////////////////////// section 7.6.10.1.5static void Post_Filter(const SKL_MB * const MB){  const int BpS = MB->VOL->BpS;  if (MB->y>0 && MB->Map[MB->Pos-MB->VOL->MB_W].Type!=SKL_MAP_SKIPPED) {    MB->VOL->MB_Ops.HFilter_31(MB->Y1-BpS, MB->Y1, 4);    MB->VOL->MB_Ops.HFilter_31(MB->U-BpS, MB->U, 2);    MB->VOL->MB_Ops.HFilter_31(MB->V-BpS, MB->V, 2);  }  MB->VOL->MB_Ops.HFilter_31(MB->Y1+16*BpS-BpS, MB->Y1+16*BpS, 4);  if (MB->x>0 && MB->Map[MB->Pos-1].Type!=SKL_MAP_SKIPPED) {    MB->VOL->MB_Ops.VFilter_31(MB->Y1-1, MB->Y1, BpS, 4);    MB->VOL->MB_Ops.VFilter_31(MB->U-1, MB->U, BpS, 2);    MB->VOL->MB_Ops.VFilter_31(MB->V-1, MB->V, BpS, 2);  }    MB->VOL->MB_Ops.VFilter_31(MB->Y1+15, MB->Y1+16, BpS, 4);}//////////////////////////////////////////////////////////// Writing an 'upsampling' version of IDct_Put/IDct_Add// is out of question (my shrink said;). So, let's split// the work in two:inlinevoid SKL_MB::Copy_16To8_Upsampled(SKL_INT16 In[6*64]) const{  VOL->Quant_Ops.IDct_Sparse(In+0*64);  VOL->Quant_Ops.IDct_Sparse(In+1*64);  VOL->Quant_Ops.IDct_Sparse(In+2*64);  VOL->Quant_Ops.IDct_Sparse(In+3*64);  VOL->Quant_Ops.IDct_Sparse(In+4*64);  VOL->Quant_Ops.IDct_Sparse(In+5*64);  VOL->MB_Ops.Copy_Upsampled_8x8_16To8(Y1,   In+0*64, YBpS);  VOL->MB_Ops.Copy_Upsampled_8x8_16To8(Y1+16,In+1*64, YBpS);  if (Field_DCT<=0) {    VOL->MB_Ops.Copy_Upsampled_8x8_16To8(Y1+2*BpS8,   In+2*64, YBpS);    VOL->MB_Ops.Copy_Upsampled_8x8_16To8(Y1+2*BpS8+16,In+3*64, YBpS);  }  else {    VOL->MB_Ops.Copy_Upsampled_8x8_16To8(Y1+BpS,   In+2*64, YBpS);    VOL->MB_Ops.Copy_Upsampled_8x8_16To8(Y1+BpS+16,In+3*64, YBpS);  }  VOL->MB_Ops.Copy_Upsampled_8x8_16To8(U,    In+4*64, BpS);  VOL->MB_Ops.Copy_Upsampled_8x8_16To8(V,    In+5*64, BpS);}inlinevoid SKL_MB::Add_16To8_Upsampled(SKL_INT16 In[6*64]) const{  if (Cbp&0x20) VOL->Quant_Ops.IDct_Sparse(In+0*64);  if (Cbp&0x10) VOL->Quant_Ops.IDct_Sparse(In+1*64);  if (Cbp&0x08) VOL->Quant_Ops.IDct_Sparse(In+2*64);  if (Cbp&0x04) VOL->Quant_Ops.IDct_Sparse(In+3*64);  if (Cbp&0x02) VOL->Quant_Ops.IDct_Sparse(In+4*64);  if (Cbp&0x01) VOL->Quant_Ops.IDct_Sparse(In+5*64);  if (Cbp&0x20) VOL->MB_Ops.Add_Upsampled_8x8_16To8(Y1,   In+0*64, YBpS);  if (Cbp&0x10) VOL->MB_Ops.Add_Upsampled_8x8_16To8(Y1+16,In+1*64, YBpS);  if (Field_DCT<=0) {    if (Cbp&0x08) VOL->MB_Ops.Add_Upsampled_8x8_16To8(Y1+2*BpS8,   In+2*64, YBpS);    if (Cbp&0x04) VOL->MB_Ops.Add_Upsampled_8x8_16To8(Y1+2*BpS8+16,In+3*64, YBpS);  }  else {    if (Cbp&0x08) VOL->MB_Ops.Add_Upsampled_8x8_16To8(Y1+BpS,   In+2*64, YBpS);    if (Cbp&0x04) VOL->MB_Ops.Add_Upsampled_8x8_16To8(Y1+BpS+16,In+3*64, YBpS);  }  if (Cbp&0x02) VOL->MB_Ops.Add_Upsampled_8x8_16To8(U,    In+4*64, BpS);  if (Cbp&0x01) VOL->MB_Ops.Add_Upsampled_8x8_16To8(V,    In+5*64, BpS);}//////////////////////////////////////////////////////////// This functions expands the informations from a 16x16// block to a 32x32 one.inline void SKL_MB::Expand_Reduced() const{  const int Type = MB_To_Map_Type[MB_Type];  Map[Pos            ].Type = Type;  Map[Pos          +1].Type = Type;  Map[Pos+VOL->MB_W  ].Type = Type;  Map[Pos+VOL->MB_W+1].Type = Type;  Map[Pos          +1].dQ = 0;  Map[Pos+VOL->MB_W  ].dQ = 0;  Map[Pos+VOL->MB_W+1].dQ = 0;    // expand the MVs. Normally, it should only be    // useful if a BVOP follows (Low_Delay=0)  SKL_MV * const MVs3 = MVs2 + MV_Stride;  SKL_MV * const MVs4 = MVs3 + MV_Stride;  if (Map[Pos].Type!=SKL_MAP_16x8) {  // SKIPPED, INTRA, 8x8 or 16x16/*   12|        11|22   <-MVs []   34|        11|22   <-MVs2[]   --+-   =>  --+--     |        33|44   <-MVs3[]              33|44   <-MVs4[]*/      /* expand lines #1/#3 */    SKL_COPY_MV(MVs [2], MVs [1]);    SKL_COPY_MV(MVs [3], MVs [1]);    SKL_COPY_MV(MVs [1], MVs [0]);    SKL_COPY_MV(MVs3[0], MVs2[0]);    SKL_COPY_MV(MVs3[1], MVs2[0]);    SKL_COPY_MV(MVs3[2], MVs2[1]);    SKL_COPY_MV(MVs3[3], MVs2[1]);      /* copy lines #1/#3 to #2/#4 */    SKL_COPY_MV(MVs4[0], MVs3[0]);    SKL_COPY_MV(MVs4[1], MVs3[1]);    SKL_COPY_MV(MVs4[2], MVs3[2]);    SKL_COPY_MV(MVs4[3], MVs3[3]);    SKL_COPY_MV(MVs2[0], MVs [0]);    SKL_COPY_MV(MVs2[1], MVs [1]);    SKL_COPY_MV(MVs2[2], MVs [2]);    SKL_COPY_MV(MVs2[3], MVs [3]);  }  else {    /* ?!?! TODO: is it right ?!?! *//*   12|        12|12   <-MVs []   33|        33|33   <-MVs2[]   --+-   =>  --+--     |        12|12   <-MVs3[]              33|33   <-MVs4[]*/    SKL_COPY_MV(MVs [2], MVs [0]);    SKL_COPY_MV(MVs [3], MVs [1]);    SKL_COPY_MV(MVs3[0], MVs [0]);    SKL_COPY_MV(MVs3[1], MVs [1]);    SKL_COPY_MV(MVs3[2], MVs [0]);    SKL_COPY_MV(MVs3[3], MVs [1]);    SKL_COPY_MV(MVs2[2], MVs2[0]);    SKL_COPY_MV(MVs2[3], MVs2[0]);    SKL_COPY_MV(MVs4[0], MVs2[0]);    SKL_COPY_MV(MVs4[1], MVs2[0]);    SKL_COPY_MV(MVs4[2], MVs2[0]);    SKL_COPY_MV(MVs4[3], MVs2[0]);  }}//////////////////////////////////////////////////////////static void Read_Reduced_I_VOP(SKL_FBB * const Bits, const SKL_MP4_I * const VOP){  SKL_ASSERT(VOP->Reduced_VOP>0);  SKL_MB MB(VOP);  SKL_INT16 Base[7*64+SKL_ALIGN];  SKL_INT16 * const In = (SKL_INT16*)SKL_ALIGN_PTR(Base, SKL_ALIGN);  while(MB.y<VOP->MB_H)  {    MB.Init_Scanline(VOP, 0);    while(MB.x<VOP->MB_W)    {      MB.Decode_Intra_Infos(Bits);      MB.Decode_Intra_Blocks(Bits, In, VOP);      MB.Copy_16To8_Upsampled(In+1*64);      MB.Store_Zero_MV();      MB.Store_Map_Infos();      Post_Filter(&MB);      MB.Expand_Reduced();      if (!MB.Resync || !MB.Resync_Marker(Bits))        MB.Next_Reduced();      if (VOP->Debug_Level==5) {        printf( "%c", ".-="[1+MB.Field_DCT] );        if (MB.x==VOP->MB_W)    printf( "\n" );      }    }    if (VOP->Debug_Level==2) VOP->Dump_Line(0, &MB);    if (MB.y>0 && VOP->Slicer) VOP->Slicer(VOP->Cur, (MB.y-2)*16, 32, VOP->Slicer_Data);    MB.y += 2;  }  if (MB.y>0 && VOP->Slicer) VOP->Slicer(VOP->Cur, (MB.y-2)*16, 32, VOP->Slicer_Data);}//////////////////////////////////////////////////////////#define SCALE_UP_MV(x)  ( ((x)<<1) - ((x)>0) + ((x)<0) )void SKL_MB::Predict_Reduced_With_0MV() const{  const SKL_MB_FUNCS * const Ops = VOL->Copy_Ops;  Ops->HP_16x8[0](Y1,         Y1         + Fwd_CoLoc, BpS);  Ops->HP_16x8[0](Y1   +BpS8, Y1+   BpS8 + Fwd_CoLoc, BpS);  Ops->HP_16x8[0](Y1+16,      Y1+16      + Fwd_CoLoc, BpS);  Ops->HP_16x8[0](Y1+16+BpS8, Y1+16+BpS8 + Fwd_CoLoc, BpS);  Ops->HP_16x8[0](Y1+2*BpS8,         Y1+2*BpS8         + Fwd_CoLoc, BpS);  Ops->HP_16x8[0](Y1+2*BpS8   +BpS8, Y1+2*BpS8+   BpS8 + Fwd_CoLoc, BpS);  Ops->HP_16x8[0](Y1+2*BpS8+16,      Y1+2*BpS8+16      + Fwd_CoLoc, BpS);  Ops->HP_16x8[0](Y1+2*BpS8+16+BpS8, Y1+2*BpS8+16+BpS8 + Fwd_CoLoc, BpS);  Ops->HP_16x8[0](U,          U          + Fwd_CoLoc, BpS);  Ops->HP_16x8[0](U    +BpS8, U    +BpS8 + Fwd_CoLoc, BpS);  Ops->HP_16x8[0](V,          V          + Fwd_CoLoc, BpS);  Ops->HP_16x8[0](V    +BpS8, V    +BpS8 + Fwd_CoLoc, BpS);}void SKL_MB::Predict_Reduced_With_1MV(const SKL_MV MV) const{  const SKL_MB_FUNCS * const Ops = VOL->Copy_Ops;  SKL_MV Tmp;  Tmp[0] = SCALE_UP_MV(MV[0]);  Tmp[1] = SCALE_UP_MV(MV[1]);  Clip(Tmp, Tmp);  // TODO: dunno if it's correct.                   // should we clip on 4x16x16 basis                   // instead of a 32x32 one??  if (!VOL->Quarter) {    Predict_16x16   (Y1,           Y1          +Fwd_CoLoc, Tmp, Ops);    Predict_16x16   (Y1       +16, Y1+       16+Fwd_CoLoc, Tmp, Ops);    Predict_16x16   (Y1+2*BpS8,    Y1+2*BpS8   +Fwd_CoLoc, Tmp, Ops);    Predict_16x16   (Y1+2*BpS8+16, Y1+2*BpS8+16+Fwd_CoLoc, Tmp, Ops);  }  else {      // mirroring problem: should be 32x32 quarter prediction?    Predict_16x16_QP(Y1,           Y1          +Fwd_CoLoc, Tmp, Ops);    Predict_16x16_QP(Y1       +16, Y1+       16+Fwd_CoLoc, Tmp, Ops);    Predict_16x16_QP(Y1+2*BpS8,    Y1+2*BpS8   +Fwd_CoLoc, Tmp, Ops);    Predict_16x16_QP(Y1+2*BpS8+16, Y1+2*BpS8+16+Fwd_CoLoc, Tmp, Ops);  }  SKL_MV uv_MV;  Derive_uv_MV_From_1MV(uv_MV, Tmp);  const int Halves = (uv_MV[0]&1) | ((uv_MV[1]&1)<<1);  const int Off = Fwd_CoLoc + (uv_MV[1]>>1)*BpS + (uv_MV[0]>>1);  Ops->HP_16x8[Halves](U,      U     +Off, BpS);  Ops->HP_16x8[Halves](V,      V     +Off, BpS);  Ops->HP_16x8[Halves](U+BpS8, U+BpS8+Off, BpS);  Ops->HP_16x8[Halves](V+BpS8, V+BpS8+Off, BpS);}void SKL_MB::Predict_Reduced_Fields(const SKL_MV MV[2], const int Fld_Dirs) const{  const SKL_MB_FUNCS * const Ops = VOL->Copy_Ops;  int Off, Halves;  SKL_MV uv_MV;  SKL_MV Tmp;    // 1rst field  Tmp[0] = SCALE_UP_MV(MV[0][0]);  Tmp[1] = SCALE_UP_MV(MV[0][1]);  Clip_Field(Tmp, Tmp);   // TODO: dunno if it's correct.  Off = Fwd_CoLoc;  if (Fld_Dirs&2) Off += BpS;  if (!VOL->Quarter) {    Predict_16x8_Field(Y1,           Y1          +Off, Tmp, Ops);    Predict_16x8_Field(Y1+16,        Y1+16       +Off, Tmp, Ops);    Predict_16x8_Field(Y1   +2*BpS8, Y1   +2*BpS8+Off, Tmp, Ops);    Predict_16x8_Field(Y1+16+2*BpS8, Y1+16+2*BpS8+Off, Tmp, Ops);  }  else  {    Predict_16x8_Field_QP(Y1,           Y1          +Off, Tmp, Ops);    Predict_16x8_Field_QP(Y1+16,        Y1+16       +Off, Tmp, Ops);    Predict_16x8_Field_QP(Y1   +2*BpS8, Y1   +2*BpS8+Off, Tmp, Ops);    Predict_16x8_Field_QP(Y1+16+2*BpS8, Y1+16+2*BpS8+Off, Tmp, Ops);  }  Derive_uv_MV_From_1MV(uv_MV, Tmp);  Halves = (uv_MV[0]&1) | ((uv_MV[1]&1)<<1);  Off += (uv_MV[0]>>1) + (uv_MV[1]&~1)*BpS;  Ops->HP_16x8[Halves](U, U+Off, 2*BpS);  Ops->HP_16x8[Halves](V, V+Off, 2*BpS);    // 2nd field  Tmp[0] = SCALE_UP_MV(MV[1][0]);  Tmp[1] = SCALE_UP_MV(MV[1][1]);  Clip_Field(Tmp, Tmp);   // TODO: (still) dunno if it's correct.  Off = Fwd_CoLoc;  if (Fld_Dirs&1) Off += BpS;  if (!VOL->Quarter) {    Predict_16x8_Field(Y1+BpS,           Y1          +Off, Tmp, Ops);    Predict_16x8_Field(Y1+BpS+16,        Y1+16       +Off, Tmp, Ops);    Predict_16x8_Field(Y1+BpS   +2*BpS8, Y1   +2*BpS8+Off, Tmp, Ops);    Predict_16x8_Field(Y1+BpS+16+2*BpS8, Y1+16+2*BpS8+Off, Tmp, Ops);  }  else  {    Predict_16x8_Field_QP(Y1+BpS,           Y1          +Off, Tmp, Ops);    Predict_16x8_Field_QP(Y1+BpS+16,        Y1+16       +Off, Tmp, Ops);    Predict_16x8_Field_QP(Y1+BpS   +2*BpS8, Y1   +2*BpS8+Off, Tmp, Ops);    Predict_16x8_Field_QP(Y1+BpS+16+2*BpS8, Y1+16+2*BpS8+Off, Tmp, Ops);  }  Derive_uv_MV_From_1MV(uv_MV, Tmp);  Halves = (uv_MV[0]&1) | ((uv_MV[1]&1)<<1);  Off += (uv_MV[0]>>1) + (uv_MV[1]&~1)*BpS;  Ops->HP_16x8[Halves](U+BpS, U+Off, 2*BpS);  Ops->HP_16x8[Halves](V+BpS, V+Off, 2*BpS);}void SKL_MB::Predict_Reduced_With_4MV(const SKL_MV MV1[2], const SKL_MV MV2[2]) const{  const SKL_MB_FUNCS * const Ops = VOL->Copy_Ops;  SKL_MV Tmp[4];  Tmp[0][0] = SCALE_UP_MV(MV1[0][0]);  Tmp[0][1] = SCALE_UP_MV(MV1[0][1]);  Tmp[1][0] = SCALE_UP_MV(MV1[1][0]);  Tmp[1][1] = SCALE_UP_MV(MV1[1][1]);  Tmp[2][0] = SCALE_UP_MV(MV2[0][0]);  Tmp[2][1] = SCALE_UP_MV(MV2[0][1]);  Tmp[3][0] = SCALE_UP_MV(MV2[1][0]);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91综合一区在线观看| 久久99国产精品麻豆| 久久久久久免费毛片精品| 欧美人与禽zozo性伦| 在线观看区一区二| 欧美日韩国产美| 欧美日韩一级二级| 欧美丰满少妇xxxxx高潮对白 | 欧美不卡一区二区三区| 欧美日本在线一区| 欧美一二三四在线| 欧美大片免费久久精品三p| 欧美一区二区三区在线看| 欧美一区午夜精品| 日韩精品一区二区三区四区视频| 日韩免费观看2025年上映的电影| 91精品国产综合久久国产大片| 欧美一区二区视频观看视频| 欧美大胆一级视频| 精品国产精品网麻豆系列| 国产女人aaa级久久久级| 国产精品久久久久久久久动漫| 中文字幕在线一区| 亚洲一区成人在线| 蜜臀av性久久久久av蜜臀妖精| 黄色小说综合网站| 91污片在线观看| 欧美在线色视频| 日韩精品中文字幕在线一区| 国产女人18水真多18精品一级做| 中文字幕一区二区三区在线不卡 | 欧美国产一区二区在线观看| 中文字幕第一区二区| 亚洲美女在线国产| 免费成人在线视频观看| 成人黄色大片在线观看| 欧美日韩国产精品自在自线| 久久久久久久久久久电影| 1区2区3区精品视频| 日本美女一区二区| 国产激情一区二区三区| 欧美这里有精品| 久久精品免费在线观看| 亚洲美女视频在线观看| 久久精品国产亚洲aⅴ| av一区二区久久| 日韩视频永久免费| 亚洲精品日产精品乱码不卡| 麻豆精品精品国产自在97香蕉 | 亚洲综合男人的天堂| 久久99久久精品| 欧美日韩国产综合一区二区| 久久久久久久久久电影| 视频在线观看一区| 在线亚洲+欧美+日本专区| 精品国产乱码久久久久久牛牛| 一区二区三区四区视频精品免费 | 欧美日韩一区二区三区在线| 国产欧美综合在线观看第十页| 五月天国产精品| 99久久久精品免费观看国产蜜| 日韩一区二区三区高清免费看看| 亚洲精品久久久久久国产精华液| 国模娜娜一区二区三区| 欧美老肥妇做.爰bbww| 中文字幕在线观看不卡视频| 加勒比av一区二区| 日韩一区二区在线观看视频播放| 亚洲狠狠爱一区二区三区| fc2成人免费人成在线观看播放| 精品人在线二区三区| 午夜久久电影网| 在线国产亚洲欧美| 成人免费在线播放视频| 高清在线不卡av| 久久精品夜夜夜夜久久| 国精产品一区一区三区mba视频| 欧美日本在线一区| 亚洲高清免费一级二级三级| 在线观看网站黄不卡| 亚洲视频1区2区| 色综合久久中文字幕综合网| 日韩伦理免费电影| 色婷婷综合久久久久中文一区二区| 亚洲视频资源在线| 色乱码一区二区三区88| 一区二区高清免费观看影视大全| 97精品视频在线观看自产线路二 | 91网址在线看| 亚洲女人的天堂| 在线亚洲一区观看| 亚洲国产视频网站| 欧美日韩视频在线观看一区二区三区| 一区二区三区四区不卡在线 | 久久综合五月天婷婷伊人| 久久精品国产一区二区三| 久久久久久综合| 9i在线看片成人免费| 伊人色综合久久天天| 欧美精品123区| 久久国产精品99久久人人澡| 国产视频一区在线播放| 91视频一区二区三区| 日韩综合小视频| 久久久久久久久免费| eeuss国产一区二区三区| 亚洲自拍都市欧美小说| 欧美一级黄色录像| 成人福利电影精品一区二区在线观看| 亚洲欧美日本在线| 日韩美女天天操| 99热国产精品| 日本视频一区二区三区| 国产精品视频免费| 在线播放91灌醉迷j高跟美女| 国产综合色精品一区二区三区| 亚洲日穴在线视频| 日韩欧美成人激情| 在线视频一区二区三区| 久久99精品国产91久久来源| 亚洲视频一区二区在线| 日韩欧美一区二区久久婷婷| 97久久超碰国产精品电影| 精品在线观看视频| 亚洲第一精品在线| 中文字幕亚洲精品在线观看| 欧美一区二区三区免费视频| 91日韩在线专区| 国产一区二区精品久久91| 亚洲成av人片在线观看| 国产精品国产三级国产aⅴ中文 | 午夜精品aaa| 亚洲欧美偷拍三级| 久久日一线二线三线suv| 欧美日韩黄色影视| 色综合久久久久综合体| 国产精品白丝jk黑袜喷水| 天天操天天色综合| 亚洲一区成人在线| 亚洲色图清纯唯美| 中文字幕欧美日韩一区| 久久夜色精品国产噜噜av| 91精品国产入口| 欧美久久久影院| 91免费小视频| 91美女精品福利| 成人性生交大片免费看中文| 国产乱人伦偷精品视频免下载| 免费欧美在线视频| 秋霞午夜av一区二区三区| 视频一区在线播放| 免费在线观看一区二区三区| 亚洲h在线观看| 日韩精品色哟哟| 日日骚欧美日韩| 日本不卡一区二区| 日本欧美加勒比视频| 久久国产精品一区二区| 麻豆国产精品官网| 国产主播一区二区| 国产乱子伦视频一区二区三区| 久久99国产精品成人| 国产一区二区三区久久久| 国产成人一区在线| 99re热视频这里只精品| 在线精品视频一区二区| 欧美欧美欧美欧美首页| 欧美一区二区三区免费在线看| 日韩欧美一级片| 国产欧美精品一区二区三区四区 | 欧美曰成人黄网| 精品视频资源站| 日韩午夜精品视频| 久久青草国产手机看片福利盒子| 久久精品视频一区二区三区| 自拍偷自拍亚洲精品播放| 亚洲午夜久久久久| 久久国产精品色婷婷| heyzo一本久久综合| 欧美性一二三区| 精品国产乱码91久久久久久网站| 国产视频一区二区三区在线观看 | 91精品国产色综合久久ai换脸| 日韩一区二区三区在线| 亚洲国产欧美日韩另类综合 | 麻豆精品视频在线观看视频| 国产又粗又猛又爽又黄91精品| 成人免费视频播放| 欧美人妇做爰xxxⅹ性高电影| 精品成人一区二区三区四区| 中文字幕一区二区三区四区不卡 | 久久精品视频免费| 伊人色综合久久天天人手人婷| 石原莉奈一区二区三区在线观看| 国产精品主播直播| 欧美性受xxxx| 欧美极品少妇xxxxⅹ高跟鞋| 天堂午夜影视日韩欧美一区二区| 丁香桃色午夜亚洲一区二区三区| 欧美日韩国产影片|