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

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

?? recon.c

?? tmn3.2編解碼源程序 Linux C環境編寫 文件齊全 壓縮包完整 試用正常 歡迎試用
?? C
?? 第 1 頁 / 共 3 頁
字號:
/************************************************************************ * *  recon.c, motion compensation routines for tmndecode (H.263 decoder) *  Copyright (C) 1995, 1996  Telenor R&D, Norway * *  Contacts: *  Robert Danielsen                  <Robert.Danielsen@nta.no> * *  Telenor Research and Development  http://www.nta.no/brukere/DVC/ *  P.O.Box 83                        tel.:   +47 63 84 84 00 *  N-2007 Kjeller, Norway            fax.:   +47 63 81 00 76 * *  Copyright (C) 1997  University of BC, Canada *  Modified by: Michael Gallant <mikeg@ee.ubc.ca> *               Guy Cote <guyc@ee.ubc.ca> *               Berna Erol <bernae@ee.ubc.ca> * *  Contacts: *  Michael Gallant                   <mikeg@ee.ubc.ca> * *  UBC Image Processing Laboratory   http://www.ee.ubc.ca/image *  2356 Main Mall                    tel.: +1 604 822 4051 *  Vancouver BC Canada V6T1Z4        fax.: +1 604 822 5949 * ************************************************************************//* Disclaimer of Warranty *  * These software programs are available to the user without any license fee * or royalty on an "as is" basis. The University of British Columbia * disclaims any and all warranties, whether express, implied, or * statuary, including any implied warranties or merchantability or of * fitness for a particular purpose.  In no event shall the * copyright-holder be liable for any incidental, punitive, or * consequential damages of any kind whatsoever arising from the use of * these programs. *  * This disclaimer of warranty extends to the user of these programs and * user's customers, employees, agents, transferees, successors, and * assigns. *  * The University of British Columbia does not represent or warrant that the * programs furnished hereunder are free of infringement of any * third-party patents. *  * Commercial implementations of H.263, including shareware, are subject to * royalty fees to patent holders.  Many of these patents are general * enough such that they are unavoidable regardless of implementation * design. *  *//* based on mpeg2decode, (C) 1994, MPEG Software Simulation Group and * mpeg2play, (C) 1994 Stefan Eckart <stefan@lis.e-technik.tu-muenchen.de> *  */#include <stdio.h>#include <stdlib.h>#include "config.h"#include "tmndec.h"#include "global.h"/* private prototypes */static void recon_comp _ANSI_ARGS_ ((unsigned char *src, unsigned char *dst, int lx, int lx2, int w, int h, int x, int y, int dx, int dy, int flag));static void recon_comp_obmc _ANSI_ARGS_ ((unsigned char *src, unsigned char *dst, int lx, int lx2, int comp, int w, int h, int x, int y, int newgob));static void rec _ANSI_ARGS_ ((unsigned char *s, unsigned char *d, int lx, int lx2, int h));static void recon_bidir_average _ANSI_ARGS_ ((int bx, int by));static void recc _ANSI_ARGS_ ((unsigned char *s, unsigned char *d, int lx, int lx2, int h));static void reco _ANSI_ARGS_ ((unsigned char *s, int *d, int lx, int lx2, int addflag, int c, int xa, int xb, int ya, int yb));static void rech _ANSI_ARGS_ ((unsigned char *s, unsigned char *d, int lx, int lx2, int h));static void rechc _ANSI_ARGS_ ((unsigned char *s, unsigned char *d, int lx, int lx2, int h));static void recho _ANSI_ARGS_ ((unsigned char *s, int *d, int lx, int lx2, int addflag, int c, int xa, int xb, int ya, int yb));static void recv _ANSI_ARGS_ ((unsigned char *s, unsigned char *d, int lx, int lx2, int h));static void recvc _ANSI_ARGS_ ((unsigned char *s, unsigned char *d, int lx, int lx2, int h));static void recvo _ANSI_ARGS_ ((unsigned char *s, int *d, int lx, int lx2, int addflag, int c, int xa, int xb, int ya, int yb));static void rec4 _ANSI_ARGS_ ((unsigned char *s, unsigned char *d, int lx, int lx2, int h));static void rec4c _ANSI_ARGS_ ((unsigned char *s, unsigned char *d, int lx, int lx2, int h));static void rec4o _ANSI_ARGS_ ((unsigned char *s, int *d, int lx, int lx2, int addflag, int c, int xa, int xb, int ya, int yb));void reconstruct (int bx, int by, int P, int bdx, int bdy, int MODB, int newgob){  int w, h, lx, lx2, dx, dy, xp, yp, comp, sum;  int x, y, mode, xvec, yvec;  unsigned char *src[3];  int store_rtype;  x = bx / 16 + 1;  y = by / 16 + 1;  lx = coded_picture_width;  if (mv_outside_frame)  {    lx2 = coded_picture_width + 64;    src[0] = edgeframe[0];    src[1] = edgeframe[1];    src[2] = edgeframe[2];  } else  {    lx2 = coded_picture_width;    src[0] = prev_I_P_frame[0];    src[1] = prev_I_P_frame[1];    src[2] = prev_I_P_frame[2];  }  mode = modemap[y][x];  if (P)  {    /* P prediction */    if (use_4mv)    {      w = 8;      h = 8;      /* Y */      /* 4 MV can be used without OBMC in        * deblocking filter mode                  */      if (overlapping_MC)      {        for (comp = 0; comp < 4; comp++)        {          xp = bx + ((comp & 1) << 3);          yp = by + ((comp & 2) << 2);          recon_comp_obmc (src[0], current_frame[0], lx, lx2, comp, w, h, xp, yp, newgob);        }      } else      {        if (mode == MODE_INTER4V || mode == MODE_INTER4V_Q)        {          for (comp = 0; comp < 4; comp++)          {            dx = MV[0][comp + 1][y][x];            dy = MV[1][comp + 1][y][x];            xp = bx + ((comp & 1) << 3);            yp = by + ((comp & 2) << 2);            recon_comp (src[0], current_frame[0], lx, lx2, w, h, xp, yp, dx, dy, 0);          }        } else        {          dx = MV[0][0][y][x];          dy = MV[1][0][y][x];          recon_comp (src[0], current_frame[0], lx, lx2, w << 1, h << 1, bx, by, dx, dy, 0);        }      }      /* Chroma */      if (mode == MODE_INTER4V || mode == MODE_INTER4V_Q)      {        sum = MV[0][1][y][x] + MV[0][2][y][x] + MV[0][3][y][x] + MV[0][4][y][x];        dx = sign (sum) * (roundtab[abs (sum) % 16] + (abs (sum) / 16) * 2);        sum = MV[1][1][y][x] + MV[1][2][y][x] + MV[1][3][y][x] + MV[1][4][y][x];        dy = sign (sum) * (roundtab[abs (sum) % 16] + (abs (sum) / 16) * 2);      } else      {        dx = MV[0][0][y][x];        dy = MV[1][0][y][x];        /* chroma rounding */        dx = (dx % 4 == 0 ? dx >> 1 : (dx >> 1) | 1);        dy = (dy % 4 == 0 ? dy >> 1 : (dy >> 1) | 1);      }      lx >>= 1;      bx >>= 1;      lx2 >>= 1;      by >>= 1;      /* Chroma */      recon_comp (src[1], current_frame[1], lx, lx2, w, h, bx, by, dx, dy, 1);      recon_comp (src[2], current_frame[2], lx, lx2, w, h, bx, by, dx, dy, 2);    } else    {                           /* normal prediction mode */      /* P prediction */      w = 16;      h = 16;      dx = MV[0][0][y][x];      dy = MV[1][0][y][x];      /* Y */      recon_comp (src[0], current_frame[0], lx, lx2, w, h, bx, by, dx, dy, 0);      lx >>= 1;      w >>= 1;      bx >>= 1;      lx2 >>= 1;      h >>= 1;      by >>= 1;      /* chroma rounding */      dx = (dx % 4 == 0 ? dx >> 1 : (dx >> 1) | 1);      dy = (dy % 4 == 0 ? dy >> 1 : (dy >> 1) | 1);      /* Chroma */      recon_comp (src[1], current_frame[1], lx, lx2, w, h, bx, by, dx, dy, 1);      recon_comp (src[2], current_frame[2], lx, lx2, w, h, bx, by, dx, dy, 2);    }  } else  {    store_rtype = rtype;    rtype = 0;    /* B forward prediction */    if (pb_frame == IM_PB_FRAMES && (MODB == PBMODE_CBPB_FRW_PRED || MODB == PBMODE_FRW_PRED))    {      w = 16;      h = 16;      dx = bdx;      dy = bdy;      /* Y */      recon_comp (src[0], bframe[0], lx, lx2, w, h, bx, by, dx, dy, 0);      lx >>= 1;      w >>= 1;      bx >>= 1;      lx2 >>= 1;      h >>= 1;      by >>= 1;      /* chroma rounding */      dx = (dx % 4 == 0 ? dx >> 1 : (dx >> 1) | 1);      dy = (dy % 4 == 0 ? dy >> 1 : (dy >> 1) | 1);      /* Chroma */      recon_comp (src[1], bframe[1], lx, lx2, w, h, bx, by, dx, dy, 1);      recon_comp (src[2], bframe[2], lx, lx2, w, h, bx, by, dx, dy, 2);    } else if (pb_frame == IM_PB_FRAMES && (MODB == PBMODE_CBPB_BCKW_PRED || MODB == PBMODE_BCKW_PRED))    {      lx2 = coded_picture_width;      src[0] = prev_I_P_frame[0];      src[1] = prev_I_P_frame[1];      src[2] = prev_I_P_frame[2];      w = 16;      h = 16;      /* Y */      recon_comp (current_frame[0], bframe[0], lx, lx2, w, h, bx, by, 0, 0, 0);      lx >>= 1;      w >>= 1;      bx >>= 1;      lx2 >>= 1;      h >>= 1;      by >>= 1;      /* Chroma */      recon_comp (current_frame[1], bframe[1], lx, lx2, w, h, bx, by, 0, 0, 1);      recon_comp (current_frame[2], bframe[2], lx, lx2, w, h, bx, by, 0, 0, 2);    } else    {      /* B bidir prediction */      if (pb_frame == IM_PB_FRAMES)      {        bdx = 0;        bdy = 0;      }      if (use_4mv && (mode == MODE_INTER4V || mode == MODE_INTER4V_Q))      {        w = 8;        h = 8;        /* Y */        xvec = yvec = 0;        for (comp = 0; comp < 4; comp++)        {          xvec += dx = (trb) * MV[0][comp + 1][y][x] / trd + bdx;          yvec += dy = (trb) * MV[1][comp + 1][y][x] / trd + bdy;          xp = bx + ((comp & 1) << 3);          yp = by + ((comp & 2) << 2);          recon_comp (src[0], bframe[0], lx, lx2, w, h, xp, yp, dx, dy, 0);        }        /* chroma rounding (table 16/H.263) */        dx = sign (xvec) * (roundtab[abs (xvec) % 16] + (abs (xvec) / 16) * 2);        dy = sign (yvec) * (roundtab[abs (yvec) % 16] + (abs (yvec) / 16) * 2);        lx >>= 1;        bx >>= 1;        lx2 >>= 1;        by >>= 1;        /* Chroma */        recon_comp (src[1], bframe[1], lx, lx2, w, h, bx, by, dx, dy, 1);        recon_comp (src[2], bframe[2], lx, lx2, w, h, bx, by, dx, dy, 2);      } else      {        /* B bidir prediction with 16x16 blocks */        w = 16;        h = 16;        dx = (trb) * MV[0][0][y][x] / trd + bdx;        dy = (trb) * MV[1][0][y][x] / trd + bdy;        /* Y */        recon_comp (src[0], bframe[0], lx, lx2, w, h, bx, by, dx, dy, 0);        lx >>= 1;        w >>= 1;        bx >>= 1;        lx2 >>= 1;        h >>= 1;        by >>= 1;        xvec = 4 * dx;        yvec = 4 * dy;        /* chroma rounding (table 16/H.263) */        dx = sign (xvec) * (roundtab[abs (xvec) % 16] + (abs (xvec) / 16) * 2);        dy = sign (yvec) * (roundtab[abs (yvec) % 16] + (abs (yvec) / 16) * 2);        /* Chroma */        recon_comp (src[1], bframe[1], lx, lx2, w, h, bx, by, dx, dy, 1);        recon_comp (src[2], bframe[2], lx, lx2, w, h, bx, by, dx, dy, 2);      }    }    rtype = store_rtype;  }}/********************************************************************** * *	Name:        reconstruct_true_B *	Description: Reconstructs true B MB  * *	Input:       position, mb prediction type *	Returns:      *	Side effects: * *	Date: 970831 Author: Michael Gallant --- mikeg@ee.ubc.ca * ***********************************************************************/void reconstruct_true_B (int bx, int by, int true_B_prediction_type){  int w, h, lx, lx2, dxf, dyf, dxb, dyb;  int x, y, mode, anchorframemode;  int bx_chroma, by_chroma;  unsigned char *src_f[3], *src_b[3];  int sumx = 0, sumy = 0, comp, dx, dy, xp, yp;  x = bx / 16 + 1;  y = by / 16 + 1;  lx = coded_picture_width;  w = 16;  h = 16;  lx2 = coded_picture_width + 64;  src_f[0] = edgeframe[0];  src_f[1] = edgeframe[1];  src_f[2] = edgeframe[2];  src_b[0] = nextedgeframe[0];  src_b[1] = nextedgeframe[1];  src_b[2] = nextedgeframe[2];  mode = modemap[y][x];  anchorframemode = anchorframemodemap[y][x];  switch (true_B_prediction_type)  {    case B_DIRECT_PREDICTION:      if (MODE_INTER4V == anchorframemode || MODE_INTER4V_Q == anchorframemode)      {        w = 8;        h = 8;            for (comp = 0; comp < 4; comp++)        {          dx = true_B_direct_mode_MV[0][comp + 1][y][x];          dy = true_B_direct_mode_MV[1][comp + 1][y][x];          dxf = (true_b_trb) * dx / trd;          dyf = (true_b_trb) * dy / trd;          dxb = (true_b_trb - trd) * dx / trd;          dyb = (true_b_trb - trd) * dy / trd;          xp = bx + ((comp & 1) << 3);          yp = by + ((comp & 2) << 2);                    /* Y */          recon_comp (src_f[0], tmp_f[0], lx, lx2, w, h, xp, yp, dxf, dyf, 0);          recon_comp (src_b[0], tmp_b[0], lx, lx2, w, h, xp, yp, dxb, dyb, 0);        }        dxf = dyf = dxb = dyb = 0;        for (comp=0; comp<4; comp++)        {          dx = true_B_direct_mode_MV[0][comp + 1][y][x];          dy = true_B_direct_mode_MV[1][comp + 1][y][x];          dxf += (true_b_trb) * dx / trd;          dyf += (true_b_trb) * dy / trd;          dxb += (true_b_trb - trd) * dx / trd;          dyb += (true_b_trb - trd) * dy / trd;        }        dxf = sign (dxf) * (roundtab[abs (dxf) % 16] + (abs (dxf) / 16) * 2);        dyf = sign (dyf) * (roundtab[abs (dyf) % 16] + (abs (dyf) / 16) * 2);        dxb = sign (dxb) * (roundtab[abs (dxb) % 16] + (abs (dxb) / 16) * 2);        dyb = sign (dyb) * (roundtab[abs (dyb) % 16] + (abs (dyb) / 16) * 2);        lx >>= 1;        bx >>= 1;        lx2 >>= 1;        by >>= 1;        /* Chroma */        recon_comp (src_f[1], tmp_f[1], lx, lx2, w, h, bx, by, dxf, dyf, 1);        recon_comp (src_f[2], tmp_f[2], lx, lx2, w, h, bx, by, dxf, dyf, 2);        recon_comp (src_b[1], tmp_b[1], lx, lx2, w, h, bx, by, dxb, dyb, 1);        recon_comp (src_b[2], tmp_b[2], lx, lx2, w, h, bx, by, dxb, dyb, 2);        bx <<= 1;        by <<= 1;      }      else      {        dxf = (true_b_trb) * true_B_direct_mode_MV[0][0][y][x] / trd;        dyf = (true_b_trb) * true_B_direct_mode_MV[1][0][y][x] / trd;        dxb = (true_b_trb - trd) * true_B_direct_mode_MV[0][0][y][x] / trd;        dyb = (true_b_trb - trd) * true_B_direct_mode_MV[1][0][y][x] / trd;        /* Y */        recon_comp (src_f[0], tmp_f[0], lx, lx2, w, h, bx, by, dxf, dyf, 0);        recon_comp (src_b[0], tmp_b[0], lx, lx2, w, h, bx, by, dxb, dyb, 0);        lx >>= 1;        w >>= 1;        bx >>= 1;        lx2 >>= 1;        h >>= 1;        by >>= 1;        /* Chroma rounding (table 16/H.263) */        dxf = (dxf % 4 == 0 ? dxf >> 1 : (dxf >> 1) | 1);        dyf = (dyf % 4 == 0 ? dyf >> 1 : (dyf >> 1) | 1);        dxb = (dxb % 4 == 0 ? dxb >> 1 : (dxb >> 1) | 1);        dyb = (dyb % 4 == 0 ? dyb >> 1 : (dyb >> 1) | 1);        /* Chroma */        recon_comp (src_f[1], tmp_f[1], lx, lx2, w, h, bx, by, dxf, dyf, 1);        recon_comp (src_f[2], tmp_f[2], lx, lx2, w, h, bx, by, dxf, dyf, 2);        recon_comp (src_b[1], tmp_b[1], lx, lx2, w, h, bx, by, dxb, dyb, 1);        recon_comp (src_b[2], tmp_b[2], lx, lx2, w, h, bx, by, dxb, dyb, 2);        bx <<= 1;        by <<= 1;      }        /* Average forward and backward prediction. */      recon_bidir_average (bx, by);      break;    case B_FORWARD_PREDICTION:      w = 16;      h = 16;      dxf = MV[0][0][y][x];      dyf = MV[1][0][y][x];      /* Y */      recon_comp (src_f[0], bframe[0], lx, lx2, w, h, bx, by, dxf, dyf, 0);      lx >>= 1;      w >>= 1;      bx >>= 1;      lx2 >>= 1;      h >>= 1;      by >>= 1;      /* chroma rounding */      dxf = (dxf % 4 == 0 ? dxf >> 1 : (dxf >> 1) | 1);      dyf = (dyf % 4 == 0 ? dyf >> 1 : (dyf >> 1) | 1);      /* Chroma */      recon_comp (src_f[1], bframe[1], lx, lx2, w, h, bx, by, dxf, dyf, 1);      recon_comp (src_f[2], bframe[2], lx, lx2, w, h, bx, by, dxf, dyf, 2);      break;    case B_BACKWARD_PREDICTION:      w = 16;      h = 16;      dxb = MV[0][5][y][x];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合久久综合亚洲| 国产精品资源在线| 成人免费观看av| 欧美电视剧在线观看完整版| 亚洲日本va午夜在线电影| 久久99精品一区二区三区| 日本道在线观看一区二区| 国产嫩草影院久久久久| 黄页视频在线91| 51精品国自产在线| 日韩国产欧美在线观看| 99re成人在线| 亚洲综合久久久久| 91最新地址在线播放| 综合av第一页| 成人福利电影精品一区二区在线观看| 欧美xxxxxxxxx| 麻豆91在线播放免费| 日韩情涩欧美日韩视频| 久久狠狠亚洲综合| 精品国产凹凸成av人网站| 日韩成人av影视| 欧美r级在线观看| 国产乱码一区二区三区| 久久久综合网站| 91色视频在线| 日韩成人免费电影| 久久久亚洲高清| 成人白浆超碰人人人人| 亚洲一区二区黄色| 欧美一区2区视频在线观看| 精品综合久久久久久8888| xfplay精品久久| 日本精品免费观看高清观看| 亚洲第一搞黄网站| 久久久久久久久久久久久夜| 色又黄又爽网站www久久| 日本中文字幕一区二区有限公司| 久久婷婷综合激情| 在线观看视频一区| 久久国产夜色精品鲁鲁99| 椎名由奈av一区二区三区| 制服丝袜亚洲精品中文字幕| 成人免费毛片aaaaa**| 日本午夜精品视频在线观看| 国产精品久99| 日韩欧美在线观看一区二区三区| 99v久久综合狠狠综合久久| 美女爽到高潮91| 亚洲狠狠爱一区二区三区| 欧美激情中文字幕| 欧美mv日韩mv国产网站| 色婷婷久久久综合中文字幕| 丰满少妇在线播放bd日韩电影| 三级影片在线观看欧美日韩一区二区| 中文字幕日韩精品一区| 久久久久久久一区| 精品美女在线播放| 亚洲视频图片小说| 国产精品私人自拍| 久久久久久久久久久电影| 欧美一级日韩一级| 欧美日本乱大交xxxxx| 在线日韩一区二区| 在线观看一区日韩| 色综合久久中文综合久久97| 9色porny自拍视频一区二区| 国产一区二区三区四区五区入口 | 在线日韩av片| 日本二三区不卡| 色婷婷综合久久久中文一区二区 | 国产日韩成人精品| 精品国产伦一区二区三区免费 | 在线国产电影不卡| 欧美日韩视频在线观看一区二区三区| 色偷偷久久一区二区三区| 日本精品一区二区三区四区的功能| 色综合中文综合网| 不卡的av电影| 91理论电影在线观看| 亚洲欧美怡红院| 亚洲影视在线播放| 男人的j进女人的j一区| 久久99精品国产.久久久久| 精品亚洲aⅴ乱码一区二区三区| 国产成a人亚洲| 欧美性色黄大片| 日韩一区二区三| 国产精品视频看| 亚洲成人中文在线| 国产精品一区二区在线观看网站| 不卡av电影在线播放| 欧美日本在线看| 国产精品视频观看| 日本va欧美va精品| jlzzjlzz亚洲女人18| 制服丝袜在线91| 日韩美女视频一区二区| 日本欧美在线观看| av中文一区二区三区| 日韩一级在线观看| 亚洲男人电影天堂| 久草这里只有精品视频| 91免费国产视频网站| 精品不卡在线视频| 一区二区三区欧美亚洲| 国产98色在线|日韩| 欧美精品 国产精品| 亚洲色图一区二区| 国产精品一区二区无线| 91精品一区二区三区在线观看| 亚洲人成小说网站色在线 | 精品免费国产二区三区 | 欧洲日韩一区二区三区| 国产日韩欧美精品电影三级在线 | 欧美日本在线视频| 亚洲欧美激情视频在线观看一区二区三区| 久久爱另类一区二区小说| 666欧美在线视频| 亚洲影院理伦片| 色婷婷亚洲一区二区三区| 国产精品毛片无遮挡高清| 国产精品一区2区| 欧美大片免费久久精品三p| 偷拍日韩校园综合在线| 欧美精品色综合| 日韩高清在线一区| 欧美色图12p| 亚洲v中文字幕| 一区二区三区美女| 欧美体内she精视频| 香蕉影视欧美成人| 51久久夜色精品国产麻豆| 免费成人在线视频观看| 91精品国产一区二区| 理论电影国产精品| 国产日韩欧美不卡在线| www.成人网.com| 亚洲欧美另类小说视频| 欧美日韩国产免费一区二区| 日本亚洲欧美天堂免费| 国产亚洲欧美在线| 久久久久成人黄色影片| www.亚洲免费av| 亚洲国产色一区| 精品少妇一区二区三区在线播放| 国产成人亚洲综合a∨婷婷| 亚洲日穴在线视频| 91精品国产综合久久精品| 精品一区在线看| 亚洲日本成人在线观看| 欧美成人综合网站| 99久久免费国产| 美女尤物国产一区| 国产中文字幕精品| 亚洲自拍另类综合| 久久一二三国产| 欧美日本视频在线| 成人精品一区二区三区中文字幕| 亚洲成av人影院| 国产精品乱人伦一区二区| 欧美一级片在线| 一本到三区不卡视频| 国产精品白丝av| 青青草原综合久久大伊人精品优势| 成人免费在线播放视频| 欧美成人欧美edvon| 欧美色综合久久| 97国产一区二区| 国产很黄免费观看久久| 日本免费新一区视频| 一区二区三区**美女毛片| 国产视频视频一区| 欧美tickling挠脚心丨vk| 欧美精品免费视频| 欧美日韩在线精品一区二区三区激情| 不卡高清视频专区| 丁香网亚洲国际| 成人黄色av电影| 一本色道久久综合亚洲aⅴ蜜桃 | 欧美在线影院一区二区| 91色porny| 欧美色图12p| 欧美日韩国产免费一区二区 | 亚洲欧美日韩国产手机在线 | 国产精品亚洲成人| 国产成人综合视频| 国产精品1024久久| 成人av电影在线| 91免费观看在线| 欧美亚洲免费在线一区| 欧美艳星brazzers| 欧美精品久久99| 337p粉嫩大胆噜噜噜噜噜91av| 久久麻豆一区二区| 亚洲欧洲成人自拍| 亚洲一区二区三区自拍| 日本亚洲欧美天堂免费| 国产电影精品久久禁18| 成人不卡免费av|