Răsfoiți Sursa

Backport pull request #8620 from jellyfin/release-10.8.z

Fix the DG2 HDR TM tearing issue on Windows

Original-merge: 3bdc2bff5f26f8a564d8f601a599134950e8d974

Merged-by: Claus Vium <cvium@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
nyanmisaka 2 ani în urmă
părinte
comite
a214ca2598
1 a modificat fișierele cu 12 adăugiri și 2 ștergeri
  1. 12 2
      MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

+ 12 - 2
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -1459,7 +1459,11 @@ namespace MediaBrowser.Controller.MediaEncoding
                     param += " -preset 7";
                 }
 
-                param += " -look_ahead 0";
+                // Only h264_qsv has look_ahead option
+                if (string.Equals(videoEncoder, "h264_qsv", StringComparison.OrdinalIgnoreCase))
+                {
+                    param += " -look_ahead 0";
+                }
             }
             else if (string.Equals(videoEncoder, "h264_nvenc", StringComparison.OrdinalIgnoreCase) // h264 (h264_nvenc)
                      || string.Equals(videoEncoder, "hevc_nvenc", StringComparison.OrdinalIgnoreCase)) // hevc (hevc_nvenc)
@@ -1497,7 +1501,7 @@ namespace MediaBrowser.Controller.MediaEncoding
                         break;
 
                     default:
-                        param += " -preset p4";
+                        param += " -preset p1";
                         break;
                 }
             }
@@ -3467,6 +3471,12 @@ namespace MediaBrowser.Controller.MediaEncoding
                         // map from d3d11va to qsv.
                         mainFilters.Add("hwmap=derive_device=qsv");
                     }
+                    else
+                    {
+                        // Insert a qsv scaler to sync the decoder surface,
+                        // msdk will passthrough this internally.
+                        mainFilters.Add("hwmap=derive_device=qsv,scale_qsv");
+                    }
                 }
 
                 // hw deint