diff options
Diffstat (limited to 'src/libdivx4/decore-if.h')
-rw-r--r-- | src/libdivx4/decore-if.h | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/src/libdivx4/decore-if.h b/src/libdivx4/decore-if.h deleted file mode 100644 index 25b34f670..000000000 --- a/src/libdivx4/decore-if.h +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright (C) 2001-2003 the xine project - * - * This file is part of xine, a free video player. - * - * xine 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. - * - * xine is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * 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 - * - * $Id: decore-if.h,v 1.5 2003/12/09 00:02:31 f1rmb Exp $ - * - * This file documents the interface for the decore() function - * in libdivxdecore. In case of problems, it is recommended you compare - * the definitions in this file with the header file that came with your - * divx4 library (see below). - * - * The divxdecore library can be found as part of the divx4linux package at - * http://www.divx.com or http://avifile.sourceforge.net The package also - * contains a text file documenting the decore/encore API. - * - * Alternatively, the open source OpenDivx project (http://www.projectmayo.com) - * also provides a divxdecore library with the same interface. There is - * a project called XviD at http://www.videocoding.de that extends the - * opendivx project. - * - * THIS FILE AND THE XINE DECORE PLUGIN ARE INTENDED FOR THE BINARY DIVX4LINUX - * PACKAGE. OPENDIVX DECORE LIBRARIES ARE CURRENTLY NOT SUPPORTED AND MAY OR - * MAY NOT WORK. - * - * Harm van der Heijden <hrm@users.sourceforge.net> - */ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _DECORE_IF_H_ -#define _DECORE_IF_H_ - -/* decore commands (2nd parameter in decore()) */ -#define DEC_OPT_MEMORY_REQS 0 -#define DEC_OPT_INIT 1 -#define DEC_OPT_RELEASE 2 -#define DEC_OPT_SETPP 3 -#define DEC_OPT_SETOUT 4 -#define DEC_OPT_FRAME 5 -#define DEC_OPT_FRAME_311 6 -#define DEC_OPT_SETPP2 7 -#define DEC_OPT_VERSION 8 -#define DEC_OPT_SETPP_ADV 10 /* advanced (personalized) postprocessing settings */ -#define DEC_OPT_SETDEBUG 11 -#define DEC_OPT_INIT_VOL 12 -#define DEC_OPT_CONVERTYUV 13 -#define DEC_OPT_CONVERTYV12 14 -#define DEC_OPT_GETVOLINFO 15 - -/* decore() return values. */ -#define DEC_OK 0 -#define DEC_MEMORY 1 -#define DEC_BAD_FORMAT 2 -#define DEC_EXIT 3 - -/* colour formats -- yuv */ -#define DEC_YUY2 1 -#define DEC_YUV2 DEC_YUY2 -#define DEC_UYVY 2 -#define DEC_420 3 -#define DEC_YV12 13 /* looks like an afterthought, eh? */ -#define DEC_ARGB 14 - -/* colour formats -- rgb - not yet used by xine, but perhaps in the future. - (decore yuv->rgb conversion may be better than libsdl/Xshm) */ -#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 - -/* pseudo colour format; makes decore() return pointers to internal - yuv buffers for manual conversion, see DEC_PICTURE */ -#define DEC_USER 12 - -/* memory requirement structure; the officical codec spec calls for - a DEC_OPT_MEMORY_REQ call prior to DEC_OPT_INIT, but it does not - actually seem to be used */ -typedef struct -{ - unsigned long mp4_edged_ref_buffers_size; - unsigned long mp4_edged_for_buffers_size; - unsigned long mp4_edged_back_buffers_size; - unsigned long mp4_display_buffers_size; - unsigned long mp4_state_size; - unsigned long mp4_tables_size; - unsigned long mp4_stream_size; - unsigned long mp4_reference_size; -} DEC_MEM_REQS; - -/* included in DEC_PARAM for init, not really used otherwise. */ -typedef struct -{ - void * mp4_edged_ref_buffers; - void * mp4_edged_for_buffers; - void * mp4_edged_back_buffers; - void * mp4_display_buffers; - void * mp4_state; - void * mp4_tables; - void * mp4_stream; - void * mp4_reference; -} DEC_BUFFERS; - -/* struct for DEC_OPT_INIT */ -typedef struct -{ - int x_dim; /* frame width */ - int y_dim; /* frame height */ - int output_format; /* refers to colour formats defined above */ - int time_incr; /* mystery parameter, use 15 */ - int codec_version; - int build_number; - DEC_BUFFERS buffers; /* memcpy 0's in this struct before init */ -} DEC_PARAM; - -/* struct for DEC_OPT_DECODE */ -typedef struct -{ - void *bmp; /* pointer to rgb, yuv or DEC_PICTURE buffer */ - void *bitstream; /* input bit stream */ - long length; /* length of input */ - int render_flag; /* 1 to actually render the frame */ - unsigned int stride; /* bmp stride; should be width */ -} DEC_FRAME; - -/* decode frame information. not yet used by xine */ -typedef struct -{ - int intra; - int *quant_store; - int quant_stride; -} DEC_FRAME_INFO; - -/* structure for DEC_OPT_SETPP, for setting the postprocessing level */ -typedef struct -{ - int postproc_level; /* between 0-100, actually used 0-60 */ - - int deblock_hor_luma; - int deblock_ver_luma; - int deblock_hor_chr; - int deblock_ver_chr; - int dering_luma; - int dering_chr; - - int pp_semaphore; - -} DEC_SET; - -/* structure for DEC_USER output format, should be used instead of bmp ptr */ -typedef struct -{ - void *y; - void *u; - void *v; - int stride_y; - int stride_uv; -} DEC_PICTURE; - -/* Finally, decore() itself. Refer to the official codec interface text for - a complete description. */ -int decore( unsigned long handle, unsigned long dec_opt, void* param1, void* param2); -/* handle: unique caller handle. xine uses the video_decoder_t ptr. - dec_opt: decore command id - param1: depends on command. Usually ptr to struct with input values. - param2: depends on command. Usually ptr to struct with output values. */ - -/* typedef for pointer to decore function */ -typedef int (*decoreFunc)(unsigned long, unsigned long, void*, void*); - -#endif /* _DECORE_IF_H_ */ -#ifdef __cplusplus -} -#endif - |