Now non-tonemapped 4k h264 hit 56 fps in window :)
From caa08918f4e319165bfc4f7568fc69c1f9a6e0ea Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu <[email protected]>
Date: Wed, 7 May 2025 03:46:18 +0300
Subject: [PATCH] Add Vulkan decode accel - much faster!
---
cinelerra-5.1/cinelerra/ffmpeg.C | 2 ++
cinelerra-5.1/cinelerra/performanceprefs.C | 1 +
2 files changed, 3 insertions(+)
diff --git a/cinelerra-5.1/cinelerra/ffmpeg.C b/cinelerra-5.1/cinelerra/ffmpeg.C
index 075ef4dd..22e5540e 100644
--- a/cinelerra-5.1/cinelerra/ffmpeg.C
+++ b/cinelerra-5.1/cinelerra/ffmpeg.C
@@ -373,6 +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)
static enum AVPixelFormat get_hw_format(AVCodecContext *ctx,
const enum AVPixelFormat *pix_fmts)
@@ -384,6 +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;
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 77ca2d5f..60221ab5 100644
--- a/cinelerra-5.1/cinelerra/performanceprefs.C
+++ b/cinelerra-5.1/cinelerra/performanceprefs.C
@@ -376,6 +376,7 @@ void PrefsUseHWDev::create_objects()
#ifdef HAVE_NV
hw_dev_names.append(new BC_ListBoxItem("cuda"));
#endif
+ hw_dev_names.append(new BC_ListBoxItem("vulkan"));
update_list(&hw_dev_names);
update(&pwindow->thread->preferences->use_hw_dev[0]);
}
--
2.46.3
--
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin