Subversion Repositories Kolibri OS

Rev

Rev 3391 | Rev 5056 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3391 Rev 4103
Line 16... Line 16...
16
	HDMI_INFOFRAME_TYPE_AVI = 0x82,
16
	HDMI_INFOFRAME_TYPE_AVI = 0x82,
17
	HDMI_INFOFRAME_TYPE_SPD = 0x83,
17
	HDMI_INFOFRAME_TYPE_SPD = 0x83,
18
	HDMI_INFOFRAME_TYPE_AUDIO = 0x84,
18
	HDMI_INFOFRAME_TYPE_AUDIO = 0x84,
19
};
19
};
Line -... Line 20...
-
 
20
 
20
 
21
#define HDMI_IEEE_OUI 0x000c03
21
#define HDMI_INFOFRAME_HEADER_SIZE  4
22
#define HDMI_INFOFRAME_HEADER_SIZE  4
22
#define HDMI_AVI_INFOFRAME_SIZE    13
23
#define HDMI_AVI_INFOFRAME_SIZE    13
23
#define HDMI_SPD_INFOFRAME_SIZE    25
24
#define HDMI_SPD_INFOFRAME_SIZE    25
Line -... Line 25...
-
 
25
#define HDMI_AUDIO_INFOFRAME_SIZE  10
-
 
26
 
-
 
27
#define HDMI_INFOFRAME_SIZE(type)	\
-
 
28
	(HDMI_INFOFRAME_HEADER_SIZE + HDMI_ ## type ## _INFOFRAME_SIZE)
-
 
29
 
-
 
30
struct hdmi_any_infoframe {
-
 
31
	enum hdmi_infoframe_type type;
-
 
32
	unsigned char version;
-
 
33
	unsigned char length;
24
#define HDMI_AUDIO_INFOFRAME_SIZE  10
34
};
25
 
35
 
26
enum hdmi_colorspace {
36
enum hdmi_colorspace {
27
	HDMI_COLORSPACE_RGB,
37
	HDMI_COLORSPACE_RGB,
28
	HDMI_COLORSPACE_YUV422,
38
	HDMI_COLORSPACE_YUV422,
Line 98... Line 108...
98
struct hdmi_avi_infoframe {
108
struct hdmi_avi_infoframe {
99
	enum hdmi_infoframe_type type;
109
	enum hdmi_infoframe_type type;
100
	unsigned char version;
110
	unsigned char version;
101
	unsigned char length;
111
	unsigned char length;
102
	enum hdmi_colorspace colorspace;
112
	enum hdmi_colorspace colorspace;
103
	bool active_info_valid;
-
 
104
	bool horizontal_bar_valid;
-
 
105
	bool vertical_bar_valid;
-
 
106
	enum hdmi_scan_mode scan_mode;
113
	enum hdmi_scan_mode scan_mode;
107
	enum hdmi_colorimetry colorimetry;
114
	enum hdmi_colorimetry colorimetry;
108
	enum hdmi_picture_aspect picture_aspect;
115
	enum hdmi_picture_aspect picture_aspect;
109
	enum hdmi_active_aspect active_aspect;
116
	enum hdmi_active_aspect active_aspect;
110
	bool itc;
117
	bool itc;
Line 216... Line 223...
216
 
223
 
217
int hdmi_audio_infoframe_init(struct hdmi_audio_infoframe *frame);
224
int hdmi_audio_infoframe_init(struct hdmi_audio_infoframe *frame);
218
ssize_t hdmi_audio_infoframe_pack(struct hdmi_audio_infoframe *frame,
225
ssize_t hdmi_audio_infoframe_pack(struct hdmi_audio_infoframe *frame,
Line -... Line 226...
-
 
226
				  void *buffer, size_t size);
-
 
227
 
-
 
228
enum hdmi_3d_structure {
-
 
229
	HDMI_3D_STRUCTURE_INVALID = -1,
-
 
230
	HDMI_3D_STRUCTURE_FRAME_PACKING = 0,
-
 
231
	HDMI_3D_STRUCTURE_FIELD_ALTERNATIVE,
-
 
232
	HDMI_3D_STRUCTURE_LINE_ALTERNATIVE,
-
 
233
	HDMI_3D_STRUCTURE_SIDE_BY_SIDE_FULL,
-
 
234
	HDMI_3D_STRUCTURE_L_DEPTH,
-
 
235
	HDMI_3D_STRUCTURE_L_DEPTH_GFX_GFX_DEPTH,
-
 
236
	HDMI_3D_STRUCTURE_TOP_AND_BOTTOM,
-
 
237
	HDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF = 8,
-
 
238
};
219
				  void *buffer, size_t size);
239
 
220
 
240
 
221
struct hdmi_vendor_infoframe {
241
struct hdmi_vendor_infoframe {
222
	enum hdmi_infoframe_type type;
242
	enum hdmi_infoframe_type type;
-
 
243
	unsigned char version;
223
	unsigned char version;
244
	unsigned char length;
-
 
245
	unsigned int oui;
-
 
246
	u8 vic;
224
	unsigned char length;
247
	enum hdmi_3d_structure s3d_struct;
Line -... Line 248...
-
 
248
	unsigned int s3d_ext_data;
225
	u8 data[27];
249
};
226
};
250
 
Line -... Line 251...
-
 
251
int hdmi_vendor_infoframe_init(struct hdmi_vendor_infoframe *frame);
-
 
252
ssize_t hdmi_vendor_infoframe_pack(struct hdmi_vendor_infoframe *frame,
-
 
253
				   void *buffer, size_t size);
-
 
254
 
-
 
255
union hdmi_vendor_any_infoframe {
-
 
256
	struct {
-
 
257
		enum hdmi_infoframe_type type;
-
 
258
		unsigned char version;
-
 
259
		unsigned char length;
-
 
260
		unsigned int oui;
-
 
261
	} any;
-
 
262
	struct hdmi_vendor_infoframe hdmi;
-
 
263
};
-
 
264
 
-
 
265
union hdmi_infoframe {
-
 
266
	struct hdmi_any_infoframe any;
-
 
267
	struct hdmi_avi_infoframe avi;
-
 
268
	struct hdmi_spd_infoframe spd;
-
 
269
	union hdmi_vendor_any_infoframe vendor;
-
 
270
	struct hdmi_audio_infoframe audio;
-
 
271
};
227
 
272