--- trunk/xvidcore/src/divx4.c 2003/02/15 08:39:17 850 +++ trunk/xvidcore/src/divx4.c 2003/02/15 15:22:19 851 @@ -3,12 +3,17 @@ * XVID MPEG-4 VIDEO CODEC * - OpenDivx API wrapper - * - * Copyright(C) 2001-2002 Peter Ross + * 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. * - * This file is part of XviD, a free MPEG-4 video encoder/decoder - * - * XviD is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by + * 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 * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * @@ -19,38 +24,21 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + *************************************************************************/ + +/************************************************************************** + * + * History: * - * Under section 8 of the GNU General Public License, the copyright - * holders of XVID explicitly forbid distribution in the following - * countries: - * - * - Japan - * - United States of America - * - * Linking XviD statically or dynamically with other modules is making a - * combined work based on XviD. Thus, the terms and conditions of the - * GNU General Public License cover the whole combination. - * - * As a special exception, the copyright holders of XviD give you - * permission to link XviD with independent modules that communicate with - * XviD solely through the VFW1.1 and DShow interfaces, regardless of the - * license terms of these independent modules, and to copy and distribute - * the resulting combined work under terms of your choice, provided that - * every copy of the combined work is accompanied by a complete copy of - * the source code of XviD (the version of XviD used to produce the - * combined work), being distributed under the terms of the GNU General - * Public License plus this exception. An independent module is a module - * which is not derived from or based on XviD. - * - * Note that people who make modified versions of XviD are not obligated - * to grant this special exception for their modified versions; it is - * their choice whether to do so. The GNU General Public License gives - * permission to release a modified version without this exception; this - * exception also makes it possible to release a modified version which - * carries forward this exception. + * 24.02.2002 #def BFRAMES compatibility + * 26.02.2001 fixed dec_csp bugs + * 26.12.2001 xvid_init() support + * 22.12.2001 removed some compiler warnings + * 16.12.2001 inital version; (c)2001 peter ross * - * $Id: divx4.c,v 1.20 2002-11-16 23:38:16 edgomez Exp $ + * $Id: divx4.c,v 1.21 2003-02-15 15:22:17 edgomez Exp $ * *************************************************************************/ @@ -118,20 +106,17 @@ static int const divx4_motion_presets[7] = { 0, - PMV_EARLYSTOP16, + 0, - PMV_EARLYSTOP16 | PMV_ADVANCEDDIAMOND16, + PMV_ADVANCEDDIAMOND16, - PMV_EARLYSTOP16 | PMV_HALFPELREFINE16, + PMV_HALFPELREFINE16, - PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8 | - PMV_HALFPELREFINE8, + PMV_HALFPELREFINE16 | PMV_HALFPELREFINE8, - PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EARLYSTOP8 | - PMV_HALFPELREFINE8, + PMV_HALFPELREFINE16 | PMV_HALFPELREFINE8, - PMV_EARLYSTOP16 | PMV_HALFPELREFINE16 | PMV_EXTSEARCH16 | PMV_EARLYSTOP8 | - PMV_HALFPELREFINE8 + PMV_HALFPELREFINE16 | PMV_EXTSEARCH16 | PMV_HALFPELREFINE8 }; @@ -299,7 +284,7 @@ } /* Decode the bitstream */ - xerr = decoder_decode(dcur->handle, &dcur->xframe); + xerr = decoder_decode(dcur->handle, &dcur->xframe, NULL); /* Restore the real colorspace for this instance */ if (!dframe->render_flag) { @@ -382,6 +367,11 @@ xparam.max_quantizer = eparam->max_quantizer; xparam.max_key_interval = eparam->max_key_interval; + xparam.global = 0; + xparam.max_bframes = -1; /* use "original" IP-frame encoder */ + xparam.bquant_ratio = 200; + xparam.frame_drop_ratio = 0; /* dont drop frames */ + /* Create the encoder session */ xerr = encoder_create(&xparam);