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

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

?? block.c

?? jm_frext22.ZIP的壓縮文件,主要用于嵌入式系統(tǒng)圖象的編解碼的開發(fā).
?? C
?? 第 1 頁 / 共 4 頁
字號:
    img->mpr[3+ioff][3+joff] = (P_A + 2*P_B + P_C + 2) / 4;
    img->mpr[3+ioff][1+joff] = (P_B + 2*P_C + P_D + 2) / 4;
    img->mpr[0+ioff][2+joff] = (P_X + 2*P_I + P_J + 2) / 4;
    img->mpr[0+ioff][3+joff] = (P_I + 2*P_J + P_K + 2) / 4;
    break;

  case  VERT_LEFT_PRED:/* diagonal prediction -22.5 deg to horizontal plane */
    if (!block_available_up)
      printf ("warning: Intra_4x4_Vertical_Left prediction mode not allowed at mb %d\n",img->current_mb_nr);
    
    img->mpr[0+ioff][0+joff] = (P_A + P_B + 1) / 2;
    img->mpr[1+ioff][0+joff] = 
    img->mpr[0+ioff][2+joff] = (P_B + P_C + 1) / 2;
    img->mpr[2+ioff][0+joff] = 
    img->mpr[1+ioff][2+joff] = (P_C + P_D + 1) / 2;
    img->mpr[3+ioff][0+joff] = 
    img->mpr[2+ioff][2+joff] = (P_D + P_E + 1) / 2;
    img->mpr[3+ioff][2+joff] = (P_E + P_F + 1) / 2;
    img->mpr[0+ioff][1+joff] = (P_A + 2*P_B + P_C + 2) / 4;
    img->mpr[1+ioff][1+joff] = 
    img->mpr[0+ioff][3+joff] = (P_B + 2*P_C + P_D + 2) / 4;
    img->mpr[2+ioff][1+joff] = 
    img->mpr[1+ioff][3+joff] = (P_C + 2*P_D + P_E + 2) / 4;
    img->mpr[3+ioff][1+joff] = 
    img->mpr[2+ioff][3+joff] = (P_D + 2*P_E + P_F + 2) / 4;
    img->mpr[3+ioff][3+joff] = (P_E + 2*P_F + P_G + 2) / 4;
    break;

  case  HOR_UP_PRED:/* diagonal prediction -22.5 deg to horizontal plane */
    if (!block_available_left)
      printf ("warning: Intra_4x4_Horizontal_Up prediction mode not allowed at mb %d\n",img->current_mb_nr);
    
    img->mpr[0+ioff][0+joff] = (P_I + P_J + 1) / 2;
    img->mpr[1+ioff][0+joff] = (P_I + 2*P_J + P_K + 2) / 4;
    img->mpr[2+ioff][0+joff] = 
    img->mpr[0+ioff][1+joff] = (P_J + P_K + 1) / 2;
    img->mpr[3+ioff][0+joff] = 
    img->mpr[1+ioff][1+joff] = (P_J + 2*P_K + P_L + 2) / 4;
    img->mpr[2+ioff][1+joff] = 
    img->mpr[0+ioff][2+joff] = (P_K + P_L + 1) / 2;
    img->mpr[3+ioff][1+joff] = 
    img->mpr[1+ioff][2+joff] = (P_K + 2*P_L + P_L + 2) / 4;
    img->mpr[3+ioff][2+joff] = 
    img->mpr[1+ioff][3+joff] = 
    img->mpr[0+ioff][3+joff] = 
    img->mpr[2+ioff][2+joff] = 
    img->mpr[2+ioff][3+joff] = 
    img->mpr[3+ioff][3+joff] = P_L;
    break;

  case  HOR_DOWN_PRED:/* diagonal prediction -22.5 deg to horizontal plane */
    if ((!block_available_up)||(!block_available_left)||(!block_available_up_left))
      printf ("warning: Intra_4x4_Horizontal_Down prediction mode not allowed at mb %d\n",img->current_mb_nr);

    img->mpr[0+ioff][0+joff] = 
    img->mpr[2+ioff][1+joff] = (P_X + P_I + 1) / 2;
    img->mpr[1+ioff][0+joff] = 
    img->mpr[3+ioff][1+joff] = (P_I + 2*P_X + P_A + 2) / 4;
    img->mpr[2+ioff][0+joff] = (P_X + 2*P_A + P_B + 2) / 4;
    img->mpr[3+ioff][0+joff] = (P_A + 2*P_B + P_C + 2) / 4;
    img->mpr[0+ioff][1+joff] = 
    img->mpr[2+ioff][2+joff] = (P_I + P_J + 1) / 2;
    img->mpr[1+ioff][1+joff] = 
    img->mpr[3+ioff][2+joff] = (P_X + 2*P_I + P_J + 2) / 4;
    img->mpr[0+ioff][2+joff] = 
    img->mpr[2+ioff][3+joff] = (P_J + P_K + 1) / 2;
    img->mpr[1+ioff][2+joff] = 
    img->mpr[3+ioff][3+joff] = (P_I + 2*P_J + P_K + 2) / 4;
    img->mpr[0+ioff][3+joff] = (P_K + P_L + 1) / 2;
    img->mpr[1+ioff][3+joff] = (P_J + 2*P_K + P_L + 2) / 4;
    break;

  default:
    printf("Error: illegal intra_4x4 prediction mode: %d\n",predmode);
    return SEARCH_SYNC;
    break;
  }

  return DECODING_OK;
}


