RDK Documentation (Open Sourced RDK Components)
dsTypes.h
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 /**
21  * @file dsTypes.h
22  *
23  * @brief Device Settings HAL types.
24  *
25  * This API defines common types used by the Device Settings HAL.
26  *
27  * @par Document
28  * Document reference.
29  *
30  * @par Open Issues (in no particular order)
31  * -# None
32  *
33  * @par Assumptions
34  * -# None
35  *
36  * @par Abbreviations
37  * - BE: Big-Endian.
38  * - cb: Callback function (suffix).
39  * - DS: Device Settings.
40  * - FPD: Front-Panel Display.
41  * - HAL: Hardware Abstraction Layer.
42  * - LE: Little-Endian.
43  * - LS: Least Significant.
44  * - MBZ: Must be zero.
45  * - MS: Most Significant.
46  * - RDK: Reference Design Kit.
47  * - _t: Type (suffix).
48  *
49  * @par Implementation Notes
50  * -# None
51  *
52  */
53 
54 /**
55  * @defgroup DSSETTINGS_HAL Device Settings HAL Types & Public API
56  * HAL types and public API definitions for SoC/OEM components of the RDK.
57  * @ingroup DSSETTINGS
58  */
59 
60 /**
61  * @defgroup DSHAL_API Device Settings HAL Data Types
62  * @ingroup DSSETTINGS_HAL
63  *
64  * The RDK Device Settings (DS) component is a cross-platform library for controlling
65  * STB platform hardware configuration. The areas controlled by the DS component are:
66  * - Audio output ports (volume, mute, etc.),
67  * - Video ouptut ports (resolutions, aspect ratio, etc.),
68  * - Video device (zoom settings)
69  * - Display (aspect ratio, EDID data, etc.),
70  * - Front-panel indicators,
71  * - General platform (host) configuration,
72  *
73  * @note Each module in the Device Settings component has an initialization function and
74  * a termination function. Clients of the HAL API are required to call the initialization
75  * function first before using any other APIs from the module. If the initialization
76  * function is not yet called, all HAL API invocations shall return ::dsERR_INVALID_STATE.
77  * If an API is not supported on a platform, the implementation shall return
78  * ::dsERR_OPERATION_NOT_SUPPORTED. Otherwise, the API shall return ::dsERR_NONE upon
79  * success, or return the most suitable error code. Vendors implementing HAL APIs are
80  * allowed to add to the dsError_t enumerations, but should only do so with discretion.
81  *
82  * @defgroup DSHAL_HOST Device Settings HAL Host Types
83  * @ingroup DSHAL_API
84  *
85  * DeviceSettings HAL types and public API definitions that are part of the Device
86  * Settings Host subsystem.
87  *
88  * @defgroup DSHAL_AUDIO Device Settings HAL Audio Types
89  * @ingroup DSHAL_API
90  *
91  * DeviceSettings HAL types and public API definitions that are part of the Device
92  * Settings Audio subsystem.
93  *
94  * @defgroup DSHAL_VIDEO Device Settings HAL Video Sub-Component
95  * @ingroup DSHAL_API
96  *
97  * DeviceSettings HAL types and public API definitions that are part of the Device
98  * Settings Video subsystem. The video subsystem consists of two sub-components, the
99  * Video Port subsystem and the Video Device subsystem.
100  *
101  * @defgroup DSHAL_VIDEOPORT Device Settings HAL VideoPort Types
102  * @ingroup DSHAL_VIDEO
103  *
104  * DeviceSettings HAL types and public API definitions that are part of the Device
105  * Settings Video Port subsystem.
106  *
107  * @defgroup DSHAL_VIDEODEVICE Device Settings HAL VideoDevice Types
108  * @ingroup DSHAL_VIDEO
109  *
110  * DeviceSettings HAL types and public API definitions that are part of the Device
111  * Settings Video Device subsystem.
112  *
113  * @defgroup DSHAL_DISPLAY Device Settings HAL Display Types
114  * @ingroup DSHAL_API
115  *
116  * DeviceSettings HAL types and public API definitions that are part of the Device
117  * Settings Display subsystem.
118  *
119  * @defgroup DSHAL_FPD Device Settings HAL Front Panel Display Types
120  * @ingroup DSHAL_API
121  *
122  * DeviceSettings HAL types and public API definitions that are part of the Device
123  * Settings Front Panel Display (FPD) subsystem.
124  *
125  * @defgroup DSHAL_HDMI_IN Device Settings HAL HDMI Input Types
126  * @ingroup DSHAL_API
127  *
128  * DeviceSettings HAL types and public API definitions that are part of the Device
129  * Settings HDMI In subsystem.
130  *
131  * @defgroup DSHAL_VERSION Device Settings HAL Version Types
132  * @ingroup DSHAL_API
133  *
134  * DeviceSettings HAL types and public API definitions that are part of the Device
135  * Settings HDMI In subsystem.
136  */
137 
138 /**
139 * @defgroup devicesettings
140 * @{
141 * @defgroup hal
142 * @{
143 **/
144 
145 
146 #ifndef _DS_TYPES_H_
147 #define _DS_TYPES_H_
148 
149 #include <sys/types.h>
150 #include <stdint.h>
151 
152 #include <stdbool.h>
153 
154 /** @addtogroup DSHAL_AUDIO Device Settings HAL Audio Types
155  * @{
156  */
157 
158 
159 #define dsAUDIOPORT_TYPE_NUM_MAX 4 /**< Maximum number of audio output port types. */
160 #define dsAudioPORT_NUM_MAX 4 /**< Maximum number of audio output ports. */
161 
162 /**
163  * This enumeration defines the type of output audio port that are avaiable.
164  */
165 typedef enum _dsAudioPortType_t{
166  dsAUDIOPORT_TYPE_ID_LR, /**< RCA audio output. */
167  dsAUDIOPORT_TYPE_HDMI, /**< HDMI audio output. */
168  dsAUDIOPORT_TYPE_SPDIF, /**< S/PDIF audio output. */
169  dsAUDIOPORT_TYPE_SPEAKER, /**< SPEAKER audio output. */
170  dsAUDIOPORT_TYPE_HDMI_ARC, /** < HDMI ARC/EARC audio output. */
171  dsAUDIOPORT_TYPE_HEADPHONE, /**< 3.5mm headphone jack. */
172  dsAUDIOPORT_TYPE_MAX /**< Maximum index for audio port type. */
174 
175 /**
176  * Audio output port type validation check.
177  */
178 #define dsAudioType_isValid(t) (((t) >= dsAUDIOPORT_TYPE_ID_LR ) && ((t) < dsAUDIOPORT_TYPE_MAX))
179 
180 /**
181  * This enumeration defines the type of audio encoding that can be used.
182  */
183 typedef enum _dsAudioEncoding_t{
184  dsAUDIO_ENC_NONE = 0, /**< No digital audio output. */
185  dsAUDIO_ENC_DISPLAY, /**< Platform-selected digital audio encoding format. */
186  dsAUDIO_ENC_PCM, /**< PCM digital audio encoding format. */
187  dsAUDIO_ENC_AC3, /**< AC-3 digital audio encoding format. */
188  dsAUDIO_ENC_EAC3, /**< DD+/E-AC-3 digital audio encoding format. */
189  dsAUDIO_ENC_MAX /**< Maximum index for audio encoding types. */
191 
192 /**
193  * Audio encoding type validation check.
194  */
195 #define dsAudioEncoding_isValid(t) (((t) >= dsAUDIO_ENC_NONE ) && ((t) < dsAUDIO_ENC_MAX))
196 
197 /**
198  * This enumeration defines the type of audio compression that can be used.
199  */
201  dsAUDIO_CMP_NONE, /**< No audio compression. */
202  dsAUDIO_CMP_LIGHT, /**< Light audio level compression. */
203  dsAUDIO_CMP_MEDIUM, /**< Medium audio level compression. */
204  dsAUDIO_CMP_HEAVY, /**< Heavy audio level compression. */
205  dsAUDIO_CMP_MAX /**< Maximum index for audio compression types. */
207 
208 
209 /**
210  * This enumeration defines the type of audio format
211  */
212 typedef enum _dsAudioFormat_t {
213  dsAUDIO_FORMAT_NONE,
214  dsAUDIO_FORMAT_PCM,
215  dsAUDIO_FORMAT_DOLBY_AC3,
216  dsAUDIO_FORMAT_DOLBY_EAC3,
217  dsAUDIO_FORMAT_DOLBY_AC4,
218  dsAUDIO_FORMAT_DOLBY_MAT,
219  dsAUDIO_FORMAT_DOLBY_TRUEHD,
220  dsAUDIO_FORMAT_DOLBY_EAC3_ATMOS,
221  dsAUDIO_FORMAT_DOLBY_TRUEHD_ATMOS,
222  dsAUDIO_FORMAT_DOLBY_MAT_ATMOS,
223  dsAUDIO_FORMAT_DOLBY_AC4_ATMOS,
224  dsAUDIO_FORMAT_AAC,
225  dsAUDIO_FORMAT_VORBIS,
226  dsAUDIO_FORMAT_WMA,
227  dsAUDIO_FORMAT_UNKNOWN,
228  dsAUDIO_FORMAT_MAX /**< Maximum . */
230 
231 
232 /**
233  * This enumeration defines the type of audio ducking action that can be used.
234  */
236  dsAUDIO_DUCKINGACTION_START, /**< Audio ducking start. */
237  dsAUDIO_DUCKINGACTION_STOP, /**< Audio ducking stop. */
239 
240 /**
241  * This enumeration defines the type of audio ducking type that can be used.
242  */
244  dsAUDIO_DUCKINGTYPE_ABSOLUTE, /**< Audio ducking absolute. */
245  dsAUDIO_DUCKINGTYPE_RELATIVE, /**< Audio ducking relative. */
247 
248 /**
249  * This defines the type of audio compression that can be used.
250  */
252 
253 /**
254  * This defines the type of dialog enhancer level that can be used.
255  */
256 typedef int dsDialogEnhancer_t;
257 
258 /**
259  * This defines the type of dialog enhancer level that can be used.
260  */
262 
263 
264 /**
265  * Enumeration defines all of the supported Audio types.
266  * Each bit of uint32_t represent a standard.
267  * If a device supports multiple standards, the capability is the bitwise OR
268 * of the standards.
269  */
271  dsAUDIOSUPPORT_NONE = 0x0,
272  dsAUDIOSUPPORT_ATMOS = 0x01,
273  dsAUDIOSUPPORT_DD = 0x02,
274  dsAUDIOSUPPORT_DDPLUS = 0x04,
275  dsAUDIOSUPPORT_DAD = 0x08,
276  dsAUDIOSUPPORT_DAPv2 = 0x10,
277  dsAUDIOSUPPORT_MS12 = 0x20,
278  dsAUDIOSUPPORT_MS12V2 = 0x40,
279  dsAUDIOSUPPORT_Invalid = 0x80,
281 
282 /**
283  * Enumeration defines all of the supported Arc types.
284  * Each bit of uint32_t represent an ARC support type.
285  * If a device multiple ARC types support, it's represented as bitwise OR
286 * of the types.
287  */
288 typedef enum _dsAudioARCTypes_t {
289  dsAUDIOARCSUPPORT_NONE = 0x0,
290  dsAUDIOARCSUPPORT_ARC = 0x01,
291  dsAUDIOARCSUPPORT_eARC = 0x02,
293 
294 /**
295  * @brief Structure that defines Short Audio Descriptors retrieved from
296  * connected ARC device
297  */
298 #define MAX_SAD 15
299 typedef struct _dsAudioSADList_t {
300  int sad[MAX_SAD];
301  int count;
303 
304 /**
305  * @brief Structure that defines ARC status for the HDMI ARC/EARC port.
306  */
307 typedef struct _dsAudioARCStatus_t {
308  dsAudioARCTypes_t type;
309  bool status;
311 
312 /**
313  * Enumeration defines all of the supported MS12 types.
314  * Each bit of uint32_t represent a standard.
315  * If a device supports multiple standards, the capability is the bitwise OR
316 * of the standards.
317  */
318 typedef enum _dsMS12Capabilities_t {
319  dsMS12SUPPORT_NONE = 0x0,
320  dsMS12SUPPORT_DolbyVolume = 0x01,
321  dsMS12SUPPORT_InteligentEqualizer = 0x02,
322  dsMS12SUPPORT_DialogueEnhancer = 0x04,
323  dsMS12SUPPORT_Invalid = 0x80,
325 /**
326  * This defines the type of audio compression that can be used.
327  */
328 typedef int dsAudioCompressionValue_t;
329 
330 /**
331  * @brief Structure that captures MS12 Audio Profile list
332  */
333 #define MAX_PROFILE_LIST_BUFFER_LEN 1024
335  char audioProfileList[MAX_PROFILE_LIST_BUFFER_LEN]; // buffer containing the list of comma separated audio profile names (e.g: "Music,Movie,Voice,Night")
336  int audioProfileCount; // Total number of profiles
338 
339 /**
340  * This defines the type of dialog enhancer level that can be used.
341  */
342 typedef int dsDialogEnhancer_t;
343 
344 /**
345  * This defines the type of dialog enhancer level that can be used.
346  */
347 typedef int dsIntelligentEqualizerMode_t;
348 
349 /**
350  * This defines the type of volume leveller param that can be used.
351  */
352 typedef struct _dsVolumeLeveller_t {
353  int mode; // 0 = off, 1= on, 2= auto
354  int level;
356 
357 /**
358  * This defines the type of surround virtualizer param that can be used.
359  */
360 typedef struct _dsSurroundVirtualizer_t {
361  int mode; // 0 = off, 1= on, 2= auto
362  int boost;
364 
365 /**
366  * Audio compression type validation check.
367  */
368 #define dsAudioCompression_isValid(t) (((t) >= dsAUDIO_CMP_NONE ) && ((t) < dsAUDIO_CMP_MAX))
369 
370 /**
371  * This enumeration defines the type of audio stereo mode that can be used.
372  */
373 typedef enum StereoMode{
374  dsAUDIO_STEREO_UNKNOWN, /**< Unknown mode. */
375  dsAUDIO_STEREO_MONO = 1, /**< Mono mode. */
376  dsAUDIO_STEREO_STEREO, /**< Normal stereo mode (L+R). */
377  dsAUDIO_STEREO_SURROUND, /**< Surround mode. */
378  dsAUDIO_STEREO_PASSTHRU, /**< Passthrough mode. */
379  dsAUDIO_STEREO_DD, /**< Dolby Digital. */
380  dsAUDIO_STEREO_DDPLUS, /**< Dolby Digital Plus. */
381  dsAUDIO_STEREO_MAX /**< Maximum index for audio stereo types. */
383 
384 /* This enumeration defines HDCP protocol version types */
385 
386 typedef enum _dsATMOSCapability_t{
387  dsAUDIO_ATMOS_NOTSUPPORTED= 0, /**< ATMOS audio not supported */
388  dsAUDIO_ATMOS_DDPLUSSTREAM, /**< can handle dd plus stream which is only way to pass ATMOS metadata */
389  dsAUDIO_ATMOS_ATMOSMETADATA, /**< capable of parsing ATMOS metadata */
390 } dsATMOSCapability_t;
391 
392 /**
393  * Audio stereo mode type validation check.
394  */
395 #define dsAudioStereoMode_isValid(t) (((t) >= dsAUDIO_STEREO_UNKNOWN ) && ((t) < dsAUDIO_STEREO_MAX))
396 
397 /* End of DSHAL_AUDIO_TYPES doxygen group */
398 /**
399  * @}
400  */
401 
402 /* This enumeration defines HDCP protocol version types */
403 
405  dsHDCP_VERSION_1X = 0, /**< HDCP Protocol version 1.x */
406  dsHDCP_VERSION_2X, /**< HDCP Protocol version 2.x */
407  dsHDCP_VERSION_MAX /**< Maximum index for HDCP protocol. */
408 } dsHdcpProtocolVersion_t;
409 
410 
411 /* This enumeration defines all HDCP Authentication Status */
412 
413 typedef enum _dsHdcpStatus_t {
414  dsHDCP_STATUS_UNPOWERED = 0, /**< Connected Sink Device does not support HDCP */
415  dsHDCP_STATUS_UNAUTHENTICATED, /**< HDCP Authentication Process is not initiated */
416  dsHDCP_STATUS_AUTHENTICATED, /**< HDCP Authentication Process is initiated and Passed */
417  dsHDCP_STATUS_AUTHENTICATIONFAILURE, /**< HDCP Authentication Failure or Link Integroty Failure */
418  dsHDCP_STATUS_INPROGRESS, /**< HDCP Authentication in Progress */
419  dsHDCP_STATUS_PORTDISABLED, /**< HDMI output port disabled */
420  dsHDCP_STATUS_MAX /**< Maximum index for HDCP status. */
421 } dsHdcpStatus_t;
422 
423 #define dsHdcpStatus_isValid(t) (((t) >= dsHDCP_STATUS_UNPOWERED ) && ((t) < dsHDCP_STATUS_MAX))
424 
425 
426 /** @addtogroup DSHAL_VIDEOPORT_TYPES Device Settings HAL VideoPort Type Definitions
427  * @ingroup DSHAL_VIDEOPORT
428  * @{
429  */
430 
431 /**
432  * This enumeration defines all of the standard type of Video ports that are available.
433  */
434 typedef enum _dsVideoPortType_t {
435  dsVIDEOPORT_TYPE_RF = 0, /**< RF modulator (channel 3/4) video output. */
436  dsVIDEOPORT_TYPE_BB, /**< Baseband (composite, RCA) video output. */
437  dsVIDEOPORT_TYPE_SVIDEO, /**< S-Video video output. */
438  dsVIDEOPORT_TYPE_1394, /**< IEEE 1394 (Firewire) video output. */
439  dsVIDEOPORT_TYPE_DVI, /**< DVI (Panel-Link, HDCP) video output. */
440  dsVIDEOPORT_TYPE_COMPONENT, /**< Component video output. */
441  dsVIDEOPORT_TYPE_HDMI, /**< HDMI video output. */
442  dsVIDEOPORT_TYPE_HDMI_INPUT, /**< HDMI video input. */
443  dsVIDEOPORT_TYPE_INTERNAL, /**< Internal (integrated/internal display) video output. */
444  dsVIDEOPORT_TYPE_SCART, /**< SCART video output. */
445  dsVIDEOPORT_TYPE_MAX /**< Maximum index for video port types. */
447 
448 /**
449  * Video ouptut port type validation check.
450  */
451 #define dsVideoPortType_isValid(t) (((t) >= dsVIDEOPORT_TYPE_RF ) && ((t) < dsVIDEOPORT_TYPE_MAX))
452 
453 
454 
455 /**
456  * This enumeration defines all of the standard video port resolutions that can be used.
457  */
458 typedef enum _dsVideoResolution_t{
459  dsVIDEO_PIXELRES_720x480, /**< 720x480 Resolution. */
460  dsVIDEO_PIXELRES_720x576, /**< 720x576 Resolution. */
461  dsVIDEO_PIXELRES_1280x720, /**< 1280x720 Resolution. */
462  dsVIDEO_PIXELRES_1920x1080, /**< 1920x1080 Resolution. */
463 
464  dsVIDEO_PIXELRES_3840x2160, /**< 3840x2160 Resolution. */
465  dsVIDEO_PIXELRES_4096x2160, /**< 3840x2160 Resolution. */
466 
467  dsVIDEO_PIXELRES_MAX /**< Maximum index for Video ouptut resolutions. */
469 
470 /**
471  * This enumeration defines all of the standard TV supported resolution with interlace information.
472  */
473 typedef enum _dsTVResolution_t{
474  dsTV_RESOLUTION_480i = 0x00001, /**< 480i Resolution. */
475  dsTV_RESOLUTION_480p = 0x00002, /**< 480p Resolution. */
476  dsTV_RESOLUTION_576i = 0x00004, /**< 576p Resolution. */
477  dsTV_RESOLUTION_576p = 0x00008, /**< 576p Resolution. */
478  dsTV_RESOLUTION_576p50 = 0x00010, /**< 576p50 Resolution. */
479  dsTV_RESOLUTION_720p = 0x00020, /**< 720p Resolution. */
480  dsTV_RESOLUTION_720p50 = 0x00040, /**< 720p50 Resolution. */
481  dsTV_RESOLUTION_1080i = 0x00080, /**< 1080i Resolution. */
482  dsTV_RESOLUTION_1080p = 0x00100, /**< 1080p Resolution. */
483  dsTV_RESOLUTION_1080p24 = 0x00200, /**< 1080p24 Resolution. */
484  dsTV_RESOLUTION_1080i25 = 0x00400, /**< 1080i25 Resolution. */
485  dsTV_RESOLUTION_1080p30 = 0x00800, /**< 1080p30 Resolution. */
486  dsTV_RESOLUTION_1080i50 = 0x01000, /**< 1080i50 Resolution. */
487  dsTV_RESOLUTION_1080p50 = 0x02000, /**< 1080p50 Resolution. */
488  dsTV_RESOLUTION_1080p60 = 0x04000, /**< 1080p60 Resolution. */
489  dsTV_RESOLUTION_2160p30 = 0x08000, /**< 2160p30 Resolution. */
490  dsTV_RESOLUTION_2160p50 = 0x10000, /**< 2160p30 Resolution. */
491  dsTV_RESOLUTION_2160p60 = 0x20000, /**< 2160p60 Resolution. */
493 
494 /**
495  * Video ouptut resolutions type validation check.
496  */
497 #define dsVideoPortPixelResolution_isValid(t) (((t) >= dsVIDEO_PIXELRES_720x480 ) && ((t) < dsVIDEO_PIXELRES_MAX))
498 
499 /**
500  * This enumeration defines all of the standard frame rates at which video may be played out of the video port.
501  */
502 typedef enum _dsVideoFrameRate_t{
503  dsVIDEO_FRAMERATE_UNKNOWN, /**< Unknown frame rate. */
504  dsVIDEO_FRAMERATE_24, /**< Played at 24 frames per second. */
505  dsVIDEO_FRAMERATE_25, /**< Played at 25 frames per second. */
506  dsVIDEO_FRAMERATE_30, /**< Played at 30 frames per second. */
507  dsVIDEO_FRAMERATE_60, /**< Played at 60 frames per second. */
508  dsVIDEO_FRAMERATE_23dot98, /**< Played at 23.98 frames per second. */
509  dsVIDEO_FRAMERATE_29dot97, /**< Played at 29.97 frames per second. */
510  dsVIDEO_FRAMERATE_50, /**< Played at 50 frames per second. */
511  dsVIDEO_FRAMERATE_59dot94, /**< Played at 59.94 frames per second. */
512  dsVIDEO_FRAMERATE_MAX /**< Maximum index for video frame rates. */
514 
515 /**
516  * Video output framerate validation check.
517  */
518 #define dsVideoPortFrameRate_isValid(t) (((t) >= dsVIDEO_FRAMERATE_UNKNOWN ) && ((t) < dsVIDEO_FRAMERATE_MAX))
519 
520 /**
521  * This enumeration defines all of the standard video port scan modes.
522  */
523 typedef enum _dsVideoScanMode_t{
524  dsVIDEO_SCANMODE_INTERLACED, /**< Interlaced video. */
525  dsVIDEO_SCANMODE_PROGRESSIVE, /**< Progressive video. */
526  dsVIDEO_SCANMODE_MAX /**< Maximum index for video scan modes. */
528 
529 /**
530  * This enumeration defines background color for video port.
531  */
533  dsVIDEO_BGCOLOR_BLUE, /**< Background color BLUE. */
534  dsVIDEO_BGCOLOR_BLACK, /**< Background color BLACK */
535  dsVIDEO_BGCOLOR_NONE, /**< Background color NONE */
536  dsVIDEO_BGCOLOR_MAX /**< Maximum index for background color. */
538 
539 /**
540  * Video scan mode type validation check.
541  */
542 #define dsVideoPortScanMode_isValid(t) (((t) >= dsVIDEO_SCANMODE_INTERLACED ) && ((t) < dsVIDEO_SCANMODE_MAX))
543 
544 /**
545  * This enumeration defines all of the standard video aspect ratios.
546  */
548  dsVIDEO_ASPECT_RATIO_4x3, /**< 4:3 aspect ratio. */
549  dsVIDEO_ASPECT_RATIO_16x9, /**< 16:9 aspect ratio. */
550  dsVIDEO_ASPECT_RATIO_MAX /**< Maximum index for video aspect ratios. */
552 
553 /**
554  * Video aspect ratio type validation check.
555  */
556 #define dsVideoPortAspectRatio_isValid(t) (((t) >= dsVIDEO_ASPECT_RATIO_4x3 ) && ((t) < dsVIDEO_ASPECT_RATIO_MAX))
557 
558 /**
559  * This enumeration defines all of the standard video Stereo Scopic modes.
560  */
562  dsVIDEO_SSMODE_UNKNOWN = 0, /**< Unknown mode. */
563  dsVIDEO_SSMODE_2D, /**< 2D mode. */
564  dsVIDEO_SSMODE_3D_SIDE_BY_SIDE, /**< 3D side by side (L/R) stereo mode. */
565  dsVIDEO_SSMODE_3D_TOP_AND_BOTTOM, /**< 3D top & bottom stereo mode. */
566  dsVIDEO_SSMODE_MAX /**< Maximum index for video stereoscopic modes. */
568 
569 /**
570  * Video Stereo Scopic modes type validation check.
571  */
572 #define dsVideoPortStereoScopicMode_isValid(t) (((t) >= dsVIDEO_SSMODE_UNKNOWN ) && ((t) < dsVIDEO_SSMODE_MAX))
573 
574 /**
575  * This enumeration defines all of the standard screen zoom (format conversion) modes.
576  */
577 typedef enum _dsVideoZoom_t {
578  dsVIDEO_ZOOM_UNKNOWN = -1, /**< Unknown mode. */
579  dsVIDEO_ZOOM_NONE = 0, /**< Decoder format conversion is inactive. */
580  dsVIDEO_ZOOM_FULL, /**< Full screen (16:9 video is streched to fit 4:3 frame). */
581  dsVIDEO_ZOOM_LB_16_9, /**< 16:9 Letterbox (16:9 video is placed in a 4:3 frame with a full letterbox effect). */
582  dsVIDEO_ZOOM_LB_14_9, /**< 14:9 Letterbox (16:9 video is transferred into a 4:3 frame with 14:9 letterbox effect). */
583  dsVIDEO_ZOOM_CCO, /**< Center Cut-out (16:9 video is cut to fill 4:3 frame with its center part). */
584  dsVIDEO_ZOOM_PAN_SCAN, /**< Pan & Scan (16:9 is cut and panned to fille 4:3 frame, following MPEG pan & scan vectors). */
585  dsVIDEO_ZOOM_LB_2_21_1_ON_4_3, /**< 2.21:1 Letterbox on 4:3 (video is transferred into 4:3 frame with a 2.21:1 letterbox effect). */
586  dsVIDEO_ZOOM_LB_2_21_1_ON_16_9, /**< 2.21:1 Letterbox on 16:9 (video is transferred into 16:9 frame with a 2.21:1 letterbox effect). */
587  dsVIDEO_ZOOM_PLATFORM, /**< Control over the decoder format conversions is managed by the platform. */
588  dsVIDEO_ZOOM_16_9_ZOOM, /**< 16:9 Zoom (4:3 video is zoomed to fill 16:9 frame). */
589  dsVIDEO_ZOOM_PILLARBOX_4_3, /**< Pillarbox 4:3 (4:3 video is placed in a 16:9 frame with a pillarbox effect) */
590  dsVIDEO_ZOOM_WIDE_4_3, /**< Wide 4:3 (4:3 video is stretched to fill 16:9 frame). */
591  dsVIDEO_ZOOM_MAX /**< Maximum index for screen zoom modes. */
593 
594 /**
595  * Video screen zoom validation check.
596  */
597 #define dsVideoPortDFC_isValid(t) (((t) >= dsVIDEO_ZOOM_NONE ) && ((t) < dsVIDEO_ZOOM_MAX))
598 
599 /* End of DSHAL_VIDEOPORT_TYPES doxygen group. */
600 /**
601  * @}
602  */
603 
604 /** @addtogroup DSHAL_VIDEODEVICE_TYPES Device Settings HAL VideoDevice Type Definitions
605  * @ingroup DSHAL_VIDEODEVICE
606  * @{
607  */
608 
609 /**
610  * @brief Structure that defines video device configuration for the output.
611  */
612 typedef struct _dsVideoConfig_t {
613  size_t numSupportedDFCs; /**< Number of zoom modes supported. */
614  const dsVideoZoom_t *supportedDFCs; /**< List of zoom modes supported. */
615  dsVideoZoom_t defaultDFC; /**< The default zoom mode. */
617 
618 /* End of DSHAL_VIDEODEVICE_TYPES doxygen group. */
619 /**
620  * @}
621  */
622 
623 /**
624  * @ingroup DSHAL_AUDIO_TYPES
625  * @brief Structure that defines audio output device configuration.
626  */
627 typedef struct _dsAudioTypeConfig_t {
628  int32_t typeId; /**< The audio output type (::dsAudioPortType_t). */
629  const char *name; /**< Name of the audio output device (e.g. "HDMI"). */
630  size_t numSupportedCompressions; /**< Number of supported audio compression methods. */
631  const dsAudioCompression_t *compressions; /**< List of audio compression methods supported. */
632  size_t numSupportedEncodings; /**< Number of supported audio encodings. */
633  const dsAudioEncoding_t *encodings; /**< List of audio encodings supported. */
634  size_t numSupportedStereoModes; /**< Number of supported stereo modes. */
635  const dsAudioStereoMode_t *stereoModes; /**< List of stereo modes supported. */
637 
638 /**
639  * @ingroup DSHAL_VIDEOPORT_TYPES
640  * @brief Structure that defines video port resolution settings of output video device.
641  */
642 typedef struct _dsVideoPortResolution_t {
643  char name[32]; /**< Name the resolution (e.g. 480i, 480p, 1080p24). */
644  dsVideoResolution_t pixelResolution; /**< The resolution associated with the name. */
645  dsVideoAspectRatio_t aspectRatio; /**< The associated aspect ratio. */
646  dsVideoStereoScopicMode_t stereoScopicMode; /**< The associated stereoscopic mode. */
647  dsVideoFrameRate_t frameRate; /**< The associated frame rate. */
648  bool interlaced; /**< The associated scan mode(@a true if interlaced, @a false if progressive). */
650 
651 /**
652  * @ingroup DSHAL_AUDIO_TYPES
653  * @brief Structure that defines the audio port type and associated ID.
654  */
655 typedef struct _dsAudioPortId_t {
656  dsAudioPortType_t type; /**< Audio port type. */
657  int32_t index; /**< Port ID/number. */
659 
660 /**
661  * @ingroup DSHAL_VIDEOPORT_TYPES
662  * @brief Structure that defines port id associated with video port.
663  */
664 typedef struct _dsVideoPortPortId_t {
665  dsVideoPortType_t type; /**< Video port type. */
666  int32_t index; /**< Port ID/number. */
668 
669 /**
670  * @ingroup DSHAL_VIDEOPORT_TYPES
671  * @brief Structure that defines the video output port configuration.
672  */
673 typedef struct _dsVideoPortTypeConfig_t {
674  dsVideoPortType_t typeId; /**< The video output type. */
675  const char *name; /**< Name of the video output port. */
676  bool dtcpSupported; /**< Is DTCP supported? */
677  bool hdcpSupported; /**< Is HDCP supported? */
678  int32_t restrictedResollution; /**< Any restricted resolution; -1 if no. */
679  size_t numSupportedResolutions; /**< Number of supported resolutions. */
680  dsVideoPortResolution_t *supportedResolutions; /**< List of supported resolutions. */
682 
683 //#define HDCP_KEY_MAX_SIZE (1280)
684 #define HDCP_KEY_MAX_SIZE (4*1024)
685 
686 /**
687  * Enumeration defines all of the standard HDR types.
688  * Each bit of uint32_t represent a standard.
689  * If a device supports multiple standards, the capability is the bitwise OR
690 * of the standards.
691  */
692 typedef enum _dsHDRStandard_t {
693  dsHDRSTANDARD_NONE = 0x0, /**< When No video in decoded */
694  dsHDRSTANDARD_HDR10 = 0x01, /**< Video Format HDR */
695  dsHDRSTANDARD_HLG = 0x02, /**< Video Format HLG */
696  dsHDRSTANDARD_DolbyVision = 0x04, /**< Video Format Dolby Vision */
697  dsHDRSTANDARD_TechnicolorPrime = 0x8, /**< Video Format Techinicolor Prime */
698  dsHDRSTANDARD_HDR10PLUS = 0x10, /**< Video Format HDRPlus */
699  dsHDRSTANDARD_SDR= 0x20, /**< Video Format SDR */
700  dsHDRSTANDARD_Invalid = 0x80, /**< When invalid value observed */
702 
703 
704 /**
705  * Enumeration defines surround mode.
706  * Each bit of uint32_t represent supported surround mode.
707  */
708 typedef enum _dsSURROUNDMode_t {
709  dsSURROUNDMODE_NONE = 0x0,
710  dsSURROUNDMODE_DD = 0x1,
711  dsSURROUNDMODE_DDPLUS = 0x2,
713 
714 /**
715  * Enumeration defines MS12 feature.
716  */
717 typedef enum _dsMS12FEATURE_t {
718  dsMS12FEATURE_DAPV2 = 0x0,
719  dsMS12FEATURE_DE = 0x1,
720  dsMS12FEATURE_MAX = 0x2,
722 /**
723  * @ingroup DSHAL_AUDIO_TYPES
724  * @brief Structure that defines audio port configuration.
725  */
726 typedef struct _dsAudioPortConfig_t {
727  dsAudioPortId_t id; /**< Port ID. */
728  const dsVideoPortPortId_t *connectedVOPs; /**< Connected video port. */
730 
731 #define MAX_LANGUAGE_LEN 10
732 
733 /**
734  * @ingroup DSHAL_VIDEOPORT_TYPES
735  * @brief Structure that defines video port configuration settings.
736  */
737 typedef struct _dsVideoPortPortConfig_t {
738  dsVideoPortPortId_t id; /**< Port ID. */
739  dsAudioPortId_t connectedAOP; /**< Connected audio port. */
740  const char *defaultResolution; /**< Default resolution's name. */
742 
743 /** @addtogroup DSHAL_FPD_TYPES Device Settings HAL Front Panel Display (FPD) Type Definitions
744  * @ingroup DSHAL_FPD
745  * @{
746  */
747 
748 /*
749  * dsFPDColor_t is an 4-byte integer that is composed of RGB32 value in the
750  * following pattern:
751  *
752  * FPD_COLOR = (((R8)<<16) | ((G8)<< 8) | ((B8) << 0))
753  *
754  * The Most Significant 8 bit is reserved.
755  *
756  * Please use the following macros to manipulate FPD_COLOR.
757  */
758 typedef uint32_t dsFPDColor_t;
759 #define dsFPDColor_Make(R8,G8,B8) (((R8)<<16) | ((G8)<< 8) | ((B8) ))
760 #define dsFPDColor_R(RGB32) (((RGB32) >> 16) & 0xFF)
761 #define dsFPDColor_G(RGB32) (((RGB32) >> 8) & 0xFF)
762 #define dsFPDColor_B(RGB32) (((RGB32) ) & 0xFF)
763 
764 /* Define a set of common colors, for backward compatibility */
765 #define dsFPD_COLOR_BLUE dsFPDColor_Make(0, 0, 0xFF) /**< Blue color LED. */
766 #define dsFPD_COLOR_GREEN dsFPDColor_Make(0, 0xFF, 0) /**< Green color LED. */
767 #define dsFPD_COLOR_RED dsFPDColor_Make(0xFF, 0, 0x0) /**< Red color LED. */
768 #define dsFPD_COLOR_YELLOW dsFPDColor_Make(0xFF, 0xFF, 0xE0)/**< Yellow color LED. */
769 #define dsFPD_COLOR_ORANGE dsFPDColor_Make(0xFF, 0x8C, 0x00)/**< Orange color LED. */
770 #define dsFPD_COLOR_WHITE dsFPDColor_Make(0xFF, 0xFF, 0xFF)/**< White color LED. */
771 #define dsFPD_COLOR_MAX 6 /**< Maximum idx of predefined colors. */
772 
773 /**
774  * Front panel LED colors validation check.
775  */
776 #define dsFPDColor_isValid(t) (((t) & 0xFF000000) == 0)
777 
778 /*
779  * dsFPDIndicator_t is an ID number that uniquely identifies a hardware
780  * LED entity on the front panel. Each MFR implementation is free
781  * to assign any number to its LEDs. The mapping of LED ID to its
782  * display name (such as "Record LED") is done outside MFR library.
783  */
784 typedef int32_t dsFPDIndicator_t;
785 /**
786  * This enumeration pre-defines common front panel indicators.
787  * Implementation may not have to use these enumerators.
788  */
789 #define dsFPD_INDICATOR_MESSAGE 0 /**< Message/Mail LED. */
790 #define dsFPD_INDICATOR_POWER 1 /**< Power LED. */
791 #define dsFPD_INDICATOR_RECORD 2 /**< Record LED. */
792 #define dsFPD_INDICATOR_REMOTE 3 /**< Remote LED. */
793 #define dsFPD_INDICATOR_RFBYPASS 4 /**< RF Bypass LED. */
794 #define dsFPD_INDICATOR_MAX 5
795 /**
796  * Front panel LED indicator type validation check.
797  */
798 #define dsFPDIndicator_isValid(t) (true)
799 
800 /**
801  * This enumeration defines the FPD text display types.
802  */
804 {
805  dsFPD_TEXTDISP_TEXT, /**< 7-segment LED display. */
806  dsFPD_TEXTDISP_MAX /**< Maximum index for FPD text display types. */
808 
809 /**
810  * FPD text display type validation check.
811  */
812 #define dsFPDTextDisplay_isValid(t) (((t) >= dsFPD_TEXTDISP_TEXT ) && ((t) < dsFPD_TEXTDISP_MAX))
813 
814 
815 /**
816  * This enumeration defines the front panel display state.
817  */
818 typedef enum __dsFPDState_t
819 {
820  dsFPD_STATE_OFF=0, /**< FPD State Disable. */
821  dsFPD_STATE_ON, /**< FPD State Enable. */
822 }dsFPDState_t;
823 
824 /**
825  * This enumeration defines the front panel display state.
826  */
827 typedef enum __dsFPDLedState_t
828 {
829  dsFPD_LED_DEVICE_NONE = 0,
830  dsFPD_LED_DEVICE_ACTIVE = 1,
831  dsFPD_LED_DEVICE_STANDBY = 2,
832  dsFPD_LED_DEVICE_WPS_CONNECTING = 3,
833  dsFPD_LED_DEVICE_WPS_CONNECTED = 4,
834  dsFPD_LED_DEVICE_WPS_ERROR = 5,
835  dsFPD_LED_DEVICE_FACTORY_RESET = 6,
836  dsFPD_LED_DEVICE_USB_UPGRADE = 7,
837  dsFPD_LED_DEVICE_SOFTWARE_DOWNLOAD_ERROR = 8,
838  dsFPD_LED_DEVICE_MAX
840 
841 
842 /**
843  * This enumeration defines the time formats to be used in the Front panel text display
844  */
846 {
847  dsFPD_TIME_12_HOUR, /**< 12 hour time format. */
848  dsFPD_TIME_24_HOUR, /**< 24 hour time format. */
849  dsFPD_TIME_STRING /**< Text string. */
851 
852 
853 /**
854  * Maximum Value of FPD Led Brightness
855  */
856 #define dsFPD_BRIGHTNESS_MAX 100 /**< Maximum Value of FPD LED brightness. */
857 
858 /**
859  * Type definition for the brightness setting of a front panel indicator LED.
860  *
861  */
862 typedef uint32_t dsFPDBrightness_t;
863 
864 /**
865  * This enumeration defines the front panel display mode.
866  */
867 typedef enum __dsFPDMode_t{
868  dsFPD_MODE_ANY = 0, /**< All modes (text/clock) are supported*/
869  dsFPD_MODE_TEXT, /**< only Text mode is supported*/
870  dsFPD_MODE_CLOCK, /**< only clock mode is supported*/
871 } dsFPDMode_t;
872 
873 
874 /* End of DSHAL_FPD_TYPES doxygen group */
875 /**
876  * @}
877  */
878 
879 /** @addtogroup DSHAL_DISPLAY_TYPES Device Settings HAL Display Type Definitions
880  * @ingroup DSHAL_DISPLAY
881  * @{
882  */
883 
884 
885 /**
886  * Maximum Value video modes are described in CEA specifictaion
887  */
888 
889 #define dsEEDID_MAX_VIDEO_CODE 64 /**< Maximum Value EEDID Video COde . */
890 
891 
892 #define dsEEDID_MAX_MON_NAME_LENGTH 14 /**< Maximum Length of Connected Display Monitor Name . */
893 
894 #define MAX_EDID_BYTES_LEN (1024)
895 
896 /**
897  * @ingroup DSHAL_DISPLAY_TYPES
898  * @brief Defines the structure that is used to get the EDID information of the video display.
899  *
900  */
901 typedef struct _dsDisplayEDID_t {
902  int32_t productCode; /**< Product code of the display device. */
903  int32_t serialNumber; /**< Serial number of the display device. */
904  int32_t manufactureYear; /**< Year of manufacture of the display device. */
905  int32_t manufactureWeek; /**< Week of manufacture of the display device. */
906  bool hdmiDeviceType; /**< Device type (@ true if HDMI, @a false if DVI). */
907  bool isRepeater; /**< Receiver is a repeater (@ true if Repeater, @a false if connected Receiver is not a repeater). */
908  uint8_t physicalAddressA; /**< Physical Address for HDMI node A */
909  uint8_t physicalAddressB; /**< Physical Address for HDMI node B */
910  uint8_t physicalAddressC; /**< Physical Address for HDMI node C -*/
911  uint8_t physicalAddressD; /**< Physical Address for HDMI node D */
912  int32_t numOfSupportedResolution; /**< Number of Supported Resolution */
914  char monitorName[dsEEDID_MAX_MON_NAME_LENGTH]; /**< Connected Display Monitor Name */
916 
917 /**
918  * This enumeration defines the type of sleep modes that can be used.
919  */
920 typedef enum _dsSleepMode_t{
921  dsHOST_SLEEP_MODE_LIGHT, /**< Light sleep mode. */
922  dsHOST_SLEEP_MODE_DEEP, /**< Deep sleep mode. */
923  dsHOST_SLEEP_MODE_MAX, /**< Maximum index for sleep modes */
924 } dsSleepMode_t;
925 
926 typedef enum _dsPowerState_t{
927  dsPOWER_ON =1, /**< Host Power-on state */
928  dsPOWER_STANDBY, /**< Host Standby state. */
929  dsPOWER_OFF, /**< Host Power-off state. */
930 }dsPowerState_t;
931 
932 typedef enum _dsDisplayMatrixCoefficients_t
933 {
934  dsDISPLAY_MATRIXCOEFFICIENT_UNKNOWN = 0, /* Unknown Matrix Coefficient. */
935  dsDISPLAY_MATRIXCOEFFICIENT_BT_709, /* ITU BT 709 Matrix Coefficient. */
936  dsDISPLAY_MATRIXCOEFFICIENT_BT_470_2_BG, /* ITU BT 470_2_BG Matrix Coefficient. */
937  dsDISPLAY_MATRIXCOEFFICIENT_SMPTE_170M , /* SMPTE 170M Matrix Coefficient. */
938  dsDISPLAY_MATRIXCOEFFICIENT_XvYCC_709, /* XvYCC_709 Matrix Coefficient. */
939  dsDISPLAY_MATRIXCOEFFICIENT_eXvYCC_601, /* XvYCC_601 Matrix Coefficient. */
940  dsDISPLAY_MATRIXCOEFFICIENT_BT_2020_NCL, /* ITU BT 2020 non constant luminance Matrix Coefficient. */
941  dsDISPLAY_MATRIXCOEFFICIENT_BT_2020_CL, /* ITU BT 2020 constant luminance Matrix Coefficient. */
942  dsDISPLAY_MATRIXCOEFFICIENT_eDVI_FR_RGB, /* eDVI Full Range RGB Matrix Coefficient. */
943  dsDISPLAY_MATRIXCOEFFICIENT_eHDMI_RGB, /* eHDMI RGB Matrix Coefficient. */
944  dsDISPLAY_MATRIXCOEFFICIENT_eFCC, /* eFCC Matrix Coefficient. */
945  dsDISPLAY_MATRIXCOEFFICIENT_eSMPTE_240M, /* eSMPTE 240M Matrix Coefficient. */
946  dsDISPLAY_MATRIXCOEFFICIENT_eHDMI_FR_YCbCr /* eHDMI Full Range YcbCr Matrix Coefficient. */
947 } dsDisplayMatrixCoefficients_t;
948 
949 typedef enum _dsDisplayColorimetryInfo_t
950 {
951  dsDISPLAY_COLORIMETRY_INFO_UNKNOWN = 0, /* Unknown Colorimetry */
952  dsDISPLAY_COLORIMETRY_INFO_XVYCC601 = 0x01, /* Standard Definition Colorimetry based on IEC 61966-2-4 */
953  dsDISPLAY_COLORIMETRY_INFO_XVYCC709 = 0x02, /* High Definition Colorimetry based on IEC 61966-2-4 */
954  dsDISPLAY_COLORIMETRY_INFO_SYCC601 = 0x04, /* Colorimetry based on IEC 61966-2-1/Amendment 1 */
955  dsDISPLAY_COLORIMETRY_INFO_ADOBEYCC601 = 0x08, /* Colorimetry based on IEC 61966-2-5 [32], Annex A */
956  dsDISPLAY_COLORIMETRY_INFO_ADOBERGB = 0x10, /* Colorimetry based on IEC 61966-2-5 */
957  dsDISPLAY_COLORIMETRY_INFO_BT2020CL = 0x20, /* Colorimetry based on ITU-R BT.2020 [39] Y’cC’BCC’RC */
958  dsDISPLAY_COLORIMETRY_INFO_BT2020NCL = 0x40, /* Colorimetry based on ITU-R BT.2020 [39] Y’C’BC’R */
959  dsDISPLAY_COLORIMETRY_INFO_BT2020RGB = 0x80, /* Colorimetry based on ITU-R BT.2020 [39] R’G’B’ */
960  dsDISPLAY_COLORIMETRY_INFO_DCI_P3 = 0x100 /* Colorimetry based on DCI-P3 */
961 } dsDisplayColorimetryInfo_t;
962 
963 typedef enum _dsDisplayColorSpace_t
964 {
965  dsDISPLAY_COLORSPACE_UNKNOWN = 0, /* Unknown color space */
966  dsDISPLAY_COLORSPACE_RGB = 1, /* RGB color space */
967  dsDISPLAY_COLORSPACE_YCbCr422 = 2, /* YCbCr4.2.2 color space */
968  dsDISPLAY_COLORSPACE_YCbCr444 = 3, /* YCbCr4.4.4 color space */
969  dsDISPLAY_COLORSPACE_YCbCr420 = 4, /* YCbCr4.2.0 color space */
970  dsDISPLAY_COLORSPACE_AUTO = 5 /* Automatic color space */
971 } dsDisplayColorSpace_t;
972 
973 typedef enum _dsDisplayQuantizationRange_t
974 {
975  dsDISPLAY_QUANTIZATIONRANGE_UNKNOWN = 0,
976  dsDISPLAY_QUANTIZATIONRANGE_LIMITED = 1,
977  dsDISPLAY_QUANTIZATIONRANGE_FULL = 2
978 } dsDisplayQuantizationRange_t;
979 
980 typedef enum _dsDisplayColorDepth_t
981 {
982  dsDISPLAY_COLORDEPTH_UNKNOWN = 0x0, /* Unknown color depth */
983  dsDISPLAY_COLORDEPTH_8BIT = 0x01, /* 8 bit color depth */
984  dsDISPLAY_COLORDEPTH_10BIT = 0x02, /* 10 bit color depth */
985  dsDISPLAY_COLORDEPTH_12BIT = 0x04, /* 12 bit color depth */
986  dsDISPLAY_COLORDEPTH_AUTO = 0x08 /* Automatic color depth */
987 } dsDisplayColorDepth_t;
988 
989 /**
990  * Sleep mode validation check.
991  */
992 #define dsSleepMode_isValid(t) (((t) >= dsHOST_SLEEP_MODE_LIGHT) && ((t) < dsHOST_SLEEP_MODE_MAX))
993 
994 
995 /* End of DSHAL_DISPLAY_TYPES doxygen group */
996 /**
997  * @}
998  */
999 
1000 
1001 
1002  /** @addtogroup DSHAL_HDMI_IN_TYPES Device Settings HAL HDMI IN Type Definitions
1003  * @ingroup DSHAL_HDMI_IN
1004  * @{
1005  */
1006 typedef enum _dsHdmiInPort_t
1007 {
1008  dsHDMI_IN_PORT_NONE = -1,
1009  dsHDMI_IN_PORT_0,
1010  dsHDMI_IN_PORT_1,
1011  dsHDMI_IN_PORT_2,
1012  dsHDMI_IN_PORT_MAX
1013 } dsHdmiInPort_t;
1014 
1015 /** @addtogroup DSHAL_HDMI_IN_TYPES Device Settings HAL HDMI IN Signal Status Definitions
1016  * @ingroup DSHAL_HDMI_IN
1017  * @{
1018  */
1019 typedef enum _dsHdmiInSignalStatus_t
1020 {
1021  dsHDMI_IN_SIGNAL_STATUS_NONE = -1,
1022  dsHDMI_IN_SIGNAL_STATUS_NOSIGNAL,
1023  dsHDMI_IN_SIGNAL_STATUS_UNSTABLE,
1024  dsHDMI_IN_SIGNAL_STATUS_NOTSUPPORTED,
1025  dsHDMI_IN_SIGNAL_STATUS_STABLE,
1026  dsHDMI_IN_SIGNAL_STATUS_MAX
1027 } dsHdmiInSignalStatus_t;
1028 
1029 typedef struct _dsHdmiInStatus_t
1030 {
1031  bool isPresented; /**< Boolean flag indicating Hdmi Input is enabled for presentation by client */
1032  bool isPortConnected[dsHDMI_IN_PORT_MAX]; /**< Boolean flag indicating Hdmi source connected to this Hdmi Input port */
1033  dsHdmiInPort_t activePort; /**< Hdmi Input Port selected as the currently active port (to the set-top)
1034  - note that only one HDMI Input port can be active at a time */
1036 
1037 typedef struct _dsHdmiInCap_t
1038 {
1039  bool isPortArcCapable[dsHDMI_IN_PORT_MAX]; /**< Boolean flag indicating Hdmi source is ARC capable */
1040 } dsHdmiInCap_t;
1041 
1042 
1043 /* End of DSHAL_HDMI_IN_TYPES doxygen group */
1044 /**
1045  * @}
1046  */
1047 
1048 
1049 /** @addtogroup DSHAL_COMPOSITE_IN_TYPES Device Settings HAL Composite IN Signal Status Definitions
1050  * @ingroup DSHAL_COMPOSITE_IN
1051  * @{
1052  */
1053 typedef enum _dsCompInSignalStatus_t
1054 {
1055  dsCOMP_IN_SIGNAL_STATUS_NONE = -1,
1056  dsCOMP_IN_SIGNAL_STATUS_NOSIGNAL,
1057  dsCOMP_IN_SIGNAL_STATUS_UNSTABLE,
1058  dsCOMP_IN_SIGNAL_STATUS_NOTSUPPORTED,
1059  dsCOMP_IN_SIGNAL_STATUS_STABLE,
1060  dsCOMP_IN_SIGNAL_STATUS_MAX
1061 } dsCompInSignalStatus_t;
1062 
1063 
1064  /** @addtogroup DSHAL_HDMI_IN_TYPES Device Settings HAL COMPOSITE IN Type Definitions
1065  * @ingroup DSHAL_COMPOSITE_IN
1066  * @{
1067  */
1068 typedef enum _dsCompositeInPort_t
1069 {
1070  dsCOMPOSITE_IN_PORT_NONE = -1,
1071  dsCOMPOSITE_IN_PORT_0,
1072  dsCOMPOSITE_IN_PORT_1,
1073  dsCOMPOSITE_IN_PORT_MAX
1074 } dsCompositeInPort_t;
1075 
1077 {
1078  bool isPresented; /**< Boolean flag indicating Composite Input is enabled for presentation by client */
1079  bool isPortConnected[dsCOMPOSITE_IN_PORT_MAX]; /**< Boolean flag indicating Composite source connected to this Composite Input port */
1080  dsCompositeInPort_t activePort; /**< Composite Input Port selected as the currently active port (to the set-top)
1081  - note that only one COMPOSITE Input port can be active at a time */
1083 
1084 /* End of DSHAL_COMPOSITE_IN doxygen group */
1085 /**
1086  * @}
1087  */
1088 
1089 /* List of video compression formats that may be supported by the decoder. */
1090 typedef enum
1091 {
1092  dsVIDEO_CODEC_MPEGHPART2 = (0x01 << 0), //Also known HEVC, H.265
1093  dsVIDEO_CODEC_MPEG4PART10 = (0x01 << 1), //Also known as H.264, MPEG4 AVC
1094  dsVIDEO_CODEC_MPEG2 = (0x01 << 2),
1095 } dsVideoCodingFormat_t;
1096 
1097 /* HEVC version 1 profiles are listed. More may be added to it as the support becomes available.*/
1098 typedef enum
1099 {
1100  dsVIDEO_CODEC_HEVC_PROFILE_MAIN = (0x01 << 0),
1101  dsVIDEO_CODEC_HEVC_PROFILE_MAIN10 = (0x01 << 1),
1102  dsVIDEO_CODEC_HEVC_PROFILE_MAINSTILLPICTURE = (0x01 << 2),
1103 } dsVideoCodecHevcProfiles_t;
1104 
1105 typedef struct
1106 {
1107  dsVideoCodecHevcProfiles_t profile;
1108  float level;
1110 
1111 typedef struct
1112 {
1113  unsigned int num_entries;
1114  dsVideoCodecProfileSupport_t entries[10];
1116 
1118  uint8_t pkttype;
1119  uint8_t version;
1120  uint8_t length; /*length=25*/
1121  uint8_t rsd;
1122  uint8_t checksum;
1123  /*Vendor Name Character*/
1124  uint8_t vendor_name[8];
1125  /*Product Description Character*/
1126  uint8_t product_des[16];
1127  /*byte 25*/
1128  uint8_t source_info;
1129 } ;
1130 
1131 typedef enum tv_hdmi_edid_version_e {
1132  HDMI_EDID_VER_14 = 0,
1133  HDMI_EDID_VER_20,
1134  HDMI_EDID_VER_MAX,
1135 } tv_hdmi_edid_version_t;
1136 
1137 /**
1138  * @brief Structure that captures Supported Game Features list
1139  */
1140 #define MAX_FEATURE_LIST_BUFFER_LEN 1024
1142  char gameFeatureList[MAX_FEATURE_LIST_BUFFER_LEN]; // buffer containing the list of comma separated supported game features (e.g: "allm")
1143  int gameFeatureCount; // Total number of supported game features
1145 
1146 typedef enum _dsAudioPortState {
1147  dsAUDIOPORT_STATE_UNINITIALIZED,
1148  dsAUDIOPORT_STATE_INITIALIZED,
1149  dsAUDIOPORT_STATE_MAX
1150 } dsAudioPortState_t;
1151 
1152  /** @addtogroup DSHAL_VERSION_TYPES Device Settings HAL VERSION Definitions
1153  * @ingroup DSHAL_VERSION
1154  * @{
1155  */
1156 
1157 #define dsHAL_APIVER(major, minor) (uint32_t)((major << 16) | (minor & 0xFFFF)) /**< Return 4 Bytes version value */
1158 
1159 #define dsHAL_APIVER_MAJOR(x) ((x) >> 16) & (0x7FFF) /**< Return the two Most Significant Byte value */
1160 
1161 #define dsHAL_APIVER_MINOR(x) (x & 0xFFFF) /**< Return the two Least Significant Byte value */
1162 
1163 
1164 /* End of DSHAL_VERSION_TYPES doxygen group */
1165 /**
1166  * @}
1167  */
1168 #endif
1169 
1170 
1171 
1172 /** @} */
1173 /** @} */
dsVIDEO_ZOOM_WIDE_4_3
@ dsVIDEO_ZOOM_WIDE_4_3
Definition: dsTypes.h:590
dsAUDIOPORT_TYPE_SPEAKER
@ dsAUDIOPORT_TYPE_SPEAKER
Definition: dsTypes.h:169
dsTV_RESOLUTION_480i
@ dsTV_RESOLUTION_480i
Definition: dsTypes.h:474
dsVIDEO_ZOOM_UNKNOWN
@ dsVIDEO_ZOOM_UNKNOWN
Definition: dsTypes.h:578
_dsAudioPortConfig_t::id
dsAudioPortId_t id
Definition: dsTypes.h:727
_dsVideoConfig_t::defaultDFC
dsVideoZoom_t defaultDFC
Definition: dsTypes.h:615
dsVIDEO_FRAMERATE_25
@ dsVIDEO_FRAMERATE_25
Definition: dsTypes.h:505
_dsHdmiInStatus_t::isPortConnected
bool isPortConnected[dsHDMI_IN_PORT_MAX]
Definition: dsTypes.h:1032
_dsAudioARCStatus_t
Structure that defines ARC status for the HDMI ARC/EARC port.
Definition: dsTypes.h:307
dsEEDID_MAX_MON_NAME_LENGTH
#define dsEEDID_MAX_MON_NAME_LENGTH
Definition: dsTypes.h:892
_dsAudioCapabilities_t
_dsAudioCapabilities_t
Definition: dsTypes.h:270
dsTV_RESOLUTION_1080p50
@ dsTV_RESOLUTION_1080p50
Definition: dsTypes.h:487
_dsVideoConfig_t::numSupportedDFCs
size_t numSupportedDFCs
Definition: dsTypes.h:613
_dsVideoPortTypeConfig_t::numSupportedResolutions
size_t numSupportedResolutions
Definition: dsTypes.h:679
dsPOWER_OFF
@ dsPOWER_OFF
Definition: dsTypes.h:929
_dsAudioSADList_t
Definition: dsTypes.h:299
_dsAudioEncoding_t
_dsAudioEncoding_t
Definition: dsTypes.h:183
dsVIDEO_FRAMERATE_UNKNOWN
@ dsVIDEO_FRAMERATE_UNKNOWN
Definition: dsTypes.h:503
_dsAudioTypeConfig_t::typeId
int32_t typeId
Definition: dsTypes.h:628
_dsHdcpProtocolVersion_t
_dsHdcpProtocolVersion_t
Definition: dsTypes.h:404
dsVIDEO_FRAMERATE_60
@ dsVIDEO_FRAMERATE_60
Definition: dsTypes.h:507
dsVIDEO_SSMODE_MAX
@ dsVIDEO_SSMODE_MAX
Definition: dsTypes.h:566
dsVIDEO_FRAMERATE_23dot98
@ dsVIDEO_FRAMERATE_23dot98
Definition: dsTypes.h:508
_dsVideoFrameRate_t
_dsVideoFrameRate_t
Definition: dsTypes.h:502
dsSpd_infoframe_st
Definition: dsTypes.h:1117
dsAUDIO_CMP_MAX
@ dsAUDIO_CMP_MAX
Definition: dsTypes.h:205
dsHDCP_STATUS_AUTHENTICATED
@ dsHDCP_STATUS_AUTHENTICATED
Definition: dsTypes.h:416
dsEEDID_MAX_VIDEO_CODE
#define dsEEDID_MAX_VIDEO_CODE
Definition: dsTypes.h:889
_dsSleepMode_t
_dsSleepMode_t
Definition: dsTypes.h:920
dsSurroundVirtualizer_t
struct _dsSurroundVirtualizer_t dsSurroundVirtualizer_t
dsAUDIOPORT_TYPE_MAX
@ dsAUDIOPORT_TYPE_MAX
Definition: dsTypes.h:172
dsVIDEO_FRAMERATE_30
@ dsVIDEO_FRAMERATE_30
Definition: dsTypes.h:506
_dsAudioFormat_t
_dsAudioFormat_t
Definition: dsTypes.h:212
dsFPD_MODE_TEXT
@ dsFPD_MODE_TEXT
Definition: dsTypes.h:869
dsVideoAspectRatio_t
enum _dsVideoAspectRatio_t dsVideoAspectRatio_t
_dsDisplayEDID_t::hdmiDeviceType
bool hdmiDeviceType
Definition: dsTypes.h:906
dsVIDEO_PIXELRES_720x576
@ dsVIDEO_PIXELRES_720x576
Definition: dsTypes.h:460
dsHOST_SLEEP_MODE_DEEP
@ dsHOST_SLEEP_MODE_DEEP
Definition: dsTypes.h:922
dsHDRSTANDARD_HDR10PLUS
@ dsHDRSTANDARD_HDR10PLUS
Definition: dsTypes.h:698
_dsAudioDuckingType_t
_dsAudioDuckingType_t
Definition: dsTypes.h:243
dsHDCP_STATUS_MAX
@ dsHDCP_STATUS_MAX
Definition: dsTypes.h:420
dsAUDIO_ATMOS_NOTSUPPORTED
@ dsAUDIO_ATMOS_NOTSUPPORTED
Definition: dsTypes.h:387
_dsAudioPortType_t
_dsAudioPortType_t
Definition: dsTypes.h:165
_dsAudioDuckingAction_t
_dsAudioDuckingAction_t
Definition: dsTypes.h:235
__dsFPDState_t
__dsFPDState_t
Definition: dsTypes.h:818
dsTV_RESOLUTION_576p50
@ dsTV_RESOLUTION_576p50
Definition: dsTypes.h:478
_dsVolumeLeveller_t
Definition: dsTypes.h:352
_dsAudioTypeConfig_t::numSupportedStereoModes
size_t numSupportedStereoModes
Definition: dsTypes.h:634
dsVIDEO_FRAMERATE_59dot94
@ dsVIDEO_FRAMERATE_59dot94
Definition: dsTypes.h:511
dsVIDEOPORT_TYPE_HDMI
@ dsVIDEOPORT_TYPE_HDMI
Definition: dsTypes.h:441
dsAudioDuckingType_t
enum _dsAudioDuckingType_t dsAudioDuckingType_t
_dsSupportedGameFeatureList_t
Definition: dsTypes.h:1141
dsVIDEO_ASPECT_RATIO_16x9
@ dsVIDEO_ASPECT_RATIO_16x9
Definition: dsTypes.h:549
dsSleepMode_t
enum _dsSleepMode_t dsSleepMode_t
_dsAudioTypeConfig_t::name
const char * name
Definition: dsTypes.h:629
dsAudioPortType_t
enum _dsAudioPortType_t dsAudioPortType_t
dsHDRSTANDARD_DolbyVision
@ dsHDRSTANDARD_DolbyVision
Definition: dsTypes.h:696
dsVIDEO_ZOOM_CCO
@ dsVIDEO_ZOOM_CCO
Definition: dsTypes.h:583
_dsVideoPortResolution_t::stereoScopicMode
dsVideoStereoScopicMode_t stereoScopicMode
Definition: dsTypes.h:646
dsPOWER_STANDBY
@ dsPOWER_STANDBY
Definition: dsTypes.h:928
dsVIDEOPORT_TYPE_1394
@ dsVIDEOPORT_TYPE_1394
Definition: dsTypes.h:438
dsVideoCodecProfileSupport_t
Definition: dsTypes.h:1105
dsHDCP_STATUS_UNAUTHENTICATED
@ dsHDCP_STATUS_UNAUTHENTICATED
Definition: dsTypes.h:415
_dsHdmiInStatus_t::activePort
dsHdmiInPort_t activePort
Definition: dsTypes.h:1033
_dsCompositeInStatus_t::activePort
dsCompositeInPort_t activePort
Definition: dsTypes.h:1080
dsAUDIO_FORMAT_MAX
@ dsAUDIO_FORMAT_MAX
Definition: dsTypes.h:228
dsFPDTimeFormat_t
enum __dsFPDTimeFormat_t dsFPDTimeFormat_t
dsVIDEO_FRAMERATE_MAX
@ dsVIDEO_FRAMERATE_MAX
Definition: dsTypes.h:512
dsFPDBrightness_t
uint32_t dsFPDBrightness_t
Definition: dsTypes.h:862
dsHDCP_STATUS_INPROGRESS
@ dsHDCP_STATUS_INPROGRESS
Definition: dsTypes.h:418
_dsVideoPortPortConfig_t::connectedAOP
dsAudioPortId_t connectedAOP
Definition: dsTypes.h:739
dsVIDEO_PIXELRES_1280x720
@ dsVIDEO_PIXELRES_1280x720
Definition: dsTypes.h:461
dsFPD_MODE_CLOCK
@ dsFPD_MODE_CLOCK
Definition: dsTypes.h:870
dsAudioARCStatus_t
struct _dsAudioARCStatus_t dsAudioARCStatus_t
Structure that defines ARC status for the HDMI ARC/EARC port.
dsVideoFrameRate_t
enum _dsVideoFrameRate_t dsVideoFrameRate_t
dsVideoPortType_t
enum _dsVideoPortType_t dsVideoPortType_t
_dsVideoPortTypeConfig_t::typeId
dsVideoPortType_t typeId
Definition: dsTypes.h:674
dsAUDIO_STEREO_STEREO
@ dsAUDIO_STEREO_STEREO
Definition: dsTypes.h:376
_dsDisplayEDID_t::physicalAddressC
uint8_t physicalAddressC
Definition: dsTypes.h:910
dsHDCP_VERSION_MAX
@ dsHDCP_VERSION_MAX
Definition: dsTypes.h:407
_dsAudioTypeConfig_t::encodings
const dsAudioEncoding_t * encodings
Definition: dsTypes.h:633
_dsVideoScanMode_t
_dsVideoScanMode_t
Definition: dsTypes.h:523
_dsAudioPortId_t::index
int32_t index
Definition: dsTypes.h:657
dsVIDEO_ZOOM_16_9_ZOOM
@ dsVIDEO_ZOOM_16_9_ZOOM
Definition: dsTypes.h:588
dsAUDIO_ENC_MAX
@ dsAUDIO_ENC_MAX
Definition: dsTypes.h:189
dsMS12FEATURE_t
enum _dsMS12FEATURE_t dsMS12FEATURE_t
dsHDCP_STATUS_PORTDISABLED
@ dsHDCP_STATUS_PORTDISABLED
Definition: dsTypes.h:419
dsAUDIO_DUCKINGACTION_START
@ dsAUDIO_DUCKINGACTION_START
Definition: dsTypes.h:236
_dsVideoPortResolution_t::pixelResolution
dsVideoResolution_t pixelResolution
Definition: dsTypes.h:644
dsFPD_STATE_ON
@ dsFPD_STATE_ON
Definition: dsTypes.h:821
dsTV_RESOLUTION_2160p60
@ dsTV_RESOLUTION_2160p60
Definition: dsTypes.h:491
dsAudioPortId_t
struct _dsAudioPortId_t dsAudioPortId_t
Structure that defines the audio port type and associated ID.
dsVIDEO_FRAMERATE_29dot97
@ dsVIDEO_FRAMERATE_29dot97
Definition: dsTypes.h:509
_dsVideoPortTypeConfig_t::dtcpSupported
bool dtcpSupported
Definition: dsTypes.h:676
dsVideoPortResolution_t
struct _dsVideoPortResolution_t dsVideoPortResolution_t
Structure that defines video port resolution settings of output video device.
_dsCompositeInStatus_t::isPortConnected
bool isPortConnected[dsCOMPOSITE_IN_PORT_MAX]
Definition: dsTypes.h:1079
dsAUDIO_ENC_NONE
@ dsAUDIO_ENC_NONE
Definition: dsTypes.h:184
dsAUDIO_ENC_EAC3
@ dsAUDIO_ENC_EAC3
Definition: dsTypes.h:188
dsVIDEO_BGCOLOR_BLUE
@ dsVIDEO_BGCOLOR_BLUE
Definition: dsTypes.h:533
dsAUDIOPORT_TYPE_HEADPHONE
@ dsAUDIOPORT_TYPE_HEADPHONE
Definition: dsTypes.h:171
_dsVideoPortTypeConfig_t::name
const char * name
Definition: dsTypes.h:675
__dsFPDTimeFormat_t
__dsFPDTimeFormat_t
Definition: dsTypes.h:845
dsHDRSTANDARD_HDR10
@ dsHDRSTANDARD_HDR10
Definition: dsTypes.h:694
dsAUDIO_ENC_PCM
@ dsAUDIO_ENC_PCM
Definition: dsTypes.h:186
_dsVideoPortPortConfig_t::defaultResolution
const char * defaultResolution
Definition: dsTypes.h:740
dsVIDEO_ZOOM_NONE
@ dsVIDEO_ZOOM_NONE
Definition: dsTypes.h:579
_dsHdmiInStatus_t::isPresented
bool isPresented
Definition: dsTypes.h:1031
_dsAudioTypeConfig_t
Structure that defines audio output device configuration.
Definition: dsTypes.h:627
_dsAudioARCTypes_t
_dsAudioARCTypes_t
Definition: dsTypes.h:288
_dsVideoPortPortConfig_t::id
dsVideoPortPortId_t id
Definition: dsTypes.h:738
dsVIDEOPORT_TYPE_INTERNAL
@ dsVIDEOPORT_TYPE_INTERNAL
Definition: dsTypes.h:443
_dsPowerState_t
_dsPowerState_t
Definition: dsTypes.h:926
dsHDCP_VERSION_2X
@ dsHDCP_VERSION_2X
Definition: dsTypes.h:406
dsVIDEOPORT_TYPE_RF
@ dsVIDEOPORT_TYPE_RF
Definition: dsTypes.h:435
_dsSurroundVirtualizer_t
Definition: dsTypes.h:360
_dsDisplayEDID_t::monitorName
char monitorName[14]
Definition: dsTypes.h:914
_dsAudioPortConfig_t::connectedVOPs
const dsVideoPortPortId_t * connectedVOPs
Definition: dsTypes.h:728
dsTV_RESOLUTION_1080i50
@ dsTV_RESOLUTION_1080i50
Definition: dsTypes.h:486
dsVolumeLeveller_t
struct _dsVolumeLeveller_t dsVolumeLeveller_t
dsFPDTextDisplay_t
enum __dsFPDTextDisplay_t dsFPDTextDisplay_t
dsVIDEO_SCANMODE_PROGRESSIVE
@ dsVIDEO_SCANMODE_PROGRESSIVE
Definition: dsTypes.h:525
dsTV_RESOLUTION_1080p60
@ dsTV_RESOLUTION_1080p60
Definition: dsTypes.h:488
dsHDCP_STATUS_UNPOWERED
@ dsHDCP_STATUS_UNPOWERED
Definition: dsTypes.h:414
dsHOST_SLEEP_MODE_MAX
@ dsHOST_SLEEP_MODE_MAX
Definition: dsTypes.h:923
dsVideoResolution_t
enum _dsVideoResolution_t dsVideoResolution_t
dsVIDEOPORT_TYPE_BB
@ dsVIDEOPORT_TYPE_BB
Definition: dsTypes.h:436
MAX_SAD
#define MAX_SAD
Structure that defines Short Audio Descriptors retrieved from connected ARC device.
Definition: dsTypes.h:298
dsHDRSTANDARD_Invalid
@ dsHDRSTANDARD_Invalid
Definition: dsTypes.h:700
dsAUDIO_STEREO_SURROUND
@ dsAUDIO_STEREO_SURROUND
Definition: dsTypes.h:377
dsAudioCapabilities_t
enum _dsAudioCapabilities_t dsAudioCapabilities_t
dsVideoBackgroundColor_t
enum _dsVideoBackgroundColor_t dsVideoBackgroundColor_t
dsVIDEOPORT_TYPE_SCART
@ dsVIDEOPORT_TYPE_SCART
Definition: dsTypes.h:444
dsVIDEO_SCANMODE_MAX
@ dsVIDEO_SCANMODE_MAX
Definition: dsTypes.h:526
_dsDisplayEDID_t::numOfSupportedResolution
int32_t numOfSupportedResolution
Definition: dsTypes.h:912
MAX_FEATURE_LIST_BUFFER_LEN
#define MAX_FEATURE_LIST_BUFFER_LEN
Structure that captures Supported Game Features list.
Definition: dsTypes.h:1140
_dsDisplayEDID_t::manufactureWeek
int32_t manufactureWeek
Definition: dsTypes.h:905
_dsVideoPortPortConfig_t
Structure that defines video port configuration settings.
Definition: dsTypes.h:737
dsFPDState_t
enum __dsFPDState_t dsFPDState_t
dsVIDEO_SSMODE_3D_TOP_AND_BOTTOM
@ dsVIDEO_SSMODE_3D_TOP_AND_BOTTOM
Definition: dsTypes.h:565
_dsAudioTypeConfig_t::numSupportedEncodings
size_t numSupportedEncodings
Definition: dsTypes.h:632
dsDialogEnhancer_t
int dsDialogEnhancer_t
Definition: dsTypes.h:256
__dsFPDTextDisplay_t
__dsFPDTextDisplay_t
Definition: dsTypes.h:803
_dsVideoPortTypeConfig_t::supportedResolutions
dsVideoPortResolution_t * supportedResolutions
Definition: dsTypes.h:680
dsTV_RESOLUTION_1080i25
@ dsTV_RESOLUTION_1080i25
Definition: dsTypes.h:484
dsVIDEOPORT_TYPE_HDMI_INPUT
@ dsVIDEOPORT_TYPE_HDMI_INPUT
Definition: dsTypes.h:442
dsTV_RESOLUTION_2160p50
@ dsTV_RESOLUTION_2160p50
Definition: dsTypes.h:490
dsVideoScanMode_t
enum _dsVideoScanMode_t dsVideoScanMode_t
dsTV_RESOLUTION_1080p30
@ dsTV_RESOLUTION_1080p30
Definition: dsTypes.h:485
_dsVideoZoom_t
_dsVideoZoom_t
Definition: dsTypes.h:577
dsVIDEO_FRAMERATE_50
@ dsVIDEO_FRAMERATE_50
Definition: dsTypes.h:510
_dsCompositeInStatus_t
Definition: dsTypes.h:1076
dsAUDIO_STEREO_DDPLUS
@ dsAUDIO_STEREO_DDPLUS
Definition: dsTypes.h:380
_dsDisplayEDID_t::physicalAddressA
uint8_t physicalAddressA
Definition: dsTypes.h:908
dsTV_RESOLUTION_720p
@ dsTV_RESOLUTION_720p
Definition: dsTypes.h:479
_dsVideoPortPortId_t::type
dsVideoPortType_t type
Definition: dsTypes.h:665
dsVIDEOPORT_TYPE_SVIDEO
@ dsVIDEOPORT_TYPE_SVIDEO
Definition: dsTypes.h:437
_dsVideoPortTypeConfig_t::restrictedResollution
int32_t restrictedResollution
Definition: dsTypes.h:678
dsTVResolution_t
enum _dsTVResolution_t dsTVResolution_t
_dsAudioTypeConfig_t::numSupportedCompressions
size_t numSupportedCompressions
Definition: dsTypes.h:630
_dsVideoPortTypeConfig_t
Structure that defines the video output port configuration.
Definition: dsTypes.h:673
dsVIDEO_ZOOM_PAN_SCAN
@ dsVIDEO_ZOOM_PAN_SCAN
Definition: dsTypes.h:584
_dsDisplayEDID_t::manufactureYear
int32_t manufactureYear
Definition: dsTypes.h:904
dsFPD_TIME_24_HOUR
@ dsFPD_TIME_24_HOUR
Definition: dsTypes.h:848
dsVIDEO_BGCOLOR_MAX
@ dsVIDEO_BGCOLOR_MAX
Definition: dsTypes.h:536
dsVideoConfig_t
struct _dsVideoConfig_t dsVideoConfig_t
Structure that defines video device configuration for the output.
_dsVideoPortType_t
_dsVideoPortType_t
Definition: dsTypes.h:434
dsAudioStereoMode_t
enum StereoMode dsAudioStereoMode_t
_dsAudioCompression_t
_dsAudioCompression_t
Definition: dsTypes.h:200
dsAUDIOPORT_TYPE_SPDIF
@ dsAUDIOPORT_TYPE_SPDIF
Definition: dsTypes.h:168
dsVideoPortPortConfig_t
struct _dsVideoPortPortConfig_t dsVideoPortPortConfig_t
Structure that defines video port configuration settings.
__dsFPDLedState_t
__dsFPDLedState_t
Definition: dsTypes.h:827
dsVideoZoom_t
enum _dsVideoZoom_t dsVideoZoom_t
_dsHdmiInCap_t::isPortArcCapable
bool isPortArcCapable[dsHDMI_IN_PORT_MAX]
Definition: dsTypes.h:1039
_dsHdmiInStatus_t
Definition: dsTypes.h:1029
dsSURROUNDMode_t
enum _dsSURROUNDMode_t dsSURROUNDMode_t
dsVIDEO_ZOOM_LB_14_9
@ dsVIDEO_ZOOM_LB_14_9
Definition: dsTypes.h:582
dsVIDEO_ASPECT_RATIO_4x3
@ dsVIDEO_ASPECT_RATIO_4x3
Definition: dsTypes.h:548
StereoMode
StereoMode
Definition: dsTypes.h:373
_dsVideoBackgroundColor_t
_dsVideoBackgroundColor_t
Definition: dsTypes.h:532
dsHDRSTANDARD_SDR
@ dsHDRSTANDARD_SDR
Definition: dsTypes.h:699
dsHDRSTANDARD_NONE
@ dsHDRSTANDARD_NONE
Definition: dsTypes.h:693
dsTV_RESOLUTION_1080p
@ dsTV_RESOLUTION_1080p
Definition: dsTypes.h:482
_dsVideoPortResolution_t::aspectRatio
dsVideoAspectRatio_t aspectRatio
Definition: dsTypes.h:645
_dsHDRStandard_t
_dsHDRStandard_t
Definition: dsTypes.h:692
_dsMS12Capabilities_t
_dsMS12Capabilities_t
Definition: dsTypes.h:318
dsAUDIO_ATMOS_ATMOSMETADATA
@ dsAUDIO_ATMOS_ATMOSMETADATA
Definition: dsTypes.h:389
_dsDisplayEDID_t
Defines the structure that is used to get the EDID information of the video display.
Definition: dsTypes.h:901
dsAUDIO_STEREO_PASSTHRU
@ dsAUDIO_STEREO_PASSTHRU
Definition: dsTypes.h:378
dsVIDEO_ZOOM_LB_2_21_1_ON_16_9
@ dsVIDEO_ZOOM_LB_2_21_1_ON_16_9
Definition: dsTypes.h:586
dsVIDEO_PIXELRES_720x480
@ dsVIDEO_PIXELRES_720x480
Definition: dsTypes.h:459
_dsATMOSCapability_t
_dsATMOSCapability_t
Definition: dsTypes.h:386
dsAUDIO_DUCKINGACTION_STOP
@ dsAUDIO_DUCKINGACTION_STOP
Definition: dsTypes.h:237
dsTV_RESOLUTION_1080p24
@ dsTV_RESOLUTION_1080p24
Definition: dsTypes.h:483
dsVIDEO_ZOOM_LB_2_21_1_ON_4_3
@ dsVIDEO_ZOOM_LB_2_21_1_ON_4_3
Definition: dsTypes.h:585
_dsVideoStereoScopicMode_t
_dsVideoStereoScopicMode_t
Definition: dsTypes.h:561
_dsVideoConfig_t::supportedDFCs
const dsVideoZoom_t * supportedDFCs
Definition: dsTypes.h:614
dsFPD_TIME_12_HOUR
@ dsFPD_TIME_12_HOUR
Definition: dsTypes.h:847
dsFPD_TEXTDISP_MAX
@ dsFPD_TEXTDISP_MAX
Definition: dsTypes.h:806
dsHDRStandard_t
enum _dsHDRStandard_t dsHDRStandard_t
_dsVideoPortResolution_t
Structure that defines video port resolution settings of output video device.
Definition: dsTypes.h:642
dsAudioARCTypes_t
enum _dsAudioARCTypes_t dsAudioARCTypes_t
_dsAudioPortId_t
Structure that defines the audio port type and associated ID.
Definition: dsTypes.h:655
dsAUDIO_CMP_LIGHT
@ dsAUDIO_CMP_LIGHT
Definition: dsTypes.h:202
_dsAudioTypeConfig_t::stereoModes
const dsAudioStereoMode_t * stereoModes
Definition: dsTypes.h:635
dsVIDEO_SSMODE_UNKNOWN
@ dsVIDEO_SSMODE_UNKNOWN
Definition: dsTypes.h:562
dsDisplayEDID_t
struct _dsDisplayEDID_t dsDisplayEDID_t
Defines the structure that is used to get the EDID information of the video display.
dsIntelligentEqualizerMode_t
int dsIntelligentEqualizerMode_t
Definition: dsTypes.h:261
dsVIDEO_ZOOM_PILLARBOX_4_3
@ dsVIDEO_ZOOM_PILLARBOX_4_3
Definition: dsTypes.h:589
_dsDisplayEDID_t::productCode
int32_t productCode
Definition: dsTypes.h:902
_dsVideoConfig_t
Structure that defines video device configuration for the output.
Definition: dsTypes.h:612
dsVideoPortTypeConfig_t
struct _dsVideoPortTypeConfig_t dsVideoPortTypeConfig_t
Structure that defines the video output port configuration.
_dsVideoPortResolution_t::name
char name[32]
Definition: dsTypes.h:643
dsVIDEO_BGCOLOR_NONE
@ dsVIDEO_BGCOLOR_NONE
Definition: dsTypes.h:535
dsVIDEOPORT_TYPE_DVI
@ dsVIDEOPORT_TYPE_DVI
Definition: dsTypes.h:439
dsVIDEO_PIXELRES_MAX
@ dsVIDEO_PIXELRES_MAX
Definition: dsTypes.h:467
dsTV_RESOLUTION_576p
@ dsTV_RESOLUTION_576p
Definition: dsTypes.h:477
_dsSURROUNDMode_t
_dsSURROUNDMode_t
Definition: dsTypes.h:708
dsVIDEO_ZOOM_PLATFORM
@ dsVIDEO_ZOOM_PLATFORM
Definition: dsTypes.h:587
_dsVideoAspectRatio_t
_dsVideoAspectRatio_t
Definition: dsTypes.h:547
_dsDisplayEDID_t::physicalAddressB
uint8_t physicalAddressB
Definition: dsTypes.h:909
dsVIDEOPORT_TYPE_MAX
@ dsVIDEOPORT_TYPE_MAX
Definition: dsTypes.h:445
dsFPD_TIME_STRING
@ dsFPD_TIME_STRING
Definition: dsTypes.h:849
dsHOST_SLEEP_MODE_LIGHT
@ dsHOST_SLEEP_MODE_LIGHT
Definition: dsTypes.h:921
dsFPDMode_t
enum __dsFPDMode_t dsFPDMode_t
dsVideoCodecInfo_t
Definition: dsTypes.h:1111
dsMS12Capabilities_t
enum _dsMS12Capabilities_t dsMS12Capabilities_t
_dsHdmiInCap_t
Definition: dsTypes.h:1037
dsAUDIO_ENC_AC3
@ dsAUDIO_ENC_AC3
Definition: dsTypes.h:187
dsAUDIO_STEREO_UNKNOWN
@ dsAUDIO_STEREO_UNKNOWN
Definition: dsTypes.h:374
dsAudioTypeConfig_t
struct _dsAudioTypeConfig_t dsAudioTypeConfig_t
Structure that defines audio output device configuration.
dsVIDEO_SSMODE_3D_SIDE_BY_SIDE
@ dsVIDEO_SSMODE_3D_SIDE_BY_SIDE
Definition: dsTypes.h:564
dsVIDEO_FRAMERATE_24
@ dsVIDEO_FRAMERATE_24
Definition: dsTypes.h:504
dsAUDIO_ATMOS_DDPLUSSTREAM
@ dsAUDIO_ATMOS_DDPLUSSTREAM
Definition: dsTypes.h:388
dsFPD_TEXTDISP_TEXT
@ dsFPD_TEXTDISP_TEXT
Definition: dsTypes.h:805
dsAUDIO_DUCKINGTYPE_RELATIVE
@ dsAUDIO_DUCKINGTYPE_RELATIVE
Definition: dsTypes.h:245
dsVIDEO_ZOOM_FULL
@ dsVIDEO_ZOOM_FULL
Definition: dsTypes.h:580
_dsDisplayEDID_t::isRepeater
bool isRepeater
Definition: dsTypes.h:907
dsAUDIO_ENC_DISPLAY
@ dsAUDIO_ENC_DISPLAY
Definition: dsTypes.h:185
_dsVideoPortPortId_t
Structure that defines port id associated with video port.
Definition: dsTypes.h:664
dsTV_RESOLUTION_2160p30
@ dsTV_RESOLUTION_2160p30
Definition: dsTypes.h:489
dsFPD_MODE_ANY
@ dsFPD_MODE_ANY
Definition: dsTypes.h:868
_dsVideoPortPortId_t::index
int32_t index
Definition: dsTypes.h:666
dsVIDEOPORT_TYPE_COMPONENT
@ dsVIDEOPORT_TYPE_COMPONENT
Definition: dsTypes.h:440
dsHDRSTANDARD_TechnicolorPrime
@ dsHDRSTANDARD_TechnicolorPrime
Definition: dsTypes.h:697
dsVIDEO_ZOOM_LB_16_9
@ dsVIDEO_ZOOM_LB_16_9
Definition: dsTypes.h:581
dsHDRSTANDARD_HLG
@ dsHDRSTANDARD_HLG
Definition: dsTypes.h:695
dsAUDIO_CMP_HEAVY
@ dsAUDIO_CMP_HEAVY
Definition: dsTypes.h:204
dsHDCP_STATUS_AUTHENTICATIONFAILURE
@ dsHDCP_STATUS_AUTHENTICATIONFAILURE
Definition: dsTypes.h:417
_dsCompositeInStatus_t::isPresented
bool isPresented
Definition: dsTypes.h:1078
_dsTVResolution_t
_dsTVResolution_t
Definition: dsTypes.h:473
dsTV_RESOLUTION_1080i
@ dsTV_RESOLUTION_1080i
Definition: dsTypes.h:481
_dsVideoPortResolution_t::frameRate
dsVideoFrameRate_t frameRate
Definition: dsTypes.h:647
dsAudioFormat_t
enum _dsAudioFormat_t dsAudioFormat_t
dsFPDLedState_t
enum __dsFPDLedState_t dsFPDLedState_t
dsAudioCompressionValue_t
int dsAudioCompressionValue_t
Definition: dsTypes.h:251
dsVIDEO_PIXELRES_1920x1080
@ dsVIDEO_PIXELRES_1920x1080
Definition: dsTypes.h:462
_dsVideoResolution_t
_dsVideoResolution_t
Definition: dsTypes.h:458
dsTV_RESOLUTION_720p50
@ dsTV_RESOLUTION_720p50
Definition: dsTypes.h:480
dsVIDEO_BGCOLOR_BLACK
@ dsVIDEO_BGCOLOR_BLACK
Definition: dsTypes.h:534
dsAudioPortConfig_t
struct _dsAudioPortConfig_t dsAudioPortConfig_t
Structure that defines audio port configuration.
_dsDisplayEDID_t::suppResolutionList
dsVideoPortResolution_t suppResolutionList[64 *dsVIDEO_SSMODE_MAX]
Definition: dsTypes.h:913
dsVideoStereoScopicMode_t
enum _dsVideoStereoScopicMode_t dsVideoStereoScopicMode_t
dsVIDEO_PIXELRES_4096x2160
@ dsVIDEO_PIXELRES_4096x2160
Definition: dsTypes.h:465
_dsDisplayEDID_t::physicalAddressD
uint8_t physicalAddressD
Definition: dsTypes.h:911
dsAudioDuckingAction_t
enum _dsAudioDuckingAction_t dsAudioDuckingAction_t
dsVideoPortPortId_t
struct _dsVideoPortPortId_t dsVideoPortPortId_t
Structure that defines port id associated with video port.
dsAUDIO_STEREO_DD
@ dsAUDIO_STEREO_DD
Definition: dsTypes.h:379
MAX_PROFILE_LIST_BUFFER_LEN
#define MAX_PROFILE_LIST_BUFFER_LEN
Structure that captures MS12 Audio Profile list.
Definition: dsTypes.h:333
dsAUDIO_STEREO_MAX
@ dsAUDIO_STEREO_MAX
Definition: dsTypes.h:381
dsAUDIOPORT_TYPE_ID_LR
@ dsAUDIOPORT_TYPE_ID_LR
Definition: dsTypes.h:166
dsHDCP_VERSION_1X
@ dsHDCP_VERSION_1X
Definition: dsTypes.h:405
dsAUDIO_CMP_NONE
@ dsAUDIO_CMP_NONE
Definition: dsTypes.h:201
__dsFPDMode_t
__dsFPDMode_t
Definition: dsTypes.h:867
dsTV_RESOLUTION_576i
@ dsTV_RESOLUTION_576i
Definition: dsTypes.h:476
dsAudioCompression_t
enum _dsAudioCompression_t dsAudioCompression_t
_dsMS12AudioProfileList_t
Definition: dsTypes.h:334
dsVIDEO_ASPECT_RATIO_MAX
@ dsVIDEO_ASPECT_RATIO_MAX
Definition: dsTypes.h:550
dsPOWER_ON
@ dsPOWER_ON
Definition: dsTypes.h:927
dsAUDIO_STEREO_MONO
@ dsAUDIO_STEREO_MONO
Definition: dsTypes.h:375
_dsDisplayEDID_t::serialNumber
int32_t serialNumber
Definition: dsTypes.h:903
_dsHdcpStatus_t
_dsHdcpStatus_t
Definition: dsTypes.h:413
dsAUDIO_DUCKINGTYPE_ABSOLUTE
@ dsAUDIO_DUCKINGTYPE_ABSOLUTE
Definition: dsTypes.h:244
dsVIDEO_ZOOM_MAX
@ dsVIDEO_ZOOM_MAX
Definition: dsTypes.h:591
_dsMS12FEATURE_t
_dsMS12FEATURE_t
Definition: dsTypes.h:717
dsVIDEO_SSMODE_2D
@ dsVIDEO_SSMODE_2D
Definition: dsTypes.h:563
_dsVideoPortTypeConfig_t::hdcpSupported
bool hdcpSupported
Definition: dsTypes.h:677
dsTV_RESOLUTION_480p
@ dsTV_RESOLUTION_480p
Definition: dsTypes.h:475
_dsAudioTypeConfig_t::compressions
const dsAudioCompression_t * compressions
Definition: dsTypes.h:631
_dsAudioPortConfig_t
Structure that defines audio port configuration.
Definition: dsTypes.h:726
dsAUDIOPORT_TYPE_HDMI
@ dsAUDIOPORT_TYPE_HDMI
Definition: dsTypes.h:167
dsFPD_STATE_OFF
@ dsFPD_STATE_OFF
Definition: dsTypes.h:820
_dsVideoPortResolution_t::interlaced
bool interlaced
Definition: dsTypes.h:648
_dsAudioPortId_t::type
dsAudioPortType_t type
Definition: dsTypes.h:656
dsVIDEO_PIXELRES_3840x2160
@ dsVIDEO_PIXELRES_3840x2160
Definition: dsTypes.h:464
dsVIDEO_SCANMODE_INTERLACED
@ dsVIDEO_SCANMODE_INTERLACED
Definition: dsTypes.h:524
dsAudioEncoding_t
enum _dsAudioEncoding_t dsAudioEncoding_t
dsAUDIO_CMP_MEDIUM
@ dsAUDIO_CMP_MEDIUM
Definition: dsTypes.h:203