// --------------------------------------------------------------------------------------------------------------------
//
// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
//
// Disable Stylecop Warnings for this file
// --------------------------------------------------------------------------------------------------------------------
namespace HandBrake.Interop.HbLib
{
using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct hb_title_s
{
/// Anonymous_990d28ea_6cf3_4fbc_8143_4df9513e9550
public hb_title_type_anon type;
public uint reg_desc;
/// char[1024]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 1024)]
public byte[] path;
/// char[1024]
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1024)]
public string name;
/// int
public int index;
public int playlist;
/// int
public int vts;
/// int
public int ttn;
/// int
public int cell_start;
/// int
public int cell_end;
/// int
public ulong block_start;
/// int
public ulong block_end;
/// int
public ulong block_count;
/// int
public int angle_count;
public IntPtr opaque_priv;
/// int
public int hours;
/// int
public int minutes;
/// int
public int seconds;
/// uint64_t->unsigned int
public ulong duration;
public int has_resolution_change;
public hb_geometry_s geometry;
public hb_rational_t dar;
public hb_rational_t container_dar;
public int color_prim;
public int color_transfer;
public int color_matrix;
/// int
public hb_rational_t vrate;
/// int[4]
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4, ArraySubType = UnmanagedType.I4)]
public int[] crop;
public hb_title_demuxer_anon demuxer;
/// int
public int detected_interlacing;
public int pcr_pid;
/// int
public int video_id;
/// int
public int video_codec;
public uint video_stream_type;
/// int
public int video_codec_param;
/// char*
[MarshalAs(UnmanagedType.LPStr)]
public string video_codec_name;
/// int
public int video_bitrate;
/// char*
[MarshalAs(UnmanagedType.LPStr)]
public string container_name;
/// int
public int data_rate;
/// int
public int video_decode_support;
/// hb_metadata_t*
public IntPtr metadata;
/// hb_list_t*
public IntPtr list_chapter;
/// hb_list_t*
public IntPtr list_audio;
/// hb_list_t*
public IntPtr list_subtitle;
/// hb_list_t*
public IntPtr list_attachment;
/// hb_job_t*
public IntPtr job;
/// uint32_t->unsigned int
public uint flags;
public int opencl_support;
public int hwd_support;
}
public enum hb_title_type_anon
{
HB_DVD_TYPE,
HB_BD_TYPE,
HB_STREAM_TYPE,
HB_FF_STREAM_TYPE,
}
public enum hb_title_demuxer_anon
{
HB_DVD_DEMUXER = 0,
HB_TS_DEMUXER,
HB_PS_DEMUXER,
HB_NULL_DEMUXER,
}
}