FFmpeg
Data Fields
VP8Context Struct Reference

#include <vp8.h>

Data Fields

 
 
VP8Frameframep [4]
 
 
 
 
uint16_t  mb_width
 
uint16_t  mb_height
 
ptrdiff_t  linesize
 
ptrdiff_t  uvlinesize
 
 
 
 
 
 
int8_t  sign_bias [4]
  one state [0, 1] per ref frame type More...
 
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 More...
 
  Base parameters for segmentation, i.e. More...
 
struct {
   uint8_t   simple
 
   uint8_t   level
 
   uint8_t   sharpness
 
filter
 
 
 
 
struct {
   int16_t   luma_qmul [2]
 
   int16_t   luma_dc_qmul [2]
  luma dc-only block quant More...
 
   int16_t   chroma_qmul [2]
 
qmat [4]
  Macroblocks can have one of 4 different quants in a frame when segmentation is enabled. More...
 
struct {
   uint8_t   enabled
  whether each mb can have a different strength based on mode/ref More...
 
   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 More...
 
   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 More...
 
lf_delta
 
uint8_t(*  top_border )[16+8+8]
 
uint8_t(*  top_nnz )[9]
 
  header context, includes mb modes and motion vectors More...
 
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]
 
   uint8_t   scan [16]
 
prob [2]
  These are all of the updatable probabilities for binary decisions. More...
 
 
 
  update VP56_FRAME_PREVIOUS with the current one More...
 
  VP56_FRAME_NONE if not updated, or which frame to copy if so. More...
 
 
  If this flag is not set, all the probability updates are discarded after this frame is decoded. More...
 
  All coefficients are contained in separate arith coding contexts. More...
 
 
 
 
 
 
 
  0 is the only value allowed (meaning bt601) More...
 
  whether we can skip clamping in dsp functions More...
 
 
  This describes the macroblock memory layout. More...
 
int(*  decode_mb_row_no_filter )(AVCodecContext *avctx, void *tdata, int jobnr, int threadnr)
 
void(*  filter_mb_row )(AVCodecContext *avctx, void *tdata, int jobnr, int threadnr)
 
int  vp7
 
  Fade bit present in bitstream (VP7) More...
 
uint16_t  inter_dc_pred [2][2]
  Interframe DC prediction (VP7) [0] VP56_FRAME_PREVIOUS [1] VP56_FRAME_GOLDEN. More...
 
  Macroblock features (VP7) More...
 
 
 
 

Detailed Description

Definition at line 144 of file vp8.h.

Field Documentation

VP8ThreadData* VP8Context::thread_data

Definition at line 145 of file vp8.h.

Referenced by decode_mb_row_no_filter(), filter_mb_row(), free_buffers(), update_dimensions(), vp78_decode_frame(), and vp78_decode_mb_row_sliced().

AVCodecContext* VP8Context::avctx

Definition at line 146 of file vp8.h.

Referenced by decode_mb_mode(), update_dimensions(), vp78_decode_init(), vp7_decode_frame_header(), vp7_fade_frame(), vp8_alloc_frame(), vp8_decode_frame_header(), vp8_find_free_buffer(), and vp8_release_frame().

VP8Frame* VP8Context::framep[4]

Definition at line 147 of file vp8.h.

Referenced by inter_predict(), prefetch_motion(), vp78_decode_frame(), vp7_fade_frame(), vp8_decode_flush_impl(), and vp8_find_free_buffer().

VP8Frame* VP8Context::next_framep[4]

Definition at line 148 of file vp8.h.

Referenced by vp78_decode_frame().

VP8Frame* VP8Context::curframe

Definition at line 149 of file vp8.h.

Referenced by decode_mb_row_no_filter(), filter_mb_row(), vp78_decode_frame(), and vp78_decode_mb_row_sliced().

VP8Frame* VP8Context::prev_frame

Definition at line 150 of file vp8.h.

Referenced by decode_mb_row_no_filter(), and vp78_decode_frame().

uint16_t VP8Context::mb_width

Definition at line 152 of file vp8.h.

Referenced by decode_intra4x4_modes(), decode_mb_row_no_filter(), decode_splitmvs(), filter_mb_row(), inter_predict(), intra_predict(), update_dimensions(), vp78_decode_frame(), vp78_decode_mv_mb_modes(), vp7_decode_frame_header(), vp7_decode_mvs(), vp7_fade_frame(), vp8_alloc_frame(), vp8_decode_frame_header(), and vp8_decode_mvs().

uint16_t VP8Context::mb_height

Definition at line 153 of file vp8.h.

Referenced by decode_mb_row_no_filter(), filter_mb_row(), inter_predict(), update_dimensions(), vp78_decode_frame(), vp78_decode_mb_row_sliced(), vp78_decode_mv_mb_modes(), vp7_decode_frame_header(), vp7_decode_mvs(), vp7_fade_frame(), vp8_alloc_frame(), and vp8_decode_frame_header().

ptrdiff_t VP8Context::linesize

Definition at line 154 of file vp8.h.

Referenced by decode_mb_row_no_filter(), filter_mb(), filter_mb_row(), filter_mb_simple(), idct_mb(), inter_predict(), intra_predict(), prefetch_motion(), vp78_decode_frame(), and vp8_mc_part().

ptrdiff_t VP8Context::uvlinesize

Definition at line 155 of file vp8.h.

Referenced by decode_mb_row_no_filter(), filter_mb(), filter_mb_row(), idct_mb(), inter_predict(), intra_predict(), prefetch_motion(), vp78_decode_frame(), and vp8_mc_part().

uint8_t VP8Context::keyframe

Definition at line 157 of file vp8.h.

Referenced by decode_mb_mode(), filter_mb(), vp78_decode_frame(), vp7_decode_frame_header(), vp7_fade_frame(), and vp8_decode_frame_header().

uint8_t VP8Context::deblock_filter

Definition at line 158 of file vp8.h.

Referenced by decode_mb_row_no_filter(), intra_predict(), vp78_decode_frame(), and vp78_decode_mb_row_sliced().

uint8_t VP8Context::mbskip_enabled

Definition at line 159 of file vp8.h.

Referenced by decode_mb_mode(), vp7_decode_frame_header(), and vp8_decode_frame_header().

uint8_t VP8Context::profile

Definition at line 160 of file vp8.h.

Referenced by inter_predict(), vp7_decode_frame_header(), vp7_decode_mvs(), vp8_decode_frame_header(), and vp8_mc_part().

VP8mvbounds VP8Context::mv_bounds

Definition at line 161 of file vp8.h.

Referenced by vp78_decode_frame(), and vp78_decode_mv_mb_modes().

int8_t VP8Context::sign_bias[4]

one state [0, 1] per ref frame type

Definition at line 163 of file vp8.h.

Referenced by vp7_decode_frame_header(), vp8_decode_frame_header(), and vp8_decode_mvs().

int VP8Context::ref_count[3]

Definition at line 164 of file vp8.h.

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

uint8_t VP8Context::enabled

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

Definition at line 172 of file vp8.h.

Referenced by decode_mb_mode(), decode_mb_row_no_filter(), filter_level_for_mb(), vp78_decode_frame(), vp7_decode_frame_header(), vp8_decode_frame_header(), and vp8_get_quants().

uint8_t VP8Context::absolute_vals

Definition at line 173 of file vp8.h.

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

uint8_t VP8Context::update_map

Definition at line 174 of file vp8.h.

Referenced by decode_mb_mode(), decode_mb_row_no_filter(), parse_segment_info(), vp78_decode_frame(), vp7_decode_frame_header(), and vp8_decode_frame_header().

int8_t VP8Context::base_quant[4]

Definition at line 175 of file vp8.h.

Referenced by parse_segment_info(), and vp8_get_quants().

int8_t VP8Context::filter_level[4]

base loop filter level

Definition at line 176 of file vp8.h.

Referenced by filter_level_for_mb(), and parse_segment_info().

struct { ... } VP8Context::segmentation

Base parameters for segmentation, i.e.

per-macroblock parameters. These must be kept unchanged even if segmentation is not used for a frame, since the values persist between interframes.

Referenced by decode_mb_mode(), decode_mb_row_no_filter(), filter_level_for_mb(), parse_segment_info(), vp78_decode_frame(), vp7_decode_frame_header(), vp8_decode_frame_header(), and vp8_get_quants().

uint8_t VP8Context::simple

Definition at line 180 of file vp8.h.

Referenced by decode_mb_row_no_filter(), filter_mb_row(), intra_predict(), vp7_decode_frame_header(), and vp8_decode_frame_header().

uint8_t VP8Context::level

Definition at line 181 of file vp8.h.

Referenced by filter_level_for_mb(), vp78_decode_frame(), vp7_decode_frame_header(), and vp8_decode_frame_header().

uint8_t VP8Context::sharpness

Definition at line 182 of file vp8.h.

Referenced by filter_level_for_mb(), vp7_decode_frame_header(), and vp8_decode_frame_header().

struct { ... } VP8Context::filter

Referenced by decode_mb_row_no_filter(), filter_level_for_mb(), filter_mb_row(), intra_predict(), vp78_decode_frame(), vp7_decode_frame_header(), and vp8_decode_frame_header().

VP8Macroblock* VP8Context::macroblocks

Definition at line 185 of file vp8.h.

Referenced by decode_mb_row_no_filter(), filter_mb_row(), free_buffers(), update_dimensions(), vp78_decode_frame(), and vp7_decode_mvs().

uint8_t* VP8Context::intra4x4_pred_mode_top

Definition at line 187 of file vp8.h.

Referenced by decode_intra4x4_modes(), decode_mb_mode(), free_buffers(), update_dimensions(), and vp78_decode_frame().

uint8_t VP8Context::intra4x4_pred_mode_left[4]

Definition at line 188 of file vp8.h.

Referenced by decode_intra4x4_modes(), decode_mb_mode(), decode_mb_row_no_filter(), and vp78_decode_mv_mb_modes().

int16_t VP8Context::luma_qmul[2]

Definition at line 197 of file vp8.h.

Referenced by decode_mb_coeffs(), vp7_get_quants(), and vp8_get_quants().

int16_t VP8Context::luma_dc_qmul[2]

luma dc-only block quant

Definition at line 198 of file vp8.h.

Referenced by decode_mb_coeffs(), vp7_get_quants(), and vp8_get_quants().

int16_t VP8Context::chroma_qmul[2]

Definition at line 199 of file vp8.h.

Referenced by decode_mb_coeffs(), vp7_get_quants(), and vp8_get_quants().

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

Macroblocks can have one of 4 different quants in a frame when segmentation is enabled.

If segmentation is disabled, only the first segment's values are used.

Referenced by decode_mb_coeffs(), vp7_get_quants(), and vp8_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 214 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 223 of file vp8.h.

Referenced by filter_level_for_mb(), and update_lf_deltas().

struct { ... } VP8Context::lf_delta

Referenced by filter_level_for_mb(), update_lf_deltas(), vp7_decode_frame_header(), and vp8_decode_frame_header().

uint8_t(* VP8Context::top_border)[16+8+8]

Definition at line 226 of file vp8.h.

Referenced by decode_mb_row_no_filter(), filter_mb_row(), free_buffers(), intra_predict(), and update_dimensions().

uint8_t(* VP8Context::top_nnz)[9]

Definition at line 227 of file vp8.h.

Referenced by decode_mb_row_no_filter(), free_buffers(), update_dimensions(), and vp78_decode_frame().

VP56RangeCoder VP8Context::c

header context, includes mb modes and motion vectors

Definition at line 229 of file vp8.h.

Referenced by decode_mb_mode(), parse_segment_info(), ref_to_update(), setup_partitions(), update_lf_deltas(), update_refs(), vp78_update_pred16x16_pred8x8_mvc_probabilities(), vp78_update_probability_tables(), vp7_decode_frame_header(), vp7_decode_mvs(), vp7_get_quants(), vp8_decode_frame_header(), vp8_decode_mvs(), and vp8_get_quants().

uint8_t VP8Context::segmentid[3]

Definition at line 238 of file vp8.h.

Referenced by decode_mb_mode(), and parse_segment_info().

uint8_t VP8Context::mbskip

Definition at line 239 of file vp8.h.

Referenced by decode_mb_mode(), and vp8_decode_frame_header().

uint8_t VP8Context::intra

Definition at line 240 of file vp8.h.

Referenced by decode_mb_mode(), vp7_decode_frame_header(), and vp8_decode_frame_header().

uint8_t VP8Context::last

Definition at line 241 of file vp8.h.

Referenced by decode_mb_mode(), vp7_decode_frame_header(), and vp8_decode_frame_header().

uint8_t VP8Context::golden

Definition at line 242 of file vp8.h.

Referenced by decode_mb_mode(), and vp8_decode_frame_header().

uint8_t VP8Context::pred16x16[4]

Definition at line 243 of file vp8.h.

Referenced by decode_mb_mode(), vp78_update_pred16x16_pred8x8_mvc_probabilities(), vp7_decode_frame_header(), and vp8_decode_frame_header().

uint8_t VP8Context::pred8x8c[3]

Definition at line 244 of file vp8.h.

Referenced by decode_mb_mode(), vp78_update_pred16x16_pred8x8_mvc_probabilities(), vp7_decode_frame_header(), and vp8_decode_frame_header().

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

Definition at line 245 of file vp8.h.

Referenced by decode_mb_coeffs(), vp78_reset_probability_tables(), and vp78_update_probability_tables().

uint8_t VP8Context::mvc[2][19]

Definition at line 246 of file vp8.h.

Referenced by decode_splitmvs(), vp78_update_pred16x16_pred8x8_mvc_probabilities(), vp7_decode_frame_header(), vp7_decode_mvs(), vp8_decode_frame_header(), and vp8_decode_mvs().

uint8_t VP8Context::scan[16]

Definition at line 247 of file vp8.h.

Referenced by decode_mb_coeffs(), vp78_decode_init(), and vp7_decode_frame_header().

struct { ... } VP8Context::prob[2]

These are all of the updatable probabilities for binary decisions.

They are only implicitly reset on keyframes, making it quite likely for an interframe to desync if a prior frame's header was corrupt or missing outright!

Referenced by decode_mb_coeffs(), decode_mb_mode(), decode_splitmvs(), parse_segment_info(), vp78_decode_frame(), vp78_decode_init(), vp78_reset_probability_tables(), vp78_update_pred16x16_pred8x8_mvc_probabilities(), vp78_update_probability_tables(), vp7_decode_frame_header(), vp7_decode_mvs(), vp8_decode_frame_header(), and vp8_decode_mvs().

VP8Macroblock* VP8Context::macroblocks_base

Definition at line 250 of file vp8.h.

Referenced by decode_mb_row_no_filter(), filter_mb_row(), free_buffers(), update_dimensions(), vp78_decode_mv_mb_modes(), vp7_decode_frame_header(), vp7_decode_mvs(), and vp8_decode_frame_header().

int VP8Context::invisible

Definition at line 251 of file vp8.h.

Referenced by vp78_decode_frame(), vp7_decode_frame_header(), and vp8_decode_frame_header().

int VP8Context::update_last

update VP56_FRAME_PREVIOUS with the current one

Definition at line 252 of file vp8.h.

Referenced by vp78_decode_frame(), vp7_decode_frame_header(), and vp8_decode_frame_header().

int VP8Context::update_golden

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

Definition at line 253 of file vp8.h.

Referenced by update_refs(), vp78_decode_frame(), vp7_decode_frame_header(), and vp8_decode_frame_header().

int VP8Context::update_altref

Definition at line 254 of file vp8.h.

Referenced by update_refs(), vp78_decode_frame(), vp7_decode_frame_header(), and vp8_decode_frame_header().

int VP8Context::update_probabilities

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

Definition at line 260 of file vp8.h.

Referenced by vp78_decode_frame(), vp7_decode_frame_header(), and vp8_decode_frame_header().

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 266 of file vp8.h.

Referenced by decode_mb_row_no_filter(), setup_partitions(), vp78_decode_frame(), and vp7_decode_frame_header().

VP56RangeCoder VP8Context::coeff_partition[8]

Definition at line 267 of file vp8.h.

Referenced by decode_mb_row_no_filter(), setup_partitions(), and vp7_decode_frame_header().

VideoDSPContext VP8Context::vdsp

Definition at line 268 of file vp8.h.

Referenced by decode_mb_row_no_filter(), prefetch_motion(), vp78_decode_init(), vp8_mc_chroma(), and vp8_mc_luma().

VP8DSPContext VP8Context::vp8dsp

Definition at line 269 of file vp8.h.

Referenced by decode_mb_coeffs(), filter_mb(), filter_mb_simple(), idct_mb(), intra_predict(), vp78_decode_init(), vp7_decode_frame_header(), and vp8_decode_frame_header().

H264PredContext VP8Context::hpc

Definition at line 270 of file vp8.h.

Referenced by intra_predict(), and vp78_decode_init().

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

Definition at line 271 of file vp8.h.

Referenced by inter_predict(), vp7_decode_frame_header(), vp8_decode_frame_header(), and vp8_mc_part().

VP8Frame VP8Context::frames[5]

Definition at line 272 of file vp8.h.

Referenced by ff_vp8_decode_free(), vp78_decode_frame(), vp8_decode_flush_impl(), vp8_find_free_buffer(), and vp8_init_frames().

uint8_t VP8Context::colorspace

0 is the only value allowed (meaning bt601)

Definition at line 274 of file vp8.h.

Referenced by vp78_decode_frame(), and vp8_decode_frame_header().

uint8_t VP8Context::fullrange

whether we can skip clamping in dsp functions

Definition at line 275 of file vp8.h.

Referenced by vp78_decode_frame(), and vp8_decode_frame_header().

int VP8Context::num_jobs

Definition at line 277 of file vp8.h.

Referenced by decode_mb_row_no_filter(), filter_mb_row(), vp78_decode_frame(), and vp78_decode_mb_row_sliced().

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 allocated (sliced thread).

Definition at line 283 of file vp8.h.

Referenced by decode_mb_mode(), decode_mb_row_no_filter(), filter_mb_row(), update_dimensions(), vp78_decode_frame(), and vp7_decode_mvs().

int(* VP8Context::decode_mb_row_no_filter)(AVCodecContext *avctx, void *tdata, int jobnr, int threadnr)

Definition at line 285 of file vp8.h.

Referenced by vp78_decode_init(), and vp78_decode_mb_row_sliced().

void(* VP8Context::filter_mb_row)(AVCodecContext *avctx, void *tdata, int jobnr, int threadnr)

Definition at line 286 of file vp8.h.

Referenced by vp78_decode_init(), and vp78_decode_mb_row_sliced().

int VP8Context::vp7

Definition at line 288 of file vp8.h.

Referenced by vp78_decode_init().

int VP8Context::fade_present

Fade bit present in bitstream (VP7)

Definition at line 293 of file vp8.h.

Referenced by vp7_decode_frame_header().

uint16_t VP8Context::inter_dc_pred[2][2]

Interframe DC prediction (VP7) [0] VP56_FRAME_PREVIOUS [1] VP56_FRAME_GOLDEN.

Definition at line 300 of file vp8.h.

Referenced by decode_mb_coeffs(), and vp7_decode_frame_header().

uint8_t VP8Context::feature_enabled[4]

Macroblock features (VP7)

Definition at line 305 of file vp8.h.

Referenced by decode_mb_mode(), and vp7_decode_frame_header().

uint8_t VP8Context::feature_present_prob[4]

Definition at line 306 of file vp8.h.

Referenced by decode_mb_mode(), and vp7_decode_frame_header().

uint8_t VP8Context::feature_index_prob[4][3]

Definition at line 307 of file vp8.h.

Referenced by decode_mb_mode(), and vp7_decode_frame_header().

uint8_t VP8Context::feature_value[4][4]

Definition at line 308 of file vp8.h.

Referenced by decode_mb_mode(), and vp7_decode_frame_header().


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

Generated on Fri Jan 12 2018 01:46:29 for FFmpeg by   doxygen 1.8.6

AltStyle によって変換されたページ (->オリジナル) /