summaryrefslogtreecommitdiffstats
path: root/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib
diff options
context:
space:
mode:
Diffstat (limited to 'win/CS/HandBrake.Interop/HandBrakeInterop/HbLib')
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/HBDelegates.cs17
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/HbFunctions.cs13
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/Misc.cs389
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/NativeConstants.cs123
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_audio.cs16
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_container_s.cs26
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_encoder_s.cs25
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_filter_ids.cs29
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_filter_object_s.cs (renamed from win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_filter.cs)22
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_job_s.cs47
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_list_s.cs25
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_mixdown_s.cs25
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_rate_s.cs22
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_state_s.cs96
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_subtitle.cs34
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_subtitle_config_s.cs42
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_s.cs13
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_set_s.cs22
-rw-r--r--win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/iso639_lang_t.cs29
19 files changed, 445 insertions, 570 deletions
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/HBDelegates.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/HBDelegates.cs
new file mode 100644
index 000000000..6d2adcfeb
--- /dev/null
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/HBDelegates.cs
@@ -0,0 +1,17 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="HBDelegates.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <summary>
+// Contains delegates for HandBrake interop.
+// </summary>
+// <auto-generated> Disable Stylecop Warnings for this file </auto-generated>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.Interop.HbLib
+{
+ using System.Runtime.InteropServices;
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate void LoggingCallback(string message);
+}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/HbFunctions.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/HbFunctions.cs
index c1a463037..6c3f70357 100644
--- a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/HbFunctions.cs
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/HbFunctions.cs
@@ -13,6 +13,9 @@ namespace HandBrake.Interop.HbLib
using System;
using System.Runtime.InteropServices;
+ /// <summary>
+ /// Contains p-invoke function declarations to hblib.
+ /// </summary>
public static class HBFunctions
{
[DllImport("hb.dll", EntryPoint = "hb_register_logger", CallingConvention = CallingConvention.Cdecl)]
@@ -41,20 +44,20 @@ namespace HandBrake.Interop.HbLib
/// Return Type: char*
///param0: hb_handle_t*
[DllImport("hb.dll", EntryPoint = "hb_get_version", CallingConvention = CallingConvention.Cdecl)]
- public static extern IntPtr hb_get_version(ref hb_handle_s param0);
+ public static extern IntPtr hb_get_version(IntPtr hbHandle);
/// Return Type: int
///param0: hb_handle_t*
[DllImport("hb.dll", EntryPoint = "hb_get_build", CallingConvention = CallingConvention.Cdecl)]
- public static extern int hb_get_build(ref hb_handle_s param0);
+ public static extern int hb_get_build(IntPtr hbHandle);
/// Return Type: int
///h: hb_handle_t*
///version: char**
[DllImport("hb.dll", EntryPoint = "hb_check_update", CallingConvention = CallingConvention.Cdecl)]
- public static extern int hb_check_update(ref hb_handle_s h, ref IntPtr version);
+ public static extern int hb_check_update(IntPtr handle, ref IntPtr version);
/// Return Type: char*
@@ -175,13 +178,13 @@ namespace HandBrake.Interop.HbLib
///param0: hb_handle_t*
///param1: hb_state_t*
[DllImport("hb.dll", EntryPoint = "hb_get_state2", CallingConvention = CallingConvention.Cdecl)]
- public static extern void hb_get_state2(ref hb_handle_s param0, ref hb_state_s param1);
+ public static extern void hb_get_state2(IntPtr hbHandle, ref hb_state_s param1);
/// Return Type: int
///param0: hb_handle_t*
[DllImport("hb.dll", EntryPoint = "hb_get_scancount", CallingConvention = CallingConvention.Cdecl)]
- public static extern int hb_get_scancount(ref hb_handle_s param0);
+ public static extern int hb_get_scancount(IntPtr hbHandle);
/// Return Type: void
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/Misc.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/Misc.cs
deleted file mode 100644
index 65472372b..000000000
--- a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/Misc.cs
+++ /dev/null
@@ -1,389 +0,0 @@
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="Misc.cs" company="HandBrake Project (http://handbrake.fr)">
-// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
-// </copyright>
-// <summary>
-// Defines the hb_anamorphic_substruct type.
-// </summary>
-// <auto-generated> Disable Stylecop Warnings for this file </auto-generated>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrake.Interop.HbLib
-{
- using System;
- using System.Runtime.InteropServices;
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_anamorphic_substruct
- {
- /// int
- public int mode;
-
- /// int
- public int itu_par;
-
- /// int
- public int par_width;
-
- /// int
- public int par_height;
-
- /// int
- public int dar_width;
-
- /// int
- public int dar_height;
-
- /// int
- public int keep_display_aspect;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_list_s
- {
- /// void**
- public IntPtr items;
-
- /// int
- public int items_alloc;
-
- /// int
- public int items_count;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_rate_s
- {
- /// char*
- [MarshalAs(UnmanagedType.LPStr)]
- public string name;
-
- /// int
- public int rate;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_mixdown_s
- {
- [MarshalAs(UnmanagedType.LPStr)]
- public string name;
-
- /// char*
- [MarshalAs(UnmanagedType.LPStr)]
- public string short_name;
-
- /// int
- public int amixdown;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct iso639_lang_t
- {
- public IntPtr eng_name;
-
- public IntPtr native_name;
-
- [MarshalAs(UnmanagedType.LPStr)]
- public string iso639_1;
-
- [MarshalAs(UnmanagedType.LPStr)]
- public string iso639_2;
-
- [MarshalAs(UnmanagedType.LPStr)]
- public string iso639_2b;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct qsv_enc_info_s
- {
- public int pic_struct;
- public int align_width;
- public int align_height;
- public int is_init_done;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct qsv_s
- {
- public int decode;
-
- public int async_depth;
-
- /// av_qsv_context*
- public IntPtr ctx;
-
- public qsv_enc_info_s enc_info;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_encoder_s
- {
- [MarshalAs(UnmanagedType.LPStr)]
- public string name;
-
- [MarshalAs(UnmanagedType.LPStr)]
- public string short_name;
-
- public int codec;
-
- public int muxers;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_container_s
- {
- [MarshalAs(UnmanagedType.LPStr)]
- public string name;
-
- [MarshalAs(UnmanagedType.LPStr)]
- public string short_name;
-
- [MarshalAs(UnmanagedType.LPStr)]
- public string default_extension;
-
- public int format;
- }
-
- [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
- public struct hb_metadata_s
- {
- /// char *
- [MarshalAs(UnmanagedType.LPStr)]
- public string name;
-
- /// char *
- [MarshalAs(UnmanagedType.LPStr)]
- public string artist;
-
- /// char *
- [MarshalAs(UnmanagedType.LPStr)]
- public string composer;
-
- /// char *
- [MarshalAs(UnmanagedType.LPStr)]
- public string release_date;
-
- /// char *
- [MarshalAs(UnmanagedType.LPStr)]
- public string comment;
-
- /// char *
- [MarshalAs(UnmanagedType.LPStr)]
- public string album;
-
- /// char *
- [MarshalAs(UnmanagedType.LPStr)]
- public string album_artist;
-
- /// char *
- [MarshalAs(UnmanagedType.LPStr)]
- public string genre;
-
- /// char *
- [MarshalAs(UnmanagedType.LPStr)]
- public string description;
-
- /// char *
- [MarshalAs(UnmanagedType.LPStr)]
- public string long_description;
-
- /// uint8_t*
- public IntPtr list_coverart;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_state_scanning_anon
- {
- public float progress;
-
- public int preview_cur;
-
- public int preview_count;
-
- /// int
- public int title_cur;
-
- /// int
- public int title_count;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_state_working_anon
- {
- /// float
- public float progress;
-
- /// int
- public int job_cur;
-
- /// int
- public int job_count;
-
- /// float
- public float rate_cur;
-
- /// float
- public float rate_avg;
-
- /// int
- public int hours;
-
- /// int
- public int minutes;
-
- /// int
- public int seconds;
-
- /// int
- public int sequence_id;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_state_workdone_anon
- {
- /// int
- public int error;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_state_muxing_anon
- {
- /// float
- public float progress;
- }
-
- [StructLayout(LayoutKind.Explicit)]
- public struct hb_state_param_u
- {
- [FieldOffset(0)]
- public hb_state_scanning_anon scanning;
-
- [FieldOffset(0)]
- public hb_state_working_anon working;
-
- [FieldOffset(0)]
- public hb_state_workdone_anon workdone;
-
- [FieldOffset(0)]
- public hb_state_muxing_anon muxing;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_state_s
- {
- /// int
- public int state;
- public hb_state_param_u param;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_fifo_s
- {
- /// hb_lock_t*
- public IntPtr @lock;
-
- /// uint32_t->unsigned int
- public uint capacity;
-
- /// uint32_t->unsigned int
- public uint size;
-
- /// uint32_t->unsigned int
- public uint buffer_size;
-
- /// hb_buffer_t*
- public IntPtr first;
-
- /// hb_buffer_t*
- public IntPtr last;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_lock_s
- {
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_mux_data_s
- {
- /// MP4TrackId->uint32_t->unsigned int
- public uint track;
-
- /// uint8_t->unsigned char
- public byte subtitle;
-
- /// int
- public int sub_format;
-
- /// uint64_t->unsigned int
- public ulong sum_dur;
- }
-
- // Not referred to anywhere
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_interjob_s
- {
- /// int
- public int last_job;
-
- /// int
- public int frame_count;
-
- public int out_frame_count;
-
- /// uint64_t->unsigned int
- public ulong total_time;
-
- /// int
- public int vrate;
-
- /// int
- public int vrate_base;
-
- /// hb_subtitle_t*
- public IntPtr select_subtitle;
- }
-
- /// Return Type: void
- ///param0: void*
- public delegate void hb_thread_s_function(IntPtr param0);
-
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_thread_s
- {
- /// char*
- [MarshalAs(UnmanagedType.LPStr)]
- public string name;
-
- /// int
- public int priority;
-
- /// hb_thread_s_function
- public hb_thread_s_function AnonymousMember1;
-
- /// void*
- public IntPtr arg;
-
- /// hb_lock_t*
- public IntPtr @lock;
-
- /// int
- public int exited;
-
- /// pthread_t->ptw32_handle_t->Anonymous_55c509b5_bbf2_4788_a684_ac1bd0056655
- public ptw32_handle_t thread;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- public struct ptw32_handle_t
- {
- /// void*
- public IntPtr p;
-
- /// unsigned int
- public uint x;
- }
-
- [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
- public delegate void LoggingCallback(string message);
-}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/NativeConstants.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/NativeConstants.cs
index 7d5d12a85..c3b7c28dc 100644
--- a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/NativeConstants.cs
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/NativeConstants.cs
@@ -10,62 +10,38 @@
namespace HandBrake.Interop.HbLib
{
- public partial class NativeConstants
+ public class NativeConstants
{
- // Audio Encoders
- public const uint HB_ACODEC_MASK = 0x00FFFF00;
- public const uint HB_ACODEC_FAAC = 0x00000100;
- public const uint HB_ACODEC_LAME = 0x00000200;
- public const uint HB_ACODEC_VORBIS = 0x00000400;
- public const uint HB_ACODEC_AC3 = 0x00000800;
- public const uint HB_ACODEC_LPCM = 0x00001000;
- public const uint HB_ACODEC_DCA = 0x00002000;
- public const uint HB_ACODEC_CA_AAC = 0x00004000;
- public const uint HB_ACODEC_CA_HAAC = 0x00008000;
- public const uint HB_ACODEC_FFAAC = 0x00010000;
- public const uint HB_ACODEC_FFMPEG = 0x00020000;
- public const uint HB_ACODEC_DCA_HD = 0x00040000;
- public const uint HB_ACODEC_MP3 = 0x00080000;
- public const uint HB_ACODEC_FFFLAC = 0x00100000;
- public const uint HB_ACODEC_FFFLAC24 = 0x00200000;
- public const uint HB_ACODEC_FDK_AAC = 0x00400000;
- public const uint HB_ACODEC_FDK_HAAC = 0x00800000;
- public const uint HB_ACODEC_FF_MASK = 0x00FF2000;
- public const uint HB_ACODEC_PASS_FLAG = 0x40000000;
- public const uint HB_ACODEC_PASS_MASK = (HB_ACODEC_MP3 | HB_ACODEC_FFAAC | HB_ACODEC_DCA_HD | HB_ACODEC_AC3 | HB_ACODEC_DCA);
- public const uint HB_ACODEC_AUTO_PASS = (HB_ACODEC_PASS_MASK | HB_ACODEC_PASS_FLAG);
- public const uint HB_ACODEC_MP3_PASS = (HB_ACODEC_MP3 | HB_ACODEC_PASS_FLAG);
- public const uint HB_ACODEC_AAC_PASS = (HB_ACODEC_FFAAC | HB_ACODEC_PASS_FLAG);
- public const uint HB_ACODEC_AC3_PASS = (HB_ACODEC_AC3 | HB_ACODEC_PASS_FLAG);
- public const uint HB_ACODEC_DCA_PASS = (HB_ACODEC_DCA | HB_ACODEC_PASS_FLAG);
- public const uint HB_ACODEC_DCA_HD_PASS = (HB_ACODEC_DCA_HD | HB_ACODEC_PASS_FLAG);
- public const uint HB_ACODEC_ANY = (HB_ACODEC_MASK | HB_ACODEC_PASS_FLAG);
-
- // Subtitle Types
- public const int HB_SUBSTREAM_BD_TRUEHD = 0x72;
- public const int HB_SUBSTREAM_BD_AC3 = 0x76;
- public const int HB_SUBSTREAM_BD_DTSHD = 0x72;
- public const int HB_SUBSTREAM_BD_DTS = 0x71;
-
- // Video Encoders
- public const int HB_VCODEC_MASK = 0x0000FFF;
- public const int HB_VCODEC_X264 = 0x000001;
- public const int HB_VCODEC_THEORA = 0x000002;
- public const int HB_VCODEC_FFMPEG_MPEG4 = 0x000010;
- public const int HB_VCODEC_FFMPEG = HB_VCODEC_FFMPEG_MPEG4;
- public const int HB_VCODEC_FFMPEG_MPEG2 = 0x000020;
- public const int HB_VCODEC_FFMPEG_MASK = 0x0000F0;
- public const int HB_VCODEC_QSV_H264 = 0x0000100;
- public const int HB_VCODEC_QSV_MASK = 0x0000F00;
- public const int HB_VCODEC_H264_MASK = (HB_VCODEC_X264 | HB_VCODEC_QSV_H264);
-
- // Muxers
- public const int HB_MUX_MASK = 0xFF0000;
- public const int HB_MUX_MP4 = 0x010000;
- public const int HB_MUX_MKV = 0x100000;
-
- public const int HBTF_NO_IDR = 1 << 0;
-
+ // Audio encoders
+ public const uint HB_ACODEC_MASK = 0x00FFFF00;
+ public const uint HB_ACODEC_FAAC = 0x00000100;
+ public const uint HB_ACODEC_LAME = 0x00000200;
+ public const uint HB_ACODEC_VORBIS = 0x00000400;
+ public const uint HB_ACODEC_AC3 = 0x00000800;
+ public const uint HB_ACODEC_LPCM = 0x00001000;
+ public const uint HB_ACODEC_DCA = 0x00002000;
+ public const uint HB_ACODEC_CA_AAC = 0x00004000;
+ public const uint HB_ACODEC_CA_HAAC = 0x00008000;
+ public const uint HB_ACODEC_FFAAC = 0x00010000;
+ public const uint HB_ACODEC_FFMPEG = 0x00020000;
+ public const uint HB_ACODEC_DCA_HD = 0x00040000;
+ public const uint HB_ACODEC_MP3 = 0x00080000;
+ public const uint HB_ACODEC_FFFLAC = 0x00100000;
+ public const uint HB_ACODEC_FFFLAC24 = 0x00200000;
+ public const uint HB_ACODEC_FDK_AAC = 0x00400000;
+ public const uint HB_ACODEC_FDK_HAAC = 0x00800000;
+ public const uint HB_ACODEC_FF_MASK = 0x00FF2000;
+ public const uint HB_ACODEC_PASS_FLAG = 0x40000000;
+ public const uint HB_ACODEC_PASS_MASK = (HB_ACODEC_MP3 | HB_ACODEC_FFAAC | HB_ACODEC_DCA_HD | HB_ACODEC_AC3 | HB_ACODEC_DCA);
+ public const uint HB_ACODEC_AUTO_PASS = (HB_ACODEC_PASS_MASK | HB_ACODEC_PASS_FLAG);
+ public const uint HB_ACODEC_MP3_PASS = (HB_ACODEC_MP3 | HB_ACODEC_PASS_FLAG);
+ public const uint HB_ACODEC_AAC_PASS = (HB_ACODEC_FFAAC | HB_ACODEC_PASS_FLAG);
+ public const uint HB_ACODEC_AC3_PASS = (HB_ACODEC_AC3 | HB_ACODEC_PASS_FLAG);
+ public const uint HB_ACODEC_DCA_PASS = (HB_ACODEC_DCA | HB_ACODEC_PASS_FLAG);
+ public const uint HB_ACODEC_DCA_HD_PASS = (HB_ACODEC_DCA_HD | HB_ACODEC_PASS_FLAG);
+ public const uint HB_ACODEC_ANY = (HB_ACODEC_MASK | HB_ACODEC_PASS_FLAG);
+
+ // Encode state
public const int HB_STATE_IDLE = 1;
public const int HB_STATE_SCANNING = 2;
public const int HB_STATE_SCANDONE = 4;
@@ -73,42 +49,5 @@ namespace HandBrake.Interop.HbLib
public const int HB_STATE_PAUSED = 16;
public const int HB_STATE_WORKDONE = 32;
public const int HB_STATE_MUXING = 64;
-
- public const int HB_ERROR_NONE = 0;
- public const int HB_ERROR_CANCELED = 1;
- public const int HB_ERROR_UNKNOWN = 2;
-
- public const int AUDIO_F_DOLBY = 1 << 31;
-
- public const int HB_FRAME_IDR = 0x01;
- public const int HB_FRAME_I = 0x02;
- public const int HB_FRAME_AUDIO = 0x04;
- public const int HB_FRAME_P = 0x10;
- public const int HB_FRAME_B = 0x20;
- public const int HB_FRAME_BREF = 0x40;
- public const int HB_FRAME_KEY = 0x0F;
- public const int HB_FRAME_REF = 0xF0;
-
- public const int HB_CONFIG_MAX_SIZE = 8192;
-
- // see https://developer.apple.com/quicktime/icefloe/dispatch019.html#colr
- public const int HB_COLR_PRI_BT709 = 1;
- public const int HB_COLR_PRI_UNDEF = 2;
- public const int HB_COLR_PRI_EBUTECH = 5; // use for bt470bg
- public const int HB_COLR_PRI_SMPTEC = 6; // smpte170m; also use for bt470m and smpte240m
- // 0, 3-4, 7-65535: reserved
- public const int HB_COLR_TRA_BT709 = 1; // also use for bt470m, bt470bg and smpte170m
- public const int HB_COLR_TRA_UNDEF = 2;
- public const int HB_COLR_TRA_SMPTE240M = 7;
- // 0, 3-6, 8-65535: reserved
- public const int HB_COLR_MAT_BT709 = 1;
- public const int HB_COLR_MAT_UNDEF = 2;
- public const int HB_COLR_MAT_SMPTE170M = 6; // also use for fcc and bt470bg
- public const int HB_COLR_MAT_SMPTE240M = 7;
- // 0, 3-5, 8-65535: reserved
-
- // hb_title_t.video_decode_support values (bit field)
- public const int HB_DECODE_SUPPORT_SW = 0x01; // software (libavcodec or mpeg2dec)
- public const int HB_DECODE_SUPPORT_QSV = 0x02; // Intel Quick Sync Video
}
}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_audio.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_audio.cs
index a598ccb80..72ed63483 100644
--- a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_audio.cs
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_audio.cs
@@ -76,22 +76,6 @@ namespace HandBrake.Interop.HbLib
public int delay;
}
- public enum hb_mixdown
- {
- HB_INVALID_AMIXDOWN = -1,
- HB_AMIXDOWN_NONE = 0,
- HB_AMIXDOWN_MONO,
- HB_AMIXDOWN_LEFT,
- HB_AMIXDOWN_RIGHT,
- HB_AMIXDOWN_STEREO,
- HB_AMIXDOWN_DOLBY,
- HB_AMIXDOWN_DOLBYPLII,
- HB_AMIXDOWN_5POINT1,
- HB_AMIXDOWN_6POINT1,
- HB_AMIXDOWN_7POINT1,
- HB_AMIXDOWN_5_2_LFE,
- }
-
[StructLayout(LayoutKind.Sequential)]
public struct hb_audio_config_input_s
{
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_container_s.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_container_s.cs
new file mode 100644
index 000000000..bb3a62f4f
--- /dev/null
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_container_s.cs
@@ -0,0 +1,26 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="hb_container_s.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <auto-generated>Disable Stylecop Warnings for this file</auto-generated>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.Interop.HbLib
+{
+ using System.Runtime.InteropServices;
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct hb_container_s
+ {
+ [MarshalAs(UnmanagedType.LPStr)]
+ public string name;
+
+ [MarshalAs(UnmanagedType.LPStr)]
+ public string short_name;
+
+ [MarshalAs(UnmanagedType.LPStr)]
+ public string default_extension;
+
+ public int format;
+ }
+}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_encoder_s.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_encoder_s.cs
new file mode 100644
index 000000000..76fe71a42
--- /dev/null
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_encoder_s.cs
@@ -0,0 +1,25 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="hb_encoder_s.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <auto-generated>Disable Stylecop Warnings for this file</auto-generated>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.Interop.HbLib
+{
+ using System.Runtime.InteropServices;
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct hb_encoder_s
+ {
+ [MarshalAs(UnmanagedType.LPStr)]
+ public string name;
+
+ [MarshalAs(UnmanagedType.LPStr)]
+ public string short_name;
+
+ public int codec;
+
+ public int muxers;
+ }
+}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_filter_ids.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_filter_ids.cs
new file mode 100644
index 000000000..3c56b7f75
--- /dev/null
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_filter_ids.cs
@@ -0,0 +1,29 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="hb_filter_ids.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <auto-generated> Disable Stylecop Warnings for this file </auto-generated>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.Interop.HbLib
+{
+ public enum hb_filter_ids
+ {
+ HB_FILTER_QSV_PRE = 1, // for QSV - important to have before other filters
+ // First, filters that may change the framerate (drop or dup frames)
+ HB_FILTER_DETELECINE,
+ HB_FILTER_DECOMB,
+ HB_FILTER_DEINTERLACE,
+ HB_FILTER_VFR,
+ // Filters that must operate on the original source image are next
+ HB_FILTER_DEBLOCK,
+ HB_FILTER_DENOISE,
+ HB_FILTER_RENDER_SUB,
+ HB_FILTER_CROP_SCALE,
+ // Finally filters that don't care what order they are in,
+ // except that they must be after the above filters
+ HB_FILTER_ROTATE,
+ HB_FILTER_QSV_POST, // for QSV - important to have as a last one
+ HB_FILTER_QSV, // default MSDK VPP filter
+ }
+}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_filter.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_filter_object_s.cs
index 8dbe88d20..1329b88ec 100644
--- a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_filter.cs
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_filter_object_s.cs
@@ -1,5 +1,5 @@
// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="hb_filter.cs" company="HandBrake Project (http://handbrake.fr)">
+// <copyright file="hb_filter_object_s.cs" company="HandBrake Project (http://handbrake.fr)">
// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
// </copyright>
// <auto-generated> Disable Stylecop Warnings for this file </auto-generated>
@@ -33,24 +33,4 @@ namespace HandBrake.Interop.HbLib
public int chapter_val;
public long chapter_time;
}
-
- public enum hb_filter_ids
- {
- HB_FILTER_QSV_PRE = 1, // for QSV - important to have before other filters
- // First, filters that may change the framerate (drop or dup frames)
- HB_FILTER_DETELECINE,
- HB_FILTER_DECOMB,
- HB_FILTER_DEINTERLACE,
- HB_FILTER_VFR,
- // Filters that must operate on the original source image are next
- HB_FILTER_DEBLOCK,
- HB_FILTER_DENOISE,
- HB_FILTER_RENDER_SUB,
- HB_FILTER_CROP_SCALE,
- // Finally filters that don't care what order they are in,
- // except that they must be after the above filters
- HB_FILTER_ROTATE,
- HB_FILTER_QSV_POST, // for QSV - important to have as a last one
- HB_FILTER_QSV, // default MSDK VPP filter
- }
}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_job_s.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_job_s.cs
index 94aa5a290..6d990dc67 100644
--- a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_job_s.cs
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_job_s.cs
@@ -175,4 +175,51 @@ namespace HandBrake.Interop.HbLib
[MarshalAs(UnmanagedType.ByValArray, SizeConst = MarshalingConstants.JobPaddingBytes, ArraySubType = UnmanagedType.U1)]
public byte[] padding;
}
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct hb_anamorphic_substruct
+ {
+ /// int
+ public int mode;
+
+ /// int
+ public int itu_par;
+
+ /// int
+ public int par_width;
+
+ /// int
+ public int par_height;
+
+ /// int
+ public int dar_width;
+
+ /// int
+ public int dar_height;
+
+ /// int
+ public int keep_display_aspect;
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct qsv_enc_info_s
+ {
+ public int pic_struct;
+ public int align_width;
+ public int align_height;
+ public int is_init_done;
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct qsv_s
+ {
+ public int decode;
+
+ public int async_depth;
+
+ /// av_qsv_context*
+ public IntPtr ctx;
+
+ public qsv_enc_info_s enc_info;
+ }
}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_list_s.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_list_s.cs
new file mode 100644
index 000000000..c7eb2d4ea
--- /dev/null
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_list_s.cs
@@ -0,0 +1,25 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="hb_list_s.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <auto-generated>Disable Stylecop Warnings for this file</auto-generated>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.Interop.HbLib
+{
+ using System;
+ using System.Runtime.InteropServices;
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct hb_list_s
+ {
+ /// void**
+ public IntPtr items;
+
+ /// int
+ public int items_alloc;
+
+ /// int
+ public int items_count;
+ }
+}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_mixdown_s.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_mixdown_s.cs
new file mode 100644
index 000000000..f7e70d0a9
--- /dev/null
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_mixdown_s.cs
@@ -0,0 +1,25 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="hb_mixdown_s.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <auto-generated>Disable Stylecop Warnings for this file</auto-generated>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.Interop.HbLib
+{
+ using System.Runtime.InteropServices;
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct hb_mixdown_s
+ {
+ [MarshalAs(UnmanagedType.LPStr)]
+ public string name;
+
+ /// char*
+ [MarshalAs(UnmanagedType.LPStr)]
+ public string short_name;
+
+ /// int
+ public int amixdown;
+ }
+}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_rate_s.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_rate_s.cs
new file mode 100644
index 000000000..3c8b23e16
--- /dev/null
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_rate_s.cs
@@ -0,0 +1,22 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="hb_rate_s.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <auto-generated>Disable Stylecop Warnings for this file</auto-generated>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.Interop.HbLib
+{
+ using System.Runtime.InteropServices;
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct hb_rate_s
+ {
+ /// char*
+ [MarshalAs(UnmanagedType.LPStr)]
+ public string name;
+
+ /// int
+ public int rate;
+ }
+}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_state_s.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_state_s.cs
new file mode 100644
index 000000000..bb82aad2b
--- /dev/null
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_state_s.cs
@@ -0,0 +1,96 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="hb_state_s.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <auto-generated>Disable Stylecop Warnings for this file</auto-generated>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.Interop.HbLib
+{
+ using System.Runtime.InteropServices;
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct hb_state_s
+ {
+ /// int
+ public int state;
+ public hb_state_param_u param;
+ }
+
+ [StructLayout(LayoutKind.Explicit)]
+ public struct hb_state_param_u
+ {
+ [FieldOffset(0)]
+ public hb_state_scanning_anon scanning;
+
+ [FieldOffset(0)]
+ public hb_state_working_anon working;
+
+ [FieldOffset(0)]
+ public hb_state_workdone_anon workdone;
+
+ [FieldOffset(0)]
+ public hb_state_muxing_anon muxing;
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct hb_state_scanning_anon
+ {
+ public float progress;
+
+ public int preview_cur;
+
+ public int preview_count;
+
+ /// int
+ public int title_cur;
+
+ /// int
+ public int title_count;
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct hb_state_working_anon
+ {
+ /// float
+ public float progress;
+
+ /// int
+ public int job_cur;
+
+ /// int
+ public int job_count;
+
+ /// float
+ public float rate_cur;
+
+ /// float
+ public float rate_avg;
+
+ /// int
+ public int hours;
+
+ /// int
+ public int minutes;
+
+ /// int
+ public int seconds;
+
+ /// int
+ public int sequence_id;
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct hb_state_workdone_anon
+ {
+ /// int
+ public int error;
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct hb_state_muxing_anon
+ {
+ /// float
+ public float progress;
+ }
+}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_subtitle.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_subtitle.cs
index b3a5af3e8..2821b2d1c 100644
--- a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_subtitle.cs
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_subtitle.cs
@@ -2,9 +2,6 @@
// <copyright file="hb_subtitle.cs" company="HandBrake Project (http://handbrake.fr)">
// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
// </copyright>
-// <summary>
-// Defines the hb_subtitle_s type.
-// </summary>
// <auto-generated> Disable Stylecop Warnings for this file </auto-generated>
// --------------------------------------------------------------------------------------------------------------------
@@ -87,37 +84,6 @@ namespace HandBrake.Interop.HbLib
public IntPtr mux_data;
}
- [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
- public struct hb_subtitle_config_s
- {
- /// hb_subtitle_config_s_subdest
- public hb_subtitle_config_s_subdest dest;
-
- /// int
- public int force;
-
- /// int
- public int default_track;
-
- /// char[128]
- [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
- public string src_filename;
-
- /// char[40]
- [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 40)]
- public string src_codeset;
-
- /// int64_t->int
- public long offset;
- }
-
- public enum hb_subtitle_config_s_subdest
- {
- RENDERSUB,
-
- PASSTHRUSUB,
- }
-
public enum hb_subtitle_s_subtype
{
PICTURESUB,
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_subtitle_config_s.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_subtitle_config_s.cs
new file mode 100644
index 000000000..2e3502a24
--- /dev/null
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_subtitle_config_s.cs
@@ -0,0 +1,42 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="hb_subtitle_config_s.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <auto-generated> Disable Stylecop Warnings for this file </auto-generated>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.Interop.HbLib
+{
+ using System.Runtime.InteropServices;
+
+ [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
+ public struct hb_subtitle_config_s
+ {
+ /// hb_subtitle_config_s_subdest
+ public hb_subtitle_config_s_subdest dest;
+
+ /// int
+ public int force;
+
+ /// int
+ public int default_track;
+
+ /// char[128]
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
+ public string src_filename;
+
+ /// char[40]
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 40)]
+ public string src_codeset;
+
+ /// int64_t->int
+ public long offset;
+ }
+
+ public enum hb_subtitle_config_s_subdest
+ {
+ RENDERSUB,
+
+ PASSTHRUSUB,
+ }
+}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_s.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_s.cs
index 4852d7044..c20107aa5 100644
--- a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_s.cs
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_s.cs
@@ -2,9 +2,6 @@
// <copyright file="hb_title_s.cs" company="HandBrake Project (http://handbrake.fr)">
// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
// </copyright>
-// <summary>
-// Defines the hb_title_s type.
-// </summary>
// <auto-generated> Disable Stylecop Warnings for this file </auto-generated>
// --------------------------------------------------------------------------------------------------------------------
@@ -163,16 +160,6 @@ namespace HandBrake.Interop.HbLib
public uint flags;
}
- [StructLayout(LayoutKind.Sequential)]
- public struct hb_title_set_s
- {
- ///hb_list_t *
- public IntPtr list_title;
-
- // int
- public int feature;
- }
-
public enum hb_title_type_anon
{
HB_DVD_TYPE,
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_set_s.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_set_s.cs
new file mode 100644
index 000000000..087e7cde4
--- /dev/null
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_set_s.cs
@@ -0,0 +1,22 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="hb_title_set_s.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <auto-generated> Disable Stylecop Warnings for this file </auto-generated>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.Interop.HbLib
+{
+ using System;
+ using System.Runtime.InteropServices;
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct hb_title_set_s
+ {
+ ///hb_list_t *
+ public IntPtr list_title;
+
+ // int
+ public int feature;
+ }
+}
diff --git a/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/iso639_lang_t.cs b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/iso639_lang_t.cs
new file mode 100644
index 000000000..a1b8efc70
--- /dev/null
+++ b/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/iso639_lang_t.cs
@@ -0,0 +1,29 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="iso639_lang_t.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <auto-generated>Disable Stylecop Warnings for this file</auto-generated>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.Interop.HbLib
+{
+ using System;
+ using System.Runtime.InteropServices;
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct iso639_lang_t
+ {
+ public IntPtr eng_name;
+
+ public IntPtr native_name;
+
+ [MarshalAs(UnmanagedType.LPStr)]
+ public string iso639_1;
+
+ [MarshalAs(UnmanagedType.LPStr)]
+ public string iso639_2;
+
+ [MarshalAs(UnmanagedType.LPStr)]
+ public string iso639_2b;
+ }
+}