Struct MpegEncContext

Source
#[repr(C)]
pub struct MpegEncContext {
Show 347 fields pub class: *mut AVClass, pub y_dc_scale: c_int, pub c_dc_scale: c_int, pub ac_pred: c_int, pub block_last_index: [c_int; 12], pub h263_aic: c_int, pub inter_scantable: ScanTable, pub intra_scantable: ScanTable, pub intra_h_scantable: ScanTable, pub intra_v_scantable: ScanTable, pub avctx: *mut AVCodecContext, pub width: c_int, pub height: c_int, pub gop_size: c_int, pub intra_only: c_int, pub bit_rate: i64, pub out_format: OutputFormat, pub h263_pred: c_int, pub pb_frame: c_int, pub h263_plus: c_int, pub h263_flv: c_int, pub codec_id: AVCodecID, pub fixed_qscale: c_int, pub encoding: c_int, pub max_b_frames: c_int, pub luma_elim_threshold: c_int, pub chroma_elim_threshold: c_int, pub strict_std_compliance: c_int, pub workaround_bugs: c_int, pub codec_tag: c_int, pub context_initialized: c_int, pub input_picture_number: c_int, pub coded_picture_number: c_int, pub picture_number: c_int, pub picture_in_gop_number: c_int, pub mb_width: c_int, pub mb_height: c_int, pub mb_stride: c_int, pub b8_stride: c_int, pub h_edge_pos: c_int, pub v_edge_pos: c_int, pub mb_num: c_int, pub linesize: isize, pub uvlinesize: isize, pub picture: *mut Picture, pub input_picture: *mut *mut Picture, pub reordered_input_picture: *mut *mut Picture, pub user_specified_pts: i64, pub dts_delta: i64, pub reordered_pts: i64, pub pb: PutBitContext, pub start_mb_y: c_int, pub end_mb_y: c_int, pub thread_context: [*mut MpegEncContext; 32], pub slice_context_count: c_int, pub last_picture: Picture, pub next_picture: Picture, pub new_picture: Picture, pub current_picture: Picture, pub last_picture_ptr: *mut Picture, pub next_picture_ptr: *mut Picture, pub current_picture_ptr: *mut Picture, pub last_dc: [c_int; 3], pub dc_val_base: *mut i16, pub dc_val: [*mut i16; 3], pub y_dc_scale_table: *const u8, pub c_dc_scale_table: *const u8, pub chroma_qscale_table: *const u8, pub coded_block_base: *mut u8, pub coded_block: *mut u8, pub ac_val_base: *mut [i16; 16], pub ac_val: [*mut [i16; 16]; 3], pub mb_skipped: c_int, pub mbskip_table: *mut u8, pub mbintra_table: *mut u8, pub cbp_table: *mut u8, pub pred_dir_table: *mut u8, pub sc: ScratchpadContext, pub qscale: c_int, pub chroma_qscale: c_int, pub lambda: c_uint, pub lambda2: c_uint, pub lambda_table: *mut c_int, pub adaptive_quant: c_int, pub dquant: c_int, pub closed_gop: c_int, pub pict_type: c_int, pub vbv_delay: c_int, pub last_pict_type: c_int, pub last_non_b_pict_type: c_int, pub droppable: c_int, pub frame_rate_index: c_int, pub mpeg2_frame_rate_ext: AVRational, pub last_lambda_for: [c_int; 5], pub skipdct: c_int, pub unrestricted_mv: c_int, pub h263_long_vectors: c_int, pub bdsp: BlockDSPContext, pub fdsp: FDCTDSPContext, pub h264chroma: H264ChromaContext, pub hdsp: HpelDSPContext, pub idsp: IDCTDSPContext, pub mecc: MECmpContext, pub mdsp: MpegVideoDSPContext, pub mpvencdsp: MpegvideoEncDSPContext, pub pdsp: PixblockDSPContext, pub qdsp: QpelDSPContext, pub vdsp: VideoDSPContext, pub h263dsp: H263DSPContext, pub f_code: c_int, pub b_code: c_int, pub p_mv_table_base: *mut [i16; 2], pub b_forw_mv_table_base: *mut [i16; 2], pub b_back_mv_table_base: *mut [i16; 2], pub b_bidir_forw_mv_table_base: *mut [i16; 2], pub b_bidir_back_mv_table_base: *mut [i16; 2], pub b_direct_mv_table_base: *mut [i16; 2], pub p_field_mv_table_base: [[*mut [i16; 2]; 2]; 2], pub b_field_mv_table_base: [[[*mut [i16; 2]; 2]; 2]; 2], pub p_mv_table: *mut [i16; 2], pub b_forw_mv_table: *mut [i16; 2], pub b_back_mv_table: *mut [i16; 2], pub b_bidir_forw_mv_table: *mut [i16; 2], pub b_bidir_back_mv_table: *mut [i16; 2], pub b_direct_mv_table: *mut [i16; 2], pub p_field_mv_table: [[*mut [i16; 2]; 2]; 2], pub b_field_mv_table: [[[*mut [i16; 2]; 2]; 2]; 2], pub p_field_select_table: [*mut u8; 2], pub b_field_select_table: [[*mut u8; 2]; 2], pub motion_est: c_int, pub me_penalty_compensation: c_int, pub me_pre: c_int, pub mv_dir: c_int, pub mv_type: c_int, pub mv: [[[c_int; 2]; 4]; 2], pub field_select: [[c_int; 2]; 2], pub last_mv: [[[c_int; 2]; 2]; 2], pub fcode_tab: *mut u8, pub direct_scale_mv: [[i16; 64]; 2], pub me: MotionEstContext, pub no_rounding: c_int, pub mb_x: c_int, pub mb_y: c_int, pub mb_skip_run: c_int, pub mb_intra: c_int, pub mb_type: *mut u16, pub block_index: [c_int; 6], pub block_wrap: [c_int; 6], pub dest: [*mut u8; 3], pub mb_index2xy: *mut c_int, pub intra_matrix: [u16; 64], pub chroma_intra_matrix: [u16; 64], pub inter_matrix: [u16; 64], pub chroma_inter_matrix: [u16; 64], pub force_duplicated_matrix: c_int, pub intra_quant_bias: c_int, pub inter_quant_bias: c_int, pub min_qcoeff: c_int, pub max_qcoeff: c_int, pub ac_esc_length: c_int, pub intra_ac_vlc_length: *mut u8, pub intra_ac_vlc_last_length: *mut u8, pub intra_chroma_ac_vlc_length: *mut u8, pub intra_chroma_ac_vlc_last_length: *mut u8, pub inter_ac_vlc_length: *mut u8, pub inter_ac_vlc_last_length: *mut u8, pub luma_dc_vlc_length: *mut u8, pub coded_score: [c_int; 12], pub q_intra_matrix: *mut [c_int; 64], pub q_chroma_intra_matrix: *mut [c_int; 64], pub q_inter_matrix: *mut [c_int; 64], pub q_intra_matrix16: *mut [[u16; 64]; 2], pub q_chroma_intra_matrix16: *mut [[u16; 64]; 2], pub q_inter_matrix16: *mut [[u16; 64]; 2], pub dct_error_sum: *mut [c_int; 64], pub dct_count: [c_int; 2], pub dct_offset: *mut [u16; 64], pub total_bits: i64, pub frame_bits: c_int, pub stuffing_bits: c_int, pub next_lambda: c_int, pub rc_context: RateControlContext, pub mv_bits: c_int, pub header_bits: c_int, pub i_tex_bits: c_int, pub p_tex_bits: c_int, pub i_count: c_int, pub f_count: c_int, pub b_count: c_int, pub skip_count: c_int, pub misc_bits: c_int, pub last_bits: c_int, pub resync_mb_x: c_int, pub resync_mb_y: c_int, pub last_resync_gb: GetBitContext, pub mb_num_left: c_int, pub next_p_frame_damaged: c_int, pub parse_context: ParseContext, pub gob_index: c_int, pub obmc: c_int, pub mb_info: c_int, pub prev_mb_info: c_int, pub last_mb_info: c_int, pub mb_info_ptr: *mut u8, pub mb_info_size: c_int, pub ehc_mode: c_int, pub rc_strategy: c_int, pub umvplus: c_int, pub h263_aic_dir: c_int, pub h263_slice_structured: c_int, pub alt_inter_vlc: c_int, pub modified_quant: c_int, pub loop_filter: c_int, pub custom_pcf: c_int, pub studio_profile: c_int, pub dct_precision: c_int, pub time_increment_bits: c_int, pub last_time_base: c_int, pub time_base: c_int, pub time: i64, pub last_non_b_time: i64, pub pp_time: u16, pub pb_time: u16, pub pp_field_time: u16, pub pb_field_time: u16, pub real_sprite_warping_points: c_int, pub sprite_offset: [[c_int; 2]; 2], pub sprite_delta: [[c_int; 2]; 2], pub mcsel: c_int, pub quant_precision: c_int, pub quarter_sample: c_int, pub aspect_ratio_info: c_int, pub sprite_warping_accuracy: c_int, pub data_partitioning: c_int, pub partitioned_frame: c_int, pub low_delay: c_int, pub vo_type: c_int, pub tex_pb: PutBitContext, pub pb2: PutBitContext, pub mpeg_quant: c_int, pub padding_bug_score: c_int, pub divx_packed: c_int, pub bitstream_buffer: *mut u8, pub bitstream_buffer_size: c_int, pub allocated_bitstream_buffer_size: c_uint, pub rv10_version: c_int, pub rv10_first_dc_coded: [c_int; 3], pub mjpeg_ctx: *mut MJpegContext, pub esc_pos: c_int, pub pred: c_int, pub huffman: c_int, pub mv_table_index: c_int, pub rl_table_index: c_int, pub rl_chroma_table_index: c_int, pub dc_table_index: c_int, pub use_skip_mb_code: c_int, pub slice_height: c_int, pub first_slice_line: c_int, pub flipflop_rounding: c_int, pub msmpeg4_version: c_int, pub per_mb_rl_table: c_int, pub esc3_level_length: c_int, pub esc3_run_length: c_int, pub ac_stats: *mut [[[[c_int; 2]; 65]; 65]; 2], pub inter_intra_pred: c_int, pub mspel: c_int, pub gb: GetBitContext, pub gop_picture_number: c_int, pub last_mv_dir: c_int, pub vbv_delay_ptr: *mut u8, pub progressive_sequence: c_int, pub mpeg_f_code: [[c_int; 2]; 2], pub a53_cc: c_int, pub picture_structure: c_int, pub timecode_frame_start: i64, pub intra_dc_precision: c_int, pub frame_pred_frame_dct: c_int, pub top_field_first: c_int, pub concealment_motion_vectors: c_int, pub q_scale_type: c_int, pub brd_scale: c_int, pub intra_vlc_format: c_int, pub alternate_scan: c_int, pub seq_disp_ext: c_int, pub video_format: c_int, pub repeat_first_field: c_int, pub chroma_420_type: c_int, pub chroma_format: c_int, pub chroma_x_shift: c_int, pub chroma_y_shift: c_int, pub progressive_frame: c_int, pub full_pel: [c_int; 2], pub interlaced_dct: c_int, pub first_field: c_int, pub drop_frame_timecode: c_int, pub scan_offset: c_int, pub rtp_mode: c_int, pub rtp_payload_size: c_int, pub tc_opt_str: *mut c_char, pub tc: AVTimecode, pub ptr_lastgob: *mut u8, pub swap_uv: c_int, pub pack_pblocks: c_int, pub pblocks: [*mut [i16; 64]; 12], pub block: *mut [i16; 64], pub blocks: *mut [[i16; 64]; 12], pub decode_mb: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut [i16; 64]) -> c_int>, pub block32: *mut [[i32; 64]; 12], pub dpcm_direction: c_int, pub dpcm_macroblock: *mut [[i16; 256]; 3], pub dct_unquantize_mpeg1_intra: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>, pub dct_unquantize_mpeg1_inter: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>, pub dct_unquantize_mpeg2_intra: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>, pub dct_unquantize_mpeg2_inter: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>, pub dct_unquantize_h263_intra: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>, pub dct_unquantize_h263_inter: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>, pub dct_unquantize_intra: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>, pub dct_unquantize_inter: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>, pub dct_quantize: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int, overflow: *mut c_int) -> c_int>, pub fast_dct_quantize: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int, overflow: *mut c_int) -> c_int>, pub denoise_dct: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16)>, pub mpv_flags: c_int, pub quantizer_noise_shaping: c_int, pub rc_qsquish: f32, pub rc_qmod_amp: f32, pub rc_qmod_freq: c_int, pub rc_initial_cplx: f32, pub rc_buffer_aggressivity: f32, pub border_masking: f32, pub lmin: c_int, pub lmax: c_int, pub vbv_ignore_qmax: c_int, pub rc_eq: *mut c_char, pub cplx_tab: *mut f32, pub bits_tab: *mut f32, pub context_reinit: c_int, pub er: ERContext, pub error_rate: c_int, pub tmp_frames: [*mut AVFrame; 18], pub b_frame_strategy: c_int, pub b_sensitivity: c_int, pub frame_skip_threshold: c_int, pub frame_skip_factor: c_int, pub frame_skip_exp: c_int, pub frame_skip_cmp: c_int, pub scenechange_threshold: c_int, pub noise_reduction: c_int,
}
Expand description

