FFmpeg
Public Types | Data Fields
MpegEncContext Struct Reference

MpegEncContext. More...

#include <mpegvideo.h>

Public Types

enum  {
  MSMP4_UNUSED, MSMP4_V1, MSMP4_V2, MSMP4_V3,
  MSMP4_WMV1, MSMP4_WMV2, MSMP4_VC1
}
 

Data Fields

AVClassclass
 
int y_dc_scale
 
int c_dc_scale
 
int ac_pred
 
int block_last_index [12]
 last non zero coefficient in block More...
 
int h263_aic
 Advanced INTRA Coding (AIC) More...
 
ScanTable inter_scantable
 if inter == intra then intra should be used to reduce the cache usage More...
 
ScanTable intra_scantable
 
uint8_t permutated_intra_h_scantable [64]
 
uint8_t permutated_intra_v_scantable [64]
 
struct AVCodecContextavctx
 
void * private_ctx
 
int width
 
int height
 picture size. must be a multiple of 16 More...
 
int gop_size
 
int intra_only
 if true, only intra pictures are generated More...
 
int64_t bit_rate
 wanted bit rate More...
 
enum OutputFormat out_format
 output format More...
 
int h263_pred
 use MPEG-4/H.263 ac/dc predictions More...
 
int pb_frame
 PB-frame mode (0 = none, 1 = base, 2 = improved) More...
 
int h263_plus
 H.263+ headers. More...
 
int h263_flv
 use flv H.263 header More...
 
enum AVCodecID codec_id
 
int fixed_qscale
 fixed qscale if non zero More...
 
int encoding
 true if we are encoding (vs decoding) More...
 
int max_b_frames
 max number of B-frames for encoding More...
 
int luma_elim_threshold
 
int chroma_elim_threshold
 
int workaround_bugs
 workaround bugs in encoders which cannot be detected automatically More...
 
int codec_tag
 internal codec_tag upper case converted from avctx codec_tag More...
 
int context_initialized
 
int input_picture_number
 used to set pic->display_picture_number, should not be used for/by anything else More...
 
int coded_picture_number
 used to set pic->coded_picture_number, should not be used for/by anything else More...
 
int picture_number
 
int picture_in_gop_number
 0-> first pic in gop, ... More...
 
int mb_width
 
int mb_height
 number of MBs horizontally & vertically More...
 
int mb_stride
 mb_width+1 used for some arrays to allow simple addressing of left & top MBs without sig11 More...
 
int b8_stride
 2*mb_width+1 used for some 8x8 block arrays to allow simple addressing More...
 
int h_edge_pos
 
int v_edge_pos
 horizontal / vertical position of the right/bottom edge (pixel replication) More...
 
int mb_num
 number of MBs of a picture More...
 
ptrdiff_t linesize
 line size, in bytes, may be different from width More...
 
ptrdiff_t uvlinesize
 line size, for chroma in bytes, may be different from width More...
 
struct FFRefStructPoolpicture_pool
 Pool for MPVPictures. More...
 
MPVPicture ** input_picture
 next pictures on display order for encoding More...
 
MPVPicture ** reordered_input_picture
 pointer to the next pictures in coded order for encoding More...
 
BufferPoolContext buffer_pools
 
int64_t user_specified_pts
 last non-zero pts from AVFrame which was passed into avcodec_send_frame() More...
 
int64_t dts_delta
 pts difference between the first and second input frame, used for calculating dts of the first frame when there's a delay More...
 
int64_t reordered_pts
 reordered pts to be used as dts for the next output frame when there's a delay More...
 
PutBitContext pb
 bit output More...
 
int start_mb_y
 start mb_y of this thread (so current thread should process start_mb_y <= row < end_mb_y) More...
 
int end_mb_y
 end mb_y of this thread (so current thread should process start_mb_y <= row < end_mb_y) More...
 
struct MpegEncContextthread_context [MAX_THREADS]
 
int slice_context_count
 number of used thread_contexts More...
 
MPVWorkPicture last_pic
 copy of the previous picture structure. More...
 
MPVWorkPicture next_pic
 copy of the next picture structure. More...
 
AVFramenew_pic
 Reference to the source picture for encoding. More...
 
MPVWorkPicture cur_pic
 copy of the current picture structure. More...
 
int skipped_last_frame
 
int last_dc [3]
 last DC values for MPEG-1 More...
 
int16_t * dc_val_base
 
int16_t * dc_val [3]
 used for MPEG-4 DC prediction, all 3 arrays must be continuous More...
 
const uint8_t * y_dc_scale_table
 qscale -> y_dc_scale table More...
 
const uint8_t * c_dc_scale_table
 qscale -> c_dc_scale table More...
 
const uint8_t * chroma_qscale_table
 qscale -> chroma_qscale (H.263) More...
 
uint8_t * coded_block_base
 
uint8_t * coded_block
 used for coded block pattern prediction (msmpeg4v3, wmv1) More...
 
int16_t(* ac_val_base )[16]
 
int16_t(*[3] ac_val )[16]
 used for MPEG-4 AC prediction, all 3 arrays must be continuous More...
 
int mb_skipped
 MUST BE SET only during DECODING. More...
 
uint8_t * mbskip_table
 used to avoid copy if macroblock skipped (for black regions for example) and used for B-frame encoding & decoding (contains skip table of next P-frame) More...
 
uint8_t * mbintra_table
 used to avoid setting {ac, dc, cbp}-pred stuff to zero on inter MB decoding More...
 
uint8_t * cbp_table
 used to store cbp, ac_pred for partitioned decoding More...
 
uint8_t * pred_dir_table
 used to store pred_dir for partitioned decoding More...
 
ScratchpadContext sc
 
int qscale
 QP. More...
 
int chroma_qscale
 chroma QP More...
 
unsigned int lambda
 Lagrange multiplier used in rate distortion. More...
 
unsigned int lambda2
 (lambda*lambda) >> FF_LAMBDA_SHIFT More...
 
int * lambda_table
 
int adaptive_quant
 use adaptive quantization More...
 
int dquant
 qscale difference to prev qscale More...
 
int pict_type
 AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, ... More...
 
int vbv_delay
 
int last_pict_type
 
int last_non_b_pict_type
 used for MPEG-4 gmc B-frames & ratecontrol More...
 
int droppable
 
int last_lambda_for [5]
 last lambda for a specific pict type More...
 
int skipdct
 skip dct and code zero residual More...
 
int unrestricted_mv
 mv can point outside of the coded picture More...
 
int h263_long_vectors
 use horrible H.263v1 long vector mode More...
 
BlockDSPContext bdsp
 
FDCTDSPContext fdsp
 
H264ChromaContext h264chroma
 
HpelDSPContext hdsp
 
IDCTDSPContext idsp
 
MpegvideoEncDSPContext mpvencdsp
 
PixblockDSPContext pdsp
 
QpelDSPContext qdsp
 
VideoDSPContext vdsp
 
H263DSPContext h263dsp
 
int f_code
 forward MV resolution More...
 
int b_code
 backward MV resolution for B-frames (MPEG-4) More...
 
int16_t(* p_mv_table_base )[2]
 
int16_t(* b_forw_mv_table_base )[2]
 
int16_t(* b_back_mv_table_base )[2]
 
int16_t(* b_bidir_forw_mv_table_base )[2]
 
int16_t(* b_bidir_back_mv_table_base )[2]
 
int16_t(* b_direct_mv_table_base )[2]
 
int16_t(* p_field_mv_table_base )[2]
 
int16_t(* b_field_mv_table_base )[2]
 
int16_t(* p_mv_table )[2]
 MV table (1MV per MB) P-frame encoding. More...
 
int16_t(* b_forw_mv_table )[2]
 MV table (1MV per MB) forward mode B-frame encoding. More...
 
int16_t(* b_back_mv_table )[2]
 MV table (1MV per MB) backward mode B-frame encoding. More...
 
int16_t(* b_bidir_forw_mv_table )[2]
 MV table (1MV per MB) bidir mode B-frame encoding. More...
 
int16_t(* b_bidir_back_mv_table )[2]
 MV table (1MV per MB) bidir mode B-frame encoding. More...
 
int16_t(* b_direct_mv_table )[2]
 MV table (1MV per MB) direct mode B-frame encoding. More...
 
int16_t(*[2][2] p_field_mv_table )[2]
 MV table (2MV per MB) interlaced P-frame encoding. More...
 
int16_t(*[2][2][2] b_field_mv_table )[2]
 MV table (4MV per MB) interlaced B-frame encoding. More...
 
uint8_t *[2] p_field_select_table
 Only the first element is allocated. More...
 
uint8_t *[2][2] b_field_select_table
 Only the first element is allocated. More...
 
uint16_t * mb_var
 Table for MB variances. More...
 
uint16_t * mc_mb_var
 Table for motion compensated MB variances. More...
 
uint8_t * mb_mean
 Table for MB luminance. More...
 
