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

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

?? dec_cavlc.c

?? 經過開源的H.264壓縮算法代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
    VLC(-1, -1),
    VLC(15, 9), /* 0000 0000 1 */
    VLC(14, 9),
    VLC(13, 9), /* 0000 0001 1 */
    VLC2(12, 8),/* 0000 0010 */
    VLC2(11, 8),/* 0000 0011 */
    VLC4(10, 7),/* 0000 010 */
    VLC4(9, 7), /* 0000 011 */
    VLC8(8, 6), /* 0000 10 */
    VLC8(7, 6), /* 0000 11 */
};

static const zero_count_t total_zero_table1_1[] = 
{
    VLC2(-1, -1),
    VLC(6, 5), /* 0001 0 */
    VLC(5, 5), /* 0001 1 */
    VLC2(4, 4),/* 0010 */
    VLC2(3, 4),/* 0011 */
    VLC4(2, 3),/* 010 */
    VLC4(1, 3),/* 011 */
    VLC8(0, 1), /*1 */
    VLC8(0, 1), /*1 */
};

static const zero_count_t total_zero_table2_0[] = 
{
    VLC(14, 6), /* 0000 00 */
    VLC(13, 6),
    VLC(12, 6),
    VLC(11, 6),
    VLC2(10, 5),/* 0001 0 */
    VLC2(9, 5),
};

static const zero_count_t total_zero_table2_1[] = 
{
    VLC2(-1, -1),
    VLC(8, 4), /* 0010 */
    VLC(7, 4), /* 0011 */
    VLC(6, 4),
    VLC(5, 4),
    VLC2(4, 3),/* 011 */
    VLC2(3, 3),/* 100 */
    VLC2(2, 3), /*101 */
    VLC2(1, 3), /*110 */
    VLC2(0, 3), /*111 */
};

static const zero_count_t total_zero_table3_0[] = 
{
    VLC(13, 6), /* 0000 00 */
    VLC(11, 6),
    VLC2(12, 5),/* 0000 1 */
    VLC2(10, 5),/* 0001 0 */
    VLC2(9, 5), /* 0001 1 */
};

static const zero_count_t total_zero_table3_1[] = 
{
    VLC2(-1, -1),
    VLC(8, 4), /* 0010 */
    VLC(5, 4), /* 0011 */
    VLC(4, 4),
    VLC(0, 4),
    VLC2(7, 3),/* 011 */
    VLC2(6, 3),/* 100 */
    VLC2(3, 3), /*101 */
    VLC2(2, 3), /*110 */
    VLC2(1, 3), /*111 */
};

static const zero_count_t total_zero_table6_0[] = 
{
    VLC(10, 6), /* 0000 00 */
    VLC(0, 6),
    VLC2(1, 5),/* 0000 1 */
    VLC4(8, 4),/* 0000 1 */
};

static const zero_count_t total_zero_table6_1[] = 
{
    VLC(-1, -1),
    VLC(9, 3), /* 001 */
    VLC(7, 3), /* 010 */
    VLC(6, 3),
    VLC(5, 3),
    VLC(4, 3),
    VLC(3, 3),
    VLC(2, 3)
};

static const zero_count_t total_zero_table7_0[] = 
{
    VLC(9, 6), /* 0000 00 */
    VLC(0, 6),
    VLC2(1, 5),/* 0000 1 */
    VLC4(7, 4),/* 0001 */
};

static const zero_count_t total_zero_table7_1[] = 
{
    VLC(-1, -1),
    VLC(8, 3), /* 001 */
    VLC(6, 3), /* 010 */
    VLC(4, 3),
    VLC(3, 3),
    VLC(2, 3),
    VLC2(5, 2)
};

static const zero_count_t total_zero_table8_0[] = 
{
    VLC(8, 6), /* 0000 00 */
    VLC(0, 6),
    VLC2(2, 5),/* 0000 1 */
    VLC4(1, 4),/* 0001 */
};

