⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 avcodec.h

📁 ffmpeg源码分析
💻 H
📖 第 1 页 / 共 5 页
字号:
    int dia_size;    /**     * amount of previous MV predictors (2a+1 x 2a+1 square).     * - encoding: set by user.     * - decoding: unused     */    int last_predictor_count;    /**     * pre pass for motion estimation.     * - encoding: set by user.     * - decoding: unused     */    int pre_me;    /**     * motion estimation pre pass compare function.     * - encoding: set by user.     * - decoding: unused     */    int me_pre_cmp;    /**     * ME pre pass diamond size & shape.     * - encoding: set by user.     * - decoding: unused     */    int pre_dia_size;    /**     * subpel ME quality.     * - encoding: set by user.     * - decoding: unused     */    int me_subpel_quality;    /**     * callback to negotiate the pixelFormat.     * @param fmt is the list of formats which are supported by the codec,     * its terminated by -1 as 0 is a valid format, the formats are ordered by quality     * the first is allways the native one     * @return the choosen format     * - encoding: unused     * - decoding: set by user, if not set then the native format will always be choosen     */    enum PixelFormat (*get_format)(struct AVCodecContext *s, const enum PixelFormat * fmt);    /**     * DTG active format information (additionnal aspect ratio     * information only used in DVB MPEG2 transport streams). 0 if     * not set.     *     * - encoding: unused.     * - decoding: set by decoder     */    int dtg_active_format;#define FF_DTG_AFD_SAME         8#define FF_DTG_AFD_4_3          9#define FF_DTG_AFD_16_9         10#define FF_DTG_AFD_14_9         11#define FF_DTG_AFD_4_3_SP_14_9  13#define FF_DTG_AFD_16_9_SP_14_9 14#define FF_DTG_AFD_SP_4_3       15    /**     * Maximum motion estimation search range in subpel units.     * if 0 then no limit     *     * - encoding: set by user.     * - decoding: unused.     */    int me_range;    /**     * intra quantizer bias.     * - encoding: set by user.     * - decoding: unused     */    int intra_quant_bias;#define FF_DEFAULT_QUANT_BIAS 999999    /**     * inter quantizer bias.     * - encoding: set by user.     * - decoding: unused     */    int inter_quant_bias;    /**     * color table ID.     * - encoding: unused.     * - decoding: which clrtable should be used for 8bit RGB images     *             table have to be stored somewhere FIXME     */    int color_table_id;    /**     * internal_buffer count.     * Don't touch, used by lavc default_get_buffer()     */    int internal_buffer_count;    /**     * internal_buffers.     * Don't touch, used by lavc default_get_buffer()     */    void *internal_buffer;#define FF_LAMBDA_SHIFT 7#define FF_LAMBDA_SCALE (1<<FF_LAMBDA_SHIFT)#define FF_QP2LAMBDA 118 ///< factor to convert from H.263 QP to lambda#define FF_LAMBDA_MAX (256*128-1)#define FF_QUALITY_SCALE FF_LAMBDA_SCALE //FIXME maybe remove    /**     * global quality for codecs which cannot change it per frame.     * this should be proportional to MPEG1/2/4 qscale.     * - encoding: set by user.     * - decoding: unused     */    int global_quality;#define FF_CODER_TYPE_VLC   0#define FF_CODER_TYPE_AC    1    /**     * coder type     * - encoding: set by user.     * - decoding: unused     */    int coder_type;    /**     * context model     * - encoding: set by user.     * - decoding: unused     */    int context_model;#if 0    /**     *     * - encoding: unused     * - decoding: set by user.     */    uint8_t * (*realloc)(struct AVCodecContext *s, uint8_t *buf, int buf_size);#endif    /**     * slice flags     * - encoding: unused     * - decoding: set by user.     */    int slice_flags;#define SLICE_FLAG_CODED_ORDER    0x0001 ///< draw_horiz_band() is called in coded order instead of display#define SLICE_FLAG_ALLOW_FIELD    0x0002 ///< allow draw_horiz_band() with field slices (MPEG2 field pics)#define SLICE_FLAG_ALLOW_PLANE    0x0004 ///< allow draw_horiz_band() with 1 component at a time (SVQ1)    /**     * XVideo Motion Acceleration     * - encoding: forbidden     * - decoding: set by decoder     */    int xvmc_acceleration;    /**     * macroblock decision mode     * - encoding: set by user.     * - decoding: unused     */    int mb_decision;#define FF_MB_DECISION_SIMPLE 0        ///< uses mb_cmp#define FF_MB_DECISION_BITS   1        ///< chooses the one which needs the fewest bits#define FF_MB_DECISION_RD     2        ///< rate distoration    /**     * custom intra quantization matrix     * - encoding: set by user, can be NULL     * - decoding: set by lavc     */    uint16_t *intra_matrix;    /**     * custom inter quantization matrix     * - encoding: set by user, can be NULL     * - decoding: set by lavc     */    uint16_t *inter_matrix;    /**     * fourcc from the AVI stream header (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A').     * this is used to workaround some encoder bugs     * - encoding: unused     * - decoding: set by user, will be converted to upper case by lavc during init     */    unsigned int stream_codec_tag;    /**     * scene change detection threshold.     * 0 is default, larger means fewer detected scene changes     * - encoding: set by user.     * - decoding: unused     */    int scenechange_threshold;    /**     * minimum lagrange multipler     * - encoding: set by user.     * - decoding: unused     */    int lmin;    /**     * maximum lagrange multipler     * - encoding: set by user.     * - decoding: unused     */    int lmax;    /**     * Palette control structure     * - encoding: ??? (no palette-enabled encoder yet)     * - decoding: set by user.     */    struct AVPaletteControl *palctrl;    /**     * noise reduction strength     * - encoding: set by user.     * - decoding: unused     */    int noise_reduction;    /**     * called at the beginning of a frame to get cr buffer for it.     * buffer type (size, hints) must be the same. lavc won't check it.     * lavc will pass previous buffer in pic, function should return     * same buffer or new buffer with old frame "painted" into it.     * if pic.data[0] == NULL must behave like get_buffer().     * - encoding: unused     * - decoding: set by lavc, user can override     */    int (*reget_buffer)(struct AVCodecContext *c, AVFrame *pic);    /**     * number of bits which should be loaded into the rc buffer before decoding starts     * - encoding: set by user.     * - decoding: unused     */    int rc_initial_buffer_occupancy;    /**     *     * - encoding: set by user.     * - decoding: unused     */    int inter_threshold;    /**     * CODEC_FLAG2_*.     * - encoding: set by user.     * - decoding: set by user.     */    int flags2;    /**     * simulates errors in the bitstream to test error concealment.     * - encoding: set by user.     * - decoding: unused.     */    int error_rate;    /**     * MP3 antialias algorithm, see FF_AA_* below.     * - encoding: unused     * - decoding: set by user     */    int antialias_algo;#define FF_AA_AUTO    0#define FF_AA_FASTINT 1 //not implemented yet#define FF_AA_INT     2#define FF_AA_FLOAT   3    /**     * Quantizer noise shaping.     * - encoding: set by user     * - decoding: unused     */    int quantizer_noise_shaping;    /**     * Thread count.     * is used to decide how many independant tasks should be passed to execute()     * - encoding: set by user     * - decoding: set by user     */    int thread_count;    /**     * the codec may call this to execute several independant things. it will return only after     * finishing all tasks, the user may replace this with some multithreaded implementation, the     * default implementation will execute the parts serially     * @param count the number of things to execute     * - encoding: set by lavc, user can override     * - decoding: set by lavc, user can override     */    int (*execute)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg), void **arg2, int *ret, int count);    /**     * Thread opaque.     * can be used by execute() to store some per AVCodecContext stuff.     * - encoding: set by execute()     * - decoding: set by execute()     */    void *thread_opaque;    /**     * Motion estimation threshold. under which no motion estimation is     * performed, but instead the user specified motion vectors are used     *     * - encoding: set by user     * - decoding: unused     */     int me_threshold;    /**     * Macroblock threshold. under which the user specified macroblock types will be used     * - encoding: set by user     * - decoding: unused     */     int mb_threshold;    /**     * precision of the intra dc coefficient - 8.     * - encoding: set by user     * - decoding: unused     */     int intra_dc_precision;    /**     * noise vs. sse weight for the nsse comparsion function.     * - encoding: set by user     * - decoding: unused     */     int nsse_weight;    /**     * number of macroblock rows at the top which are skipped.     * - encoding: unused     * - decoding: set by user     */     int skip_top;    /**     * number of macroblock rows at the bottom which are skipped.     * - encoding: unused     * - decoding: set by user     */     int skip_bottom;    /**     * profile     * - encoding: set by user     * - decoding: set by lavc     */     int profile;#define FF_PROFILE_UNKNOWN -99    /**     * level     * - encoding: set by user     * - decoding: set by lavc     */     int level;#define FF_LEVEL_UNKNOWN -99    /**     * low resolution decoding. 1-> 1/2 size, 2->1/4 size     * - encoding: unused     * - decoding: set by user     */     int lowres;    /**     * bitsream width / height. may be different from width/height if lowres     * or other things are used     * - encoding: unused     * - decoding: set by user before init if known, codec should override / dynamically change if needed     */    int coded_width, coded_height;    /**     * frame skip threshold     * - encoding: set by user     * - decoding: unused     */    int frame_skip_threshold;    /**     * frame skip factor     * - encoding: set by user     * - decoding: unused     */    int frame_skip_factor;    /**     * frame skip exponent     * - encoding: set by user     * - decoding: unused     */    int frame_skip_exp;    /**     * frame skip comparission function     * - encoding: set by user.     * - decoding: unused     */    int frame_skip_cmp;    /**     * border processing masking. raises the quantizer for mbs on the borders     * of the picture.     * - encoding: set by user     * - decoding: unused     */    float border_masking;    /**     * minimum MB lagrange multipler.     * - encoding: set by user.     * - decoding: unused     */    int mb_lmin;    /**     * maximum MB lagrange multipler.     * - encoding: set by user.     * - decoding: unused     */    int mb_lmax;    /**     *     * - encoding: set by user.     * - decoding: unused     */    int me_penalty_compensation;    /**     *     * - encoding: unused     * - decoding: set by user.     */    enum AVDiscard skip_loop_filter;    /**     *     * - encoding: unused     * - decoding: set by user.     */    enum AVDiscard skip_idct;    /**

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -