FFmpeg
|
#include <vp8.h>
Data Fields | |
struct vpx_codec_ctx | decoder |
AVClass * | class |
struct vpx_codec_ctx | encoder |
struct vpx_image | rawimg |
struct vpx_fixed_buf | twopass_stats |
int | deadline |
struct FrameListData * | coded_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 |
VP8ThreadData * | thread_data |
AVCodecContext * | avctx |
AVFrame * | framep [4] |
AVFrame * | next_framep [4] |
AVFrame * | curframe |
AVFrame * | prev_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 |
VP8Macroblock * | macroblocks |
uint8_t * | intra4x4_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] |
VP8Macroblock * | macroblocks_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_t * | segmentation_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. | |
Definition at line 34 of file libvpxdec.c.
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 |
Definition at line 56 of file libvpxenc.c.
Referenced by codecctl_int(), log_encoder_error(), queue_frames(), vp8_encode(), vp8_free(), and vp8_init().
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 |
Definition at line 129 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().
AVCodecContext* VP8Context::avctx |
Definition at line 130 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().
AVFrame* VP8Context::framep[4] |
Definition at line 131 of file vp8.h.
Referenced by inter_predict(), prefetch_motion(), vp8_decode_flush_impl(), vp8_decode_frame(), and vp8_decode_update_thread_context().
AVFrame* VP8Context::next_framep[4] |
Definition at line 132 of file vp8.h.
Referenced by vp8_decode_frame().
AVFrame* VP8Context::curframe |
Definition at line 133 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().
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 |
Definition at line 136 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().
uint16_t VP8Context::mb_height |
Definition at line 137 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().
int VP8Context::linesize |
Definition at line 138 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().
int VP8Context::uvlinesize |
Definition at line 139 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().
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 |
Definition at line 142 of file vp8.h.
Referenced by intra_predict(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), and vp8_decode_mb_row_sliced().
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 |
Definition at line 145 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().
VP56mv VP8Context::mv_max |
Definition at line 146 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().
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 |
Definition at line 165 of file vp8.h.
Referenced by decode_frame_header(), intra_predict(), vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().
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 |
Definition at line 170 of file vp8.h.
Referenced by free_buffers(), update_dimensions(), vp8_decode_frame(), vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().
uint8_t* VP8Context::intra4x4_pred_mode_top |
Definition at line 172 of file vp8.h.
Referenced by decode_intra4x4_modes(), decode_mb_mode(), free_buffers(), update_dimensions(), and vp8_decode_frame().
uint8_t VP8Context::intra4x4_pred_mode_left[4] |
Definition at line 173 of file vp8.h.
Referenced by decode_intra4x4_modes(), decode_mb_mode(), vp8_decode_mb_row_no_filter(), and vp8_decode_mv_mb_modes().
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 |
Referenced by decode_frame_header(), filter_level_for_mb(), update_lf_deltas(), and vp8_decode_update_thread_context().
uint8_t(* VP8Context::top_border)[16+8+8] |
Definition at line 211 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().
uint8_t(* VP8Context::top_nnz)[9] |
Definition at line 212 of file vp8.h.
Referenced by free_buffers(), update_dimensions(), vp8_decode_frame(), and vp8_decode_mb_row_no_filter().
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 |
Definition at line 234 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().
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 |
Definition at line 252 of file vp8.h.
Referenced by prefetch_motion(), vp8_decode_init(), vp8_decode_mb_row_no_filter(), vp8_mc_chroma(), and vp8_mc_luma().
VP8DSPContext VP8Context::vp8dsp |
Definition at line 253 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().
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] |
Definition at line 256 of file vp8.h.
Referenced by vp8_decode_flush_impl(), vp8_decode_frame(), and vp8_decode_update_thread_context().
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 |
Definition at line 266 of file vp8.h.
Referenced by release_queued_segmaps(), vp8_alloc_frame(), vp8_decode_flush_impl(), and vp8_decode_update_thread_context().
int VP8Context::num_jobs |
Definition at line 267 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().
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().