MpegEncContext.

Fields§

§class: *mut AVClass§y_dc_scale: c_int§c_dc_scale: c_int§ac_pred: c_int§block_last_index: [c_int; 12]

< last non zero coefficient in block

§h263_aic: c_int

< Advanced INTRA Coding (AIC)

§inter_scantable: ScanTable

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

§intra_scantable: ScanTable§intra_h_scantable: ScanTable§intra_v_scantable: ScanTable§avctx: *mut AVCodecContext§width: c_int

< picture size. must be a multiple of 16

§height: c_int

< picture size. must be a multiple of 16

§gop_size: c_int§intra_only: c_int

< if true, only intra pictures are generated

§bit_rate: i64

< wanted bit rate

§out_format: OutputFormat

< output format

§h263_pred: c_int

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

§pb_frame: c_int

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

§h263_plus: c_int

< H.263+ headers

§h263_flv: c_int

< use flv H.263 header

§codec_id: AVCodecID§fixed_qscale: c_int

< fixed qscale if non zero

§encoding: c_int

< true if we are encoding (vs decoding)

§max_b_frames: c_int

< max number of B-frames for encoding

§luma_elim_threshold: c_int§chroma_elim_threshold: c_int§strict_std_compliance: c_int

< strictly follow the std (MPEG-4, …)

