// -------------------------------------------------------------------------------------------------------------------- // // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. // // // Defines the hb_anamorphic_substruct type. // // Disable Stylecop Warnings for this file // -------------------------------------------------------------------------------------------------------------------- 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 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); }