summaryrefslogtreecommitdiffstats
path: root/win/CS/HandBrake.Interop/Interop
diff options
context:
space:
mode:
authorsr55 <[email protected]>2018-06-08 23:04:22 +0100
committersr55 <[email protected]>2018-06-08 23:04:22 +0100
commitc2a7fba08f489844a1474c01be455ae1e9a03abb (patch)
treef3a7a414d0d6a1ad3b9e2c553d74b5d0b32b95d4 /win/CS/HandBrake.Interop/Interop
parentf4bd868418555189faac85e0af3f3ad64058836a (diff)
WinGui: Add Support for the VCE Encoders.
Diffstat (limited to 'win/CS/HandBrake.Interop/Interop')
-rw-r--r--win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs6
-rw-r--r--win/CS/HandBrake.Interop/Interop/HbLib/NativeConstants.cs4
-rw-r--r--win/CS/HandBrake.Interop/Interop/Model/Encoding/VideoEncoder.cs8
3 files changed, 18 insertions, 0 deletions
diff --git a/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs b/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs
index c55c8a927..65b81c509 100644
--- a/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs
+++ b/win/CS/HandBrake.Interop/Interop/HbLib/HbFunctions.cs
@@ -409,6 +409,12 @@ namespace HandBrake.Interop.Interop.HbLib
[DllImport("hb", EntryPoint = "hb_qsv_info_init", CallingConvention = CallingConvention.Cdecl)]
public static extern int hb_qsv_info_init();
+ [DllImport("hb", EntryPoint = "hb_vce_h264_available", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int hb_vce_h264_available();
+
+ [DllImport("hb", EntryPoint = "hb_vce_h265_available", CallingConvention = CallingConvention.Cdecl)]
+ public static extern int hb_vce_h265_available();
+
// hb_image_t* hb_get_preview2(hb_handle_t* h, int title_idx, int picture, hb_geometry_settings_t* geo, int deinterlace);
[DllImport("hb", EntryPoint = "hb_get_preview2", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr hb_get_preview2(IntPtr hbHandle, int title_idx, int preview_idx, ref hb_geometry_settings_s geo, int deinterlace);
diff --git a/win/CS/HandBrake.Interop/Interop/HbLib/NativeConstants.cs b/win/CS/HandBrake.Interop/Interop/HbLib/NativeConstants.cs
index aacec1bcf..dbf96aeda 100644
--- a/win/CS/HandBrake.Interop/Interop/HbLib/NativeConstants.cs
+++ b/win/CS/HandBrake.Interop/Interop/HbLib/NativeConstants.cs
@@ -51,6 +51,10 @@ namespace HandBrake.Interop.Interop.HbLib
public const uint HB_VCODEC_QSV_H265_10BIT = 0x0000400;
public const uint HB_VCODEC_QSV_MASK = 0x0000F00;
+ public const uint HB_VCODEC_FFMPEG_VCE_H264 = 0x00040000;
+ public const uint HB_VCODEC_FFMPEG_VCE_H265 = 0x00080000;
+ public const uint HB_VCODEC_FFMPEG_MASK = (0x00000F0 | HB_VCODEC_FFMPEG_VCE_H264 | HB_VCODEC_FFMPEG_VCE_H265);
+
// Encode state
public const int HB_STATE_IDLE = 1;
public const int HB_STATE_SCANNING = 2;
diff --git a/win/CS/HandBrake.Interop/Interop/Model/Encoding/VideoEncoder.cs b/win/CS/HandBrake.Interop/Interop/Model/Encoding/VideoEncoder.cs
index 68c09d0d1..a5aded796 100644
--- a/win/CS/HandBrake.Interop/Interop/Model/Encoding/VideoEncoder.cs
+++ b/win/CS/HandBrake.Interop/Interop/Model/Encoding/VideoEncoder.cs
@@ -28,6 +28,10 @@ namespace HandBrake.Interop.Interop.Model.Encoding
[ShortName("qsv_h264")]
QuickSync,
+ [DisplayName("H.264 (AMD VCE)")]
+ [ShortName("vce_h264")]
+ VceH264,
+
[DisplayName("MPEG-4")]
[ShortName("mpeg4")]
FFMpeg,
@@ -60,6 +64,10 @@ namespace HandBrake.Interop.Interop.Model.Encoding
[ShortName("qsv_h265_10bit")]
QuickSyncH26510b,
+ [DisplayName("H.265 (AMD VCE)")]
+ [ShortName("vce_h265")]
+ VceH265,
+
[DisplayName("VP8")]
[ShortName("VP8")]
VP8,