|
FFmpeg
|
Public Attributes | |
| VP8ThreadData * | thread_data |
| AVCodecContext * | avctx |
| enum AVPixelFormat | pix_fmt |
| int | actually_webp |
| VP8Frame * | framep [4] |
| VP8Frame * | next_framep [4] |
| VP8Frame * | curframe |
| VP8Frame * | prev_frame |
| uint16_t | mb_width |
| uint16_t | mb_height |
| ptrdiff_t | linesize |
| ptrdiff_t | uvlinesize |
| uint8_t | keyframe |
| uint8_t | deblock_filter |
| uint8_t | mbskip_enabled |
| uint8_t | profile |
| VP8mvbounds | mv_bounds |
| 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 | |
| uint8_t update_feature_data | |
| int8_t base_quant [4] | |
| int8_t filter_level [4] | |
| base loop filter level | |
| } | segmentation |
| Base parameters for segmentation, i.e. More... | |
| 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] |
| Macroblocks can have one of 4 different quants in a frame when segmentation is enabled. More... | |
| struct { | |
| int yac_qi | |
| int ydc_delta | |
| int y2dc_delta | |
| int y2ac_delta | |
| int uvdc_delta | |
| int uvac_delta | |
| } | quant |
| struct { | |
| uint8_t enabled | |
| whether each mb can have a different strength based on mode/ref | |
| uint8_t update | |
| 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 { | |
| const uint8_t * input | |
| uint32_t range | |
| uint32_t value | |
| int bit_count | |
| } | coder_state_at_header_end |
| int | header_partition_size |
| 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... | |
| 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. More... | |
| VP56RangeCoder | coeff_partition [8] |
| int | coeff_partition_size [8] |
| VideoDSPContext | vdsp |
| VP8DSPContext | vp8dsp |
| H264PredContext | hpc |
| vp8_mc_func | put_pixels_tab [3][3][3] |
| VP8Frame | frames [5] |
| uint8_t | colorspace |
| 0 is the only value allowed (meaning bt601) | |
| uint8_t | fullrange |
| whether we can skip clamping in dsp functions | |
| int | num_jobs |
| int | mb_layout |
| 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 |
| int | fade_present |
| Fade bit present in bitstream (VP7) | |
| uint16_t | inter_dc_pred [2][2] |
| Interframe DC prediction (VP7) [0] VP56_FRAME_PREVIOUS [1] VP56_FRAME_GOLDEN. | |
| uint8_t | feature_enabled [4] |
| Macroblock features (VP7) | |
| uint8_t | feature_present_prob [4] |
| uint8_t | feature_index_prob [4][3] |
| uint8_t | feature_value [4][4] |
| 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).
| 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.
| 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!
| 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.
| 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.
1.8.12