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

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

?? me_fast_kc.i

?? H.264完整的C語言代碼和DCT的代碼
?? I
?? 第 1 頁 / 共 2 頁
字號:
  mb4 = save_arr[4];
  mb5 = save_arr[5];
  mb6 = save_arr[6];
  mb7 = save_arr[7];
}



inline void extract_ref_MB4(array<ubyte4>& search_region,
                            int start_idx,
                            int x, int y,
                            int range_x, int range_y,
                            int& sr_row, int& sr_col, int& rot_perm,
                            ubyte4& ref_mb0, ubyte4& ref_mb1, ubyte4& ref_mb2, ubyte4& ref_mb3, ubyte4& ref_mb4, ubyte4& ref_mb5, ubyte4& ref_mb6, ubyte4& ref_mb7)
{
  
  int num_cols, sr_row_num;
  int new_x = x + range_x;
  int new_y = y + range_y;
  num_cols = shift(range_x, -1) + 4;
  int sr_col0 = shift(new_x, -2) + start_idx;
  int sr_col1 = sr_col0 + 1;
  int sr_col2 = sr_col1 + 1;
  int sr_col3 = sr_col2 + 1;
  sr_col0 = select(itocc(sr_col0 >= num_cols), sr_col0 - num_cols, sr_col0);
  sr_col1 = select(itocc(sr_col1 >= num_cols), sr_col1 - num_cols, sr_col1);
  sr_col2 = select(itocc(sr_col2 >= num_cols), sr_col2 - num_cols, sr_col2);
  sr_col3 = select(itocc(sr_col3 >= num_cols), sr_col3 - num_cols, sr_col3);
  sr_col = sr_col0;
  cc row_inc = itocc(cid() < (new_y & 0x7));
  sr_row_num = shift(new_y, -3);
  sr_row_num = select(row_inc, sr_row_num + 1, sr_row_num);
  sr_row = lo(sr_row_num * num_cols);
  int sr_idx0 = sr_row + sr_col0;
  int sr_idx1 = sr_row + sr_col1;
  int sr_idx2 = sr_row + sr_col2;
  int sr_idx3 = sr_row + sr_col3;
  int sr_idx4 = sr_idx0 + num_cols;
  int sr_idx5 = sr_idx1 + num_cols;
  int sr_idx6 = sr_idx2 + num_cols;
  int sr_idx7 = sr_idx3 + num_cols;

  
  ref_mb0 = search_region[sr_idx0];
  ref_mb1 = search_region[sr_idx1];
  ref_mb2 = search_region[sr_idx2];
  ref_mb3 = search_region[sr_idx3];
  
  ref_mb4 = search_region[sr_idx4];
  ref_mb5 = search_region[sr_idx5];
  ref_mb6 = search_region[sr_idx6];
  ref_mb7 = search_region[sr_idx7];

  
  
  rot_perm = (new_y + cid()) & 0x7;
  ref_mb0 = commclperm(rot_perm, ref_mb0);
  ref_mb1 = commclperm(rot_perm, ref_mb1);
  ref_mb2 = commclperm(rot_perm, ref_mb2);
  ref_mb3 = commclperm(rot_perm, ref_mb3);
  ref_mb4 = commclperm(rot_perm, ref_mb4);
  ref_mb5 = commclperm(rot_perm, ref_mb5);
  ref_mb6 = commclperm(rot_perm, ref_mb6);
  ref_mb7 = commclperm(rot_perm, ref_mb7);
}



