#include <mpegvideo.h>
Definition at line 264 of file mpegvideo.h.
Public Member Functions | |
DECLARE_ALIGNED_8 (ScanTable, intra_scantable) | |
Public Attributes | |
int | ac_esc_length |
num of bits needed to encode the longest esc | |
int | ac_pred |
int(* | ac_stats )[2][MAX_LEVEL+1][MAX_RUN+1][2] |
int16_t(*[3] | ac_val )[16] |
used for for mpeg4 AC prediction, all 3 arrays must be continuous | |
int16_t(* | ac_val_base )[16] |
int | adaptive_quant |
use adaptive quantization | |
unsigned int | allocated_bitstream_buffer_size |
uint8_t * | allocated_edge_emu_buffer |
int | alt_inter_vlc |
alternative inter vlc | |
int | alternate_scan |
int | aspect_ratio_info |
struct AVCodecContext * | avctx |
int | b4_stride |
4*mb_width+1 used for some 4x4 block arrays to allow simple addressing | |
int | b8_stride |
2*mb_width+1 used for some 8x8 block arrays to allow simple addressing | |
int16_t(* | b_back_mv_table )[2] |
MV table (1MV per MB) backward mode b-frame encoding. | |
int16_t(* | b_back_mv_table_base )[2] |
int16_t(* | b_bidir_back_mv_table )[2] |
MV table (1MV per MB) bidir mode b-frame encoding. | |
int16_t(* | b_bidir_back_mv_table_base )[2] |
int16_t(* | b_bidir_forw_mv_table )[2] |
MV table (1MV per MB) bidir mode b-frame encoding. | |
int16_t(* | b_bidir_forw_mv_table_base )[2] |
int | b_code |
backward MV resolution for B Frames (mpeg4) | |
int | b_count |
int16_t(* | b_direct_mv_table )[2] |
MV table (1MV per MB) direct mode b-frame encoding. | |
int16_t(* | b_direct_mv_table_base )[2] |
int16_t(*[2][2][2] | b_field_mv_table )[2] |
MV table (4MV per MB) interlaced b-frame encoding. | |
int16_t(*[2][2][2] | b_field_mv_table_base )[2] |
uint8_t *[2][2] | b_field_select_table |
int16_t(* | b_forw_mv_table )[2] |
MV table (1MV per MB) forward mode b-frame encoding. | |
int16_t(* | b_forw_mv_table_base )[2] |
int | b_frames_since_non_b |
used for encoding, relative to not yet reordered input | |
uint8_t * | b_scratchpad |
scratchpad used for writing into write only buffers | |
int | bit_rate |
wanted bit rate | |
uint8_t * | bitstream_buffer |
int | bitstream_buffer_size |
DCTELEM(* | block )[64] |
points to one of the following blocks | |
int | block_index [6] |
index to current MB in block based arrays with edges | |
int | block_last_index [12] |
last non zero coefficient in block | |
int | block_wrap [6] |
DCTELEM(* | blocks )[8][64] |
int | broken_link |
no_output_of_prior_pics_flag | |
int | c_dc_scale |
const uint8_t * | c_dc_scale_table |
qscale -> c_dc_scale table | |
uint8_t * | cbp_table |
used to store cbp, ac_pred for partitioned decoding | |
int | chroma_420_type |
uint8_t * | chroma_dc_vlc_length |
int | chroma_elim_threshold |
int | chroma_format |
uint16_t | chroma_inter_matrix [64] |
uint16_t | chroma_intra_matrix [64] |
int | chroma_qscale |
chroma QP | |
const uint8_t * | chroma_qscale_table |
qscale -> chroma_qscale (h263) | |
int | chroma_x_shift |
int | chroma_y_shift |
enum CodecID | codec_id |
uint8_t * | coded_block |
used for coded block pattern prediction (msmpeg4v3, wmv1) | |
uint8_t * | coded_block_base |
int | coded_picture_number |
used to set pic->coded_picture_number, shouldnt be used for/by anything else | |
int | coded_score [8] |
int | concealment_motion_vectors |
int | context_initialized |
Picture | current_picture |
buffer to store the decompressed current picture | |
Picture * | current_picture_ptr |
pointer to the current picture | |
int | custom_pcf |
int | data_partitioning |
data partitioning flag from header | |
int16_t | dc_cache [4 *5] |
int | dc_table_index |
int16_t * | dc_val [3] |
used for mpeg4 DC prediction, all 3 arrays must be continuous | |
int16_t * | dc_val_base |
int | dct_count [2] |
int(* | dct_error_sum )[64] |
uint16_t(* | dct_offset )[64] |
int(* | dct_quantize )(struct MpegEncContext *s, DCTELEM *block, int n, int qscale, int *overflow) |
void(* | dct_unquantize_h261_inter )(struct MpegEncContext *s, DCTELEM *block, int n, int qscale) |
void(* | dct_unquantize_h261_intra )(struct MpegEncContext *s, DCTELEM *block, int n, int qscale) |
void(* | dct_unquantize_h263_inter )(struct MpegEncContext *s, DCTELEM *block, int n, int qscale) |
void(* | dct_unquantize_h263_intra )(struct MpegEncContext *s, DCTELEM *block, int n, int qscale) |
void(* | dct_unquantize_inter )(struct MpegEncContext *s, DCTELEM *block, int n, int qscale) |
void(* | dct_unquantize_intra )(struct MpegEncContext *s, DCTELEM *block, int n, int qscale) |
void(* | dct_unquantize_mpeg1_inter )(struct MpegEncContext *s, DCTELEM *block, int n, int qscale) |
void(* | dct_unquantize_mpeg1_intra )(struct MpegEncContext *s, DCTELEM *block, int n, int qscale) |
void(* | dct_unquantize_mpeg2_inter )(struct MpegEncContext *s, DCTELEM *block, int n, int qscale) |
void(* | dct_unquantize_mpeg2_intra )(struct MpegEncContext *s, DCTELEM *block, int n, int qscale) |
int | decode |
if 0 then decoding will be skipped (for encoding b frames for example) | |
int(* | decode_mb )(struct MpegEncContext *s, DCTELEM block[6][64]) |
void(* | denoise_dct )(struct MpegEncContext *s, DCTELEM *block) |
uint8_t * | dest [3] |
int16_t | direct_scale_mv [2][64] |
precomputed to avoid divisions in ff_mpeg4_set_direct_mv | |
int | divx_build |
int | divx_packed |
int | divx_version |
int | dquant |
qscale difference to prev qscale | |
int | dropable |
DSPContext | dsp |
pointers for accelerated dsp functions | |
uint8_t * | edge_emu_buffer |
points into the middle of allocated_edge_emu_buffer | |
int | encoding |
true if we are encoding (vs decoding) | |
int | end_mb_y |
end mb_y of this thread (so current thread should process start_mb_y <= row < end_mb_y) | |
int | enhancement_type |
int | error_count |
int | error_resilience |
uint8_t * | error_status_table |
table of the error status of each MB | |
int | esc3_level_length |
int | esc3_run_length |
int | f_code |
forward MV resolution | |
int | f_count |
int(* | fast_dct_quantize )(struct MpegEncContext *s, DCTELEM *block, int n, int qscale, int *overflow) |
uint8_t * | fcode_tab |
smallest fcode needed for each MV | |
int | field_select [2][2] |
int | first_field |
is 1 for the first field of a field picture 0 otherwise | |
int | first_slice |
int | first_slice_line |
used in mpeg4 too to handle resync markers | |
int | fixed_qscale |
fixed qscale if non zero | |
int | flags |
AVCodecContext.flags (HQ, MV4, ...). | |
int | flags2 |
AVCodecContext.flags2. | |
int | flipflop_rounding |
int | frame_bits |
bits used for the current frame | |
int | frame_pred_frame_dct |
int | frame_rate_index |
int | full_pel [2] |
GetBitContext | gb |
int | gob_index |
int | gop_picture_number |
index of the first picture of a GOP based on fake_pic_num & mpeg1 specific | |
int | gop_size |
int | h263_aic |
Advanded INTRA Coding (AIC). | |
int | h263_aic_dir |
AIC direction: 0 = left, 1 = top. | |
int | h263_flv |
use flv h263 header | |
int | h263_long_vectors |
use horrible h263v1 long vector mode | |
int | h263_msmpeg4 |
generate MSMPEG4 compatible stream (deprecated, use msmpeg4_version instead) | |
int | h263_plus |
h263 plus headers | |
int | h263_pred |
use mpeg4/h263 ac/dc predictions | |
int | h263_slice_structured |
int | h_edge_pos |
int | header_bits |
int | height |
picture size. must be a multiple of 16 | |
int | hierachy_type |
int | hurry_up |
int | i_count |
int | i_tex_bits |
Picture ** | input_picture |
next pictures on display order for encoding | |
int | input_picture_number |
used to set pic->display_picture_number, shouldnt be used for/by anything else | |
uint8_t * | inter_ac_vlc_last_length |
uint8_t * | inter_ac_vlc_length |
int | inter_intra_pred |
uint16_t | inter_matrix [64] |
int | inter_quant_bias |
bias for the quantizer | |
ScanTable | inter_scantable |
if inter == intra then intra should be used to reduce tha cache usage | |
int | interlaced_dct |
uint8_t * | intra_ac_vlc_last_length |
uint8_t * | intra_ac_vlc_length |
int | intra_dc_precision |
int | intra_dc_threshold |
QP above whch the ac VLC should be used for intra dc. | |
ScanTable | intra_h_scantable |
uint16_t | intra_matrix [64] |
int | intra_only |
if true, only intra pictures are generated | |
int | intra_quant_bias |
bias for the quantizer | |
ScanTable | intra_v_scantable |
int | intra_vlc_format |
int | lambda |
lagrange multipler used in rate distortion | |
int | lambda2 |
(lambda*lambda) >> FF_LAMBDA_SHIFT | |
int * | lambda_table |
int | last_bits |
temp var used for calculating the above vars | |
int | last_dc [3] |
last DC values for MPEG1 | |
int | last_lambda_for [5] |
last lambda for a specific pict type | |
int | last_mv [2][2][2] |
last MV, used for MV prediction in MPEG1 & B-frame MPEG4 | |
int | last_mv_dir |
last mv_dir, used for b frame encoding | |
int | last_non_b_pict_type |
used for mpeg4 gmc b-frames & ratecontrol | |
int64_t | last_non_b_time |
int | last_pict_type |
Picture | last_picture |
Picture * | last_picture_ptr |
pointer to the previous picture. | |
GetBitContext | last_resync_gb |
used to search for the next resync marker | |
int | last_time_base |
int | lavc_build |
int | linesize |
line size, in bytes, may be different from width | |
int | loop_filter |
int | low_delay |
no reordering needed / has no b-frames | |
int | low_latency_sprite |
uint8_t * | luma_dc_vlc_length |
int | luma_elim_threshold |
int | max_b_frames |
max number of b-frames for encoding | |
int | max_qcoeff |
maximum encodable coefficient | |
int | mb_height |
number of MBs horizontally & vertically | |
int * | mb_index2xy |
mb_index -> mb_x + mb_y*mb_stride | |
int | mb_intra |
int | mb_num |
number of MBs of a picture | |
int | mb_num_left |
number of MBs left in this video packet (for partitioned Slices only) | |
int | mb_skip_run |
int | mb_skipped |
MUST BE SET only during DECODING. | |
int | mb_stride |
mb_width+1 used for some arrays to allow simple addressing of left & top MBs without sig11 | |
uint16_t * | mb_type |
Table for candidate MB types for encoding. | |
int | mb_width |
int | mb_x |
int | mb_y |
uint8_t * | mbintra_table |
used to avoid setting {ac, dc, cbp}-pred stuff to zero on inter MB decoding | |
uint8_t * | mbskip_table |
int | mcsel |
MotionEstContext | me |
int | me_method |
ME algorithm. | |
int | min_qcoeff |
minimum encodable coefficient | |
int | misc_bits |
cbp, mb_type | |
struct MJpegContext * | mjpeg_ctx |
int | mjpeg_data_only_frames |
frames only with SOI, SOS and EOI markers | |
int | mjpeg_hsample [3] |
horizontal sampling factors, default = {2, 1, 1} | |
int | mjpeg_vsample [3] |
vertical sampling factors, default = {2, 1, 1} | |
int | mjpeg_write_tables |
do we want to have quantisation- and huffmantables in the jpeg file ? | |
int | modified_quant |
int | mpeg_f_code [2][2] |
int | mpeg_quant |
int | msmpeg4_version |
0=not msmpeg4, 1=mp41, 2=mp42, 3=mp43/divx3 4=wmv1/7 5=wmv2/8 | |
int | mspel |
int | mv [2][4][2] |
int | mv_bits |
int | mv_dir |
int | mv_table_index |
int | mv_type |
Picture | new_picture |
int | new_pred |
int | next_p_frame_damaged |
set if the next p frame is damaged, to avoid showing trashed b frames | |
Picture | next_picture |
Picture * | next_picture_ptr |
pointer to the next picture (for bidir pred) | |
int | no_rounding |
int | num_sprite_warping_points |
int | obmc |
overlapped block motion compensation | |
uint8_t * | obmc_scratchpad |
void * | opaque |
private data for the user | |
enum OutputFormat | out_format |
output format | |
int16_t(*[2][2] | p_field_mv_table )[2] |
MV table (2MV per MB) interlaced p-frame encoding. | |
int16_t(*[2][2] | p_field_mv_table_base )[2] |
uint8_t *[2] | p_field_select_table |
int16_t(* | p_mv_table )[2] |
MV table (1MV per MB) p-frame encoding. | |
int16_t(* | p_mv_table_base )[2] |
int | p_tex_bits |
int | padding_bug_score |
used to detect the VERY common padding bug in MPEG4 | |
ParseContext | parse_context |
int | partitioned_frame |
is current frame partitioned | |
PutBitContext | pb |
PutBitContext | pb2 |
used for data partitioned VOPs | |
uint16_t | pb_field_time |
like above, just for interlaced | |
uint16_t | pb_time |
time distance between the last b and p,s,i frame | |
short * | pblocks [12] |
int | per_mb_rl_table |
int | pict_type |
I_TYPE, P_TYPE, B_TYPE, ... | |
Picture * | picture |
main picture buffer | |
int | picture_in_gop_number |
0-> first pic in gop, ... | |
int | picture_number |
int | picture_structure |
uint16_t | pp_field_time |
uint16_t | pp_time |
time distance between the last 2 p,s,i frames | |
uint8_t * | pred_dir_table |
used to store pred_dir for partitioned decoding | |
uint8_t * | prev_pict_types |
previous picture types in bitstream order, used for mb skip | |
int | progressive_frame |
int | progressive_sequence |
uint8_t * | ptr_lastgob |
int(* | q_inter_matrix )[64] |
uint16_t(* | q_inter_matrix16 )[2][64] |
int(* | q_intra_matrix )[64] |
uint16_t(* | q_intra_matrix16 )[2][64] |
int | q_scale_type |
int | qscale |
QP. | |
int | quant_precision |
int | quarter_sample |
1->qpel, 0->half pel ME/MC | |
RateControlContext | rc_context |
contains stuff only accessed in ratecontrol.c | |
uint8_t * | rd_scratchpad |
scratchpad for rate distortion mb decision | |
int | real_sprite_warping_points |
int | reduced_res_vop |
Picture ** | reordered_input_picture |
pointer to the next pictures in codedorder for encoding | |
int | repeat_first_field |
int | resync_marker |
could this stream contain resync markers | |
int | resync_mb_x |
x position of last resync marker | |
int | resync_mb_y |
y position of last resync marker | |
int | rl_chroma_table_index |
int | rl_table_index |
int | rtp_mode |
int | rv10_first_dc_coded [3] |
int | rv10_version |
RV10 version: 0 or 3. | |
int | rvlc |
reversible vlc | |
int | scalability |
int | shape |
int | skip_count |
int | slice_height |
in macroblocks | |
int | sprite_brightness_change |
int | sprite_delta [2][2] |
sprite_delta [isY][isMVY] | |
int | sprite_height |
int | sprite_left |
int | sprite_offset [2][2] |
sprite offset[isChroma][isMVY] | |
int | sprite_shift [2] |
sprite shift [isChroma] | |
int | sprite_top |
int | sprite_warping_accuracy |
int | sprite_width |
int | start_mb_y |
start mb_y of this thread (so current thread should process start_mb_y <= row < end_mb_y) | |
int | strict_std_compliance |
strictly follow the std (MPEG4, ...) | |
int | swap_uv |
int | t_frame |
time distance of first I -> B, used for interlaced b frames | |
PutBitContext | tex_pb |
used for data partitioned VOPs | |
struct MpegEncContext * | thread_context [MAX_THREADS] |
int64_t | time |
time of current frame | |
int | time_base |
time in seconds of last I,P,S Frame | |
int | time_increment_bits |
number of bits to represent the fractional part of time | |
int | top_field_first |
int64_t | total_bits |
int | umvplus |
== H263+ && unrestricted_mv | |
int | unrestricted_mv |
mv can point outside of the coded picture | |
int | use_intra_dc_vlc |
int | use_skip_mb_code |
int64_t | user_specified_pts |
last non zero pts from AVFrame which was passed into avcodec_encode_video() | |
int | uvlinesize |
line size, for chroma in bytes, may be different from width | |
int | v_edge_pos |
horizontal / vertical position of the right/bottom edge (pixel replication) | |
uint8_t * | vbv_delay_ptr |
pointer to vbv_delay in the bitstream | |
uint8_t * | visualization_buffer [3] |
int | vo_type |
int | vol_control_parameters |
does the stream contain the low_delay flag, used to workaround buggy encoders | |
int | vol_sprite_usage |
int64_t | wanted_bits |
int | width |
int | workaround_bugs |
workaround bugs in encoders which cannot be detected automatically | |
int | xvid_build |
int | y_dc_scale |
const uint8_t * | y_dc_scale_table |
qscale -> y_dc_scale table |