FFmpeg
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Fields
MPVEncContext Struct Reference

#include <mpegvideoenc.h>

Data Fields

MpegEncContext c
 the common base context More...
 
PutBitContext pb
 bit output 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 skipdct
 skip dct and code zero residual More...
 
int quantizer_noise_shaping
 
int luma_elim_threshold
 
int chroma_elim_threshold
 
int mpv_flags
 flags set by private options More...
 
int frame_reconstruction_bitfield
 Bitfield containing information which frames to reconstruct. More...
 
AVFramenew_pic
 Reference to the source picture. More...
 
FDCTDSPContext fdsp
 
MpegvideoEncDSPContext mpvencdsp
 
PixblockDSPContext pdsp
 
MotionEstContext me
 
int16_t(* p_mv_table )[2]
 MV table (1MV per MB) P-frame. More...
 
int16_t(* b_forw_mv_table )[2]
 MV table (1MV per MB) forward mode B-frame. More...
 
int16_t(* b_back_mv_table )[2]
 MV table (1MV per MB) backward mode B-frame. More...
 
int16_t(* b_bidir_forw_mv_table )[2]
 MV table (1MV per MB) bidir mode B-frame. More...
 
int16_t(* b_bidir_back_mv_table )[2]
 MV table (1MV per MB) bidir mode B-frame. More...
 
int16_t(* b_direct_mv_table )[2]
 MV table (1MV per MB) direct mode B-frame. More...
 
int16_t(*[2][2][2] b_field_mv_table )[2]
 MV table (4MV per MB) interlaced B-frame. More...
 
uint8_t *[2] p_field_select_table
 Only the first element is allocated. More...
 
uint8_t *[2][2] b_field_select_table
 allocated jointly with p_field_select_table More...
 
uint16_t * mb_type
 Table for candidate MB types. 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...
 
uint64_t encoding_error [MPV_MAX_PLANES]
 
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...
 
const uint8_t * intra_ac_vlc_length
 
const uint8_t * intra_ac_vlc_last_length
 
const uint8_t * intra_chroma_ac_vlc_length
 
const uint8_t * intra_chroma_ac_vlc_last_length
 
const uint8_t * inter_ac_vlc_length
 
const uint8_t * inter_ac_vlc_last_length
 
const 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]
 
void(* denoise_dct )(struct MPVEncContext *s, int16_t *block)
 
int(* dct_error_sum )[64]
 
int dct_count [2]
 
uint16_t(* dct_offset )[64]
 
int mv_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 mb_info
 interval for outputting info about mb offsets as side data More...
 
int prev_mb_info
 
int last_mb_info
 
int mb_info_size
 
uint8_t * mb_info_ptr
 
struct MJpegContextmjpeg_ctx
 
int esc_pos
 
int last_mv_dir
 last mv_dir, used for B-frame encoding More...
 
PutBitContext tex_pb
 used for data partitioned VOPs More...
 
PutBitContext pb2
 used for data partitioned VOPs More...
 
int esc3_level_length
 
int rtp_mode
 
int rtp_payload_size
 
int error_rate
 
uint8_t * ptr_lastgob
 
void(* encode_mb )(struct MPVEncContext *s, int16_t block[][64], int motion_x, int motion_y)
 
int(* dct_quantize )(struct MPVEncContext *s, int16_t *block, int n, int qscale, int *overflow)
 
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)
 
int intra_penalty
 

Detailed Description

Definition at line 45 of file mpegvideoenc.h.

Field Documentation

◆ c

MpegEncContext MPVEncContext::c

the common base context

Definition at line 46 of file mpegvideoenc.h.

Referenced by encode_frame(), encode_init(), encode_picture(), and encode_q_branch().

◆ pb

PutBitContext MPVEncContext::pb

◆ lambda

unsigned int MPVEncContext::lambda

Lagrange multiplier used in rate distortion.

Definition at line 51 of file mpegvideoenc.h.

Referenced by encode_frame(), and encode_picture().

◆ lambda2

unsigned int MPVEncContext::lambda2

(lambda*lambda) >> FF_LAMBDA_SHIFT

Definition at line 52 of file mpegvideoenc.h.

Referenced by encode_frame(), and encode_picture().

◆ lambda_table

int* MPVEncContext::lambda_table

Definition at line 53 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ adaptive_quant

int MPVEncContext::adaptive_quant

use adaptive quantization

Definition at line 54 of file mpegvideoenc.h.

◆ dquant

int MPVEncContext::dquant

qscale difference to prev qscale

Definition at line 55 of file mpegvideoenc.h.

◆ skipdct

int MPVEncContext::skipdct

skip dct and code zero residual

Definition at line 56 of file mpegvideoenc.h.

◆ quantizer_noise_shaping

int MPVEncContext::quantizer_noise_shaping

Definition at line 58 of file mpegvideoenc.h.

◆ luma_elim_threshold

int MPVEncContext::luma_elim_threshold

Definition at line 60 of file mpegvideoenc.h.

◆ chroma_elim_threshold

int MPVEncContext::chroma_elim_threshold

