kmssink: Add NV24 support
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Fri, 17 Sep 2021 19:39:54 +0000 (15:39 -0400)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 20 Sep 2021 14:08:56 +0000 (14:08 +0000)
This was tested on RK3566 platform, using vendor DRM driver.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>

sys/kms/gstkmsutils.c

index 1dd19ee..cb06d40 100644 (file)
@@ -70,6 +70,7 @@ static const struct
   DEF_FMT (NV12, NV12),
   DEF_FMT (NV21, NV21),
   DEF_FMT (NV16, NV16),
+  DEF_FMT (NV24, NV24),
 
 #undef DEF_FMT
 };
@@ -113,6 +114,7 @@ gst_drm_bpp_from_drm (guint32 drmfmt)
     case DRM_FORMAT_NV12:
     case DRM_FORMAT_NV21:
     case DRM_FORMAT_NV16:
+    case DRM_FORMAT_NV24:
       bpp = 8;
       break;
     case DRM_FORMAT_P010:
@@ -154,6 +156,9 @@ gst_drm_height_from_drm (guint32 drmfmt, guint32 height)
     case DRM_FORMAT_NV16:
       ret = height * 2;
       break;
+    case DRM_FORMAT_NV24:
+      ret = height * 3;
+      break;
     default:
       ret = height;
       break;