TB-RK3588X评测-HDMI IN功能介绍

嵌入式技术

1332人已加入

描述

上一期的评测,我们介绍了TB-RK3588X开发板。RK3588除了CPU GPU NPU性能强悍,更是多了不少接口,比如PCIE3.0X4,以及HDMI IN,尤其是HDMI IN,是从未在此前RK的任何处理器上面出现过的。按照RK的规格书,此HDMI IN接口支持标准的HDMI2.0和HDMI 1.4 协议,最大可支持2160p@60Hz 的视频输入,目前支持的输入格式为:24-bit RGB 44, 24-bit YCbCr 44, 24/30-bit YCbCr 40以及24/30-bit YCbCr 42。

    在以前的RK方案中,一般要加一颗HDMI转CSI芯片实现类似功能,比如TC358749,或者RK628D,这种设计方法往往会增加系统的复杂度。目前RK3588的应用方向之一是8K的Android TV,而TV通常都会带HDMI 输入接口。这应该是瑞芯微向RK3588上增加HDMI功能的原因之一吧。

    TB-RK3588X作为RK官方推出的评估板,引出了此接口,位于下图所示的位置。
    RK3588
   

下面介绍一下RK3588的HDMI IN功能的使用。本篇文章基于toybrick官方发布的TB-RK3588X_Images_Android_V0.1.1.7z固件。另外还要找一个支持HDMI输出的设备,笔者这里使用的是华硕的tinker edge R开发板。

Linux环境下调试方法

按照以前调试RK3399+RK628D的经验来看,一般HDMI IN会作为一个VIDEO IN设备,在Linux下通常用V4L2来实现这种设备的编程。Android是基于Linux系统的,因此可以采用同样的方法进行调试。使用串口登入TB-RK3588X之后,通过如下命令可以看到系统的VIDEO IN设备。

 

 

console:/ # v4l2-ctl --list-devices
rk_hdmirx (fdee0000.hdmirx-controller):
        /dev/video34




rkisp-statistics (platform: rkisp):
        /dev/video23
        /dev/video24
        /dev/video32
        /dev/video33




rkisp_mainpath (platform
        /dev/video16
        /dev/video17
        /dev/video18
        /dev/video19
        /dev/video20
        /dev/video21
        /dev/video22




rkisp_mainpath (platform
        /dev/video25
        /dev/video26
        /dev/video27
        /dev/video28
        /dev/video29
        /dev/video30
        /dev/video31

 

可以看到/dev/video34就是对应hdmi in的设备,然后可以使用

 

console:/ # v4l2-ctl -d /dev/video34 -D
Driver Info:
        Driver name      : rk_hdmirx
        Card type        : rk_hdmirx
        Bus info         : fdee0000.hdmirx-controller
        Driver version   : 5.10.66
        Capabilities     : 0x84201000
                Video Capture Multiplanar
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04201000
                Video Capture Multiplanar
                Streaming
                Extended Pix Format

 

查看设备的基本信息。

 

此时将HDMI的输出设备接到TB-RK3588X上,如下图所示


  RK3588
    使用命令

 

console:/ # v4l2-ctl -d /dev/video34 -V
Format Video Capture Multiplanar:
        Width/Height      : 1920/1080
        Pixel Format      : 'NV16'
        Field             : None
        Number of planes  : 1
        Flags             : premultiplied-alpha, 000000fe
        Colorspace        : Unknown (1025fca0)
        Transfer Function : Unknown (00000020)
        YCbCr Encoding    : Unknown (000000ff)
        Quantization      : Default
        Plane 0           :
           Bytes per Line : 1920
           Size Image     : 4147200

 

可以看到HDMI输入当前的分辨率为1920x1080

通过命令

 

v4l2-ctl -d /dev/video34 --set-fmt-video=width=1920,height=1080,pixelformat='NV16' --stream-mmap=4 --stream-skip=10 --stream-to=/mnt/test_hdmiin.yuv --stream-count=5 --stream-poll

 

可以抓取画面,这个命令行里面

 

-d /dev/video34指定设备
--set-fmt-video=width=1920,height=1080,pixelformat='NV16' 指定分辨率和格式,分辨率和格式在v4l2-ctl -d /dev/video34 -V可以查询到
--stream-mmap=4 指定 buffer 的类型为 mmap
--stream-skip=10 跳过前面10帧
--stream-to=/ mnt /test_hdmiin.yuv 保存到/ mnt /test_hdmiin.yuv文件
--stream-count=5 保存5帧

 

将这个/data/test_hdmiin.yuv文件通过adb pull拉回本地,然后在Windows下可以使用YUView工具来查看,此工具可以支持多种格式的YUV图像查看,下载地址为

https://github.com/IENT/YUView/releases

 

查看此图像时,我们要将格式配置为NV16,但是这个软件没有NV16的选项。其实NV16还有一种名称,叫做YUV422SP,YUV422SP是使用planar方式排列的YUV422,其中U前V后叫NV16,因此,在YUView按下图配置

 

RK3588



 

配置之后,显示的画面如下,与tinker edge R开发板当前画面确实一致

 

RK3588

 

Android环境下调试方法

    在以前的RK平台上,一般把HDMI IN设备视为一个摄像头,属于cameraHAL框架,使用camera2这类app可以实现画面查看。而在RK3588平台,则是将HDMI IN视为一个tv.input设备,属于tv_input HAL框架,使用LiveTV应用可以实现画面查看。当然,第三方的TV类应用也可以支持。

    TB-RK3588X默认预装了LiveTV应用,直接运行此APP即可显示HDMI-IN 的输入画面,而HDMI-IN 的音频输入会从当前使用的声卡设备输出,插耳机时使用的时3.5mm耳机孔,如果不插耳机插HDMI OUT则会从HDMI OUT接口输出。

    下面这段视频展示了通过TB-RK3588X上预装的LiveTV应用来查看tinker edge R画面的方法。

结语


    本文介绍了在Linux环境下和Android环境下调试TB-RK3588X HDMI IN功能的方法。瑞芯微在RK3588的Android环境下使用了新的tv_input HAL框架来支持此功能,而在Linux环境下,则仍然沿用V4L2框架。如果把RK3588应用于Android TV或者XVR领域,HDMI IN还是能发挥很大的作用。  

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分