Переглянути джерело

Add HWA video transpose support (+-90/180)

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
nyanmisaka 1 рік тому
батько
коміт
deb36eeeda

Різницю між файлами не показано, бо вона завелика
+ 258 - 94
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs


+ 6 - 1
MediaBrowser.Controller/MediaEncoding/FilterOptionType.cs

@@ -33,6 +33,11 @@ namespace MediaBrowser.Controller.MediaEncoding
         /// <summary>
         /// The overlay_vulkan_framesync.
         /// </summary>
-        OverlayVulkanFrameSync = 5
+        OverlayVulkanFrameSync = 5,
+
+        /// <summary>
+        /// The transpose_opencl_reversal.
+        /// </summary>
+        TransposeOpenclReversal = 6
     }
 }

+ 8 - 1
MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs

@@ -110,25 +110,31 @@ namespace MediaBrowser.MediaEncoding.Encoder
             "yadif_cuda",
             "tonemap_cuda",
             "overlay_cuda",
+            "transpose_cuda",
             "hwupload_cuda",
             // opencl
             "scale_opencl",
             "tonemap_opencl",
             "overlay_opencl",
+            "transpose_opencl",
             // vaapi
             "scale_vaapi",
             "deinterlace_vaapi",
             "tonemap_vaapi",
             "procamp_vaapi",
             "overlay_vaapi",
+            "transpose_vaapi",
             "hwupload_vaapi",
             // vulkan
             "libplacebo",
             "scale_vulkan",
             "overlay_vulkan",
+            "transpose_vulkan",
+            "flip_vulkan",
             // videotoolbox
             "yadif_videotoolbox",
             "scale_vt",
+            "transpose_vt",
             "overlay_videotoolbox",
             "tonemap_videotoolbox",
             // rkrga
@@ -144,7 +150,8 @@ namespace MediaBrowser.MediaEncoding.Encoder
             { 2, new string[] { "tonemap_opencl", "bt2390" } },
             { 3, new string[] { "overlay_opencl", "Action to take when encountering EOF from secondary input" } },
             { 4, new string[] { "overlay_vaapi", "Action to take when encountering EOF from secondary input" } },
-            { 5, new string[] { "overlay_vulkan", "Action to take when encountering EOF from secondary input" } }
+            { 5, new string[] { "overlay_vulkan", "Action to take when encountering EOF from secondary input" } },
+            { 6, new string[] { "transpose_opencl", "rotate by half-turn" } }
         };
 
         // These are the library versions that corresponds to our minimum ffmpeg version 4.4 according to the version table below

Деякі файли не було показано, через те що забагато файлів було змінено