static const zero_count_t total_zero_table8_1[] = 
{
    VLC(-1, -1),
    VLC(7, 3), /* 001 */
    VLC(6, 3), /* 010 */
    VLC(3, 3),
    VLC2(5, 2),
    VLC2(4, 2)
};

static const zero_count_t total_zero_table9_0[] = 
{
    VLC(1, 6), /* 0000 00 */
    VLC(0, 6),
    VLC2(7, 5),/* 0000 1 */
    VLC4(2, 4),/* 0001 */
};

static const zero_count_t total_zero_table9_1[] = 
{
    VLC(-1, -1),
    VLC(5, 3), /* 001 */
    VLC2(6, 2), /* 01 */
    VLC2(4, 2),
    VLC2(3, 2),
};

static const zero_count_t total_zero_table4_0[] = 
{
    VLC(12, 5), /* 0000 0 */
    VLC(11, 5),
    VLC(10, 5), /* 0000 1 */
    VLC(0, 5),  /* 0001 1 */
    VLC2(9, 4), /* 0010 */
    VLC2(7, 4),
    VLC2(3, 4),
    VLC2(2, 4), /* 0101 */
    VLC4(8, 3), /* 011 */
};

static const zero_count_t total_zero_table4_1[] = 
{
    VLC(6, 3),   /* 100 */
    VLC(5, 3),   /* 101 */
    VLC(4, 3),   /* 110 */
    VLC(1, 3)    /* 111 */
};

static const zero_count_t total_zero_table5_0[] = 
{
    VLC(11, 5),  /* 0000 0 */
    VLC(9, 5),
    VLC2(10, 4), /* 0000 1 */
    VLC2(8, 4),  /* 0010 */
    VLC2(2, 4),
    VLC2(1, 4),
    VLC2(0, 4),
    VLC4(7, 3)
};

static const zero_count_t total_zero_table5_1[] = 
{
    VLC(6, 3), /* 100 */
    VLC(5, 3),
    VLC(4, 3),
    VLC(3, 3)
};

static const zero_count_t total_zero_table10_0[] = 
{
    VLC(1, 5), /* 0000 0 */
    VLC(0, 5),
    VLC2(6, 4), /* 0000 1 */
};

static const zero_count_t total_zero_table10_1[] = 
{
    VLC(-1, -1),
    VLC(2, 3), /* 001 */
    VLC2(5, 2), /* 01 */
    VLC2(4, 2),
    VLC2(3, 2),
};

static const zero_count_t total_zero_table11_0[] = 
{
    VLC(0, 4), /* 0000 */
    VLC(1, 4),
    VLC2(2, 3), /* 010 */
    VLC2(3, 3),
    VLC2(5, 3),
    VLC8(4, 1)
};

static const zero_count_t total_zero_table12_0[] = 
{
    VLC(0, 4), /* 0000 */
    VLC(1, 4),
    VLC2(4, 3), /* 010 */
    VLC4(2, 2),
    VLC8(3, 1)
};

static const zero_count_t total_zero_table13_0[] = 
{
    VLC(0, 3), /* 000 */
    VLC(1, 3),
    VLC2(3, 2), /* 01 */
    VLC4(2, 1),
};

static const zero_count_t total_zero_table14_0[] = 
{
    VLC(0, 2), 
    VLC(1, 2),
    VLC2(2, 1),
};

static const zero_count_t total_zero_table_chroma[3][8] = 
{
    {
        VLC(3, 3), 
        VLC(2, 3),
        VLC2(1, 2),
        VLC4(0, 1)
    },
    {
        VLC2(2, 2),
        VLC2(1, 2),
        VLC4(0, 1)
    },
    {
        VLC4(1, 1),
        VLC4(0, 1)
    }
};

