FFmpeg
Loading...
Searching...
No Matches
AVSContext Struct Reference

#include <cavs.h>

Data Fields

AVCodecContext * avctx
 
BlockDSPContext bdsp
 
H264ChromaContext h264chroma
 
VideoDSPContext vdsp
 
CAVSDSPContext cdsp
 
GetBitContext gb
 
AVSFrame cur
 currently decoded frame
 
AVSFrame DPB [2]
 reference frames
 
struct { 
 
   AVFrame *   f 
 frame the reference belongs to More...
 
   int   parity 
 first line of the reference field inside it More...
 
} ref [4] 
 The reference of every reference index, clause 9.4.5: a frame, or the field of one starting at parity; both lists share the array.
 
int ref_base [2]
 first entry of the forward and the backward list
 
int dist [4]
 BlockDistance of every reference, clause 9.4.6.1.
 
int low_delay
 
int progressive_seq
 
int profile
 
int level
 
int aspect_ratio
 
int mb_width
 
int mb_height
 
int width
 
int height
 
int stream_revision
 0 for samples from 2006, 1 for rm52j encoder
 
int progressive
 
int pic_structure
 
int top_field_first
 first coded field is the top one, clause 7.2.3
 
int b_field_enhanced
 BFieldEnhanced of the picture, clause 9.9.1 b)
 
int field
 field of the current MB, 0 or 1, clause 3.24
 
int field_mby
 macroblock row of the current macroblock in it
 
int skip_mode_flag
 select between skip_count or one skip_flag per MB
 
int aec_enable
 the macroblock layer uses AEC (AVS1-P16)
 
int aec_start
 byte offset of the current AEC slice's payload
 
CAVSAECContext aec
 AEC decoder state and contexts, clause 8.4.
 
int prev_delta_qp
 PreviousDeltaQP of clause 9.4.8, an AEC context.
 
int left_cbp
 MbCBP of the macroblock to the left.
 
uint8_t * top_cbp
 MbCBP of the macroblock above, one per column.
 
int left_mb_type
 MbType to the left, clause 8.4.4.2 b)
 
uint8_t * top_mb_type
 MbType above, one per column.
 
int left_c_pred_mode
 IntraChromaPredMode to the left, 8.4.4.2 e)
 
uint8_t * top_c_pred_mode
 IntraChromaPredMode above, per column.
 
int loop_filter_disable
 
int alpha_offset
 
int beta_offset
 
int ref_flag
 
int mbx
 
int mby
 
int mbidx
 macroblock coordinates
 
int flags
 availability flags of neighbouring macroblocks
 
int stc
 last start code
 
int pic_data_end
 a unit that is not a slice ended the picture's data
 
uint8_t * cy
 
uint8_t * cu
 
uint8_t * cv
 current MB sample pointers
 
int left_qp
 
uint8_t * top_qp
 
cavs_vector mv [2 *4 *3]
 mv motion vector cache 0: D3 B2 B3 C2 4: A1 X0 X1 - 8: A3 X2 X3 -
 
int16_t mvd [2 *4 *3][2]
 mv_diff of the same blocks, for the ctxIdxInc of clause 8.4.4.2 g)
 
cavs_vector * top_mv [2]
 
cavs_vector * col_mv
 
int pred_mode_Y [3 *3]
 luma pred mode cache 0: – B2 B3 3: A1 X0 X1 6: A3 X2 X3
 
int * top_pred_Y
 
ptrdiff_t l_stride
 
ptrdiff_t c_stride
 
int luma_scan [4]
 
int qp
 
int qp_fixed
 
int pic_qp_fixed
 
int cbp
 
int16_t block [64]
 
uint8_t permutated_scantable [64]
 
uint8_t permutated_scantable_field [64]
 inverse block scan method 2 of clause 9.5.3 c), for field pictures
 
const uint8_t * scantable
 the one of the two the current picture uses, selected in decode_pic()
 
uint8_t * top_border_y
 intra prediction is done with un-deblocked samples they are saved here before deblocking the MB
 
uint8_t * top_border_u
 
uint8_t * top_border_v
 
uint8_t left_border_y [26]
 
uint8_t left_border_u [10]
 
uint8_t left_border_v [10]
 
uint8_t intern_border_y [26]
 
uint8_t topleft_border_y
 
uint8_t topleft_border_u
 
uint8_t topleft_border_v
 
void(* intra_pred_l [8])(uint8_t *d, uint8_t *top, uint8_t *left, ptrdiff_t stride)
 
