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

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

?? h263.c

?? 君正早期ucos系統(只有早期的才不沒有打包成庫),MPLAYER,文件系統,圖片解碼,瀏覽,電子書,錄音,想學ucos,識貨的人就下吧 russblock fmradio explore set
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* * H263/MPEG4 backend for ffmpeg encoder and decoder * Copyright (c) 2000,2001 Fabrice Bellard. * H263+ support. * Copyright (c) 2001 Juan J. Sierralta P. * Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at> * * ac prediction encoding, B-frame support, error resilience, optimizations, * qpel decoding, gmc decoding, interlaced decoding * by Michael Niedermayer <michaelni@gmx.at> * * This file is part of FFmpeg. * * FFmpeg is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * FFmpeg is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *//** * @file h263.c * h263/mpeg4 codec. *///#define DEBUG#include "dsputil.h"#include "avcodec.h"#include "mpegvideo.h"#include "h263data.h"#include "mpeg4data.h"//#undef NDEBUG//#include <assert.h>#undef memcpy#define memcpy uc_memcpy#define INTRA_MCBPC_VLC_BITS 6#define INTER_MCBPC_VLC_BITS 7#define CBPY_VLC_BITS 6#define MV_VLC_BITS 9#define DC_VLC_BITS 9#define SPRITE_TRAJ_VLC_BITS 6#define MB_TYPE_B_VLC_BITS 4#define TEX_VLC_BITS 9#define H263_MBTYPE_B_VLC_BITS 6#define CBPC_B_VLC_BITS 3#ifdef CONFIG_ENCODERSstatic void h263_encode_block(MpegEncContext * s, DCTELEM * block,                              int n);static void h263p_encode_umotion(MpegEncContext * s, int val);static inline void mpeg4_encode_block(MpegEncContext * s, DCTELEM * block,                               int n, int dc, uint8_t *scan_table,                               PutBitContext *dc_pb, PutBitContext *ac_pb);static int mpeg4_get_block_length(MpegEncContext * s, DCTELEM * block, int n, int intra_dc,                                  uint8_t *scan_table);#endifstatic int h263_decode_motion(MpegEncContext * s, int pred, int fcode);static int h263p_decode_umotion(MpegEncContext * s, int pred);static int h263_decode_block(MpegEncContext * s, DCTELEM * block,                             int n, int coded);static inline int mpeg4_decode_dc(MpegEncContext * s, int n, int *dir_ptr);static inline int mpeg4_decode_block(MpegEncContext * s, DCTELEM * block,                              int n, int coded, int intra, int rvlc);#ifdef CONFIG_ENCODERSstatic int h263_pred_dc(MpegEncContext * s, int n, int16_t **dc_val_ptr);static void mpeg4_encode_visual_object_header(MpegEncContext * s);static void mpeg4_encode_vol_header(MpegEncContext * s, int vo_number, int vol_number);#endif //CONFIG_ENCODERSstatic void mpeg4_decode_sprite_trajectory(MpegEncContext * s, GetBitContext *gb);static inline int ff_mpeg4_pred_dc(MpegEncContext * s, int n, int level, int *dir_ptr, int encoding);#ifdef CONFIG_ENCODERSstatic uint8_t uni_DCtab_lum_len[512];static uint8_t uni_DCtab_chrom_len[512];static uint16_t uni_DCtab_lum_bits[512];static uint16_t uni_DCtab_chrom_bits[512];static uint8_t mv_penalty[MAX_FCODE+1][MAX_MV*2+1];static uint8_t fcode_tab[MAX_MV*2+1];static uint8_t umv_fcode_tab[MAX_MV*2+1];static uint32_t uni_mpeg4_intra_rl_bits[64*64*2*2];static uint8_t  uni_mpeg4_intra_rl_len [64*64*2*2];static uint32_t uni_mpeg4_inter_rl_bits[64*64*2*2];static uint8_t  uni_mpeg4_inter_rl_len [64*64*2*2];static uint8_t  uni_h263_intra_aic_rl_len [64*64*2*2];static uint8_t  uni_h263_inter_rl_len [64*64*2*2];//#define UNI_MPEG4_ENC_INDEX(last,run,level) ((last)*128 + (run)*256 + (level))//#define UNI_MPEG4_ENC_INDEX(last,run,level) ((last)*128*64 + (run) + (level)*64)#define UNI_MPEG4_ENC_INDEX(last,run,level) ((last)*128*64 + (run)*128 + (level))/* mpeg4intermax level: 24/6max run: 53/63intramax level: 53/16max run: 29/41*/#endifstatic uint8_t static_rl_table_store[5][2][2*MAX_RUN + MAX_LEVEL + 3];#if 0 //3IV1 is quite rare and it slows things down a tiny bit#define IS_3IV1 s->codec_tag == ff_get_fourcc("3IV1")#else#define IS_3IV1 0#endifint h263_get_picture_format(int width, int height){    int format;    if (width == 128 && height == 96)        format = 1;    else if (width == 176 && height == 144)        format = 2;    else if (width == 352 && height == 288)        format = 3;    else if (width == 704 && height == 576)        format = 4;    else if (width == 1408 && height == 1152)        format = 5;    else        format = 7;    return format;}static void show_pict_info(MpegEncContext *s){    av_log(s->avctx, AV_LOG_DEBUG, "qp:%d %c size:%d rnd:%d%s%s%s%s%s%s%s%s%s %d/%d\n",         s->qscale, av_get_pict_type_char(s->pict_type),         s->gb.size_in_bits, 1-s->no_rounding,         s->obmc ? " AP" : "",         s->umvplus ? " UMV" : "",         s->h263_long_vectors ? " LONG" : "",         s->h263_plus ? " +" : "",         s->h263_aic ? " AIC" : "",         s->alt_inter_vlc ? " AIV" : "",         s->modified_quant ? " MQ" : "",         s->loop_filter ? " LOOP" : "",         s->h263_slice_structured ? " SS" : "",         s->avctx->time_base.den, s->avctx->time_base.num    );}#ifdef CONFIG_ENCODERSstatic void aspect_to_info(MpegEncContext * s, AVRational aspect){    int i;    if(aspect.num==0) aspect= (AVRational){1,1};    for(i=1; i<6; i++){        if(av_cmp_q(pixel_aspect[i], aspect) == 0){            s->aspect_ratio_info=i;            return;        }    }    s->aspect_ratio_info= FF_ASPECT_EXTENDED;}void ff_flv_encode_picture_header(MpegEncContext * s, int picture_number){      int format;      align_put_bits(&s->pb);      put_bits(&s->pb, 17, 1);      put_bits(&s->pb, 5, (s->h263_flv-1)); /* 0: h263 escape codes 1: 11-bit escape codes */      put_bits(&s->pb, 8, (((int64_t)s->picture_number * 30 * s->avctx->time_base.num) / //FIXME use timestamp                           s->avctx->time_base.den) & 0xff); /* TemporalReference */      if (s->width == 352 && s->height == 288)        format = 2;      else if (s->width == 176 && s->height == 144)        format = 3;      else if (s->width == 128 && s->height == 96)        format = 4;      else if (s->width == 320 && s->height == 240)        format = 5;      else if (s->width == 160 && s->height == 120)        format = 6;      else if (s->width <= 255 && s->height <= 255)        format = 0; /* use 1 byte width & height */      else        format = 1; /* use 2 bytes width & height */      put_bits(&s->pb, 3, format); /* PictureSize */      if (format == 0) {        put_bits(&s->pb, 8, s->width);        put_bits(&s->pb, 8, s->height);      } else if (format == 1) {        put_bits(&s->pb, 16, s->width);        put_bits(&s->pb, 16, s->height);      }      put_bits(&s->pb, 2, s->pict_type == P_TYPE); /* PictureType */      put_bits(&s->pb, 1, 1); /* DeblockingFlag: on */      put_bits(&s->pb, 5, s->qscale); /* Quantizer */      put_bits(&s->pb, 1, 0); /* ExtraInformation */      if(s->h263_aic){        s->y_dc_scale_table=          s->c_dc_scale_table= ff_aic_dc_scale_table;      }else{        s->y_dc_scale_table=          s->c_dc_scale_table= ff_mpeg1_dc_scale_table;      }}void h263_encode_picture_header(MpegEncContext * s, int picture_number){    int format, coded_frame_rate, coded_frame_rate_base, i, temp_ref;    int best_clock_code=1;    int best_divisor=60;    int best_error= INT_MAX;    if(s->h263_plus){        for(i=0; i<2; i++){            int div, error;            div= (s->avctx->time_base.num*1800000LL + 500LL*s->avctx->time_base.den) / ((1000LL+i)*s->avctx->time_base.den);            div= av_clip(div, 1, 127);            error= FFABS(s->avctx->time_base.num*1800000LL - (1000LL+i)*s->avctx->time_base.den*div);            if(error < best_error){                best_error= error;                best_divisor= div;                best_clock_code= i;            }        }    }    s->custom_pcf= best_clock_code!=1 || best_divisor!=60;    coded_frame_rate= 1800000;    coded_frame_rate_base= (1000+best_clock_code)*best_divisor;    align_put_bits(&s->pb);    /* Update the pointer to last GOB */    s->ptr_lastgob = pbBufPtr(&s->pb);    put_bits(&s->pb, 22, 0x20); /* PSC */    temp_ref= s->picture_number * (int64_t)coded_frame_rate * s->avctx->time_base.num / //FIXME use timestamp                         (coded_frame_rate_base * (int64_t)s->avctx->time_base.den);    put_bits(&s->pb, 8, temp_ref & 0xff); /* TemporalReference */    put_bits(&s->pb, 1, 1);     /* marker */    put_bits(&s->pb, 1, 0);     /* h263 id */    put_bits(&s->pb, 1, 0);     /* split screen off */    put_bits(&s->pb, 1, 0);     /* camera  off */    put_bits(&s->pb, 1, 0);     /* freeze picture release off */    format = h263_get_picture_format(s->width, s->height);    if (!s->h263_plus) {        /* H.263v1 */        put_bits(&s->pb, 3, format);        put_bits(&s->pb, 1, (s->pict_type == P_TYPE));        /* By now UMV IS DISABLED ON H.263v1, since the restrictions        of H.263v1 UMV implies to check the predicted MV after        calculation of the current MB to see if we're on the limits */        put_bits(&s->pb, 1, 0);         /* Unrestricted Motion Vector: off */        put_bits(&s->pb, 1, 0);         /* SAC: off */        put_bits(&s->pb, 1, s->obmc);   /* Advanced Prediction */        put_bits(&s->pb, 1, 0);         /* only I/P frames, no PB frame */        put_bits(&s->pb, 5, s->qscale);        put_bits(&s->pb, 1, 0);         /* Continuous Presence Multipoint mode: off */    } else {        int ufep=1;        /* H.263v2 */        /* H.263 Plus PTYPE */        put_bits(&s->pb, 3, 7);        put_bits(&s->pb,3,ufep); /* Update Full Extended PTYPE */        if (format == 7)            put_bits(&s->pb,3,6); /* Custom Source Format */        else            put_bits(&s->pb, 3, format);        put_bits(&s->pb,1, s->custom_pcf);        put_bits(&s->pb,1, s->umvplus); /* Unrestricted Motion Vector */        put_bits(&s->pb,1,0); /* SAC: off */        put_bits(&s->pb,1,s->obmc); /* Advanced Prediction Mode */        put_bits(&s->pb,1,s->h263_aic); /* Advanced Intra Coding */        put_bits(&s->pb,1,s->loop_filter); /* Deblocking Filter */        put_bits(&s->pb,1,s->h263_slice_structured); /* Slice Structured */        put_bits(&s->pb,1,0); /* Reference Picture Selection: off */        put_bits(&s->pb,1,0); /* Independent Segment Decoding: off */        put_bits(&s->pb,1,s->alt_inter_vlc); /* Alternative Inter VLC */        put_bits(&s->pb,1,s->modified_quant); /* Modified Quantization: */        put_bits(&s->pb,1,1); /* "1" to prevent start code emulation */        put_bits(&s->pb,3,0); /* Reserved */        put_bits(&s->pb, 3, s->pict_type == P_TYPE);        put_bits(&s->pb,1,0); /* Reference Picture Resampling: off */        put_bits(&s->pb,1,0); /* Reduced-Resolution Update: off */        put_bits(&s->pb,1,s->no_rounding); /* Rounding Type */        put_bits(&s->pb,2,0); /* Reserved */        put_bits(&s->pb,1,1); /* "1" to prevent start code emulation */        /* This should be here if PLUSPTYPE */        put_bits(&s->pb, 1, 0); /* Continuous Presence Multipoint mode: off */                if (format == 7) {            /* Custom Picture Format (CPFMT) */            aspect_to_info(s, s->avctx->sample_aspect_ratio);            put_bits(&s->pb,4,s->aspect_ratio_info);            put_bits(&s->pb,9,(s->width >> 2) - 1);            put_bits(&s->pb,1,1); /* "1" to prevent start code emulation */            put_bits(&s->pb,9,(s->height >> 2));            if (s->aspect_ratio_info == FF_ASPECT_EXTENDED){                put_bits(&s->pb, 8, s->avctx->sample_aspect_ratio.num);                put_bits(&s->pb, 8, s->avctx->sample_aspect_ratio.den);            }        }        if(s->custom_pcf){            if(ufep){                put_bits(&s->pb, 1, best_clock_code);                put_bits(&s->pb, 7, best_divisor);            }            put_bits(&s->pb, 2, (temp_ref>>8)&3);        }        /* Unlimited Unrestricted Motion Vectors Indicator (UUI) */        if (s->umvplus)//            put_bits(&s->pb,1,1); /* Limited according tables of Annex D *///FIXME check actual requested range            put_bits(&s->pb,2,1); /* unlimited */        if(s->h263_slice_structured)            put_bits(&s->pb,2,0); /* no weird submodes */        put_bits(&s->pb, 5, s->qscale);    }    put_bits(&s->pb, 1, 0);     /* no PEI */    if(s->h263_slice_structured){        put_bits(&s->pb, 1, 1);        assert(s->mb_x == 0 && s->mb_y == 0);        ff_h263_encode_mba(s);        put_bits(&s->pb, 1, 1);    }    if(s->h263_aic){         s->y_dc_scale_table=         s->c_dc_scale_table= ff_aic_dc_scale_table;    }else{        s->y_dc_scale_table=        s->c_dc_scale_table= ff_mpeg1_dc_scale_table;    }}/** * Encodes a group of blocks header. */void h263_encode_gob_header(MpegEncContext * s, int mb_line){    put_bits(&s->pb, 17, 1); /* GBSC */    if(s->h263_slice_structured){        put_bits(&s->pb, 1, 1);        ff_h263_encode_mba(s);        if(s->mb_num > 1583)            put_bits(&s->pb, 1, 1);        put_bits(&s->pb, 5, s->qscale); /* GQUANT */        put_bits(&s->pb, 1, 1);        put_bits(&s->pb, 2, s->pict_type == I_TYPE); /* GFID */    }else{        int gob_number= mb_line / s->gob_index;        put_bits(&s->pb, 5, gob_number); /* GN */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩黄色免费电影| 国产激情精品久久久第一区二区| 日日夜夜免费精品| 99久久99久久综合| 91精品国产综合久久福利| 日本一区二区不卡视频| 午夜视频一区在线观看| 不卡大黄网站免费看| 日韩一二在线观看| 亚洲宅男天堂在线观看无病毒| 国产综合久久久久久鬼色 | 7777女厕盗摄久久久| 国产欧美日韩在线看| 精品中文字幕一区二区小辣椒| 在线观看视频91| 国产精品久久久久久一区二区三区| 麻豆国产欧美日韩综合精品二区| 欧洲精品一区二区| 亚洲欧美一区二区三区极速播放 | 中文字幕中文字幕在线一区| 九一久久久久久| 欧美精品第1页| 亚洲高清不卡在线观看| 色婷婷av一区二区三区gif| 欧美高清一级片在线观看| 国产裸体歌舞团一区二区| 欧美一区二区精品久久911| 亚洲国产精品一区二区久久 | 亚洲大片在线观看| 在线免费观看视频一区| 亚洲女性喷水在线观看一区| 成年人国产精品| 国产精品久久久久久久久免费桃花| 国产一区二区在线电影| 久久综合色鬼综合色| 国产综合色在线视频区| 国产喂奶挤奶一区二区三区| 国产福利91精品一区| 久久精品视频免费| 成人丝袜视频网| 亚洲品质自拍视频| 日本韩国精品在线| 亚洲大片一区二区三区| 日韩欧美亚洲国产另类| 老司机精品视频在线| 精品美女一区二区三区| 国产成人免费视频一区| 17c精品麻豆一区二区免费| 91毛片在线观看| 午夜视频一区二区| 日韩欧美的一区二区| 国产一区福利在线| 国产精品成人一区二区艾草 | 99精品视频在线播放观看| 亚洲精品国产一区二区精华液 | 99天天综合性| 亚洲一区在线观看免费观看电影高清| 欧美艳星brazzers| 人人超碰91尤物精品国产| 精品福利一二区| 99在线精品一区二区三区| 亚洲成人综合在线| 久久久久久久久岛国免费| 色综合久久中文字幕综合网| 日韩有码一区二区三区| 亚洲国产精品成人综合色在线婷婷| 91视频com| 久久激情五月激情| 亚洲人成精品久久久久久| 91精品国产乱| 99久久久久久| 免费不卡在线观看| 亚洲精选视频在线| 精品国产三级a在线观看| 一本一道综合狠狠老| 老司机午夜精品| 亚洲一区在线观看免费观看电影高清 | 亚洲一区二区精品视频| 久久久久久夜精品精品免费| 欧美唯美清纯偷拍| 丁香婷婷综合色啪| 奇米一区二区三区av| 国产精品女人毛片| 日韩欧美成人一区二区| 欧美性生活久久| 成人性色生活片| 蜜桃久久久久久久| 亚洲图片一区二区| 一色屋精品亚洲香蕉网站| 日韩你懂的电影在线观看| 91国产免费观看| av午夜精品一区二区三区| 国产在线乱码一区二区三区| 午夜久久久影院| 亚洲欧美日韩小说| 欧美国产精品劲爆| 国产欧美精品一区二区色综合| 欧美一区二区三区系列电影| 91豆麻精品91久久久久久| 成人av网站免费观看| 国产精品白丝av| 精品在线播放午夜| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲小说春色综合另类电影| 亚洲手机成人高清视频| 久久精品免视看| 久久蜜桃av一区二区天堂| 91精品国产91久久久久久一区二区| 在线观看三级视频欧美| 一本一道波多野结衣一区二区| 成人免费毛片片v| 国产成人精品亚洲日本在线桃色| 国产在线看一区| 国产一区二区免费看| 国产一区二区视频在线| 国产一区二区看久久| 国产精品一卡二| 高清日韩电视剧大全免费| 国产aⅴ综合色| 懂色av一区二区三区免费看| 成人福利视频网站| 91在线精品一区二区三区| 91免费观看视频在线| 色综合久久久久久久久| 91黄视频在线| 日韩欧美资源站| 2021国产精品久久精品| 欧美激情一区二区三区蜜桃视频| 国产欧美日韩在线| 亚洲女人小视频在线观看| 亚洲一区影音先锋| 日韩成人一级片| 亚洲摸摸操操av| 视频在线在亚洲| 久久99精品久久久久久国产越南 | 在线一区二区三区| 欧美日韩高清影院| 精品乱人伦一区二区三区| 国产欧美一区二区三区网站| 亚洲欧洲精品一区二区精品久久久 | 在线观看亚洲专区| 欧美一个色资源| 中文子幕无线码一区tr| 亚洲三级小视频| 日韩高清一区在线| 国产成人免费视频一区| 欧洲国内综合视频| 亚洲精品一区二区三区99| 成人欧美一区二区三区小说 | 亚洲一区二区视频| 久久精品国产久精国产| 成人av网址在线| 欧美一二区视频| 18欧美乱大交hd1984| 日本aⅴ亚洲精品中文乱码| 成人app在线| 精品日产卡一卡二卡麻豆| 综合婷婷亚洲小说| 久久国产乱子精品免费女| 成人精品免费看| 欧美一区午夜视频在线观看| 国产精品久久久久久户外露出| 亚洲成a天堂v人片| 国产a久久麻豆| 日韩一区二区三区av| 亚洲美腿欧美偷拍| 极品尤物av久久免费看| 欧美日韩精品是欧美日韩精品| 国产欧美一区二区在线观看| 奇米影视一区二区三区小说| 在线一区二区视频| 亚洲欧洲一区二区三区| 国产美女精品一区二区三区| 欧美视频在线不卡| 综合激情成人伊人| 国产精品资源网站| 91精品国产91久久久久久最新毛片 | 综合激情成人伊人| 国产福利电影一区二区三区| 日韩视频中午一区| 亚洲第一精品在线| 91久久精品一区二区三| 亚洲欧洲日产国码二区| 国产成人综合网| 欧美精品一区二区三区四区| 日韩影院免费视频| 在线不卡a资源高清| 亚洲综合成人在线视频| 91麻豆国产精品久久| 国产精品日日摸夜夜摸av| 国内不卡的二区三区中文字幕| 69久久99精品久久久久婷婷| 亚洲国产一二三| 在线区一区二视频| 一区二区三区成人| 色爱区综合激月婷婷| 一区二区三区四区不卡视频| 99re66热这里只有精品3直播| 久久精品一区四区| 国产精品综合网|