27 #ifndef AVCODEC_RV34_H 28 #define AVCODEC_RV34_H 36 #define MB_TYPE_SEPARATE_DC 0x01000000 37 #define IS_SEPARATE_DC(a) ((a) & MB_TYPE_SEPARATE_DC) 107 int cur_pts, last_pts, next_pts;
110 int mv_weight1, mv_weight2;
112 int orig_width, orig_height;
122 uint8_t *tmp_b_block_y[2];
123 uint8_t *tmp_b_block_uv[4];
124 uint8_t *tmp_b_block_base;
P-frame macroblock with DCs in a separate 4x4 block, one motion vector.
Definition: rv34.h:54
int vlc_set
VLCs used for this slice.
Definition: rv34.h:76
VLC second_pattern[2]
VLCs used for decoding coefficients in the subblocks 2 and 3.
Definition: rv34.h:67
P-frame macroblock, 16x8 motion compensation partitions.
Definition: rv34.h:51
B-frame macroblock, forward prediction.
Definition: rv34.h:47
Bidirectionally predicted B-frame macroblock, two motion vectors.
Definition: rv34.h:53
int height
coded height
Definition: rv34.h:79
Bidirectionally predicted B-frame macroblock, no motion vectors.
Definition: rv34.h:50
int ff_rv34_decode_init(AVCodecContext *avctx)
Initialize decoder.
Definition: rv34.c:1492
RV40BlockTypes
RV30 and RV40 Macroblock types.
Definition: rv34.h:42
VLC cbppattern[2]
VLCs used for pattern of coded block patterns decoding.
Definition: rv34.h:64
int weight2
B-frame distance fractions (0.14) used in motion compensation.
Definition: rv34.h:109
const uint8_t * luma_dc_quant_p
luma subblock DC quantizer for interframes
Definition: rv34.h:91
uint16_t * cbp_luma
CBP values for luma subblocks.
Definition: rv34.h:114
int width
coded width
Definition: rv34.h:78
uint16_t * deblock_coefs
deblock coefficients for each macroblock
Definition: rv34.h:116
Context for storing H.264 prediction functions.
Definition: h264pred.h:92
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.
Definition: mem.h:120
Skipped block.
Definition: rv34.h:49
P-frame macroblock, 8x16 motion compensation partitions.
Definition: rv34.h:52
int quant
quantizer used for this slice
Definition: rv34.h:75
RV30/40 decoder motion compensation functions.
int luma_vlc
which VLC set will be used for decoding of luma blocks
Definition: rv34.h:99
VLC tables used by the decoder.
Definition: rv34.h:63
int end
start and end macroblocks of the slice
Definition: rv34.h:77
Intra macroblock with DCs in a separate 4x4 block.
Definition: rv34.h:44
int * mb_type
internal macroblock types
Definition: rv34.h:97
H264PredContext h
functions for 4x4 and 16x16 intra block prediction
Definition: rv34.h:94
VLC coefficient
VLCs used for decoding big coefficients.
Definition: rv34.h:69
VLC first_pattern[4]
VLCs used for decoding coefficients in the first subblock.
Definition: rv34.h:66
struct SliceInfo SliceInfo
essential slice information
essential slice information
Definition: rv34.h:73
Libavcodec external API header.
main external API structure.
Definition: avcodec.h:1518
RV34VLC * cur_vlcs
VLC set used for current frame decoding.
Definition: rv34.h:93
SliceInfo si
current slice information
Definition: rv34.h:95
struct RV34VLC RV34VLC
VLC tables used by the decoder.
P-frame macroblock, 8x8 motion compensation partitions.
Definition: rv34.h:46
VLC cbp[2][4]
VLCs used for coded block patterns decoding.
Definition: rv34.h:65
int intra_types_stride
block types array stride
Definition: rv34.h:89
int is16
current block has additional 16x16 specific features or not
Definition: rv34.h:101
H.264 / AVC / MPEG-4 prediction functions.
int8_t * intra_types
block types
Definition: rv34.h:88
P-frame macroblock, one motion frame.
Definition: rv34.h:45
int ff_rv34_get_start_offset(GetBitContext *gb, int blocks)
common decoding functions
Definition: rv34.c:330
MpegEncContext.
Definition: mpegvideo.h:81
Definition: get_bits.h:56
B-frame macroblock, backward prediction.
Definition: rv34.h:48
VLC third_pattern[2]
VLCs used for decoding coefficients in the last subblock.
Definition: rv34.h:68
decoder context
Definition: rv34.h:84
int block_type
current block type
Definition: rv34.h:98
const uint8_t * luma_dc_quant_i
luma subblock DC quantizer for intraframes
Definition: rv34.h:90
int8_t * intra_types_hist
old block types, used for prediction
Definition: rv34.h:87
int type
slice type (intra, inter)
Definition: rv34.h:74
int rv30
indicates which RV variant is currently decoded
Definition: rv34.h:104
This structure stores compressed data.
Definition: avcodec.h:1407
Intra macroblock.
Definition: rv34.h:43
int chroma_vlc
which VLC set will be used for decoding of chroma blocks
Definition: rv34.h:100
struct RV34DecContext RV34DecContext
decoder context
int pts
frame timestamp
Definition: rv34.h:80
uint8_t * cbp_chroma
CBP values for chroma subblocks.
Definition: rv34.h:115