Skip to content

Commit

Permalink
Add OMX_AUDIO_CodingAPE and OMX_AUDIO_CodingDTS
Browse files Browse the repository at this point in the history
Copied from the stagefright-plugins project.

add HEVC decoder and cleanup

Change-Id: I16342228014320161a22302a3c14df7725556cd2
  • Loading branch information
cwhuang authored and hyperb1iss committed May 6, 2014
1 parent df3c8be commit d6abee6
Show file tree
Hide file tree
Showing 3 changed files with 104 additions and 0 deletions.
80 changes: 80 additions & 0 deletions include/media/openmax/OMX_Audio.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,11 @@ typedef enum OMX_AUDIO_CODINGTYPE {
#endif // DOLBY_UDC
OMX_AUDIO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_AUDIO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_AUDIO_CodingMP2, /**< Any variant of MP2 encoded data */
OMX_AUDIO_CodingAC3, /**< Any variant of AC3 encoded data */
OMX_AUDIO_CodingAPE, /**< Any variant of APE encoded data */
OMX_AUDIO_CodingDTS, /**< Any variant of DTS encoded data */
OMX_AUDIO_CodingFFMPEG, /**< Any variant of FFMPEG encoded data */
OMX_AUDIO_CodingMax = 0x7FFFFFFF
} OMX_AUDIO_CODINGTYPE;

Expand Down Expand Up @@ -376,6 +381,81 @@ typedef struct OMX_AUDIO_PARAM_FLACTYPE {
} OMX_AUDIO_PARAM_FLACTYPE;


/** MP2 params */
typedef struct OMX_AUDIO_PARAM_MP2TYPE {
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 */
OMX_U32 nChannels; /**< Number of channels */
OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable
rate or unknown bit rates */
OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for
variable or unknown sampling rate. */
OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */
OMX_AUDIO_MP3STREAMFORMATTYPE eFormat; /**< MP3 stream format */
} OMX_AUDIO_PARAM_MP2TYPE;


/** AC3 params */
typedef struct OMX_AUDIO_PARAM_AC3TYPE {
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 */
OMX_U32 nChannels; /**< Number of channels */
OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable
rate or unknown bit rates */
OMX_U32 nSamplingRate; /**< Sampling rate of the source data. Use 0 for
variable or unknown sampling rate. */
OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */
} OMX_AUDIO_PARAM_AC3TYPE;


/** APE params */
typedef struct OMX_AUDIO_PARAM_APETYPE {
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 */
OMX_U32 nChannels; /**< Number of channels */
OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable
rate or unknown bit rates */
OMX_U32 nSamplingRate; /**< Sampling rate of the source data. Use 0 for
variable or unknown sampling rate. */
OMX_U32 nBitsPerSample; /**< Number of bits in each sample */
OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */
} OMX_AUDIO_PARAM_APETYPE;


/** DTS params */
typedef struct OMX_AUDIO_PARAM_DTSTYPE {
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 */
OMX_U32 nChannels; /**< Number of channels */
OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable
rate or unknown bit rates */
OMX_U32 nSamplingRate; /**< Sampling rate of the source data. Use 0 for
variable or unknown sampling rate. */
OMX_AUDIO_CHANNELMODETYPE eChannelMode; /**< Channel mode enumeration */
} OMX_AUDIO_PARAM_DTSTYPE;

/** FFMPEG Audio params */
typedef struct OMX_AUDIO_PARAM_FFMPEGTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;

OMX_S32 eCodecId; /**< enum AVCodecID */
OMX_U32 nChannels; /**< Number of channels */
OMX_U32 nBitRate; /**< Bit rate of the input data. Use 0 for variable
rate or unknown bit rates */
OMX_U32 nBitsPerSample; /**< Number of bits in each sample */
OMX_U32 nSampleRate; /**< Sampling rate of the source data. Use 0 for
variable or unknown sampling rate. */
OMX_U32 nBlockAlign; /**< is the block alignment, or block size, in bytes of the audio codec */

OMX_S32 eSampleFormat; /**< enum AVSampleFormat */
} OMX_AUDIO_PARAM_FFMPEGTYPE;

/** WMA Version */
typedef enum OMX_AUDIO_WMAFORMATTYPE {
OMX_AUDIO_WMAFormatUnused = 0, /**< format unused or unknown */
Expand Down
6 changes: 6 additions & 0 deletions include/media/openmax/OMX_Index.h
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,12 @@ typedef enum OMX_INDEXTYPE {
to 0x7FFFFFFE. This range is not broken out by vendor, so
private indexes are not guaranteed unique and therefore should
only be sent to the appropriate component. */
OMX_IndexParamAudioMp2, /**< reference: OMX_AUDIO_PARAM_MP2TYPE */
OMX_IndexParamAudioAc3, /**< reference: OMX_AUDIO_PARAM_AC3TYPE */
OMX_IndexParamAudioApe, /**< reference: OMX_AUDIO_PARAM_APETYPE */
OMX_IndexParamAudioDts, /**< reference: OMX_AUDIO_PARAM_DTSTYPE */
OMX_IndexParamVideoFFmpeg, /**< reference: OMX_VIDEO_PARAM_FFMPEGTYPE */
OMX_IndexParamAudioFFmpeg, /**< reference: OMX_AUDIO_PARAM_FFMPEGTYPE */

OMX_IndexMax = 0x7FFFFFFF

Expand Down
18 changes: 18 additions & 0 deletions include/media/openmax/OMX_Video.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,11 @@ typedef enum OMX_VIDEO_CODINGTYPE {
OMX_VIDEO_CodingVP9, /**< Google VP9 */
OMX_VIDEO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
OMX_VIDEO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
OMX_VIDEO_CodingVC1, /**< VC1 */
OMX_VIDEO_CodingFLV1, /**< Sorenson's H.263 */
OMX_VIDEO_CodingDIVX, /**< DIVX */
OMX_VIDEO_CodingHEVC, /**< HEVC */
OMX_VIDEO_CodingFFMPEG, /**< FFMPEG */
OMX_VIDEO_CodingMax = 0x7FFFFFFF
} OMX_VIDEO_CODINGTYPE;

Expand Down Expand Up @@ -1068,6 +1073,19 @@ typedef struct OMX_VIDEO_CONFIG_NALSIZE {
OMX_U32 nNaluBytes;
} OMX_VIDEO_CONFIG_NALSIZE;

/**
* FFMPEG Video Params
*/
typedef struct OMX_VIDEO_PARAM_FFMPEGTYPE {
OMX_U32 nSize;
OMX_VERSIONTYPE nVersion;
OMX_U32 nPortIndex;

OMX_S32 eCodecId; /**< enum AVCodecID */
OMX_U32 nWidth;
OMX_U32 nHeight;
} OMX_VIDEO_PARAM_FFMPEGTYPE;

/** @} */

#ifdef __cplusplus
Expand Down

0 comments on commit d6abee6

Please sign in to comment.