summaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
authorRachad <rachad@google.com>2014-05-01 18:42:43 -0700
committerRachad <rachad@google.com>2014-05-05 12:03:54 -0700
commit184077dee460d235c2f9ed3e6ecf9a6df06ae80c (patch)
tree8fe496561868ad7e59bf0a9ec647ea5e76b099d0 /include/media
parent498b4a0950f8d613b0ba6cb2e393a0fef2bfd6a7 (diff)
downloadframeworks_native-184077dee460d235c2f9ed3e6ecf9a6df06ae80c.zip
frameworks_native-184077dee460d235c2f9ed3e6ecf9a6df06ae80c.tar.gz
frameworks_native-184077dee460d235c2f9ed3e6ecf9a6df06ae80c.tar.bz2
HEVC Support
Added HEVC enums and structures to OMX header files Change-Id: If4135c6df86df51098fc7a979543975ed70b0641
Diffstat (limited to 'include/media')
-rw-r--r--include/media/openmax/OMX_IndexExt.h2
-rw-r--r--include/media/openmax/OMX_Video.h1
-rw-r--r--include/media/openmax/OMX_VideoExt.h57
3 files changed, 60 insertions, 0 deletions
diff --git a/include/media/openmax/OMX_IndexExt.h b/include/media/openmax/OMX_IndexExt.h
index c503dcf..7070809 100644
--- a/include/media/openmax/OMX_IndexExt.h
+++ b/include/media/openmax/OMX_IndexExt.h
@@ -72,6 +72,8 @@ typedef enum OMX_INDEXEXTTYPE {
OMX_IndexConfigVideoVp8ReferenceFrame, /**< reference: OMX_VIDEO_VP8REFERENCEFRAMETYPE */
OMX_IndexConfigVideoVp8ReferenceFrameType, /**< reference: OMX_VIDEO_VP8REFERENCEFRAMEINFOTYPE */
OMX_IndexParamVideoAndroidVp8Encoder, /**< reference: OMX_VIDEO_PARAM_ANDROID_VP8ENCODERTYPE */
+ OMX_IndexParamVideoHevc, /**< reference: OMX_VIDEO_PARAM_HEVCTYPE */
+ OMX_IndexParamSliceSegments, /**< reference: OMX_VIDEO_SLICESEGMENTSTYPE */
/* Image & Video common configurations */
OMX_IndexExtCommonStartUnused = OMX_IndexKhronosExtensions + 0x00700000,
diff --git a/include/media/openmax/OMX_Video.h b/include/media/openmax/OMX_Video.h
index 4441a7a..21dc5a6 100644
--- a/include/media/openmax/OMX_Video.h
+++ b/include/media/openmax/OMX_Video.h
@@ -87,6 +87,7 @@ typedef enum OMX_VIDEO_CODINGTYPE {
OMX_VIDEO_CodingMJPEG, /**< Motion JPEG */
OMX_VIDEO_CodingVP8, /**< Google VP8, formerly known as On2 VP8 */
OMX_VIDEO_CodingVP9, /**< Google VP9 */
+ OMX_VIDEO_CodingHEVC, /**< ITU H.265/HEVC */
OMX_VIDEO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_VIDEO_CodingMax = 0x7FFFFFFF
diff --git a/include/media/openmax/OMX_VideoExt.h b/include/media/openmax/OMX_VideoExt.h
index 3f18b43..fb10cbb 100644
--- a/include/media/openmax/OMX_VideoExt.h
+++ b/include/media/openmax/OMX_VideoExt.h
@@ -145,6 +145,63 @@ typedef struct OMX_VIDEO_PARAM_ANDROID_VP8ENCODERTYPE {
OMX_U32 nMaxQuantizer;
};
+/** HEVC Profile enum type */
+typedef enum OMX_VIDEO_HEVCPROFILETYPE {
+ OMX_VIDEO_HEVCProfileUnknown = 0x0,
+ OMX_VIDEO_HEVCProfileMain = 0x1,
+ OMX_VIDEO_HEVCProfileMain10 = 0x2,
+ OMX_VIDEO_HEVCProfileMax = 0x7FFFFFFF
+} OMX_VIDEO_HEVCPROFILETYPE;
+
+/** HEVC Level enum type */
+typedef enum OMX_VIDEO_HEVCLEVELTYPE {
+ OMX_VIDEO_HEVCLevelUnknown = 0x0,
+ OMX_VIDEO_HEVCMainTierLevel1 = 0x1,
+ OMX_VIDEO_HEVCHighTierLevel1 = 0x2,
+ OMX_VIDEO_HEVCMainTierLevel2 = 0x4,
+ OMX_VIDEO_HEVCHighTierLevel2 = 0x8,
+ OMX_VIDEO_HEVCMainTierLevel21 = 0x10,
+ OMX_VIDEO_HEVCHighTierLevel21 = 0x20,
+ OMX_VIDEO_HEVCMainTierLevel3 = 0x40,
+ OMX_VIDEO_HEVCHighTierLevel3 = 0x80,
+ OMX_VIDEO_HEVCMainTierLevel31 = 0x100,
+ OMX_VIDEO_HEVCHighTierLevel31 = 0x200,
+ OMX_VIDEO_HEVCMainTierLevel4 = 0x400,
+ OMX_VIDEO_HEVCHighTierLevel4 = 0x800,
+ OMX_VIDEO_HEVCMainTierLevel41 = 0x1000,
+ OMX_VIDEO_HEVCHighTierLevel41 = 0x2000,
+ OMX_VIDEO_HEVCMainTierLevel5 = 0x4000,
+ OMX_VIDEO_HEVCHighTierLevel5 = 0x8000,
+ OMX_VIDEO_HEVCMainTierLevel51 = 0x10000,
+ OMX_VIDEO_HEVCHighTierLevel51 = 0x20000,
+ OMX_VIDEO_HEVCMainTierLevel52 = 0x40000,
+ OMX_VIDEO_HEVCHighTierLevel52 = 0x80000,
+ OMX_VIDEO_HEVCMainTierLevel6 = 0x100000,
+ OMX_VIDEO_HEVCHighTierLevel6 = 0x200000,
+ OMX_VIDEO_HEVCMainTierLevel61 = 0x400000,
+ OMX_VIDEO_HEVCHighTierLevel61 = 0x800000,
+ OMX_VIDEO_HEVCMainTierLevel62 = 0x1000000,
+ OMX_VIDEO_HEVCHighTierLevel62 = 0x2000000,
+ OMX_VIDEO_HEVCHighTiermax = 0x7FFFFFFF
+} OMX_VIDEO_HEVCLEVELTYPE;
+
+/** Structure for controlling HEVC video encoding and decoding */
+typedef struct OMX_VIDEO_PARAM_HEVCTYPE {
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_VIDEO_HEVCPROFILETYPE eProfile;
+ OMX_VIDEO_HEVCLEVELTYPE eLevel;
+} OMX_VIDEO_PARAM_HEVCTYPE;
+
+/** Structure to define if dependent slice segments should be used */
+typedef struct OMX_VIDEO_SLICESEGMENTSTYPE {
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_BOOL bDepedentSegments;
+ OMX_BOOL bEnableLoopFilterAcrossSlices;
+} OMX_VIDEO_SLICESEGMENTSTYPE;
#ifdef __cplusplus
}