static const zero_count_t run_before_table_0[7][8] = 
{
    {
        VLC4(1, 1),
        VLC4(0, 1)
    },
    {
        VLC2(2, 2),
        VLC2(1, 2),
        VLC4(0, 1)
    },
    {
        VLC2(3, 2),
        VLC2(2, 2),
        VLC2(1, 2),
        VLC2(0, 2)
    },
    {
        VLC(4, 3),
        VLC(3, 3),
        VLC2(2, 2),
        VLC2(1, 2),
        VLC2(0, 2)
    },
    {
        VLC(5, 3),
        VLC(4, 3),
        VLC(3, 3),
        VLC(2, 3),
        VLC2(1, 2),
        VLC2(0, 2),
    },
    {
        VLC(1, 3),
        VLC(2, 3),
        VLC(4, 3),
        VLC(3, 3),
        VLC(6, 3),
        VLC(5, 3),
        VLC2(0, 2)
    },
    {
        VLC(-1, -1),
        VLC(6, 3),
        VLC(5, 3),
        VLC(4, 3),
        VLC(3, 3),
        VLC(2, 3),
        VLC(1, 3),
        VLC(0, 3)
    }
};

static const uint8_t run_before_table_1[] =
{
    -1,
    10,
    9, 9,
    8, 8, 8, 8,
    7, 7, 7, 7, 7, 7, 7, 7
};

static const uint8_t run_before_table_2[] =
{
    -1,
    14,
    13, 13,
    12, 12, 12, 12,
    11, 11, 11, 11, 11, 11, 11, 11
};
/* -- cavlc tables -- */

static void __inline
T264_mb_read_cavlc_i4x4_mode(T264_t* t)
{
    int32_t i, j;
    int32_t x, y;
    int8_t* p = t->mb.i4x4_pred_mode_ref;

    for(i = 0 ; i < 16 ; i ++)
    {
        int8_t pred;
        j = luma_index[i];

        pred = T264_mb_predict_intra4x4_mode(t, i);
        /* prev_intra4x4_pred_mode_flag */
        if (eg_read_direct1(t->bs))
        {
            t->mb.mode_i4x4[i] = pred;
        }
        else
        {
            int32_t mode = eg_read_direct(t->bs, 3);
            if (mode < pred)
            {
                t->mb.mode_i4x4[i] = mode;
            }
            else
            {
                t->mb.mode_i4x4[i] = mode + 1;
            }
        }

        x = j % 4;
        y = j / 4;
        p[IPM_LUMA + y * 8 + x] = t->mb.mode_i4x4[i];
    }
}

/* nC == -1 */
void
T264dec_mb_read_coff_token_t4(T264_t* t, uint8_t* trailing_ones, uint8_t* total_coff)
{
    int32_t code;

    code = eg_show(t->bs, 8);
    if (code >= 16)
    {
        if (code >= 128)
        {
            /* 1 */
            *trailing_ones = 1;
            *total_coff = 1;
            eg_read_skip(t->bs, 1);
        }
        else if (code >= 64)
        {
            /* 01 */
            *trailing_ones = 0;
            *total_coff = 0;
            eg_read_skip(t->bs, 2);
        }
        else if (code >= 32)
        {
            /* 001 */
            *trailing_ones = 2;
            *total_coff = 2;
            eg_read_skip(t->bs, 3);
        }
        else
        {
            code = (code >> 2) - 4;

            *trailing_ones = coeff4_0[code].trailing_ones;
            *total_coff = coeff4_0[code].total_coeff;
            eg_read_skip(t->bs, 6);
        }
    }
    else
    {
        *trailing_ones = coeff4_1[code].trailing_ones;
        *total_coff = coeff4_1[code].total_coeff;
        eg_read_skip(t->bs, coeff4_1[code].len);
    }
}

/* nC >= 8 */
void
T264dec_mb_read_coff_token_t3(T264_t* t, uint8_t* trailing_ones, uint8_t* total_coff)
{
    int32_t code;

    code = eg_read_direct(t->bs, 6);

    *trailing_ones = coeff3_0[code].trailing_ones;
    *total_coff = coeff3_0[code].total_coeff;
}

