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

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

?? dec_cavlc.c

?? 經過開源的H.264壓縮算法代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
            T264dec_mb_read_coff_token_t2, T264dec_mb_read_coff_token_t2,
            T264dec_mb_read_coff_token_t2, T264dec_mb_read_coff_token_t2,
            T264dec_mb_read_coff_token_t3, T264dec_mb_read_coff_token_t3,
            T264dec_mb_read_coff_token_t3, T264dec_mb_read_coff_token_t3,
            T264dec_mb_read_coff_token_t3, T264dec_mb_read_coff_token_t3,
            T264dec_mb_read_coff_token_t3, T264dec_mb_read_coff_token_t3,
            T264dec_mb_read_coff_token_t3
        };

        if(idx == BLOCK_INDEX_LUMA_DC)
        {
            // predict nC = (nA + nB) / 2;
            nC = T264_mb_predict_non_zero_code(t, 0);

            read_coeff[nC](t, &trailing_ones, &total_coeff);
        }
        else
        {
            // predict nC = (nA + nB) / 2;
            nC = T264_mb_predict_non_zero_code(t, idx);

            read_coeff[nC](t, &trailing_ones, &total_coeff);

            assert(total_coeff != 255);
            assert(trailing_ones != 255);

            if (idx < 16)
            {
                x = luma_inverse_x[idx];
                y = luma_inverse_y[idx];
                t->mb.nnz[luma_index[idx]] = total_coeff;
                t->mb.nnz_ref[NNZ_LUMA + y * 8 + x] = total_coeff;
            }
            else if (idx < 20)
            {
                t->mb.nnz[idx] = total_coeff;
                x = (idx - 16) % 2;
                y = (idx - 16) / 2;
                t->mb.nnz_ref[NNZ_CHROMA0 + y * 8 + x] = total_coeff;
            }
            else
            {
                t->mb.nnz[idx] = total_coeff;
                x = (idx - 20) % 2;
                y = (idx - 20) / 2;
                t->mb.nnz_ref[NNZ_CHROMA1 + y * 8 + x] = total_coeff;
            }
        }
    }

    if (total_coeff > 0)
    {
        uint8_t suffix_length = 0;
        int32_t level_code;

        if (total_coeff > 10 && trailing_ones < 3)
            suffix_length = 1;

        for(i = 0 ; i < trailing_ones ; i ++)
        {
            level[i] = 1 - 2 * eg_read_direct1(t->bs);
        }

        for( ; i < total_coeff ; i ++)
        {
            uint32_t level_suffixsize;
            uint32_t level_suffix;
            uint8_t level_prefix = T264dec_mb_read_level_prefix(t);

            level_suffixsize = suffix_length;
            if (suffix_length == 0 && level_prefix == 14)
                level_suffixsize = 4;
            else if (level_prefix == 15)
                level_suffixsize = 12;
            if (level_suffixsize > 0)
                level_suffix = eg_read_direct(t->bs, level_suffixsize);
            else
                level_suffix = 0;
            level_code = (level_prefix << suffix_length) + level_suffix;
            if (level_prefix == 15 && suffix_length == 0)
            {
                level_code += 15;
            }
            if (i == trailing_ones && trailing_ones < 3)
            {
                level_code += 2;
            }
            if (level_code % 2 == 0)
            {
                level[i] = (level_code + 2) >> 1;
            }
            else
            {
                level[i] = (-level_code - 1) >> 1;
            }

            if (suffix_length == 0)
                suffix_length = 1;

            if (ABS(level[i]) > (3 << (suffix_length - 1)) &&
                suffix_length < 6)
            {
                suffix_length ++;
            }
        }

        if (total_coeff < count)
        {
            typedef uint8_t (*T264dec_mb_read_total_zero_t)(T264_t* t);
            static T264dec_mb_read_total_zero_t total_zero_f[] =
            {
                T264dec_mb_read_total_zero1, T264dec_mb_read_total_zero2, T264dec_mb_read_total_zero3, T264dec_mb_read_total_zero4,
                T264dec_mb_read_total_zero5, T264dec_mb_read_total_zero6, T264dec_mb_read_total_zero7, T264dec_mb_read_total_zero8,
                T264dec_mb_read_total_zero9, T264dec_mb_read_total_zero10, T264dec_mb_read_total_zero11, T264dec_mb_read_total_zero12,
                T264dec_mb_read_total_zero13, T264dec_mb_read_total_zero14, T264dec_mb_read_total_zero15
            };

            if(idx != BLOCK_INDEX_CHROMA_DC)
                zero_left = total_zero_f[total_coeff - 1](t);
            else
                zero_left = T264dec_mb_read_total_zero_chroma(t, total_coeff);
        }

        for(i = 0 ; i < total_coeff - 1 ; i ++)
        {
            if (zero_left > 0)
            {
                run[i] = T264dec_mb_read_run_before(t, zero_left);
            }
            else
            {
                run[i] = 0;
            }
            zero_left -= run[i];
        }

        run[total_coeff - 1] = zero_left;

        j = -1;
        for(i = total_coeff - 1 ; i >= 0 ; i --)
        {
            j +=run[i] + 1;
            z[j] = level[i];
        }
    }
}

