--- decoder.h 2003/06/09 01:16:12 1.13.2.2 +++ decoder.h 2006/07/10 15:05:30 1.17.2.1 @@ -1,16 +1,9 @@ /***************************************************************************** * * XVID MPEG-4 VIDEO CODEC - * - Decoder header - + * - Decoder related header - * - * This program is an implementation of a part of one or more MPEG-4 - * Video tools as specified in ISO/IEC 14496-2 standard. Those intending - * to use this software module in hardware or software products are - * advised that its use may infringe existing patents or copyrights, and - * any such use would be at such party's own risk. The original - * developer of this software module and his/her company, and subsequent - * editors and their companies, will have no liability for use of this - * software or modifications or derivatives thereof. + * Copyright(C) 2002-2003 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 @@ -26,14 +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 * - ****************************************************************************/ -/***************************************************************************** - * - * History - * - * - 13.06.2002 Added legal header - Cosmetic - * - * $Id: decoder.h,v 1.13.2.2 2003/06/09 01:16:12 edgomez Exp $ + * $Id: decoder.h,v 1.17.2.1 2006/07/10 15:05:30 Isibaar Exp $ * ****************************************************************************/ @@ -44,6 +30,7 @@ #include "portab.h" #include "global.h" #include "image/image.h" +#include "image/postprocessing.h" /***************************************************************************** * Structures @@ -93,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; @@ -115,6 +105,9 @@ int newpred_enable; int reduced_resolution_enable; + /* The bitstream version if it's a XviD stream */ + int bs_version; + /* image */ int fixed_dimensions; @@ -129,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; @@ -150,17 +146,23 @@ 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]; } DECODER;