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

📄 avcodec.h

📁 mpeg4 video codec mpeg4 video codec
💻 H
📖 第 1 页 / 共 5 页
字号:
     * concatenated stuff from stats_out of pass1 should be placed here     * - encoding: allocated/set/freed by user     * - decoding: unused     */    char *stats_in;        /**     * ratecontrol qmin qmax limiting method.     * 0-> clipping, 1-> use a nice continous function to limit qscale wthin qmin/qmax     * - encoding: set by user.     * - decoding: unused     */    float rc_qsquish;    float rc_qmod_amp;    int rc_qmod_freq;        /**     * ratecontrol override, see RcOverride.     * - encoding: allocated/set/freed by user.     * - decoding: unused     */    RcOverride *rc_override;    int rc_override_count;        /**     * rate control equation.     * - encoding: set by user     * - decoding: unused     */    char *rc_eq;        /**     * maximum bitrate.     * - encoding: set by user.     * - decoding: unused     */    int rc_max_rate;        /**     * minimum bitrate.     * - encoding: set by user.     * - decoding: unused     */    int rc_min_rate;        /**     * decoder bitstream buffer size.     * - encoding: set by user.     * - decoding: unused     */    int rc_buffer_size;    float rc_buffer_aggressivity;    /**     * qscale factor between p and i frames.     * if > 0 then the last p frame quantizer will be used (q= lastp_q*factor+offset)     * if < 0 then normal ratecontrol will be done (q= -normal_q*factor+offset)     * - encoding: set by user.     * - decoding: unused     */    float i_quant_factor;        /**     * qscale offset between p and i frames.     * - encoding: set by user.     * - decoding: unused     */    float i_quant_offset;        /**     * initial complexity for pass1 ratecontrol.     * - encoding: set by user.     * - decoding: unused     */    float rc_initial_cplx;    /**     * dct algorithm, see FF_DCT_* below.     * - encoding: set by user     * - decoding: unused     */    int dct_algo;#define FF_DCT_AUTO    0#define FF_DCT_FASTINT 1#define FF_DCT_INT     2#define FF_DCT_MMX     3#define FF_DCT_FAAN    4#define FF_DCT_MLIB    5#define FF_DCT_ALTIVEC 6    /**     * luminance masking (0-> disabled).     * - encoding: set by user     * - decoding: unused     */    float lumi_masking;        /**     * temporary complexity masking (0-> disabled).     * - encoding: set by user     * - decoding: unused     */    float temporal_cplx_masking;        /**     * spatial complexity masking (0-> disabled).     * - encoding: set by user     * - decoding: unused     */    float spatial_cplx_masking;        /**     * p block masking (0-> disabled).     * - encoding: set by user     * - decoding: unused     */    float p_masking;    /**     * darkness masking (0-> disabled).     * - encoding: set by user     * - decoding: unused     */    float dark_masking;        /**     * idct algorithm, see FF_IDCT_* below.     * - encoding: set by user     * - decoding: set by user     */    int idct_algo;#define FF_IDCT_AUTO         0#define FF_IDCT_LIBMPEG2MMX  1#define FF_IDCT_SIMPLEMMX    2#define FF_IDCT_SKAL         3#define FF_IDCT_SIMPLE       4#define FF_IDCT_INT          5#define FF_IDCT_XVIDMMX      6#define FF_IDCT_H264         7#define FF_IDCT_VP3          8    /**     * slice count.     * - encoding: set by lavc     * - decoding: set by user (or 0)     */    int slice_count;    /**     * slice offsets in the frame in bytes.     * - encoding: set/allocated by lavc     * - decoding: set/allocated by user (or NULL)     */    int *slice_offset;    /**     * error concealment flags.     * - encoding: unused     * - decoding: set by user     */    int error_concealment;#define FF_EC_GUESS_MVS   1#define FF_EC_DEBLOCK     2    /**     * dsp_mask could be add used to disable unwanted CPU features     * CPU features (i.e. MMX, SSE. ...)     *     * with FORCE flag you may instead enable given CPU features     * (Dangerous: usable in case of misdetection, improper usage however will     * result into program crash)     */    unsigned dsp_mask;#define FF_MM_FORCE	0x80000000 /* force usage of selected flags (OR) */    /* lower 16 bits - CPU features */#define FF_MM_MMX	0x0001 /* standard MMX */#define FF_MM_3DNOW	0x0004 /* AMD 3DNOW */#define FF_MM_MMXEXT	0x0002 /* SSE integer functions or AMD MMX ext */#define FF_MM_SSE	0x0008 /* SSE functions */#define FF_MM_SSE2	0x0010 /* PIV SSE2 functions */#define FF_MM_3DNOWEXT	0x0020 /* AMD 3DNowExt */    /**     * bits per sample/pixel from the demuxer (needed for huffyuv).     * - encoding: set by lavc     * - decoding: set by user     */    int bits_per_sample;        /**     * prediction method (needed for huffyuv).     * - encoding: set by user     * - decoding: unused     */     int prediction_method;#define FF_PRED_LEFT   0#define FF_PRED_PLANE  1#define FF_PRED_MEDIAN 2        /**     * sample aspect ratio (0 if unknown).     * numerator and denominator must be relative prime and smaller then 256 for some video standards     * - encoding: set by user.     * - decoding: set by lavc.     */    AVRational sample_aspect_ratio;    /**     * the picture in the bitstream.     * - encoding: set by lavc     * - decoding: set by lavc     */    AVFrame *coded_frame;    /**     * debug.     * - encoding: set by user.     * - decoding: set by user.     */    int debug;#define FF_DEBUG_PICT_INFO 1#define FF_DEBUG_RC        2#define FF_DEBUG_BITSTREAM 4#define FF_DEBUG_MB_TYPE   8#define FF_DEBUG_QP        16#define FF_DEBUG_MV        32#define FF_DEBUG_DCT_COEFF 0x00000040#define FF_DEBUG_SKIP      0x00000080#define FF_DEBUG_STARTCODE 0x00000100#define FF_DEBUG_PTS       0x00000200#define FF_DEBUG_ER        0x00000400#define FF_DEBUG_MMCO      0x00000800#define FF_DEBUG_BUGS      0x00001000#define FF_DEBUG_VIS_QP    0x00002000#define FF_DEBUG_VIS_MB_TYPE 0x00004000        /**     * debug.     * - encoding: set by user.     * - decoding: set by user.     */    int debug_mv;#define FF_DEBUG_VIS_MV_P_FOR  0x00000001 //visualize forward predicted MVs of P frames#define FF_DEBUG_VIS_MV_B_FOR  0x00000002 //visualize forward predicted MVs of B frames#define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward predicted MVs of B frames            /**     * error.     * - encoding: set by lavc if flags&CODEC_FLAG_PSNR     * - decoding: unused     */    uint64_t error[4];        /**     * motion estimation compare function.     * - encoding: set by user.     * - decoding: unused     */    int me_cmp;    /**     * subpixel motion estimation compare function.     * - encoding: set by user.     * - decoding: unused     */    int me_sub_cmp;    /**     * macroblock compare function (not supported yet).     * - encoding: set by user.     * - decoding: unused     */    int mb_cmp;    /**     * interlaced dct compare function     * - encoding: set by user.     * - decoding: unused     */    int ildct_cmp;#define FF_CMP_SAD  0#define FF_CMP_SSE  1#define FF_CMP_SATD 2#define FF_CMP_DCT  3#define FF_CMP_PSNR 4#define FF_CMP_BIT  5#define FF_CMP_RD   6#define FF_CMP_ZERO 7#define FF_CMP_VSAD 8#define FF_CMP_VSSE 9#define FF_CMP_NSSE 10#define FF_CMP_W53  11#define FF_CMP_W97  12#define FF_CMP_DCTMAX 13#define FF_CMP_DCT264 14#define FF_CMP_CHROMA 256        /**     * ME diamond size & shape.     * - encoding: set by user.     * - decoding: unused     */    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

⌨️ 快捷键说明

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