📄 avcodec.h
字号:
*/ 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_MLIB 4#define FF_DCT_ALTIVEC 5#define FF_DCT_FAAN 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; /* for binary compatibility */ int unused; /** * 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_INT 1#define FF_IDCT_SIMPLE 2#define FF_IDCT_SIMPLEMMX 3#define FF_IDCT_LIBMPEG2MMX 4#define FF_IDCT_PS2 5#define FF_IDCT_MLIB 6#define FF_IDCT_ARM 7#define FF_IDCT_ALTIVEC 8#define FF_IDCT_SH4 9#define FF_IDCT_SIMPLEARM 10 /** * 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 */#ifdef HAVE_MMX#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 */#endif /* HAVE_MMX */ /** * 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). * - 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_VIS_MV 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 /** * error. * - encoding: set by lavc if flags&CODEC_FLAG_PSNR * - decoding: unused */ uint64_t error[4]; /** * minimum MB quantizer. * - encoding: set by user. * - decoding: unused */ int mb_qmin; /** * maximum MB quantizer. * - encoding: set by user. * - decoding: unused */ int mb_qmax; /** * 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;#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_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, 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; /** * frame_rate_base. * for variable fps this is 1 * - encoding: set by user. * - decoding: set by lavc. * @todo move this after frame_rate */ int frame_rate_base; /** * 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. * Dont touch, used by lavc default_get_buffer() */ int internal_buffer_count; /** * internal_buffers. * Dont 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; /** * 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; /** * Conditional replenishment support * - encoding: unused * - decoding: set by user, if 1 user can allocate reusable buffers */ int cr_available; } AVCodecContext;/** * AVOption. */typedef struct AVOption { /** options' name */ const char *name; /* if name is NULL, it indicates a link to next */ /** short English text help or const struct AVOption* subpointer */ const char *help; // const struct AVOption* sub; /** offset to context structure where the parsed value should be stored */ int offset; /** options' type */ int type;#define FF_OPT_TYPE_BOOL 1 ///< boolean - true,1,on (or simply presence)#define FF_OPT_TYPE_DOUBLE 2 ///< double
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -