1. 程式人生 > >幾個平臺環境裏視頻編解碼和圖像scale的硬件加速的方法

幾個平臺環境裏視頻編解碼和圖像scale的硬件加速的方法

and -c med hub 開發 roi ace 擴展 all

記錄一下遇到幾個平臺裏的視頻編解碼和圖像scale的硬件加速的方法

1,intel平臺
可基於VA-API實現視頻codec和圖像scale的硬件加速,具體可使用libyami這個接口友好的封裝庫。
加速處理過程中圖像位於GPU內存,用libva的Surface表示。其在原生的linux和Android NDK環境中均可用。

2,Allwinner平臺
可以直接使用特有的 cedarx 硬件引擎實現視頻編解碼加速;使用G2D組件實現圖像scale的硬件加速。
其SDK包可從其官方github上獲取。

3,opemnax接口
openmax只是一套開放的媒體處理接口,有些廠商不直接提供原生的媒體SDK,將媒體處理功能以Openmax接口來提供。

此時只能使用Openmax來使用硬件加速功能了。具體需要閱讀Openmax接口規範,以及廠商自身的額外提供的擴展接口。
此類接口比較廣泛,比如MTK/Intel/RasperryPi等,都可用。
具體的功能是通過OMX組件來提供的,因此具體需要看實際有組件可用。

4,Android的MediaCodec接口
MediaCodec接口為新版Android的所提供的媒體處理接口,其本質上也是基於各個硬件平臺廠商提供的硬件加速接口封裝而成。比如在MTK8163平臺上基於Openmax接口做的封裝。
主要是視頻編解碼功能。

5,Nvidia VideoCodec
直接利用顯卡的內部的硬件視頻編解碼音頻來進行編解碼(不是CUDA計算引擎),直接使用vidia-video-codec-sdk來做開發即可。好處是與CUDA交互比較方便。

類似主要是視頻編解碼功能。

其他平臺沒有接觸到,暫不記錄。

幾個平臺環境裏視頻編解碼和圖像scale的硬件加速的方法