From 63666c89f79dde8b861709eb45d9536b8ce4372d Mon Sep 17 00:00:00 2001 From: j Date: Sun, 12 Oct 2025 20:40:06 +1300 Subject: [PATCH] Update transcode_bench.py --- transcode_bench.py | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/transcode_bench.py b/transcode_bench.py index ff7b773..fb72bb2 100755 --- a/transcode_bench.py +++ b/transcode_bench.py @@ -358,21 +358,19 @@ class TranscodeJob: # Build video filter chain for realistic transcoding vf_filters = [] - # For VA-API, we need to scale and upload to hardware - if 'vaapi' in self.encoder: - if self.hw_decode: - # HW decode: download from GPU, scale on CPU, upload back - # (GPU scaling not widely supported, so use CPU) - vf_filters.append('hwdownload') - vf_filters.append('format=nv12') - - # Scale on CPU (works everywhere) - vf_filters.append('scale=1280x720') + # Handle decode format conversion and scaling + if self.hw_decode: + # HW decode: download from GPU to CPU first + vf_filters.append('hwdownload') vf_filters.append('format=nv12') + + # Scale on CPU (works everywhere) + vf_filters.append('scale=1280x720') + vf_filters.append('format=nv12') + + # Upload to GPU only if HEVC encoder is hardware-accelerated + if 'vaapi' in self.hevc_encoder: vf_filters.append('hwupload') - else: - # Other encoders: just scale - vf_filters.append('scale=1280x720') if vf_filters: cmd.extend(['-vf', ','.join(vf_filters)])