i.MX8MP 测评|飞凌FETMX8MP-C核心板多媒体功能测评

2023-10-17 12:40

本文主要是介绍i.MX8MP 测评|飞凌FETMX8MP-C核心板多媒体功能测评,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

距离飞凌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.mp4video-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_FMTType: Video Capture[0]: 'YUYV' (YUYV 4:2:2)Size: Discrete 3840x2160Interval: Discrete 0.033s (30.000 fps)[1]: 'NV12' (Y/CbCr 4:2:0)Size: Discrete 3840x2160Interval: Discrete 0.033s (30.000 fps)[2]: 'NV16' (Y/CbCr 4:2:2)Size: Discrete 3840x2160Interval: Discrete 0.033s (30.000 fps)[3]: 'BA12' (12-bit Bayer GRGR/BGBG)Size: Discrete 3840x2160Interval: 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高清摄像头也为用户提供了更加优秀的视频采集效果,为产品设计带来了更多可能。

iMX8MP 测评|飞凌FETMX8MP-C核心板多媒体功能测评 - 飞凌嵌入式行业资讯 - 保定飞凌嵌入式技术有限公司

这篇关于i.MX8MP 测评|飞凌FETMX8MP-C核心板多媒体功能测评的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225484

相关文章

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

Spring Boot 集成 mybatis核心机制

《SpringBoot集成mybatis核心机制》这篇文章给大家介绍SpringBoot集成mybatis核心机制,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值... 目录Spring Boot浅析1.依赖管理(Starter POMs)2.自动配置(AutoConfigu

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

SpringBoot整合Apache Spark实现一个简单的数据分析功能

《SpringBoot整合ApacheSpark实现一个简单的数据分析功能》ApacheSpark是一个开源的大数据处理框架,它提供了丰富的功能和API,用于分布式数据处理、数据分析和机器学习等任务... 目录第一步、添加android依赖第二步、编写配置类第三步、编写控制类启动项目并测试总结ApacheS

Spring Boot/Spring MVC核心注解的作用详解

《SpringBoot/SpringMVC核心注解的作用详解》本文详细介绍了SpringBoot和SpringMVC中最常用的15个核心注解,涵盖了请求路由映射、参数绑定、RESTfulAPI、... 目录一、Spring/Spring MVC注解的核心作用二、请求映射与RESTful API注解系列2.1

Python实现繁体转简体功能的三种方案

《Python实现繁体转简体功能的三种方案》在中文信息处理中,繁体字与简体字的转换是一个常见需求,无论是处理港澳台地区的文本数据,还是开发面向不同中文用户群体的应用,繁简转换都是不可或缺的功能,本文将... 目录前言为什么需要繁简转换?python实现方案方案一:使用opencc库方案二:使用zhconv库

Qt实现删除布局与布局切换功能

《Qt实现删除布局与布局切换功能》在Qt应用开发中,动态管理布局是一个常见需求,比如根据用户操作动态删除某个布局,或在不同布局间进行切换,本文将详细介绍如何实现这些功能,并通过完整示例展示具体操作,需... 目录一、Qt动态删除布局1. 布局删除的注意事项2. 动态删除布局的实现步骤示例:删除vboxLay

Spring Boot整合Redis注解实现增删改查功能(Redis注解使用)

《SpringBoot整合Redis注解实现增删改查功能(Redis注解使用)》文章介绍了如何使用SpringBoot整合Redis注解实现增删改查功能,包括配置、实体类、Repository、Se... 目录配置Redis连接定义实体类创建Repository接口增删改查操作示例插入数据查询数据删除数据更

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export