?? avcodec.h
字號:
/** * strictly follow the std (MPEG4, ...). * - encoding: set by user * - decoding: unused */ int strict_std_compliance; /** * qscale offset between ip and b 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 b_quant_offset; /** * error resilience higher values will detect more errors but may missdetect * some more or less valid parts as errors. * - encoding: unused * - decoding: set by user */ int error_resilience;#define FF_ER_CAREFULL 1#define FF_ER_COMPLIANT 2#define FF_ER_AGGRESSIVE 3#define FF_ER_VERY_AGGRESSIVE 4 /** * called at the beginning of each frame to get a buffer for it. * if pic.reference is set then the frame will be read later by lavc * width and height should be rounded up to the next multiple of 16 * - encoding: unused * - decoding: set by lavc, user can override */ int (*get_buffer)(struct AVCodecContext *c, AVFrame *pic); /** * called to release buffers which where allocated with get_buffer. * a released buffer can be reused in get_buffer() * pic.data[*] must be set to NULL * - encoding: unused * - decoding: set by lavc, user can override */ void (*release_buffer)(struct AVCodecContext *c, AVFrame *pic); /** * is 1 if the decoded stream contains b frames, 0 otherwise. * - encoding: unused * - decoding: set by lavc */ int has_b_frames; int block_align; ///< used by some WAV based audio codecs int parse_only; /* - decoding only: if true, only parsing is done (function avcodec_parse_frame()). The frame data is returned. Only MPEG codecs support this now. */ /** * 0-> h263 quant 1-> mpeg quant. * - encoding: set by user. * - decoding: unused */ int mpeg_quant; /** * pass1 encoding statistics output buffer. * - encoding: set by lavc * - decoding: unused */ char *stats_out; /** * pass2 encoding statistics input buffer. * 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_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). * 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]; /** * 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; /** * 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_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.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -