--- decoder.h 2003/06/09 19:42:02 1.13.2.4 +++ decoder.h 2010/12/18 10:13:30 1.20 @@ -3,7 +3,7 @@ * XVID MPEG-4 VIDEO CODEC * - Decoder related header - * - * Copyright(C) 2002-2003 Peter Ross + * Copyright(C) 2002-2010 Peter Ross * * This program is free software ; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ * along with this program ; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * $Id: decoder.h,v 1.13.2.4 2003/06/09 19:42:02 edgomez Exp $ + * $Id: decoder.h,v 1.20 2010/12/18 10:13:30 Isibaar Exp $ * ****************************************************************************/ @@ -30,6 +30,7 @@ #include "portab.h" #include "global.h" #include "image/image.h" +#include "image/postprocessing.h" /***************************************************************************** * Structures @@ -79,9 +80,12 @@ uint32_t time_inc_bits; uint32_t shape; + int ver_id; uint32_t quant_bits; uint32_t quant_type; + uint16_t *mpeg_quant_matrices; int32_t quarterpel; + int32_t cartoon_mode; int complexity_estimation_disable; ESTIMATION estimation; @@ -101,7 +105,7 @@ int newpred_enable; int reduced_resolution_enable; - /* The bitstream version if it's a XviD stream */ + /* The bitstream version if it's a Xvid stream */ int bs_version; /* image */ @@ -118,6 +122,9 @@ IMAGE tmp; /* bframe interpolation, and post processing tmp buffer */ IMAGE qtmp; /* quarter pel tmp buffer */ + /* postprocessing */ + XVID_POSTPROC postproc; + /* macroblock */ uint32_t mb_width; @@ -139,17 +146,25 @@ int64_t time_base; int64_t last_time_base; int64_t last_non_b_time; - uint32_t time_pp; - uint32_t time_bp; + int32_t time_pp; + int32_t time_bp; uint32_t low_delay; /* low_delay flage (1 means no B_VOP) */ uint32_t low_delay_default; /* default value for low_delay flag */ /* for GMC: central place for all parameters */ - + IMAGE gmc; /* gmc tmp buffer, remove for blockbased compensation */ GMC_DATA gmc_data; - + NEW_GMC_DATA new_gmc_data; + xvid_image_t* out_frm; /* This is used for slice rendering */ + + int * qscale; /* quantization table for decoder's stats */ + + /* Tells if the reference image is edged or not */ + int is_edged[2]; + + int num_threads; } DECODER;