VP8Context Struct Reference

#include <vp8.h>


Data Fields

uint16_t mb_width
uint16_t mb_height
int8_t sign_bias [4]
one state [0, 1] per ref frame type
struct {
int8_t base_quant [4]
int8_t filter_level [4]
base loop filter level
Base parameters for segmentation, i.e.
struct {
} filter
struct {
luma dc-only block quant
} qmat [4]
Macroblocks can have one of 4 different quants in a frame when segmentation is enabled.
struct {
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
uint8_t(* top_border )[16+8+8]
header context, includes mb modes and motion vectors
struct {
uint8_t token [4][16][3][NUM_DCT_TOKENS-1]
uint8_t mvc [2][19]
} prob [2]
These are all of the updatable probabilities for binary decisions.
update VP56_FRAME_PREVIOUS with the current one
VP56_FRAME_NONE if not updated, or which frame to copy if so.
If this flag is not set, all the probability updates are discarded after this frame is decoded.
All coefficients are contained in separate arith coding contexts.
A list of segmentation_map buffers that are to be free()'ed in the next decoding iteration.
This describes the macroblock memory layout.

Detailed Description

Definition at line 126 of file vp8.h.


Field Documentation

Definition at line 156 of file vp8.h.

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

Definition at line 128 of file vp8.h.

Referenced by decode_frame_header(), intra_predict(), update_dimensions(), vp8_alloc_frame(), vp8_decode_init(), vp8_decode_init_thread_copy(), and vp8_release_frame().

Definition at line 158 of file vp8.h.

Referenced by get_quants(), and parse_segment_info().

header context, includes mb modes and motion vectors

Definition at line 212 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().

Definition at line 182 of file vp8.h.

Referenced by decode_mb_coeffs(), and get_quants().

Definition at line 249 of file vp8.h.

Referenced by setup_partitions(), and vp8_decode_mb_row_no_filter().

Definition at line 131 of file vp8.h.

Referenced by vp8_decode_frame(), vp8_decode_mb_row_no_filter(), vp8_decode_mb_row_sliced(), and vp8_filter_mb_row().

Definition at line 140 of file vp8.h.

Referenced by intra_predict(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), and vp8_decode_mb_row_sliced().

Definition at line 250 of file vp8.h.

Referenced by prefetch_motion(), vp8_decode_init(), vp8_decode_mb_row_no_filter(), vp8_mc_chroma(), and vp8_mc_luma().

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

Definition at line 155 of file vp8.h.

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

struct { ... } VP8Context::filter

Referenced by decode_frame_header(), filter_level_for_mb(), intra_predict(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().

base loop filter level

Definition at line 159 of file vp8.h.

Referenced by filter_level_for_mb(), and parse_segment_info().

Definition at line 129 of file vp8.h.

Referenced by inter_predict(), prefetch_motion(), vp8_decode_flush_impl(), vp8_decode_frame(), and vp8_decode_update_thread_context().

Definition at line 254 of file vp8.h.

Referenced by vp8_decode_flush_impl(), vp8_decode_frame(), and vp8_decode_update_thread_context().

Definition at line 225 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

Definition at line 252 of file vp8.h.

Referenced by intra_predict(), and vp8_decode_init().

Definition at line 223 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

Definition at line 171 of file vp8.h.

Referenced by decode_intra4x4_modes(), decode_mb_mode(), vp8_decode_mb_row_no_filter(), and vp8_decode_mv_mb_modes().

Definition at line 170 of file vp8.h.

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

Definition at line 233 of file vp8.h.

Referenced by decode_frame_header(), and vp8_decode_frame().

Definition at line 139 of file vp8.h.

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

Definition at line 224 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

Definition at line 164 of file vp8.h.

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

struct { ... } VP8Context::lf_delta

Referenced by decode_frame_header(), filter_level_for_mb(), update_lf_deltas(), and vp8_decode_update_thread_context().

Definition at line 136 of file vp8.h.

Referenced by filter_mb(), filter_mb_simple(), idct_mb(), inter_predict(), intra_predict(), prefetch_motion(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), vp8_filter_mb_row(), and vp8_mc_part().

luma dc-only block quant

Definition at line 181 of file vp8.h.

Referenced by decode_mb_coeffs(), and get_quants().

Definition at line 180 of file vp8.h.

Referenced by decode_mb_coeffs(), and get_quants().

Definition at line 168 of file vp8.h.

Referenced by free_buffers(), update_dimensions(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().

Definition at line 232 of file vp8.h.

Referenced by decode_frame_header(), free_buffers(), update_dimensions(), vp8_decode_mb_row_no_filter(), vp8_decode_mv_mb_modes(), vp8_decode_update_thread_context(), and vp8_filter_mb_row().

Definition at line 264 of file vp8.h.

Referenced by release_queued_segmaps(), vp8_alloc_frame(), vp8_decode_flush_impl(), and vp8_decode_update_thread_context().

Definition at line 135 of file vp8.h.

Referenced by decode_frame_header(), inter_predict(), update_dimensions(), vp8_alloc_frame(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), vp8_decode_mb_row_sliced(), vp8_decode_mv_mb_modes(), vp8_decode_update_thread_context(), and vp8_filter_mb_row().

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 271 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().

Definition at line 134 of file vp8.h.

Referenced by decode_frame_header(), decode_intra4x4_modes(), decode_mvs(), decode_splitmvs(), inter_predict(), intra_predict(), update_dimensions(), vp8_alloc_frame(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), vp8_decode_mv_mb_modes(), vp8_decode_update_thread_context(), and vp8_filter_mb_row().

Definition at line 222 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

Definition at line 141 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

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

Referenced by filter_level_for_mb(), and update_lf_deltas().

Definition at line 144 of file vp8.h.

Referenced by clamp_mv(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), vp8_decode_mb_row_sliced(), and vp8_decode_mv_mb_modes().

Definition at line 143 of file vp8.h.

Referenced by clamp_mv(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), vp8_decode_mb_row_sliced(), and vp8_decode_mv_mb_modes().

Definition at line 229 of file vp8.h.

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

Definition at line 130 of file vp8.h.

Referenced by vp8_decode_frame().

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

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

Definition at line 265 of file vp8.h.

Referenced by vp8_decode_frame(), vp8_decode_mb_row_no_filter(), vp8_decode_mb_row_sliced(), and vp8_filter_mb_row().

Definition at line 263 of file vp8.h.

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

Definition at line 226 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

Definition at line 227 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_mode().

Definition at line 132 of file vp8.h.

Referenced by vp8_decode_frame(), and vp8_decode_mb_row_no_filter().

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

These are all of the updatable probabilities for binary decisions.

They are only implictly 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_frame_header(), decode_mb_coeffs(), decode_mb_mode(), decode_mvs(), decode_splitmvs(), parse_segment_info(), vp8_decode_frame(), and vp8_decode_update_thread_context().

Definition at line 142 of file vp8.h.

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

Definition at line 253 of file vp8.h.

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

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(), and get_quants().

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

Referenced by filter_level_for_mb(), and update_lf_deltas().

Definition at line 147 of file vp8.h.

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

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_frame_header(), decode_mb_mode(), filter_level_for_mb(), get_quants(), parse_segment_info(), vp8_decode_frame(), and vp8_decode_update_thread_context().

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

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

Definition at line 221 of file vp8.h.

Referenced by decode_mb_mode(), and parse_segment_info().

Definition at line 165 of file vp8.h.

Referenced by decode_frame_header(), and filter_level_for_mb().

one state [0, 1] per ref frame type

Definition at line 146 of file vp8.h.

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

Definition at line 163 of file vp8.h.

Referenced by decode_frame_header(), intra_predict(), vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().

Definition at line 127 of file vp8.h.

Referenced by free_buffers(), update_dimensions(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), vp8_decode_mb_row_sliced(), and vp8_filter_mb_row().

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

Definition at line 228 of file vp8.h.

Referenced by decode_frame_header(), and decode_mb_coeffs().

Definition at line 209 of file vp8.h.

Referenced by free_buffers(), intra_predict(), update_dimensions(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().

Definition at line 210 of file vp8.h.

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

Definition at line 236 of file vp8.h.

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

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

Definition at line 235 of file vp8.h.

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

update VP56_FRAME_PREVIOUS with the current one

Definition at line 234 of file vp8.h.

Referenced by decode_frame_header(), and vp8_decode_frame().

Definition at line 157 of file vp8.h.

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

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

Definition at line 242 of file vp8.h.

Referenced by decode_frame_header(), and vp8_decode_frame().

Definition at line 137 of file vp8.h.

Referenced by filter_mb(), idct_mb(), inter_predict(), intra_predict(), prefetch_motion(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), vp8_filter_mb_row(), and vp8_mc_part().

Definition at line 251 of file vp8.h.

Referenced by decode_frame_header(), decode_mb_coeffs(), filter_mb(), filter_mb_simple(), idct_mb(), intra_predict(), and vp8_decode_init().


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

Generated on Fri Oct 26 02:50:17 2012 for FFmpeg by doxygen 1.5.8

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