/*!
 ***********************************************************************
 * \return
 *    best SAD
 ***********************************************************************
 */
int intrapred_luma_16x16(struct img_par *img, //!< image parameters
                         int predmode)        //!< prediction mode
{
  int s0=0,s1,s2;

  int i,j;

  int ih,iv;
  int ib,ic,iaa;

  imgpel **imgY=dec_picture->imgY;

  int mb_nr=img->current_mb_nr;

  PixelPos up;          //!< pixel position p(0,-1)
  PixelPos left[17];    //!< pixel positions p(-1, -1..15)

  int up_avail, left_avail, left_up_avail;

  s1=s2=0;

  for (i=0;i<17;i++)
  {
    getNeighbour(mb_nr, -1 ,  i-1 , 1, &left[i]);
  }
  
  getNeighbour(mb_nr, 0     ,  -1 , 1, &up);

  if (!active_pps->constrained_intra_pred_flag)
  {
    up_avail   = up.available;
    left_avail = left[1].available;
    left_up_avail = left[0].available;
  }
  else
  {
    up_avail      = up.available ? img->intra_block[up.mb_addr] : 0;
    for (i=1, left_avail=1; i<17;i++)
      left_avail  &= left[i].available ? img->intra_block[left[i].mb_addr]: 0;
    left_up_avail = left[0].available ? img->intra_block[left[0].mb_addr]: 0;
  }

  switch (predmode)
  {
  case VERT_PRED_16:                       // vertical prediction from block above
    if (!up_avail)
      error ("invalid 16x16 intra pred Mode VERT_PRED_16",500);
    for(j=0;j<MB_BLOCK_SIZE;j++)
      for(i=0;i<MB_BLOCK_SIZE;i++)
        img->mpr[i][j]=imgY[up.pos_y][up.pos_x+i];// store predicted 16x16 block
    break;

  case HOR_PRED_16:                        // horisontal prediction from left block
    if (!left_avail)
      error ("invalid 16x16 intra pred Mode VERT_PRED_16",500);
    for(j=0;j<MB_BLOCK_SIZE;j++)
      for(i=0;i<MB_BLOCK_SIZE;i++)
        img->mpr[i][j]=imgY[left[j+1].pos_y][left[j+1].pos_x]; // store predicted 16x16 block
    break;

  case DC_PRED_16:                         // DC prediction
    s1=s2=0;
    for (i=0; i < MB_BLOCK_SIZE; i++)
    {
      if (up_avail)
        s1 += imgY[up.pos_y][up.pos_x+i];    // sum hor pix
      if (left_avail)
        s2 += imgY[left[i+1].pos_y][left[i+1].pos_x];    // sum vert pix
    }
    if (up_avail && left_avail)
      s0=(s1+s2+16)>>5;       // no edge
    if (!up_avail && left_avail)
      s0=(s2+8)>>4;              // upper edge
    if (up_avail && !left_avail)
      s0=(s1+8)>>4;              // left edge
    if (!up_avail && !left_avail)
      s0=img->dc_pred_value;                            // top left corner, nothing to predict from
    for(i=0;i<MB_BLOCK_SIZE;i++)
      for(j=0;j<MB_BLOCK_SIZE;j++)
      {
        img->mpr[i][j]=s0;
      }
    break;
  case PLANE_16:// 16 bit integer plan pred
    if (!up_avail || !left_up_avail  || !left_avail)
      error ("invalid 16x16 intra pred Mode PLANE_16",500);

    ih=0;
    iv=0;
    for (i=1;i<9;i++)
    {
      if (i<8)
        ih += i*(imgY[up.pos_y][up.pos_x+7+i] - imgY[up.pos_y][up.pos_x+7-i]);
      else
        ih += i*(imgY[up.pos_y][up.pos_x+7+i] - imgY[left[0].pos_y][left[0].pos_x]);

      iv += i*(imgY[left[8+i].pos_y][left[8+i].pos_x] - imgY[left[8-i].pos_y][left[8-i].pos_x]);
    }
    ib=(5*ih+32)>>6;
    ic=(5*iv+32)>>6;

    iaa=16*(imgY[up.pos_y][up.pos_x+15]+imgY[left[16].pos_y][left[16].pos_x]);
    for (j=0;j< MB_BLOCK_SIZE;j++)
    {
      for (i=0;i< MB_BLOCK_SIZE;i++)
      {
        img->mpr[i][j]=max(0,min((iaa+(i-7)*ib +(j-7)*ic + 16)>>5, img->max_imgpel_value));
      }
    }// store plane prediction
    break;
    
  default:
    {                                    // indication of fault in bitstream,exit
      printf("illegal 16x16 intra prediction mode input: %d\n",predmode);
      return SEARCH_SYNC;
    }
  }
  
  return DECODING_OK;
}


