AVCodecContext

main external API structure. New fields can be added to the end with minor version bumps. Removal, reordering and changes to existing fields require a major version bump. Please use AVOptions (av_opt* / av_set/get*()) to access these fields from user applications. sizeof(AVCodecContext) must not be used outside libav*.

@nogc nothrow extern (C)
struct AVCodecContext {}

Members

Variables

_debug
int _debug;

debug - encoding: Set by user. - decoding: Set by user.

active_thread_type
int active_thread_type;

Which multithreading methods are in use by the codec. - encoding: Set by libavcodec. - decoding: Set by libavcodec.

audio_service_type
AVAudioServiceType audio_service_type;

Type of service that the audio stream conveys. - encoding: Set by user. - decoding: Set by libavcodec.

av_class
AVClass* av_class;

information on struct for av_log - set by avcodec_alloc_context3

b_frame_strategy
deprecated int b_frame_strategy;

@deprecated use encoder private options instead

b_quant_factor
float b_quant_factor;

qscale factor 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

b_quant_offset
float b_quant_offset;

qscale offset between IP and B-frames - encoding: Set by user. - decoding: unused

b_sensitivity
deprecated int b_sensitivity;

@deprecated use encoder private options instead

bidir_refine
int bidir_refine;

- encoding: Set by user. - decoding: unused

bit_rate
int64_t bit_rate;

the average bitrate - encoding: Set by user; unused for constant quantizer encoding. - decoding: Set by libavcodec. 0 or some bitrate if this info is available in the stream.

bit_rate_tolerance
int bit_rate_tolerance;

number of bits the bitstream is allowed to diverge from the reference. the reference can be CBR (for CBR pass1) or VBR (for pass2) - encoding: Set by user; unused for constant quantizer encoding. - decoding: unused

bits_per_coded_sample
int bits_per_coded_sample;

bits per sample/pixel from the demuxer (needed for huffyuv). - encoding: Set by libavcodec. - decoding: Set by user.

bits_per_raw_sample
int bits_per_raw_sample;

Bits per sample/pixel of internal libavcodec pixel/sample format. - encoding: set by user. - decoding: set by libavcodec.

block_align
int block_align;

number of bytes per packet if constant and known or 0 Used by some WAV based audio codecs.

border_masking
deprecated float border_masking;

@deprecated use encoder private options instead

brd_scale
deprecated int brd_scale;

@deprecated use encoder private options instead

channel_layout
uint64_t channel_layout;

Audio channel layout. - encoding: set by user. - decoding: set by user, may be overwritten by libavcodec.

channels
int channels;

< number of audio channels

chroma_intra_matrix
uint16_t* chroma_intra_matrix;

custom intra quantization matrix Code outside libavcodec should access this field using av_codec_g/set_chroma_intra_matrix() - encoding: Set by user, can be NULL. - decoding: unused.

chroma_sample_location
AVChromaLocation chroma_sample_location;

This defines the location of chroma samples. - encoding: Set by user - decoding: Set by libavcodec

chromaoffset
deprecated int chromaoffset;

@deprecated use encoder private options instead

codec
AVCodec* codec;
Undocumented in source.
codec_descriptor
AVCodecDescriptor* codec_descriptor;

AVCodecDescriptor Code outside libavcodec should access this field using: av_codec_{get,set}codec_descriptor(avctx) - encoding: unused. - decoding: set by libavcodec.

codec_id
AVCodecID codec_id;
Undocumented in source.
codec_name
deprecated char[32] codec_name;

@deprecated this field is not used for anything in libavcodec

codec_tag
uint codec_tag;

fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A'). This is used to work around some encoder bugs. A demuxer should set this to what is stored in the field used to identify the codec. If there are multiple such fields in a container then the demuxer should choose the one which maximizes the information about the used codec. If the codec tag field in a container is larger than 32 bits then the demuxer should remap the longer ID to 32 bits with a table or other structure. Alternatively a new extra_codec_tag + size could be added but for this a clear advantage must be demonstrated first. - encoding: Set by user, if not then the default based on codec_id will be used. - decoding: Set by user, will be converted to uppercase by libavcodec during init.

codec_type
AVMediaType codec_type;
Undocumented in source.
codec_whitelist
char* codec_whitelist;

',' separated list of allowed decoders. If NULL then all are allowed - encoding: unused - decoding: set by user through AVOPtions (NO direct access)

coded_frame
deprecated AVFrame* coded_frame;

the picture in the bitstream - encoding: Set by libavcodec. - decoding: unused

coded_height
int coded_height;

Bitstream width / height, may be different from width/height e.g. when the decoded frame is cropped before being output or lowres is enabled.

coded_side_data
AVPacketSideData* coded_side_data;

Additional data associated with the entire coded stream.

coded_width
int coded_width;

Bitstream width / height, may be different from width/height e.g. when the decoded frame is cropped before being output or lowres is enabled.

coder_type
deprecated int coder_type;

@deprecated use encoder private options instead

color_primaries
AVColorPrimaries color_primaries;

Chromaticity coordinates of the source primaries. - encoding: Set by user - decoding: Set by libavcodec

color_range
AVColorRange color_range;

MPEG vs JPEG YUV range. - encoding: Set by user - decoding: Set by libavcodec

color_trc
AVColorTransferCharacteristic color_trc;

Color Transfer Characteristic. - encoding: Set by user - decoding: Set by libavcodec

colorspace
AVColorSpace colorspace;

YUV colorspace type. - encoding: Set by user - decoding: Set by libavcodec

compression_level
int compression_level;

- encoding: Set by user. - decoding: unused

context_model
deprecated int context_model;

@deprecated use encoder private options instead

cutoff
int cutoff;

Audio cutoff bandwidth (0 means "automatic") - encoding: Set by user. - decoding: unused

dark_masking
float dark_masking;

darkness masking (0-> disabled) - encoding: Set by user. - decoding: unused

dct_algo
int dct_algo;

DCT algorithm, see FF_DCT_* below - encoding: Set by user. - decoding: unused

debug_mv
int debug_mv;

debug motion vectors Code outside libavcodec should access this field using AVOptions - encoding: Set by user. - decoding: Set by user.

debug_mv
int debug_mv;

debug Code outside libavcodec should access this field using AVOptions - encoding: Set by user. - decoding: Set by user.

delay
int delay;

Codec delay.

dia_size
int dia_size;

ME diamond size & shape - encoding: Set by user. - decoding: unused

draw_horiz_band
void function(AVCodecContext* s, const AVFrame* src, int[AV_NUM_DATA_POINTERS] offset, int y, int type, int height) draw_horiz_band;

If non NULL, 'draw_horiz_band' is called by the libavcodec decoder to draw a horizontal band. It improves cache usage. Not all codecs can do that. You must check the codec capabilities beforehand. When multithreading is used, it may be called from multiple threads at the same time; threads might draw different parts of the same AVFrame, or multiple AVFrames, and there is no guarantee that slices will be drawn in order. The function is also used by hardware acceleration APIs. It is called at least once during frame decoding to pass the data needed for hardware render. In that mode instead of pixel data, AVFrame points to a structure specific to the acceleration API. The application reads the structure and can change some fields to indicate progress or mark state. - encoding: unused - decoding: Set by user. @param height the height of the slice @param y the y position of the slice @param type 1->top field, 2->bottom field, 3->frame @param offset offset into the AVFrame.data from which the slice should be read

dtg_active_format
deprecated int dtg_active_format;

DTG active format information (additional aspect ratio information only used in DVB MPEG-2 transport streams) 0 if not set.

dump_separator
uint8_t* dump_separator;

dump format separator. can be ", " or "\n " or anything else Code outside libavcodec should access this field using AVOptions (NO direct access). - encoding: Set by user. - decoding: Set by user.

err_recognition
int err_recognition;

Error recognition; may misdetect some more or less valid parts as errors. - encoding: unused - decoding: Set by user.

error
uint64_t[AV_NUM_DATA_POINTERS] error;

error - encoding: Set by libavcodec if flags&CODEC_FLAG_PSNR. - decoding: unused

error_concealment
int error_concealment;

error concealment flags - encoding: unused - decoding: Set by user.

error_rate
deprecated int error_rate;

@deprecated use the 'error_rate' private AVOption of the mpegvideo encoders

execute
int function(AVCodecContext* c, int function(AVCodecContext* c2, void* arg) func, void* arg2, int* ret, int count, int size) execute;

The codec may call this to execute several independent 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 libavcodec, user can override. - decoding: Set by libavcodec, user can override.

