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

#include <vp8.h>

Data Fields

struct vpx_codec_ctx decoder
 
AVClassclass
 
struct vpx_codec_ctx encoder
 
struct vpx_image rawimg
 
struct vpx_codec_ctx encoder_alpha
 
struct vpx_image rawimg_alpha
 
uint8_t is_alpha
 
struct vpx_fixed_buf twopass_stats
 
int deadline
 
uint64_t sse [4]
 
int have_sse
 true if we have pending sse[]
 
uint64_t frame_number
 
struct FrameListDatacoded_frame_list
 
int cpu_used
 
int flags
 VP8 specific flags, see VP8F_* below.
 
int auto_alt_ref
 
int arnr_max_frames
 
int arnr_strength
 
int arnr_type
 
int lag_in_frames
 
int error_resilient
 
int crf
 
int max_intra_rate
 
int lossless
 
int tile_columns
 
int tile_rows
 
int frame_parallel
 
VP8ThreadDatathread_data
 
AVCodecContextavctx
 
VP8Frameframep [4]
 
VP8Framenext_framep [4]
 
VP8Framecurframe
 
VP8Frameprev_frame
 
uint16_t mb_width
 
uint16_t mb_height
 
int linesize
 
int uvlinesize
 
uint8_t keyframe
 
uint8_t deblock_filter
 
uint8_t mbskip_enabled
 
uint8_t profile
 
VP56mv mv_min
 
VP56mv mv_max
 
int8_t sign_bias [4]
 one state [0, 1] per ref frame type
 
int ref_count [3]
 
struct {
   uint8_t   enabled
 
   uint8_t   absolute_vals
 
   uint8_t   update_map
 
   int8_t   base_quant [4]
 
   int8_t   filter_level [4]
 base loop filter level
 
segmentation
 
struct {
   uint8_t   simple
 
   uint8_t   level
 
   uint8_t   sharpness
 
filter
 
VP8Macroblockmacroblocks
 
uint8_tintra4x4_pred_mode_top
 
uint8_t intra4x4_pred_mode_left [4]
 
struct {
   int16_t   luma_qmul [2]
 
   int16_t   luma_dc_qmul [2]
 luma dc-only block quant
 
   int16_t   chroma_qmul [2]
 
qmat [4]
 
struct {
   uint8_t   enabled
 whether each mb can have a different strength based on mode/ref
 
   int8_t   mode [VP8_MVMODE_SPLIT+1]
 filter strength adjustment for the following macroblock modes: [0-3] - i16x16 (always zero) [4] - i4x4 [5] - zero mv [6] - inter modes except for zero or split mv [7] - split mv i16x16 modes never have any adjustment
 
   int8_t   ref [4]
 filter strength adjustment for macroblocks that reference: [0] - intra / VP56_FRAME_CURRENT [1] - VP56_FRAME_PREVIOUS [2] - VP56_FRAME_GOLDEN [3] - altref / VP56_FRAME_GOLDEN2
 
lf_delta
 
uint8_t(* top_border )[16+8+8]
 
uint8_t(* top_nnz )[9]
 
VP56RangeCoder c
 header context, includes mb modes and motion vectors
 
struct {
   uint8_t   segmentid [3]
 
   uint8_t   mbskip
 
   uint8_t   intra
 
   uint8_t   last
 
   uint8_t   golden
 
   uint8_t   pred16x16 [4]
 
   uint8_t   pred8x8c [3]
 
   uint8_t   token [4][16][3][NUM_DCT_TOKENS-1]
 
   uint8_t   mvc [2][19]
 
prob [2]
 
VP8Macroblockmacroblocks_base
 
int invisible
 
int update_last
 update VP56_FRAME_PREVIOUS with the current one
 
int update_golden
 VP56_FRAME_NONE if not updated, or which frame to copy if so.
 
int update_altref
 
int update_probabilities
 If this flag is not set, all the probability updates are discarded after this frame is decoded.
 
int num_coeff_partitions
 All coefficients are contained in separate arith coding contexts.
 
VP56RangeCoder coeff_partition [8]
 
VideoDSPContext vdsp
 
VP8DSPContext vp8dsp
 
H264PredContext hpc
 
vp8_mc_func put_pixels_tab [3][3][3]
 
VP8Frame frames [5]
 
int num_jobs
 
int mb_layout
 This describes the macroblock memory layout.
 

Detailed Description

Definition at line 36 of file libvpxdec.c.

Field Documentation

struct vpx_codec_ctx VP8Context::decoder

Definition at line 37 of file libvpxdec.c.

Referenced by vp8_decode(), vp8_free(), and vpx_init().

AVClass* VP8Context::class

Definition at line 62 of file libvpxenc.c.

struct vpx_codec_ctx VP8Context::encoder
struct vpx_image VP8Context::rawimg

Definition at line 64 of file libvpxenc.c.

Referenced by vp8_encode(), and vpx_init().

struct vpx_codec_ctx VP8Context::encoder_alpha

Definition at line 65 of file libvpxenc.c.

Referenced by queue_frames(), vp8_encode(), vp8_free(), and vpx_init().

struct vpx_image VP8Context::rawimg_alpha

Definition at line 66 of file libvpxenc.c.

Referenced by vp8_encode(), and vpx_init().

uint8_t VP8Context::is_alpha

Definition at line 67 of file libvpxenc.c.

Referenced by queue_frames(), vp8_encode(), vp8_free(), and vpx_init().

struct vpx_fixed_buf VP8Context::twopass_stats

Definition at line 68 of file libvpxenc.c.

Referenced by queue_frames(), vp8_encode(), vp8_free(), and vpx_init().

int VP8Context::deadline

Definition at line 69 of file libvpxenc.c.

Referenced by vp8_encode(), and vpx_init().

uint64_t VP8Context::sse[4]

Definition at line 70 of file libvpxenc.c.

Referenced by cx_pktcpy(), and queue_frames().

int VP8Context::have_sse

true if we have pending sse[]

Definition at line 71 of file libvpxenc.c.

Referenced by cx_pktcpy(), and queue_frames().

uint64_t VP8Context::frame_number

Definition at line 72 of file libvpxenc.c.

Referenced by cx_pktcpy().

struct FrameListData* VP8Context::coded_frame_list

Definition at line 73 of file libvpxenc.c.

Referenced by queue_frames(), and vp8_free().

int VP8Context::cpu_used

Definition at line 75 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::flags

VP8 specific flags, see VP8F_* below.

Definition at line 79 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::auto_alt_ref

Definition at line 83 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::arnr_max_frames

Definition at line 85 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::arnr_strength

Definition at line 86 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::arnr_type

Definition at line 87 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::lag_in_frames

Definition at line 89 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::error_resilient

Definition at line 90 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::crf

Definition at line 91 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::max_intra_rate

Definition at line 92 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::lossless

Definition at line 95 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::tile_columns

Definition at line 96 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::tile_rows

Definition at line 97 of file libvpxenc.c.

Referenced by vpx_init().

int VP8Context::frame_parallel

Definition at line 98 of file libvpxenc.c.

Referenced by vpx_init().

VP8ThreadData* VP8Context::thread_data
AVCodecContext* VP8Context::avctx
VP8Frame* VP8Context::framep[4]
VP8Frame* VP8Context::next_framep[4]

Definition at line 141 of file vp8.h.

Referenced by ff_vp8_decode_frame().

VP8Frame* VP8Context::curframe
VP8Frame* VP8Context::prev_frame

Definition at line 143 of file vp8.h.

Referenced by ff_vp8_decode_frame(), and vp8_decode_mb_row_no_filter().

uint16_t VP8Context::mb_width
uint16_t VP8Context::mb_height
int VP8Context::linesize
int VP8Context::uvlinesize
uint8_t VP8Context::keyframe

Definition at line 150 of file vp8.h.

Referenced by decode_frame_header(), decode_mb_mode(), ff_vp8_decode_frame(), and filter_mb().

uint8_t VP8Context::deblock_filter
uint8_t VP8Context::mbskip_enabled

Definition at line 152 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::profile

Definition at line 153 of file vp8.h.

Referenced by decode_frame_header(), inter_predict(), and vp8_mc_part().

VP56mv VP8Context::mv_min
VP56mv VP8Context::mv_max
int8_t VP8Context::sign_bias[4]

one state [0, 1] per ref frame type

Definition at line 157 of file vp8.h.

Referenced by decode_frame_header(), decode_mvs(), and vp8_decode_update_thread_context().

int VP8Context::ref_count[3]

Definition at line 158 of file vp8.h.

Referenced by decode_mb_mode(), ff_vp8_decode_frame(), and prefetch_motion().

uint8_t VP8Context::enabled

whether each mb can have a different strength based on mode/ref

Definition at line 166 of file vp8.h.

Referenced by decode_frame_header(), decode_mb_mode(), ff_vp8_decode_frame(), filter_level_for_mb(), get_quants(), and vp8_decode_mb_row_no_filter().

uint8_t VP8Context::absolute_vals

Definition at line 167 of file vp8.h.

Referenced by filter_level_for_mb(), get_quants(), and parse_segment_info().

uint8_t VP8Context::update_map
int8_t VP8Context::base_quant[4]

Definition at line 169 of file vp8.h.

Referenced by get_quants(), and parse_segment_info().

int8_t VP8Context::filter_level[4]

base loop filter level

Definition at line 170 of file vp8.h.

Referenced by filter_level_for_mb(), and parse_segment_info().

struct { ... } VP8Context::segmentation
uint8_t VP8Context::simple
uint8_t VP8Context::level

Definition at line 175 of file vp8.h.

Referenced by decode_frame_header(), ff_vp8_decode_frame(), and filter_level_for_mb().

uint8_t VP8Context::sharpness

Definition at line 176 of file vp8.h.

Referenced by decode_frame_header(), and filter_level_for_mb().

struct { ... } VP8Context::filter
VP8Macroblock* VP8Context::macroblocks
uint8_t* VP8Context::intra4x4_pred_mode_top
uint8_t VP8Context::intra4x4_pred_mode_left[4]
int16_t VP8Context::luma_qmul[2]

Definition at line 191 of file vp8.h.

Referenced by decode_mb_coeffs(), and get_quants().

int16_t VP8Context::luma_dc_qmul[2]

luma dc-only block quant

Definition at line 192 of file vp8.h.

Referenced by decode_mb_coeffs(), and get_quants().

int16_t VP8Context::chroma_qmul[2]

Definition at line 193 of file vp8.h.

Referenced by decode_mb_coeffs(), and get_quants().

struct { ... } VP8Context::qmat[4]

Referenced by decode_mb_coeffs(), and get_quants().

int8_t VP8Context::mode[VP8_MVMODE_SPLIT+1]

filter strength adjustment for the following macroblock modes: [0-3] - i16x16 (always zero) [4] - i4x4 [5] - zero mv [6] - inter modes except for zero or split mv [7] - split mv i16x16 modes never have any adjustment

Definition at line 208 of file vp8.h.

Referenced by filter_level_for_mb(), and update_lf_deltas().

int8_t VP8Context::ref[4]

filter strength adjustment for macroblocks that reference: [0] - intra / VP56_FRAME_CURRENT [1] - VP56_FRAME_PREVIOUS [2] - VP56_FRAME_GOLDEN [3] - altref / VP56_FRAME_GOLDEN2

Definition at line 217 of file vp8.h.

Referenced by filter_level_for_mb(), and update_lf_deltas().

struct { ... } VP8Context::lf_delta
uint8_t(* VP8Context::top_border)[16+8+8]
uint8_t(* VP8Context::top_nnz)[9]
VP56RangeCoder VP8Context::c

header context, includes mb modes and motion vectors

Definition at line 223 of file vp8.h.

Referenced by decode_frame_header(), decode_mb_mode(), decode_mvs(), get_quants(), parse_segment_info(), ref_to_update(), setup_partitions(), update_lf_deltas(), and update_refs().

uint8_t VP8Context::segmentid[3]

Definition at line 232 of file vp8.h.

Referenced by decode_mb_mode(), and parse_segment_info().

uint8_t VP8Context::mbskip

Definition at line 233 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::intra

Definition at line 234 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::last

Definition at line 235 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::golden

Definition at line 236 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::pred16x16[4]

Definition at line 237 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::pred8x8c[3]

Definition at line 238 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::token[4][16][3][NUM_DCT_TOKENS-1]

Definition at line 239 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_coeffs().

uint8_t VP8Context::mvc[2][19]

Definition at line 240 of file vp8.h.

Referenced by decode_frame_header(), decode_mvs(), and decode_splitmvs().

struct { ... } VP8Context::prob[2]
VP8Macroblock* VP8Context::macroblocks_base
int VP8Context::invisible

Definition at line 244 of file vp8.h.

Referenced by decode_frame_header(), and ff_vp8_decode_frame().

int VP8Context::update_last

update VP56_FRAME_PREVIOUS with the current one

Definition at line 245 of file vp8.h.

Referenced by decode_frame_header(), and ff_vp8_decode_frame().

int VP8Context::update_golden

VP56_FRAME_NONE if not updated, or which frame to copy if so.

Definition at line 246 of file vp8.h.

Referenced by decode_frame_header(), ff_vp8_decode_frame(), and update_refs().

int VP8Context::update_altref

Definition at line 247 of file vp8.h.

Referenced by decode_frame_header(), ff_vp8_decode_frame(), and update_refs().

int VP8Context::update_probabilities

If this flag is not set, all the probability updates are discarded after this frame is decoded.

Definition at line 253 of file vp8.h.

Referenced by decode_frame_header(), and ff_vp8_decode_frame().

int VP8Context::num_coeff_partitions

All coefficients are contained in separate arith coding contexts.

There can be 1, 2, 4, or 8 of these after the header context.

Definition at line 259 of file vp8.h.

Referenced by ff_vp8_decode_frame(), setup_partitions(), update_dimensions(), and vp8_decode_mb_row_no_filter().

VP56RangeCoder VP8Context::coeff_partition[8]

Definition at line 260 of file vp8.h.

Referenced by setup_partitions(), and vp8_decode_mb_row_no_filter().

VideoDSPContext VP8Context::vdsp
VP8DSPContext VP8Context::vp8dsp
H264PredContext VP8Context::hpc

Definition at line 263 of file vp8.h.

Referenced by ff_vp8_decode_init(), and intra_predict().

vp8_mc_func VP8Context::put_pixels_tab[3][3][3]

Definition at line 264 of file vp8.h.

Referenced by decode_frame_header(), inter_predict(), and vp8_mc_part().

VP8Frame VP8Context::frames[5]
int VP8Context::num_jobs
int VP8Context::mb_layout

This describes the macroblock memory layout.

0 -> Only width+height*2+1 macroblocks allocated (frame/single thread). 1 -> Macroblocks for entire frame alloced (sliced thread).

Definition at line 273 of file vp8.h.

Referenced by decode_mb_mode(), ff_vp8_decode_frame(), update_dimensions(), vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().


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