FFmpeg
|
#include <vp8.h>
Data Fields | |
struct vpx_codec_ctx | decoder |
AVClass * | class |
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 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 |
int | lossless |
int | tile_columns |
int | tile_rows |
int | frame_parallel |
VP8ThreadData * | thread_data |
AVCodecContext * | avctx |
VP8Frame * | framep [4] |
VP8Frame * | next_framep [4] |
VP8Frame * | curframe |
VP8Frame * | 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] |
VP8Frame | frames [5] |
int | num_jobs |
int | mb_layout |
This describes the macroblock memory layout. | |
Definition at line 36 of file libvpxdec.c.
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 |
Definition at line 63 of file libvpxenc.c.
Referenced by codecctl_int(), log_encoder_error(), queue_frames(), vp8_encode(), vp8_free(), and vpx_init().
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 |
Definition at line 138 of file vp8.h.
Referenced by ff_vp8_decode_frame(), free_buffers(), update_dimensions(), vp8_decode_mb_row_no_filter(), vp8_decode_mb_row_sliced(), and vp8_filter_mb_row().
AVCodecContext* VP8Context::avctx |
Definition at line 139 of file vp8.h.
Referenced by decode_frame_header(), ff_vp8_decode_init(), update_dimensions(), vp8_alloc_frame(), vp8_decode_init_thread_copy(), and vp8_release_frame().
VP8Frame* VP8Context::framep[4] |
Definition at line 140 of file vp8.h.
Referenced by ff_vp8_decode_frame(), inter_predict(), prefetch_motion(), vp8_decode_flush_impl(), and vp8_decode_update_thread_context().
VP8Frame* VP8Context::next_framep[4] |
Definition at line 141 of file vp8.h.
Referenced by ff_vp8_decode_frame().
VP8Frame* VP8Context::curframe |
Definition at line 142 of file vp8.h.
Referenced by ff_vp8_decode_frame(), vp8_decode_mb_row_no_filter(), vp8_decode_mb_row_sliced(), and vp8_filter_mb_row().
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 |
Definition at line 145 of file vp8.h.
Referenced by decode_frame_header(), decode_intra4x4_modes(), decode_mvs(), decode_splitmvs(), ff_vp8_decode_frame(), inter_predict(), intra_predict(), update_dimensions(), vp8_alloc_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 146 of file vp8.h.
Referenced by decode_frame_header(), ff_vp8_decode_frame(), inter_predict(), update_dimensions(), vp8_alloc_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 147 of file vp8.h.
Referenced by ff_vp8_decode_frame(), filter_mb(), filter_mb_simple(), idct_mb(), inter_predict(), intra_predict(), prefetch_motion(), vp8_decode_mb_row_no_filter(), vp8_filter_mb_row(), and vp8_mc_part().
int VP8Context::uvlinesize |
Definition at line 148 of file vp8.h.
Referenced by ff_vp8_decode_frame(), filter_mb(), idct_mb(), inter_predict(), intra_predict(), prefetch_motion(), vp8_decode_mb_row_no_filter(), vp8_filter_mb_row(), and vp8_mc_part().
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 |
Definition at line 151 of file vp8.h.
Referenced by ff_vp8_decode_frame(), intra_predict(), vp8_decode_mb_row_no_filter(), and vp8_decode_mb_row_sliced().
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 |
Definition at line 154 of file vp8.h.
Referenced by clamp_mv(), ff_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 155 of file vp8.h.
Referenced by clamp_mv(), ff_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 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 |
Definition at line 168 of file vp8.h.
Referenced by decode_frame_header(), decode_mb_mode(), ff_vp8_decode_frame(), parse_segment_info(), and vp8_decode_mb_row_no_filter().
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 |
Definition at line 174 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 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 |
Definition at line 179 of file vp8.h.
Referenced by ff_vp8_decode_frame(), free_buffers(), update_dimensions(), vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().
uint8_t* VP8Context::intra4x4_pred_mode_top |
Definition at line 181 of file vp8.h.
Referenced by decode_intra4x4_modes(), decode_mb_mode(), ff_vp8_decode_frame(), free_buffers(), and update_dimensions().
uint8_t VP8Context::intra4x4_pred_mode_left[4] |
Definition at line 182 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 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 |
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 220 of file vp8.h.
Referenced by free_buffers(), intra_predict(), update_dimensions(), vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().
uint8_t(* VP8Context::top_nnz)[9] |
Definition at line 221 of file vp8.h.
Referenced by ff_vp8_decode_frame(), free_buffers(), update_dimensions(), and vp8_decode_mb_row_no_filter().
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 |
Definition at line 243 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 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 |
Definition at line 261 of file vp8.h.
Referenced by ff_vp8_decode_init(), prefetch_motion(), vp8_decode_mb_row_no_filter(), vp8_mc_chroma(), and vp8_mc_luma().
VP8DSPContext VP8Context::vp8dsp |
Definition at line 262 of file vp8.h.
Referenced by decode_frame_header(), decode_mb_coeffs(), ff_vp8_decode_init(), filter_mb(), filter_mb_simple(), idct_mb(), and intra_predict().
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] |
Definition at line 265 of file vp8.h.
Referenced by ff_vp8_decode_frame(), ff_vp8_decode_free(), vp8_decode_flush_impl(), vp8_decode_update_thread_context(), and vp8_init_frames().
int VP8Context::num_jobs |
Definition at line 267 of file vp8.h.
Referenced by ff_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(), ff_vp8_decode_frame(), update_dimensions(), vp8_decode_mb_row_no_filter(), and vp8_filter_mb_row().