execute2
int function(AVCodecContext* c, int function(AVCodecContext* c2, void* arg, int jobnr, int threadnr) func, void* arg2, int* ret, int count) execute2;

The codec may call this to execute several independent 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. Also see avcodec_thread_init and e.g. the --enable-pthread configure option. @param c context passed also to func @param count the number of things to execute @param arg2 argument passed unchanged to func @param ret return values of executed functions, must have space for "count" values. May be NULL. @param func function that will be called count times, with jobnr from 0 to count-1. threadnr will be in the range 0 to c->thread_count-1 < MAX_THREADS and so that no two instances of func executing at the same time will have the same threadnr. @return always 0 currently, but code should handle a future improvement where when any call to func returns < 0 no further calls to func may be done and < 0 is returned. - encoding: Set by libavcodec, user can override. - decoding: Set by libavcodec, user can override.

extradata
uint8_t* extradata;

some codecs need / can use extradata like Huffman tables. mjpeg: Huffman tables rv10: additional flags mpeg4: global headers (they can be in the bitstream or here) The allocated memory should be FF_INPUT_BUFFER_PADDING_SIZE bytes larger than extradata_size to avoid problems if it is read with the bitstream reader. The bytewise contents of extradata must not depend on the architecture or CPU endianness. - encoding: Set/allocated/freed by libavcodec. - decoding: Set/allocated/freed by user.

extradata_size
int extradata_size;
Undocumented in source.
field_order
AVFieldOrder field_order;

Field order - encoding: set by libavcodec - decoding: Set by user.

flags
int flags;

CODEC_FLAG_*. - encoding: Set by user. - decoding: Set by user.

flags2
int flags2;

CODEC_FLAG2_* - encoding: Set by user. - decoding: Set by user.

frame_bits
deprecated int frame_bits;

@deprecated this field is unused

frame_number
int frame_number;

Frame counter, set by libavcodec.

frame_size
int frame_size;

Number of samples per channel in an audio frame.

frame_skip_cmp
deprecated int frame_skip_cmp;

@deprecated use encoder private options instead

frame_skip_exp
deprecated int frame_skip_exp;

@deprecated use encoder private options instead

frame_skip_factor
deprecated int frame_skip_factor;

@deprecated use encoder private options instead

frame_skip_threshold
deprecated int frame_skip_threshold;

@deprecated use encoder private options instead

framerate
AVRational framerate;

- decoding: For codecs that store a framerate value in the compressed bitstream, the decoder may export it here. { 0, 1} when unknown. - encoding: May be used to signal the framerate of CFR content to an encoder.

get_buffer2
int function(AVCodecContext* s, AVFrame* frame, int flags) get_buffer2;

This callback is called at the beginning of each frame to get data buffer(s) for it. There may be one contiguous buffer for all the data or there may be a buffer per each data plane or anything in between. What this means is, you may set however many entries in buf[] you feel necessary. Each buffer must be reference-counted using the AVBuffer API (see description of buf[] below).

get_format
AVPixelFormat function(AVCodecContext* s, const AVPixelFormat* fmt) get_format;

callback to negotiate the pixelFormat @param fmt is the list of formats which are supported by the codec, it is terminated by -1 as 0 is a valid format, the formats are ordered by quality. The first is always the native one. @note The callback may be called again immediately if initialization for the selected (hardware-accelerated) pixel format failed. @warning Behavior is undefined if the callback returns a value not in the fmt list of formats. @return the chosen format - encoding: unused - decoding: Set by user, if not set the native format will be chosen.

global_quality
int global_quality;

Global quality for codecs which cannot change it per frame. This should be proportional to MPEG-1/2/4 qscale. - encoding: Set by user. - decoding: unused

gop_size
int gop_size;

the number of pictures in a group of pictures, or 0 for intra_only - encoding: Set by user. - decoding: unused

has_b_frames
int has_b_frames;

Size of the frame reordering buffer in the decoder. For MPEG-2 it is 1 IPB or 0 low delay IP. - encoding: Set by libavcodec. - decoding: Set by libavcodec.

header_bits
deprecated int header_bits;
Undocumented in source.
height
int height;

picture width / height.

hwaccel
AVHWAccel* hwaccel;

Hardware accelerator in use - encoding: unused. - decoding: Set by libavcodec

hwaccel_context
void* hwaccel_context;

