diff options
author | Ben Romberger <bromberg@codeaurora.org> | 2018-04-26 18:19:50 -0700 |
---|---|---|
committer | Fawad Shaukat <fshaukat@codeaurora.org> | 2019-06-10 20:57:31 -0700 |
commit | 13c9c20252b86c1244879053ce77328aa741e490 (patch) | |
tree | 97afdd0243229fffa3908652f24d6866409bc692 | |
parent | cc6bec461f0d67dd7c696cbe5852e15778ee8b86 (diff) | |
download | android_hardware_qcom_media-13c9c20252b86c1244879053ce77328aa741e490.tar.gz android_hardware_qcom_media-13c9c20252b86c1244879053ce77328aa741e490.tar.bz2 android_hardware_qcom_media-13c9c20252b86c1244879053ce77328aa741e490.zip |
mm-core: Add MPEG-H decoder support
Add OMX audio extention for MPEG-H 3D Audio.
Include separate extentions to pass head
rotation, channel mask, header, and binaural
mode. All of which are used in the MPEG-H
decoder.
Change-Id: I382d742da2ecaf02f2325565346801ecbda56e50
-rw-r--r-- | mm-core/inc/QOMX_AudioExtensions.h | 42 | ||||
-rw-r--r-- | mm-core/inc/QOMX_AudioIndexExtensions.h | 4 |
2 files changed, 46 insertions, 0 deletions
diff --git a/mm-core/inc/QOMX_AudioExtensions.h b/mm-core/inc/QOMX_AudioExtensions.h index dab06142..b226224d 100644 --- a/mm-core/inc/QOMX_AudioExtensions.h +++ b/mm-core/inc/QOMX_AudioExtensions.h @@ -595,6 +595,48 @@ typedef struct QOMX_AUDIO_PARAM_MPEGH_TYPE { Decoder **/ } QOMX_AUDIO_PARAM_MPEGH_TYPE; +typedef struct QOMX_AUDIO_PARAM_MPEGH_HEADER_TYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U64 pConfig; + OMX_U64 pSceneInfo; + OMX_U64 pDRC; + OMX_U64 pGroup; + OMX_U64 pSwitchGroup; + OMX_U64 pPreset; + OMX_U64 pTextLabel; +} QOMX_AUDIO_PARAM_MPEGH_HEADER_TYPE; + +typedef struct QOMX_AUDIO_PARAM_CHANNEL_CONFIG_TYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_U32 nChannelMask; /* Masked defined in Android audio-base.h */ +} QOMX_AUDIO_PARAM_CHANNEL_CONFIG_TYPE; + +typedef enum QOMX_BINAURAL_MODE { + QOMX_BINAURAL_MODE_OFF, + QOMX_BINAURAL_MODE_ON +} QOMX_BINAURAL_MODE; + +typedef struct QOMX_AUDIO_PARAM_BINAURAL_TYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + QOMX_BINAURAL_MODE eBinauralMode; +} QOMX_AUDIO_PARAM_BINAURAL_TYPE; + +typedef struct QOMX_AUDIO_PARAM_ROTATION_TYPE { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_S32 nQX; /* x vector component of quaternion */ + OMX_S32 nQY; /* y vector component of quaternion */ + OMX_S32 nQZ; /* z vector component of quaternion */ + OMX_S32 nQW; /* Scalar component of quaternion */ +} QOMX_AUDIO_PARAM_ROTATION_TYPE; + enum { kKeyIndexAlacFrameLength = 0, kKeyIndexAlacCompatibleVersion = 4, diff --git a/mm-core/inc/QOMX_AudioIndexExtensions.h b/mm-core/inc/QOMX_AudioIndexExtensions.h index 8e83c076..e85c1180 100644 --- a/mm-core/inc/QOMX_AudioIndexExtensions.h +++ b/mm-core/inc/QOMX_AudioIndexExtensions.h @@ -76,6 +76,10 @@ typedef enum QOMX_AUDIO_EXTENSIONS_INDEXTYPE QOMX_IndexParamAudioFlacDec = 0x7F20000A, /** "OMX.Qualcomm.index.audio.flacdec**/ QOMX_IndexParamAudioDsdDec = 0x7F20000B, /** "OMX.Qualcomm.index.audio.Dsddec**/ QOMX_IndexParamAudioMpegh = 0x7F20000C, /** "OMX.Qualcomm.index.audio.mpegh**/ + QOMX_IndexParamAudioMpeghHeader = 0x7F20000D, /** "OMX.Qualcomm.index.audio.MpeghHeader"**/ + QOMX_IndexParamAudioChannelMask = 0x7F20000E, /** "OMX.Qualcomm.index.audio.ChannelMask"**/ + QOMX_IndexParamAudioBinauralMode = 0x7F20000F, /** "OMX.Qualcomm.index.audio.BinauralMode"**/ + QOMX_IndexParamAudioRotation = 0x7F200010, /** "OMX.Qualcomm.index.audio.Rotation"**/ QOMX_IndexParamAudioUnused = 0x7F2FFFFF } QOMX_AUDIO_EXTENSIONS_INDEXTYPE; |