Rev 5270 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5270 | Rev 6082 | ||
---|---|---|---|
Line 23... | Line 23... | ||
23 | 23 | ||
24 | #ifndef __LINUX_HDMI_H_ |
24 | #ifndef __LINUX_HDMI_H_ |
Line 25... | Line 25... | ||
25 | #define __LINUX_HDMI_H_ |
25 | #define __LINUX_HDMI_H_ |
- | 26 | ||
Line 26... | Line 27... | ||
26 | 27 | #include |
|
27 | #include |
28 | #include |
28 | 29 | ||
29 | enum hdmi_infoframe_type { |
30 | enum hdmi_infoframe_type { |
Line 50... | Line 51... | ||
50 | 51 | ||
51 | enum hdmi_colorspace { |
52 | enum hdmi_colorspace { |
52 | HDMI_COLORSPACE_RGB, |
53 | HDMI_COLORSPACE_RGB, |
53 | HDMI_COLORSPACE_YUV422, |
54 | HDMI_COLORSPACE_YUV422, |
- | 55 | HDMI_COLORSPACE_YUV444, |
|
- | 56 | HDMI_COLORSPACE_YUV420, |
|
- | 57 | HDMI_COLORSPACE_RESERVED4, |
|
- | 58 | HDMI_COLORSPACE_RESERVED5, |
|
- | 59 | HDMI_COLORSPACE_RESERVED6, |
|
54 | HDMI_COLORSPACE_YUV444, |
60 | HDMI_COLORSPACE_IDO_DEFINED, |
Line 55... | Line 61... | ||
55 | }; |
61 | }; |
56 | 62 | ||
57 | enum hdmi_scan_mode { |
63 | enum hdmi_scan_mode { |
58 | HDMI_SCAN_MODE_NONE, |
64 | HDMI_SCAN_MODE_NONE, |
- | 65 | HDMI_SCAN_MODE_OVERSCAN, |
|
59 | HDMI_SCAN_MODE_OVERSCAN, |
66 | HDMI_SCAN_MODE_UNDERSCAN, |
Line 60... | Line 67... | ||
60 | HDMI_SCAN_MODE_UNDERSCAN, |
67 | HDMI_SCAN_MODE_RESERVED, |
61 | }; |
68 | }; |
62 | 69 | ||
Line 69... | Line 76... | ||
69 | 76 | ||
70 | enum hdmi_picture_aspect { |
77 | enum hdmi_picture_aspect { |
71 | HDMI_PICTURE_ASPECT_NONE, |
78 | HDMI_PICTURE_ASPECT_NONE, |
72 | HDMI_PICTURE_ASPECT_4_3, |
79 | HDMI_PICTURE_ASPECT_4_3, |
- | 80 | HDMI_PICTURE_ASPECT_16_9, |
|
73 | HDMI_PICTURE_ASPECT_16_9, |
81 | HDMI_PICTURE_ASPECT_RESERVED, |
Line 74... | Line 82... | ||
74 | }; |
82 | }; |
75 | 83 | ||
76 | enum hdmi_active_aspect { |
84 | enum hdmi_active_aspect { |
Line 90... | Line 98... | ||
90 | HDMI_EXTENDED_COLORIMETRY_XV_YCC_601, |
98 | HDMI_EXTENDED_COLORIMETRY_XV_YCC_601, |
91 | HDMI_EXTENDED_COLORIMETRY_XV_YCC_709, |
99 | HDMI_EXTENDED_COLORIMETRY_XV_YCC_709, |
92 | HDMI_EXTENDED_COLORIMETRY_S_YCC_601, |
100 | HDMI_EXTENDED_COLORIMETRY_S_YCC_601, |
93 | HDMI_EXTENDED_COLORIMETRY_ADOBE_YCC_601, |
101 | HDMI_EXTENDED_COLORIMETRY_ADOBE_YCC_601, |
94 | HDMI_EXTENDED_COLORIMETRY_ADOBE_RGB, |
102 | HDMI_EXTENDED_COLORIMETRY_ADOBE_RGB, |
- | 103 | ||
- | 104 | /* The following EC values are only defined in CEA-861-F. */ |
|
- | 105 | HDMI_EXTENDED_COLORIMETRY_BT2020_CONST_LUM, |
|
- | 106 | HDMI_EXTENDED_COLORIMETRY_BT2020, |
|
- | 107 | HDMI_EXTENDED_COLORIMETRY_RESERVED, |
|
95 | }; |
108 | }; |
Line 96... | Line 109... | ||
96 | 109 | ||
97 | enum hdmi_quantization_range { |
110 | enum hdmi_quantization_range { |
98 | HDMI_QUANTIZATION_RANGE_DEFAULT, |
111 | HDMI_QUANTIZATION_RANGE_DEFAULT, |
99 | HDMI_QUANTIZATION_RANGE_LIMITED, |
112 | HDMI_QUANTIZATION_RANGE_LIMITED, |
- | 113 | HDMI_QUANTIZATION_RANGE_FULL, |
|
100 | HDMI_QUANTIZATION_RANGE_FULL, |
114 | HDMI_QUANTIZATION_RANGE_RESERVED, |
Line 101... | Line 115... | ||
101 | }; |
115 | }; |
102 | 116 | ||
103 | /* non-uniform picture scaling */ |
117 | /* non-uniform picture scaling */ |
Line 112... | Line 126... | ||
112 | HDMI_YCC_QUANTIZATION_RANGE_LIMITED, |
126 | HDMI_YCC_QUANTIZATION_RANGE_LIMITED, |
113 | HDMI_YCC_QUANTIZATION_RANGE_FULL, |
127 | HDMI_YCC_QUANTIZATION_RANGE_FULL, |
114 | }; |
128 | }; |
Line 115... | Line 129... | ||
115 | 129 | ||
116 | enum hdmi_content_type { |
130 | enum hdmi_content_type { |
117 | HDMI_CONTENT_TYPE_NONE, |
131 | HDMI_CONTENT_TYPE_GRAPHICS, |
118 | HDMI_CONTENT_TYPE_PHOTO, |
132 | HDMI_CONTENT_TYPE_PHOTO, |
119 | HDMI_CONTENT_TYPE_CINEMA, |
133 | HDMI_CONTENT_TYPE_CINEMA, |
120 | HDMI_CONTENT_TYPE_GAME, |
134 | HDMI_CONTENT_TYPE_GAME, |
Line 192... | Line 206... | ||
192 | HDMI_AUDIO_CODING_TYPE_EAC3, |
206 | HDMI_AUDIO_CODING_TYPE_EAC3, |
193 | HDMI_AUDIO_CODING_TYPE_DTS_HD, |
207 | HDMI_AUDIO_CODING_TYPE_DTS_HD, |
194 | HDMI_AUDIO_CODING_TYPE_MLP, |
208 | HDMI_AUDIO_CODING_TYPE_MLP, |
195 | HDMI_AUDIO_CODING_TYPE_DST, |
209 | HDMI_AUDIO_CODING_TYPE_DST, |
196 | HDMI_AUDIO_CODING_TYPE_WMA_PRO, |
210 | HDMI_AUDIO_CODING_TYPE_WMA_PRO, |
- | 211 | HDMI_AUDIO_CODING_TYPE_CXT, |
|
197 | }; |
212 | }; |
Line 198... | Line 213... | ||
198 | 213 | ||
199 | enum hdmi_audio_sample_size { |
214 | enum hdmi_audio_sample_size { |
200 | HDMI_AUDIO_SAMPLE_SIZE_STREAM, |
215 | HDMI_AUDIO_SAMPLE_SIZE_STREAM, |
Line 213... | Line 228... | ||
213 | HDMI_AUDIO_SAMPLE_FREQUENCY_176400, |
228 | HDMI_AUDIO_SAMPLE_FREQUENCY_176400, |
214 | HDMI_AUDIO_SAMPLE_FREQUENCY_192000, |
229 | HDMI_AUDIO_SAMPLE_FREQUENCY_192000, |
215 | }; |
230 | }; |
Line 216... | Line 231... | ||
216 | 231 | ||
- | 232 | enum hdmi_audio_coding_type_ext { |
|
217 | enum hdmi_audio_coding_type_ext { |
233 | /* Refer to Audio Coding Type (CT) field in Data Byte 1 */ |
- | 234 | HDMI_AUDIO_CODING_TYPE_EXT_CT, |
|
- | 235 | ||
- | 236 | /* |
|
- | 237 | * The next three CXT values are defined in CEA-861-E only. |
|
- | 238 | * They do not exist in older versions, and in CEA-861-F they are |
|
- | 239 | * defined as 'Not in use'. |
|
218 | HDMI_AUDIO_CODING_TYPE_EXT_STREAM, |
240 | */ |
219 | HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC, |
241 | HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC, |
220 | HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC_V2, |
242 | HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC_V2, |
- | 243 | HDMI_AUDIO_CODING_TYPE_EXT_MPEG_SURROUND, |
|
- | 244 | ||
- | 245 | /* The following CXT values are only defined in CEA-861-F. */ |
|
- | 246 | HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC, |
|
- | 247 | HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_V2, |
|
- | 248 | HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC, |
|
- | 249 | HDMI_AUDIO_CODING_TYPE_EXT_DRA, |
|
- | 250 | HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_SURROUND, |
|
221 | HDMI_AUDIO_CODING_TYPE_EXT_MPEG_SURROUND, |
251 | HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC_SURROUND = 10, |
Line 222... | Line 252... | ||
222 | }; |
252 | }; |
223 | 253 | ||
224 | struct hdmi_audio_infoframe { |
254 | struct hdmi_audio_infoframe { |
Line 297... | Line 327... | ||
297 | struct hdmi_audio_infoframe audio; |
327 | struct hdmi_audio_infoframe audio; |
298 | }; |
328 | }; |
Line 299... | Line 329... | ||
299 | 329 | ||
300 | ssize_t |
330 | ssize_t |
- | 331 | hdmi_infoframe_pack(union hdmi_infoframe *frame, void *buffer, size_t size); |
|
- | 332 | int hdmi_infoframe_unpack(union hdmi_infoframe *frame, void *buffer); |
|
- | 333 | void hdmi_infoframe_log(const char *level, struct device *dev, |
|
Line 301... | Line 334... | ||
301 | hdmi_infoframe_pack(union hdmi_infoframe *frame, void *buffer, size_t size); |
334 | union hdmi_infoframe *frame); |