static void __inline
T264dec_mb_read_intra_cavlc(T264_t* t)
{
    int32_t i;

    if (t->mb.mb_part == I_4x4)
    {
        int32_t cbp;

        T264_mb_read_cavlc_i4x4_mode(t);

        t->mb.mb_mode_uv = eg_read_ue(t->bs);
        assert(t->mb.mb_mode_uv <= Intra_8x8_DC128);

        cbp = i4x4_eg_to_cbp[eg_read_ue(t->bs)];
        t->mb.cbp_y = cbp % 16;
        t->mb.cbp_c = cbp / 16;

        if (cbp > 0)
        {
            t->mb.mb_qp_delta = eg_read_se(t->bs);

            for(i = 0 ; i < 16 ; i ++)
            {
                if (t->mb.cbp_y & (1 << (i / 4)))
                {
                    T264dec_mb_read_cavlc_residual(t, i, t->mb.dct_y_z[i], 16);
                }
            }
        }

        t->mb.mb_mode = I_4x4;
    }
    else
    {
        t->mb.mode_i16x16 = i16x16_eg_to_cbp[t->mb.mb_part][0];
        t->mb.cbp_y = i16x16_eg_to_cbp[t->mb.mb_part][2];
        t->mb.cbp_c = i16x16_eg_to_cbp[t->mb.mb_part][1];

        t->mb.mb_mode_uv = eg_read_ue(t->bs);
        assert(t->mb.mb_mode_uv <= Intra_8x8_DC128);

        t->mb.mb_qp_delta = eg_read_se(t->bs);

        // dc luma
        T264dec_mb_read_cavlc_residual(t, BLOCK_INDEX_LUMA_DC, t->mb.dc4x4_z, 16);

        if (t->mb.cbp_y != 0)
        {
            for(i = 0 ; i < 16 ; i ++)
            {
                if (t->mb.cbp_y & (1 << (i / 4)))
                {
                    T264dec_mb_read_cavlc_residual(t, i, &(t->mb.dct_y_z[i][1]), 15);
                }
                t->mb.dct_y_z[i][0] = t->mb.dc4x4_z[i];
            }
        }

        t->mb.mb_mode = I_16x16;
    }
}

void __inline
mb_get_directMB16x16_mv(T264_t* t)
{
}

