~medibuntu-maintainers/mplayer/medibuntu.precise

« back to all changes in this revision

Viewing changes to ffmpeg/libavcodec/rv34.h

  • Committer: Package Import Robot
  • Author(s): Reinhard Tartler
  • Date: 2012-01-12 22:23:28 UTC
  • mfrom: (0.4.7 sid)
  • mto: This revision was merged to the branch mainline in revision 76.
  • Revision ID: package-import@ubuntu.com-20120112222328-8jqdyodym3p84ygu
Tags: 2:1.0~rc4.dfsg1+svn34540-1
* New upstream snapshot
* upload to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
#include "mpegvideo.h"
33
33
 
34
34
#include "h264pred.h"
 
35
#include "rv34dsp.h"
35
36
 
36
37
#define MB_TYPE_SEPARATE_DC 0x01000000
37
38
#define IS_SEPARATE_DC(a)   ((a) & MB_TYPE_SEPARATE_DC)
83
84
/** decoder context */
84
85
typedef struct RV34DecContext{
85
86
    MpegEncContext s;
 
87
    RV34DSPContext rdsp;
86
88
    int8_t *intra_types_hist;///< old block types, used for prediction
87
89
    int8_t *intra_types;     ///< block types
88
90
    int    intra_types_stride;///< block types array stride
90
92
    const uint8_t *luma_dc_quant_p;///< luma subblock DC quantizer for interframes
91
93
 
92
94
    RV34VLC *cur_vlcs;       ///< VLC set used for current frame decoding
93
 
    int bits;                ///< slice size in bits
94
95
    H264PredContext h;       ///< functions for 4x4 and 16x16 intra block prediction
95
96
    SliceInfo si;            ///< current slice information
96
97
 
105
106
    int rpr;                 ///< one field size in RV30 slice header
106
107
 
107
108
    int cur_pts, last_pts, next_pts;
 
109
    int weight1, weight2;    ///< B frame distance fractions (0.14) used in motion compensation
108
110
 
109
111
    uint16_t *cbp_luma;      ///< CBP values for luma subblocks
110
112
    uint8_t  *cbp_chroma;    ///< CBP values for chroma subblocks
113
115
    /** 8x8 block available flags (for MV prediction) */
114
116
    DECLARE_ALIGNED(8, uint32_t, avail_cache)[3*4];
115
117
 
 
118
    /** temporary blocks for RV4 weighted MC */
 
119
    uint8_t *tmp_b_block_y[2];
 
120
    uint8_t *tmp_b_block_uv[4];
 
121
    uint8_t *tmp_b_block_base;
 
122
 
116
123
    int (*parse_slice_header)(struct RV34DecContext *r, GetBitContext *gb, SliceInfo *si);
117
124
    int (*decode_mb_info)(struct RV34DecContext *r);
118
125
    int (*decode_intra_types)(struct RV34DecContext *r, GetBitContext *gb, int8_t *dst);
126
133
int ff_rv34_decode_init(AVCodecContext *avctx);
127
134
int ff_rv34_decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt);
128
135
int ff_rv34_decode_end(AVCodecContext *avctx);
 
136
int ff_rv34_decode_init_thread_copy(AVCodecContext *avctx);
 
137
int ff_rv34_decode_update_thread_context(AVCodecContext *dst, const AVCodecContext *src);
129
138
 
130
139
#endif /* AVCODEC_RV34_H */