int64_t mb_var_sum
 sum of MB variance for current frame More...
 
int64_t mc_mb_var_sum
 motion compensated MB variance for current frame More...
 
uint64_t encoding_error [MPV_MAX_PLANES]
 
int motion_est
 ME algorithm. More...
 
int me_penalty_compensation
 
int me_pre
 prepass for motion estimation More...
 
int mv_dir
 
int mv_type
 
int mv [2][4][2]
 motion vectors for a macroblock first coordinate : 0 = forward 1 = backward second " : depend on type third " : 0 = x, 1 = y More...
 
int field_select [2][2]
 
int last_mv [2][2][2]
 last MV, used for MV prediction in MPEG-1 & B-frame MPEG-4 More...
 
const uint8_t * fcode_tab
 smallest fcode needed for each MV More...
 
int16_t direct_scale_mv [2][64]
 precomputed to avoid divisions in ff_mpeg4_set_direct_mv More...
 
MotionEstContext me
 
int no_rounding
 apply no rounding to motion compensation (MPEG-4, msmpeg4, ...) for B-frames rounding mode is always 0 More...
 
int mb_x
 
int mb_y
 
int mb_skip_run
 
int mb_intra
 
uint16_t * mb_type
 Table for candidate MB types for encoding (defines in mpegvideoenc.h) More...
 
int block_index [6]
 index to current MB in block based arrays with edges More...
 
int block_wrap [6]
 
uint8_t * dest [3]
 
int * mb_index2xy
 mb_index -> mb_x + mb_y*mb_stride More...
 
uint16_t intra_matrix [64]
 matrix transmitted in the bitstream More...
 
uint16_t chroma_intra_matrix [64]
 
uint16_t inter_matrix [64]
 
uint16_t chroma_inter_matrix [64]
 
int intra_quant_bias
 bias for the quantizer More...
 
int inter_quant_bias
 bias for the quantizer More...
 
int min_qcoeff
 minimum encodable coefficient More...
 
int max_qcoeff
 maximum encodable coefficient More...
 
int ac_esc_length
 num of bits needed to encode the longest esc More...
 
uint8_t * intra_ac_vlc_length
 
uint8_t * intra_ac_vlc_last_length
 
uint8_t * intra_chroma_ac_vlc_length
 
uint8_t * intra_chroma_ac_vlc_last_length
 
uint8_t * inter_ac_vlc_length
 
uint8_t * inter_ac_vlc_last_length
 
uint8_t * luma_dc_vlc_length
 
int coded_score [12]
 
int(* q_intra_matrix )[64]
 precomputed matrix (combine qscale and DCT renorm) More...
 
int(* q_chroma_intra_matrix )[64]
 
int(* q_inter_matrix )[64]
 
uint16_t(* q_intra_matrix16 )[2][64]
 identical to the above but for MMX & these are not permutated, second 64 entries are bias More...
 
uint16_t(* q_chroma_intra_matrix16 )[2][64]
 
uint16_t(* q_inter_matrix16 )[2][64]
 
int(* dct_error_sum )[64]
 
int dct_count [2]
 
uint16_t(* dct_offset )[64]
 
int64_t total_bits
 
int frame_bits
 bits used for the current frame More...
 
int stuffing_bits
 bits used for stuffing More...
 
int next_lambda
 next lambda used for retrying to encode a frame More...
 
RateControlContext rc_context
 contains stuff only accessed in ratecontrol.c More...
 
int mv_bits
 
int header_bits
 
int i_tex_bits
 
int p_tex_bits
 
int i_count
 
int misc_bits
 cbp, mb_type More...
 
int last_bits
 temp var used for calculating the above vars More...
 
int resync_mb_x
 x position of last resync marker More...
 
int resync_mb_y
 y position of last resync marker More...
 
GetBitContext last_resync_gb
 used to search for the next resync marker More...
 
int mb_num_left
 number of MBs left in this video packet (for partitioned Slices only) More...
 
int gob_index
 
int obmc
 overlapped block motion compensation More...
 
int mb_info
 interval for outputting info about mb offsets as side data More...
 
int prev_mb_info
 
int last_mb_info
 
uint8_t * mb_info_ptr
 
int mb_info_size
 
int ehc_mode
 
int umvplus
 == H.263+ && unrestricted_mv More...
 
int h263_aic_dir
 AIC direction: 0 = left, 1 = top. More...
 
int h263_slice_structured
 
int alt_inter_vlc
 alternative inter vlc More...
 
int modified_quant
 
int loop_filter
 
int custom_pcf
 
int studio_profile
 
int dct_precision
 number of bits to represent the fractional part of time (encoder only) More...
 
int time_increment_bits
 
int last_time_base
 
int time_base
 time in seconds of last I,P,S Frame More...
 
int64_t time
 time of current frame More...
 
int64_t last_non_b_time
 
uint16_t pp_time
 time distance between the last 2 p,s,i frames More...
 
uint16_t pb_time
 time distance between the last b and p,s,i frame More...
 
uint16_t pp_field_time
 
uint16_t pb_field_time
 like above, just for interlaced More...
 
int mcsel
 
int quarter_sample
 1->qpel, 0->half pel ME/MC More...
 
int data_partitioning
 data partitioning flag from header More...
 
int partitioned_frame
 is current frame partitioned More...
 
int low_delay
 no reordering needed / has no B-frames More...
 
PutBitContext tex_pb
 used for data partitioned VOPs More...
 
PutBitContext pb2
 used for data partitioned VOPs More...
 
int mpeg_quant
 
int padding_bug_score
 used to detect the VERY common padding bug in MPEG-4 More...
 
int divx_packed
 
uint8_t * bitstream_buffer
 
int bitstream_buffer_size
 
unsigned int allocated_bitstream_buffer_size
 
int rv10_version
 RV10 version: 0 or 3. More...
 
int rv10_first_dc_coded [3]
 
struct MJpegContextmjpeg_ctx
 
int esc_pos
 
int mv_table_index
 
int rl_table_index
 
int rl_chroma_table_index
 
int dc_table_index
 
int use_skip_mb_code
 
int slice_height
 in macroblocks More...
 
int first_slice_line
 used in MPEG-4 too to handle resync markers More...
 
int flipflop_rounding
 
enum MpegEncContext:: { ... }  msmpeg4_version
 
int per_mb_rl_table
 
int esc3_level_length
 
int esc3_run_length
 
int inter_intra_pred
 
int mspel
 
GetBitContext gb
 
int last_mv_dir
 last mv_dir, used for B-frame encoding More...
 
int vbv_delay_pos
 offset of vbv_delay in the bitstream More...
 
int progressive_sequence
 
int mpeg_f_code [2][2]
 
int picture_structure
 
int intra_dc_precision
 
int frame_pred_frame_dct
 
int top_field_first
 
int concealment_motion_vectors
 
int q_scale_type
 
int brd_scale
 
int intra_vlc_format
 
int alternate_scan
 
int repeat_first_field
 
int chroma_420_type
 
int chroma_format
 
int chroma_x_shift
 
int chroma_y_shift
 
int progressive_frame
 
int full_pel [2]
 
int interlaced_dct
 
int first_field
 is 1 for the first field of a field picture 0 otherwise More...
 
int rtp_mode
 
int rtp_payload_size
 
uint8_t * ptr_lastgob
 
int16_t(* block )[64]
 points to one of the following blocks More...
 
int16_t(* blocks )[12][64]
 
int(* decode_mb )(struct MpegEncContext *s, int16_t block[12][64])
 
void(* dct_unquantize_mpeg1_intra )(struct MpegEncContext *s, int16_t *block, int n, int qscale)
 
void(* dct_unquantize_mpeg1_inter )(struct MpegEncContext *s, int16_t *block, int n, int qscale)
 
void(* dct_unquantize_mpeg2_intra )(struct MpegEncContext *s, int16_t *block, int n, int qscale)
 
void(* dct_unquantize_mpeg2_inter )(struct MpegEncContext *s, int16_t *block, int n, int qscale)
 
void(* dct_unquantize_h263_intra )(struct MpegEncContext *s, int16_t *block, int n, int qscale)
 
void(* dct_unquantize_h263_inter )(struct MpegEncContext *s, int16_t *block, int n, int qscale)
 
void(* dct_unquantize_intra )(struct MpegEncContext *s, int16_t *block, int n, int qscale)
 
void(* dct_unquantize_inter )(struct MpegEncContext *s, int16_t *block, int n, int qscale)
 
int(* dct_quantize )(struct MpegEncContext *s, int16_t *block, int n, int qscale, int *overflow)
 
void(* denoise_dct )(struct MpegEncContext *s, int16_t *block)
 
int mpv_flags
 flags set by private options More...
 
int quantizer_noise_shaping
 
me_cmp_func ildct_cmp [2]
 0 = intra, 1 = non-intra More...
 
me_cmp_func n_sse_cmp [2]
 either SSE or NSSE cmp func More...
 
me_cmp_func sad_cmp [2]
 
me_cmp_func sse_cmp [2]
 
int(* sum_abs_dctelem )(const int16_t *block)
 
float rc_qsquish
 ratecontrol qmin qmax limiting method 0-> clipping, 1-> use a nice continuous function to limit qscale within qmin/qmax. More...
 
float rc_qmod_amp
 
int rc_qmod_freq
 
float rc_initial_cplx
 
float rc_buffer_aggressivity
 
float border_masking
 
int lmin
 
int lmax
 
int vbv_ignore_qmax
 
char * rc_eq
 
floatcplx_tab
 
floatbits_tab
 
int context_reinit
 
ERContext er
 
int error_rate
 
AVFrametmp_frames [MAX_B_FRAMES+2]
 
int b_frame_strategy
 
int b_sensitivity
 
int frame_skip_threshold
 
int frame_skip_factor
 
int frame_skip_exp
 
int frame_skip_cmp
 
me_cmp_func frame_skip_cmp_fn
 
int scenechange_threshold
 
int noise_reduction
 
int intra_penalty
 

Detailed Description

MpegEncContext.

Definition at line 73 of file mpegvideo.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MSMP4_UNUSED 
MSMP4_V1 
MSMP4_V2 
MSMP4_V3 
MSMP4_WMV1 
MSMP4_WMV2 
MSMP4_VC1 

for VC1 (image), WMV3 (image) and MSS2.

Definition at line 419 of file mpegvideo.h.

Field Documentation

◆ class

AVClass* MpegEncContext::class

Definition at line 74 of file mpegvideo.h.

◆ y_dc_scale

int MpegEncContext::y_dc_scale

Definition at line 76 of file mpegvideo.h.

◆ c_dc_scale

int MpegEncContext::c_dc_scale

Definition at line 76 of file mpegvideo.h.

◆ ac_pred

int MpegEncContext::ac_pred

◆ block_last_index

int MpegEncContext::block_last_index[12]

last non zero coefficient in block

Definition at line 78 of file mpegvideo.h.

Referenced by copy_context_after_encode().

◆ h263_aic

int MpegEncContext::h263_aic

Advanced INTRA Coding (AIC)

Definition at line 79 of file mpegvideo.h.

◆ inter_scantable

ScanTable MpegEncContext::inter_scantable

if inter == intra then intra should be used to reduce the cache usage

Definition at line 82 of file mpegvideo.h.

◆ intra_scantable

ScanTable MpegEncContext::intra_scantable

Definition at line 87 of file mpegvideo.h.

Referenced by ipu_decode_frame().

◆ permutated_intra_h_scantable

uint8_t MpegEncContext::permutated_intra_h_scantable[64]

Definition at line 88 of file mpegvideo.h.

◆ permutated_intra_v_scantable

uint8_t MpegEncContext::permutated_intra_v_scantable[64]

Definition at line 89 of file mpegvideo.h.

◆ avctx

struct AVCodecContext* MpegEncContext::avctx

◆ private_ctx

void* MpegEncContext::private_ctx

Definition at line 94 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context().

◆ width

int MpegEncContext::width

Definition at line 96 of file mpegvideo.h.

Referenced by decode_chunks(), encode_frame(), and ff_mpeg_update_thread_context().

◆ height

int MpegEncContext::height

picture size. must be a multiple of 16

Definition at line 96 of file mpegvideo.h.

Referenced by decode_chunks(), encode_frame(), ff_mpeg_update_thread_context(), and ff_vc1_parse_frame_header_adv().

◆ gop_size

int MpegEncContext::gop_size

Definition at line 97 of file mpegvideo.h.

◆ intra_only

int MpegEncContext::intra_only

if true, only intra pictures are generated

Definition at line 98 of file mpegvideo.h.

◆ bit_rate

int64_t MpegEncContext::bit_rate

wanted bit rate

Definition at line 99 of file mpegvideo.h.

Referenced by encode_init().

◆ out_format

enum OutputFormat MpegEncContext::out_format

output format

Definition at line 100 of file mpegvideo.h.

Referenced by encode_frame(), and mpeg_decode_init().

◆ h263_pred

int MpegEncContext::h263_pred

use MPEG-4/H.263 ac/dc predictions

Definition at line 101 of file mpegvideo.h.

◆ pb_frame

int MpegEncContext::pb_frame

PB-frame mode (0 = none, 1 = base, 2 = improved)

Definition at line 102 of file mpegvideo.h.

◆ h263_plus

int MpegEncContext::h263_plus

H.263+ headers.

Definition at line 105 of file mpegvideo.h.

◆ h263_flv

int MpegEncContext::h263_flv

use flv H.263 header

Definition at line 106 of file mpegvideo.h.

◆ codec_id

enum AVCodecID MpegEncContext::codec_id

Definition at line 108 of file mpegvideo.h.

Referenced by decode_chunks().

◆ fixed_qscale

int MpegEncContext::fixed_qscale

fixed qscale if non zero

Definition at line 109 of file mpegvideo.h.

◆ encoding

int MpegEncContext::encoding

true if we are encoding (vs decoding)

Definition at line 110 of file mpegvideo.h.

◆ max_b_frames

int MpegEncContext::max_b_frames

max number of B-frames for encoding

Definition at line 111 of file mpegvideo.h.

Referenced by decode_sequence_header_adv(), ff_mpeg_update_thread_context(), ff_vc1_decode_sequence_header(), vdpau_vc1_start_frame(), and wmv9_init().

◆ luma_elim_threshold

int MpegEncContext::luma_elim_threshold

Definition at line 112 of file mpegvideo.h.

◆ chroma_elim_threshold

int MpegEncContext::chroma_elim_threshold

Definition at line 113 of file mpegvideo.h.

◆ workaround_bugs

int MpegEncContext::workaround_bugs

workaround bugs in encoders which cannot be detected automatically

Definition at line 114 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context().

◆ codec_tag

int MpegEncContext::codec_tag

internal codec_tag upper case converted from avctx codec_tag

Definition at line 115 of file mpegvideo.h.

Referenced by mpeg_decode_frame().

◆ context_initialized

int MpegEncContext::context_initialized

Definition at line 119 of file mpegvideo.h.

Referenced by decode_chunks(), ff_mpeg_update_thread_context(), and mpeg_decode_frame().

◆ input_picture_number

int MpegEncContext::input_picture_number

used to set pic->display_picture_number, should not be used for/by anything else

Definition at line 120 of file mpegvideo.h.

◆ coded_picture_number

int MpegEncContext::coded_picture_number

used to set pic->coded_picture_number, should not be used for/by anything else

Definition at line 121 of file mpegvideo.h.

◆ picture_number

int MpegEncContext::picture_number

Definition at line 122 of file mpegvideo.h.

Referenced by encode_frame(), and ff_mpeg_update_thread_context().

◆ picture_in_gop_number

int MpegEncContext::picture_in_gop_number

0-> first pic in gop, ...

Definition at line 123 of file mpegvideo.h.

◆ mb_width

int MpegEncContext::mb_width

Definition at line 124 of file mpegvideo.h.

Referenced by bitplane_decoding(), and encode_frame().

◆ mb_height

int MpegEncContext::mb_height

number of MBs horizontally & vertically

Definition at line 124 of file mpegvideo.h.

Referenced by bitplane_decoding(), decode_chunks(), encode_frame(), ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

◆ mb_stride

int MpegEncContext::mb_stride

mb_width+1 used for some arrays to allow simple addressing of left & top MBs without sig11

Definition at line 125 of file mpegvideo.h.

Referenced by bitplane_decoding(), decode_chunks(), encode_frame(), encode_q_branch(), ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

◆ b8_stride

int MpegEncContext::b8_stride

2*mb_width+1 used for some 8x8 block arrays to allow simple addressing

Definition at line 126 of file mpegvideo.h.

Referenced by encode_frame().

◆ h_edge_pos

int MpegEncContext::h_edge_pos

Definition at line 127 of file mpegvideo.h.

Referenced by chroma_4mv_motion_lowres(), hpel_motion_lowres(), and mpeg_motion_lowres().

◆ v_edge_pos

int MpegEncContext::v_edge_pos

horizontal / vertical position of the right/bottom edge (pixel replication)

Definition at line 127 of file mpegvideo.h.

Referenced by chroma_4mv_motion_lowres(), decode_chunks(), hpel_motion_lowres(), mpeg_motion_internal(), mpeg_motion_lowres(), and qpel_motion().

◆ mb_num

int MpegEncContext::mb_num

number of MBs of a picture

Definition at line 128 of file mpegvideo.h.

Referenced by encode_init().

◆ linesize

ptrdiff_t MpegEncContext::linesize

line size, in bytes, may be different from width

Definition at line 129 of file mpegvideo.h.

Referenced by encode_frame(), ff_mpeg_update_thread_context(), mpeg_motion_internal(), mpeg_motion_lowres(), and qpel_motion().

◆ uvlinesize

ptrdiff_t MpegEncContext::uvlinesize

line size, for chroma in bytes, may be different from width

Definition at line 130 of file mpegvideo.h.

Referenced by encode_frame(), ff_mpeg_update_thread_context(), mpeg_motion_internal(), mpeg_motion_lowres(), and qpel_motion().

◆ picture_pool

struct FFRefStructPool* MpegEncContext::picture_pool

Pool for MPVPictures.

Definition at line 131 of file mpegvideo.h.

Referenced by ff_mpv_decode_init().

◆ input_picture

MPVPicture** MpegEncContext::input_picture

next pictures on display order for encoding

Definition at line 132 of file mpegvideo.h.

◆ reordered_input_picture

MPVPicture** MpegEncContext::reordered_input_picture

pointer to the next pictures in coded order for encoding

Definition at line 133 of file mpegvideo.h.

◆ buffer_pools

BufferPoolContext MpegEncContext::buffer_pools

Definition at line 135 of file mpegvideo.h.

◆ user_specified_pts

int64_t MpegEncContext::user_specified_pts

last non-zero pts from AVFrame which was passed into avcodec_send_frame()

Definition at line 137 of file mpegvideo.h.

◆ dts_delta

int64_t MpegEncContext::dts_delta

pts difference between the first and second input frame, used for calculating dts of the first frame when there's a delay

Definition at line 141 of file mpegvideo.h.

◆ reordered_pts

int64_t MpegEncContext::reordered_pts

reordered pts to be used as dts for the next output frame when there's a delay

Definition at line 145 of file mpegvideo.h.

◆ pb

PutBitContext MpegEncContext::pb

bit output

Definition at line 148 of file mpegvideo.h.

Referenced by copy_context_after_encode(), encode_mb_hq(), encode_thread(), and ff_write_quant_matrix().

◆ start_mb_y

int MpegEncContext::start_mb_y

start mb_y of this thread (so current thread should process start_mb_y <= row < end_mb_y)

Definition at line 150 of file mpegvideo.h.

Referenced by decode_chunks(), and encode_picture().

◆ end_mb_y

int MpegEncContext::end_mb_y

end mb_y of this thread (so current thread should process start_mb_y <= row < end_mb_y)

Definition at line 151 of file mpegvideo.h.

Referenced by decode_chunks(), encode_picture(), encode_thread(), and mb_var_thread().

◆ thread_context

struct MpegEncContext* MpegEncContext::thread_context[MAX_THREADS]

Definition at line 152 of file mpegvideo.h.

Referenced by decode_chunks().

◆ slice_context_count

int MpegEncContext::slice_context_count

number of used thread_contexts

Definition at line 153 of file mpegvideo.h.

Referenced by decode_chunks(), and vc1_parse_init().

◆ last_pic

MPVWorkPicture MpegEncContext::last_pic

copy of the previous picture structure.

note, linesize & data, might not match the previous picture (for field pictures)

Definition at line 159 of file mpegvideo.h.

Referenced by decode_chunks(), encode_frame(), ff_mpeg_update_thread_context(), ff_vc1_mc_1mv(), ff_vc1_mc_4mv_chroma(), ff_vc1_mc_4mv_luma(), vc1_decode_frame(), and vc1_decode_skip_blocks().

◆ next_pic

MPVWorkPicture MpegEncContext::next_pic

copy of the next picture structure.

note, linesize & data, might not match the next picture (for field pictures)

Definition at line 165 of file mpegvideo.h.

Referenced by decode_chunks(), ff_mpeg_update_thread_context(), ff_vc1_interp_mc(), mpeg_decode_frame(), and vc1_decode_frame().

◆ new_pic

AVFrame* MpegEncContext::new_pic

Reference to the source picture for encoding.

note, linesize & data, might not match the source picture (for field pictures)

Definition at line 171 of file mpegvideo.h.

◆ cur_pic

MPVWorkPicture MpegEncContext::cur_pic

◆ skipped_last_frame

int MpegEncContext::skipped_last_frame

Definition at line 179 of file mpegvideo.h.

◆ last_dc

int MpegEncContext::last_dc[3]

last DC values for MPEG-1

Definition at line 180 of file mpegvideo.h.

Referenced by copy_context_after_encode(), copy_context_before_encode(), and ipu_decode_frame().

◆ dc_val_base

int16_t* MpegEncContext::dc_val_base

Definition at line 181 of file mpegvideo.h.

◆ dc_val

int16_t* MpegEncContext::dc_val[3]

used for MPEG-4 DC prediction, all 3 arrays must be continuous

Definition at line 182 of file mpegvideo.h.

◆ y_dc_scale_table

const uint8_t* MpegEncContext::y_dc_scale_table

qscale -> y_dc_scale table

Definition at line 183 of file mpegvideo.h.

◆ c_dc_scale_table

const uint8_t* MpegEncContext::c_dc_scale_table

qscale -> c_dc_scale table

Definition at line 184 of file mpegvideo.h.

◆ chroma_qscale_table

const uint8_t* MpegEncContext::chroma_qscale_table

qscale -> chroma_qscale (H.263)

Definition at line 185 of file mpegvideo.h.

◆ coded_block_base

uint8_t* MpegEncContext::coded_block_base

Definition at line 186 of file mpegvideo.h.

◆ coded_block

uint8_t* MpegEncContext::coded_block

used for coded block pattern prediction (msmpeg4v3, wmv1)

Definition at line 187 of file mpegvideo.h.

◆ ac_val_base

int16_t(* MpegEncContext::ac_val_base)[16]

Definition at line 188 of file mpegvideo.h.

◆ ac_val

int16_t(*[3] MpegEncContext::ac_val)[16]

used for MPEG-4 AC prediction, all 3 arrays must be continuous

Definition at line 189 of file mpegvideo.h.

◆ mb_skipped

int MpegEncContext::mb_skipped

MUST BE SET only during DECODING.

Definition at line 190 of file mpegvideo.h.

Referenced by copy_context_after_encode(), and copy_context_before_encode().

◆ mbskip_table

uint8_t* MpegEncContext::mbskip_table

used to avoid copy if macroblock skipped (for black regions for example) and used for B-frame encoding & decoding (contains skip table of next P-frame)

Definition at line 191 of file mpegvideo.h.

Referenced by decode_chunks(), ff_vc1_parse_frame_header(), ff_vc1_parse_frame_header_adv(), vc1_decode_b_mb(), vc1_decode_b_mb_intfr(), vc1_decode_p_mb(), and vc1_decode_p_mb_intfr().

◆ mbintra_table

uint8_t* MpegEncContext::mbintra_table

used to avoid setting {ac, dc, cbp}-pred stuff to zero on inter MB decoding

Definition at line 193 of file mpegvideo.h.

◆ cbp_table

uint8_t* MpegEncContext::cbp_table

used to store cbp, ac_pred for partitioned decoding

Definition at line 194 of file mpegvideo.h.

◆ pred_dir_table

uint8_t* MpegEncContext::pred_dir_table

used to store pred_dir for partitioned decoding

Definition at line 195 of file mpegvideo.h.

◆ sc

ScratchpadContext MpegEncContext::sc

Definition at line 197 of file mpegvideo.h.

Referenced by encode_end(), encode_init(), encode_picture(), get_block_rd(), and get_dc().

◆ qscale

int MpegEncContext::qscale

◆ chroma_qscale

int MpegEncContext::chroma_qscale

chroma QP

Definition at line 200 of file mpegvideo.h.

◆ lambda

unsigned int MpegEncContext::lambda

Lagrange multiplier used in rate distortion.

Definition at line 201 of file mpegvideo.h.

Referenced by dct_quantize_refine(), dct_quantize_trellis_c(), encode_frame(), and update_duplicate_context_after_me().

◆ lambda2

unsigned int MpegEncContext::lambda2

(lambda*lambda) >> FF_LAMBDA_SHIFT

Definition at line 202 of file mpegvideo.h.

Referenced by encode_frame(), estimate_best_b_count(), and update_duplicate_context_after_me().

◆ lambda_table

int* MpegEncContext::lambda_table

Definition at line 203 of file mpegvideo.h.

◆ adaptive_quant

int MpegEncContext::adaptive_quant

use adaptive quantization

Definition at line 204 of file mpegvideo.h.

◆ dquant

int MpegEncContext::dquant

qscale difference to prev qscale

Definition at line 205 of file mpegvideo.h.

Referenced by copy_context_before_encode(), and encode_thread().

◆ pict_type

int MpegEncContext::pict_type

◆ vbv_delay

int MpegEncContext::vbv_delay

Definition at line 207 of file mpegvideo.h.

Referenced by ff_mpv_encode_picture().

◆ last_pict_type

int MpegEncContext::last_pict_type

Definition at line 208 of file mpegvideo.h.

