RK3588 视频解码,QT显示之双屏同显

         在上一章节中,我们了解了我们混合后的帧通过DRM来显示在屏幕上,同时我们通过配置DRM来实现QT和视频的同时显示,alpha,colorkey等。这一小结,我们主要来简述怎么通过DRM实现双屏同显,其实完成了双屏同显后,双屏异显也是同样的道理。

         在上一章节中我们了解到,一个屏幕就是一个connector。现在我们有二个屏幕,那么我们在获取资源的时候就会获取到这二个屏幕,在实际中我们可以用过RK提供的文档指令查看具体是那个对应那个屏幕。我么通过对应的connector的crtc 来进行处理。在本章中我的HDMI对应的是第一个crtc , DSP对应的是第三个crtc。示例代码如下:

sp_crtc *mCrtc;

sp_crtc *dspCrtc;

mCrtc = &mDev->crtcs[0];  //对应HDMI的crtc

dspCrtc = &mDev->crtc[2]; //对应DSP的crtc

找到每个显示屏对应的crtc 后,我们就需要通过crtc 找到 plane. 

一、HDMI获取plane,并设置

    for (i = 0; i < mCrtc->num_planes; i++) {
        mPlanes[i] = get_sp_plane(mDev, mCrtc);
      // get_primar_sp_plane(mDev, mCrtc);
      //获取支持DRM_FORMAT_NV12格式的图层
         if (is_supported_format(mPlanes[i], DRM_FORMAT_NV12))
        {
            if(countvoer==

你可能感兴趣的:(RK3588,视频编解码,qt,linux)