diff options
Diffstat (limited to 'msmcobalt/mm-core/inc/QOMX_FileFormatExtensions.h')
-rw-r--r-- | msmcobalt/mm-core/inc/QOMX_FileFormatExtensions.h | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/msmcobalt/mm-core/inc/QOMX_FileFormatExtensions.h b/msmcobalt/mm-core/inc/QOMX_FileFormatExtensions.h new file mode 100644 index 0000000..c88bec2 --- /dev/null +++ b/msmcobalt/mm-core/inc/QOMX_FileFormatExtensions.h @@ -0,0 +1,155 @@ +/*-------------------------------------------------------------------------- +Copyright (c) 2011 The Linux Foundation. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of The Linux Foundation nor + the names of its contributors may be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--------------------------------------------------------------------------*/ + +#ifndef __QOMX_FILE_FORMAT_EXTENSIONS_H__ +#define __QOMX_FILE_FORMAT_EXTENSIONS_H__ + +/*============================================================================ +*//** @file QOMX_FileFormatExtensions.h + This header contains constants and type definitions that specify the + extensions added to the OpenMAX Vendor specific APIs. +*//*========================================================================*/ + +/*============================================================================ + Edit History + +when who what, where, why +-------- --- ------------------------------------------------------- + +============================================================================*/ + +////////////////////////////////////////////////////////////////////////////// +// Include Files +////////////////////////////////////////////////////////////////////////////// +#include "OMX_Core.h" + + +/* :OMX.QCOM.index.param.container.info*/ +#define QOMX_QcomIndexParamContainerInfo 0x7F000009 + +/**<OMX.Qualcomm.index.video.param.encrypttypeconfigparameters*/ +#define QOMX_FilemuxIndexEncryptionTypeConfigParameters 0x7F00000A + +#define QOMX_INDEX_CONTAINER_INFO_STRING "QOMX.Qualcomm.index.param.containerinfo" +#define OMX_QCOM_INDEX_FILE_FORMAT "OMX.QCOM.index.config.FileFormat" +#define QOMX_INDEX_CONFIG_ENCRYPT_TYPE "QOMX.Qualcomm.index.config.EncryptType" + +/**----------------------------------------------------------------------------- + OMX.QCOM.index.param.container.info +-------------------------------------------------------------------------------- +*/ + +typedef enum QOMX_CONTAINER_FORMATTYPE { + QOMX_FORMAT_RAW, + QOMX_FORMAT_MP4, + QOMX_FORMAT_3GP, + QOMX_FORMAT_3G2, + QOMX_FORMAT_AMC, + QOMX_FORMAT_SKM, + QOMX_FORMAT_K3G, + QOMX_FORMAT_VOB, + QOMX_FORMAT_AVI, + QOMX_FORMAT_ASF, + QOMX_FORMAT_RM , + QOMX_FORMAT_MPEG_ES, + QOMX_FORMAT_DIVX, + QOMX_FORMATMPEG_TS, + QOMX_FORMAT_QT, + QOMX_FORMAT_M4A, + QOMX_FORMAT_MP3, + QOMX_FORMAT_WAVE, + QOMX_FORMAT_XMF, + QOMX_FORMAT_AMR, + QOMX_FORMAT_AAC, + QOMX_FORMAT_EVRC, + QOMX_FORMAT_QCP, + QOMX_FORMAT_SMF, + QOMX_FORMAT_OGG, + QOMX_FORMAT_BMP, + QOMX_FORMAT_JPG, + QOMX_FORMAT_JPG2000 +}QOMX_CONTAINER_FORMATTYPE; + +typedef struct QOMX_CONTAINER_INFOTYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + QOMX_CONTAINER_FORMATTYPE eFmtType; +} QOMX_CONTAINER_INFOTYPE; + +typedef enum QOMX_FILEFORMATTYPE { + QOMX_FileFormatNone, /**< no file format naming convention is followed. */ + QOMX_FileFormatDCF, /**< DCF file naming convention. */ + QOMX_FileFormatMax = 0x7FFFFFFF +} QOMX_FILEFORMATTYPE; + +/** QOMX_CONFIG_FILEFORMATTYPE is used to determine how the file writer will interpret +the provided content URI and whether it will increment the index of the file name. */ +typedef struct QOMX_CONFIG_FILEFORMATTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_U32 nPortIndex; /**< port that this structure applies to */ + QOMX_FILEFORMATTYPE eFileFormat; /** file format type */ +} QOMX_CONFIG_FILEFORMATTYPE; + +/**The QOMX_RECORDINGSTATISTICSINTERVALTYPE structure is used to enable +IL client to indicate the interval of the statistics notification to file mux +component. Time interval will indicate the frequency(in ms) when client needs +the statistics data*/ +typedef struct QOMX_RECORDINGSTATISTICSINTERVALTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion;/**< OMX specification version information */ + OMX_TICKS interval;/**< specifies the time(milliseconds) between updates */ + }QOMX_RECORDINGSTATISTICSINTERVALTYPE; + +/**QOMX_RECORDINGSTATISTICSTYPE indicates the current recording +time and space statistics of this session, which can be used by client to +identify current status of recorded data in milliseconds and bytes */ +typedef struct QOMX_RECORDINGSTATISTICSTYPE { + OMX_U32 nSize;/**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion;/**< OMX specification version information */ + OMX_TICKS nRecordedTime; /** duration that we already recorded*/ + OMX_TICKS nTimeCanRecord;/** the time we can record at the same bitrate*/ + OMX_U64 nSpaceConsumed;/** space that consumed in bytes*/ + OMX_U64 nSpaceLeft;/** space left in bytes*/ +} QOMX_RECORDINGSTATISTICSTYPE; + +/**QOMX_ENCRYPT_TYPE indicates the type of encryption */ +typedef enum QOMX_ENCRYPT_TYPE { + QOMX_ENCRYPT_TYPE_HDCP, + QOMX_ENCRYPT_TYPE_INVALID +}QOMX_ENCRYPT_TYPE; + +/**QOMX_ENCRYPTIONTYPE indicates the encrypt type */ +typedef struct QOMX_ENCRYPTIONTYPE { + OMX_U32 nSize; /**< size of the structure in bytes */ + OMX_VERSIONTYPE nVersion; /**< OMX specification version information */ + OMX_BOOL nStreamEncrypted; /** stream is encrypted or not */ + QOMX_ENCRYPT_TYPE nType; /** type of Encryption */ + OMX_U32 nEncryptVersion; /** Encrypt version */ +} QOMX_ENCRYPTIONTYPE; +#endif /*__QOMX_FILE_FORMAT_EXTENSIONS_H__*/ |