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

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

?? dec_cavlc.c

?? 經過開源的H.264壓縮算法代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
        table = coeff1_1;
        code = (code >> 8) - 4;
    }
    else if (code >= 128)
    {
        table = coeff1_2;
        code = (code >> 5) - 4;
    }
    else if (code >= 64)
    {
        table = coeff1_3;
        code = (code >> 3) - 8;
    }
    else if (code >= 32)
    {
        table = coeff1_4;
        code = (code >> 2) - 8;
    }
    else if (code >= 16)
    {
        table = coeff1_5;
        code = (code >> 1) - 8;
    }
    else
    {
        table = coeff1_6;
    }

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

/* 2 > nC >= 0 */
void
T264dec_mb_read_coff_token_t0(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, 16);
    if (code >= 8192)
    {
        table = coeff0_5;
        code >>= 13;
    }
    else if (code >= 4096)
    {
        table = coeff0_4;
        code = (code >> 10) - 4;
    }
    else if (code >= 1024)
    {
        table = coeff0_3;
        code = (code >> 8) - 4;
    }
    else if (code >= 128)
    {
        table = coeff0_2;
        code = (code >> 5) - 4;
    }
    else if (code >= 64)
    {
        table = coeff0_1;
        code = (code >> 3) - 8;
    }
    else
    {
        table = coeff0_0;
    }

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

uint8_t
T264dec_mb_read_level_prefix(T264_t* t)
{
    uint8_t prefix;
    int32_t code;

    code = eg_show(t->bs, 16);
    if (code >= 4096)
    {
        prefix = prefix_table0[code >> 12];
    }
    else if (code >= 256)
    {
        prefix = prefix_table1[code >> 8];
    }
    else if (code >= 16)
    {
        prefix = prefix_table2[code >> 4];
    }
    else
    {
        prefix = prefix_table3[code];
    }

    eg_read_skip(t->bs, prefix + 1);

    return prefix;
}

uint8_t
T264dec_mb_read_total_zero1(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 9);
    if (code >= 32)
    {
        code >>= 4;
        total_zero = total_zero_table1_1[code].num;
        eg_read_skip(t->bs, total_zero_table1_1[code].len);
    }
    else
    {
        total_zero = total_zero_table1_0[code].num;
        eg_read_skip(t->bs, total_zero_table1_0[code].len);
    }

    assert(total_zero != 255);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero2(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 6);
    if (code >= 8)
    {
        code >>= 2;
        total_zero = total_zero_table2_1[code].num;
        eg_read_skip(t->bs, total_zero_table2_1[code].len);
    }
    else
    {
        total_zero = total_zero_table2_0[code].num;
        eg_read_skip(t->bs, total_zero_table2_0[code].len);
    }

    assert(total_zero != 255);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero3(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 6);
    if (code >= 8)
    {
        code >>= 2;
        total_zero = total_zero_table3_1[code].num;
        eg_read_skip(t->bs, total_zero_table3_1[code].len);
    }
    else
    {
        total_zero = total_zero_table3_0[code].num;
        eg_read_skip(t->bs, total_zero_table3_0[code].len);
    }

    assert(total_zero != 255);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero6(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 6);
    if (code >= 8)
    {
        code >>= 3;
        total_zero = total_zero_table6_1[code].num;
        eg_read_skip(t->bs, total_zero_table6_1[code].len);
    }
    else
    {
        total_zero = total_zero_table6_0[code].num;
        eg_read_skip(t->bs, total_zero_table6_0[code].len);
    }

    assert(total_zero != 255);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero7(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 6);
    if (code >= 8)
    {
        code >>= 3;
        total_zero = total_zero_table7_1[code].num;
        eg_read_skip(t->bs, total_zero_table7_1[code].len);
    }
    else
    {
        total_zero = total_zero_table7_0[code].num;
        eg_read_skip(t->bs, total_zero_table7_0[code].len);
    }

    assert(total_zero != 255);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero8(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 6);
    if (code >= 8)
    {
        code >>= 3;
        total_zero = total_zero_table8_1[code].num;
        eg_read_skip(t->bs, total_zero_table8_1[code].len);
    }
    else
    {
        total_zero = total_zero_table8_0[code].num;
        eg_read_skip(t->bs, total_zero_table8_0[code].len);
    }

    assert(total_zero != 255);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero9(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 6);
    if (code >= 8)
    {
        code >>= 3;
        total_zero = total_zero_table9_1[code].num;
        eg_read_skip(t->bs, total_zero_table9_1[code].len);
    }
    else
    {
        total_zero = total_zero_table9_0[code].num;
        eg_read_skip(t->bs, total_zero_table9_0[code].len);
    }

    assert(total_zero != 255);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero4(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 5);
    if (code >= 16)
    {
        code = (code >> 2) - 4;
        total_zero = total_zero_table4_1[code].num;
        eg_read_skip(t->bs, total_zero_table4_1[code].len);
    }
    else
    {
        total_zero = total_zero_table4_0[code].num;
        eg_read_skip(t->bs, total_zero_table4_0[code].len);
    }

    assert(total_zero != 255);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero5(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 5);
    if (code >= 16)
    {
        code = (code >> 2) - 4;
        total_zero = total_zero_table5_1[code].num;
        eg_read_skip(t->bs, total_zero_table5_1[code].len);
    }
    else
    {
        total_zero = total_zero_table5_0[code].num;
        eg_read_skip(t->bs, total_zero_table5_0[code].len);
    }

    assert(total_zero != 255);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero10(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 5);
    if (code >= 4)
    {
        code >>= 2;
        total_zero = total_zero_table10_1[code].num;
        eg_read_skip(t->bs, total_zero_table10_1[code].len);
    }
    else
    {
        total_zero = total_zero_table10_0[code].num;
        eg_read_skip(t->bs, total_zero_table10_0[code].len);
    }

    assert(total_zero != 255);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero11(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 4);
    total_zero = total_zero_table11_0[code].num;
    eg_read_skip(t->bs, total_zero_table11_0[code].len);

    assert(total_zero != 255);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero12(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 4);
    total_zero = total_zero_table12_0[code].num;
    eg_read_skip(t->bs, total_zero_table12_0[code].len);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero13(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 3);
    total_zero = total_zero_table13_0[code].num;
    eg_read_skip(t->bs, total_zero_table13_0[code].len);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero14(T264_t* t)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 2);
    total_zero = total_zero_table14_0[code].num;
    eg_read_skip(t->bs, total_zero_table14_0[code].len);

    return total_zero;
}

uint8_t
T264dec_mb_read_total_zero15(T264_t* t)
{
    return eg_read_direct1(t->bs);
}

uint8_t
T264dec_mb_read_total_zero_chroma(T264_t* t, uint8_t total_coeff)
{
    uint8_t total_zero;
    int32_t code;

    code = eg_show(t->bs, 3);
    total_zero = total_zero_table_chroma[total_coeff - 1][code].num;
    eg_read_skip(t->bs, total_zero_table_chroma[total_coeff - 1][code].len);

    assert(total_zero != 255);

    return total_zero;
}

uint8_t
T264dec_mb_read_run_before(T264_t* t, uint8_t zero_left)
{
    int32_t code;
    uint8_t run_before;

    assert(zero_left != 255);

    code = eg_show(t->bs, 3);
    if (zero_left <= 6)
    {
        run_before = run_before_table_0[zero_left - 1][code].num;
        eg_read_skip(t->bs, run_before_table_0[zero_left - 1][code].len);
    }
    else
    {
        eg_read_skip(t->bs, 3);
        if (code > 0)
        {
            run_before = run_before_table_0[6][code].num;
        }
        else
        {
            code = eg_show(t->bs, 4);
            if (code > 0)
            {
                run_before = run_before_table_1[code];
                eg_read_skip(t->bs, run_before - 6);
            }
            else
            {
                eg_read_skip(t->bs, 4);
                code = eg_show(t->bs, 4);
                run_before = run_before_table_2[code];
                eg_read_skip(t->bs, run_before - 10);
            }
        }
    }

    assert(run_before >= 0 && run_before <= 14);

    return run_before;
}