Definition at line 61 of file mpegvideoenc.h.

◆ mpv_flags

int MPVEncContext::mpv_flags

flags set by private options

Definition at line 63 of file mpegvideoenc.h.

◆ frame_reconstruction_bitfield

int MPVEncContext::frame_reconstruction_bitfield

Bitfield containing information which frames to reconstruct.

Definition at line 65 of file mpegvideoenc.h.

◆ new_pic

AVFrame* MPVEncContext::new_pic

Reference to the source picture.

Definition at line 70 of file mpegvideoenc.h.

◆ fdsp

FDCTDSPContext MPVEncContext::fdsp

Definition at line 72 of file mpegvideoenc.h.

◆ mpvencdsp

MpegvideoEncDSPContext MPVEncContext::mpvencdsp

Definition at line 73 of file mpegvideoenc.h.

◆ pdsp

PixblockDSPContext MPVEncContext::pdsp

Definition at line 74 of file mpegvideoenc.h.

◆ me

MotionEstContext MPVEncContext::me

◆ p_mv_table

int16_t(* MPVEncContext::p_mv_table)[2]

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

Definition at line 77 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ b_forw_mv_table

int16_t(* MPVEncContext::b_forw_mv_table)[2]

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

Definition at line 78 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ b_back_mv_table

int16_t(* MPVEncContext::b_back_mv_table)[2]

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

Definition at line 79 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ b_bidir_forw_mv_table

int16_t(* MPVEncContext::b_bidir_forw_mv_table)[2]

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

Definition at line 80 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ b_bidir_back_mv_table

int16_t(* MPVEncContext::b_bidir_back_mv_table)[2]

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

Definition at line 81 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ b_direct_mv_table

int16_t(* MPVEncContext::b_direct_mv_table)[2]

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

Definition at line 82 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ b_field_mv_table

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

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

Definition at line 83 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ p_field_select_table

uint8_t*[2] MPVEncContext::p_field_select_table

Only the first element is allocated.

Definition at line 84 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ b_field_select_table

uint8_t*[2][2] MPVEncContext::b_field_select_table

allocated jointly with p_field_select_table

Definition at line 85 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ mb_type

uint16_t* MPVEncContext::mb_type

Table for candidate MB types.

Definition at line 87 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ mb_var

uint16_t* MPVEncContext::mb_var

Table for MB variances.

Definition at line 88 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ mc_mb_var

uint16_t* MPVEncContext::mc_mb_var

Table for motion compensated MB variances.

Definition at line 89 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ mb_mean

uint8_t* MPVEncContext::mb_mean

Table for MB luminance.

Definition at line 90 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ encoding_error

uint64_t MPVEncContext::encoding_error[MPV_MAX_PLANES]

Definition at line 91 of file mpegvideoenc.h.

◆ intra_quant_bias

int MPVEncContext::intra_quant_bias

bias for the quantizer

Definition at line 93 of file mpegvideoenc.h.

◆ inter_quant_bias

int MPVEncContext::inter_quant_bias

bias for the quantizer

Definition at line 94 of file mpegvideoenc.h.

◆ min_qcoeff

int MPVEncContext::min_qcoeff

minimum encodable coefficient

Definition at line 95 of file mpegvideoenc.h.

◆ max_qcoeff

int MPVEncContext::max_qcoeff

maximum encodable coefficient

Definition at line 96 of file mpegvideoenc.h.

◆ ac_esc_length

int MPVEncContext::ac_esc_length

num of bits needed to encode the longest esc

Definition at line 97 of file mpegvideoenc.h.

◆ intra_ac_vlc_length

const uint8_t* MPVEncContext::intra_ac_vlc_length

Definition at line 98 of file mpegvideoenc.h.

◆ intra_ac_vlc_last_length

const uint8_t* MPVEncContext::intra_ac_vlc_last_length

Definition at line 99 of file mpegvideoenc.h.

◆ intra_chroma_ac_vlc_length

const uint8_t* MPVEncContext::intra_chroma_ac_vlc_length

Definition at line 100 of file mpegvideoenc.h.

◆ intra_chroma_ac_vlc_last_length

const uint8_t* MPVEncContext::intra_chroma_ac_vlc_last_length

Definition at line 101 of file mpegvideoenc.h.

◆ inter_ac_vlc_length

const uint8_t* MPVEncContext::inter_ac_vlc_length

Definition at line 102 of file mpegvideoenc.h.

◆ inter_ac_vlc_last_length

const uint8_t* MPVEncContext::inter_ac_vlc_last_length

Definition at line 103 of file mpegvideoenc.h.

◆ luma_dc_vlc_length

const uint8_t* MPVEncContext::luma_dc_vlc_length

Definition at line 104 of file mpegvideoenc.h.

◆ coded_score

int MPVEncContext::coded_score[12]

Definition at line 106 of file mpegvideoenc.h.

◆ q_intra_matrix

int(* MPVEncContext::q_intra_matrix)[64]

precomputed matrix (combine qscale and DCT renorm)

Definition at line 109 of file mpegvideoenc.h.

◆ q_chroma_intra_matrix

int(* MPVEncContext::q_chroma_intra_matrix)[64]

Definition at line 110 of file mpegvideoenc.h.

◆ q_inter_matrix

int(* MPVEncContext::q_inter_matrix)[64]

Definition at line 111 of file mpegvideoenc.h.

◆ q_intra_matrix16

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

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

Definition at line 113 of file mpegvideoenc.h.

◆ q_chroma_intra_matrix16

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

Definition at line 114 of file mpegvideoenc.h.

◆ q_inter_matrix16

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

Definition at line 115 of file mpegvideoenc.h.

◆ denoise_dct

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

Definition at line 118 of file mpegvideoenc.h.

◆ dct_error_sum

int(* MPVEncContext::dct_error_sum)[64]

Definition at line 119 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ dct_count

int MPVEncContext::dct_count[2]

Definition at line 120 of file mpegvideoenc.h.

◆ dct_offset

uint16_t(* MPVEncContext::dct_offset)[64]

Definition at line 121 of file mpegvideoenc.h.

Referenced by init_buffers().

◆ mv_bits

int MPVEncContext::mv_bits

Definition at line 124 of file mpegvideoenc.h.

Referenced by encode_frame().

◆ i_tex_bits

int MPVEncContext::i_tex_bits

Definition at line 125 of file mpegvideoenc.h.

◆ p_tex_bits

int MPVEncContext::p_tex_bits

Definition at line 126 of file mpegvideoenc.h.

Referenced by encode_frame().

◆ i_count

int MPVEncContext::i_count

Definition at line 127 of file mpegvideoenc.h.

◆ misc_bits

int MPVEncContext::misc_bits

cbp, mb_type

Definition at line 128 of file mpegvideoenc.h.

Referenced by encode_frame().

◆ last_bits

int MPVEncContext::last_bits

temp var used for calculating the above vars

Definition at line 129 of file mpegvideoenc.h.

◆ mb_info

int MPVEncContext::mb_info

interval for outputting info about mb offsets as side data

Definition at line 132 of file mpegvideoenc.h.

◆ prev_mb_info

int MPVEncContext::prev_mb_info

Definition at line 133 of file mpegvideoenc.h.

◆ last_mb_info

int MPVEncContext::last_mb_info

Definition at line 133 of file mpegvideoenc.h.

◆ mb_info_size

int MPVEncContext::mb_info_size

Definition at line 134 of file mpegvideoenc.h.

◆ mb_info_ptr

uint8_t* MPVEncContext::mb_info_ptr

Definition at line 135 of file mpegvideoenc.h.

◆ mjpeg_ctx

struct MJpegContext* MPVEncContext::mjpeg_ctx

Definition at line 138 of file mpegvideoenc.h.

◆ esc_pos

int MPVEncContext::esc_pos

Definition at line 139 of file mpegvideoenc.h.

◆ last_mv_dir

int MPVEncContext::last_mv_dir

last mv_dir, used for B-frame encoding

Definition at line 142 of file mpegvideoenc.h.

◆ tex_pb

PutBitContext MPVEncContext::tex_pb

used for data partitioned VOPs

Definition at line 145 of file mpegvideoenc.h.

◆ pb2

PutBitContext MPVEncContext::pb2

used for data partitioned VOPs

Definition at line 146 of file mpegvideoenc.h.

◆ esc3_level_length

int MPVEncContext::esc3_level_length

Definition at line 149 of file mpegvideoenc.h.

◆ rtp_mode

int MPVEncContext::rtp_mode

Definition at line 152 of file mpegvideoenc.h.

◆ rtp_payload_size

int MPVEncContext::rtp_payload_size

Definition at line 153 of file mpegvideoenc.h.

◆ error_rate

int MPVEncContext::error_rate

Definition at line 154 of file mpegvideoenc.h.

◆ ptr_lastgob

uint8_t* MPVEncContext::ptr_lastgob

Definition at line 156 of file mpegvideoenc.h.

◆ encode_mb

void(* MPVEncContext::encode_mb) (struct MPVEncContext *s, int16_t block[][64], int motion_x, int motion_y)

Definition at line 158 of file mpegvideoenc.h.

◆ dct_quantize

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

Definition at line 161 of file mpegvideoenc.h.

◆ ildct_cmp

me_cmp_func MPVEncContext::ildct_cmp[2]

0 = intra, 1 = non-intra

Definition at line 163 of file mpegvideoenc.h.

◆ n_sse_cmp

me_cmp_func MPVEncContext::n_sse_cmp[2]

either SSE or NSSE cmp func

Definition at line 164 of file mpegvideoenc.h.

◆ sad_cmp

me_cmp_func MPVEncContext::sad_cmp[2]

Definition at line 165 of file mpegvideoenc.h.

◆ sse_cmp

me_cmp_func MPVEncContext::sse_cmp[2]

Definition at line 166 of file mpegvideoenc.h.

◆ sum_abs_dctelem

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

Definition at line 167 of file mpegvideoenc.h.

◆ intra_penalty

int MPVEncContext::intra_penalty

Definition at line 169 of file mpegvideoenc.h.


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