Referenced by encode_frame().

◆ last_non_b_pict_type

int MpegEncContext::last_non_b_pict_type

used for MPEG-4 gmc B-frames & ratecontrol

Definition at line 209 of file mpegvideo.h.

◆ droppable

int MpegEncContext::droppable

Definition at line 210 of file mpegvideo.h.

◆ last_lambda_for

int MpegEncContext::last_lambda_for[5]

last lambda for a specific pict type

Definition at line 211 of file mpegvideo.h.

◆ skipdct

int MpegEncContext::skipdct

skip dct and code zero residual

Definition at line 212 of file mpegvideo.h.

◆ unrestricted_mv

int MpegEncContext::unrestricted_mv

mv can point outside of the coded picture

Definition at line 215 of file mpegvideo.h.

Referenced by encode_frame().

◆ h263_long_vectors

int MpegEncContext::h263_long_vectors

use horrible H.263v1 long vector mode

Definition at line 216 of file mpegvideo.h.

◆ bdsp

BlockDSPContext MpegEncContext::bdsp

Definition at line 218 of file mpegvideo.h.

◆ fdsp

FDCTDSPContext MpegEncContext::fdsp

Definition at line 219 of file mpegvideo.h.

Referenced by ff_convert_matrix().

◆ h264chroma

H264ChromaContext MpegEncContext::h264chroma

Definition at line 220 of file mpegvideo.h.

◆ hdsp

HpelDSPContext MpegEncContext::hdsp

Definition at line 221 of file mpegvideo.h.

Referenced by encode_frame().

◆ idsp

IDCTDSPContext MpegEncContext::idsp

Definition at line 222 of file mpegvideo.h.

Referenced by ipu_decode_frame(), and ipu_decode_init().

◆ mpvencdsp

MpegvideoEncDSPContext MpegEncContext::mpvencdsp

Definition at line 223 of file mpegvideo.h.

◆ pdsp

PixblockDSPContext MpegEncContext::pdsp

Definition at line 224 of file mpegvideo.h.

◆ qdsp

QpelDSPContext MpegEncContext::qdsp

Definition at line 225 of file mpegvideo.h.

Referenced by encode_frame().

◆ vdsp

VideoDSPContext MpegEncContext::vdsp

Definition at line 226 of file mpegvideo.h.

◆ h263dsp

H263DSPContext MpegEncContext::h263dsp

Definition at line 227 of file mpegvideo.h.

◆ f_code

int MpegEncContext::f_code

forward MV resolution

Definition at line 228 of file mpegvideo.h.

Referenced by encode_frame(), encode_q_branch(), and update_duplicate_context_after_me().

◆ b_code

int MpegEncContext::b_code

backward MV resolution for B-frames (MPEG-4)

Definition at line 229 of file mpegvideo.h.

Referenced by update_duplicate_context_after_me().

◆ p_mv_table_base

int16_t(* MpegEncContext::p_mv_table_base)[2]

Definition at line 230 of file mpegvideo.h.

◆ b_forw_mv_table_base

int16_t(* MpegEncContext::b_forw_mv_table_base)[2]

Definition at line 231 of file mpegvideo.h.

◆ b_back_mv_table_base

int16_t(* MpegEncContext::b_back_mv_table_base)[2]

Definition at line 232 of file mpegvideo.h.

◆ b_bidir_forw_mv_table_base

int16_t(* MpegEncContext::b_bidir_forw_mv_table_base)[2]

Definition at line 233 of file mpegvideo.h.

◆ b_bidir_back_mv_table_base

int16_t(* MpegEncContext::b_bidir_back_mv_table_base)[2]

Definition at line 234 of file mpegvideo.h.

◆ b_direct_mv_table_base

int16_t(* MpegEncContext::b_direct_mv_table_base)[2]

Definition at line 235 of file mpegvideo.h.

◆ p_field_mv_table_base

int16_t(* MpegEncContext::p_field_mv_table_base)[2]

Definition at line 236 of file mpegvideo.h.

◆ b_field_mv_table_base

int16_t(* MpegEncContext::b_field_mv_table_base)[2]

Definition at line 237 of file mpegvideo.h.

◆ p_mv_table

int16_t(* MpegEncContext::p_mv_table)[2]

MV table (1MV per MB) P-frame encoding.

Definition at line 238 of file mpegvideo.h.

◆ b_forw_mv_table

int16_t(* MpegEncContext::b_forw_mv_table)[2]

MV table (1MV per MB) forward mode B-frame encoding.

Definition at line 239 of file mpegvideo.h.

◆ b_back_mv_table

int16_t(* MpegEncContext::b_back_mv_table)[2]

MV table (1MV per MB) backward mode B-frame encoding.

Definition at line 240 of file mpegvideo.h.

◆ b_bidir_forw_mv_table

int16_t(* MpegEncContext::b_bidir_forw_mv_table)[2]

MV table (1MV per MB) bidir mode B-frame encoding.

Definition at line 241 of file mpegvideo.h.

◆ b_bidir_back_mv_table

int16_t(* MpegEncContext::b_bidir_back_mv_table)[2]

MV table (1MV per MB) bidir mode B-frame encoding.

Definition at line 242 of file mpegvideo.h.

◆ b_direct_mv_table

int16_t(* MpegEncContext::b_direct_mv_table)[2]

MV table (1MV per MB) direct mode B-frame encoding.

Definition at line 243 of file mpegvideo.h.

◆ p_field_mv_table

int16_t(*[2][2] MpegEncContext::p_field_mv_table)[2]

MV table (2MV per MB) interlaced P-frame encoding.

Definition at line 244 of file mpegvideo.h.

◆ b_field_mv_table

int16_t(*[2][2][2] MpegEncContext::b_field_mv_table)[2]

MV table (4MV per MB) interlaced B-frame encoding.

Definition at line 245 of file mpegvideo.h.

◆ p_field_select_table

uint8_t*[2] MpegEncContext::p_field_select_table

Only the first element is allocated.

Definition at line 246 of file mpegvideo.h.

◆ b_field_select_table

uint8_t*[2][2] MpegEncContext::b_field_select_table

Only the first element is allocated.

Definition at line 247 of file mpegvideo.h.

◆ mb_var

uint16_t* MpegEncContext::mb_var

Table for MB variances.

Definition at line 250 of file mpegvideo.h.

◆ mc_mb_var

uint16_t* MpegEncContext::mc_mb_var

Table for motion compensated MB variances.

Definition at line 251 of file mpegvideo.h.

◆ mb_mean

uint8_t* MpegEncContext::mb_mean

Table for MB luminance.

Definition at line 252 of file mpegvideo.h.

◆ mb_var_sum

int64_t MpegEncContext::mb_var_sum

sum of MB variance for current frame

Definition at line 253 of file mpegvideo.h.

Referenced by ratecontrol_1pass().

◆ mc_mb_var_sum

int64_t MpegEncContext::mc_mb_var_sum

motion compensated MB variance for current frame

Definition at line 254 of file mpegvideo.h.

Referenced by ratecontrol_1pass().

◆ encoding_error

uint64_t MpegEncContext::encoding_error[MPV_MAX_PLANES]

Definition at line 255 of file mpegvideo.h.

Referenced by merge_context_after_encode().

◆ motion_est

int MpegEncContext::motion_est

ME algorithm.

Definition at line 257 of file mpegvideo.h.

Referenced by encode_frame().

◆ me_penalty_compensation

int MpegEncContext::me_penalty_compensation

Definition at line 258 of file mpegvideo.h.

◆ me_pre

int MpegEncContext::me_pre

prepass for motion estimation

Definition at line 259 of file mpegvideo.h.

◆ mv_dir

int MpegEncContext::mv_dir

Definition at line 260 of file mpegvideo.h.

Referenced by copy_context_after_encode(), and encode_thread().

◆ mv_type

int MpegEncContext::mv_type

Definition at line 264 of file mpegvideo.h.

Referenced by copy_context_after_encode(), and encode_thread().

◆ mv

int MpegEncContext::mv[2][4][2]

motion vectors for a macroblock first coordinate : 0 = forward 1 = backward second " : depend on type third " : 0 = x, 1 = y

Definition at line 275 of file mpegvideo.h.

Referenced by copy_context_after_encode(), and encode_thread().

◆ field_select

int MpegEncContext::field_select[2][2]

◆ last_mv

int MpegEncContext::last_mv[2][2][2]

last MV, used for MV prediction in MPEG-1 & B-frame MPEG-4

Definition at line 277 of file mpegvideo.h.

Referenced by copy_context_after_encode(), copy_context_before_encode(), epzs_motion_search2(), epzs_motion_search_internal(), and ff_epzs_motion_search().

◆ fcode_tab

const uint8_t* MpegEncContext::fcode_tab

smallest fcode needed for each MV

Definition at line 278 of file mpegvideo.h.

◆ direct_scale_mv

int16_t MpegEncContext::direct_scale_mv[2][64]

precomputed to avoid divisions in ff_mpeg4_set_direct_mv

Definition at line 279 of file mpegvideo.h.

◆ me

MotionEstContext MpegEncContext::me

◆ no_rounding

int MpegEncContext::no_rounding

apply no rounding to motion compensation (MPEG-4, msmpeg4, ...) for B-frames rounding mode is always 0

Definition at line 283 of file mpegvideo.h.

◆ mb_x

int MpegEncContext::mb_x

◆ mb_y

int MpegEncContext::mb_y

◆ mb_skip_run

int MpegEncContext::mb_skip_run

Definition at line 288 of file mpegvideo.h.

Referenced by copy_context_after_encode(), and copy_context_before_encode().

◆ mb_intra

int MpegEncContext::mb_intra

Definition at line 289 of file mpegvideo.h.

Referenced by copy_context_after_encode(), and encode_thread().

◆ mb_type

uint16_t* MpegEncContext::mb_type

Table for candidate MB types for encoding (defines in mpegvideoenc.h)

Definition at line 290 of file mpegvideo.h.

Referenced by encode_thread().

◆ block_index

int MpegEncContext::block_index[6]

index to current MB in block based arrays with edges

Definition at line 292 of file mpegvideo.h.

◆ block_wrap

int MpegEncContext::block_wrap[6]

Definition at line 293 of file mpegvideo.h.

◆ dest

uint8_t* MpegEncContext::dest[3]

Definition at line 294 of file mpegvideo.h.

Referenced by add_dct(), apply_8x8(), hpel_motion(), hpel_motion_lowres(), and obmc_motion().

◆ mb_index2xy

int* MpegEncContext::mb_index2xy

mb_index -> mb_x + mb_y*mb_stride

Definition at line 296 of file mpegvideo.h.

◆ intra_matrix

uint16_t MpegEncContext::intra_matrix[64]

matrix transmitted in the bitstream

Definition at line 299 of file mpegvideo.h.

Referenced by decode_chunks(), encode_picture(), ipu_decode_frame(), and ipu_decode_init().

◆ chroma_intra_matrix

uint16_t MpegEncContext::chroma_intra_matrix[64]

Definition at line 300 of file mpegvideo.h.

Referenced by ipu_decode_init().

◆ inter_matrix

uint16_t MpegEncContext::inter_matrix[64]

Definition at line 301 of file mpegvideo.h.

◆ chroma_inter_matrix

uint16_t MpegEncContext::chroma_inter_matrix[64]

Definition at line 302 of file mpegvideo.h.

◆ intra_quant_bias

int MpegEncContext::intra_quant_bias

bias for the quantizer

Definition at line 304 of file mpegvideo.h.

◆ inter_quant_bias

int MpegEncContext::inter_quant_bias

bias for the quantizer

Definition at line 305 of file mpegvideo.h.

◆ min_qcoeff

int MpegEncContext::min_qcoeff

minimum encodable coefficient

Definition at line 306 of file mpegvideo.h.

◆ max_qcoeff

int MpegEncContext::max_qcoeff

maximum encodable coefficient

Definition at line 307 of file mpegvideo.h.

◆ ac_esc_length

int MpegEncContext::ac_esc_length

num of bits needed to encode the longest esc

Definition at line 308 of file mpegvideo.h.

◆ intra_ac_vlc_length

uint8_t* MpegEncContext::intra_ac_vlc_length

Definition at line 309 of file mpegvideo.h.

◆ intra_ac_vlc_last_length

uint8_t* MpegEncContext::intra_ac_vlc_last_length

Definition at line 310 of file mpegvideo.h.

◆ intra_chroma_ac_vlc_length

uint8_t* MpegEncContext::intra_chroma_ac_vlc_length

Definition at line 311 of file mpegvideo.h.

◆ intra_chroma_ac_vlc_last_length

uint8_t* MpegEncContext::intra_chroma_ac_vlc_last_length

Definition at line 312 of file mpegvideo.h.

◆ inter_ac_vlc_length

uint8_t* MpegEncContext::inter_ac_vlc_length

Definition at line 313 of file mpegvideo.h.

◆ inter_ac_vlc_last_length

uint8_t* MpegEncContext::inter_ac_vlc_last_length

Definition at line 314 of file mpegvideo.h.

◆ luma_dc_vlc_length

uint8_t* MpegEncContext::luma_dc_vlc_length

Definition at line 315 of file mpegvideo.h.

◆ coded_score

int MpegEncContext::coded_score[12]

Definition at line 317 of file mpegvideo.h.

◆ q_intra_matrix

int(* MpegEncContext::q_intra_matrix)[64]

precomputed matrix (combine qscale and DCT renorm)

Definition at line 320 of file mpegvideo.h.

◆ q_chroma_intra_matrix

int(* MpegEncContext::q_chroma_intra_matrix)[64]

Definition at line 321 of file mpegvideo.h.

◆ q_inter_matrix

int(* MpegEncContext::q_inter_matrix)[64]

Definition at line 322 of file mpegvideo.h.

◆ q_intra_matrix16

uint16_t(* MpegEncContext::q_intra_matrix16)[2][64]

identical to the above but for MMX & these are not permutated, second 64 entries are bias

Definition at line 324 of file mpegvideo.h.

◆ q_chroma_intra_matrix16

uint16_t(* MpegEncContext::q_chroma_intra_matrix16)[2][64]

Definition at line 325 of file mpegvideo.h.

◆ q_inter_matrix16

uint16_t(* MpegEncContext::q_inter_matrix16)[2][64]

Definition at line 326 of file mpegvideo.h.

◆ dct_error_sum

int(* MpegEncContext::dct_error_sum)[64]

Definition at line 329 of file mpegvideo.h.

Referenced by merge_context_after_encode().

◆ dct_count

int MpegEncContext::dct_count[2]

Definition at line 330 of file mpegvideo.h.

Referenced by merge_context_after_encode().

◆ dct_offset

uint16_t(* MpegEncContext::dct_offset)[64]

Definition at line 331 of file mpegvideo.h.

Referenced by encode_mb_internal().

◆ total_bits

int64_t MpegEncContext::total_bits

Definition at line 334 of file mpegvideo.h.

Referenced by encode_frame().

◆ frame_bits

int MpegEncContext::frame_bits

bits used for the current frame

Definition at line 335 of file mpegvideo.h.

Referenced by encode_frame().

◆ stuffing_bits

int MpegEncContext::stuffing_bits

bits used for stuffing

Definition at line 336 of file mpegvideo.h.

◆ next_lambda

int MpegEncContext::next_lambda

next lambda used for retrying to encode a frame

Definition at line 337 of file mpegvideo.h.

◆ rc_context

RateControlContext MpegEncContext::rc_context

contains stuff only accessed in ratecontrol.c

Definition at line 338 of file mpegvideo.h.

Referenced by encode_end(), and encode_frame().

◆ mv_bits

int MpegEncContext::mv_bits

◆ header_bits

int MpegEncContext::header_bits

Definition at line 342 of file mpegvideo.h.

◆ i_tex_bits

int MpegEncContext::i_tex_bits

◆ p_tex_bits

int MpegEncContext::p_tex_bits

◆ i_count

int MpegEncContext::i_count

◆ misc_bits

int MpegEncContext::misc_bits

◆ last_bits

int MpegEncContext::last_bits

temp var used for calculating the above vars

Definition at line 347 of file mpegvideo.h.

Referenced by copy_context_before_encode().

◆ resync_mb_x

int MpegEncContext::resync_mb_x

x position of last resync marker

Definition at line 350 of file mpegvideo.h.

Referenced by decode_chunks().

◆ resync_mb_y

int MpegEncContext::resync_mb_y

y position of last resync marker

Definition at line 351 of file mpegvideo.h.

Referenced by decode_chunks().

◆ last_resync_gb

GetBitContext MpegEncContext::last_resync_gb

used to search for the next resync marker

Definition at line 352 of file mpegvideo.h.

◆ mb_num_left

int MpegEncContext::mb_num_left

number of MBs left in this video packet (for partitioned Slices only)

Definition at line 353 of file mpegvideo.h.

◆ gob_index

int MpegEncContext::gob_index

Definition at line 356 of file mpegvideo.h.

◆ obmc

int MpegEncContext::obmc

overlapped block motion compensation

Definition at line 357 of file mpegvideo.h.

◆ mb_info

int MpegEncContext::mb_info

interval for outputting info about mb offsets as side data

Definition at line 358 of file mpegvideo.h.

◆ prev_mb_info

int MpegEncContext::prev_mb_info

Definition at line 359 of file mpegvideo.h.

◆ last_mb_info

int MpegEncContext::last_mb_info

Definition at line 359 of file mpegvideo.h.

◆ mb_info_ptr

uint8_t* MpegEncContext::mb_info_ptr

Definition at line 360 of file mpegvideo.h.

◆ mb_info_size