void
T264dec_mb_read_cavlc_residual(T264_t* t, int32_t idx, int16_t* z, int32_t count)
{
    uint8_t trailing_ones, total_coeff;
    int32_t i, j;
    int32_t zero_left = 0;
    int16_t level[16];
    uint8_t run[16];
    int32_t x, y;

    if(idx == BLOCK_INDEX_CHROMA_DC)
    {
        T264dec_mb_read_coff_token_t4(t, &trailing_ones, &total_coeff);
    }
    else
    {
        /* T264_mb_predict_non_zero_code return 0 <-> (16+16+1)>>1 = 16 */
        int32_t nC = 0;
        typedef void (*T264dec_mb_read_coff_token_t)(T264_t* t, uint8_t* trailing_ones, uint8_t* total_coff);
        static const T264dec_mb_read_coff_token_t read_coeff[17] = 
        {
            T264dec_mb_read_coff_token_t0, T264dec_mb_read_coff_token_t0,
            T264dec_mb_read_coff_token_t1, T264dec_mb_read_coff_token_t1,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看欧美精品| 喷水一区二区三区| 久久久蜜桃精品| 欧美精品一区二区三| 欧美精品一区二| 国产日韩影视精品| 国产亚洲一区二区三区四区| 日韩精品综合一本久道在线视频| 欧美猛男男办公室激情| 这里只有精品免费| 日韩欧美在线观看一区二区三区| 欧美一卡二卡在线| 国产清纯白嫩初高生在线观看91 | 亚洲成人一区在线| 国产欧美精品一区二区色综合| 国产精品美日韩| 亚洲色图欧洲色图婷婷| 性欧美疯狂xxxxbbbb| 奇米影视7777精品一区二区| 国产一区二区免费在线| www.视频一区| 欧美男人的天堂一二区| 久久蜜桃一区二区| 中文久久乱码一区二区| 一区二区三区四区不卡视频| 婷婷中文字幕综合| 成人在线综合网| 日本福利一区二区| 欧美tk—视频vk| 亚洲精品国产无天堂网2021| 日韩精品91亚洲二区在线观看| 国产麻豆成人传媒免费观看| 99久久国产综合精品色伊| 日韩一区二区三区视频在线| 国产精品久久久久久久久免费樱桃| 一区二区三区精品久久久| 黄页视频在线91| 欧美无砖专区一中文字| 日韩欧美不卡一区| 亚洲午夜羞羞片| av电影在线观看完整版一区二区| 欧美日韩一区二区欧美激情| 国产精品高清亚洲| 精品一区二区成人精品| 欧美日韩成人一区| 亚洲理论在线观看| 丁香桃色午夜亚洲一区二区三区| 欧美日韩1区2区| 亚洲色图欧美在线| 激情综合五月天| 欧美一区二区网站| 亚洲午夜精品网| 91麻豆免费看| 中文字幕亚洲电影| 大美女一区二区三区| 精品成人一区二区| 美女脱光内衣内裤视频久久网站 | 国产精品丝袜一区| 韩国精品久久久| 欧美日韩精品高清| 亚洲主播在线播放| 国产成人免费视频网站 | 国产精品久99| 国产精品自拍毛片| 精品理论电影在线观看| 日韩精品国产精品| 欧美日韩国产经典色站一区二区三区| 国产精品乱人伦一区二区| 国产一区不卡视频| 久久久久99精品国产片| 国产在线一区二区| 精品处破学生在线二十三| 国内精品伊人久久久久影院对白| 色悠悠久久综合| 亚洲一二三四久久| 在线一区二区三区四区五区| 亚洲国产日日夜夜| 欧美片网站yy| 国产麻豆视频一区二区| 欧美日韩一区二区在线观看视频 | 日本精品视频一区二区三区| 国产精品成人午夜| 色婷婷综合在线| 亚洲高清视频中文字幕| 欧美一级日韩免费不卡| 精品一区二区三区在线播放| 国产亚洲精品精华液| 不卡视频一二三| 亚洲国产va精品久久久不卡综合| 欧美妇女性影城| 麻豆高清免费国产一区| 国产免费久久精品| 欧美三级三级三级爽爽爽| 免费亚洲电影在线| 国产精品沙发午睡系列990531| caoporn国产精品| 天天色天天操综合| 国产亚洲婷婷免费| 欧美午夜片在线观看| 精品一区二区三区视频在线观看| 国产精品免费av| 3751色影院一区二区三区| 国产成人亚洲综合a∨猫咪| 一区二区欧美精品| 2014亚洲片线观看视频免费| 一本大道久久a久久精二百| 蜜臀av一区二区在线免费观看 | 久久精品人人爽人人爽| 在线观看免费亚洲| 国产乱国产乱300精品| 一区二区三区在线视频观看58| 日韩欧美另类在线| 色综合久久久久久久久久久| 久久丁香综合五月国产三级网站| 国产精品久久久久久久久快鸭 | 欧美影院午夜播放| 国产精品一区2区| 香蕉乱码成人久久天堂爱免费| 久久久青草青青国产亚洲免观| 欧洲一区二区av| 成人午夜精品一区二区三区| 免费观看30秒视频久久| 亚洲综合偷拍欧美一区色| 久久亚洲一区二区三区明星换脸| 欧美在线啊v一区| 不卡的电视剧免费网站有什么| 强制捆绑调教一区二区| 一区二区三区精品视频| 中文字幕在线一区二区三区| 久久日韩精品一区二区五区| 欧美伦理电影网| 欧美性猛片aaaaaaa做受| 成人国产精品免费观看动漫| 国产乱子伦一区二区三区国色天香| 亚洲第一在线综合网站| 一区二区三区在线视频播放| 日本一区二区三区四区在线视频| 欧美α欧美αv大片| 777精品伊人久久久久大香线蕉| 91在线高清观看| 99riav久久精品riav| 波波电影院一区二区三区| 国产91富婆露脸刺激对白| 国产精品一二三区在线| 国产自产2019最新不卡| 精品夜夜嗨av一区二区三区| 精品一区二区三区日韩| 免费观看91视频大全| 青青国产91久久久久久| 美国av一区二区| 久久国产剧场电影| 国产一区二区三区黄视频| 国产精品18久久久久久久久久久久| 九九精品视频在线看| 国产在线精品国自产拍免费| 国产中文一区二区三区| 成人性生交大片免费看中文网站| 高清成人免费视频| av资源网一区| 91福利视频久久久久| 欧美乱熟臀69xxxxxx| 日韩欧美成人激情| 欧美韩国日本综合| 中文字幕制服丝袜成人av| 一区二区三区四区不卡视频| 亚洲一区二区三区小说| 青青青爽久久午夜综合久久午夜| 免费精品视频在线| 成人午夜av影视| 欧美亚洲国产一区二区三区va| 91精品国产高清一区二区三区蜜臀| 日韩欧美国产wwwww| 国产精品―色哟哟| 亚洲国产精品久久不卡毛片| 看国产成人h片视频| 成人福利在线看| 777亚洲妇女| 亚洲欧洲日产国产综合网| 午夜欧美在线一二页| 国产在线观看免费一区| 91香蕉视频mp4| 精品理论电影在线观看| 亚洲视频一区二区在线观看| 日本v片在线高清不卡在线观看| 国产成人亚洲综合a∨婷婷| 欧美体内she精高潮| 2020国产精品| 亚洲777理论| 成人网男人的天堂| 欧美一区二区三区思思人| 国产精品女人毛片| 麻豆成人免费电影| 欧美日韩亚洲国产综合| 国产精品天天摸av网| 人妖欧美一区二区| 欧美亚洲禁片免费| 国产精品乱码一区二三区小蝌蚪| 奇米色777欧美一区二区| 91欧美激情一区二区三区成人| 精品久久久久久久久久久院品网|