inline void extract_ref_MB(array<ubyte4>& search_region,
                           int start_idx,
                           int x, int y,
                           int range_x, int range_y,
                           ubyte4& ref_mb0, ubyte4& ref_mb1, ubyte4& ref_mb2, ubyte4& ref_mb3, ubyte4& ref_mb4, ubyte4& ref_mb5, ubyte4& ref_mb6, ubyte4& ref_mb7)
{
  
  int num_cols, sr_row, sr_row_idx;
  int new_x = x + range_x;
  int new_y = y + range_y;
  num_cols = shift(range_x, -1) + 4;
  int sr_col0 = shift(new_x, -2) + start_idx;
  int sr_col1 = sr_col0 + 1;
  int sr_col2 = sr_col1 + 1;
  int sr_col3 = sr_col2 + 1;
  int sr_col4 = sr_col3 + 1;
  sr_col0 = select(itocc(sr_col0 >= num_cols), sr_col0 - num_cols, sr_col0);
  sr_col1 = select(itocc(sr_col1 >= num_cols), sr_col1 - num_cols, sr_col1);
  sr_col2 = select(itocc(sr_col2 >= num_cols), sr_col2 - num_cols, sr_col2);
  sr_col3 = select(itocc(sr_col3 >= num_cols), sr_col3 - num_cols, sr_col3);
  sr_col4 = select(itocc(sr_col4 >= num_cols), sr_col4 - num_cols, sr_col4);
  cc row_inc = itocc(cid() < (new_y & 0x7));
  sr_row = shift(new_y, -3);
  sr_row = select(row_inc, sr_row + 1, sr_row);
  sr_row_idx = lo(sr_row * num_cols);
  int sr_idx0 = sr_row_idx + sr_col0;
  int sr_idx1 = sr_row_idx + sr_col1;
  int sr_idx2 = sr_row_idx + sr_col2;
  int sr_idx3 = sr_row_idx + sr_col3;
  int sr_idx4 = sr_row_idx + sr_col4;
  int sr_idx5 = sr_idx0 + num_cols;
  int sr_idx6 = sr_idx1 + num_cols;
  int sr_idx7 = sr_idx2 + num_cols;
  int sr_idx8 = sr_idx3 + num_cols;
  int sr_idx9 = sr_idx4 + num_cols;

  
  
  
  cc x_nlsb = itocc((new_x & 2) != 0);
  cc x_lsb = itocc((new_x & 1) != 0);
  byte4 ctrl = select(x_nlsb,
                      select(x_lsb, 0x08838281, 0x18088382),
                      select(x_lsb, 0x28180883, 0x38281808));

  ubyte4 word0_lo, word0_hi, word1_lo, word1_hi;
  ubyte4 word2_lo, word2_hi, word3_lo, word3_hi;
  ubyte4 dummy;

  
  hi_lo(word0_hi,    dummy) = shuffled(search_region[sr_idx0], ctrl);
  hi_lo(word1_hi, word0_lo) = shuffled(search_region[sr_idx1], ctrl);
  hi_lo(word2_hi, word1_lo) = shuffled(search_region[sr_idx2], ctrl);
  hi_lo(word3_hi, word2_lo) = shuffled(search_region[sr_idx3], ctrl);
  hi_lo(dummy,    word3_lo) = shuffled(search_region[sr_idx4], ctrl);
  ref_mb0 = word0_hi | word0_lo;
  ref_mb1 = word1_hi | word1_lo;
  ref_mb2 = word2_hi | word2_lo;
  ref_mb3 = word3_hi | word3_lo;
  
  hi_lo(word0_hi,    dummy) = shuffled(search_region[sr_idx5], ctrl);
  hi_lo(word1_hi, word0_lo) = shuffled(search_region[sr_idx6], ctrl);
  hi_lo(word2_hi, word1_lo) = shuffled(search_region[sr_idx7], ctrl);
  hi_lo(word3_hi, word2_lo) = shuffled(search_region[sr_idx8], ctrl);
  hi_lo(dummy,    word3_lo) = shuffled(search_region[sr_idx9], ctrl);
  ref_mb4 = word0_hi | word0_lo;
  ref_mb5 = word1_hi | word1_lo;
  ref_mb6 = word2_hi | word2_lo;
  ref_mb7 = word3_hi | word3_lo;

  
  
  int rot_perm = (new_y + cid()) & 0x7;
  ref_mb0 = commclperm(rot_perm, ref_mb0);
  ref_mb1 = commclperm(rot_perm, ref_mb1);
  ref_mb2 = commclperm(rot_perm, ref_mb2);
  ref_mb3 = commclperm(rot_perm, ref_mb3);
  ref_mb4 = commclperm(rot_perm, ref_mb4);
  ref_mb5 = commclperm(rot_perm, ref_mb5);
  ref_mb6 = commclperm(rot_perm, ref_mb6);
  ref_mb7 = commclperm(rot_perm, ref_mb7);
}





inline void shift_ref_MB4(array<ubyte4>& search_region,
                          int sr_row, int& sr_col,
                          int range_x,
                          int rot_perm,
                          ubyte4& ref_mb0, ubyte4& ref_mb1, ubyte4& ref_mb2, ubyte4& ref_mb3, ubyte4& ref_mb4, ubyte4& ref_mb5, ubyte4& ref_mb6, ubyte4& ref_mb7)
{
  ref_mb0 = ref_mb1;
  ref_mb1 = ref_mb2;
  ref_mb2 = ref_mb3;

  ref_mb4 = ref_mb5;
  ref_mb5 = ref_mb6;
  ref_mb6 = ref_mb7;

  int num_cols = shift(range_x, -1) + 4;
  int sr_col_idx = sr_col + 4;
  sr_col_idx = select(itocc(sr_col_idx >= num_cols),
                      sr_col_idx - num_cols,
                      sr_col_idx);
  int sr_idx = sr_row + sr_col_idx;
  ref_mb3 = commclperm(rot_perm, search_region[sr_idx]);
  ref_mb7 = commclperm(rot_perm, search_region[sr_idx + num_cols]);

  sr_col = sr_col + 1;
  sr_col = select(itocc(sr_col == num_cols), 0, sr_col);
}





inline void compare_MB(ubyte4 ref_mb0, ubyte4 ref_mb1, ubyte4 ref_mb2, ubyte4 ref_mb3, ubyte4 ref_mb4, ubyte4 ref_mb5, ubyte4 ref_mb6, ubyte4 ref_mb7,
                       ubyte4 mb0, ubyte4 mb1, ubyte4 mb2, ubyte4 mb3, ubyte4 mb4, ubyte4 mb5, ubyte4 mb6, ubyte4 mb7,
                       int test_x, int test_y, int in_range,
                       int& mv_x, int& mv_y, uint& mv_sad)
{
  
  ubyte4 diff0 = abd(ref_mb0, mb0);
  ubyte4 diff1 = abd(ref_mb1, mb1);
  ubyte4 diff2 = abd(ref_mb2, mb2);
  ubyte4 diff3 = abd(ref_mb3, mb3);
  ubyte4 diff4 = abd(ref_mb4, mb4);
  ubyte4 diff5 = abd(ref_mb5, mb5);
  ubyte4 diff6 = abd(ref_mb6, mb6);
  ubyte4 diff7 = abd(ref_mb7, mb7);

  
  
  double<uhalf2> sadA0, sadA1;
  uhalf2 sadB0, sadB1, sadC0, sadC1;
  uint sad;
  sadA0 = shuffled(uhalf2(diff0), 0x88318820);
  sadA1 = shuffled(uhalf2(diff1), 0x88318820);
  sadB0 = (hi(sadA0) + lo(sadA0)) + (hi(sadA1) + lo(sadA1));
  sadA0 = shuffled(uhalf2(diff2), 0x88318820);
  sadA1 = shuffled(uhalf2(diff3), 0x88318820);
  sadB1 = (hi(sadA0) + lo(sadA0)) + (hi(sadA1) + lo(sadA1));
  sadC0 = sadB0 + sadB1;
  sadA0 = shuffled(uhalf2(diff4), 0x88318820);
  sadA1 = shuffled(uhalf2(diff5), 0x88318820);
  sadB0 = (hi(sadA0) + lo(sadA0)) + (hi(sadA1) + lo(sadA1));
  sadA0 = shuffled(uhalf2(diff6), 0x88318820);
  sadA1 = shuffled(uhalf2(diff7), 0x88318820);
  sadB1 = (hi(sadA0) + lo(sadA0)) + (hi(sadA1) + lo(sadA1));
  sadC1 = sadB0 + sadB1;
  double<uhalf2> final_sad = shuffled(sadC0 + sadC1, 0x88883120);
  sad = uint(hi(final_sad) + lo(final_sad));

  
  uc<int> tree_sum1 = 0x67452301;
  uc<int> tree_sum2 = 0x44660022;
  uc<int> tree_sum3 = 0x00004444;
  sad = sad + commucperm(tree_sum1, sad);
  sad = sad + commucperm(tree_sum2, sad);
  sad = sad + commucperm(tree_sum3, sad);

  
  cc better = itocc((sad < mv_sad) & in_range);
  mv_x = select(better, test_x, mv_x);
  mv_y = select(better, test_y, mv_y);
  mv_sad = select(better, sad, mv_sad);
}
#line 87 "D:\\working\\im_apps\\h264\\me_kc.hpp"
#line 88 "D:\\working\\im_apps\\h264\\me_kc.hpp"

