/************************************************************************** * * * This code has been developed by Adam Li. This software 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 (including Project Mayo), will have no liability for use of * * this software or modifications or derivatives thereof. * * * * Project Mayo gives users of the Codec a license to this software * * module or modifications thereof for use in hardware or software * * products claiming conformance to the MPEG-4 Video Standard as * * described in the Open DivX license. * * * * The complete Open DivX license can be found at * * http://www.projectmayo.com/opendivx/license.php * * * **************************************************************************/ /** * Copyright (C) 2001 - Project Mayo * * Adam Li * Andrea Graziani * * DivX Advanced Research Center * **/ // decore.h // // This is the header file describing // the entrance function of the encoder core // or the encore ... #ifdef __cplusplus extern "C" { #endif #ifndef _DECORE_H_ #define _DECORE_H_ /** * **/ // decore options #define DEC_OPT_INIT 0x00008000 #define DEC_OPT_RELEASE 0x00010000 #define DEC_OPT_SETPP 0x00020000 // set postprocessing mode #define DEC_OPT_SETOUT 0x00040000 // set output mode // decore return values #define DEC_OK 0 #define DEC_MEMORY 1 #define DEC_BAD_FORMAT 2 // supported output formats #define YUV12 1 #define RGB32 2 // -biHeight #define RGB24 3 // -biHeight #define RGB555 4 // -biHeight #define RGB565 5 // -biHeight #define YUV2 6 #define UYVY 7 /** * **/ typedef struct _DEC_PARAM_ { int x_dim; // x dimension of the frames to be decoded int y_dim; // y dimension of the frames to be decoded unsigned long color_depth; // leaved for compatibility (new value must be NULL) int output_format; } DEC_PARAM; typedef struct _DEC_FRAME_ { void *bmp; // the 24-bit decoded bitmap void *bitstream; // the decoder buffer long length; // the lenght of the decoder stream int render_flag; } DEC_FRAME; typedef struct _DEC_SET_ { int postproc_level; // valid interval are [0..100] } DEC_SET; /** * **/ // the prototype of the decore() - main decore engine entrance // int decore( unsigned long handle, // handle - the handle of the calling entity, must be unique unsigned long dec_opt, // dec_opt - the option for docoding, see below void *param1, // param1 - the parameter 1 (it's actually meaning depends on dec_opt void *param2); // param2 - the parameter 2 (it's actually meaning depends on dec_opt #endif // _DECORE_H_ #ifdef __cplusplus } #endif