void(* intra_pred_c [7])(uint8_t *d, uint8_t *top, uint8_t *left, ptrdiff_t stride)
 
uint8_t * col_type_base
 
int scale_den [4]
 512 / dist[], for scaling neighbouring MVs (clause 9.4.6.2 step 3)
 
uint16_t direct_den [512]
 16384 / BlockDistanceRef of clause 9.9.1 b) 3), indexed by the co-located block's own distance, which is 9 bits (clause 9.4.6.1)
 
uint8_t * edge_emu_buffer
 
uint8_t * deemulated_buf
 picture payload with the annex A pseudo start codes removed, allocated only for the pictures that carry one
 
unsigned int deemulated_buf_size
 
uint32_t * stc_offset
 byte offsets in deemulated_buf at which a start code prefix of the original payload begins
 
unsigned int stc_offset_size
 
int nb_stc_offset
 
int got_keyframe
 

Detailed Description

Definition at line 177 of file cavs.h.

Field Documentation

◆ avctx

AVCodecContext* AVSContext::avctx

Definition at line 178 of file cavs.h.

◆ bdsp

BlockDSPContext AVSContext::bdsp

Definition at line 179 of file cavs.h.

◆ h264chroma

H264ChromaContext AVSContext::h264chroma

Definition at line 180 of file cavs.h.

◆ vdsp

VideoDSPContext AVSContext::vdsp

Definition at line 181 of file cavs.h.

◆ cdsp

CAVSDSPContext AVSContext::cdsp

Definition at line 182 of file cavs.h.

◆ gb

GetBitContext AVSContext::gb

Definition at line 183 of file cavs.h.

◆ cur

AVSFrame AVSContext::cur

currently decoded frame

Definition at line 184 of file cavs.h.

◆ DPB

AVSFrame AVSContext::DPB[2]

reference frames

Definition at line 185 of file cavs.h.

◆ f

AVFrame* AVSContext::f

frame the reference belongs to

Definition at line 191 of file cavs.h.

◆ parity

int AVSContext::parity

first line of the reference field inside it

Definition at line 192 of file cavs.h.

◆ [struct]

struct { ... } AVSContext::ref[4]

The reference of every reference index, clause 9.4.5: a frame, or the field of one starting at parity; both lists share the array.

◆ ref_base

int AVSContext::ref_base[2]

first entry of the forward and the backward list

Definition at line 194 of file cavs.h.

◆ dist

int AVSContext::dist[4]

BlockDistance of every reference, clause 9.4.6.1.

Definition at line 195 of file cavs.h.

◆ low_delay

int AVSContext::low_delay

Definition at line 196 of file cavs.h.

◆ progressive_seq

int AVSContext::progressive_seq

Definition at line 197 of file cavs.h.

◆ profile

int AVSContext::profile

Definition at line 198 of file cavs.h.

◆ level

int AVSContext::level

Definition at line 198 of file cavs.h.

◆ aspect_ratio

int AVSContext::aspect_ratio

Definition at line 199 of file cavs.h.

◆ mb_width

int AVSContext::mb_width

Definition at line 200 of file cavs.h.

◆ mb_height

int AVSContext::mb_height

Definition at line 200 of file cavs.h.

◆ width

int AVSContext::width

Definition at line 201 of file cavs.h.

◆ height

int AVSContext::height

Definition at line 201 of file cavs.h.

◆ stream_revision

int AVSContext::stream_revision

0 for samples from 2006, 1 for rm52j encoder

Definition at line 202 of file cavs.h.

◆ progressive

int AVSContext::progressive

Definition at line 203 of file cavs.h.

◆ pic_structure

int AVSContext::pic_structure

Definition at line 204 of file cavs.h.

◆ top_field_first

int AVSContext::top_field_first

first coded field is the top one, clause 7.2.3

Definition at line 205 of file cavs.h.

◆ b_field_enhanced

int AVSContext::b_field_enhanced

BFieldEnhanced of the picture, clause 9.9.1 b)

Definition at line 206 of file cavs.h.

◆ field

int AVSContext::field

field of the current MB, 0 or 1, clause 3.24

Definition at line 207 of file cavs.h.

◆ field_mby

int AVSContext::field_mby

macroblock row of the current macroblock in it

Definition at line 208 of file cavs.h.

◆ skip_mode_flag

int AVSContext::skip_mode_flag

select between skip_count or one skip_flag per MB

Definition at line 209 of file cavs.h.

◆ aec_enable

int AVSContext::aec_enable

the macroblock layer uses AEC (AVS1-P16)

Definition at line 210 of file cavs.h.

◆ aec_start

int AVSContext::aec_start

byte offset of the current AEC slice's payload

Definition at line 211 of file cavs.h.

◆ aec

CAVSAECContext AVSContext::aec

AEC decoder state and contexts, clause 8.4.

Definition at line 212 of file cavs.h.

◆ prev_delta_qp

int AVSContext::prev_delta_qp

PreviousDeltaQP of clause 9.4.8, an AEC context.

Definition at line 213 of file cavs.h.

◆ left_cbp

int AVSContext::left_cbp

MbCBP of the macroblock to the left.

Definition at line 214 of file cavs.h.

◆ top_cbp

uint8_t* AVSContext::top_cbp

MbCBP of the macroblock above, one per column.

Definition at line 215 of file cavs.h.

◆ left_mb_type

int AVSContext::left_mb_type

MbType to the left, clause 8.4.4.2 b)

Definition at line 216 of file cavs.h.

◆ top_mb_type

uint8_t* AVSContext::top_mb_type

MbType above, one per column.

Definition at line 217 of file cavs.h.

◆ left_c_pred_mode

int AVSContext::left_c_pred_mode

IntraChromaPredMode to the left, 8.4.4.2 e)

Definition at line 218 of file cavs.h.

◆ top_c_pred_mode

uint8_t* AVSContext::top_c_pred_mode

IntraChromaPredMode above, per column.

Definition at line 219 of file cavs.h.

◆ loop_filter_disable

int AVSContext::loop_filter_disable

Definition at line 220 of file cavs.h.

◆ alpha_offset

int AVSContext::alpha_offset

Definition at line 221 of file cavs.h.

◆ beta_offset

int AVSContext::beta_offset

Definition at line 221 of file cavs.h.

◆ ref_flag

int AVSContext::ref_flag

Definition at line 222 of file cavs.h.

◆ mbx

int AVSContext::mbx

Definition at line 223 of file cavs.h.

◆ mby

int AVSContext::mby

Definition at line 223 of file cavs.h.

◆ mbidx

int AVSContext::mbidx

macroblock coordinates

Definition at line 223 of file cavs.h.

◆ flags

int AVSContext::flags

availability flags of neighbouring macroblocks

Definition at line 224 of file cavs.h.

◆ stc

int AVSContext::stc

last start code

Definition at line 225 of file cavs.h.

◆ pic_data_end

int AVSContext::pic_data_end

a unit that is not a slice ended the picture's data

Definition at line 226 of file cavs.h.

◆ cy

uint8_t* AVSContext::cy

Definition at line 227 of file cavs.h.

◆ cu

uint8_t * AVSContext::cu

Definition at line 227 of file cavs.h.

◆ cv

uint8_t * AVSContext::cv

current MB sample pointers

Definition at line 227 of file cavs.h.

◆ left_qp

int AVSContext::left_qp

Definition at line 228 of file cavs.h.

◆ top_qp

uint8_t* AVSContext::top_qp

Definition at line 229 of file cavs.h.

◆ mv

cavs_vector AVSContext::mv[2 *4 *3]

mv motion vector cache 0: D3 B2 B3 C2 4: A1 X0 X1 - 8: A3 X2 X3 -

X are the vectors in the current macroblock (5,6,9,10) A is the macroblock to the left (4,8) B is the macroblock to the top (1,2) C is the macroblock to the top-right (3) D is the macroblock to the top-left (0)

the same is repeated for backward motion vectors

Definition at line 243 of file cavs.h.

◆ mvd

int16_t AVSContext::mvd[2 *4 *3][2]

mv_diff of the same blocks, for the ctxIdxInc of clause 8.4.4.2 g)

Definition at line 245 of file cavs.h.

◆ top_mv

cavs_vector* AVSContext::top_mv[2]

Definition at line 246 of file cavs.h.

◆ col_mv

cavs_vector* AVSContext::col_mv

Definition at line 247 of file cavs.h.

◆ pred_mode_Y

int AVSContext::pred_mode_Y[3 *3]

luma pred mode cache 0: – B2 B3 3: A1 X0 X1 6: A3 X2 X3

Definition at line 253 of file cavs.h.

◆ top_pred_Y

int* AVSContext::top_pred_Y

Definition at line 254 of file cavs.h.

◆ l_stride

ptrdiff_t AVSContext::l_stride

Definition at line 255 of file cavs.h.

◆ c_stride

ptrdiff_t AVSContext::c_stride

Definition at line 255 of file cavs.h.

◆ luma_scan

int AVSContext::luma_scan[4]

Definition at line 256 of file cavs.h.

◆ qp

int AVSContext::qp

Definition at line 257 of file cavs.h.

◆ qp_fixed

int AVSContext::qp_fixed

Definition at line 258 of file cavs.h.

◆ pic_qp_fixed

int AVSContext::pic_qp_fixed

Definition at line 259 of file cavs.h.

◆ cbp

int AVSContext::cbp

Definition at line 260 of file cavs.h.

◆ block

int16_t AVSContext::block[64]

Definition at line 261 of file cavs.h.

◆ permutated_scantable

uint8_t AVSContext::permutated_scantable[64]

Definition at line 262 of file cavs.h.

◆ permutated_scantable_field

uint8_t AVSContext::permutated_scantable_field[64]

inverse block scan method 2 of clause 9.5.3 c), for field pictures

Definition at line 264 of file cavs.h.

◆ scantable

const uint8_t* AVSContext::scantable

the one of the two the current picture uses, selected in decode_pic()

Definition at line 266 of file cavs.h.

◆ top_border_y

uint8_t* AVSContext::top_border_y

intra prediction is done with un-deblocked samples they are saved here before deblocking the MB

Definition at line 270 of file cavs.h.

◆ top_border_u

uint8_t * AVSContext::top_border_u

Definition at line 270 of file cavs.h.

◆ top_border_v

uint8_t * AVSContext::top_border_v

Definition at line 270 of file cavs.h.

◆ left_border_y

uint8_t AVSContext::left_border_y[26]

Definition at line 271 of file cavs.h.

◆ left_border_u

uint8_t AVSContext::left_border_u[10]

Definition at line 271 of file cavs.h.

◆ left_border_v

uint8_t AVSContext::left_border_v[10]

Definition at line 271 of file cavs.h.

◆ intern_border_y

uint8_t AVSContext::intern_border_y[26]

Definition at line 272 of file cavs.h.

◆ topleft_border_y

uint8_t AVSContext::topleft_border_y

Definition at line 273 of file cavs.h.

◆ topleft_border_u

uint8_t AVSContext::topleft_border_u

Definition at line 273 of file cavs.h.

◆ topleft_border_v

uint8_t AVSContext::topleft_border_v

Definition at line 273 of file cavs.h.

◆ intra_pred_l

void(* AVSContext::intra_pred_l[8])(uint8_t *d, uint8_t *top, uint8_t *left, ptrdiff_t stride)

Definition at line 275 of file cavs.h.

◆ intra_pred_c

void(* AVSContext::intra_pred_c[7])(uint8_t *d, uint8_t *top, uint8_t *left, ptrdiff_t stride)

Definition at line 276 of file cavs.h.

◆ col_type_base

uint8_t* AVSContext::col_type_base

Definition at line 277 of file cavs.h.

◆ scale_den

int AVSContext::scale_den[4]

512 / dist[], for scaling neighbouring MVs (clause 9.4.6.2 step 3)

Definition at line 280 of file cavs.h.

◆ direct_den

uint16_t AVSContext::direct_den[512]

16384 / BlockDistanceRef of clause 9.9.1 b) 3), indexed by the co-located block's own distance, which is 9 bits (clause 9.4.6.1)

Definition at line 286 of file cavs.h.

◆ edge_emu_buffer

uint8_t* AVSContext::edge_emu_buffer

Definition at line 288 of file cavs.h.

◆ deemulated_buf

uint8_t* AVSContext::deemulated_buf

picture payload with the annex A pseudo start codes removed, allocated only for the pictures that carry one

Definition at line 294 of file cavs.h.

◆ deemulated_buf_size

unsigned int AVSContext::deemulated_buf_size

Definition at line 295 of file cavs.h.

◆ stc_offset

uint32_t* AVSContext::stc_offset

byte offsets in deemulated_buf at which a start code prefix of the original payload begins

Definition at line 300 of file cavs.h.

◆ stc_offset_size

unsigned int AVSContext::stc_offset_size

Definition at line 301 of file cavs.h.

◆ nb_stc_offset

int AVSContext::nb_stc_offset

Definition at line 302 of file cavs.h.

◆ got_keyframe

int AVSContext::got_keyframe

Definition at line 304 of file cavs.h.


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