§workaround_bugs: c_int

< workaround bugs in encoders which cannot be detected automatically

§codec_tag: c_int

< internal codec_tag upper case converted from avctx codec_tag

§context_initialized: c_int§input_picture_number: c_int

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

§coded_picture_number: c_int

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

§picture_number: c_int§picture_in_gop_number: c_int

< 0-> first pic in gop, …

§mb_width: c_int

< number of MBs horizontally & vertically

§mb_height: c_int

< number of MBs horizontally & vertically

§mb_stride: c_int

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

§b8_stride: c_int

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

§h_edge_pos: c_int

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

§v_edge_pos: c_int

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

§mb_num: c_int

< number of MBs of a picture

§linesize: isize

< line size, in bytes, may be different from width

§uvlinesize: isize

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

§picture: *mut Picture

< main picture buffer

§input_picture: *mut *mut Picture

< next pictures on display order for encoding

§reordered_input_picture: *mut *mut Picture

< pointer to the next pictures in coded order for encoding

§user_specified_pts: i64

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

§dts_delta: i64

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

§reordered_pts: i64

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

§pb: PutBitContext

bit output

§start_mb_y: c_int

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

§end_mb_y: c_int

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

§thread_context: [*mut MpegEncContext; 32]§slice_context_count: c_int

< number of used thread_contexts

§last_picture: Picture

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

§next_picture: Picture

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

§new_picture: Picture

copy of the source picture structure for encoding. note, linesize & data, might not match the source picture (for field pictures)

§current_picture: Picture

< buffer to store the decompressed current picture

§last_picture_ptr: *mut Picture

< pointer to the previous picture.

§next_picture_ptr: *mut Picture

< pointer to the next picture (for bidir pred)

§current_picture_ptr: *mut Picture

< pointer to the current picture

§last_dc: [c_int; 3]

< last DC values for MPEG-1

§dc_val_base: *mut i16§dc_val: [*mut i16; 3]

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

§y_dc_scale_table: *const u8

< qscale -> y_dc_scale table

§c_dc_scale_table: *const u8

< qscale -> c_dc_scale table

§chroma_qscale_table: *const u8

< qscale -> chroma_qscale (H.263)

§coded_block_base: *mut u8§coded_block: *mut u8

< used for coded block pattern prediction (msmpeg4v3, wmv1)

§ac_val_base: *mut [i16; 16]§ac_val: [*mut [i16; 16]; 3]

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

§mb_skipped: c_int

< MUST BE SET only during DECODING

§mbskip_table: *mut u8

< 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)

§mbintra_table: *mut u8

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

§cbp_table: *mut u8

< used to store cbp, ac_pred for partitioned decoding

§pred_dir_table: *mut u8

< used to store pred_dir for partitioned decoding

§sc: ScratchpadContext§qscale: c_int

< QP

§chroma_qscale: c_int

< chroma QP

§lambda: c_uint

< Lagrange multiplier used in rate distortion

§lambda2: c_uint

< (lambda*lambda) >> FF_LAMBDA_SHIFT

§lambda_table: *mut c_int§adaptive_quant: c_int

< use adaptive quantization

§dquant: c_int

< qscale difference to prev qscale

§closed_gop: c_int

< MPEG1/2 GOP is closed

§pict_type: c_int

< AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, …

§vbv_delay: c_int§last_pict_type: c_int§last_non_b_pict_type: c_int

< used for MPEG-4 gmc B-frames & ratecontrol

§droppable: c_int§frame_rate_index: c_int§mpeg2_frame_rate_ext: AVRational§last_lambda_for: [c_int; 5]

< last lambda for a specific pict type

§skipdct: c_int

< skip dct and code zero residual

§unrestricted_mv: c_int

< mv can point outside of the coded picture

§h263_long_vectors: c_int

< use horrible H.263v1 long vector mode

§bdsp: BlockDSPContext§fdsp: FDCTDSPContext§h264chroma: H264ChromaContext§hdsp: HpelDSPContext§idsp: IDCTDSPContext§mecc: MECmpContext§mdsp: MpegVideoDSPContext§mpvencdsp: MpegvideoEncDSPContext§pdsp: PixblockDSPContext§qdsp: QpelDSPContext§vdsp: VideoDSPContext§h263dsp: H263DSPContext§f_code: c_int

< forward MV resolution

§b_code: c_int

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

§p_mv_table_base: *mut [i16; 2]§b_forw_mv_table_base: *mut [i16; 2]§b_back_mv_table_base: *mut [i16; 2]§b_bidir_forw_mv_table_base: *mut [i16; 2]§b_bidir_back_mv_table_base: *mut [i16; 2]§b_direct_mv_table_base: *mut [i16; 2]§p_field_mv_table_base: [[*mut [i16; 2]; 2]; 2]§b_field_mv_table_base: [[[*mut [i16; 2]; 2]; 2]; 2]§p_mv_table: *mut [i16; 2]

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

§b_forw_mv_table: *mut [i16; 2]

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

§b_back_mv_table: *mut [i16; 2]

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

§b_bidir_forw_mv_table: *mut [i16; 2]

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

§b_bidir_back_mv_table: *mut [i16; 2]

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

§b_direct_mv_table: *mut [i16; 2]

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

§p_field_mv_table: [[*mut [i16; 2]; 2]; 2]

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

§b_field_mv_table: [[[*mut [i16; 2]; 2]; 2]; 2]

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

§p_field_select_table: [*mut u8; 2]§b_field_select_table: [[*mut u8; 2]; 2]§motion_est: c_int

< ME algorithm

§me_penalty_compensation: c_int§me_pre: c_int

< prepass for motion estimation

§mv_dir: c_int§mv_type: c_int§mv: [[[c_int; 2]; 4]; 2]

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

§field_select: [[c_int; 2]; 2]§last_mv: [[[c_int; 2]; 2]; 2]

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

§fcode_tab: *mut u8

< smallest fcode needed for each MV

§direct_scale_mv: [[i16; 64]; 2]

< precomputed to avoid divisions in ff_mpeg4_set_direct_mv

§me: MotionEstContext§no_rounding: c_int

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

§mb_x: c_int§mb_y: c_int§mb_skip_run: c_int§mb_intra: c_int§mb_type: *mut u16

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

§block_index: [c_int; 6]

< index to current MB in block based arrays with edges

§block_wrap: [c_int; 6]§dest: [*mut u8; 3]§mb_index2xy: *mut c_int

< mb_index -> mb_x + mb_y*mb_stride

§intra_matrix: [u16; 64]

matrix transmitted in the bitstream

§chroma_intra_matrix: [u16; 64]§inter_matrix: [u16; 64]§chroma_inter_matrix: [u16; 64]§force_duplicated_matrix: c_int

< Force duplication of mjpeg matrices, useful for rtp streaming

§intra_quant_bias: c_int

< bias for the quantizer

§inter_quant_bias: c_int

< bias for the quantizer

§min_qcoeff: c_int

< minimum encodable coefficient

§max_qcoeff: c_int

< maximum encodable coefficient

§ac_esc_length: c_int

< num of bits needed to encode the longest esc

§intra_ac_vlc_length: *mut u8§intra_ac_vlc_last_length: *mut u8§intra_chroma_ac_vlc_length: *mut u8§intra_chroma_ac_vlc_last_length: *mut u8§inter_ac_vlc_length: *mut u8§inter_ac_vlc_last_length: *mut u8§luma_dc_vlc_length: *mut u8§coded_score: [c_int; 12]§q_intra_matrix: *mut [c_int; 64]

precomputed matrix (combine qscale and DCT renorm)

§q_chroma_intra_matrix: *mut [c_int; 64]§q_inter_matrix: *mut [c_int; 64]§q_intra_matrix16: *mut [[u16; 64]; 2]

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

§q_chroma_intra_matrix16: *mut [[u16; 64]; 2]§q_inter_matrix16: *mut [[u16; 64]; 2]§dct_error_sum: *mut [c_int; 64]§dct_count: [c_int; 2]§dct_offset: *mut [u16; 64]§total_bits: i64§frame_bits: c_int

< bits used for the current frame

§stuffing_bits: c_int

< bits used for stuffing

§next_lambda: c_int

< next lambda used for retrying to encode a frame

§rc_context: RateControlContext

< contains stuff only accessed in ratecontrol.c

§mv_bits: c_int§header_bits: c_int§i_tex_bits: c_int§p_tex_bits: c_int§i_count: c_int§f_count: c_int§b_count: c_int§skip_count: c_int§misc_bits: c_int

< cbp, mb_type

§last_bits: c_int

< temp var used for calculating the above vars

§resync_mb_x: c_int

< x position of last resync marker

§resync_mb_y: c_int

< y position of last resync marker

§last_resync_gb: GetBitContext

< used to search for the next resync marker

§mb_num_left: c_int

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

§next_p_frame_damaged: c_int

< set if the next p frame is damaged, to avoid showing trashed B-frames

§parse_context: ParseContext§gob_index: c_int§obmc: c_int

< overlapped block motion compensation

§mb_info: c_int

< interval for outputting info about mb offsets as side data

§prev_mb_info: c_int§last_mb_info: c_int§mb_info_ptr: *mut u8§mb_info_size: c_int§ehc_mode: c_int§rc_strategy: c_int

< deprecated

§umvplus: c_int

< == H.263+ && unrestricted_mv

§h263_aic_dir: c_int

< AIC direction: 0 = left, 1 = top

§h263_slice_structured: c_int§alt_inter_vlc: c_int

< alternative inter vlc

§modified_quant: c_int§loop_filter: c_int§custom_pcf: c_int§studio_profile: c_int§dct_precision: c_int§time_increment_bits: c_int§last_time_base: c_int§time_base: c_int

< time in seconds of last I,P,S Frame

§time: i64

< time of current frame

§last_non_b_time: i64§pp_time: u16

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

§pb_time: u16

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

§pp_field_time: u16§pb_field_time: u16

< like above, just for interlaced

§real_sprite_warping_points: c_int§sprite_offset: [[c_int; 2]; 2]

< sprite offset[isChroma][isMVY]

§sprite_delta: [[c_int; 2]; 2]

< sprite_delta [isY][isMVY]

§mcsel: c_int§quant_precision: c_int§quarter_sample: c_int

< 1->qpel, 0->half pel ME/MC

§aspect_ratio_info: c_int§sprite_warping_accuracy: c_int§data_partitioning: c_int

< data partitioning flag from header

§partitioned_frame: c_int

< is current frame partitioned

§low_delay: c_int

< no reordering needed / has no B-frames

§vo_type: c_int§tex_pb: PutBitContext

< used for data partitioned VOPs

§pb2: PutBitContext

< used for data partitioned VOPs

§mpeg_quant: c_int§padding_bug_score: c_int

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

§divx_packed: c_int§bitstream_buffer: *mut u8§bitstream_buffer_size: c_int§allocated_bitstream_buffer_size: c_uint§rv10_version: c_int

< RV10 version: 0 or 3