void
T264dec_mb_read_cavlc(T264_t* t)
{
    int32_t mb_type;
    int32_t i, j;

    if (t->slice_type != SLICE_I)
    {
        if (t->skip == -1)
        {
            t->skip = eg_read_ue(t->bs);
        }
        if (t->skip -- > 0)
        {
            /* skip mb block, return */
            if (t->slice_type == SLICE_P)
            {
                T264_predict_mv_skip(t, 0, &t->mb.vec[0][0]);
                copy_nvec(&t->mb.vec[0][0], &t->mb.vec[0][0], 4, 4, 4);
                t->mb.mb_mode = P_MODE;     /* decode as MB_16x16 */
                t->mb.mb_part = MB_16x16;
                return;
            }            
            else
            {
                assert(0);
            }
        }
    }

    mb_type = eg_read_ue(t->bs);

    if (t->slice_type == SLICE_P)
    {
        T264_vector_t vec, vec1;

        t->mb.mb_part = mb_type;
        mb_type = -1;   /* ugly way: prevent break to i slice code */
        vec.refno = 0;
        vec1.refno = 0;

        t->mb.mb_mode = P_MODE;
        switch (t->mb.mb_part) 
        {
        case MB_16x16:
            if (t->refl0_num - 1 > 0)
            {
                vec.refno = eg_read_te(t->bs, t->refl0_num - 1);
            }
            T264_predict_mv(t, 0, 0, 4, &vec);
            t->mb.vec[0][0].x = eg_read_se(t->bs) + vec.x;
            t->mb.vec[0][0].y = eg_read_se(t->bs) + vec.y;
            t->mb.vec[0][0].refno = vec.refno;
            copy_nvec(&t->mb.vec[0][0], &t->mb.vec[0][0], 4, 4, 4);
            break;
        case MB_16x8:
            if (t->refl0_num - 1 > 0)
            {
                vec.refno = eg_read_te(t->bs, t->refl0_num - 1);
                vec1.refno = eg_read_te(t->bs, t->refl0_num - 1);
            }
            T264_predict_mv(t, 0, 0, 4, &vec);
            t->mb.vec[0][0].x = eg_read_se(t->bs) + vec.x;
            t->mb.vec[0][0].y = eg_read_se(t->bs) + vec.y;
            t->mb.vec[0][0].refno = vec.refno;
            copy_nvec(&t->mb.vec[0][0], &t->mb.vec[0][0], 4, 2, 4);
            t->mb.vec_ref[VEC_LUMA + 8].vec[0] = t->mb.vec[0][0];

            T264_predict_mv(t, 0, 8, 4, &vec1);
            t->mb.vec[0][8].x = eg_read_se(t->bs) + vec1.x;
            t->mb.vec[0][8].y = eg_read_se(t->bs) + vec1.y;
            t->mb.vec[0][8].refno = vec1.refno;
            copy_nvec(&t->mb.vec[0][8], &t->mb.vec[0][8], 4, 2, 4);
            break;
        case MB_8x16:
            if (t->refl0_num - 1 > 0)
            {
                vec.refno = eg_read_te(t->bs, t->refl0_num - 1);
                vec1.refno = eg_read_te(t->bs, t->refl0_num - 1);
            }
            T264_predict_mv(t, 0, 0, 2, &vec);
            t->mb.vec[0][0].x = eg_read_se(t->bs) + vec.x;
            t->mb.vec[0][0].y = eg_read_se(t->bs) + vec.y;
            t->mb.vec[0][0].refno = vec.refno;
            copy_nvec(&t->mb.vec[0][0], &t->mb.vec[0][0], 2, 4, 4);
            t->mb.vec_ref[VEC_LUMA + 1].vec[0] = t->mb.vec[0][0];

            T264_predict_mv(t, 0, luma_index[4], 2, &vec1);
            t->mb.vec[0][luma_index[4]].x = eg_read_se(t->bs) + vec1.x;
            t->mb.vec[0][luma_index[4]].y = eg_read_se(t->bs) + vec1.y;
            t->mb.vec[0][luma_index[4]].refno = vec1.refno;
            copy_nvec(&t->mb.vec[0][2], &t->mb.vec[0][2], 2, 4, 4);
            break;
        case MB_8x8:
        case MB_8x8ref0:
            t->mb.submb_part[luma_index[4 * 0]] = eg_read_ue(t->bs);
            t->mb.submb_part[luma_index[4 * 1]] = eg_read_ue(t->bs);
            t->mb.submb_part[luma_index[4 * 2]] = eg_read_ue(t->bs);
            t->mb.submb_part[luma_index[4 * 3]] = eg_read_ue(t->bs);
            if (t->mb.mb_part != MB_8x8ref0 && t->refl0_num - 1 > 0)
            {
                t->mb.vec[0][0].refno = eg_read_te(t->bs, t->refl0_num - 1);
                t->mb.vec[0][luma_index[4]].refno = eg_read_te(t->bs, t->refl0_num - 1);
                t->mb.vec[0][luma_index[8]].refno = eg_read_te(t->bs, t->refl0_num - 1);
                t->mb.vec[0][luma_index[12]].refno = eg_read_te(t->bs, t->refl0_num - 1);
            }
            else
            {
                t->mb.vec[0][0].refno = 0;
                t->mb.vec[0][luma_index[4]].refno = 0;
                t->mb.vec[0][luma_index[8]].refno = 0;
                t->mb.vec[0][luma_index[12]].refno = 0;
            }
            for(i = 0 ; i < 4 ; i ++)
            {
                switch(t->mb.submb_part[luma_index[4 * i]]) 
                {
                case 0: /* P_L0_8x8 */
                    t->mb.submb_part[luma_index[4 * i]] = MB_8x8;
                    vec = t->mb.vec[0][luma_index[4 * i]];
                    T264_predict_mv(t, 0, luma_index[4 * i], 2, &vec);
                    t->mb.vec[0][luma_index[4 * i]].x = eg_read_se(t->bs) + vec.x;
                    t->mb.vec[0][luma_index[4 * i]].y = eg_read_se(t->bs) + vec.y;

                    t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 1] = 
                    t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 4] = 
                    t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 5] = t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 0];
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 0].vec[0] =
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 1].vec[0] =
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 8].vec[0] =
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 9].vec[0] = t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 0];
                    break;
                case MB_8x4 - 4:    /* P_L0_8x4 */
                    t->mb.submb_part[luma_index[4 * i]] = MB_8x4;
                    vec.refno = t->mb.vec[0][luma_index[4 * i]].refno;
                    T264_predict_mv(t, 0, luma_index[4 * i], 2, &vec);
                    t->mb.vec[0][luma_index[4 * i]].x = eg_read_se(t->bs) + vec.x;
                    t->mb.vec[0][luma_index[4 * i]].y = eg_read_se(t->bs) + vec.y;
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 0].vec[0] =
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 1].vec[0] =
                    t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 1] = t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 0];

                    T264_predict_mv(t, 0, luma_index[4 * i + 2], 2, &vec);
                    t->mb.vec[0][luma_index[4 * i + 2]].x = eg_read_se(t->bs) + vec.x;
                    t->mb.vec[0][luma_index[4 * i + 2]].y = eg_read_se(t->bs) + vec.y;
                    t->mb.vec[0][luma_index[4 * i + 2]].refno = vec.refno;
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 8].vec[0] =
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 9].vec[0] = 
                    t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 5] = t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 4];
                    break;
                case MB_4x8 - 4:    /* P_L0_4x8 */
                    t->mb.submb_part[luma_index[4 * i]] = MB_4x8;
                    vec.refno = t->mb.vec[0][luma_index[4 * i]].refno;
                    T264_predict_mv(t, 0, luma_index[4 * i], 1, &vec);
                    t->mb.vec[0][luma_index[4 * i]].x = eg_read_se(t->bs) + vec.x;
                    t->mb.vec[0][luma_index[4 * i]].y = eg_read_se(t->bs) + vec.y;
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 0].vec[0] =
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 8].vec[0] =
                    t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 4] = t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 0];

                    T264_predict_mv(t, 0, luma_index[4 * i + 1], 1, &vec);
                    t->mb.vec[0][luma_index[4 * i + 1]].x = eg_read_se(t->bs) + vec.x;
                    t->mb.vec[0][luma_index[4 * i + 1]].y = eg_read_se(t->bs) + vec.y;
                    t->mb.vec[0][luma_index[4 * i + 1]].refno = vec.refno;
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 1].vec[0] =
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 9].vec[0] =
                    t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 5] = t->mb.vec[0][i / 2 * 8 + i % 2 * 2 + 1];
                    break;
                case MB_4x4 - 4:        /* P_L0_4x4 */
                    t->mb.submb_part[luma_index[4 * i]] = MB_4x4;
                    vec = t->mb.vec[0][luma_index[4 * i]];
                    T264_predict_mv(t, 0, luma_index[4 * i], 1, &vec);
                    t->mb.vec[0][luma_index[4 * i]].x = eg_read_se(t->bs) + vec.x;
                    t->mb.vec[0][luma_index[4 * i]].y = eg_read_se(t->bs) + vec.y;
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 0].vec[0] = t->mb.vec[0][luma_index[4 * i]];

                    T264_predict_mv(t, 0, luma_index[4 * i + 1], 1, &vec);
                    t->mb.vec[0][luma_index[4 * i + 1]].x = eg_read_se(t->bs) + vec.x;
                    t->mb.vec[0][luma_index[4 * i + 1]].y = eg_read_se(t->bs) + vec.y;
                    t->mb.vec[0][luma_index[4 * i + 1]].refno = vec.refno;
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 1].vec[0] = t->mb.vec[0][luma_index[4 * i + 1]];

                    T264_predict_mv(t, 0, luma_index[4 * i + 2], 1, &vec);
                    t->mb.vec[0][luma_index[4 * i + 2]].x = eg_read_se(t->bs) + vec.x;
                    t->mb.vec[0][luma_index[4 * i + 2]].y = eg_read_se(t->bs) + vec.y;
                    t->mb.vec[0][luma_index[4 * i + 2]].refno = vec.refno;
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 8].vec[0] = t->mb.vec[0][luma_index[4 * i + 2]];

                    T264_predict_mv(t, 0, luma_index[4 * i + 3], 1, &vec);
                    t->mb.vec[0][luma_index[4 * i + 3]].x = eg_read_se(t->bs) + vec.x;
                    t->mb.vec[0][luma_index[4 * i + 3]].y = eg_read_se(t->bs) + vec.y;
                    t->mb.vec[0][luma_index[4 * i + 3]].refno = vec.refno;
                    t->mb.vec_ref[VEC_LUMA + i / 2 * 16 + i % 2 * 2 + 9].vec[0] = t->mb.vec[0][luma_index[4 * i + 3]];
                    break;
                }
            }
            break;
        default:
            t->mb.mb_part -= 5;
            T264dec_mb_read_intra_cavlc(t);

            /* save ref */
            memset(t->mb.submb_part, -1, sizeof(t->mb.submb_part));
            t->mb.mb_part = -1;
            for(i = 0 ; i < 2 ; i ++)
            {
                for(j = 0 ; j < 16 ; j ++)
                {
                    INITINVALIDVEC(t->mb.vec[i][j]);
                }
            }
            break;
        }
       INITINVALIDVEC(t->mb.vec[1][0]);
       copy_nvec(&t->mb.vec[1][0], &t->mb.vec[1][0], 4, 4, 4);
    }
    else 
    {
        t->mb.mb_part = mb_type;
        T264dec_mb_read_intra_cavlc(t);
    }

    if (t->mb.mb_mode != I_16x16 && t->mb.mb_mode != I_4x4)
    {
        int32_t cbp;

        cbp = inter_eg_to_cbp[eg_read_ue(t->bs)];
        t->mb.cbp_y = cbp % 16;
        t->mb.cbp_c = cbp / 16;

        if (cbp > 0)
        {
            t->mb.mb_qp_delta = eg_read_se(t->bs);

            for(i = 0 ; i < 16 ; i ++)
            {
                if (t->mb.cbp_y & (1 << (i / 4)))
                {
                    T264dec_mb_read_cavlc_residual(t, i, t->mb.dct_y_z[i], 16);
                }
            }
        }
    }
    if (t->mb.cbp_c != 0)
    {
        T264dec_mb_read_cavlc_residual(t, BLOCK_INDEX_CHROMA_DC, t->mb.dc2x2_z[0], 4);
        T264dec_mb_read_cavlc_residual(t, BLOCK_INDEX_CHROMA_DC, t->mb.dc2x2_z[1], 4);
        if (t->mb.cbp_c & 0x2)
        {
            for(i = 0 ; i < 4 ; i ++)
            {
                T264dec_mb_read_cavlc_residual(t, 16 + i, &(t->mb.dct_uv_z[0][i % 4][1]), 15);
                t->mb.dct_uv_z[0][i][0] = t->mb.dc2x2_z[0][i];
            }
            for(i = 0 ; i < 4 ; i ++)
            {
                T264dec_mb_read_cavlc_residual(t, 20 + i, &(t->mb.dct_uv_z[1][i % 4][1]), 15);
                t->mb.dct_uv_z[1][i][0] = t->mb.dc2x2_z[1][i];
            }
        }
        else
        {
            for(i = 0 ; i < 4 ; i ++)
            {
                t->mb.dct_uv_z[0][i][0] = t->mb.dc2x2_z[0][i];
                t->mb.dct_uv_z[1][i][0] = t->mb.dc2x2_z[1][i];
            }
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲黄色免费电影| 国产乱人伦精品一区二区在线观看| 色综合久久九月婷婷色综合| 成人一区在线观看| 粉嫩高潮美女一区二区三区| 韩国三级中文字幕hd久久精品| 久草热8精品视频在线观看| 亚洲国产成人91porn| 午夜成人免费电影| 国产精品理论片| 亚洲韩国一区二区三区| 亚洲女爱视频在线| 久久久噜噜噜久久中文字幕色伊伊| 免费在线看成人av| 午夜精品久久久久久久久久久 | 国产激情视频一区二区在线观看| 国产日韩亚洲欧美综合| 丝袜亚洲精品中文字幕一区| 欧美绝品在线观看成人午夜影视| 亚洲va欧美va天堂v国产综合| 欧美一区午夜视频在线观看| 精品一区二区在线播放| 日本一区二区视频在线| 不卡的av网站| 久久久久久综合| 亚洲午夜精品在线| 久久国内精品自在自线400部| 成人精品鲁一区一区二区| 91欧美一区二区| 欧美一区二区免费| 亚洲精品在线观看网站| 亚洲欧美日韩在线不卡| 秋霞午夜鲁丝一区二区老狼| 国产尤物一区二区| 91久久国产最好的精华液| 久久久精品综合| 五月天中文字幕一区二区| 成人一二三区视频| 欧美成人官网二区| 日韩高清不卡一区二区三区| 在线一区二区三区四区五区| 国产欧美久久久精品影院| 丝袜美腿成人在线| 欧美日韩在线播放一区| 中文字幕不卡的av| 高清在线观看日韩| 国产欧美日韩三区| 国产精品69毛片高清亚洲| 日韩一级成人av| 久久久电影一区二区三区| 韩国欧美国产一区| 欧美一级夜夜爽| 欧美一区二区三区在线看| 91精品国产91久久久久久最新毛片| 国产精品久久久久久亚洲伦| 国产成人日日夜夜| 蜜臀av性久久久久蜜臀aⅴ| 精品一二线国产| 亚洲免费观看高清完整版在线观看熊 | 亚洲欧美另类小说视频| 91精品在线观看入口| 成人国产亚洲欧美成人综合网| 欧美激情中文字幕| 91丨九色丨国产丨porny| 夜夜精品浪潮av一区二区三区 | 国产成人亚洲精品青草天美| 精品国产乱码久久久久久久| 成人午夜免费视频| 一区二区三区在线视频播放| 欧美伊人久久大香线蕉综合69 | 国产精品日产欧美久久久久| 色综合激情五月| 麻豆精品一区二区av白丝在线| 久久精品亚洲国产奇米99| 91亚洲精品久久久蜜桃| 五月综合激情日本mⅴ| 亚洲精品一区二区三区精华液| 成人av在线播放网址| 亚洲午夜免费福利视频| 久久久影视传媒| 欧美少妇一区二区| 美女视频一区二区| 一区二区三区四区国产精品| 久久一区二区三区国产精品| 97久久人人超碰| heyzo一本久久综合| 色综合天天综合网天天狠天天 | 一区二区三区国产精华| 91啦中文在线观看| 精品一区二区日韩| 国产剧情一区在线| 3d动漫精品啪啪一区二区竹菊| 日本一区二区免费在线观看视频| 精久久久久久久久久久| 色国产精品一区在线观看| 99re亚洲国产精品| 色乱码一区二区三区88 | gogogo免费视频观看亚洲一| 成人免费精品视频| 成人激情av网| 欧美色中文字幕| 91视频观看免费| caoporen国产精品视频| 成人免费看黄yyy456| 国产伦精品一区二区三区在线观看 | 中文字幕在线不卡| 欧美日韩不卡在线| 日韩美女一区二区三区四区| 7777精品久久久大香线蕉| 欧美亚洲高清一区| 日韩欧美中文字幕一区| 欧美一区三区四区| 久久日一线二线三线suv| 亚洲精品一区二区在线观看| 国产欧美一区在线| 国产精品国产精品国产专区不片| 亚洲欧洲99久久| 午夜精品视频一区| 国产在线看一区| 99久久伊人网影院| 在线播放一区二区三区| 久久久久国产精品免费免费搜索| 中文字幕亚洲一区二区av在线| 亚洲精品国产a| 亚洲国产成人高清精品| 日日摸夜夜添夜夜添精品视频 | 91福利小视频| 亚洲第一电影网| 成人欧美一区二区三区白人| 国产精品青草综合久久久久99| 亚洲国产综合视频在线观看| 99精品久久只有精品| 婷婷综合另类小说色区| 精品免费日韩av| 久久久九九九九| 综合久久综合久久| 麻豆一区二区在线| 丁香天五香天堂综合| 欧美日韩免费一区二区三区视频 | 国产欧美综合在线观看第十页 | 日本道色综合久久| 91精品国产黑色紧身裤美女| 精品国产三级a在线观看| 中文字幕一区免费在线观看 | 午夜精品久久一牛影视| 麻豆精品一区二区av白丝在线| 国产不卡视频在线播放| 欧美专区日韩专区| 日韩中文字幕1| 亚洲卡通欧美制服中文| 91精品国产麻豆国产自产在线 | 欧美吞精做爰啪啪高潮| 欧美天堂一区二区三区| 国产精品久久久久毛片软件| 麻豆国产91在线播放| 在线亚洲+欧美+日本专区| 2023国产一二三区日本精品2022| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 精油按摩中文字幕久久| 欧美亚洲综合久久| 国产精品天天摸av网| 亚洲国产aⅴ天堂久久| 成人精品国产免费网站| 在线播放91灌醉迷j高跟美女 | 日韩一级二级三级精品视频| 日韩美女视频一区| 国产不卡视频在线播放| 欧美成va人片在线观看| 亚洲激情综合网| 91色porny蝌蚪| 国产日韩精品久久久| 黄色精品一二区| 欧美日韩精品一区二区| 国产精品久久久久久一区二区三区 | 欧美精品xxxxbbbb| 亚洲人xxxx| 91黄视频在线观看| 中文字幕在线观看不卡| 美腿丝袜一区二区三区| 欧美日本视频在线| 午夜精品久久久久| 国产午夜精品福利| 成人小视频在线| 国产精品国产三级国产| 91福利资源站| 亚洲一二三区视频在线观看| 国产综合一区二区| 久久久久久久电影| 欧美体内she精高潮| 亚洲精品中文在线影院| 日韩视频永久免费| 日本久久精品电影| 国产一二三精品| 国产91丝袜在线18| 亚洲欧美日韩中文播放| 91精品福利在线一区二区三区 | 亚洲成av人片| 韩国女主播成人在线观看| 欧美日韩和欧美的一区二区| 日本亚洲视频在线|