Hardware accelerator context. For some hardware accelerators, a global context needs to be provided by the user. In that case, this holds display-dependent data FFmpeg cannot instantiate itself. Please refer to the FFmpeg HW accelerator documentation to know how to fill this is. e.g. for VA API, this is a struct vaapi_context. - encoding: unused - decoding: Set by user

i_count
deprecated int i_count;
Undocumented in source.
i_quant_factor
float i_quant_factor;

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

i_quant_offset
float i_quant_offset;

qscale offset between P and I-frames - encoding: Set by user. - decoding: unused

i_tex_bits
deprecated int i_tex_bits;
Undocumented in source.
idct_algo
int idct_algo;

IDCT algorithm, see FF_IDCT_* below. - encoding: Set by user. - decoding: Set by user.

ildct_cmp
int ildct_cmp;

interlaced DCT comparison function - encoding: Set by user. - decoding: unused

initial_padding
int initial_padding;

Audio only. The number of "priming" samples (padding) inserted by the encoder at the beginning of the audio. I.e. this number of leading decoded samples must be discarded by the caller to get the original audio without leading padding.

inter_matrix
uint16_t* inter_matrix;

custom inter quantization matrix - encoding: Set by user, can be NULL. - decoding: Set by libavcodec.

inter_quant_bias
deprecated int inter_quant_bias;

@deprecated use encoder private option instead

internal
AVCodecInternal* internal;

Private context used for internal data.

intra_dc_precision
int intra_dc_precision;

precision of the intra DC coefficient - 8 - encoding: Set by user. - decoding: unused

intra_matrix
uint16_t* intra_matrix;

custom intra quantization matrix - encoding: Set by user, can be NULL. - decoding: Set by libavcodec.

intra_quant_bias
deprecated int intra_quant_bias;

@deprecated use encoder private option instead

keyint_min
int keyint_min;

minimum GOP size - encoding: Set by user. - decoding: unused

last_predictor_count
int last_predictor_count;

amount of previous MV predictors (2a+1 x 2a+1 square) - encoding: Set by user. - decoding: unused

level
int level;

level - encoding: Set by user. - decoding: Set by libavcodec.

lmax
deprecated int lmax;

@deprecated use encoder private options instead

lmin
deprecated int lmin;

@deprecated use encoder private options instead

log_level_offset
int log_level_offset;
Undocumented in source.
lowres
int lowres;

low resolution decoding, 1-> 1/2 size, 2->1/4 size - encoding: unused - decoding: Set by user. Code outside libavcodec should access this field using: av_codec_{get,set}lowres(avctx)

lowres
int lowres;

low resolution decoding, 1-> 1/2 size, 2->1/4 size - encoding: unused - decoding: Set by user. Code outside libavcodec should access this field using: av_codec_{get,set}lowres(avctx)

lumi_masking
float lumi_masking;

luminance masking (0-> disabled) - encoding: Set by user. - decoding: unused

max_b_frames
int max_b_frames;

maximum number of B-frames between non-B-frames Note: The output will be delayed by max_b_frames+1 relative to the input. - encoding: Set by user. - decoding: unused

max_prediction_order
deprecated int max_prediction_order;

@deprecated use encoder private options instead

max_qdiff
int max_qdiff;

maximum quantizer difference between frames - encoding: Set by user. - decoding: unused

mb_cmp
int mb_cmp;

macroblock comparison function (not supported yet) - encoding: Set by user. - decoding: unused

mb_decision
int mb_decision;

macroblock decision mode - encoding: Set by user. - decoding: unused

mb_lmax
int mb_lmax;

maximum MB lagrange multipler - encoding: Set by user. - decoding: unused

mb_lmin
int mb_lmin;

minimum MB lagrange multipler - encoding: Set by user. - decoding: unused

mb_threshold
deprecated int mb_threshold;

@deprecated this field is unused

me_cmp
int me_cmp;

motion estimation comparison function - encoding: Set by user. - decoding: unused

me_method
deprecated int me_method;

This option does nothing @deprecated use codec private options instead

me_penalty_compensation
deprecated int me_penalty_compensation;

@deprecated use encoder private options instead

me_pre_cmp
int me_pre_cmp;

motion estimation prepass comparison function - encoding: Set by user. - decoding: unused

me_range
int me_range;

maximum motion estimation search range in subpel units If 0 then no limit.

me_sub_cmp
int me_sub_cmp;

subpixel motion estimation comparison function - encoding: Set by user. - decoding: unused

