📄 tmdlhdmitx_types.h
字号:
*/typedef struct{ UInt8 acpType; UInt8 acpData[28];} tmdlHdmiTxAcpPktData_t;/** * \brief Structure defining the content of an AVI infoframe */typedef struct{ UInt8 colorIndicator; /**< RGB or YCbCr indicator. See CEA-861-B table 8 for details */ UInt8 activeInfoPresent; /**< Active information present. Indicates if activeFormatAspectRatio field is valid */ UInt8 barInformationDataValid; /**< Bar information data valid */ UInt8 scanInformation; /**< Scan information. See CEA-861-B table 8 for details */ UInt8 colorimetry; /**< Colorimetry. See CEA-861-B table 9 for details */ UInt8 pictureAspectRatio; /**< Picture aspect ratio. See CEA-861-B table 9 for details */ UInt8 activeFormatAspectRatio; /**< Active Format aspect ratio. See CEA-861-B table 10 and Annex H for details */ UInt8 nonUniformPictureScaling; /**< Non-uniform picture scaling. See CEA-861-B table 11 for details */ UInt8 videoFormatIdentificationCode; /**< Video format indentification code. See CEA-861-B section 6.3 for details */ UInt8 pixelRepetitionFactor; /**< Pixel repetition factor. See CEA-861-B table 11 for details */ UInt16 lineNumberEndTopBar; UInt16 lineNumberStartBottomBar; UInt16 lineNumberEndLeftBar; UInt16 lineNumberStartRightBar;} tmdlHdmiTxAviIfData_t;/** * \brief Structure defining the content of an ACP packet */typedef struct{ Bool avMute;} tmdlHdmiTxGcpPktData_t;/** * \brief Structure defining the content of an AUD infoframe */typedef struct{ UInt8 codingType; /**< Coding type (always set to zero) */ UInt8 channelCount; /**< Channel count. See CEA-861-B table 17 for details */ UInt8 samplefrequency; /**< Sample frequency. See CEA-861-B table 18 for details */ UInt8 sampleSize; /**< Sample frequency. See CEA-861-B table 18 for details */ UInt8 channelAllocation; /**< Channel allocation. See CEA-861-B section 6.3.2 for details */ Bool downmixInhibit; /**< Downmix inhibit. See CEA-861-B section 6.3.2 for details */ UInt8 levelShiftValue; /**< level shift value for downmixing. See CEA-861-B section 6.3.2 and table 23 for details */} tmdlHdmiTxAudIfData_t;/** * \brief Structure defining the content of an ISRC1 packet */typedef struct{ Bool isrcCont; /**< ISRC packet continued in next packet */ Bool isrcValid; /**< Set to one when ISRCStatus and UPC_EAN_ISRC_xx are valid */ UInt8 isrcStatus; /**< ISRC status */ UInt8 UPC_EAN_ISRC[16]; /**< ISRC packet data */} tmdlHdmiTxIsrc1PktData_t;/** * \brief Structure defining the content of an ISRC2 packet */typedef struct{ UInt8 UPC_EAN_ISRC[16]; /**< ISRC packet data */} tmdlHdmiTxIsrc2PktData_t;/** * \brief Structure defining the content of an MPS infoframe */typedef struct{ UInt32 bitRate; /**< MPEG bit rate in Hz */ UInt32 frameType; /**< MPEG frame type */ Bool fieldRepeat; /**< 0: new field, 1:repeated field */} tmdlHdmiTxMpsIfData_t;/** * \brief Structure defining the content of an SPD infoframe */typedef struct{ UInt8 vendorName[8]; /**< Vendor name */ UInt8 productDesc[16]; /**< Product Description */ UInt32 sourceDevInfo; /**< Source Device Info */} tmdlHdmiTxSpdIfData_t;/** * \brief Structure defining the content of a VS packet */typedef struct{ UInt8 version; UInt8 vsData[27];} tmdlHdmiTxVsPktData_t;/** * \brief Structure defining the Edid audio descriptor */typedef struct{ UInt8 format; /* EIA/CEA861 mode */ UInt8 channels; /* number of channels */ UInt8 supportedFreqs; /* bitmask of supported frequencies */ UInt8 supportedRes; /* bitmask of supported resolutions (LPCM only) */ UInt8 maxBitrate; /* Maximum bitrate divided by 8KHz (compressed formats only) */} tmdlHdmiTxEdidAudioDesc_t;/** * \brief Structure defining detailed timings of a video format */typedef struct{ UInt16 pixelClock; /**< Pixel Clock/10 000 */ UInt16 hActivePixels; /**< Horizontal Active Pixels */ UInt16 hBlankPixels; /**< Horizontal Blanking Pixels */ UInt16 vActiveLines; /**< Vertical Active Lines */ UInt16 vBlankLines; /**< Vertical Blanking Lines */ UInt16 hSyncOffset; /**< Horizontal Sync Offset */ UInt16 hSyncWidth; /**< Horiz. Sync Pulse Width */ UInt16 vSyncOffset; /**< Vertical Sync Offset */ UInt16 vSyncWidth; /**< Vertical Sync Pulse Width */ UInt16 hImageSize; /**< Horizontal Image Size */ UInt16 vImageSize; /**< Vertical Image Size */ UInt16 hBorderPixels; /**< Horizontal Border */ UInt16 vBorderPixels; /**< Vertical Border */ UInt8 flags; /**< Interlace/sync info */} tmdlHdmiTxEdidVideoTimings_t;/** size descriptor block of monitor descriptor */#define EDID_MONITOR_DESCRIPTOR_SIZE 13/** * \brief Structure defining the first monitor descriptor */typedef struct{ Bool descRecord; /**< True when parameters of struct are available */ UInt8 monitorName[EDID_MONITOR_DESCRIPTOR_SIZE]; /**< Monitor Name */} tmdlHdmiTxEdidFirstMD_t;/** * \brief Structure defining the second monitor descriptor */typedef struct{ Bool descRecord; /**< True when parameters of struct are available */ UInt8 minVerticalRate; /**< Min vertical rate in Hz */ UInt8 maxVerticalRate; /**< Max vertical rate in Hz */ UInt8 minHorizontalRate; /**< Min horizontal rate in Hz */ UInt8 maxHorizontalRate; /**< Max horizontal rate in Hz */ UInt8 maxSupportedPixelClk; /**< Max suuported pixel clock rate in MHz */} tmdlHdmiTxEdidSecondMD_t;/** * \brief Structure defining the other monitor descriptor */typedef struct{ Bool descRecord; /**< True when parameters of struct are available */ UInt8 otherDescriptor[EDID_MONITOR_DESCRIPTOR_SIZE]; /**< Other monitor Descriptor */} tmdlHdmiTxEdidOtherMD_t;/** * \brief Test pattern types */typedef enum{ TMDL_HDMITX_PATTERN_OFF = 0, /**< Insert test pattern */ TMDL_HDMITX_PATTERN_CBAR4 = 1, /**< Insert 4-bar colour bar */ TMDL_HDMITX_PATTERN_CBAR8 = 2, /**< Insert 8-bar colour bar */ TMDL_HDMITX_PATTERN_BLUE = 3, /**< Insert Blue screen */ TMDL_HDMITX_PATTERN_BLACK = 4, /**< Insert Black screen */ TMDL_HDMITX_PATTERN_INVALID = 5 /**< Invalid pattern */} tmdlHdmiTxTestPattern_t;/** * \brief Type of a KSV key */typedef UInt8 tmdlHdmiTxKsv_t[5];/** * \brief Enum listing all hdcp state */typedef enum{ TMDL_HDMITX_HDCP_CHECK_NOT_STARTED = 0, /**< Check not started */ TMDL_HDMITX_HDCP_CHECK_IN_PROGRESS = 1, /**< No failures, more to do */ TMDL_HDMITX_HDCP_CHECK_PASS = 2, /**< Final check has passed */ TMDL_HDMITX_HDCP_CHECK_FAIL_FIRST = 3, /**< First check failure code */ TMDL_HDMITX_HDCP_CHECK_FAIL_DRIVER_STATE = 3, /**< Driver not AUTHENTICATED */ TMDL_HDMITX_HDCP_CHECK_FAIL_DEVICE_T0 = 4, /**< A T0 interrupt occurred */ TMDL_HDMITX_HDCP_CHECK_FAIL_DEVICE_RI = 5, /**< Device RI changed */ TMDL_HDMITX_HDCP_CHECK_FAIL_DEVICE_FSM = 6, /**< Device FSM not 10h */ TMDL_HDMITX_HDCP_CHECK_NUM = 7 /**< Number of check results */}tmdlHdmiTxHdcpCheck_t;/** * \brief Enum listing all hdcp option flags */typedef enum{ TMDL_HDMITX_HDCP_OPTION_FORCE_PJ_IGNORED = 0x01, /* Not set: obey PJ result */ TMDL_HDMITX_HDCP_OPTION_FORCE_SLOW_DDC = 0x02, /* Not set: obey BCAPS setting */ TMDL_HDMITX_HDCP_OPTION_FORCE_NO_1_1 = 0x04, /* Not set: obey BCAPS setting */ TMDL_HDMITX_HDCP_OPTION_FORCE_REPEATER = 0x08, /* Not set: obey BCAPS setting */ TMDL_HDMITX_HDCP_OPTION_FORCE_NO_REPEATER = 0x10, /* Not set: obey BCAPS setting */ TMDL_HDMITX_HDCP_OPTION_FORCE_V_EQU_VBAR = 0x20, /* Not set: obey V=V' result */ TMDL_HDMITX_HDCP_OPTION_FORCE_VSLOW_DDC = 0x40, /* Set: 50kHz DDC */ TMDL_HDMITX_HDCP_OPTION_DEFAULT = 0x00, /* All the above Not Set vals */ TMDL_HDMITX_HDCP_OPTION_MASK = 0x7F, /* Only these bits are allowed */ TMDL_HDMITX_HDCP_OPTION_MASK_BAD = 0x80 /* These bits are not allowed */}tmdlHdmiTxHdcpOptions_t;#ifndef NO_HDCP/** KSV list sizes */typedef enum{ TMDL_HDMITX_KSV_LIST_MAX_DEVICES = 128, TMDL_HDMITX_KSV_BYTES_PER_DEVICE = 5} tmdlHdmiTxHdcpHandleSHA_1;/** * \brief Structure defining information about hdcp */typedef struct{ tmdlHdmiTxHdcpCheck_t hdcpCheckState; /* Hdcp check state */ UInt8 hdcpErrorState; /* Error State when T0 occured */ Bool bKsvSecure; /* BKSV is secured */ UInt8 hdcpBksv[TMDL_HDMITX_KSV_BYTES_PER_DEVICE]; /* BKSV read from B sink */ UInt8 hdcpKsvList[TMDL_HDMITX_KSV_BYTES_PER_DEVICE * TMDL_HDMITX_KSV_LIST_MAX_DEVICES]; /* KSV list read from B sink during SHA-1 interrupt */ UInt8 hdcpKsvDevices; /* Number of devices read from B sink during SHA-1 interrupt */} tmdlHdmiTxHdcpInfo_t;#endif /* NO_HDCP */#ifdef __cplusplus}#endif#endif /* TMDLHDMITX_TYPES_H *//*============================================================================*//* END OF FILE *//*============================================================================*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -