FFmpeg
 All Data Structures 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_fixed_buf twopass_stats
 
int deadline
 
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
 
VP8ThreadDatathread_data
 
AVCodecContextavctx
 
AVFrameframep [4]
 
AVFramenext_framep [4]
 
AVFramecurframe
 
AVFrameprev_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]
 
AVFrame frames [5]
 
uint8_tsegmentation_maps [5]
 A list of segmentation_map buffers that are to be free()'ed in the next decoding iteration.
 
int num_maps_to_be_freed
 
int maps_are_invalid
 
int num_jobs
 
int mb_layout
 This describes the macroblock memory layout.
 

Detailed Description

Definition at line 34 of file libvpxdec.c.

Field Documentation

struct vpx_codec_ctx VP8Context::decoder

Definition at line 35 of file libvpxdec.c.

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

AVClass* VP8Context::class

Definition at line 55 of file libvpxenc.c.

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

Definition at line 57 of file libvpxenc.c.

Referenced by vp8_encode(), and vp8_init().

struct vpx_fixed_buf VP8Context::twopass_stats

Definition at line 58 of file libvpxenc.c.

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

int VP8Context::deadline

Definition at line 59 of file libvpxenc.c.

Referenced by vp8_encode(), and vp8_init().

struct FrameListData* VP8Context::coded_frame_list

Definition at line 60 of file libvpxenc.c.

Referenced by queue_frames(), and vp8_free().

int VP8Context::cpu_used

Definition at line 62 of file libvpxenc.c.

Referenced by vp8_init().

int VP8Context::flags

VP8 specific flags, see VP8F_* below.

Definition at line 66 of file libvpxenc.c.

Referenced by vp8_init().

int VP8Context::auto_alt_ref

Definition at line 70 of file libvpxenc.c.

Referenced by vp8_init().

int VP8Context::arnr_max_frames

Definition at line 72 of file libvpxenc.c.

Referenced by vp8_init().

int VP8Context::arnr_strength

Definition at line 73 of file libvpxenc.c.

Referenced by vp8_init().

int VP8Context::arnr_type

Definition at line 74 of file libvpxenc.c.

Referenced by vp8_init().

int VP8Context::lag_in_frames

Definition at line 76 of file libvpxenc.c.

Referenced by vp8_init().

int VP8Context::error_resilient

Definition at line 77 of file libvpxenc.c.

Referenced by vp8_init().

int VP8Context::crf

Definition at line 78 of file libvpxenc.c.

Referenced by vp8_init().

int VP8Context::max_intra_rate

Definition at line 79 of file libvpxenc.c.

Referenced by vp8_init().

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

Definition at line 132 of file vp8.h.

Referenced by vp8_decode_frame().

AVFrame* VP8Context::curframe
AVFrame* VP8Context::prev_frame

Definition at line 134 of file vp8.h.

Referenced by 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 141 of file vp8.h.

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

uint8_t VP8Context::deblock_filter
uint8_t VP8Context::mbskip_enabled

Definition at line 143 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::profile

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

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

uint8_t VP8Context::enabled

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

Definition at line 157 of file vp8.h.

Referenced by decode_frame_header(), decode_mb_mode(), filter_level_for_mb(), get_quants(), and vp8_decode_frame().

uint8_t VP8Context::absolute_vals

Definition at line 158 of file vp8.h.

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

uint8_t VP8Context::update_map

Definition at line 159 of file vp8.h.

Referenced by decode_frame_header(), decode_mb_mode(), parse_segment_info(), and vp8_decode_frame().

int8_t VP8Context::base_quant[4]

Definition at line 160 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 161 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 166 of file vp8.h.

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

uint8_t VP8Context::sharpness

Definition at line 167 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 182 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 183 of file vp8.h.

Referenced by decode_mb_coeffs(), and get_quants().

int16_t VP8Context::chroma_qmul[2]

Definition at line 184 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 199 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 208 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 214 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 223 of file vp8.h.

Referenced by decode_mb_mode(), and parse_segment_info().

uint8_t VP8Context::mbskip

Definition at line 224 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::intra

Definition at line 225 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::last

Definition at line 226 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::golden

Definition at line 227 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::pred16x16[4]

Definition at line 228 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

uint8_t VP8Context::pred8x8c[3]

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

Referenced by decode_frame_header(), and decode_mb_coeffs().

uint8_t VP8Context::mvc[2][19]

Definition at line 231 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 235 of file vp8.h.

Referenced by decode_frame_header(), and vp8_decode_frame().

int VP8Context::update_last

update VP56_FRAME_PREVIOUS with the current one

Definition at line 236 of file vp8.h.

Referenced by decode_frame_header(), and vp8_decode_frame().

int VP8Context::update_golden

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

Definition at line 237 of file vp8.h.

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

int VP8Context::update_altref

Definition at line 238 of file vp8.h.

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

int VP8Context::update_probabilities

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

Definition at line 244 of file vp8.h.

Referenced by decode_frame_header(), and 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 250 of file vp8.h.

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

VP56RangeCoder VP8Context::coeff_partition[8]

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

Referenced by intra_predict(), and vp8_decode_init().

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

Definition at line 255 of file vp8.h.

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

AVFrame VP8Context::frames[5]
uint8_t* VP8Context::segmentation_maps[5]

A list of segmentation_map buffers that are to be free()'ed in the next decoding iteration.

We can't free() them right away because the map may still be used by subsequent decoding threads. Unused if frame threading is off.

Definition at line 264 of file vp8.h.

Referenced by release_queued_segmaps(), vp8_alloc_frame(), and vp8_release_frame().

int VP8Context::num_maps_to_be_freed

Definition at line 265 of file vp8.h.

Referenced by release_queued_segmaps(), vp8_alloc_frame(), and vp8_release_frame().

int VP8Context::maps_are_invalid
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(), update_dimensions(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().


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