在 Android/OMAP 展現硬體加速的 OpenGL|ES 與影片播放

BeagleBoard0xlab 內部用來驗證 ARM 硬體的參考平台,這兩個月內,我們整合了若干無線通訊大廠的 WLAN/Bluetooth 晶片組,而 TI OMAP 353x SoC 的表現著實令人驚豔。初步對 ARMv7 做了優化後,我們進一步運用 OMAP DSP 與 Display Subsystem 的特性,下圖即是在 Android 上硬體加速的 OpenGL|ES 與影片播放,
透過 DVI-HDMI 到顯示器,呈現 1024x768 的解析度,圖上方可見 Android 的狀態資訊列,而最上層就是 video overlay,而下方是 OpenGL|ES 的繪圖區,被遮蔽的最底層則為 Android surface。TI OMAP 3 整體示意圖可參考下圖:
硬體支援三個 stacked overlays,其中 Video 2 和 Video 1 overlay 提供 RGB 及 YCbCr/YUV 的 color space,搭配 TI DSP 與 ARM NEON 加速指令集,可帶來相當順暢且華麗的展現。以下是稍早所作的 OpenGL|ES 與 HW video overlay 人機介面展示影片:

OpenGL|ES 由 PowerVR/Imagination Technologies 提供,搭配 OMAP2/3 嶄新的 DSS2 顯示架構,需要對 Linux kernel driver 作些調整,可參考筆者提供的套件與修改部份。當然這一切僅是基礎建設,銜接於 Android 及 ARM SoC 所需要的功夫仍相當多,期望不久的將來,我們的圖形處理達人會提出更多新玩意 :)


About this entry