int MpegEncContext::mb_info_size

Definition at line 361 of file mpegvideo.h.

◆ ehc_mode

int MpegEncContext::ehc_mode

Definition at line 362 of file mpegvideo.h.

◆ umvplus

int MpegEncContext::umvplus

== H.263+ && unrestricted_mv

Definition at line 365 of file mpegvideo.h.

◆ h263_aic_dir

int MpegEncContext::h263_aic_dir

AIC direction: 0 = left, 1 = top.

Definition at line 366 of file mpegvideo.h.

◆ h263_slice_structured

int MpegEncContext::h263_slice_structured

Definition at line 367 of file mpegvideo.h.

◆ alt_inter_vlc

int MpegEncContext::alt_inter_vlc

alternative inter vlc

Definition at line 368 of file mpegvideo.h.

◆ modified_quant

int MpegEncContext::modified_quant

Definition at line 369 of file mpegvideo.h.

◆ loop_filter

int MpegEncContext::loop_filter

◆ custom_pcf

int MpegEncContext::custom_pcf

Definition at line 371 of file mpegvideo.h.

◆ studio_profile

int MpegEncContext::studio_profile

Definition at line 374 of file mpegvideo.h.

◆ dct_precision

int MpegEncContext::dct_precision

number of bits to represent the fractional part of time (encoder only)

Definition at line 375 of file mpegvideo.h.

◆ time_increment_bits

int MpegEncContext::time_increment_bits

Definition at line 377 of file mpegvideo.h.

◆ last_time_base

int MpegEncContext::last_time_base

Definition at line 378 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context().

◆ time_base

int MpegEncContext::time_base

time in seconds of last I,P,S Frame

Definition at line 379 of file mpegvideo.h.

◆ time

int64_t MpegEncContext::time

time of current frame

Definition at line 380 of file mpegvideo.h.

◆ last_non_b_time

int64_t MpegEncContext::last_non_b_time

Definition at line 381 of file mpegvideo.h.

◆ pp_time

uint16_t MpegEncContext::pp_time

time distance between the last 2 p,s,i frames

Definition at line 382 of file mpegvideo.h.

◆ pb_time

uint16_t MpegEncContext::pb_time

time distance between the last b and p,s,i frame

Definition at line 383 of file mpegvideo.h.

◆ pp_field_time

uint16_t MpegEncContext::pp_field_time

Definition at line 384 of file mpegvideo.h.

◆ pb_field_time

uint16_t MpegEncContext::pb_field_time

like above, just for interlaced

Definition at line 385 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context().

◆ mcsel

int MpegEncContext::mcsel

Definition at line 386 of file mpegvideo.h.

◆ quarter_sample

int MpegEncContext::quarter_sample

◆ data_partitioning

int MpegEncContext::data_partitioning

data partitioning flag from header

Definition at line 388 of file mpegvideo.h.

Referenced by encode_thread().

◆ partitioned_frame

int MpegEncContext::partitioned_frame

is current frame partitioned

Definition at line 389 of file mpegvideo.h.

Referenced by encode_thread(), and update_duplicate_context_after_me().

◆ low_delay

int MpegEncContext::low_delay

no reordering needed / has no B-frames

Definition at line 390 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context(), ff_vc1_decode_blocks(), and mpeg_decode_frame().

◆ tex_pb

PutBitContext MpegEncContext::tex_pb

used for data partitioned VOPs

Definition at line 391 of file mpegvideo.h.

Referenced by copy_context_after_encode(), encode_mb_hq(), and encode_thread().

◆ pb2

PutBitContext MpegEncContext::pb2

used for data partitioned VOPs

Definition at line 392 of file mpegvideo.h.

Referenced by copy_context_after_encode(), encode_mb_hq(), and encode_thread().

◆ mpeg_quant

int MpegEncContext::mpeg_quant

Definition at line 393 of file mpegvideo.h.

◆ padding_bug_score

int MpegEncContext::padding_bug_score

used to detect the VERY common padding bug in MPEG-4

Definition at line 394 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context().

◆ divx_packed

int MpegEncContext::divx_packed

Definition at line 397 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context().

◆ bitstream_buffer

uint8_t* MpegEncContext::bitstream_buffer

Definition at line 398 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context().

◆ bitstream_buffer_size

int MpegEncContext::bitstream_buffer_size

Definition at line 399 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context().

◆ allocated_bitstream_buffer_size

unsigned int MpegEncContext::allocated_bitstream_buffer_size

Definition at line 400 of file mpegvideo.h.

◆ rv10_version

int MpegEncContext::rv10_version

RV10 version: 0 or 3.

Definition at line 403 of file mpegvideo.h.

◆ rv10_first_dc_coded

int MpegEncContext::rv10_first_dc_coded[3]

Definition at line 404 of file mpegvideo.h.

◆ mjpeg_ctx

struct MJpegContext* MpegEncContext::mjpeg_ctx

Definition at line 407 of file mpegvideo.h.

◆ esc_pos

int MpegEncContext::esc_pos

Definition at line 408 of file mpegvideo.h.

◆ mv_table_index

int MpegEncContext::mv_table_index

Definition at line 411 of file mpegvideo.h.

Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

◆ rl_table_index

int MpegEncContext::rl_table_index

Definition at line 412 of file mpegvideo.h.

◆ rl_chroma_table_index

int MpegEncContext::rl_chroma_table_index

Definition at line 413 of file mpegvideo.h.

◆ dc_table_index

int MpegEncContext::dc_table_index

◆ use_skip_mb_code

int MpegEncContext::use_skip_mb_code

Definition at line 415 of file mpegvideo.h.

◆ slice_height

int MpegEncContext::slice_height

in macroblocks

Definition at line 416 of file mpegvideo.h.

◆ first_slice_line

int MpegEncContext::first_slice_line

used in MPEG-4 too to handle resync markers

Definition at line 417 of file mpegvideo.h.

◆ flipflop_rounding

int MpegEncContext::flipflop_rounding

Definition at line 418 of file mpegvideo.h.

◆ msmpeg4_version

enum { ... } MpegEncContext::msmpeg4_version

◆ per_mb_rl_table

int MpegEncContext::per_mb_rl_table

Definition at line 428 of file mpegvideo.h.

◆ esc3_level_length

int MpegEncContext::esc3_level_length

◆ esc3_run_length

int MpegEncContext::esc3_run_length

Definition at line 430 of file mpegvideo.h.

Referenced by vc1_decode_ac_coeff().

◆ inter_intra_pred

int MpegEncContext::inter_intra_pred

Definition at line 431 of file mpegvideo.h.

◆ mspel

int MpegEncContext::mspel

Definition at line 432 of file mpegvideo.h.

Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

◆ gb

GetBitContext MpegEncContext::gb

◆ last_mv_dir

int MpegEncContext::last_mv_dir

last mv_dir, used for B-frame encoding

Definition at line 438 of file mpegvideo.h.

◆ vbv_delay_pos

int MpegEncContext::vbv_delay_pos

offset of vbv_delay in the bitstream

Definition at line 439 of file mpegvideo.h.

◆ progressive_sequence

int MpegEncContext::progressive_sequence

Definition at line 442 of file mpegvideo.h.

Referenced by decode_chunks(), and ff_mpeg_update_thread_context().

◆ mpeg_f_code

int MpegEncContext::mpeg_f_code[2][2]

Definition at line 443 of file mpegvideo.h.

◆ picture_structure

int MpegEncContext::picture_structure

Definition at line 446 of file mpegvideo.h.

Referenced by decode_chunks().

◆ intra_dc_precision

int MpegEncContext::intra_dc_precision

Definition at line 448 of file mpegvideo.h.

Referenced by decode_chunks(), and ipu_decode_frame().

◆ frame_pred_frame_dct

int MpegEncContext::frame_pred_frame_dct

Definition at line 449 of file mpegvideo.h.

Referenced by decode_chunks(), and update_duplicate_context_after_me().

◆ top_field_first

int MpegEncContext::top_field_first

Definition at line 450 of file mpegvideo.h.

Referenced by mpeg_decode_a53_cc().

◆ concealment_motion_vectors

int MpegEncContext::concealment_motion_vectors

Definition at line 451 of file mpegvideo.h.

◆ q_scale_type

int MpegEncContext::q_scale_type

Definition at line 452 of file mpegvideo.h.

Referenced by ipu_decode_frame().

◆ brd_scale

int MpegEncContext::brd_scale

Definition at line 453 of file mpegvideo.h.

◆ intra_vlc_format

int MpegEncContext::intra_vlc_format

Definition at line 454 of file mpegvideo.h.

Referenced by ipu_decode_frame().

◆ alternate_scan

int MpegEncContext::alternate_scan

Definition at line 455 of file mpegvideo.h.

Referenced by ipu_decode_frame().

◆ repeat_first_field

int MpegEncContext::repeat_first_field

Definition at line 456 of file mpegvideo.h.