#line 90 "D:\\working\\im_apps\\h264\\me_kc.hpp"
#line 4 "D:\\working\\im_apps\\h264\\me_fast_kc.cpp"
#line 1 "D:/working/tools/isim/isimexe/blank_headers\\idb_kernelc2.hpp"






#line 5 "D:\\working\\im_apps\\h264\\me_fast_kc.cpp"
























;
kernel me_fast(istream<ubyte4> row0,
               istream<ubyte4> row1,
               istream<ubyte4> row2,
               istream<ubyte4> mblocks,
               costream<half2> motions_out,
               ostream<ubyte4> refyblks,
               ostream<uint>   crcbindices,
               uc<int>& uc_margin,
               uc<int>& uc_offsets,  
               uc<int>& uc_mblks,    
               uc<int>& uc_mb_width) 
{
  
  synch();
  int margin = commclperm(8, 0, uc_margin);
  int mblks = commclperm(8, 0, uc_mblks);
  uint offsets = uint(commclperm(8, 0, uc_offsets));
  uint mb_width  = uint(commclperm(8, 0, uc_mb_width));

  
  int top_margin = margin & 0xFF;
  int bottom_margin = shift(margin, -8) & 0xFF;
  int left_margin = shift(margin, -16) & 0xFF;
  int right_margin = shift(margin, -24) & 0xFF;
  uint xoffset = offsets & 0xffff;
  uint yoffset = shift(offsets, -16);
  uint crefx = shift(xoffset, -1) + uint(cid());
  uint crefy = shift(yoffset, -1);
  uint crowlen = shift(mb_width, 6);

  cc clzero = itocc(cid() == 0);
  cc cc_true = itocc(0 == 0);
  cc dummy_cc;

  
  ubyte4 mb0, mb1, mb2, mb3, mb4, mb5, mb6, mb7;
  array<ubyte4> mb_save(8);

  
  ubyte4 ref_mb0, ref_mb1, ref_mb2, ref_mb3, ref_mb4, ref_mb5, ref_mb6, ref_mb7;
  array<ubyte4> ref_mb_save(8);

  
  half2 mv_xy;
  int mv_x, mv_y, x, y, test_x, test_y;
  cc wrap;
  uint mv_sad;
  int in_range;

  
  
  
  
  
  int top_range = 0 - select(itocc(top_margin < 16), top_margin, 16);
  int bottom_range = select(itocc(bottom_margin < 15), bottom_margin, 15);
  int left_range = 0 - left_margin;
  
  int num_cols_to_right = shift(mblks, 4) + right_margin - 16;
  int right_range = select(itocc(num_cols_to_right < 15), num_cols_to_right, 15);

  
  array<ubyte4> search_region(72);
  
  
  
  int i = shift(left_margin + right_range + 1, -2);
  uc<int> loopcnt;
  i = commclperm(0, i, 0, loopcnt);
  int idx = shift(16 - left_margin, -2);
  loop_count(loopcnt) pipeline(1) {
    row0(ALL, cc_true) >> search_region[0+idx]; row0(ALL, cc_true) >> search_region[12+idx]; row1(ALL, cc_true) >> search_region[24+idx]; row1(ALL, cc_true) >> search_region[36+idx]; row2(ALL, cc_true) >> search_region[48+idx]; row2(ALL, cc_true) >> search_region[60+idx]; idx = idx + 1;
  }
  int num_cols_left_to_load = shift(mblks, 4);

  loop_stream(mblocks) {
    
    cc do_read = itocc(num_cols_left_to_load > 0);
    row0(ALL, do_read) >> search_region[0+idx]; row0(ALL, do_read) >> search_region[12+idx]; row1(ALL, do_read) >> search_region[24+idx]; row1(ALL, do_read) >> search_region[36+idx]; row2(ALL, do_read) >> search_region[48+idx]; row2(ALL, do_read) >> search_region[60+idx]; idx = idx + 1;
    row0(ALL, do_read) >> search_region[0+idx]; row0(ALL, do_read) >> search_region[12+idx]; row1(ALL, do_read) >> search_region[24+idx]; row1(ALL, do_read) >> search_region[36+idx]; row2(ALL, do_read) >> search_region[48+idx]; row2(ALL, do_read) >> search_region[60+idx]; idx = idx + 1;
    row0(ALL, do_read) >> search_region[0+idx]; row0(ALL, do_read) >> search_region[12+idx]; row1(ALL, do_read) >> search_region[24+idx]; row1(ALL, do_read) >> search_region[36+idx]; row2(ALL, do_read) >> search_region[48+idx]; row2(ALL, do_read) >> search_region[60+idx]; idx = idx + 1;
    row0(ALL, do_read) >> search_region[0+idx]; row0(ALL, do_read) >> search_region[12+idx]; row1(ALL, do_read) >> search_region[24+idx]; row1(ALL, do_read) >> search_region[36+idx]; row2(ALL, do_read) >> search_region[48+idx]; row2(ALL, do_read) >> search_region[60+idx]; idx = idx + 1;
    cc wrap_idx = itocc(idx == 12);
    idx = select(wrap_idx, 0, idx);

    
    mblocks >> mb0 >> mb4 >> mb1 >> mb5;
    mblocks >> mb2 >> mb6 >> mb3 >> mb7;
    save_MB(mb_save, mb0, mb1, mb2, mb3, mb4, mb5, mb6, mb7);

    uc<int> vcnt, hcnt;
    int SR_row, SR_col, rot_perm;

    
    y = -12;
    mv_sad = 0xffffffff;
    vcnt = 7;
    loop_count(vcnt) {
      x = -12;
      extract_ref_MB4(search_region, idx, x, y, 16, 16, SR_row, SR_col, rot_perm, ref_mb0, ref_mb1, ref_mb2, ref_mb3, ref_mb4, ref_mb5, ref_mb6, ref_mb7);
      save_MB(ref_mb_save, ref_mb0, ref_mb1, ref_mb2, ref_mb3, ref_mb4, ref_mb5, ref_mb6, ref_mb7);
      hcnt = 7;
      loop_count(hcnt) pipeline(26) {
        in_range = check_xy(top_range, bottom_range, left_range, right_range, x, y);
        load_MB(ref_mb_save, ref_mb0, ref_mb1, ref_mb2, ref_mb3, ref_mb4, ref_mb5, ref_mb6, ref_mb7);
        load_MB(mb_save, mb0, mb1, mb2, mb3, mb4, mb5, mb6, mb7);
        compare_MB(ref_mb0, ref_mb1, ref_mb2, ref_mb3, ref_mb4, ref_mb5, ref_mb6, ref_mb7, mb0, mb1, mb2, mb3, mb4, mb5, mb6, mb7, x, y, in_range, mv_x, mv_y, mv_sad);
        shift_ref_MB4(search_region, SR_row, SR_col, 16, rot_perm, ref_mb0, ref_mb1, ref_mb2, ref_mb3, ref_mb4, ref_mb5, ref_mb6, ref_mb7);
        save_MB(ref_mb_save, ref_mb0, ref_mb1, ref_mb2, ref_mb3, ref_mb4, ref_mb5, ref_mb6, ref_mb7);
        x = x + 4;
      }
      y = y + 4;
    }

    
    x = mv_x - 2;
    y = mv_y - 2;
    i = 0;
    loopcnt = 9;
    loop_count(loopcnt) pipeline(45) {
      test_x %= x;
      test_y %= y;
      in_range = check_xy(top_range, bottom_range, left_range, right_range, test_x, test_y);
      extract_ref_MB(search_region, idx, test_x, test_y, 16, 16, ref_mb0, ref_mb1, ref_mb2, ref_mb3, ref_mb4, ref_mb5, ref_mb6, ref_mb7);
      load_MB(mb_save, mb0, mb1, mb2, mb3, mb4, mb5, mb6, mb7);
      compare_MB(ref_mb0, ref_mb1, ref_mb2, ref_mb3, ref_mb4, ref_mb5, ref_mb6, ref_mb7, mb0, mb1, mb2, mb3, mb4, mb5, mb6, mb7, test_x, test_y, in_range, mv_x, mv_y, mv_sad);
      i = i + 1;
      wrap = itocc(i == 3);
      i = select(wrap, 0, i);
      x = select(wrap, x - 4, x + 2);
      y = select(wrap, y + 2, y);
    }

    
    x = mv_x - 1;
    y = mv_y - 1;
    i = 0;
    loopcnt = 9;
    loop_count(loopcnt) pipeline(45) {
      test_x %= x;
      test_y %= y;
      in_range = check_xy(top_range, bottom_range, left_range, right_range, test_x, test_y);
      extract_ref_MB(search_region, idx, test_x, test_y, 16, 16, ref_mb0, ref_mb1, ref_mb2, ref_mb3, ref_mb4, ref_mb5, ref_mb6, ref_mb7);
      load_MB(mb_save, mb0, mb1, mb2, mb3, mb4, mb5, mb6, mb7);
      compare_MB(ref_mb0, ref_mb1, ref_mb2, ref_mb3, ref_mb4, ref_mb5, ref_mb6, ref_mb7, mb0, mb1, mb2, mb3, mb4, mb5, mb6, mb7, test_x, test_y, in_range, mv_x, mv_y, mv_sad);
      i = i + 1;
      wrap = itocc(i == 3);
      i = select(wrap, 0, i);
      x = select(wrap, x - 2, x + 1);
      y = select(wrap, y + 1, y);
    }

    
    mv_xy = shift(half2(shift(mv_y, 16) | (mv_x & 0xffff)), 1);
    motions_out(clzero) << mv_xy;
    motions_out(clzero) << half2(ref_mb0); 

    
    extract_ref_MB(search_region, idx, mv_x, mv_y, 16, 16, ref_mb0, ref_mb1, ref_mb2, ref_mb3, ref_mb4, ref_mb5, ref_mb6, ref_mb7);
    refyblks << ref_mb0 << ref_mb4 << ref_mb1 << ref_mb5;
    refyblks << ref_mb2 << ref_mb6 << ref_mb3 << ref_mb7;

    
    
    
    
    int dx = mv_x + select(itocc(mv_x < 0), 1, 0);
    int dy = mv_y + select(itocc(mv_y < 0), 1, 0);
    uint fetchx = crefx + uint(shifta(dx, -1));
    uint fetchy = crefy + uint(shifta(dy, -1));
    uint fetchxoffset = shift(shift(fetchx, -3), 6) + (fetchx & 0x7);
    crefx = crefx + 8;
    
    loopcnt = 8;
    loop_count(loopcnt) pipeline(1) {
      uint fetchyoffset = lo(shift(fetchy, -3) * crowlen) + shift(fetchy & 0x7, 3);
      fetchy = fetchy + 1;
      uint c_out = fetchxoffset + fetchyoffset;
      crcbindices << c_out;
    }

    left_range = select(itocc(left_range > -16), left_range - 16, left_range);
    left_range = select(itocc(left_range < -16), -16, left_range);
    num_cols_to_right = num_cols_to_right - 16;
    right_range = select(itocc(num_cols_to_right < 15), num_cols_to_right, 15);
    num_cols_left_to_load = num_cols_left_to_load - 16;
  }

  flush(motions_out, 0);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲h精品动漫在线观看| 国产精品麻豆久久久| 欧美日韩日日摸| 91视频在线看| 欧美日韩三级视频| 欧美成人三级电影在线| 国产三级欧美三级| 一区二区久久久| 精品亚洲porn| 色综合色综合色综合色综合色综合| 久久综合国产精品| 亚洲自拍偷拍九九九| 精久久久久久久久久久| 日本久久精品电影| 精品sm在线观看| 一区二区理论电影在线观看| 国产最新精品免费| 欧美图片一区二区三区| 国产欧美一区二区精品性色| 亚洲图片自拍偷拍| 99久久精品国产一区| 亚洲精品在线三区| 日本特黄久久久高潮| 欧美三级在线视频| 18成人在线观看| 成人国产精品免费网站| 精品国产精品网麻豆系列| 亚洲chinese男男1069| 日韩一区国产二区欧美三区| 午夜精品影院在线观看| 97se亚洲国产综合自在线观| 久久久777精品电影网影网 | 五月天激情小说综合| 色综合咪咪久久| 自拍偷拍亚洲激情| 91在线视频播放地址| 中文字幕一区在线观看| 成人18视频日本| 亚洲素人一区二区| 色综合久久久久网| 亚洲成人综合视频| 欧美丰满美乳xxx高潮www| 亚洲伊人色欲综合网| 日韩欧美区一区二| 蜜臀va亚洲va欧美va天堂| 亚洲视频资源在线| 欧美日韩国产成人在线免费| 亚洲电影激情视频网站| 日韩午夜激情视频| 成人午夜私人影院| 亚洲电影视频在线| 国产日韩一级二级三级| 一本到三区不卡视频| 蜜桃视频第一区免费观看| 国产人成亚洲第一网站在线播放| 色偷偷88欧美精品久久久| 麻豆国产精品一区二区三区| 国产精品毛片大码女人| 91精品国产综合久久婷婷香蕉| 国产激情视频一区二区在线观看| 亚洲人吸女人奶水| 精品日韩一区二区三区| 91欧美一区二区| 国产精品一区久久久久| 亚洲一卡二卡三卡四卡| 国产日产精品1区| 制服丝袜亚洲色图| 欧美午夜免费电影| 91欧美激情一区二区三区成人| 精品一区二区三区免费视频| 亚洲国产va精品久久久不卡综合| 日本一区二区视频在线观看| 日韩免费观看高清完整版在线观看| 在线免费观看成人短视频| 成人黄色网址在线观看| 国产精品自产自拍| 激情五月激情综合网| 奇米精品一区二区三区四区| 婷婷综合五月天| 午夜精品久久久久久久久久| 亚洲国产一区视频| 亚洲va国产va欧美va观看| 亚洲一区二区欧美| 天天综合网天天综合色 | www.亚洲激情.com| 风间由美一区二区av101| 国产精品综合网| 欧美日韩国产bt| 欧美videofree性高清杂交| 777a∨成人精品桃花网| 日韩欧美精品在线视频| 日本一区二区三区在线不卡| 国产精品视频在线看| 亚洲蜜臀av乱码久久精品| 亚洲国产毛片aaaaa无费看 | 在线观看欧美精品| 欧美日韩国产首页在线观看| 欧美精品一区二区三区蜜臀| 久久综合九色综合97_久久久| 亚洲欧美在线高清| 丝袜国产日韩另类美女| 国产成人精品综合在线观看 | 亚洲成人资源网| 国产精品一区在线观看乱码| 日本福利一区二区| 一区二区日韩av| 国模冰冰炮一区二区| 欧美午夜宅男影院| 国产日韩欧美一区二区三区综合| 亚洲一区二区视频在线观看| 九色综合狠狠综合久久| 欧美人狂配大交3d怪物一区| 国产精品久线观看视频| 免费在线观看一区二区三区| 99r国产精品| 国产亚洲欧美色| 日韩成人一级大片| 国产91在线观看| 欧美一区二区三区色| 亚洲免费色视频| 不卡视频在线看| 久久久www免费人成精品| 久久国产视频网| 4438x成人网最大色成网站| 亚洲最新视频在线播放| 91日韩在线专区| 亚洲午夜日本在线观看| 日本高清不卡aⅴ免费网站| 樱桃视频在线观看一区| 91在线国产福利| 亚洲综合免费观看高清完整版在线| 91美女片黄在线观看| 夜夜亚洲天天久久| 欧美老女人第四色| 男女男精品视频网| 精品免费国产一区二区三区四区| 久久99精品久久久久久国产越南| 精品国产乱子伦一区| 成人av网站在线观看免费| 亚洲蜜臀av乱码久久精品| 欧美高清一级片在线| 国产精品18久久久久久久网站| 国产精品色一区二区三区| 欧美性受极品xxxx喷水| 麻豆精品国产91久久久久久| 国产精品视频你懂的| 欧美精品tushy高清| 成熟亚洲日本毛茸茸凸凹| 一区二区三区在线观看欧美| 久久综合久久鬼色中文字| 欧美偷拍一区二区| 成人午夜又粗又硬又大| 亚洲aⅴ怡春院| 亚洲欧洲日韩女同| 精品毛片乱码1区2区3区| 欧美在线视频全部完| fc2成人免费人成在线观看播放| 日韩黄色小视频| 久久黄色级2电影| 日本sm残虐另类| 亚洲综合在线电影| 国产日韩欧美一区二区三区综合| 欧美丰满少妇xxxbbb| 欧美日韩免费观看一区二区三区| 国产成人av电影在线播放| 日本成人在线不卡视频| 亚洲电影第三页| 一区二区三区丝袜| 久久久91精品国产一区二区三区| 欧美一级国产精品| 欧美制服丝袜第一页| 欧美在线观看一区| 欧美日韩国产一级二级| 欧美麻豆精品久久久久久| 91精品国产一区二区三区蜜臀| 欧美亚洲综合另类| 欧美久久久久免费| 欧美一区二区国产| xf在线a精品一区二区视频网站| 精品久久久久香蕉网| 国产精品女主播av| 亚洲丝袜另类动漫二区| 亚洲一级片在线观看| 麻豆精品久久久| 91在线观看高清| 欧美情侣在线播放| 久久久精品国产免大香伊| 中文字幕一区二区日韩精品绯色| 亚洲欧美一区二区三区极速播放| 日本在线观看不卡视频| 国产成人精品亚洲午夜麻豆| 欧美三级一区二区| 精品国产一区二区三区av性色| 中文字幕电影一区| 麻豆精品一区二区综合av| av成人免费在线观看| 欧美成人一区二区三区片免费 | 在线亚洲一区二区| 国产亚洲精品精华液| 青青草成人在线观看|