⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 constants.h

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 H
字号:
/* *			GPAC - Multimedia Framework C SDK * *			Copyright (c) Jean Le Feuvre 2000-2005  *					All rights reserved * *  This file is part of GPAC / exported constants * *  GPAC is free software; you can redistribute it and/or modify *  it under the terms of the GNU Lesser General Public License as published by *  the Free Software Foundation; either version 2, or (at your option) *  any later version. *    *  GPAC 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 Lesser General Public License for more details. *    *  You should have received a copy of the GNU Lesser General Public *  License along with this library; see the file COPYING.  If not, write to *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  * */#ifndef _GF_CONSTANTS_H_#define _GF_CONSTANTS_H_#ifdef __cplusplusextern "C" {#endif#include <gpac/tools.h>/*! \addtogroup cst_grp constants *	\brief Constants used within GPAC * *	This section documents some constants used in the GPAC framework which are not related to *	any specific sub-project. *	\ingroup utils_grp *	@{ *//*! *	\brief Supported media stream types *	\hideinitializer * * Supported media stream types for media objects.*/enum{	/*!MPEG-4 Object Descriptor Stream*/	GF_STREAM_OD		= 0x01,	/*!MPEG-4 Object Clock Reference Stream*/	GF_STREAM_OCR		= 0x02,	/*!MPEG-4 Scene Description Stream*/	GF_STREAM_SCENE		= 0x03,	/*!Visual Stream (Video, Image or MPEG-4 SNHC Tools)*/	GF_STREAM_VISUAL	= 0x04,	/*!Audio Stream (Audio, MPEG-4 Structured-Audio Tools)*/	GF_STREAM_AUDIO		= 0x05,	/*!MPEG-7 Description Stream*/	GF_STREAM_MPEG7		= 0x06,	/*!MPEG-4 Intellectual Property Management and Protection Stream*/	GF_STREAM_IPMP		= 0x07,	/*!MPEG-4 Object Content Information Stream*/	GF_STREAM_OCI		= 0x08,	/*!MPEG-4 MPEGlet Stream*/	GF_STREAM_MPEGJ		= 0x09,	/*!MPEG-4 User Interaction Stream*/	GF_STREAM_INTERACT	= 0x0A,	/*!MPEG-4 IPMP Tool Stream*/	GF_STREAM_IPMP_TOOL	= 0x0B,	/*!MPEG-4 Font Data Stream*/	GF_STREAM_FONT		= 0x0C,	/*!MPEG-4 Streaming Text Stream*/	GF_STREAM_TEXT		= 0x0D,	/*!Nero Digital Subpicture Stream*/	GF_STREAM_ND_SUBPIC = 0x38,	/*GPAC internal stream types*/	/*!GPAC Private Scene streams\n	*\n\note	*this streamtype (MPEG-4 user-private) is reserved for streams only used to create a scene decoder handling the service 	*by itself, as is the case of the BT/VRML reader and can be used by many other things.\n	*The decoderSpecificInfo carried is as follows:	 \code 		u32 file_size:	total file size 		char file_name[dsi_size - sizeof(u32)]: local file name. 		\n\note: File may be a cache file, it is the decoder responsability to check if the file is completely		downloaded before parsing if needed.	 \endcode 	*The inBufferLength param for decoders using these streams is the stream clock in ms (no input data is given).\n	*There is a dummy module available generating this stream and taking care of proper clock init in case of seeking.\n	*This is a reentrant streamtype: if any media object with this streamtype also exist in the scene, they will be 	*attached to the scene decoder (except when a new inline scene is detected, in which case a new decoder will 	*be created). This allows for animation/sprite usage along with the systems timing/stream management.\n	*\n	*the objectTypeIndication currently in use for these streams are\n	*0x00	-	 Forbidden\n	*0x01	-	 VRML/BT/XMT/SWF loader (similar to MP4Box context loading)\n	*0x02	-	 SVG loader\n	*0x03	-	 LASeR XML loader\n	*/	GF_STREAM_PRIVATE_SCENE	= 0x20,};/*! *	Media Object types *  *	This type provides a hint to network modules which may have to generate an service descriptor on the fly. *	They occur only if objects/services used in the scene are not referenced through ObjectDescriptors (MPEG-4)  *	but direct through URL*/enum{	/*!service descriptor expected is of undefined type. This should be treated like GF_MEDIA_OBJECT_SCENE*/	GF_MEDIA_OBJECT_UNDEF = 0,	/*!service descriptor expected is of SCENE type and shall contain a scene stream and OD one if needed*/	GF_MEDIA_OBJECT_SCENE,	/*!service descriptor expected is of SCENE type (animation streams)*/	GF_MEDIA_OBJECT_BIFS,	/*!service descriptor expected is of VISUAL type*/	GF_MEDIA_OBJECT_VIDEO,	/*!service descriptor expected is of AUDIO type*/	GF_MEDIA_OBJECT_AUDIO,	/*!service descriptor expected is of TEXT type (3GPP/MPEG4)*/	GF_MEDIA_OBJECT_TEXT,	/*!service descriptor expected is of UserInteraction type (MPEG-4 InputSensor)*/	GF_MEDIA_OBJECT_INTERACT,};/*! * \brief Pixel Formats *  *	Supported pixel formats for everything using video *\note	For textures using 32 bit ARGB/RGB_32/BGR_32: *\li on little endian machines, shall be ordered in memory as BGRA,  *\li on big endians, shall be ordered in memory as ARGB *so that *(u32*)pixel_mem is always ARGB (0xAARRGGBB).*/typedef enum{	/*!8 bit GREY */	GF_PIXEL_GREYSCALE	=	GF_4CC('G','R','E','Y'),	/*!16 bit greyscale*/	GF_PIXEL_ALPHAGREY	=	GF_4CC('G','R','A','L'),	/*!12 bit RGB on 16 bits (4096 colors)*/	GF_PIXEL_RGB_444	=	GF_4CC('R','4','4','4'),	/*!15 bit RGB*/	GF_PIXEL_RGB_555	=	GF_4CC('R','5','5','5'),	/*!16 bit RGB*/	GF_PIXEL_RGB_565	=	GF_4CC('R','5','6','5'),	/*!24 bit RGB*/	GF_PIXEL_RGB_24		=	GF_4CC('R','G','B','3'),	/*!24 bit BGR - used for graphics cards video format signaling*/	GF_PIXEL_BGR_24		=	GF_4CC('B','G','R','3'),	/*!32 bit RGB*/	GF_PIXEL_RGB_32		=	GF_4CC('R','G','B','4'),	/*!32 bit BGR - used for graphics cards video format signaling*/	GF_PIXEL_BGR_32		=	GF_4CC('B','G','R','4'),	/*!32 bit ARGB.*/	GF_PIXEL_ARGB		=	GF_4CC('A','R','G','B'),	/*!32 bit RGBA (openGL like)*/	GF_PIXEL_RGBA		=	GF_4CC('R','G','B', 'A'),	/*!YUV packed format*/	GF_PIXEL_YUY2		=	GF_4CC('Y','U','Y','2'),	/*!YUV packed format*/	GF_PIXEL_YVYU		=	GF_4CC('Y','V','Y','U'),	/*!YUV packed format*/	GF_PIXEL_UYVY		=	GF_4CC('U','Y','V','Y'),	/*!YUV packed format*/	GF_PIXEL_VYUY		=	GF_4CC('V','Y','U','Y'),	/*!YUV packed format*/	GF_PIXEL_Y422		=	GF_4CC('Y','4','2','2'),	/*!YUV packed format*/	GF_PIXEL_UYNV		=	GF_4CC('U','Y','N','V'),	/*!YUV packed format*/	GF_PIXEL_YUNV		=	GF_4CC('Y','U','N','V'),	/*!YUV packed format*/	GF_PIXEL_V422		=	GF_4CC('V','4','2','2'),		/*!YUV planar format*/	GF_PIXEL_YV12		=	GF_4CC('Y','V','1','2'),	/*!YUV planar format*/	GF_PIXEL_IYUV		=	GF_4CC('I','Y','U','V'),	/*!YUV planar format*/	GF_PIXEL_I420		=	GF_4CC('I','4','2','0'),	/*!YV12 + Alpha plane*/	GF_PIXEL_YUVA		=	GF_4CC('Y', 'U', 'V', 'A')} GF_PixelFormat;/*! \cond DUMMY_DOXY_SECTION*//*AVC NAL unit types*/#define GF_AVC_NALU_NON_IDR_SLICE 0x1#define GF_AVC_NALU_DP_A_SLICE 0x2#define GF_AVC_NALU_DP_B_SLICE 0x3#define GF_AVC_NALU_DP_C_SLICE 0x4#define GF_AVC_NALU_IDR_SLICE 0x5#define GF_AVC_NALU_SEI 0x6#define GF_AVC_NALU_SEQ_PARAM 0x7#define GF_AVC_NALU_PIC_PARAM 0x8#define GF_AVC_NALU_ACCESS_UNIT 0x9#define GF_AVC_NALU_END_OF_SEQ 0xa#define GF_AVC_NALU_END_OF_STREAM 0xb#define GF_AVC_NALU_FILLER_DATA 0xc#define GF_AVC_TYPE_P 0#define GF_AVC_TYPE_B 1#define GF_AVC_TYPE_I 2#define GF_AVC_TYPE_SP 3#define GF_AVC_TYPE_SI 4#define GF_AVC_TYPE2_P 5#define GF_AVC_TYPE2_B 6#define GF_AVC_TYPE2_I 7#define GF_AVC_TYPE2_SP 8#define GF_AVC_TYPE2_SI 9/*rate sizes - note that these sizes INCLUDE the rate_type header byte*/static const u32 GF_QCELP_RATE_TO_SIZE [] = {0, 1, 1, 4, 2, 8, 3, 17, 4, 35, 5, 8, 14, 1};static const u32 GF_QCELP_RATE_TO_SIZE_NB = 7;static const u32 GF_SMV_EVRC_RATE_TO_SIZE [] = {0, 1, 1, 3, 2, 6, 3, 11, 4, 23, 5, 1};static const u32 GF_SMV_EVRC_RATE_TO_SIZE_NB = 6;static const u32 GF_AMR_FRAME_SIZE[16] = { 12, 13, 15, 17, 19, 20, 26, 31, 5, 0, 0, 0, 0, 0, 0, 0 };static const u32 GF_AMR_WB_FRAME_SIZE[16] = { 17, 23, 32, 36, 40, 46, 50, 58, 60, 5, 5, 0, 0, 0, 0, 0 };/*! \endcond*//*! * \brief Extra ObjectTypeIndication * *	ObjectTypeIndication for codecs not defined in MPEG-4. Since GPAC signals streams through MPEG-4 Descriptions, *	it needs extensions for non-MPEG-4 streams such as AMR, H263 , etc.\n *\note The decoder specific info for such streams is always carried encoded, with the following syntax:\n *	DSI Syntax for audio streams \code  *	u32 codec_four_cc: the codec 4CC reg code *	u16 sample_rate: sampling rate or 0 if unknown *	u16 num_samples: num audio samples per frame or 0 if unknown *	u8 nb_channels: num channels or 0 if unknown *	u8 nb_bits_per_sample: nb bits or 0 if unknown *	u8 num_frames_per_au: num audio frames per AU (used in 3GPP, max 15), 0 if unknown *	char *data: per-codec extensions till end of DSI bitstream \endcode \n *	DSI Syntax for video streams \code  *	u32 codec_four_cc: the codec 4CC reg code *	u16 width: video width or 0 if unknown *	u16 height: video height or 0 if unknown *	char *data: per-codec extensions till end of DSI bitstream \endcode*/#define GPAC_EXTRA_CODECS_OTI				0x80/*! * \brief OGG ObjectTypeIndication * *	Object type indication for all OGG media. The DSI contains all intitialization ogg packets for the codec * and is formated as follows:\n *\code 	while (dsi_size) {		bit(16) packet_size;		char packet[packet_size];		dsi_size -= packet_size;	}\endcode*/#define GPAC_OGG_MEDIA_OTI		0xDD/*channel cfg flags - DECODERS MUST OUTPUT STEREO/MULTICHANNEL IN THIS ORDER*//*! * \brief Audio Channel Configuration * *	Audio channel flags for spatialization. \note Decoders must output stereo/multichannel audio channels in this order in the decoded audio frame. */enum{	/*!Left Audio Channel*/	GF_AUDIO_CH_FRONT_LEFT = (1),	/*!Right Audio Channel*/	GF_AUDIO_CH_FRONT_RIGHT = (1<<1),	/*!Center Audio Channel - may also be used to signal monophonic audio*/	GF_AUDIO_CH_FRONT_CENTER = (1<<2),	/*!LFE Audio Channel*/	GF_AUDIO_CH_LFE = (1<<3),	/*!Back Left Audio Channel*/	GF_AUDIO_CH_BACK_LEFT = (1<<4),	/*!Back Right Audio Channel*/	GF_AUDIO_CH_BACK_RIGHT = (1<<5),	/*!Back Center Audio Channel*/	GF_AUDIO_CH_BACK_CENTER = (1<<6),	/*!Side Left Audio Channel*/	GF_AUDIO_CH_SIDE_LEFT = (1<<7),	/*!Side Right Audio Channel*/	GF_AUDIO_CH_SIDE_RIGHT = (1<<8)};/*! @} */#ifdef __cplusplus}#endif#endif	/*_GF_CONSTANTS_H_*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -