diff --git a/server/src/utils/media.ts b/server/src/utils/media.ts
index b00eb652ef..f251a5d8ed 100644
--- a/server/src/utils/media.ts
+++ b/server/src/utils/media.ts
@@ -781,7 +781,12 @@ export class VaapiSwDecodeConfig extends BaseHWConfig {
 
   getFilterOptions(videoStream: VideoStreamInfo) {
     const options = this.getToneMapping(videoStream);
-    options.push('hwupload=extra_hw_frames=64');
+    if (videoStream.codecName === VideoCodec.HEVC) {
+      options.push('format=nv12');
+      options.push('hwupload=extra_hw_frames=64');
+    } else {
+      options.push('hwupload=extra_hw_frames=64');
+    }
     if (this.shouldScale(videoStream)) {
       options.push(`scale_vaapi=${this.getScaling(videoStream)}:mode=hq:out_range=pc:format=nv12`);
     }