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 |