me_subpel_quality
int me_subpel_quality;

subpel ME quality - encoding: Set by user. - decoding: unused

me_threshold
deprecated int me_threshold;

@deprecated this field is unused

min_prediction_order
deprecated int min_prediction_order;

@deprecated use encoder private options instead

misc_bits
deprecated int misc_bits;
Undocumented in source.
mpeg_quant
deprecated int mpeg_quant;

@deprecated use encoder private options instead

mv0_threshold
int mv0_threshold;

Note: Value depends upon the compare function used for fullpel ME. - encoding: Set by user. - decoding: unused

mv_bits
deprecated int mv_bits;
Undocumented in source.
nb_coded_side_data
int nb_coded_side_data;
Undocumented in source.
noise_reduction
deprecated int noise_reduction;

@deprecated use encoder private options instead

nsse_weight
int nsse_weight;

noise vs. sse weight for the nsse comparison function - encoding: Set by user. - decoding: unused

opaque
void* opaque;

Private data of the user, can be used to carry app specific stuff. - encoding: Set by user. - decoding: Set by user.

p_count
deprecated int p_count;
Undocumented in source.
p_masking
float p_masking;

p block masking (0-> disabled) - encoding: Set by user. - decoding: unused

p_tex_bits
deprecated int p_tex_bits;
Undocumented in source.
pix_fmt
AVPixelFormat pix_fmt;

Pixel format, see AV_PIX_FMT_xxx. May be set by the demuxer if known from headers. May be overridden by the decoder if it knows better.

pkt_timebase
AVRational pkt_timebase;

Timebase in which pkt_dts/pts and AVPacket.dts/pts are. Code outside libavcodec should access this field using: av_codec_{get,set}pkt_timebase(avctx) - encoding unused. - decoding set by user.

pre_dia_size
int pre_dia_size;

ME prepass diamond size & shape - encoding: Set by user. - decoding: unused

pre_me
deprecated int pre_me;

@deprecated use encoder private options instead

prediction_method
deprecated int prediction_method;

@deprecated use encoder private options instead

priv_data
void* priv_data;
Undocumented in source.
profile
int profile;

profile - encoding: Set by user. - decoding: Set by libavcodec.

properties
uint properties;
Undocumented in source.
pts_correction_last_dts
int64_t pts_correction_last_dts;

DTS of the last frame

pts_correction_last_pts
int64_t pts_correction_last_pts;

PTS of the last frame

pts_correction_num_faulty_dts
int64_t pts_correction_num_faulty_dts;

Number of incorrect DTS values so far

pts_correction_num_faulty_pts
int64_t pts_correction_num_faulty_pts;

* Current statistics for PTS correction. * - decoding: maintained and used by libavcodec, not intended to be used by user apps * - encoding: unused *//// Number of incorrect PTS values so fa

qblur
float qblur;

< amount of qscale smoothing over time (0.0-1.0)

qcompress
float qcompress;

< amount of qscale change between easy & hard scenes (0.0-1.0)

qmax
int qmax;

maximum quantizer - encoding: Set by user. - decoding: unused

qmin
int qmin;

minimum quantizer - encoding: Set by user. - decoding: unused

rc_buffer_aggressivity
deprecated float rc_buffer_aggressivity;

@deprecated use encoder private options instead

rc_buffer_size
int rc_buffer_size;

decoder bitstream buffer size - encoding: Set by user. - decoding: unused

rc_eq
deprecated char* rc_eq;

@deprecated use encoder private options instead

rc_initial_buffer_occupancy
int rc_initial_buffer_occupancy;

Number of bits which should be loaded into the rc buffer before decoding starts. - encoding: Set by user. - decoding: unused

rc_initial_cplx
deprecated float rc_initial_cplx;
Undocumented in source.
rc_max_available_vbv_use
float rc_max_available_vbv_use;

Ratecontrol attempt to use, at maximum, <value> of what can be used without an underflow. - encoding: Set by user. - decoding: unused.

rc_max_rate
int rc_max_rate;

maximum bitrate - encoding: Set by user. - decoding: Set by libavcodec.

rc_min_rate
int rc_min_rate;

minimum bitrate - encoding: Set by user. - decoding: unused

rc_min_vbv_overflow_use
float rc_min_vbv_overflow_use;