◆ chroma_420_type

int MpegEncContext::chroma_420_type

Definition at line 457 of file mpegvideo.h.

◆ chroma_format

int MpegEncContext::chroma_format

Definition at line 458 of file mpegvideo.h.

Referenced by encode_mb_internal(), and mpeg_decode_init().

◆ chroma_x_shift

int MpegEncContext::chroma_x_shift

Definition at line 462 of file mpegvideo.h.

Referenced by encode_mb_internal(), and ff_update_block_index().

◆ chroma_y_shift

int MpegEncContext::chroma_y_shift

Definition at line 463 of file mpegvideo.h.

Referenced by encode_mb_internal().

◆ progressive_frame

int MpegEncContext::progressive_frame

Definition at line 465 of file mpegvideo.h.

Referenced by decode_chunks(), and update_duplicate_context_after_me().

◆ full_pel

int MpegEncContext::full_pel[2]

Definition at line 466 of file mpegvideo.h.

◆ interlaced_dct

int MpegEncContext::interlaced_dct

Definition at line 467 of file mpegvideo.h.

Referenced by copy_context_after_encode().

◆ first_field

int MpegEncContext::first_field

is 1 for the first field of a field picture 0 otherwise

Definition at line 468 of file mpegvideo.h.

Referenced by decode_chunks().

◆ rtp_mode

int MpegEncContext::rtp_mode

Definition at line 471 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context().

◆ rtp_payload_size

int MpegEncContext::rtp_payload_size

Definition at line 472 of file mpegvideo.h.

◆ ptr_lastgob

uint8_t* MpegEncContext::ptr_lastgob

Definition at line 474 of file mpegvideo.h.

◆ block

int16_t(* MpegEncContext::block)[64]

points to one of the following blocks

Definition at line 476 of file mpegvideo.h.

Referenced by copy_context_after_encode().

◆ blocks

int16_t(* MpegEncContext::blocks)[12][64]

Definition at line 477 of file mpegvideo.h.

◆ decode_mb

int(* MpegEncContext::decode_mb) (struct MpegEncContext *s, int16_t block[12][64])

Definition at line 478 of file mpegvideo.h.

◆ dct_unquantize_mpeg1_intra

void(* MpegEncContext::dct_unquantize_mpeg1_intra) (struct MpegEncContext *s, int16_t *block, int n, int qscale)

Definition at line 485 of file mpegvideo.h.

◆ dct_unquantize_mpeg1_inter

void(* MpegEncContext::dct_unquantize_mpeg1_inter) (struct MpegEncContext *s, int16_t *block, int n, int qscale)

Definition at line 487 of file mpegvideo.h.

◆ dct_unquantize_mpeg2_intra

void(* MpegEncContext::dct_unquantize_mpeg2_intra) (struct MpegEncContext *s, int16_t *block, int n, int qscale)

Definition at line 489 of file mpegvideo.h.

◆ dct_unquantize_mpeg2_inter

void(* MpegEncContext::dct_unquantize_mpeg2_inter) (struct MpegEncContext *s, int16_t *block, int n, int qscale)

Definition at line 491 of file mpegvideo.h.

◆ dct_unquantize_h263_intra

void(* MpegEncContext::dct_unquantize_h263_intra) (struct MpegEncContext *s, int16_t *block, int n, int qscale)

Definition at line 493 of file mpegvideo.h.

◆ dct_unquantize_h263_inter

void(* MpegEncContext::dct_unquantize_h263_inter) (struct MpegEncContext *s, int16_t *block, int n, int qscale)

Definition at line 495 of file mpegvideo.h.

◆ dct_unquantize_intra

void(* MpegEncContext::dct_unquantize_intra) (struct MpegEncContext *s, int16_t *block, int n, int qscale)

Definition at line 497 of file mpegvideo.h.

◆ dct_unquantize_inter

void(* MpegEncContext::dct_unquantize_inter) (struct MpegEncContext *s, int16_t *block, int n, int qscale)

Definition at line 499 of file mpegvideo.h.

◆ dct_quantize

int(* MpegEncContext::dct_quantize) (struct MpegEncContext *s, int16_t *block, int n, int qscale, int *overflow)

Definition at line 501 of file mpegvideo.h.

◆ denoise_dct

void(* MpegEncContext::denoise_dct) (struct MpegEncContext *s, int16_t *block)

Definition at line 502 of file mpegvideo.h.

◆ mpv_flags

int MpegEncContext::mpv_flags

flags set by private options

Definition at line 504 of file mpegvideo.h.

◆ quantizer_noise_shaping

int MpegEncContext::quantizer_noise_shaping

Definition at line 505 of file mpegvideo.h.

◆ ildct_cmp

me_cmp_func MpegEncContext::ildct_cmp[2]

0 = intra, 1 = non-intra

Definition at line 507 of file mpegvideo.h.

◆ n_sse_cmp

me_cmp_func MpegEncContext::n_sse_cmp[2]

either SSE or NSSE cmp func

Definition at line 508 of file mpegvideo.h.

◆ sad_cmp

me_cmp_func MpegEncContext::sad_cmp[2]

Definition at line 509 of file mpegvideo.h.

◆ sse_cmp

me_cmp_func MpegEncContext::sse_cmp[2]

Definition at line 510 of file mpegvideo.h.

◆ sum_abs_dctelem

int(* MpegEncContext::sum_abs_dctelem) (const int16_t *block)

Definition at line 511 of file mpegvideo.h.

◆ rc_qsquish

float MpegEncContext::rc_qsquish

ratecontrol qmin qmax limiting method 0-> clipping, 1-> use a nice continuous function to limit qscale within qmin/qmax.

Definition at line 517 of file mpegvideo.h.

◆ rc_qmod_amp

float MpegEncContext::rc_qmod_amp

Definition at line 518 of file mpegvideo.h.

◆ rc_qmod_freq

int MpegEncContext::rc_qmod_freq

Definition at line 519 of file mpegvideo.h.

◆ rc_initial_cplx

float MpegEncContext::rc_initial_cplx

Definition at line 520 of file mpegvideo.h.

◆ rc_buffer_aggressivity

float MpegEncContext::rc_buffer_aggressivity

Definition at line 521 of file mpegvideo.h.

◆ border_masking

float MpegEncContext::border_masking

Definition at line 522 of file mpegvideo.h.

◆ lmin

int MpegEncContext::lmin

Definition at line 523 of file mpegvideo.h.

Referenced by encode_init().

◆ lmax

int MpegEncContext::lmax

Definition at line 523 of file mpegvideo.h.

Referenced by encode_init().

◆ vbv_ignore_qmax

int MpegEncContext::vbv_ignore_qmax

Definition at line 524 of file mpegvideo.h.

◆ rc_eq

char* MpegEncContext::rc_eq

Definition at line 526 of file mpegvideo.h.

◆ cplx_tab

float* MpegEncContext::cplx_tab

Definition at line 529 of file mpegvideo.h.

◆ bits_tab

float * MpegEncContext::bits_tab

Definition at line 529 of file mpegvideo.h.

◆ context_reinit

int MpegEncContext::context_reinit

Definition at line 533 of file mpegvideo.h.

◆ er

ERContext MpegEncContext::er

Definition at line 535 of file mpegvideo.h.

Referenced by decode_chunks(), and ff_vc1_decode_blocks().

◆ error_rate

int MpegEncContext::error_rate

Definition at line 537 of file mpegvideo.h.

◆ tmp_frames

AVFrame* MpegEncContext::tmp_frames[MAX_B_FRAMES+2]

Definition at line 540 of file mpegvideo.h.

◆ b_frame_strategy

int MpegEncContext::b_frame_strategy

Definition at line 541 of file mpegvideo.h.

◆ b_sensitivity

int MpegEncContext::b_sensitivity

Definition at line 542 of file mpegvideo.h.

◆ frame_skip_threshold

int MpegEncContext::frame_skip_threshold

Definition at line 545 of file mpegvideo.h.

Referenced by skip_check().

◆ frame_skip_factor

int MpegEncContext::frame_skip_factor

Definition at line 546 of file mpegvideo.h.

◆ frame_skip_exp

int MpegEncContext::frame_skip_exp

Definition at line 547 of file mpegvideo.h.

◆ frame_skip_cmp

int MpegEncContext::frame_skip_cmp

Definition at line 548 of file mpegvideo.h.

◆ frame_skip_cmp_fn

me_cmp_func MpegEncContext::frame_skip_cmp_fn

Definition at line 549 of file mpegvideo.h.

◆ scenechange_threshold

int MpegEncContext::scenechange_threshold

Definition at line 551 of file mpegvideo.h.

◆ noise_reduction

int MpegEncContext::noise_reduction

Definition at line 552 of file mpegvideo.h.

◆ intra_penalty

int MpegEncContext::intra_penalty

Definition at line 554 of file mpegvideo.h.


The documentation for this struct was generated from the following file: