AnsweredAssumed Answered

Mpeg4 sp hw decoder with imx6dl and imx6q

Question asked by Jerome Depotter on May 25, 2016
Latest reply on Jun 14, 2016 by Jerome Depotter

Hi,

We are working with the Imx6 and android.

I'm trying to record and read a video with hardware encoder and decoder. The format I want to use is Mpeg4 sp.

 

The encoding went well and I can read the video on android, ios and os x. But I can't read the video on the Imx6. I want to use hw encoder and decoder.

 

Here is my logcat :

 

E/OMXCodec(  128): Attempting to allocate OMX node 'OMX.Freescale.std.video_decoder.mpeg4.hw-based'

 

E/OMXCodec(  128): Successfully allocated OMX node 'OMX.Freescale.std.video_decoder.mpeg4.hw-based'

E/OMXCodec(  128): configureCodec protected=0

E/OMXCodec(  128): OMXCOdec: SetVideoPortFormatTypet

E/OMXCodec(  128): OMXCOdec: Index = 0

E/OMX     (  128): OMX : Get parameter

E/OMXNodeInstance(  128): OMXNodeInstance : Get parameter

E/OMXNodeInstance(  128): OMXNodeInstance : Get parameter error : 0

E/OMXCodec(  128): OMXCOdec: Get param error 0 pass

E/OMXCodec(  128): portIndex: 0, index: 0, eCompressionFormat=7 eColorFormat=21

E/OMXCodec(  128): index: 0, MediaCompressionFormat=4 MediaColorFormat =21

 

/OMXCodec(  128): OMXCOdec: Index = 1

 

E/OMX     (  128): OMX : Get parameter

E/OMXNodeInstance(  128): OMXNodeInstance : Get parameter

E/OMXNodeInstance(  128): OMXNodeInstance : Get parameter error : 8000100e

E/OMXCodec(  128): OMXCOdec: Get param error : Err = 80000000

E/OMXCodec(  128): Failed to configure codec 'OMX.Freescale.std.video_decoder.mpeg4.hw-based'

 

 

typedef enum OMX_VIDEO_CODINGTYPE {

 

    OMX_VIDEO_CodingUnused,     /**< Value when coding is N/A */

    OMX_VIDEO_CodingAutoDetect, /**< Autodetection of coding type */

    OMX_VIDEO_CodingMPEG2,      /**< AKA: H.262 */

    OMX_VIDEO_CodingH263,       /**< H.263 */

    OMX_VIDEO_CodingMPEG4,      /**< MPEG-4 */

    OMX_VIDEO_CodingWMV,        /**< all versions of Windows Media Video */

    OMX_VIDEO_CodingRV,         /**< all versions of Real Video */

    OMX_VIDEO_CodingAVC,        /**< H.264/AVC */

    OMX_VIDEO_CodingMJPEG,      /**< Motion JPEG */

    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

} OMX_VIDEO_CODINGTYPE;

 

Refering to OMX_VIDEO_CODINGTYPE, the only compression format found for OMX.Freescale.std.video_decoder.mpeg4.hw-based' is AVC (H264). I've read in the doc that Mpeg4 sp is supported.

So why the Mpeg4 sp codec can't be found for hw decoder ? If I can encode with hw, I should be able to decode ?

 

Jerome

Outcomes