After further testing it seems that it only works reliable with HEVC
video, on my machine :(

But for hevc it really speeds things up :)

second patch adds tooltip for Vulkan decoding, and changes
pixel_format for more common for those hwaccels, hopefully.


On Wed, May 7, 2025 at 3:49 AM Andrew Randrianasulu
<randrianas...@gmail.com> wrote:
>
> Now non-tonemapped 4k h264 hit 56 fps in window  :)
From 9b6e068c1a19d82f68808bbbfcacc4dc93585ff8 Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu <randrianas...@gmail.com>
Date: Wed, 7 May 2025 05:27:50 +0300
Subject: [PATCH 2/2] Add tooltip for Vulkan, change pix_fmt to Vulkan

---
 cinelerra-5.1/cinelerra/ffmpeg.C           | 4 ++--
 cinelerra-5.1/cinelerra/performanceprefs.C | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/cinelerra-5.1/cinelerra/ffmpeg.C b/cinelerra-5.1/cinelerra/ffmpeg.C
index 22e5540e..1d0979df 100644
--- a/cinelerra-5.1/cinelerra/ffmpeg.C
+++ b/cinelerra-5.1/cinelerra/ffmpeg.C
@@ -373,7 +373,7 @@ GET_HW_PIXFMT(vaapi, AV_PIX_FMT_VAAPI)
 GET_HW_PIXFMT(vdpau, AV_PIX_FMT_VDPAU)
 GET_HW_PIXFMT(cuda,  AV_PIX_FMT_CUDA)
 GET_HW_PIXFMT(nv12,  AV_PIX_FMT_NV12)
-GET_HW_PIXFMT(vulkan,  AV_PIX_FMT_NV12)
+GET_HW_PIXFMT(vulkan,  AV_PIX_FMT_VULKAN)
 
 static enum AVPixelFormat get_hw_format(AVCodecContext *ctx,
 			const enum AVPixelFormat *pix_fmts)
@@ -385,7 +385,7 @@ static enum AVPixelFormat get_hw_format(AVCodecContext *ctx,
 		case AV_PIX_FMT_VDPAU: ctx->get_format = get_hw_vdpau; return *p;
 		case AV_PIX_FMT_CUDA:  ctx->get_format = get_hw_cuda;  return *p;
 		case AV_PIX_FMT_NV12:  ctx->get_format = get_hw_nv12;  return *p;
-		case AV_PIX_FMT_VULKAN:  ctx->get_format = get_hw_nv12;  return *p;
+		case AV_PIX_FMT_VULKAN:  ctx->get_format = get_hw_vulkan;  return *p;
 		default:
 			fprintf(stderr, "Unknown HW surface format: %s\n",
 				av_get_pix_fmt_name(*p));
diff --git a/cinelerra-5.1/cinelerra/performanceprefs.C b/cinelerra-5.1/cinelerra/performanceprefs.C
index 60221ab5..0bd347cf 100644
--- a/cinelerra-5.1/cinelerra/performanceprefs.C
+++ b/cinelerra-5.1/cinelerra/performanceprefs.C
@@ -363,9 +363,10 @@ PrefsUseHWDev::PrefsUseHWDev(PreferencesWindow *pwindow,
 void PrefsUseHWDev::create_objects()
 {
 	BC_PopupTextBox::create_objects();
-	set_tooltip(_("vdpau - Nvidia, Nouveau\n"
+	set_tooltip(_("vdpau - Nvidia, Nouveau, AMD (mesa)\n"
 		"vaapi - Broadcom, Intel HD graphics, Amdgpu, Radeon\n"
-		"cuda  - Nvidia + Cuda SDK"));
+		"cuda  - Nvidia + Cuda SDK\n"
+		"vulkan - AMDGPU"));
 	hw_dev_names.append(new BC_ListBoxItem(_("none")));
 #ifdef HAVE_VAAPI
 	hw_dev_names.append(new BC_ListBoxItem("vaapi"));
-- 
2.46.3

-- 
Cin mailing list
Cin@lists.cinelerra-gg.org
https://lists.cinelerra-gg.org/mailman/listinfo/cin

Reply via email to