首先說明,DM8168不支持FMO。 依據: 1. TI官方用戶手冊H264_Encoder_HDVICP2_UserGuide.pdf (http://download.csdn.net/detail/gzengh/8288223) 文件中有幾個地方都寫到了FMO, 1.1. 第74頁.Table 4-4. H.264 Encoder Error Statuses 里面有一個錯誤名為IH2
首先說明,DM8168不支持FMO。
依據:
1. TI官方用戶手冊 H264_Encoder_HDVICP2_UserGuide.pdf (http://download.csdn.net/detail/gzengh/8288223)
文件中有幾個地方都寫到了FMO,
1.1. 第74頁. Table 4-4. H.264 Encoder Error Statuses 里面有一個錯誤名為IH264ENC_PROFILE_INCOMPLAINT_FMO_SETTING,描述為
Bit 2 - Profile in-complaint FMO setting. This error is applicable when FMO is enabled but IVIDENC2_Params::profile is not set as IH264_BASELINE_PROFILE.
就是編碼檔次和FMO設置不兼容,使能了FMO,卻沒有設置成Baseline基本檔次。
這個錯誤標志側面反映出,假如該編碼器支持FMO,那也只是Baseline檔次支持,(HDVICP2支持H264的Baseline、Main和High檔次,不支持Extended擴展檔次)。
1.2. 第173頁. Table 4-13. Default and Supported Values for IH264ENC_FMOCodingParams.
fmoCodingPreset 參數的 Supported Value 是 IH264_FMOCODING_NONE。然后后面幾個參數支持的值都是Ignore。
這里就等于明確的告訴我們目前版本不支持FMO。
1.3. 第158頁. Frequently Asked Questions的 5.4 Algorithm Related中
Question:What are the profiles supported in this version of encoder?
Answer:This version of encoder supports baseline, main and high profiles.FMO feature is not supported for baseline profile.
在1.1中說明了DM8168只可能在Baseline檔次支持FMO,現在這個問答里寫了其Baseline也不支持FMO,所以再次證明DM8168不支持FMO。
2. OMX_TI_Index.h(http://download.csdn.net/detail/gzengh/8288377)文件聲明了幾乎所有相關的結構體。
/* H264 Encoder Indices*/ OMX_TI_IndexParamVideoDataSyncMode, //!< Refer to OMX_VIDEO_PARAM_DATASYNCMODETYPE structure OMX_TI_IndexParamVideoBitStreamFormatSelect, //!< use OMX_VIDEO_PARAM_AVCBITSTREAMFORMATTYPE to specify the stream format type OMX_TI_IndexParamVideoNALUsettings, //!< use OMX_VIDEO_PARAM_AVCNALUCONTROLTYPE to configure the type os NALU to send along with the Different Frame Types OMX_TI_IndexParamVideoMEBlockSize, //!< use OMX_VIDEO_PARAM_MEBLOCKSIZETYPE to specify the minimum block size used for motion estimation OMX_TI_IndexParamVideoIntraPredictionSettings, //!< use OMX_VIDEO_PARAM_INTRAPREDTYPE to configure the intra prediction modes used for different block sizes OMX_TI_IndexParamVideoEncoderPreset, //!< use OMX_VIDEO_PARAM_ENCODER_PRESETTYPE to select the encoding mode & rate control preset OMX_TI_IndexParamVideoFrameDataContentSettings, //!< use OMX_VIDEO_PARAM_FRAMEDATACONTENTTYPE to configure the data content tpye OMX_TI_IndexParamVideoTransformBlockSize, //!< use OMX_VIDEO_PARAM_TRANSFORM_BLOCKSIZETYPE to specify the block size used for ttransformation OMX_TI_IndexParamVideoVUIsettings, //!use OMX_VIDEO_PARAM_VUIINFOTYPE OMX_TI_IndexParamVideoAdvancedFMO, OMX_TI_IndexConfigVideoPixelInfo, //!< Use OMX_VIDEO_CONFIG_PIXELINFOTYPE structure to know the pixel aspectratio & pixel range OMX_TI_IndexConfigVideoMESearchRange, //!< use OMX_VIDEO_CONFIG_MESEARCHRANGETYPE to specify the ME Search settings OMX_TI_IndexConfigVideoQPSettings, //!< use OMX_TI_VIDEO_CONFIG_QPSETTINGS to specify the ME Search settings OMX_TI_IndexConfigSliceSettings, //!
3. 我自己通過改寫OMX中Encode例程,試圖使用FMO,嘗試多種方法,都沒有成功。
當時也是看到SDK代碼里已經具備了各種FMO相關代碼及參數,所以才抱著僥幸心理嘗試,應該還是HDVICP2硬核編碼目前不支持。
——————————————————————————————
其實我前些天寫得一篇文章里面有張圖,就是各種開源H264軟件程序支持特性,文章鏈接:http://blog.csdn.net/gzengh/article/details/40512021
只有Vsofts支持FMO。圖里沒寫JM8.6,JM8.6作為最完善的H264技術測試軟件,是支持FMO的。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com