Author: conrad Date: Thu Jan 1 21:31:23 2009 New Revision: 3908 Log: Reorganize the members of DiracContext a bit more logically
Modified: dirac/libavcodec/dirac.h Modified: dirac/libavcodec/dirac.h ============================================================================== --- dirac/libavcodec/dirac.h Thu Jan 1 21:31:21 2009 (r3907) +++ dirac/libavcodec/dirac.h Thu Jan 1 21:31:23 2009 (r3908) @@ -161,67 +161,59 @@ typedef struct Plane{ typedef struct DiracContext { AVCodecContext *avctx; GetBitContext gb; - - AVFrame *current_picture; - AVFrame *ref_pics[2]; - - AVFrame *ref_frames[MAX_REFERENCE_FRAMES+1]; - AVFrame *delay_frames[MAX_DELAYED_FRAMES+1]; - AVFrame *all_frames; - - int16_t *mcpic; - + struct dirac_arith_state arith; dirac_source_params source; + Plane plane[3]; + int chroma_hshift; ///< horizontal bits to shift for choma + int chroma_vshift; ///< vertical bits to shift for choma - uint8_t wavelet_depth; ///< depth of the IDWT - - uint8_t mv_precision; - - int16_t picture_weight_ref1; - int16_t picture_weight_ref2; - unsigned int picture_weight_precision; + int zero_res; ///< zero residue flag + int is_arith; ///< whether coeffs use arith or golomb coding + int low_delay; ///< use the low delay syntax + int globalmc_flag; ///< use global motion compensation flag + int refs; ///< number of reference pictures + // wavelet decoding + uint8_t wavelet_depth; ///< depth of the IDWT + unsigned int wavelet_idx; unsigned int codeblock_mode; unsigned int codeblocksh[MAX_DECOMPOSITIONS+1]; unsigned int codeblocksv[MAX_DECOMPOSITIONS+1]; IDWTELEM *spatial_idwt_buffer; - int low_delay; ///< use the low delay syntax + // low delay unsigned int x_slices; unsigned int y_slices; AVRational slice_bytes; uint8_t quant_matrix[MAX_DECOMPOSITIONS][4]; - int chroma_hshift; ///< horizontal bits to shift for choma - int chroma_vshift; ///< vertical bits to shift for choma + // motion compensation + uint8_t mv_precision; + int16_t picture_weight_ref1; + int16_t picture_weight_ref2; + unsigned int picture_weight_precision; int blwidth; ///< number of blocks (horizontally) int blheight; ///< number of blocks (vertically) int sbwidth; ///< number of superblocks (horizontally) int sbheight; ///< number of superblocks (vertically) - int zero_res; ///< zero residue flag - int is_arith; ///< whether coeffs use arith or golomb coding - - int refs; ///< number of reference pictures - int globalmc_flag; ///< use global motion compensation flag - /** global motion compensation parameters */ + int *sbsplit; // XXX: int8_t + struct dirac_blockmotion *blmotion; struct globalmc_parameters globalmc; + int16_t *mcpic; int16_t *spatialwt; - int8_t *refdata[2]; int refwidth; int refheight; - unsigned int wavelet_idx; - - Plane plane[3]; - int *sbsplit; // XXX: int8_t - struct dirac_blockmotion *blmotion; + AVFrame *current_picture; + AVFrame *ref_pics[2]; - /** State of arithmetic decoding. */ - struct dirac_arith_state arith; + AVFrame *ref_frames[MAX_REFERENCE_FRAMES+1]; + AVFrame *delay_frames[MAX_DELAYED_FRAMES+1]; + AVFrame *all_frames; } DiracContext; typedef enum { _______________________________________________ FFmpeg-soc mailing list FFmpeg-soc@mplayerhq.hu https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc