Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 411da854 authored by Chih-Wei Huang's avatar Chih-Wei Huang Committed by Steve Kondik
Browse files

Add OMX_AUDIO_CodingAPE and OMX_AUDIO_CodingDTS

Copied from the stagefright-plugins project.

add HEVC decoder and cleanup

Change-Id: I16342228014320161a22302a3c14df7725556cd2
parent a23598d3
Loading
Loading
Loading
Loading
+80 −0
Original line number Original line Diff line number Diff line
@@ -130,6 +130,11 @@ typedef enum OMX_AUDIO_CODINGTYPE {
#endif // DOLBY_END
#endif // DOLBY_END
    OMX_AUDIO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 
    OMX_AUDIO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */ 
    OMX_AUDIO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor 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_CodingMax = 0x7FFFFFFF
} OMX_AUDIO_CODINGTYPE;
} OMX_AUDIO_CODINGTYPE;


@@ -376,6 +381,81 @@ typedef struct OMX_AUDIO_PARAM_FLACTYPE {
} 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 */
/** WMA Version */
typedef enum OMX_AUDIO_WMAFORMATTYPE {
typedef enum OMX_AUDIO_WMAFORMATTYPE {
  OMX_AUDIO_WMAFormatUnused = 0, /**< format unused or unknown */
  OMX_AUDIO_WMAFormatUnused = 0, /**< format unused or unknown */
+6 −0
Original line number Original line Diff line number Diff line
@@ -261,6 +261,12 @@ typedef enum OMX_INDEXTYPE {
       to 0x7FFFFFFE.  This range is not broken out by vendor, so
       to 0x7FFFFFFE.  This range is not broken out by vendor, so
       private indexes are not guaranteed unique and therefore should
       private indexes are not guaranteed unique and therefore should
       only be sent to the appropriate component. */
       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
    OMX_IndexMax = 0x7FFFFFFF


+17 −0
Original line number Original line Diff line number Diff line
@@ -90,6 +90,10 @@ typedef enum OMX_VIDEO_CODINGTYPE {
    OMX_VIDEO_CodingHEVC,       /**< ITU H.265/HEVC */
    OMX_VIDEO_CodingHEVC,       /**< ITU H.265/HEVC */
    OMX_VIDEO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
    OMX_VIDEO_CodingKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
    OMX_VIDEO_CodingVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor 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_CodingFFMPEG,     /**< FFMPEG */
    OMX_VIDEO_CodingMax = 0x7FFFFFFF
    OMX_VIDEO_CodingMax = 0x7FFFFFFF
} OMX_VIDEO_CODINGTYPE;
} OMX_VIDEO_CODINGTYPE;


@@ -1070,6 +1074,19 @@ typedef struct OMX_VIDEO_CONFIG_NALSIZE {
    OMX_U32 nNaluBytes;
    OMX_U32 nNaluBytes;
} OMX_VIDEO_CONFIG_NALSIZE;
} 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
#ifdef __cplusplus