Ratecontrol attempt to use, at least, <value> times the amount needed to prevent a vbv overflow. - encoding: Set by user. - decoding: unused.

rc_override
RcOverride* rc_override;
Undocumented in source.
rc_override_count
int rc_override_count;

ratecontrol override, see RcOverride - encoding: Allocated/set/freed by user. - decoding: unused

rc_qmod_amp
deprecated float rc_qmod_amp;
Undocumented in source.
rc_qmod_freq
deprecated int rc_qmod_freq;
Undocumented in source.
rc_qsquish
deprecated float rc_qsquish;

@deprecated use encoder private options instead

rc_strategy
deprecated int rc_strategy;

@deprecated use codec private option instead

refcounted_frames
int refcounted_frames;

If non-zero, the decoded audio and video frames returned from avcodec_decode_video2() and avcodec_decode_audio4() are reference-counted and are valid indefinitely. The caller must free them with av_frame_unref() when they are not needed anymore. Otherwise, the decoded frames must not be freed by the caller and are only valid until the next decode call.

refs
int refs;

number of reference frames - encoding: Set by user. - decoding: Set by lavc.

reordered_opaque
int64_t reordered_opaque;

opaque 64bit number (generally a PTS) that will be reordered and output in AVFrame.reordered_opaque - encoding: unused - decoding: Set by user.

request_channel_layout
uint64_t request_channel_layout;

Request decoder to use this channel layout if it can (0 for default) - encoding: unused - decoding: Set by user.

request_sample_fmt
AVSampleFormat request_sample_fmt;

desired sample format - encoding: Not used. - decoding: Set by user. Decoder will decode to this format if it can.

rtp_callback
deprecated void function(AVCodecContext* avctx, void* data, int size, int mb_nb) rtp_callback;

@deprecated unused

rtp_payload_size
deprecated int rtp_payload_size;

@deprecated use encoder private options instead

sample_aspect_ratio
AVRational sample_aspect_ratio;

sample aspect ratio (0 if unknown) That is the width of a pixel divided by the height of the pixel. Numerator and denominator must be relatively prime and smaller than 256 for some video standards. - encoding: Set by user. - decoding: Set by libavcodec.

sample_fmt
AVSampleFormat sample_fmt;

* audio sample format * - encoding: Set by user. * - decoding: Set by libavcodec. *////< sample forma

sample_rate
int sample_rate;

< samples per second

scenechange_factor
deprecated int scenechange_factor;

Multiplied by qscale for each frame and added to scene_change_score. - encoding: Set by user. - decoding: unused

scenechange_threshold
deprecated int scenechange_threshold;

@deprecated use encoder private options instead

seek_preroll
int seek_preroll;

Number of samples to skip after a discontinuity - decoding: unused - encoding: set by libavcodec

side_data_only_packets
deprecated int side_data_only_packets;

Encoding only. Allow encoders to output packets that do not contain any encoded data, only side data.

skip_alpha
int skip_alpha;

Skip processing alpha if supported by codec. Note that if the format uses pre-multiplied alpha (common with VP6, and recommended due to better video quality/compression) the image will look as if alpha-blended onto a black background. However for formats that do not use pre-multiplied alpha there might be serious artefacts (though e.g. libswscale currently assumes pre-multiplied alpha anyway). Code outside libavcodec should access this field using AVOptions

skip_bottom
int skip_bottom;

Number of macroblock rows at the bottom which are skipped. - encoding: unused - decoding: Set by user.

skip_count
deprecated int skip_count;
Undocumented in source.
skip_frame
AVDiscard skip_frame;

Skip decoding for selected frames. - encoding: unused - decoding: Set by user.

skip_idct
AVDiscard skip_idct;

Skip IDCT/dequantization for selected frames. - encoding: unused - decoding: Set by user.

skip_loop_filter
AVDiscard skip_loop_filter;

Skip loop filtering for selected frames. - encoding: unused - decoding: Set by user.

skip_top
int skip_top;

Number of macroblock rows at the top which are skipped. - encoding: unused - decoding: Set by user.

slice_count
int slice_count;

slice count - encoding: Set by libavcodec. - decoding: Set by user (or 0).

slice_flags
int slice_flags;

slice flags - encoding: unused - decoding: Set by user.

slice_offset
int* slice_offset;

slice offsets in the frame in bytes - encoding: Set/allocated by libavcodec. - decoding: Set/allocated by user (or NULL).

slices
int slices;

Number of slices. Indicates number of picture subdivisions. Used for parallelized decoding. - encoding: Set by user - decoding: unused

spatial_cplx_masking
float spatial_cplx_masking;

spatial complexity masking (0-> disabled) - encoding: Set by user. - decoding: unused

stats_in
char* stats_in;

pass2 encoding statistics input buffer Concatenated stuff from stats_out of pass1 should be placed here. - encoding: Allocated/set/freed by user. - decoding: unused

stats_out
char* stats_out;

pass1 encoding statistics output buffer - encoding: Set by libavcodec. - decoding: unused

stream_codec_tag
deprecated uint stream_codec_tag;

@deprecated this field is unused

strict_std_compliance
int strict_std_compliance;

strictly follow the standard (MPEG4, ...). - encoding: Set by user. - decoding: Set by user. Setting this to STRICT or higher means the encoder and decoder will generally do stupid things, whereas setting it to unofficial or lower will mean the encoder might produce output that is not supported by all spec-compliant decoders. Decoders don't differentiate between normal, unofficial and experimental (that is, they always try to decode things when they can) unless they are explicitly asked to behave stupidly (=strictly conform to the specs)

sub_charenc
char* sub_charenc;

Character encoding of the input subtitles file. - decoding: set by user - encoding: unused

sub_charenc_mode
int sub_charenc_mode;

Subtitles character encoding mode. Formats or codecs might be adjusting this setting (if they are doing the conversion themselves for instance). - decoding: set by libavcodec - encoding: unused

subtitle_header
uint8_t* subtitle_header;

Header containing style information for text subtitles. For SUBTITLE_ASS subtitle type, it should contain the whole ASS [Script Info] and [V4+ Styles] section, plus the Events line and the Format line following. It shouldn't include any Dialogue line. - encoding: Set/allocated/freed by user (before avcodec_open2()) - decoding: Set/allocated/freed by libavcodec (by avcodec_open2())

subtitle_header_size
int subtitle_header_size;
Undocumented in source.
sw_pix_fmt
AVPixelFormat sw_pix_fmt;

Nominal unaccelerated pixel format, see AV_PIX_FMT_xxx. - encoding: unused. - decoding: Set by libavcodec before calling get_format()

temporal_cplx_masking
float temporal_cplx_masking;

temporary complexity masking (0-> disabled) - encoding: Set by user. - decoding: unused

thread_count
int thread_count;

thread count is used to decide how many independent tasks should be passed to execute() - encoding: Set by user. - decoding: Set by user.

thread_safe_callbacks
int thread_safe_callbacks;

Set by the client if its custom get_buffer() callback can be called synchronously from another thread, which allows faster multithreaded decoding. draw_horiz_band() will be called from other threads regardless of this setting. Ignored if the default get_buffer() is used. - encoding: Set by user. - decoding: Set by user.

thread_type
int thread_type;

Which multithreading methods to use. Use of FF_THREAD_FRAME will increase decoding delay by one frame per thread, so clients which cannot provide future frames should not use it.

ticks_per_frame
int ticks_per_frame;

For some codecs, the time base is closer to the field rate than the frame rate. Most notably, H.264 and MPEG-2 specify time_base as half of frame duration if no telecine is used ...

time_base
AVRational time_base;

This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented. For fixed-fps content, timebase should be 1/framerate and timestamp increments should be identically 1. This often, but not always is the inverse of the frame rate or field rate for video. - encoding: MUST be set by user. - decoding: the use of this field for decoding is deprecated. Use framerate instead.

timecode_frame_start
deprecated int64_t timecode_frame_start;

@deprecated use encoder private options instead

trellis
int trellis;

trellis RD quantization - encoding: Set by user. - decoding: unused

vbv_delay
deprecated uint64_t vbv_delay;

VBV delay coded in the last frame (in periods of a 27 MHz clock). Used for compliant TS muxing. - encoding: Set by libavcodec. - decoding: unused.

width
int width;

picture width / height.

workaround_bugs
int workaround_bugs;

Work around bugs in encoders which sometimes cannot be detected automatically. - encoding: Set by user - decoding: Set by user

xvmc_acceleration
deprecated int xvmc_acceleration;

XVideo Motion Acceleration - encoding: forbidden - decoding: set by decoder @deprecated XvMC doesn't need it anymore.

Meta