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

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

?? mpeg12.c

?? mpeg4 video codec mpeg4 video codec
?? C
?? 第 1 頁 / 共 5 頁
字號:
        run -= 33;    }    put_bits(&s->pb, mbAddrIncrTable[run][1],              mbAddrIncrTable[run][0]);}#endif //CONFIG_ENCODERSstatic void common_init(MpegEncContext *s){    s->y_dc_scale_table=    s->c_dc_scale_table= mpeg2_dc_scale_table[s->intra_dc_precision];    }void ff_mpeg1_clean_buffers(MpegEncContext *s){    s->last_dc[0] = 1 << (7 + s->intra_dc_precision);    s->last_dc[1] = s->last_dc[0];    s->last_dc[2] = s->last_dc[0];    memset(s->last_mv, 0, sizeof(s->last_mv));}#ifdef CONFIG_ENCODERSvoid ff_mpeg1_encode_slice_header(MpegEncContext *s){    put_header(s, SLICE_MIN_START_CODE + s->mb_y);    put_bits(&s->pb, 5, s->qscale); /* quantizer scale */    put_bits(&s->pb, 1, 0); /* slice extra information */}void mpeg1_encode_picture_header(MpegEncContext *s, int picture_number){    mpeg1_encode_sequence_header(s);    /* mpeg1 picture header */    put_header(s, PICTURE_START_CODE);    /* temporal reference */    // RAL: s->picture_number instead of s->fake_picture_number    put_bits(&s->pb, 10, (s->picture_number -                           s->gop_picture_number) & 0x3ff);     put_bits(&s->pb, 3, s->pict_type);        s->vbv_delay_ptr= s->pb.buf + put_bits_count(&s->pb)/8;    put_bits(&s->pb, 16, 0xFFFF); /* vbv_delay */        // RAL: Forward f_code also needed for B frames    if (s->pict_type == P_TYPE || s->pict_type == B_TYPE) {        put_bits(&s->pb, 1, 0); /* half pel coordinates */        if(s->codec_id == CODEC_ID_MPEG1VIDEO)        put_bits(&s->pb, 3, s->f_code); /* forward_f_code */        else            put_bits(&s->pb, 3, 7); /* forward_f_code */    }        // RAL: Backward f_code necessary for B frames    if (s->pict_type == B_TYPE) {        put_bits(&s->pb, 1, 0); /* half pel coordinates */        if(s->codec_id == CODEC_ID_MPEG1VIDEO)        put_bits(&s->pb, 3, s->b_code); /* backward_f_code */        else            put_bits(&s->pb, 3, 7); /* backward_f_code */        }    put_bits(&s->pb, 1, 0); /* extra bit picture */        s->frame_pred_frame_dct = 1;    if(s->codec_id == CODEC_ID_MPEG2VIDEO){        put_header(s, EXT_START_CODE);        put_bits(&s->pb, 4, 8); //pic ext        if (s->pict_type == P_TYPE || s->pict_type == B_TYPE) {        put_bits(&s->pb, 4, s->f_code);        put_bits(&s->pb, 4, s->f_code);        }else{            put_bits(&s->pb, 8, 255);        }        if (s->pict_type == B_TYPE) {        put_bits(&s->pb, 4, s->b_code);        put_bits(&s->pb, 4, s->b_code);        }else{            put_bits(&s->pb, 8, 255);        }        put_bits(&s->pb, 2, s->intra_dc_precision);                assert(s->picture_structure == PICT_FRAME);        put_bits(&s->pb, 2, s->picture_structure);        if (s->progressive_sequence) {            put_bits(&s->pb, 1, 0); /* no repeat */        } else {            put_bits(&s->pb, 1, s->current_picture_ptr->top_field_first);        }        /* XXX: optimize the generation of this flag with entropy           measures */        s->frame_pred_frame_dct = s->progressive_sequence;                put_bits(&s->pb, 1, s->frame_pred_frame_dct);        put_bits(&s->pb, 1, s->concealment_motion_vectors);        put_bits(&s->pb, 1, s->q_scale_type);        put_bits(&s->pb, 1, s->intra_vlc_format);        put_bits(&s->pb, 1, s->alternate_scan);        put_bits(&s->pb, 1, s->repeat_first_field);        s->progressive_frame = s->progressive_sequence;        put_bits(&s->pb, 1, s->chroma_420_type=s->progressive_frame);        put_bits(&s->pb, 1, s->progressive_frame);        put_bits(&s->pb, 1, 0); //composite_display_flag    }    if(s->flags & CODEC_FLAG_SVCD_SCAN_OFFSET){        int i;        put_header(s, USER_START_CODE);        for(i=0; i<sizeof(svcd_scan_offset_placeholder); i++){            put_bits(&s->pb, 8, svcd_scan_offset_placeholder[i]);        }    }        s->mb_y=0;    ff_mpeg1_encode_slice_header(s);}static inline void put_mb_modes(MpegEncContext *s, int n, int bits,                                 int has_mv, int field_motion){    put_bits(&s->pb, n, bits);    if (!s->frame_pred_frame_dct) {        if (has_mv)             put_bits(&s->pb, 2, 2 - field_motion); /* motion_type: frame/field */        put_bits(&s->pb, 1, s->interlaced_dct);    }}void mpeg1_encode_mb(MpegEncContext *s,                     DCTELEM block[6][64],                     int motion_x, int motion_y){    int i, cbp;    const int mb_x = s->mb_x;    const int mb_y = s->mb_y;    const int first_mb= mb_x == s->resync_mb_x && mb_y == s->resync_mb_y;    /* compute cbp */    cbp = 0;    for(i=0;i<6;i++) {        if (s->block_last_index[i] >= 0)            cbp |= 1 << (5 - i);    }    if (cbp == 0 && !first_mb && s->mv_type == MV_TYPE_16X16 &&        (mb_x != s->mb_width - 1 || (mb_y != s->mb_height - 1 && s->codec_id == CODEC_ID_MPEG1VIDEO)) &&         ((s->pict_type == P_TYPE && (motion_x | motion_y) == 0) ||        (s->pict_type == B_TYPE && s->mv_dir == s->last_mv_dir && (((s->mv_dir & MV_DIR_FORWARD) ? ((s->mv[0][0][0] - s->last_mv[0][0][0])|(s->mv[0][0][1] - s->last_mv[0][0][1])) : 0) |        ((s->mv_dir & MV_DIR_BACKWARD) ? ((s->mv[1][0][0] - s->last_mv[1][0][0])|(s->mv[1][0][1] - s->last_mv[1][0][1])) : 0)) == 0))) {        s->mb_skip_run++;        s->qscale -= s->dquant;        s->skip_count++;        s->misc_bits++;        s->last_bits++;        if(s->pict_type == P_TYPE){            s->last_mv[0][1][0]= s->last_mv[0][0][0]=             s->last_mv[0][1][1]= s->last_mv[0][0][1]= 0;        }    } else {        if(first_mb){            assert(s->mb_skip_run == 0);            encode_mb_skip_run(s, s->mb_x);        }else{            encode_mb_skip_run(s, s->mb_skip_run);        }                if (s->pict_type == I_TYPE) {            if(s->dquant && cbp){                put_mb_modes(s, 2, 1, 0, 0); /* macroblock_type : macroblock_quant = 1 */                put_bits(&s->pb, 5, s->qscale);            }else{                put_mb_modes(s, 1, 1, 0, 0); /* macroblock_type : macroblock_quant = 0 */                s->qscale -= s->dquant;            }            s->misc_bits+= get_bits_diff(s);            s->i_count++;        } else if (s->mb_intra) {            if(s->dquant && cbp){                put_mb_modes(s, 6, 0x01, 0, 0);                put_bits(&s->pb, 5, s->qscale);            }else{                put_mb_modes(s, 5, 0x03, 0, 0);                s->qscale -= s->dquant;            }            s->misc_bits+= get_bits_diff(s);            s->i_count++;            memset(s->last_mv, 0, sizeof(s->last_mv));        } else if (s->pict_type == P_TYPE) {             if(s->mv_type == MV_TYPE_16X16){                if (cbp != 0) {                    if ((motion_x|motion_y) == 0) {                        if(s->dquant){                            put_mb_modes(s, 5, 1, 0, 0); /* macroblock_pattern & quant */                            put_bits(&s->pb, 5, s->qscale);                        }else{                            put_mb_modes(s, 2, 1, 0, 0); /* macroblock_pattern only */                        }                        s->misc_bits+= get_bits_diff(s);                    } else {                        if(s->dquant){                            put_mb_modes(s, 5, 2, 1, 0); /* motion + cbp */                            put_bits(&s->pb, 5, s->qscale);                        }else{                            put_mb_modes(s, 1, 1, 1, 0); /* motion + cbp */                        }                        s->misc_bits+= get_bits_diff(s);                        mpeg1_encode_motion(s, motion_x - s->last_mv[0][0][0], s->f_code);    // RAL: f_code parameter added                        mpeg1_encode_motion(s, motion_y - s->last_mv[0][0][1], s->f_code);    // RAL: f_code parameter added                        s->mv_bits+= get_bits_diff(s);                    }                } else {                    put_bits(&s->pb, 3, 1); /* motion only */                    if (!s->frame_pred_frame_dct)                        put_bits(&s->pb, 2, 2); /* motion_type: frame */                    s->misc_bits+= get_bits_diff(s);                    mpeg1_encode_motion(s, motion_x - s->last_mv[0][0][0], s->f_code);    // RAL: f_code parameter added                    mpeg1_encode_motion(s, motion_y - s->last_mv[0][0][1], s->f_code);    // RAL: f_code parameter added                    s->qscale -= s->dquant;                    s->mv_bits+= get_bits_diff(s);                }                s->last_mv[0][1][0]= s->last_mv[0][0][0]= motion_x;                s->last_mv[0][1][1]= s->last_mv[0][0][1]= motion_y;            }else{                assert(!s->frame_pred_frame_dct && s->mv_type == MV_TYPE_FIELD);                if (cbp) {                        if (s->dquant) {                        put_mb_modes(s, 5, 2, 1, 1); /* motion + cbp */                            put_bits(&s->pb, 5, s->qscale);                        } else {                        put_mb_modes(s, 1, 1, 1, 1); /* motion + cbp */                    }                } else {                    put_bits(&s->pb, 3, 1); /* motion only */                    put_bits(&s->pb, 2, 1); /* motion_type: field */                    s->qscale -= s->dquant;                            }                        s->misc_bits += get_bits_diff(s);                for(i=0; i<2; i++){                    put_bits(&s->pb, 1, s->field_select[0][i]);                    mpeg1_encode_motion(s, s->mv[0][i][0] -  s->last_mv[0][i][0]    , s->f_code);                    mpeg1_encode_motion(s, s->mv[0][i][1] - (s->last_mv[0][i][1]>>1), s->f_code);                    s->last_mv[0][i][0]=   s->mv[0][i][0];                    s->last_mv[0][i][1]= 2*s->mv[0][i][1];                }                        s->mv_bits += get_bits_diff(s);            }            if(cbp)                put_bits(&s->pb, mbPatTable[cbp][1], mbPatTable[cbp][0]);            s->f_count++;        } else{              static const int mb_type_len[4]={0,3,4,2}; //bak,for,bi            if(s->mv_type == MV_TYPE_16X16){                if (cbp){    // With coded bloc pattern                        if (s->dquant) {                        if(s->mv_dir == MV_DIR_FORWARD)                            put_mb_modes(s, 6, 3, 1, 0);                        else                            put_mb_modes(s, mb_type_len[s->mv_dir]+3, 2, 1, 0);                            put_bits(&s->pb, 5, s->qscale);                        } else {                        put_mb_modes(s, mb_type_len[s->mv_dir], 3, 1, 0);                    }                }else{    // No coded bloc pattern                    put_bits(&s->pb, mb_type_len[s->mv_dir], 2);                    if (!s->frame_pred_frame_dct)                        put_bits(&s->pb, 2, 2); /* motion_type: frame */                    s->qscale -= s->dquant;                            }                        s->misc_bits += get_bits_diff(s);                if (s->mv_dir&MV_DIR_FORWARD){                    mpeg1_encode_motion(s, s->mv[0][0][0] - s->last_mv[0][0][0], s->f_code);                     mpeg1_encode_motion(s, s->mv[0][0][1] - s->last_mv[0][0][1], s->f_code);                     s->last_mv[0][0][0]=s->last_mv[0][1][0]= s->mv[0][0][0];                    s->last_mv[0][0][1]=s->last_mv[0][1][1]= s->mv[0][0][1];                    s->f_count++;                }                if (s->mv_dir&MV_DIR_BACKWARD){                    mpeg1_encode_motion(s, s->mv[1][0][0] - s->last_mv[1][0][0], s->b_code);                     mpeg1_encode_motion(s, s->mv[1][0][1] - s->last_mv[1][0][1], s->b_code);                     s->last_mv[1][0][0]=s->last_mv[1][1][0]= s->mv[1][0][0];                    s->last_mv[1][0][1]=s->last_mv[1][1][1]= s->mv[1][0][1];                        s->b_count++;                        }            }else{                assert(s->mv_type == MV_TYPE_FIELD);                assert(!s->frame_pred_frame_dct);                if (cbp){    // With coded bloc pattern                        if (s->dquant) {                        if(s->mv_dir == MV_DIR_FORWARD)                            put_mb_modes(s, 6, 3, 1, 1);                        else                            put_mb_modes(s, mb_type_len[s->mv_dir]+3, 2, 1, 1);                            put_bits(&s->pb, 5, s->qscale);                        } else {                        put_mb_modes(s, mb_type_len[s->mv_dir], 3, 1, 1);                    }                }else{    // No coded bloc pattern                    put_bits(&s->pb, mb_type_len[s->mv_dir], 2);                    put_bits(&s->pb, 2, 1); /* motion_type: field */                    s->qscale -= s->dquant;                            }                        s->misc_bits += get_bits_diff(s);                if (s->mv_dir&MV_DIR_FORWARD){                    for(i=0; i<2; i++){                        put_bits(&s->pb, 1, s->field_select[0][i]);                        mpeg1_encode_motion(s, s->mv[0][i][0] -  s->last_mv[0][i][0]    , s->f_code);                        mpeg1_encode_motion(s, s->mv[0][i][1] - (s->last_mv[0][i][1]>>1), s->f_code);                        s->last_mv[0][i][0]=   s->mv[0][i][0];                        s->last_mv[0][i][1]= 2*s->mv[0][i][1];                    }                        s->f_count++;                        }                if (s->mv_dir&MV_DIR_BACKWARD){                    for(i=0; i<2; i++){                        put_bits(&s->pb, 1, s->field_select[1][i]);                        mpeg1_encode_motion(s, s->mv[1][i][0] -  s->last_mv[1][i][0]    , s->b_code);                        mpeg1_encode_motion(s, s->mv[1][i][1] - (s->last_mv[1][i][1]>>1), s->b_code);                        s->last_mv[1][i][0]=   s->mv[1][i][0];                        s->last_mv[1][i][1]= 2*s->mv[1][i][1];                    }                        s->b_count++;                        }                        }                    s->mv_bits += get_bits_diff(s);            if(cbp)                put_bits(&s->pb, mbPatTable[cbp][1], mbPatTable[cbp][0]);            }        for(i=0;i<6;i++) {            if (cbp & (1 << (5 - i))) {                mpeg1_encode_block(s, block[i], i);            }        }        s->mb_skip_run = 0;        if(s->mb_intra)            s->i_tex_bits+= get_bits_diff(s);        else            s->p_tex_bits+= get_bits_diff(s);    }}// RAL: Parameter added: f_or_b_codestatic void mpeg1_encode_motion(MpegEncContext *s, int val, int f_or_b_code){    int code, bit_size, l, bits, range, sign;    if (val == 0) {        /* zero vector */        code = 0;        put_bits(&s->pb,                 mbMotionVectorTable[0][1],                  mbMotionVectorTable[0][0]);     } else {        bit_size = f_or_b_code - 1;        range = 1 << bit_size;        /* modulo encoding */        l= INT_BIT - 5 - bit_size;        val= (val<<l)>>l;        if (val >= 0) {            val--;            code = (val >> bit_size) + 1;            bits = val & (range - 1);            sign = 0;        } else {            val = -val;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产视频| 中文在线一区二区| 秋霞电影一区二区| 日韩精品一区二区三区中文不卡| 免费观看91视频大全| 精品精品国产高清a毛片牛牛 | 在线看国产日韩| 一区二区三区在线观看欧美| 欧美在线观看视频在线| 亚洲一级在线观看| 欧美大片国产精品| 国产aⅴ精品一区二区三区色成熟| 欧美国产精品专区| 91久久精品网| 久久精品国产精品亚洲红杏| 久久精品日韩一区二区三区| 色狠狠综合天天综合综合| 日韩高清在线不卡| 国产精品理伦片| 欧美色手机在线观看| 激情深爱一区二区| 亚洲精品一二三| 日韩精品一区在线| 91麻豆免费观看| 麻豆91在线看| 中文字幕日韩一区| 91精品国模一区二区三区| 成人教育av在线| 天堂av在线一区| 中文字幕一区二区三中文字幕| 欧美高清一级片在线| 成人黄色电影在线| 久久精品国产网站| 亚洲在线观看免费视频| 久久一区二区视频| 欧美日韩国产天堂| 成人免费毛片片v| 免费国产亚洲视频| 亚洲激情五月婷婷| 久久久久国色av免费看影院| 欧美日韩一区二区不卡| 成人美女视频在线观看| 日韩av在线播放中文字幕| 日韩毛片精品高清免费| 精品国产不卡一区二区三区| 欧美日韩国产一级片| av在线一区二区三区| 精品一区二区三区不卡| 洋洋成人永久网站入口| 中文字幕五月欧美| 国产无一区二区| 欧美刺激午夜性久久久久久久| 欧美日韩国产免费一区二区 | 7777精品伊人久久久大香线蕉经典版下载 | 经典三级视频一区| 亚洲3atv精品一区二区三区| 亚洲精品成人精品456| 中文字幕av一区 二区| 精品国产一区二区三区久久影院 | 亚洲午夜影视影院在线观看| 亚洲婷婷在线视频| 日本一区二区三区视频视频| 2024国产精品| 亚洲精品一区二区精华| 欧美一区二区成人6969| 678五月天丁香亚洲综合网| 91久久精品网| 欧美性极品少妇| 在线视频观看一区| 色国产精品一区在线观看| 91免费观看国产| 91色在线porny| aaa欧美大片| 一本一道久久a久久精品| 91亚洲精品久久久蜜桃| 91国偷自产一区二区开放时间| 色一情一伦一子一伦一区| 色综合欧美在线| 欧美三级韩国三级日本一级| 欧美日韩一区二区在线观看视频| 欧美亚洲国产怡红院影院| 欧美视频一区二区| 91麻豆精品国产自产在线观看一区 | 国产很黄免费观看久久| 懂色中文一区二区在线播放| 成人一区二区三区中文字幕| 国产ts人妖一区二区| www.66久久| 色偷偷久久一区二区三区| 欧美日韩视频一区二区| 91精品国产高清一区二区三区蜜臀| 91精品国产手机| 久久综合色之久久综合| 中文一区二区在线观看| 亚洲黄色在线视频| 视频一区中文字幕国产| 精品一二三四区| 成人一级视频在线观看| 91久久精品一区二区三| 91精品国产乱| 中文av一区二区| 亚洲综合无码一区二区| 久久国产精品露脸对白| jiyouzz国产精品久久| 日本高清不卡aⅴ免费网站| 欧美日韩一区二区三区在线| 久久―日本道色综合久久| 一区在线观看免费| 男女视频一区二区| 成人av在线资源| 91精品国产福利| 中文字幕精品在线不卡| 婷婷开心激情综合| 成人综合婷婷国产精品久久蜜臀| 欧美视频中文字幕| 中文字幕第一区第二区| 日韩精品免费视频人成| 成人激情视频网站| 91麻豆精品91久久久久同性| 欧美国产丝袜视频| 免费在线欧美视频| 97久久精品人人澡人人爽| 日韩一区二区三区视频在线| 中文字幕一区二区在线播放 | 欧美激情在线看| 五月天激情综合| eeuss影院一区二区三区| 在线综合视频播放| 亚洲乱码国产乱码精品精可以看| 狠狠色丁香久久婷婷综合_中| 欧美最新大片在线看 | 久久久精品欧美丰满| 午夜影视日本亚洲欧洲精品| 风间由美性色一区二区三区| 欧美精品一二三区| 亚洲精选视频免费看| 国产专区欧美精品| 欧美一区二区三区视频免费 | 日韩亚洲国产中文字幕欧美| 亚洲视频免费观看| 国产成人午夜精品影院观看视频| 欧美一区二区三区在线视频| 亚洲一区二区三区视频在线| 成人ar影院免费观看视频| 国产亚洲制服色| 久久精品国产精品青草| 69成人精品免费视频| 亚洲国产精品麻豆| 91久久香蕉国产日韩欧美9色| 国产精品久久久久久妇女6080 | 激情深爱一区二区| 日韩一区二区视频| 日韩av一二三| 555夜色666亚洲国产免| 亚洲国产精品久久人人爱| 日本韩国视频一区二区| 亚洲女人的天堂| caoporen国产精品视频| 中文一区二区完整视频在线观看 | 91美女视频网站| 国产精品久久777777| 成人动漫一区二区三区| 国产片一区二区| 成人av电影观看| 亚洲欧美偷拍三级| 99免费精品视频| 一区二区三区四区视频精品免费| 93久久精品日日躁夜夜躁欧美| 国产精品久久久久一区二区三区共| 成人av电影免费在线播放| 亚洲欧美综合另类在线卡通| 91在线小视频| 亚洲男同1069视频| 一本大道久久精品懂色aⅴ | 日本一不卡视频| 日韩美一区二区三区| 国产美女在线观看一区| 国产欧美一二三区| heyzo一本久久综合| 亚洲综合成人网| 欧美一卡二卡在线| 国产夫妻精品视频| 亚洲欧洲精品一区二区精品久久久| 91尤物视频在线观看| 亚洲国产另类精品专区| 日韩精品一区二区三区在线观看| 国产在线国偷精品产拍免费yy| 国产精品色在线观看| 91福利小视频| 免费精品视频在线| 国产精品乱人伦| 欧美午夜在线观看| 精品在线视频一区| 国产精品国产三级国产aⅴ中文 | 在线欧美日韩国产| 日韩av中文字幕一区二区三区| 国产亚洲一区字幕| 欧美午夜一区二区| 国产成人啪免费观看软件| 亚洲免费资源在线播放|