From 5f2bbe3cd2101e07a5d1d293c11ae7bc1fe82cdb Mon Sep 17 00:00:00 2001 From: HaveAGitGat <43864057+HaveAGitGat@users.noreply.github.com> Date: Sun, 26 Nov 2023 11:09:22 +0000 Subject: [PATCH] Add reasoning for why no GPU encoding --- FlowPluginsTs/FlowHelpers/1.0.0/hardwareUtils.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/FlowPluginsTs/FlowHelpers/1.0.0/hardwareUtils.ts b/FlowPluginsTs/FlowHelpers/1.0.0/hardwareUtils.ts index 5052cb4..90462b1 100644 --- a/FlowPluginsTs/FlowHelpers/1.0.0/hardwareUtils.ts +++ b/FlowPluginsTs/FlowHelpers/1.0.0/hardwareUtils.ts @@ -186,10 +186,12 @@ export const getEncoder = async ({ hardwareType: string, args: IpluginInputArgs, }): Promise => { + const supportedGpuEncoders = ['hevc', 'h264', 'av1']; + if ( args.workerType && args.workerType.includes('gpu') - && hardwareEncoding && (['hevc', 'h264', 'av1'].includes(targetCodec))) { + && hardwareEncoding && (supportedGpuEncoders.includes(targetCodec))) { const gpuEncoders: IgpuEncoder[] = [ { encoder: 'hevc_nvenc', @@ -371,6 +373,18 @@ export const getEncoder = async ({ enabledDevices, }; } + } else { + if (!hardwareEncoding) { + args.jobLog('Hardware encoding is disabled in plugin input options'); + } + + if (!args.workerType || !args.workerType.includes('gpu')) { + args.jobLog('Worker type is not GPU'); + } + + if (!supportedGpuEncoders.includes(targetCodec)) { + args.jobLog(`Target codec ${targetCodec} is not supported for GPU encoding`); + } } if (targetCodec === 'hevc') {