summaryrefslogtreecommitdiffstats
path: root/win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_title_s.cs
blob: a3152c4be4fd812520e2e96cf6be79a477ad89fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
// --------------------------------------------------------------------------------------------------------------------
// <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>
// <auto-generated> Disable Stylecop Warnings for this file  </auto-generated>
// --------------------------------------------------------------------------------------------------------------------

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;

		/// double
		public double aspect;

		/// double
		public double container_aspect;

		public int has_resolution_change;

		/// int
		public int width;

		/// int
		public int height;

		/// int
		public int pixel_aspect_width;

		/// int
		public int pixel_aspect_height;

		public int color_prim;
		public int color_transfer; 
		public int color_matrix; 

		/// int
		public int rate;

		/// int
		public int rate_base;

		/// 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_MPEG_DEMUXER,

		HB_NULL_DEMUXER,
	}
}