Permalink
Browse files

OMX changes in omxcore to support DASH

(cherry picked from commit 46b0528)

Change-Id: I2cf46182dbd3860bd888237c32e6e99806720256
  • Loading branch information...
1 parent e0b2d9c commit 4eb5672c977131c57cf614ac2ea8d5e628ff54aa DharmendraPatnanik Naupada committed with Linux Build Service Account Jan 12, 2012
Showing with 623 additions and 12 deletions.
  1. +2 −0 omxcore/Android.mk
  2. +85 −0 omxcore/inc/OMX_IndexExt.h
  3. +50 −12 omxcore/inc/QOMX_SourceExtensions.h
  4. +486 −0 omxcore/inc/QOMX_StreamingExtensions.h
View
@@ -57,6 +57,8 @@ LOCAL_COPY_HEADERS += inc/QOMX_FileFormatExtensions.h
LOCAL_COPY_HEADERS += inc/QOMX_IVCommonExtensions.h
LOCAL_COPY_HEADERS += inc/QOMX_SourceExtensions.h
LOCAL_COPY_HEADERS += inc/QOMX_VideoExtensions.h
+LOCAL_COPY_HEADERS += inc/OMX_IndexExt.h
+LOCAL_COPY_HEADERS += inc/QOMX_StreamingExtensions.h
#===============================================================================
View
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2010 The Khronos Group Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject
+ * to the following conditions:
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+/** @file OMX_IndexExt.h - OpenMax IL version 1.1.2
+ * The OMX_IndexExt header file contains extensions to the definitions
+ * for both applications and components .
+ */
+
+#ifndef OMX_IndexExt_h
+#define OMX_IndexExt_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/* Each OMX header shall include all required header files to allow the
+ * header to compile without errors. The includes below are required
+ * for this header file to compile successfully
+ */
+#include <OMX_Index.h>
+
+
+/** Khronos standard extension indices.
+
+This enum lists the current Khronos extension indices to OpenMAX IL.
+*/
+typedef enum OMX_INDEXEXTTYPE {
+
+ /* Component parameters and configurations */
+ OMX_IndexExtComponentStartUnused = OMX_IndexKhronosExtensions + 0x00100000,
+ OMX_IndexConfigCallbackRequest, /**< reference: OMX_CONFIG_CALLBACKREQUESTTYPE */
+
+ /* Port parameters and configurations */
+ OMX_IndexExtPortStartUnused = OMX_IndexKhronosExtensions + 0x00200000,
+
+ /* Audio parameters and configurations */
+ OMX_IndexExtAudioStartUnused = OMX_IndexKhronosExtensions + 0x00400000,
+
+ /* Image parameters and configurations */
+ OMX_IndexExtImageStartUnused = OMX_IndexKhronosExtensions + 0x00500000,
+
+ /* Video parameters and configurations */
+ OMX_IndexExtVideoStartUnused = OMX_IndexKhronosExtensions + 0x00600000,
+ OMX_IndexKhronosExtParamNALStreamFormatSupported, /**< reference: OMX_NALSTREAMFORMATTYPE */
+ OMX_IndexKhronosExtParamNALStreamFormat, /**< reference: OMX_NALSTREAMFORMATTYPE */
+ OMX_IndexKhronosExtParamNALStreamFormatSelect, /**< reference: OMX_NALSTREAMFORMATTYPE */
+
+ /* Image & Video common configurations */
+ OMX_IndexExtCommonStartUnused = OMX_IndexKhronosExtensions + 0x00700000,
+
+ /* Other configurations */
+ OMX_IndexExtOtherStartUnused = OMX_IndexKhronosExtensions + 0x00800000,
+
+ /* Time configurations */
+ OMX_IndexExtTimeStartUnused = OMX_IndexKhronosExtensions + 0x00900000,
+
+ OMX_IndexExtMax = 0x7FFFFFFF
+} OMX_INDEXEXTTYPE;
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* OMX_IndexExt_h */
+/* File EOF */
@@ -1,5 +1,5 @@
/*--------------------------------------------------------------------------
-Copyright (c) 2011 Code Aurora Forum. All rights reserved.
+Copyright (c) 2011-2012 Code Aurora Forum. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
@@ -29,21 +29,21 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef __H_QOMX_SOURCEEXTENSIONS_H__
#define __H_QOMX_SOURCEEXTENSIONS_H__
/*========================================================================
-*//** @file QOMX_SourceExtensions.h
+*//** @file QOMX_SourceExtensions.h
@par FILE SERVICES:
Qualcomm extensions API for OpenMax IL demuxer component.
This file contains the description of the Qualcomm OpenMax IL
- demuxer component extention interface, through which the IL client and
+ demuxer component extention interface, through which the IL client and
OpenMax components can access additional capabilities of the demuxer.
*//*====================================================================== */
-
-/*========================================================================
- INCLUDE FILES FOR MODULE
-========================================================================== */
+
+/*========================================================================
+ INCLUDE FILES FOR MODULE
+========================================================================== */
#include <OMX_Core.h>
/*========================================================================
DEFINITIONS AND DECLARATIONS
@@ -53,20 +53,22 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
extern "C"
{
#endif /* end of macro __cplusplus */
+/* Frame size query supported extension string */
+#define OMX_QCOM_INDEX_PARAM_FRAMESIZEQUERYSUPPORTED "OMX.QCOM.index.param.FrameSizeQuerySupported" /**< reference: QOMX_FRAMESIZETYPE */
-/* Content interface extension strings */
+/* Content interface extension strings */
#define OMX_QCOM_INDEX_PARAM_CONTENTINTERFACE_IXSTREAM "OMX.QCOM.index.param.contentinterface.ixstream" /**< reference: QOMX_CONTENTINTERFACETYPE*/
#define OMX_QCOM_INDEX_PARAM_CONTENTINTERFACE_ISTREAMPORT "OMX.QCOM.index.param.contentinterface.istreamport" /**< reference: QOMX_CONTENTINTERFACETYPE*/
/* Source seek access extension string */
-#define OMX_QCOM_INDEX_PARAM_SEEK_ACCESS "OMX.QCOM.index.param.SeekAccess" /**< reference: QOMX_PARAM_SEEKACCESSTYPE*/
+#define OMX_QCOM_INDEX_PARAM_SEEK_ACCESS "OMX.QCOM.index.param.SeekAccess" /**< reference: QOMX_PARAM_SEEKACCESSTYPE*/
/* Media duration extension string*/
#define OMX_QCOM_INDEX_CONFIG_MEDIADURATION "OMX.QCOM.index.config.MediaDuration" /**< reference: OMX_TIME_CONFIG_MEDIADURATIONTYPE*/
-/**
+/**
* Data interface Params
- *
+ *
* STRUCT MEMBERS:
* nSize : Size of the structure in bytes
* nVersion : OMX specification version information
@@ -103,7 +105,7 @@ typedef struct QOMX_PARAM_SEEKACCESSTYPE {
* nSize : Size of the structure in bytes
* nVersion : OMX specification version information
* nPortIndex : Index of port
- * nDuration : Total duration of the media
+ * nDuration : Total duration of the media
*/
typedef struct OMX_TIME_CONFIG_MEDIADURATIONTYPE {
OMX_U32 nSize;
@@ -112,6 +114,42 @@ typedef struct OMX_TIME_CONFIG_MEDIADURATIONTYPE {
OMX_TICKS nDuration;
} OMX_TIME_CONFIG_MEDIADURATIONTYPE;
+/**
+ * The parameters for QOMX_FRAMESIZETYPE are defined as
+ * follows:
+ *
+ * STRUCT MEMBERS:
+ * nSize : Size of the structure in bytes
+ * nVersion : OMX specification version information
+ * nPortIndex : Represents the port that this structure
+ * applies to
+ * sFrameSize : Indicates the size of the frame
+ * nFrameSizeIndex : Enumerates the possible frame sizes for
+ * the given session/URL configuration. The
+ * caller specifies all fields and the
+ * OMX_GetParameter call returns the value of
+ * the frame size. The value of
+ * nFrameSizeIndex goes from 0 to N-1, where
+ * N is the number of frame sizes that may be
+ * emitted by the port. The port does not
+ * need to report N as the caller can
+ * determine N by enumerating all the frame
+ * sizes supported by the port. If the port
+ * does not have advance knowledge of the
+ * possible frame sizes, it may report no
+ * frame sizes. If there are no more frame
+ * sizes, OMX_GetParameter returns
+ * OMX_ErrorNoMore.
+ */
+typedef struct QOMX_FRAMESIZETYPE
+{
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_FRAMESIZETYPE sFrameSize;
+ OMX_U32 nFrameSizeIndex;
+} QOMX_FRAMESIZETYPE;
+
#if defined( __cplusplus )
}
#endif /* end of macro __cplusplus */
Oops, something went wrong.

0 comments on commit 4eb5672

Please sign in to comment.