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

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

?? skl_mpg4_rvop.cpp

?? mpeg4編解碼器
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/******************************************************** * 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]);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产成人午夜av影院| 午夜精品一区二区三区三上悠亚 | 国产精品一二一区| 亚洲美女区一区| 亚洲精品一线二线三线| 色狠狠一区二区三区香蕉| 国产伦精一区二区三区| 五月天激情小说综合| 国产精品的网站| 久久亚洲一区二区三区明星换脸| 欧美写真视频网站| 成人在线综合网站| 久久成人18免费观看| 一区二区三区色| 日本一区免费视频| 欧美哺乳videos| 91.麻豆视频| 欧美性xxxxx极品少妇| 99久久精品国产麻豆演员表| 国产精品自拍av| 大桥未久av一区二区三区中文| 亚洲综合久久久| 国产精品免费人成网站| 久久久久久综合| 欧美一级高清大全免费观看| 欧美在线免费观看亚洲| 91视频免费看| 不卡一区二区在线| 成人午夜大片免费观看| 国产精品自在在线| 韩国av一区二区三区在线观看| 丝袜诱惑制服诱惑色一区在线观看| 伊人开心综合网| 一区二区三区中文字幕精品精品 | 欧美性生交片4| 色婷婷av一区二区三区大白胸| 成人福利视频在线| 成人激情小说网站| 成人av一区二区三区| 成人av资源在线| 99精品久久免费看蜜臀剧情介绍| 豆国产96在线|亚洲| 国产suv精品一区二区883| 国产乱子伦视频一区二区三区| 久久97超碰色| 国产久卡久卡久卡久卡视频精品| 韩日精品视频一区| 国产精品69毛片高清亚洲| 国产成人免费视频网站| 成人激情图片网| 一本色道久久综合精品竹菊| 日本道免费精品一区二区三区| 日本电影欧美片| 欧美精品 日韩| 亚洲一卡二卡三卡四卡无卡久久| 夜夜嗨av一区二区三区四季av| 亚洲电影第三页| 老汉av免费一区二区三区| 激情综合五月婷婷| 成人综合婷婷国产精品久久蜜臀| 99久精品国产| 欧美乱妇20p| 精品日韩在线观看| 欧美激情一区二区在线| 亚洲欧美激情视频在线观看一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲一区二区三区视频在线| 日韩在线播放一区二区| 韩国毛片一区二区三区| 波多野结衣在线aⅴ中文字幕不卡| 91九色02白丝porn| 日韩欧美亚洲一区二区| 中文字幕乱码亚洲精品一区| 一区二区三区高清不卡| 奇米777欧美一区二区| 国产a区久久久| 欧美视频在线观看一区二区| 欧美xxxxxxxx| 亚洲美女在线一区| 蜜臂av日日欢夜夜爽一区| 成人午夜视频网站| 欧美日韩日日夜夜| 久久综合狠狠综合久久综合88| 一区在线中文字幕| 青娱乐精品视频| 成人97人人超碰人人99| 在线播放视频一区| 中文字幕在线免费不卡| 日韩电影在线一区二区| www.日韩在线| 精品国产91久久久久久久妲己 | 97精品久久久午夜一区二区三区| 日韩一区二区电影| 国产精品色哟哟| 日本午夜精品一区二区三区电影| 成人黄色777网| 日韩精品一区二区在线| 亚洲视频狠狠干| 久久99蜜桃精品| 欧美私人免费视频| 国产精品久久网站| 精品一区免费av| 欧美日韩国产综合视频在线观看 | 午夜婷婷国产麻豆精品| 成人性色生活片| 精品久久久久久无| 亚洲国产成人91porn| 成人ar影院免费观看视频| 日韩精品一区二区在线| 亚洲成人高清在线| 色综合婷婷久久| 国产亚洲综合av| 老汉av免费一区二区三区 | 精品国产乱码久久久久久闺蜜| 亚洲影院久久精品| 99久久99久久综合| 久久精品亚洲乱码伦伦中文| 亚洲国产成人高清精品| 色综合久久综合网97色综合| 国产日产亚洲精品系列| 另类小说视频一区二区| 一区二区久久久| 成人精品一区二区三区四区| 久久综合狠狠综合久久激情| 日韩成人dvd| 67194成人在线观看| 亚洲成人资源在线| 色婷婷av一区二区三区软件| 综合分类小说区另类春色亚洲小说欧美| 国产激情视频一区二区在线观看 | 国产精品久久久久久久蜜臀| 黑人巨大精品欧美黑白配亚洲| 日韩午夜av电影| 老司机午夜精品| 久久综合色婷婷| 国产精品一区二区三区网站| 久久精品在这里| 丁香桃色午夜亚洲一区二区三区| 久久影音资源网| 国产精品一区不卡| 国产情人综合久久777777| 国产精品一区二区不卡| 日本一区二区三区dvd视频在线| 国产激情一区二区三区桃花岛亚洲| 久久久久国产成人精品亚洲午夜| 国产精品中文字幕一区二区三区| 国产亚洲综合在线| av电影在线观看一区| 亚洲日本乱码在线观看| 一本到三区不卡视频| 亚洲一区二区三区精品在线| 欧美色成人综合| 另类小说视频一区二区| 久久精品亚洲精品国产欧美kt∨| 成人久久久精品乱码一区二区三区| 国产精品电影一区二区| 色综合久久久久综合99| 五月婷婷欧美视频| 精品久久久网站| 成人美女在线视频| 亚洲精品乱码久久久久久| 欧美乱妇15p| 国产一本一道久久香蕉| 亚洲欧洲日产国码二区| 亚洲国产aⅴ天堂久久| 日韩精品一级中文字幕精品视频免费观看 | 日本精品视频一区二区| 亚洲成人三级小说| 精品国产欧美一区二区| 成人18视频在线播放| 亚洲444eee在线观看| 久久蜜臀中文字幕| 91在线免费看| 青草av.久久免费一区| 日本一区二区动态图| 欧美三级电影在线观看| 国产精品正在播放| 亚洲日本在线看| 日韩精品一区在线| 色综合久久久久综合体桃花网| 蜜桃视频在线一区| 国产精品国产自产拍高清av王其| 欧美日韩在线不卡| 国产99一区视频免费| 亚洲国产精品欧美一二99| 久久久久久久网| 欧美性大战久久久久久久蜜臀| 国产一区二区三区免费观看| 亚洲男人天堂一区| 久久综合精品国产一区二区三区| 欧美优质美女网站| 国产a视频精品免费观看| 爽好久久久欧美精品| 国产一区二区三区久久悠悠色av| 亚洲激情图片一区| 国产亚洲短视频| 制服丝袜亚洲网站| 色婷婷久久99综合精品jk白丝| 国产专区综合网| 日韩av二区在线播放|