void intrapred_chroma(struct img_par *img, int uv)
{
  int i,j, ii, jj, ioff, joff;
  
  imgpel ***imgUV = dec_picture->imgUV;
  
  int js[4][4];
  
  int pred;
  int ih, iv, ib, ic, iaa;
  
  int      b8, b4;
  int      yuv = img->yuv_format - 1;
  int      blk_x, blk_y;
  int      block_pos[3][4][4]= //[yuv][b8][b4]
  {
    { {0, 1, 2, 3},{0, 0, 0, 0},{0, 0, 0, 0},{0, 0, 0, 0}},
    { {0, 1, 2, 3},{2, 3, 2, 3},{0, 0, 0, 0},{0, 0, 0, 0}},
    { {0, 1, 2, 3},{1, 1, 3, 3},{2, 3, 2, 3},{3, 3, 3, 3}}
  };
  int      s0, s1, s2, s3;

  int mb_nr=img->current_mb_nr;
  Macroblock *currMB = &img->mb_data[img->current_mb_nr];

  PixelPos up;        //!< pixel position  p(0,-1)
  PixelPos left[17];  //!< pixel positions p(-1, -1..16)

  int up_avail, left_avail[2], left_up_avail;

  int cr_MB_x = img->mb_cr_size_x;
  int cr_MB_y = img->mb_cr_size_y;

  for (i=0;i<cr_MB_y+1;i++)
  {
    getNeighbour(mb_nr, -1, i-1, 0, &left[i]);
  }
  
  getNeighbour(mb_nr, 0, -1, 0, &up);

  if (!active_pps->constrained_intra_pred_flag)
  {
    up_avail      = up.available;
    left_avail[0] = left_avail[1] = left[1].available;
    left_up_avail = left[0].available;
  }
  else
  {
    up_avail = up.available ? img->intra_block[up.mb_addr] : 0;
    for (i=0, left_avail[0]=1; i<cr_MB_y/2;i++)
      left_avail[0]  &= left[i+1].available ? img->intra_block[left[i+1].mb_addr]: 0;
    for (i=cr_MB_y/2, left_avail[1]=1; i<cr_MB_y;i++)
      left_avail[1]  &= left[i+1].available ? img->intra_block[left[i+1].mb_addr]: 0;
    left_up_avail = left[0].available ? img->intra_block[left[0].mb_addr]: 0;
  }

  
  if (currMB->c_ipred_mode == DC_PRED_8)
  {
    // DC prediction
    for(b8=0; b8<img->num_blk8x8_uv/2;b8++)
    {
      for (b4=0; b4<4; b4++)
      {
        blk_y = subblk_offset_y[yuv][b8][b4] + 1;
        blk_x = subblk_offset_x[yuv][b8][b4]; 
        
        s0=s1=s2=s3=0;
        js[b8][b4]=img->dc_pred_value;
        
        //===== get prediction value =====
        switch (block_pos[yuv][b8][b4])
        {
        case 0:  //===== TOP LEFT =====
          if      (up_avail)       for (i=blk_x;i<(blk_x+4);i++)  s0 += imgUV[uv][up.pos_y][up.pos_x + i];
          if      (left_avail[0])  for (i=blk_y;i<(blk_y+4);i++)  s2 += imgUV[uv][left[i].pos_y][left[i].pos_x];
          if      (up_avail && left_avail[0])         js[b8][b4]  = (s0+s2+4) >> 3;
          else if (up_avail)                          js[b8][b4]  = (s0   +2) >> 2;
          else if (left_avail[0])                     js[b8][b4]  = (s2   +2) >> 2;
          break;
        case 1: //===== TOP RIGHT =====
          if      (up_avail)       for (i=blk_x;i<(blk_x+4);i++)  s1 += imgUV[uv][up.pos_y][up.pos_x + i];
          else if (left_avail[0])  for (i=blk_y;i<(blk_y+4);i++)  s2 += imgUV[uv][left[i].pos_y][left[i].pos_x];
          if      (up_avail)                          js[b8][b4]  = (s1   +2) >> 2;
          else if (left_avail[0])                     js[b8][b4]  = (s2   +2) >> 2;
          break;
        case 2: //===== BOTTOM LEFT =====
          if      (left_avail[1])  for (i=blk_y;i<(blk_y+4);i++)  s3 += imgUV[uv][left[i].pos_y][left[i].pos_x];
          else if (up_avail)       for (i=blk_x;i<(blk_x+4);i++)  s0 += imgUV[uv][up.pos_y][up.pos_x + i];
          if      (left_avail[1])                     js[b8][b4]  = (s3   +2) >> 2;
          else if (up_avail)                          js[b8][b4]  = (s0   +2) >> 2;
          break;
        case 3: //===== BOTTOM RIGHT =====
          if      (up_avail)       for (i=blk_x;i<(blk_x+4);i++)  s1 += imgUV[uv][up.pos_y][up.pos_x + i];
          if      (left_avail[1])  for (i=blk_y;i<(blk_y+4);i++)  s3 += imgUV[uv][left[i].pos_y][left[i].pos_x];
          if      (up_avail && left_avail[1])         js[b8][b4]  = (s1+s3+4) >> 3;
          else if (up_avail)                          js[b8][b4]  = (s1   +2) >> 2;
          else if (left_avail[1])                     js[b8][b4]  = (s3   +2) >> 2;
          break;
        }
      }
    }
  }
  if (PLANE_8 == currMB->c_ipred_mode)
  {
    // plane prediction
    if (!left_up_avail || !left_avail[0] || !left_avail[1] || !up_avail)
      error("unexpected PLANE_8 chroma intra prediction mode",-1);
    
    ih = cr_MB_x/2*(imgUV[uv][up.pos_y][up.pos_x+cr_MB_x-1] - imgUV[uv][left[0].pos_y][left[0].pos_x]);
    for (i=0;i<cr_MB_x/2-1;i++)
      ih += (i+1)*(imgUV[uv][up.pos_y][up.pos_x+cr_MB_x/2  +i] -
      imgUV[uv][up.pos_y][up.pos_x+cr_MB_x/2-2-i]);
    
    iv = cr_MB_y/2*(imgUV[uv][left[cr_MB_y].pos_y][left[cr_MB_y].pos_x] - imgUV[uv][left[0].pos_y][left[0].pos_x]);
    for (i=0;i<cr_MB_y/2-1;i++)
      iv += (i+1)*(imgUV[uv][left[cr_MB_y/2+1+i].pos_y][left[cr_MB_y/2+1+i].pos_x] -
      imgUV[uv][left[cr_MB_y/2-1-i].pos_y][left[cr_MB_y/2-1-i].pos_x]);
    
    ib= ((cr_MB_x == 8?17:5)*ih+2*cr_MB_x)>>(cr_MB_x == 8?5:6);
    ic= ((cr_MB_y == 8?17:5)*iv+2*cr_MB_y)>>(cr_MB_y == 8?5:6);
    
    iaa=16*(imgUV[uv][left[cr_MB_y].pos_y][left[cr_MB_y].pos_x] +
            imgUV[uv][up.pos_y][up.pos_x+cr_MB_x-1]);
    
    for (j=0; j<cr_MB_y; j++)
      for (i=0; i<cr_MB_x; i++)
        img->mpr[i][j]=max(0,min(img->max_imgpel_value_uv,(iaa+(i-cr_MB_x/2+1)*ib+(j-cr_MB_y/2+1)*ic+16)>>5)); // WSKIM SAMSUNG AIT
  }
  else
  {
    switch (currMB->c_ipred_mode)
    {
    case DC_PRED_8:
      for (b8=0;b8<img->num_blk8x8_uv/2;b8++)
      {
        for (b4=0;b4<4;b4++)
        {
          joff = subblk_offset_y[yuv][b8][b4];
          ioff = subblk_offset_x[yuv][b8][b4];
          for (ii=0; ii<BLOCK_SIZE; ii++)
          for (jj=0; jj<BLOCK_SIZE; jj++)
          {
            img->mpr[ii+ioff][jj+joff]=js[b8][b4];

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区免费| 91免费精品国自产拍在线不卡| 亚洲丝袜自拍清纯另类| 欧美一区二区在线观看| av不卡一区二区三区| 蜜臀精品一区二区三区在线观看 | 色综合久久88色综合天天6 | 亚洲欧美日韩中文字幕一区二区三区| 欧美一区二区精美| 欧美曰成人黄网| 成人丝袜18视频在线观看| 精品一区二区三区视频在线观看| 亚洲曰韩产成在线| 亚洲色图欧美激情| 国产精品久久久久久久久晋中| 精品欧美黑人一区二区三区| 欧美中文字幕久久| 91同城在线观看| 99国产麻豆精品| 成人av手机在线观看| 成人亚洲一区二区一| 国产精品主播直播| 久久精品国产澳门| 免费看欧美女人艹b| 丝袜国产日韩另类美女| 亚洲成av人在线观看| 亚洲在线观看免费| 亚洲综合一二三区| 亚洲综合在线第一页| 亚洲日本乱码在线观看| 亚洲欧洲制服丝袜| 亚洲欧美成人一区二区三区| 亚洲天堂精品视频| 一区二区三区中文在线观看| 亚洲日韩欧美一区二区在线| 综合色天天鬼久久鬼色| 亚洲视频在线观看一区| 亚洲免费观看高清完整版在线观看| 国产精品嫩草影院av蜜臀| 欧美激情综合五月色丁香小说| 国产亚洲va综合人人澡精品| 国产欧美日韩综合| ...xxx性欧美| 玉足女爽爽91| 日韩在线一区二区三区| 免费成人在线影院| 国产精品中文字幕日韩精品| 国产一区二区不卡在线| jlzzjlzz欧美大全| 91福利精品视频| 欧美男同性恋视频网站| 精品欧美一区二区三区精品久久| 久久亚区不卡日本| 中文字幕一区在线| 一区二区三区毛片| 蜜臀va亚洲va欧美va天堂| 九九九久久久精品| 成人免费视频视频在线观看免费 | 欧美亚洲日本一区| 欧美一区二区美女| 久久日韩精品一区二区五区| 国产精品福利一区二区| 一区二区三区在线观看欧美 | 韩国精品免费视频| av在线不卡观看免费观看| 在线看一区二区| 精品国产三级a在线观看| 国产精品丝袜一区| 图片区小说区区亚洲影院| 国产在线播放一区| 91丨九色丨黑人外教| 3d动漫精品啪啪| 国产精品色一区二区三区| 亚洲欧美国产三级| 麻豆精品新av中文字幕| 99在线精品免费| 欧美精品vⅰdeose4hd| 国产午夜精品久久久久久免费视 | 亚洲精品中文字幕乱码三区| 视频一区视频二区中文字幕| 国产成人免费视频网站| 在线观看成人小视频| 久久蜜桃av一区二区天堂 | 一区二区三区中文字幕精品精品| 人人爽香蕉精品| 91免费在线播放| 精品粉嫩超白一线天av| 亚洲综合丝袜美腿| 福利一区二区在线| 欧美一区二区三区免费视频| 中文字幕字幕中文在线中不卡视频| 日韩国产精品久久久| 91免费视频观看| 久久久综合九色合综国产精品| 亚洲午夜精品网| 成人午夜短视频| 日韩视频在线一区二区| 亚洲一区二区成人在线观看| 国产一区二区三区| 制服丝袜在线91| 一区二区三区在线免费观看| 国产98色在线|日韩| 日韩午夜av电影| 日一区二区三区| 欧美日韩精品一区二区三区四区| 国产精品久久久久一区二区三区| 韩国三级中文字幕hd久久精品| 欧美日韩国产系列| 一个色综合网站| 99精品在线观看视频| 国产欧美日韩视频一区二区| 久久精品国产色蜜蜜麻豆| 欧美日韩免费观看一区二区三区 | 欧美大胆人体bbbb| 亚洲成a人片在线不卡一二三区 | 青青草国产成人99久久| 欧美丝袜丝nylons| 亚洲永久精品大片| 色综合久久久久| 椎名由奈av一区二区三区| 成人午夜电影网站| 国产精品欧美久久久久一区二区| 精品在线播放免费| 欧美精品一区二区在线观看| 美女性感视频久久| 日韩一区二区免费在线电影| 视频一区视频二区中文字幕| 欧美挠脚心视频网站| 亚洲超碰精品一区二区| 欧美日韩在线精品一区二区三区激情| 一区二区三区精密机械公司| 色婷婷精品大在线视频| 亚洲在线免费播放| 欧美影院精品一区| 天堂一区二区在线| 91精品国产aⅴ一区二区| 五月天激情综合| 日韩午夜三级在线| 国产一区二区在线电影| 日本一区二区三区dvd视频在线| 国产99久久久久| 亚洲免费观看高清完整版在线观看| 国产精品一区二区久激情瑜伽| 精品国精品国产| 国产一区二区三区黄视频| 久久久久久免费网| 丰满亚洲少妇av| 亚洲欧洲精品一区二区三区| 91一区在线观看| 香蕉影视欧美成人| 精品奇米国产一区二区三区| 国产一区二区伦理| 日韩一区有码在线| 欧美日韩国产美| 天天av天天翘天天综合网| 91精品欧美综合在线观看最新| 麻豆视频观看网址久久| 国产午夜精品久久久久久免费视| 处破女av一区二区| 一区二区三区日韩欧美精品| 在线电影院国产精品| 国产精品一区二区在线观看网站| 国产精品少妇自拍| 欧美日韩在线三区| 激情久久久久久久久久久久久久久久| 精品少妇一区二区三区日产乱码 | 麻豆精品一二三| 国产精品卡一卡二| 欧美日韩亚洲高清一区二区| 青草国产精品久久久久久| 国产午夜精品美女毛片视频| 日本久久电影网| 久久99精品久久久久久久久久久久| 国产精品色哟哟网站| 欧美日韩国产一级二级| 国产成人精品综合在线观看| 亚洲成人动漫精品| 国产亚洲综合性久久久影院| 91久久一区二区| 国产一区二区h| 五月婷婷另类国产| 国产精品午夜在线| 这里只有精品视频在线观看| 春色校园综合激情亚洲| 三级在线观看一区二区| 国产精品国产三级国产普通话99| 91精品午夜视频| 一本色道综合亚洲| 久久不见久久见免费视频1| 亚洲免费观看在线视频| 久久嫩草精品久久久精品| 欧美日韩成人激情| 99re免费视频精品全部| 久久激情五月婷婷| 亚洲国产日韩av| 《视频一区视频二区| 久久久精品国产免费观看同学| 欧美高清www午色夜在线视频| av午夜一区麻豆| 国产馆精品极品|