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
 
union {
   const struct MpegEncContext *   parent
 
   const struct MPVMainEncContext *   encparent
 
}; 
 
void * private_ctx
 
int width
 
int height
 picture size. must be a multiple of 16 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 encoding
 true if we are encoding (vs decoding) More...
 
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 picture_number
 
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 AVRefStructPoolpicture_pool
 Pool for MPVPictures. More...
 
BufferPoolContext buffer_pools
 
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...
 
union {
   struct MpegEncContext *   thread_context [MAX_THREADS]
 
   struct MPVEncContext *   enc_contexts [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...
 
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...
 
int pict_type
 AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, ... More...
 
int droppable
 
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
 
H264ChromaContext h264chroma
 
HpelDSPContext hdsp
 
IDCTDSPContext idsp
 
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_field_mv_table_base )[2]
 
int16_t(*[2][2] p_field_mv_table )[2]
 MV table (2MV per MB) interlaced P-frame encoding. 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...
 
int16_t direct_scale_mv [2][64]
 precomputed to avoid divisions in ff_mpeg4_set_direct_mv More...
 
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
 
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 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 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
 
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...
 
int mpeg_quant
 
int padding_bug_score
 used to detect the VERY common padding bug in MPEG-4 More...
 
int divx_packed
 
int rv10_version
 RV10 version: 0 or 3. More...
 
int rv10_first_dc_coded [3]
 
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 inter_intra_pred
 
int mspel
 
GetBitContext gb
 
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 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...
 
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_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 context_reinit
 
unsigned slice_ctx_size
 If set, ff_mpv_common_init() will allocate slice contexts of this size. More...
 
ERContext er
 

Detailed Description

MpegEncContext.

Definition at line 64 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 277 of file mpegvideo.h.

Field Documentation

◆ class

AVClass* MpegEncContext::class

Definition at line 65 of file mpegvideo.h.

◆ y_dc_scale

int MpegEncContext::y_dc_scale

Definition at line 67 of file mpegvideo.h.

◆ c_dc_scale

int MpegEncContext::c_dc_scale

Definition at line 67 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 69 of file mpegvideo.h.

◆ h263_aic

int MpegEncContext::h263_aic

Advanced INTRA Coding (AIC)

Definition at line 70 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 73 of file mpegvideo.h.

◆ intra_scantable

ScanTable MpegEncContext::intra_scantable

Definition at line 78 of file mpegvideo.h.

Referenced by ipu_decode_frame().

◆ permutated_intra_h_scantable

uint8_t MpegEncContext::permutated_intra_h_scantable[64]

Definition at line 79 of file mpegvideo.h.

◆ permutated_intra_v_scantable

uint8_t MpegEncContext::permutated_intra_v_scantable[64]

Definition at line 80 of file mpegvideo.h.

◆ avctx

struct AVCodecContext* MpegEncContext::avctx

◆ parent

const struct MpegEncContext* MpegEncContext::parent

Definition at line 84 of file mpegvideo.h.

◆ encparent

const struct MPVMainEncContext* MpegEncContext::encparent

Definition at line 85 of file mpegvideo.h.

◆ @185

union { ... }

◆ private_ctx

void* MpegEncContext::private_ctx

Definition at line 89 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context().

◆ width

int MpegEncContext::width

◆ height

int MpegEncContext::height

picture size. must be a multiple of 16

Definition at line 91 of file mpegvideo.h.

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

◆ out_format

enum OutputFormat MpegEncContext::out_format

output format

Definition at line 92 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 93 of file mpegvideo.h.

◆ pb_frame

int MpegEncContext::pb_frame

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

Definition at line 94 of file mpegvideo.h.

◆ h263_plus

int MpegEncContext::h263_plus

H.263+ headers.

Definition at line 97 of file mpegvideo.h.

◆ h263_flv

int MpegEncContext::h263_flv

use flv H.263 header

Definition at line 98 of file mpegvideo.h.

◆ codec_id

enum AVCodecID MpegEncContext::codec_id

Definition at line 100 of file mpegvideo.h.

Referenced by decode_chunks().

◆ encoding

int MpegEncContext::encoding

true if we are encoding (vs decoding)

Definition at line 101 of file mpegvideo.h.

◆ workaround_bugs

int MpegEncContext::workaround_bugs

workaround bugs in encoders which cannot be detected automatically

Definition at line 102 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 103 of file mpegvideo.h.

Referenced by mpeg_decode_frame().

◆ context_initialized

int MpegEncContext::context_initialized

Definition at line 107 of file mpegvideo.h.

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

◆ picture_number

int MpegEncContext::picture_number

Definition at line 108 of file mpegvideo.h.

Referenced by encode_frame(), and ff_mpeg_update_thread_context().

◆ mb_width

int MpegEncContext::mb_width

Definition at line 109 of file mpegvideo.h.

Referenced by bitplane_decoding(), encode_frame(), and svq1_encode_plane().

◆ mb_height

int MpegEncContext::mb_height

number of MBs horizontally & vertically

Definition at line 109 of file mpegvideo.h.

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

◆ 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 110 of file mpegvideo.h.

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

◆ b8_stride

int MpegEncContext::b8_stride

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

Definition at line 111 of file mpegvideo.h.

Referenced by encode_frame(), and svq1_encode_plane().

◆ h_edge_pos

int MpegEncContext::h_edge_pos

Definition at line 112 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 112 of file mpegvideo.h.

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

◆ mb_num

int MpegEncContext::mb_num

number of MBs of a picture

Definition at line 113 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 114 of file mpegvideo.h.

Referenced by encode_frame(), ff_mpeg_update_thread_context(), mpeg_motion_lowres(), mpv_reconstruct_mb(), mpv_reconstruct_mb_internal(), and svq1_encode_plane().

◆ uvlinesize

ptrdiff_t MpegEncContext::uvlinesize

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

Definition at line 115 of file mpegvideo.h.

Referenced by encode_frame(), ff_mpeg_update_thread_context(), mpeg_motion_lowres(), mpv_reconstruct_mb(), and mpv_reconstruct_mb_internal().

◆ picture_pool

struct AVRefStructPool* MpegEncContext::picture_pool

Pool for MPVPictures.

Definition at line 116 of file mpegvideo.h.

Referenced by ff_mpv_decode_init().

◆ buffer_pools

BufferPoolContext MpegEncContext::buffer_pools

Definition at line 118 of file mpegvideo.h.

◆ 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 120 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 121 of file mpegvideo.h.

Referenced by decode_chunks().

◆ thread_context

struct MpegEncContext* MpegEncContext::thread_context[MAX_THREADS]

Definition at line 123 of file mpegvideo.h.

Referenced by decode_chunks(), and mpeg12_execute_slice_threads().

◆ enc_contexts

struct MPVEncContext* MpegEncContext::enc_contexts[MAX_THREADS]

Definition at line 124 of file mpegvideo.h.

◆ @187

union { ... }

◆ slice_context_count

int MpegEncContext::slice_context_count

number of used thread_contexts

Definition at line 126 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 132 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(), svq1_encode_plane(), 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 138 of file mpegvideo.h.

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

◆ cur_pic

MPVWorkPicture MpegEncContext::cur_pic

◆ skipped_last_frame

int MpegEncContext::skipped_last_frame

Definition at line 146 of file mpegvideo.h.

◆ last_dc

int MpegEncContext::last_dc[3]

last DC values for MPEG-1

Definition at line 147 of file mpegvideo.h.

Referenced by ipu_decode_frame().

◆ dc_val_base

int16_t* MpegEncContext::dc_val_base

Definition at line 148 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 149 of file mpegvideo.h.

◆ y_dc_scale_table

const uint8_t* MpegEncContext::y_dc_scale_table

qscale -> y_dc_scale table

Definition at line 150 of file mpegvideo.h.

◆ c_dc_scale_table

const uint8_t* MpegEncContext::c_dc_scale_table

qscale -> c_dc_scale table

Definition at line 151 of file mpegvideo.h.

◆ chroma_qscale_table

const uint8_t* MpegEncContext::chroma_qscale_table

qscale -> chroma_qscale (H.263)

Definition at line 152 of file mpegvideo.h.

◆ coded_block_base

uint8_t* MpegEncContext::coded_block_base

Definition at line 153 of file mpegvideo.h.

◆ coded_block

uint8_t* MpegEncContext::coded_block

used for coded block pattern prediction (msmpeg4v3, wmv1)

Definition at line 154 of file mpegvideo.h.

◆ ac_val_base

int16_t(* MpegEncContext::ac_val_base)[16]

Definition at line 155 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 156 of file mpegvideo.h.

◆ mb_skipped

int MpegEncContext::mb_skipped

MUST BE SET only during DECODING.

Definition at line 157 of file mpegvideo.h.

◆ 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 158 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 160 of file mpegvideo.h.

◆ cbp_table

uint8_t* MpegEncContext::cbp_table

used to store cbp, ac_pred for partitioned decoding

Definition at line 161 of file mpegvideo.h.

◆ pred_dir_table

uint8_t* MpegEncContext::pred_dir_table

used to store pred_dir for partitioned decoding

Definition at line 162 of file mpegvideo.h.

◆ sc

ScratchpadContext MpegEncContext::sc

Definition at line 164 of file mpegvideo.h.

Referenced by encode_picture().

◆ qscale

int MpegEncContext::qscale

◆ chroma_qscale

int MpegEncContext::chroma_qscale

chroma QP

Definition at line 167 of file mpegvideo.h.

◆ pict_type

int MpegEncContext::pict_type

◆ droppable

int MpegEncContext::droppable

Definition at line 169 of file mpegvideo.h.

◆ unrestricted_mv

int MpegEncContext::unrestricted_mv

mv can point outside of the coded picture

Definition at line 172 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 173 of file mpegvideo.h.

◆ bdsp

BlockDSPContext MpegEncContext::bdsp

Definition at line 175 of file mpegvideo.h.

◆ h264chroma

H264ChromaContext MpegEncContext::h264chroma

Definition at line 176 of file mpegvideo.h.

◆ hdsp

HpelDSPContext MpegEncContext::hdsp

Definition at line 177 of file mpegvideo.h.

Referenced by encode_frame().

◆ idsp

IDCTDSPContext MpegEncContext::idsp

Definition at line 178 of file mpegvideo.h.

Referenced by ipu_decode_frame(), and ipu_decode_init().

◆ qdsp

QpelDSPContext MpegEncContext::qdsp

Definition at line 179 of file mpegvideo.h.

Referenced by encode_frame().

◆ vdsp

VideoDSPContext MpegEncContext::vdsp

Definition at line 180 of file mpegvideo.h.

◆ h263dsp

H263DSPContext MpegEncContext::h263dsp

Definition at line 181 of file mpegvideo.h.

◆ f_code

int MpegEncContext::f_code

forward MV resolution

Definition at line 182 of file mpegvideo.h.

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

◆ b_code

int MpegEncContext::b_code

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

Definition at line 183 of file mpegvideo.h.

◆ p_field_mv_table_base

int16_t(* MpegEncContext::p_field_mv_table_base)[2]

Definition at line 184 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 185 of file mpegvideo.h.

◆ mv_dir

int MpegEncContext::mv_dir

Definition at line 187 of file mpegvideo.h.

◆ mv_type

int MpegEncContext::mv_type

Definition at line 191 of file mpegvideo.h.

◆ 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 202 of file mpegvideo.h.

◆ field_select

int MpegEncContext::field_select[2][2]

Definition at line 203 of file mpegvideo.h.

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

◆ 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 204 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 205 of file mpegvideo.h.

◆ 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 207 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 212 of file mpegvideo.h.

◆ mb_intra

int MpegEncContext::mb_intra

Definition at line 213 of file mpegvideo.h.

◆ block_index

int MpegEncContext::block_index[6]

index to current MB in block based arrays with edges

Definition at line 215 of file mpegvideo.h.

Referenced by vc1_decode_reset().

◆ block_wrap

int MpegEncContext::block_wrap[6]

Definition at line 216 of file mpegvideo.h.

◆ dest

uint8_t* MpegEncContext::dest[3]

Definition at line 217 of file mpegvideo.h.

Referenced by add_dct(), add_dequant_dct(), hpel_motion_lowres(), and put_dct().

◆ mb_index2xy

int* MpegEncContext::mb_index2xy

mb_index -> mb_x + mb_y*mb_stride

Definition at line 219 of file mpegvideo.h.

◆ intra_matrix

uint16_t MpegEncContext::intra_matrix[64]

matrix transmitted in the bitstream

Definition at line 222 of file mpegvideo.h.

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

◆ chroma_intra_matrix

uint16_t MpegEncContext::chroma_intra_matrix[64]

Definition at line 223 of file mpegvideo.h.

Referenced by ipu_decode_init().

◆ inter_matrix

uint16_t MpegEncContext::inter_matrix[64]

Definition at line 224 of file mpegvideo.h.

Referenced by init_matrices().

◆ chroma_inter_matrix

uint16_t MpegEncContext::chroma_inter_matrix[64]

Definition at line 225 of file mpegvideo.h.

◆ resync_mb_x

int MpegEncContext::resync_mb_x

x position of last resync marker

Definition at line 228 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 229 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 230 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 231 of file mpegvideo.h.

◆ gob_index

int MpegEncContext::gob_index

Definition at line 234 of file mpegvideo.h.

◆ obmc

int MpegEncContext::obmc

overlapped block motion compensation

Definition at line 235 of file mpegvideo.h.

◆ ehc_mode

int MpegEncContext::ehc_mode

Definition at line 236 of file mpegvideo.h.

◆ umvplus

int MpegEncContext::umvplus

== H.263+ && unrestricted_mv

Definition at line 239 of file mpegvideo.h.

◆ h263_aic_dir

int MpegEncContext::h263_aic_dir

AIC direction: 0 = left, 1 = top.

Definition at line 240 of file mpegvideo.h.

◆ h263_slice_structured

int MpegEncContext::h263_slice_structured

Definition at line 241 of file mpegvideo.h.

◆ alt_inter_vlc

int MpegEncContext::alt_inter_vlc

alternative inter vlc

Definition at line 242 of file mpegvideo.h.

◆ modified_quant

int MpegEncContext::modified_quant

Definition at line 243 of file mpegvideo.h.

◆ loop_filter

int MpegEncContext::loop_filter

◆ custom_pcf

int MpegEncContext::custom_pcf

Definition at line 245 of file mpegvideo.h.

◆ studio_profile

int MpegEncContext::studio_profile

Definition at line 248 of file mpegvideo.h.

◆ dct_precision

int MpegEncContext::dct_precision

Definition at line 249 of file mpegvideo.h.

◆ last_time_base

int MpegEncContext::last_time_base

Definition at line 250 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 251 of file mpegvideo.h.

◆ time

int64_t MpegEncContext::time

time of current frame

Definition at line 252 of file mpegvideo.h.

◆ last_non_b_time

int64_t MpegEncContext::last_non_b_time

Definition at line 253 of file mpegvideo.h.

◆ pp_time

uint16_t MpegEncContext::pp_time

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

Definition at line 254 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 255 of file mpegvideo.h.

◆ pp_field_time

uint16_t MpegEncContext::pp_field_time

Definition at line 256 of file mpegvideo.h.

◆ pb_field_time

uint16_t MpegEncContext::pb_field_time

like above, just for interlaced

Definition at line 257 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context().

◆ mcsel

int MpegEncContext::mcsel

Definition at line 258 of file mpegvideo.h.

◆ quarter_sample

int MpegEncContext::quarter_sample

◆ data_partitioning

int MpegEncContext::data_partitioning

data partitioning flag from header

Definition at line 260 of file mpegvideo.h.

◆ partitioned_frame

int MpegEncContext::partitioned_frame

is current frame partitioned

Definition at line 261 of file mpegvideo.h.

◆ low_delay

int MpegEncContext::low_delay

no reordering needed / has no B-frames

Definition at line 262 of file mpegvideo.h.

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

◆ mpeg_quant

int MpegEncContext::mpeg_quant

Definition at line 263 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 264 of file mpegvideo.h.

Referenced by ff_mpeg_update_thread_context().

◆ divx_packed

int MpegEncContext::divx_packed

Definition at line 267 of file mpegvideo.h.

◆ rv10_version

int MpegEncContext::rv10_version

RV10 version: 0 or 3.

Definition at line 270 of file mpegvideo.h.

◆ rv10_first_dc_coded

int MpegEncContext::rv10_first_dc_coded[3]

Definition at line 271 of file mpegvideo.h.

◆ slice_height

int MpegEncContext::slice_height

in macroblocks

Definition at line 274 of file mpegvideo.h.

◆ first_slice_line

int MpegEncContext::first_slice_line

used in MPEG-4 too to handle resync markers

Definition at line 275 of file mpegvideo.h.

Referenced by svq1_encode_plane().

◆ flipflop_rounding

int MpegEncContext::flipflop_rounding

Definition at line 276 of file mpegvideo.h.

◆ msmpeg4_version

enum { ... } MpegEncContext::msmpeg4_version

◆ inter_intra_pred

int MpegEncContext::inter_intra_pred

Definition at line 286 of file mpegvideo.h.

◆ mspel

int MpegEncContext::mspel

Definition at line 287 of file mpegvideo.h.

Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

◆ gb

GetBitContext MpegEncContext::gb

◆ progressive_sequence

int MpegEncContext::progressive_sequence

Definition at line 293 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 294 of file mpegvideo.h.

◆ picture_structure

int MpegEncContext::picture_structure

Definition at line 297 of file mpegvideo.h.

Referenced by decode_chunks().

◆ intra_dc_precision

int MpegEncContext::intra_dc_precision

Definition at line 299 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 300 of file mpegvideo.h.

Referenced by decode_chunks().

◆ top_field_first

int MpegEncContext::top_field_first

Definition at line 301 of file mpegvideo.h.

Referenced by mpeg_decode_a53_cc().

◆ concealment_motion_vectors

int MpegEncContext::concealment_motion_vectors

Definition at line 302 of file mpegvideo.h.

◆ q_scale_type

int MpegEncContext::q_scale_type

Definition at line 303 of file mpegvideo.h.

Referenced by ipu_decode_frame().

◆ intra_vlc_format

int MpegEncContext::intra_vlc_format

Definition at line 304 of file mpegvideo.h.

Referenced by ipu_decode_frame().

◆ alternate_scan

int MpegEncContext::alternate_scan

Definition at line 305 of file mpegvideo.h.

Referenced by ipu_decode_frame().

◆ repeat_first_field

int MpegEncContext::repeat_first_field

Definition at line 306 of file mpegvideo.h.

◆ chroma_420_type

int MpegEncContext::chroma_420_type

Definition at line 307 of file mpegvideo.h.

◆ chroma_format

int MpegEncContext::chroma_format

Definition at line 308 of file mpegvideo.h.

Referenced by encode_mb_internal(), and mpeg_decode_init().

◆ chroma_x_shift

int MpegEncContext::chroma_x_shift

Definition at line 312 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 313 of file mpegvideo.h.

Referenced by encode_mb_internal().

◆ progressive_frame

int MpegEncContext::progressive_frame

Definition at line 315 of file mpegvideo.h.

Referenced by decode_chunks().

◆ full_pel

int MpegEncContext::full_pel[2]

Definition at line 316 of file mpegvideo.h.

◆ interlaced_dct

int MpegEncContext::interlaced_dct

Definition at line 317 of file mpegvideo.h.

◆ first_field

int MpegEncContext::first_field

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

Definition at line 318 of file mpegvideo.h.

Referenced by decode_chunks(), and ff_mpeg_update_thread_context().

◆ block

int16_t(* MpegEncContext::block)[64]

points to one of the following blocks

Definition at line 320 of file mpegvideo.h.

◆ blocks

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

Definition at line 321 of file mpegvideo.h.

◆ decode_mb

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

Definition at line 322 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 329 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 331 of file mpegvideo.h.

◆ context_reinit

int MpegEncContext::context_reinit

Definition at line 336 of file mpegvideo.h.

◆ slice_ctx_size

unsigned MpegEncContext::slice_ctx_size

If set, ff_mpv_common_init() will allocate slice contexts of this size.

Definition at line 339 of file mpegvideo.h.

◆ er

ERContext MpegEncContext::er

Definition at line 341 of file mpegvideo.h.

Referenced by decode_chunks(), ff_vc1_decode_blocks(), and mpeg12_execute_slice_threads().


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