📄 decore.h
字号:
/************************************************************************** * * * This code has been developed by Andrea Graziani. 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 and Filter 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 * Jonathan White * * DivX Advanced Research Center <darc@projectmayo.com>***/// decore.h //// This is the header file describing // the entrance function of the encoder core// or the encore ...#ifdef __cplusplusextern "C" {#endif #ifndef _DECORE_H_#define _DECORE_H_#ifdef WIN32#define STDCALL _stdcall#else#define STDCALL#endif/*#if ( (! defined (WIN32)) && (! defined (LINUX)) )#define BIG_ENDIAN#endif*//** ***/// decore options#define DEC_OPT_MEMORY_REQS 0x00004000#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#define DEC_EXIT 3// decore YUV color format#define DEC_YUV2 1#define DEC_UYVY 2#define DEC_420 3// decore RGB color format#define DEC_RGB32 4 #define DEC_RGB24 5 #define DEC_RGB555 6 #define DEC_RGB565 7 #define DEC_RGB32_INV 8#define DEC_RGB24_INV 9#define DEC_RGB555_INV 10#define DEC_RGB565_INV 11/* this is necessary for the max resolution (juice resolution) */#define DEC_MBC 45#define DEC_MBR 36/** ***/typedef struct _DEC_MEM_REQS_{ unsigned long mp4_edged_ref_buffers_size; unsigned long mp4_edged_for_buffers_size; unsigned long mp4_display_buffers_size; unsigned long mp4_state_size; unsigned long mp4_tables_size; unsigned long mp4_stream_size;} DEC_MEM_REQS;typedef struct _DEC_BUFFERS_ { void * mp4_edged_ref_buffers; void * mp4_edged_for_buffers; void * mp4_display_buffers; void * mp4_state; void * mp4_tables; void * mp4_stream;} DEC_BUFFERS;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 int output_format; // output color format int time_incr; DEC_BUFFERS buffers;} DEC_PARAM;typedef struct _DEC_FRAME_{ void *bmp; // the decoded bitmap void *bitstream; // the decoder buffer long length; // the lenght of the decoder stream int render_flag; // 1: the frame is going to be rendered unsigned int stride; // decoded bitmap stride} 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 STDCALL 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -