距離飛凌FETMX8MP-C核心板推出已經有一段時間了,因其強大的性能且具有多領域的通用性,此款iMX8MP核心板受到了很多工程師用戶的青睞。本篇文章,筆者將從FETMX8MP-C核心板豐富的多媒體資源和優異的多媒體功能為著眼點,對此款iMX8MP核心板進行測評。
FETMX8MP-C核心板采用NXP?iMX8MPplus處理器,集成了一個視頻處理單元 VPU,支持以下格式的視頻硬件編解碼:
視頻解碼: H264, H265, VP8, VP9,最大支持 1080p 60fps 。
視頻編碼: H264, H265,最大支持 1080p 60fps 。
詳細參數見下表:
同時,飛凌嵌入式的這款FETMX8MP-C核心板支持LVDS、HDMI、MIPI-DSI三種顯示接口,其中HDMI最大可支持4K分辨率輸出,并且三個顯示接口可同時工作,支持三屏異顯,還支持4K高清攝像頭輸入。下面,筆者將在視頻硬件編解碼、多屏顯示及4K高清攝像頭(型號:daA3840-30mc)輸入三方面的功能對這款iMX8MP板卡進行詳細講解。
一、硬件編解碼
為了對FETMX8MP-C核心板的硬件編解碼性能有更清晰的了解,選擇飛凌嵌入式另外兩款基于NXP iMX8M系列處理器設計的的FETMX8MM-C核心板和FETMX8MQ-C核心板與其做對比,用硬件解碼播放同一個 H264 視頻文件(帶音頻),CPU占用率對比如下:
FETMX8MQ-C核心板:
FETMX8MM-C核心板:
FETMX8MP-C核心板
如圖可見,在飛凌嵌入式提供的三款iMX8M系列核心板中,當FETMX8MQ-C核心板用硬解碼方式解碼并播放測試用的 H264 視頻文件時CPU占用率為23.5%,當FETMX8MM-C核心板用硬解碼方式解碼并播放同一個測試視頻時CPU占用率為18.2%,而當FETMX8MP-C核心板用硬解碼方式解碼并播放同一個測試視頻時CPU占用率僅為11.6%。
由此可見,雖然同為硬件解碼,但FETMX8MP-C核心板比同系列處理器產品具有更高的硬件解碼性能,CPU資源占用率更低。
二、多屏顯示
雙屏顯示功能在飛凌嵌入式iMX6Q/iMX6DL系列核心板上就已經實現,而iMX8MP系列 核心板做到了三屏顯示。在正式開始測試前,先簡述一下用戶使用單屏顯示時的注意事項:FETMX8MP-C核心板支持LVDS、HDMI、MIPI-DSI三種顯示接口,核心板默認自啟為三屏顯示狀態,此狀態下啟動后只有MIPI屏顯示QT測試程序列表界面。LVDS和HDMI顯示為飛凌嵌入式的logo圖片。故若用戶只需要單屏顯示,需要在啟動階段先進行屏幕配置,將其余屏幕關掉,具體操作可參考飛凌嵌入式提供的iMX8MP系列產品使用手冊中2.4屏幕切換章節。
接下來,筆者將對多屏顯示進行測評。
1、三屏異顯
此次iMX8MP核心板測試三屏異顯的方式是在主屏(MIPI屏)上播放視頻,然后通過鼠標拖動視頻在三屏之間移動,具體效果如下:
從視頻中我們看到,三屏顯示狀態下,三個屏幕從左到右排序分別為MIPI-DSI、LVDS、HDMI。此測試過程因三個屏幕的分辨率不同,所以會出現同一個視頻在拖動過程中大小有些許變化的情況,若用三個分辨率及尺寸相同的屏幕會有更好的顯示效果。
此測評對三屏異顯功能進行了簡單的演示,工程師用戶可根據實際需求在此功能基礎上進行實現。
2、三屏同時播放視頻
目前FETMX8MP-C核心板可用命令實現在三個屏幕上同時播放相同或不同的視頻,如下命令為三屏播放相同視頻:
root@OK8MP:~# gst-launch-1.0 playbin uri=file:///media/forlinx/video/1080p_60fps_h264.mp4 video-sink="waylandsink window-x=0 window-y=10" & gst-launch-1.0 playbin uri=file:///media/forlinx/video/1080p_60fps_h264.mp4 video-sink="waylandsink window-x=1152 window-y=120" & gst-launch-1.0 playbin uri=file:///media/forlinx/video/1080p_60fps_h264.mp4 video-sink="waylandsink window-x=2754 window-y=250"
藍色部分可改成三個不同視頻的路徑,即可實現同時播放不同視頻。
紅色部分為視頻顯示的實際坐標,此處用做移動視頻到其他屏(第一個在MIPI上,第二個在LVDS上,第三個在HDMI上,且都是居中顯示)
如下圖,展示的是三屏同時播放相同的視頻,通過對命令的調整可使視頻居中顯示。
三、4K高清攝像頭輸入
目前FETMX8MP-C核心板除了支持OV5645 MIPI 攝像頭和USB?UVC攝像頭外,還支持4K高清攝像頭,型號為daA3840-30mc。daA3840-30mc 攝像頭是NXP官方推薦的能為iMX 8M Plus處理器提供強大視覺系統的4K高清攝像頭,可作為基于視覺的智能機器學習應用的解決方案。具體測試方法如下:
首先確認 basler 的設備節點。
root@OK8MP:~# v4l2-ctl --list-devices (): ? ? ? ?/dev/v4l-subdev0 ? ? ? ?/dev/v4l-subdev3 ? ? ? ?/dev/v4l-subdev4 (): ? ? ? ?/dev/v4l-subdev1 (csi0): ? ? ? ?/dev/v4l-subdev2 VIV (platform:viv0): ? ? ? ?/dev/video0 VIV (platform:viv1): ? ? ? ?/dev/video1
查看攝像頭支持的格式與分辨率:
root@OK8MP:~# v4l2-ctl --list-formats-ext -d /dev/video1 ioctl: VIDIOC_ENUM_FMT ? ? ? ?Type: Video Capture ? ? ? ?[0]: 'YUYV' (YUYV 4:2:2) ? ? ? ? ? ? ? ?Size: Discrete?3840x2160 ? ? ? ? ? ? ? ? ? ? ? ?Interval: Discrete 0.033s (30.000 fps) ? ? ? ?[1]: 'NV12' (Y/CbCr 4:2:0) ? ? ? ? ? ? ? ?Size: Discrete 3840x2160 ? ? ? ? ? ? ? ? ? ? Interval: Discrete 0.033s (30.000 fps) ? ? ? ?[2]: 'NV16' (Y/CbCr 4:2:2) ? ? ? ? ? ? ? ?Size: Discrete 3840x2160 ? ? ? ? ? ? ? ? ? ? ? ?Interval: Discrete 0.033s (30.000 fps) ? ? ? ?[3]: 'BA12' (12-bit Bayer GRGR/BGBG) ? ? ? ? ? ? ? ?Size: Discrete 3840x2160 ? ? ? ? ? ? ? ? ? ? ? ?Interval: Discrete 0.033s (30.000 fps)
攝像頭預覽:
root@OK8MP:~# gst-launch-1.0 v4l2src device=/dev/video1 ! waylandsink
在4K顯示屏下,攝像頭畫質輸出也可達到4K,顯示清晰度極高。如需測試更多有關攝像頭的功能(如攝像頭拍照、錄像),可參考飛凌嵌入式提供的iMX8MP系列產品使用手冊。
綜上,本文分別從硬件編解碼、多屏顯示和4K高清攝像頭三部分對FETMX8MP-C的多媒體性能進行了測評,由上述測評及結果可得出結論:FETMX8MP-C具有更高效的視頻處理方式,能夠為用戶帶來更好的多媒體體驗,可滿足用戶對復雜多媒體顯示的需求,而4K高清攝像頭也為用戶提供了更加優秀的視頻采集效果,為產品設計帶來了更多可能。