14 #define HDMI_EC_XVYCC601 0x00 15 #define HDMI_EC_XVYCC709 0x01 16 #define HDMI_EC_SYCC601 0x02 17 #define HDMI_EC_ADOBEYCC601 0x03 18 #define HDMI_EC_ADOBERGB 0x04 20 #define HDMI_YQ_LIMITED_RANGE 0x00 21 #define HDMI_YQ_FULL_RANGE 0x01 23 #define HDMI_CN_NONE_OR_GRAPHICS 0x00 24 #define HDMI_CN_PHOTO 0x01 25 #define HDMI_CN_CINEMA 0x02 26 #define HDMI_CN_GAME 0x03 34 uint32_t dwFrameDuration;
38 { 0, 0,
false, 0, 0, 0 },
39 { 640, 480,
false, 4, 3, 166667 },
40 { 720, 480,
false, 4, 3, 166667 },
41 { 720, 480,
false, 16, 9, 166667 },
42 { 1280, 720,
false, 16, 9, 166667 },
43 { 1920, 1080,
true, 16, 9, 333333 },
44 { 720, 480,
true, 4, 3, 333333 },
45 { 720, 480,
true, 16, 9, 333333 },
46 { 720, 240,
false, 4, 3, 166667 },
47 { 720, 240,
false, 16, 9, 166667 },
48 { 2880, 480,
true, 4, 3, 333333 },
49 { 2880, 480,
true, 16, 9, 333333 },
50 { 2880, 240,
false, 4, 3, 166667 },
51 { 2880, 240,
false, 16, 9, 166667 },
52 { 1440, 480,
false, 4, 3, 166667 },
53 { 1440, 480,
false, 16, 9, 166667 },
54 { 1920, 1080,
false, 16, 9, 166667 },
55 { 720, 576,
false, 4, 3, 200000 },
56 { 720, 576,
false, 16, 9, 200000 },
57 { 1280, 720,
false, 16, 9, 200000 },
58 { 1920, 1080,
true, 16, 9, 400000 },
59 { 720, 576,
true, 4, 3, 400000 },
60 { 720, 576,
true, 16, 9, 400000 },
61 { 720, 288,
false, 4, 3, 200000 },
62 { 720, 288,
false, 16, 9, 200000 },
63 { 2880, 576,
true, 4, 3, 400000 },
64 { 2880, 576,
true, 4, 3, 400000 },
65 { 2880, 288,
false, 4, 3, 200000 },
66 { 2880, 288,
false, 16, 9, 200000 },
67 { 1440, 576,
false, 4, 3, 200000 },
68 { 1440, 576,
false, 16, 9, 200000 },
69 { 1920, 1080,
false, 16, 9, 200000 },
70 { 1920, 1080,
false, 16, 9, 416667 },
71 { 1920, 1080,
false, 16, 9, 400000 },
72 { 1920, 1080,
false, 16, 9, 333333 },
73 { 2880, 480,
false, 4, 3, 166667 },
74 { 2880, 480,
false, 16, 9, 166667 },
75 { 2880, 576,
false, 4, 3, 200000 },
76 { 2880, 576,
false, 16, 9, 200000 },
77 { 1920, 1080,
true, 16, 9, 400000 },
78 { 1920, 1080,
true, 16, 9, 200000 },
79 { 1280, 720,
false, 16, 9, 100000 },
80 { 720, 576,
false, 4, 3, 100000 },
81 { 720, 576,
false, 16, 9, 100000 },
82 { 720, 576,
true, 4, 3, 200000 },
83 { 720, 576,
true, 16, 9, 200000 },
84 { 1920, 1080,
true, 16, 9, 166667 },
85 { 1280, 720,
false, 16, 9, 83333 },
86 { 720, 480,
false, 4, 3, 83333 },
87 { 720, 480,
false, 16, 9, 83333 },
88 { 720, 480,
true, 4, 3, 166667 },
89 { 720, 480,
true, 16, 9, 166667 },
90 { 720, 576,
false, 4, 3, 50000 },
91 { 720, 576,
false, 16, 9, 50000 },
92 { 720, 576,
true, 4, 3, 100000 },
93 { 720, 576,
true, 16, 9, 100000 },
94 { 720, 480,
false, 4, 3, 41667 },
95 { 720, 480,
false, 16, 9, 41667 },
96 { 720, 480,
true, 4, 3, 83333 },
97 { 720, 480,
true, 16, 9, 83333 },
98 { 1280, 720,
false, 16, 9, 416667 },
99 { 1280, 720,
false, 16, 9, 400000 },
100 { 1280, 720,
false, 16, 9, 333333 },
101 { 1920, 1080,
false, 16, 9, 83333 },
102 { 1920, 1080,
false, 16, 9, 100000 },
103 { 1280, 720,
false, 64, 27, 416667 },
104 { 1280, 720,
false, 64, 27, 400000 },
105 { 1280, 720,
false, 64, 27, 333333 },
106 { 1280, 720,
false, 64, 27, 200000 },
107 { 1280, 720,
false, 64, 27, 166667 },
108 { 1280, 720,
false, 64, 27, 100000 },
109 { 1280, 720,
false, 64, 27, 83333 },
110 { 1920, 1080,
false, 64, 27, 416667 },
111 { 1920, 1080,
false, 64, 27, 400000 },
112 { 1920, 1080,
false, 64, 27, 333333 },
113 { 1920, 1080,
false, 64, 27, 200000 },
114 { 1920, 1080,
false, 64, 27, 166667 },
115 { 1920, 1080,
false, 64, 27, 100000 },
116 { 1920, 1080,
false, 64, 27, 83333 },
117 { 1780, 720,
false, 64, 27, 416667 },
118 { 1780, 720,
false, 64, 27, 400000 },
119 { 1780, 720,
false, 64, 27, 333333 },
120 { 1780, 720,
false, 64, 27, 200000 },
121 { 1780, 720,
false, 64, 27, 166667 },
122 { 1780, 720,
false, 64, 27, 100000 },
123 { 1780, 720,
false, 64, 27, 83333 },
124 { 2560, 1080,
false, 64, 27, 416667 },
125 { 2560, 1080,
false, 64, 27, 400000 },
126 { 2560, 1080,
false, 64, 27, 333333 },
127 { 2560, 1080,
false, 64, 27, 200000 },
128 { 2560, 1080,
false, 64, 27, 166667 },
129 { 2560, 1080,
false, 64, 27, 100000 },
130 { 2560, 1080,
false, 64, 27, 83333 },
131 { 3840, 2160,
false, 16, 9, 416667 },
132 { 3840, 2160,
false, 16, 9, 400000 },
133 { 3840, 2160,
false, 16, 9, 333333 },
134 { 3840, 2160,
false, 16, 9, 200000 },
135 { 3840, 2160,
false, 16, 9, 166667 },
136 { 4096, 2160,
false, 256, 135, 416667 },
137 { 4096, 2160,
false, 256, 135, 400000 },
138 { 4096, 2160,
false, 256, 135, 333333 },
139 { 4096, 2160,
false, 256, 135, 200000 },
140 { 4096, 2160,
false, 256, 135, 166667 },
141 { 3840, 2160,
false, 64, 27, 416667 },
142 { 3840, 2160,
false, 64, 27, 400000 },
143 { 3840, 2160,
false, 64, 27, 333333 },
144 { 3840, 2160,
false, 64, 27, 200000 },
145 { 3840, 2160,
false, 64, 27, 166667 }
148 static const uint8_t g_abyDefaultYUV709VICs[] = {
149 0, 1, 4, 5, 16, 19, 20, 31, 32, 33, 34, 39, 40, 46, 47, 60, 61, 62, 63, 64
154 uint8_t byScanInfo : 2;
155 uint8_t byBarDataPresent : 2;
156 uint8_t byActiveFormatInfoPresent : 1;
157 uint8_t byRGB_YCbCr : 2;
158 uint8_t byFutureUseByte1 : 1;
160 uint8_t byActivePortionAspectRatio : 4;
161 uint8_t byCodedFrameAspectRatio : 2;
162 uint8_t byColorimetry : 2;
164 uint8_t byNonUniformPictureScaling : 2;
165 uint8_t byRGBQuantizationRange : 2;
166 uint8_t byExtendedColorimetry : 3;
167 uint8_t byITContent : 1;
170 uint8_t byFutureUseByte4 : 1;
172 uint8_t byPixelRepetitionFactor : 4;
173 uint8_t byITContentType : 2;
174 uint8_t byYCCQuantizationRange : 2;
176 uint16_t wEndOfTopBar;
177 uint16_t wStartOfBottomBar;
178 uint16_t wEndOfLeftBar;
179 uint16_t wStartOfRightBar;
183 #define HDMI_AUDIO_CODING_TYPE_STREAM 0x00 184 #define HDMI_AUDIO_CODING_TYPE_PCM 0x01 185 #define HDMI_AUDIO_CODING_TYPE_AC3 0x02 186 #define HDMI_AUDIO_CODING_TYPE_MPEG1 0x03 187 #define HDMI_AUDIO_CODING_TYPE_MP3 0x04 188 #define HDMI_AUDIO_CODING_TYPE_MPEG2 0x05 189 #define HDMI_AUDIO_CODING_TYPE_AAC_LC 0x06 190 #define HDMI_AUDIO_CODING_TYPE_DTS 0x07 191 #define HDMI_AUDIO_CODING_TYPE_ATRAC 0x08 192 #define HDMI_AUDIO_CODING_TYPE_DSD 0x09 193 #define HDMI_AUDIO_CODING_TYPE_EAC3 0x0A 194 #define HDMI_AUDIO_CODING_TYPE_DTS_HD 0x0B 196 #define HDMI_AUDIO_SAMPLE_SIZE_STREAM 0x00 197 #define HDMI_AUDIO_SAMPLE_SIZE_16BIT 0x01 198 #define HDMI_AUDIO_SAMPLE_SIZE_20BIT 0x02 199 #define HDMI_AUDIO_SAMPLE_SIZE_24BIT 0x03 201 #define HDMI_AUDIO_SAMPLE_RATE_STREAM 0x00 202 #define HDMI_AUDIO_SAMPLE_RATE_32000 0x01 203 #define HDMI_AUDIO_SAMPLE_RATE_44100 0x02 204 #define HDMI_AUDIO_SAMPLE_RATE_48000 0x03 205 #define HDMI_AUDIO_SAMPLE_RATE_88200 0x04 206 #define HDMI_AUDIO_SAMPLE_RATE_96000 0x05 207 #define HDMI_AUDIO_SAMPLE_RATE_176400 0x06 208 #define HDMI_AUDIO_SAMPLE_RATE_192000 0x07 211 uint8_t byChannelCount : 3;
212 uint8_t byReserved1 : 1;
213 uint8_t byAudioCodingType : 4;
215 uint8_t bySampleSize : 2;
216 uint8_t bySampleFrequency : 3;
217 uint8_t byReserved2 : 3;
219 uint8_t byAudioCodingExtensionType : 5;
220 uint8_t byReserved3 : 3;
222 uint8_t byChannelAllocation;
224 uint8_t byLFEPlaybackLevel : 2;
225 uint8_t byReserved4 : 1;
226 uint8_t byLevelShiftValue : 4;
227 uint8_t byDownMixInhibitFlag : 1;
231 #define HDMI_SPD_SORUCE_UNKOWN 0x00 232 #define HDMI_SPD_SORUCE_DIGITAL_STB 0x01 233 #define HDMI_SPD_SORUCE_DVD_PLAYER 0x02 234 #define HDMI_SPD_SORUCE_D_VHS 0x03 235 #define HDMI_SPD_SORUCE_HDD_RECORDER 0x04 236 #define HDMI_SPD_SORUCE_DVC 0x05 237 #define HDMI_SPD_SORUCE_DSC 0x06 238 #define HDMI_SPD_SORUCE_VIDEO_CD 0x07 239 #define HDMI_SPD_SORUCE_GAME 0x08 240 #define HDMI_SPD_SORUCE_PC_GENERAL 0x09 241 #define HDMI_SPD_SORUCE_BLUE_RAY_DISC 0x0A 242 #define HDMI_SPD_SORUCE_SUPER_AUDIO_CD 0x0B 243 #define HDMI_SPD_SORUCE_HD_DVD 0x0C 244 #define HDMI_SPD_SORUCE_PMP 0x0D 247 char achVendorName[8];
248 char achProductDescription[16];
249 uint8_t bySourceInformation;
253 #define HDMI14B_VS_REGISTRATION_ID 0x000C03 255 #define HDMI14B_VS_FORMAT_NONE 0x00 256 #define HDMI14B_VS_FORMAT_EXT_RES 0x01 257 #define HDMI14B_VS_FORMAT_3D_FORMAT 0x02 260 #define HDMI14B_3DS_FRAME_PACKING 0x00 261 #define HDMI14B_3DS_FIELD_ALTERNATIVE 0x01 262 #define HDMI14B_3DS_LINE_ALTERNATIVE 0x02 263 #define HDMI14B_3DS_SIDE_BY_SIDE_FULL 0x03 264 #define HDMI14B_3DS_TOP_AND_BOTTOM 0x06 265 #define HDMI14B_3DS_SIDE_BY_SIDE_HALF 0x08 268 #define HDMI_SUB_SAMPLING_HORIZONTAL_00 0x00 269 #define HDMI_SUB_SAMPLING_HORIZONTAL_01 0x01 270 #define HDMI_SUB_SAMPLING_HORIZONTAL_10 0x02 271 #define HDMI_SUB_SAMPLING_HORIZONTAL_11 0x03 272 #define HDMI_SUB_SAMPLING_QUINCUNX_ODD_ODD 0x04 273 #define HDMI_SUB_SAMPLING_QUINCUNX_ODD_EVEN 0x05 274 #define HDMI_SUB_SAMPLING_QUINCUNX_EVEN_ODD 0x06 275 #define HDMI_SUB_SAMPLING_QUINCUNX_EVEN_EVEN 0x07 282 uint8_t byReserved1 : 3;
283 uint8_t by3DMetaPresent : 1;
284 uint8_t by3DStructure : 4;
286 uint8_t byReserved2 : 4;
287 uint8_t by3DExtData : 4;
289 uint8_t by3DMetadataLength : 5;
290 uint8_t by3DMetadataType : 3;
294 uint8_t byReserved1 : 5;
295 uint8_t byHDMIVideoFormat : 3;
305 uint8_t abyRegistrationId[3];
308 uint8_t abyVSData[24];
313 uint32_t GetRegistrationId() {
314 return abyRegistrationId[0] | (abyRegistrationId[1] << 8) | (abyRegistrationId[2] << 16);
320 #define HDMI_INFOFRAME_TYPE_VS 0x81 321 #define HDMI_INFOFRAME_TYPE_AVI 0x82 322 #define HDMI_INFOFRAME_TYPE_SPD 0x83 323 #define HDMI_INFOFRAME_TYPE_AUDIO 0x84 324 #define HDMI_INFOFRAME_TYPE_MS 0x85 327 uint8_t byPacketType;
329 uint8_t byLength : 5;
330 uint8_t byReservedZero : 3;
338 uint8_t abyPayload[27];
348 uint8_t * pbyData = (uint8_t *)&header;
349 uint8_t cbData = header.byLength +
sizeof(header) + 1;
352 while (cbData-- != 0)
Definition: MWHDMIPackets.h:210
Definition: MWHDMIPackets.h:246
Definition: MWHDMIPackets.h:304
HDMI_INFOFRAME_PACKET.
Definition: MWHDMIPackets.h:333
HDMI_AUDIO_INFOFRAME_PAYLOAD audioInfoFramePayload
audio infoframe payload
Definition: MWHDMIPackets.h:340
HDMI_AVI_INFOFRAME_PAYLOAD aviInfoFramePayload
avi infoframe payload
Definition: MWHDMIPackets.h:339
Definition: MWHDMIPackets.h:277
Definition: MWHDMIPackets.h:281
struct _HDMI_INFOFRAME_PACKET HDMI_INFOFRAME_PACKET
HDMI_INFOFRAME_PACKET.
HDMI_INFOFRAME_HEADER.
Definition: MWHDMIPackets.h:326
struct _HDMI_INFOFRAME_HEADER HDMI_INFOFRAME_HEADER
HDMI_INFOFRAME_HEADER.
HDMI_SPD_INFOFRAME_PAYLOAD spdInfoFramePayload
spd infoframe payload
Definition: MWHDMIPackets.h:341
Definition: MWHDMIPackets.h:293
HDMI_VS_INFOFRAME_PAYLOAD vsInfoFramePayload
vs infoframe payload
Definition: MWHDMIPackets.h:342
HDMI_INFOFRAME_HEADER header
HDMI infoframe header.
Definition: MWHDMIPackets.h:334
Definition: MWHDMIPackets.h:28
HDMI_AVI_INFOFRAME_PAYLOAD.
Definition: MWHDMIPackets.h:153
struct _HDMI_AVI_INFOFRAME_PAYLOAD HDMI_AVI_INFOFRAME_PAYLOAD
HDMI_AVI_INFOFRAME_PAYLOAD.