/* 8 > nC >= 4 */
void
T264dec_mb_read_coff_token_t2(T264_t* t, uint8_t* trailing_ones, uint8_t* total_coff)
{
    int32_t code;
    const vlc_coeff_token_t* table;

    code = eg_show(t->bs, 10);
    if (code >= 512)
    {
        table = coeff2_0;
        code = (code >> 6) - 8;
    }
    else if (code >= 256)
    {
        table = coeff2_1;
        code = (code >> 5) - 8;
    }
    else if (code >= 128)
    {
        table = coeff2_2;
        code = (code >> 4) - 8;
    }
    else if (code >= 64)
    {
        table = coeff2_3;
        code = (code >> 3) - 8;
    }
    else if (code >= 32)
    {
        table = coeff2_4;
        code = (code >> 2) - 8;
    }
    else if (code >= 16)
    {
        table = coeff2_5;
        code = (code >> 1) - 8;
    }
    else
    {
        table = coeff2_6;
    }

    *trailing_ones = table[code].trailing_ones;
    *total_coff = table[code].total_coeff;
    eg_read_skip(t->bs, table[code].len);
}

/* 4 > nC >= 2 */
void
T264dec_mb_read_coff_token_t1(T264_t* t, uint8_t* trailing_ones, uint8_t* total_coff)
{
    int32_t code;
    const vlc_coeff_token_t* table;

    code = eg_show(t->bs, 14);
    if (code >= 4096)
    {
        table = coeff1_0;
        code = (code >> 10) - 4;
    }
    else if (code >= 1024)
    {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
337p亚洲精品色噜噜狠狠| 日韩一区精品字幕| 成人白浆超碰人人人人| 久久久国产综合精品女国产盗摄| 日本三级韩国三级欧美三级| 欧美大片免费久久精品三p| 久久91精品国产91久久小草| 精品国产sm最大网站免费看| 国产精华液一区二区三区| 欧美国产激情二区三区| 538在线一区二区精品国产| 色欲综合视频天天天| 亚洲天堂免费在线观看视频| 91日韩精品一区| 亚洲第一在线综合网站| 欧美成人三级电影在线| 成人午夜精品在线| 一区二区成人在线视频| 日韩欧美一级特黄在线播放| 成人精品国产一区二区4080| 夜夜精品视频一区二区| 91精品国产91久久久久久最新毛片| 久久99久久久久久久久久久| 国产精品久久福利| 欧美视频在线播放| 国产91精品露脸国语对白| 亚洲日本韩国一区| 日韩欧美在线影院| 91蝌蚪porny| 久久精品国产久精国产爱| 日本一区二区在线不卡| 在线播放/欧美激情| av毛片久久久久**hd| 日本免费新一区视频| 国产精品三级视频| 91精品国产综合久久福利| 懂色av中文一区二区三区| 亚洲国产综合91精品麻豆| 国产日韩欧美a| 8x福利精品第一导航| a在线播放不卡| 激情六月婷婷综合| 亚洲国产精品自拍| 国产精品久久久久久久久久免费看 | 不卡av在线网| 免费成人av资源网| 亚洲一区二区三区四区在线免费观看 | 国产一区二区三区电影在线观看| 亚洲欧美另类图片小说| 久久免费国产精品| 欧美一区二区三区影视| 91视视频在线观看入口直接观看www| 美女一区二区在线观看| 夜夜嗨av一区二区三区| 久久久蜜桃精品| 日韩一区二区免费在线电影| 91美女片黄在线观看91美女| 国产精品一级在线| 美女任你摸久久| 午夜精品免费在线| 一区二区三区成人| 亚洲日本va午夜在线影院| 久久一二三国产| 精品久久久久久久久久久院品网 | 99re视频精品| 成人一区二区三区| 国产精品一线二线三线精华| 日韩激情视频在线观看| 性久久久久久久久| 亚洲18色成人| 婷婷中文字幕综合| 99久久er热在这里只有精品15| 国产精品综合在线视频| 国产精品综合二区| 国产一区二区精品久久91| 蜜臀av亚洲一区中文字幕| 天天亚洲美女在线视频| 午夜欧美在线一二页| 日韩精品欧美成人高清一区二区| 亚洲一区影音先锋| 亚洲无人区一区| 视频一区视频二区在线观看| 无码av中文一区二区三区桃花岛| 亚洲一区二区视频| 日韩电影在线免费| 九九国产精品视频| 精品一区二区三区视频在线观看| 久久国产夜色精品鲁鲁99| 精品一区二区精品| 狠狠色丁香久久婷婷综合_中| 国产一区中文字幕| 成人免费高清在线| 99re8在线精品视频免费播放| 95精品视频在线| 欧美主播一区二区三区| 欧美日韩国产色站一区二区三区| 欧美精品黑人性xxxx| 日韩精品一区在线| 国产精品欧美精品| 亚洲综合免费观看高清完整版在线| 夜夜精品视频一区二区| 免费一级欧美片在线观看| 精品在线视频一区| 99久久久久免费精品国产| 欧美伊人久久久久久久久影院| 欧美日韩精品福利| 久久青草欧美一区二区三区| 亚洲欧洲精品天堂一级| 亚洲影院在线观看| 国产在线精品一区二区三区不卡| 成人黄色免费短视频| 国产精品视频观看| 亚洲午夜一区二区| 久久国产剧场电影| 99热99精品| 欧美一区二区啪啪| 一色桃子久久精品亚洲| 日韩高清在线一区| 国产成人精品午夜视频免费| 欧美视频一区在线| 国产女人18水真多18精品一级做 | 日韩制服丝袜av| 国产成人亚洲综合色影视| 欧美三级欧美一级| 久久久精品欧美丰满| 亚洲成av人影院| 成人av动漫在线| 日韩一区二区三区在线观看| 中文字幕一区二区三区精华液 | caoporn国产一区二区| 色菇凉天天综合网| 欧美tickling挠脚心丨vk| 亚洲精品高清视频在线观看| 久久国产日韩欧美精品| 日本韩国精品在线| ww亚洲ww在线观看国产| 午夜久久电影网| 高清日韩电视剧大全免费| 欧美色综合网站| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 日韩精品一级二级| 91网站在线播放| 久久精品亚洲一区二区三区浴池| 午夜精品福利一区二区三区蜜桃| 懂色中文一区二区在线播放| 日韩精品一区二区三区视频播放| 一区二区三区精品在线| 高清shemale亚洲人妖| 日韩欧美国产综合| 懂色中文一区二区在线播放| 欧美xxxxx裸体时装秀| 亚洲第一成年网| 91免费观看国产| 国产三级久久久| 激情综合色综合久久| 欧美精品tushy高清| 亚洲精品视频在线| av一二三不卡影片| 国产日韩欧美精品一区| 极品美女销魂一区二区三区 | 日韩欧美久久久| 亚洲国产美女搞黄色| 99久久er热在这里只有精品15| 国产日韩精品久久久| 国产乱淫av一区二区三区| 久久综合色8888| 韩国欧美国产一区| 日韩免费观看高清完整版 | 日韩国产在线观看| 欧美男生操女生| 日韩国产欧美在线视频| 91精品国产综合久久精品app | 成人免费视频一区| 国产三级久久久| 成人v精品蜜桃久久一区| 中文字幕欧美日本乱码一线二线| 国产成+人+日韩+欧美+亚洲| 美女国产一区二区| 日韩欧美亚洲国产精品字幕久久久| 久久99精品一区二区三区三区| 日韩亚洲电影在线| 美国三级日本三级久久99| 欧美tickling挠脚心丨vk| 国产精品亚洲第一区在线暖暖韩国 | 91精品国产免费| 蜜桃视频一区二区三区在线观看| 日韩欧美中文字幕一区| 极品少妇一区二区三区精品视频| 久久久久97国产精华液好用吗| 国产91色综合久久免费分享| 国产精品久久久久影视| 色素色在线综合| 日本欧美一区二区在线观看| 精品久久久久久亚洲综合网| 成人一级片网址| 亚洲图片欧美视频| 欧美成人在线直播| 不卡欧美aaaaa| 性感美女极品91精品| 亚洲精品在线免费播放|