§rv10_first_dc_coded: [c_int; 3]§mjpeg_ctx: *mut MJpegContext§esc_pos: c_int§pred: c_int§huffman: c_int§mv_table_index: c_int§rl_table_index: c_int§rl_chroma_table_index: c_int§dc_table_index: c_int§use_skip_mb_code: c_int§slice_height: c_int

< in macroblocks

§first_slice_line: c_int

< used in MPEG-4 too to handle resync markers

§flipflop_rounding: c_int§msmpeg4_version: c_int

< 0=not msmpeg4, 1=mp41, 2=mp42, 3=mp43/divx3 4=wmv1/7 5=wmv2/8

§per_mb_rl_table: c_int§esc3_level_length: c_int§esc3_run_length: c_int§ac_stats: *mut [[[[c_int; 2]; 65]; 65]; 2]

[mb_intra][isChroma][level][run][last]

§inter_intra_pred: c_int§mspel: c_int§gb: GetBitContext§gop_picture_number: c_int

< index of the first picture of a GOP based on fake_pic_num & MPEG-1 specific

§last_mv_dir: c_int

< last mv_dir, used for B-frame encoding

§vbv_delay_ptr: *mut u8

< pointer to vbv_delay in the bitstream

§progressive_sequence: c_int§mpeg_f_code: [[c_int; 2]; 2]§a53_cc: c_int§picture_structure: c_int§timecode_frame_start: i64

< GOP timecode frame start number, in non drop frame format

§intra_dc_precision: c_int§frame_pred_frame_dct: c_int§top_field_first: c_int§concealment_motion_vectors: c_int§q_scale_type: c_int§brd_scale: c_int§intra_vlc_format: c_int§alternate_scan: c_int§seq_disp_ext: c_int§video_format: c_int§repeat_first_field: c_int§chroma_420_type: c_int§chroma_format: c_int§chroma_x_shift: c_int§chroma_y_shift: c_int§progressive_frame: c_int§full_pel: [c_int; 2]§interlaced_dct: c_int§first_field: c_int

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

§drop_frame_timecode: c_int

< timecode is in drop frame format.

§scan_offset: c_int

< reserve space for SVCD scan offset user data.

§rtp_mode: c_int§rtp_payload_size: c_int§tc_opt_str: *mut c_char

< timecode option string

§tc: AVTimecode

< timecode context

§ptr_lastgob: *mut u8§swap_uv: c_int§pack_pblocks: c_int§pblocks: [*mut [i16; 64]; 12]§block: *mut [i16; 64]

< points to one of the following blocks

§blocks: *mut [[i16; 64]; 12]§decode_mb: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut [i16; 64]) -> c_int>§block32: *mut [[i32; 64]; 12]§dpcm_direction: c_int§dpcm_macroblock: *mut [[i16; 256]; 3]§dct_unquantize_mpeg1_intra: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>§dct_unquantize_mpeg1_inter: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>§dct_unquantize_mpeg2_intra: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>§dct_unquantize_mpeg2_inter: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>§dct_unquantize_h263_intra: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>§dct_unquantize_h263_inter: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>§dct_unquantize_intra: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>§dct_unquantize_inter: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int)>§dct_quantize: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int, overflow: *mut c_int) -> c_int>§fast_dct_quantize: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16, n: c_int, qscale: c_int, overflow: *mut c_int) -> c_int>§denoise_dct: Option<unsafe extern "C" fn(s: *mut MpegEncContext, block: *mut i16)>§mpv_flags: c_int

< flags set by private options

§quantizer_noise_shaping: c_int§rc_qsquish: f32

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

§rc_qmod_amp: f32§rc_qmod_freq: c_int§rc_initial_cplx: f32§rc_buffer_aggressivity: f32§border_masking: f32§lmin: c_int§lmax: c_int§vbv_ignore_qmax: c_int§rc_eq: *mut c_char§cplx_tab: *mut f32§bits_tab: *mut f32§context_reinit: c_int§er: ERContext§error_rate: c_int§tmp_frames: [*mut AVFrame; 18]§b_frame_strategy: c_int§b_sensitivity: c_int§frame_skip_threshold: c_int§frame_skip_factor: c_int§frame_skip_exp: c_int§frame_skip_cmp: c_int§scenechange_threshold: c_int§noise_reduction: c_int

Trait Implementations§

Source§

impl Clone for MpegEncContext

Source§

fn clone(&self) -> MpegEncContext

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for MpegEncContext

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.