 |
AJA NTV2 SDK
17.6.0.2675
NTV2 SDK 17.6.0.2675
|
Go to the documentation of this file.
11 #if defined (AJALinux)
13 #elif defined (MSWindows)
14 #pragma warning(disable: 4800)
55 if (
ULWord(inChannel) >= numInputs)
67 return GetHDMIInputStatusRegNum(regNum, inChannel, in12BitDetection) && ReadRegister (regNum, outValue);
73 if (
ULWord(inChannel) >= numInputs)
82 if (
ULWord(inChannel) >= numInputs)
151 outFloatValues.
zero();
152 if (!GetHDMIInDynamicRange(regValues, inChannel))
168 outIsDolbyVision =
false;
217 if (numInputs <=
UWord(inChannel))
228 ULWord status(0), maskVal, shiftVal;
232 if (!GetHDMIInputStatus(status, inChannel, isV2))
242 if (!GetHDMIInputStatus(status, inChannel))
252 if (!GetHDMIInputStatus(status, inChannel))
255 outIsLocked = (status & (
BIT(0) |
BIT(1))) == (
BIT(0) |
BIT(1));
263 const ULWord tempVal (!value);
275 outEnabled = !outEnabled;
296 outIsSwapped =
false;
344 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
354 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
374 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
383 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
394 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
403 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
413 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
421 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
434 ULWord newCorrectValue (0);
440 default:
return false;
443 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
458 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
469 default:
return false;
478 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
486 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
498 if (!GetHDMIOutInputStatusRegNum(reg, inWhichHDMIOut))
506 if (!GetHDMIOutInputStatusRegNum(reg, inWhichHDMIOut))
519 if (!GetHDMIOutControlReg(regOC, inWhichHDMIOut))
521 if (!GetHDMIOutInputControlRegNum(regIC, inWhichHDMIOut))
552 if (!GetHDMIOutControlReg(regOC, inWhichHDMIOut))
554 if (!GetHDMIOutInputControlRegNum(regIC, inWhichHDMIOut))
574 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
582 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
590 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
598 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
606 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
614 if (!GetHDMIOutControlReg(reg, inWhichHDMIOut))
622 if (!GetHDMIOutInputControlRegNum(reg, inWhichHDMIOut))
630 if (!GetHDMIOutInputControlRegNum(reg, inWhichHDMIOut))
698 if (!GetHDMIOutStatusReg(reg, inWhichHDMIOut))
700 if (!ReadRegister(reg, data))
713 if (!GetHDMIOutHDRGreenPrimaryReg(reg, inWhichHDMIOut))
723 if (!GetHDMIOutHDRGreenPrimaryReg(reg, inWhichHDMIOut))
735 if (!GetHDMIOutHDRGreenPrimaryReg(reg, inWhichHDMIOut))
745 if (!GetHDMIOutHDRGreenPrimaryReg(reg, inWhichHDMIOut))
757 if (!GetHDMIOutHDRBluePrimaryReg(reg, inWhichHDMIOut))
767 if (!GetHDMIOutHDRBluePrimaryReg(reg, inWhichHDMIOut))
779 if (!GetHDMIOutHDRBluePrimaryReg(reg, inWhichHDMIOut))
789 if (!GetHDMIOutHDRBluePrimaryReg(reg, inWhichHDMIOut))
800 if (!GetHDMIOutHDRRedPrimaryReg(reg, inWhichHDMIOut))
810 if (!GetHDMIOutHDRRedPrimaryReg(reg, inWhichHDMIOut))
822 if (!GetHDMIOutHDRRedPrimaryReg(reg, inWhichHDMIOut))
832 if (!GetHDMIOutHDRRedPrimaryReg(reg, inWhichHDMIOut))
843 if (!GetHDMIOutHDRWhitePointReg(reg, inWhichHDMIOut))
853 if (!GetHDMIOutHDRWhitePointReg(reg, inWhichHDMIOut))
865 if (!GetHDMIOutHDRWhitePointReg(reg, inWhichHDMIOut))
875 if (!GetHDMIOutHDRWhitePointReg(reg, inWhichHDMIOut))
887 if (!GetHDMIOutHDRMasterLuminanceReg(reg, inWhichHDMIOut))
897 if (!GetHDMIOutHDRMasterLuminanceReg(reg, inWhichHDMIOut))
909 if (!GetHDMIOutHDRMasterLuminanceReg(reg, inWhichHDMIOut))
919 if (!GetHDMIOutHDRMasterLuminanceReg(reg, inWhichHDMIOut))
931 if (!GetHDMIOutHDRLightLevelReg(reg, inWhichHDMIOut))
941 if (!GetHDMIOutHDRLightLevelReg(reg, inWhichHDMIOut))
953 if (!GetHDMIOutHDRLightLevelReg(reg, inWhichHDMIOut))
963 if (!GetHDMIOutHDRLightLevelReg(reg, inWhichHDMIOut))
975 if (!GetHDMIOutHDRControlReg(reg, inWhichHDMIOut))
985 if (!GetHDMIOutHDRControlReg(reg, inWhichHDMIOut))
987 uint32_t regValue = 0;
989 return regValue ?
true :
false;
999 if (!GetHDMIOutHDRControlReg(reg, inWhichHDMIOut))
1009 if (!GetHDMIOutHDRControlReg(reg, inWhichHDMIOut))
1021 if (!GetHDMIOutHDRControlReg(reg, inWhichHDMIOut))
1031 if (!GetHDMIOutHDRControlReg(reg, inWhichHDMIOut))
1041 if (!GetHDMIOutHDRControlReg(reg, inWhichHDMIOut))
1055 if (!GetHDMIOutHDRControlReg(reg, inWhichHDMIOut))
1058 uint32_t regValue = 0;
1060 return regValue ?
true :
false;
1068 if (!GetHDMIOutHDRControlReg(reg, inWhichHDMIOut))
1082 if (!GetHDMIOutHDRControlReg(reg, inWhichHDMIOut))
1085 bool enabled(
false);
1092 return inFloatValues.
toRegValues(regValues) && SetHDRData(regValues, inWhichHDMIOut);
1097 return SetHDMIHDRGreenPrimaryX(inRegisterValues.
greenPrimaryX, inWhichHDMIOut)
1098 && SetHDMIHDRGreenPrimaryY(inRegisterValues.
greenPrimaryY, inWhichHDMIOut)
1099 && SetHDMIHDRBluePrimaryX(inRegisterValues.
bluePrimaryX, inWhichHDMIOut)
1100 && SetHDMIHDRBluePrimaryY(inRegisterValues.
bluePrimaryY, inWhichHDMIOut)
1101 && SetHDMIHDRRedPrimaryX(inRegisterValues.
redPrimaryX, inWhichHDMIOut)
1102 && SetHDMIHDRRedPrimaryY(inRegisterValues.
redPrimaryY, inWhichHDMIOut)
1103 && SetHDMIHDRWhitePointX(inRegisterValues.
whitePointX, inWhichHDMIOut)
1104 && SetHDMIHDRWhitePointY(inRegisterValues.
whitePointY, inWhichHDMIOut)
1116 return GetHDRData(regValues, inWhichHDMIOut) && outFloatValues.
setFromRegValues(regValues);
1121 return GetHDMIHDRGreenPrimaryX(outRegisterValues.
greenPrimaryX, inWhichHDMIOut)
1122 && GetHDMIHDRGreenPrimaryY(outRegisterValues.
greenPrimaryY, inWhichHDMIOut)
1123 && GetHDMIHDRBluePrimaryX(outRegisterValues.
bluePrimaryX, inWhichHDMIOut)
1124 && GetHDMIHDRBluePrimaryY(outRegisterValues.
bluePrimaryY, inWhichHDMIOut)
1125 && GetHDMIHDRRedPrimaryX(outRegisterValues.
redPrimaryX, inWhichHDMIOut)
1126 && GetHDMIHDRRedPrimaryY(outRegisterValues.
redPrimaryY, inWhichHDMIOut)
1127 && GetHDMIHDRWhitePointX(outRegisterValues.
whitePointX, inWhichHDMIOut)
1128 && GetHDMIHDRWhitePointY(outRegisterValues.
whitePointY, inWhichHDMIOut)
1141 EnableHDMIHDR(
false, inWhichHDMIOut);
1142 SetHDRData(regValues, inWhichHDMIOut);
1143 EnableHDMIHDR(
true, inWhichHDMIOut);
1151 EnableHDMIHDR(
false, inWhichHDMIOut);
1152 SetHDRData(regValues, inWhichHDMIOut);
1153 EnableHDMIHDR(
true, inWhichHDMIOut);
1159 outIsSwapped =
false;
1163 if (!GetHDMIOutInputControlRegNum(reg, inWhichHDMIOut))
1173 if (!GetHDMIOutInputControlRegNum(reg, inWhichHDMIOut))
1183 if (!GetHDMIOutInputControlRegNum(reg, inWhichHDMIOut))
1193 if (!GetHDMIOutInputControlRegNum(reg, inWhichHDMIOut))
1203 if (!GetHDMIOutInputControlRegNum(reg, inWhichHDMIOut))
1213 if (!GetHDMIOutInputControlRegNum(reg, inWhichHDMIOut))
1342 #pragma warning(default: 4800)
@ kVRegShiftHDMIInColorimetry
virtual bool GetHDMIOutHDRMasterLuminanceReg(ULWord &outRegNum, const NTV2Channel inWhichHDMIOut)
@ kVRegHDMIOutHDRMasterLuminance2
virtual bool GetHDMIHDRStaticMetadataDescriptorID(uint8_t &outSMDId, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
HDRFloatValues & zero(void)
bool setFromRegValues(const HDRRegValues &inRegValues)
@ DEVICE_ID_KONALHIDVI
See KONA LHi.
uint16_t maxContentLightLevel
virtual bool GetHDMIOutDisable(bool &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
static const ULWord gHDMIChannelToOutControlVRegNum[]
@ kVRegHdrMasterLumMaxCh1
@ kRegShiftHDRStaticMetadataDescriptorID
@ kVRegHDMIInDrmBluePrimary1
virtual bool GetHDMIHDRElectroOpticalTransferFunction(uint8_t &outEOTFByte, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
virtual bool GetHDMIOutTsiIO(bool &tsiEnabled)
@ kRegShiftHDMIHDRWhitePointY
virtual bool SetHDMIHDRMaxMasteringLuminance(const uint16_t inMaxMasteringLuminance, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the Display Mastering data for the Max Mastering Luminance value as defined in SMPTE ST 2086....
virtual bool GetHDMIHDRRedPrimaryY(uint16_t &outRedPrimaryY, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the Display Mastering data for Red Primary Y as defined in SMPTE ST 2086....
@ kVRegHDMIOutHDRGreenPrimary4
virtual bool GetHDMIInIsLocked(bool &outIsLocked, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Answers if the given HDMI input is genlocked or not.
virtual bool GetHDMIInDynamicRange(HDRRegValues &outRegValues, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Answers with the given HDMI input's video dynamic range and mastering information.
@ kVRegHDMIOutHDRWhitePoint3
@ DEVICE_ID_KONAHDMI
See KONA HDMI.
virtual bool GetHDMIInAudioSampleRateConverterEnable(bool &outIsEnabled, const NTV2Channel inChannel=NTV2_CHANNEL1)
NTV2HDMIBitDepth
Indicates or specifies the HDMI video bit depth.
@ NTV2_CHANNEL2
Specifies channel or FrameStore 2 (or the 2nd item).
virtual bool SetHDMIOutProtocol(const NTV2HDMIProtocol inNewValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the protocol to use for the given HDMI output.
virtual bool GetHDMIOutHDRBluePrimaryReg(ULWord &outRegNum, const NTV2Channel inWhichHDMIOut)
@ NTV2_HDMIAudio2Channels
2 audio channels
@ kRegShiftHDMIHDRGreenPrimaryX
Declares device capability functions.
HDRRegValues & setDCIP3(void)
@ kVRegHDMIOutHDRGreenPrimary3
@ kRegMaskHDMIOutForceConfig
virtual bool GetHDMIInAudioChannel34Swap(bool &outIsSwapped, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Answers with the given HDMI input's current audio channel 3/4 swap setting.
@ kRegMaskHDMIHDRBluePrimaryY
@ NTV2_HDMIColorimetryNoData
@ kVRegHDMIOutHDRRedPrimary1
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
NTV2HDMIColorSpace
Indicates or specifies HDMI Color Space.
virtual bool SetHDMIHDRWhitePointX(const uint16_t inWhitePointX, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the Display Mastering data for White Point X as defined in SMPTE ST 2086. This is Byte 15 and 16...
@ kRegShiftHDMIOutVideoStd
@ kLHIRegMaskHDMIInputProtocol
@ kRegMaskHDMIHDRRedPrimaryX
virtual bool GetEnableHDMIOutCenterCrop(bool &outIsEnabled, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers if the HDMI 4k/2k -> UHD/HD center cropping is enabled or not.
@ kVRegHDMIInDrmRedPrimary1
static const ULWord gHDMIChannelToOutHDRBluePrimaryVRegNum[]
@ kRegShiftHDMIOutForceConfig
static const ULWord gHDMIChannelToControlRegNum[]
virtual bool GetHDMIHDRGreenPrimaryY(uint16_t &outGreenPrimaryY, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the Display Mastering data for Green Primary Y as defined in SMPTE ST 2086....
virtual bool GetHDMIInputColor(NTV2LHIHDMIColorSpace &outValue, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Answers with the current colorspace for the given HDMI input.
virtual bool GetHDMIOutHDRGreenPrimaryReg(ULWord &outRegNum, const NTV2Channel inWhichHDMIOut)
@ kRegMaskHDMIHDRGreenPrimaryX
@ kRegMaskHDMIHDRMaxMasteringLuminance
virtual bool GetHDMIOutAudioChannel34Swap(bool &outIsSwapped, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the HDMI output's current audio channel 3/4 swap setting.
@ kRegShiftHDMIHDRMaxContentLightLevel
@ kRegShiftHDMIColorSpace
static const ULWord gHDMIChannelToOutStatusVRegNum[]
@ kRegHDMIHDRGreenPrimary
virtual bool GetHDMIOutDecimateMode(bool &outIsEnabled)
virtual bool GetHDMIOut3DMode(NTV2HDMIOut3DMode &outValue)
NTV2HDMIAudioChannels
Indicates or specifies the HDMI audio channel count.
@ kRegShiftHDMIV2TxBypass
virtual bool SetHDMIInBitDepth(const NTV2HDMIBitDepth inNewValue, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Sets the given HDMI input's bit depth.
virtual bool GetHDMIHDRDolbyVisionEnabled(const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
virtual bool SetLHIHDMIOutColorSpace(const NTV2LHIHDMIColorSpace inNewValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the color space to use for the given HDMI output.
@ kVRegHDMIOutHDRLightLevel4
@ kVRegHDMIOutHDRGreenPrimary2
@ kRegMaskHDMIOut3DPresent
virtual bool SetHDMIHDRConstantLuminance(const bool inEnableConstantLuminance, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Enables or disables BT.2020 Y'cC'bcC'rc versus BT.2020 Y'C'bC'r or R'G'B'.
static const ULWord gHDMIChannelToInputStatusVRegNum[]
virtual bool GetHDMIOutHDRWhitePointReg(ULWord &outRegNum, const NTV2Channel inWhichHDMIOut)
virtual bool SetHDMIInAudioSampleRateConverterEnable(const bool inNewValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
static const ULWord gHDMIChannelToInputControlVRegNum[]
@ kLHIRegShiftHDMIInputProtocol
@ kRegMaskElectroOpticalTransferFunction
@ kRegShiftHDMISampleRateConverterEnable
@ kVRegHDMIOutHDRBluePrimary4
virtual bool SetHDMIOutAudioChannel34Swap(const bool inIsSwapped, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the HDMI output's audio channel 3/4 swap state.
virtual bool SetHDMIHDRMinMasteringLuminance(const uint16_t inMinMasteringLuminance, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the Display Mastering data for the Min Mastering Luminance value as defined in SMPTE ST 2086....
virtual bool SetHDMIHDRDCIP3(const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
virtual bool SetHDMIInAudioChannel34Swap(const bool inIsSwapped, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Sets the given HDMI input's audio channel 3/4 swap state.
@ NTV2_LHIHDMIColorSpaceRGB
virtual bool GetHDMIOutRange(NTV2HDMIRange &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the video pixel value range limiting, if any, for the given HDMI output (SMPTE or none).
@ NTV2_INVALID_HDMI_AUDIO_CHANNELS
virtual bool EnableHDMIOutUserOverride(const bool inEnable, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Enables or disables override of HDMI parameters.
@ NTV2_CHANNEL1
Specifies channel or FrameStore 1 (or the first item).
virtual bool SetHDMIOutPrefer420(const bool inNewValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets if the given HDMI output should prefer 4:2:0 or not.
@ kRegShiftHDMIHDRGreenPrimaryY
virtual bool GetHDMIInColorSpace(NTV2HDMIColorSpace &outValue, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Answers with the given HDMI input's current color space setting.
void Clear(void)
Resets me to an invalid state.
@ kVRegHDMIInDrmLightLevel2
@ NTV2_FIELD0
Identifies the first field in time for an interlaced video frame, or the first and only field in a pr...
virtual bool GetHDMIInputRange(NTV2HDMIRange &outValue, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Answers with the given HDMI input's current input range setting.
NTV2HDMIRange
Indicates or specifies the HDMI RGB range.
virtual bool GetHDMIOutPrefer420(bool &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers if the given HDMI output prefers 4:2:0 video (rather than, say, 4:2:2 or higher).
@ kVRegHDMIInDrmBluePrimary2
@ kRegShiftHDMIInputRange
Reports HDMI output status information.
@ kVRegHDMIOutHDRBluePrimary3
@ kVRegHDMIOutHDRControl3
@ NTV2_HDMIAudio8Channels
8 audio channels
@ kVRegHDMIInDrmMasteringLuminence1
NTV2FrameRate
Identifies a particular video frame rate.
virtual bool GetHDMIOutDownstreamColorSpace(NTV2LHIHDMIColorSpace &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the color space of the downstream device connected to the given HDMI output.
virtual bool GetHDMIOutDownstreamBitDepth(NTV2HDMIBitDepth &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the bit depth of the downstream device connected to the given HDMI output.
uint16_t maxFrameAverageLightLevel
@ kRegShiftHDMIHDRWhitePointX
@ kRegMaskHDMIHDRNonContantLuminance
@ kVRegHDMIInDrmGreenPrimary1
#define NTV2_IS_VALID_HDR_MASTERING_LUMINENCE(__val__)
virtual bool GetHDMIInColorimetry(NTV2HDMIColorimetry &outColorimetry, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Answers with the given HDMI input's current colorimetry.
@ kVRegHDMIInDrmGreenPrimary2
uint16_t minMasteringLuminance
@ kLHIRegMaskHDMIOutColorSpace
virtual bool SetHDMIHDRMaxFrameAverageLightLevel(const uint16_t inMaxFrameAverageLightLevel, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the Display Mastering data for the Max Frame Average Light Level(Max FALL) value....
virtual bool GetHDMIHDREnabled(const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
virtual bool ReadRegister(const ULWord inRegNum, ULWord &outValue, const ULWord inMask=0xFFFFFFFF, const ULWord inShift=0)
Reads all or part of the 32-bit contents of a specific register (real or virtual) on the AJA device....
@ kRegMaskHDMISwapOutputAudCh34
virtual bool GetHDMIOutColorSpace(NTV2HDMIColorSpace &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
@ kRegMaskHDMIHDRDolbyVisionEnable
static bool isEnabled(CNTV2Card &device, const NTV2Channel inChannel)
virtual bool SetHDMIOutLevelBMode(const bool inEnable)
Enables or disables level-B mode on the device's HDMI rasterizer.
@ kRegMaskHDMIOutVideoStd
@ kRegShiftHDMIOut3DPresent
@ kLHIRegShiftHDMIInputBitDepth
@ kRegHDMIHDRMasteringLuminence
@ kRegShiftHDMISwapInputAudCh34
static const ULWord gHDMIChannelToOutHDRLightLevelVRegNum[]
static const ULWord gHDMIChannelToOutHDRGreenPrimaryVRegNum[]
@ kVRegHDMIOutHDRWhitePoint2
@ kRegShiftHDMIInColorDepth
@ kRegMaskHDRStaticMetadataDescriptorID
virtual bool SetHDMIOutDisable(const bool inNewValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
virtual bool GetHDMIOutLevelBMode(bool &outIsEnabled)
virtual bool SetHDMIHDRStaticMetadataDescriptorID(const uint8_t inSMDId, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
NTV2Standard
Identifies a particular video standard.
virtual bool SetHDMIOut3DPresent(const bool inIs3DPresent)
@ kDeviceCanDoHDMIHDROut
True if device supports HDMI HDR output.
@ kRegMaskHDMIHDRBluePrimaryX
#define NTV2_IS_VALID_HDMI_SAMPLE_STRUCT(_x_)
@ kLHIRegMaskHDMIOutBitDepth
@ kVRegHDMIOutHDRRedPrimary3
virtual bool GetHDMIInputStatus(ULWord &outValue, const NTV2Channel inChannel=NTV2_CHANNEL1, const bool in12BitDetection=(0))
Answers with the contents of the HDMI Input status register for the given HDMI input.
static const ULWord gHDMIChannelToOutHDRMasterLuminanceVRegNum[]
virtual bool GetHDMIOutProtocol(NTV2HDMIProtocol &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the protocol being used for the given HDMI output (DVI or HDMI).
@ kLHIRegMaskHDMIOutputEDID10Bit
static const ULWord gHDMIChannelToOutHDRRedPrimaryVRegNum[]
virtual bool SetHDMIOutForceConfig(const bool inNewValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
@ kRegMaskHDMIHDRMinMasteringLuminance
@ kVRegHDMIInDrmWhitePoint2
virtual bool SetHDMIHDRMaxContentLightLevel(const uint16_t inMaxContentLightLevel, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the Display Mastering data for the Max Content Light Level(Max CLL) value. This is Byte 23 and 2...
#define NTV2_IS_VALID_HDMI_RANGE(__x__)
NTV2HDMIProtocol
Indicates or specifies the HDMI protocol.
HDRRegValues & zero(void)
virtual bool SetHDMIOutVideoStandard(const NTV2Standard inNewValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the video standard to use for the given HDMI output.
virtual bool GetHDMIOutInputControlRegNum(ULWord &outRegNum, const NTV2Channel inWhichHDMIOut)
#define NTV2_IS_VALID_HDMI_PROTOCOL(__x__)
Declares the CNTV2Card class.
@ kVRegHDMIOutHDRMasterLuminance1
@ kRegMaskHDMIHDRWhitePointX
@ kRegMaskHDMIHDRRedPrimaryY
@ kDeviceGetHDMIVersion
The version number of the HDMI chipset on the device.
@ kRegMaskHDMIHDRGreenPrimaryY
virtual bool GetEnableHDMIOutUserOverride(bool &outIsEnabled, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers if override of HDMI parameters is enabled or not.
@ kRegShiftRasterDecimate
@ kVRegHDMIOutHDRLightLevel1
@ NTV2_HDMIColorSpaceYCbCr
YCbCr color space.
@ kVRegHDMIOutHDRWhitePoint1
@ kVRegHDMIOutHDRRedPrimary4
virtual bool GetHDMIInputAudioChannels(NTV2HDMIAudioChannels &outValue, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Answers with the current number of audio channels being received on the given HDMI input.
@ kVRegMaskHDMIInColorimetry
virtual bool SetHDMIHDRGreenPrimaryY(const uint16_t inGreenPrimaryY, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the Display Mastering data for Green Primary Y as defined in SMPTE ST 2086. This is Byte 5 and 6...
virtual bool GetHDMIHDRGreenPrimaryX(uint16_t &outGreenPrimaryX, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the Display Mastering data for Green Primary X as defined in SMPTE ST 2086....
@ kRegShiftHDMIHDRMaxMasteringLuminance
virtual bool GetHDMIOutStatusReg(ULWord &outRegNum, const NTV2Channel inWhichHDMIOut)
virtual bool SetHDMIOutVideoFPS(const NTV2FrameRate inNewValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the video frame rate to use for the given HDMI output.
#define NTV2_IS_VALID_HDR_PRIMARY(__val__)
@ kRegMaskHDMIHDRMaxContentLightLevel
virtual bool SetHDMIHDRBT2020(const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
virtual bool GetHDMIOutControlReg(ULWord &outRegNum, const NTV2Channel inWhichHDMIOut)
virtual bool SetHDMIHDRRedPrimaryY(const uint16_t inRedPrimaryY, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the Display Mastering data for Red Primary Y as defined in SMPTE ST 2086. This is Byte 13 and 14...
@ kLHIRegMaskHDMIOutputEDIDRGB
@ kVRegHDMIOutHDRRedPrimary2
@ kRegShiftHDMIHDRBluePrimaryY
@ kRegMaskHDMISampleRateConverterEnable
virtual bool SetHDMIOutRange(const NTV2HDMIRange inNewValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the video pixel value range limiting, if any, to use for the given HDMI output.
uint16_t maxMasteringLuminance
@ kVRegHDMIOutHDRMasterLuminance4
virtual bool SetHDMIInColorSpace(const NTV2HDMIColorSpace inNewValue, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Sets the given HDMI input's color space.
@ NTV2_INVALID_HDMI_PROTOCOL
virtual bool GetHDMIV2Mode(NTV2HDMIV2Mode &outMode)
Answers with the current HDMI V2 mode of the device.
@ kVRegHDMIOutHDRBluePrimary2
virtual bool GetHDRData(HDRFloatValues &outFloatValues, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
virtual bool SetHDMIHDRRedPrimaryX(const uint16_t inRedPrimaryX, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the Display Mastering data for Red Primary X as defined in SMPTE ST 2086. This is Byte 11 and 12...
virtual bool GetHDMIHDRMaxMasteringLuminance(uint16_t &outMaxMasteringLuminance, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the Display Mastering data for the Max Mastering Luminance value as defined in SMPTE ST ...
virtual bool GetHDMIOut3DPresent(bool &outIs3DPresent)
@ kVRegHDMIInDrmLightLevel1
@ kDeviceGetNumHDMIVideoInputs
The number of HDMI video inputs on the device.
@ kVRegMaskHDMIInDolbyVision
@ NTV2_INVALID_HDMIBitDepth
NTV2HDMIColorimetry
Indicates or specifies the HDMI colorimetry.
virtual bool GetHDMIHDRConstantLuminance(const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
virtual bool SetHDMIHDRElectroOpticalTransferFunction(const uint8_t inEOTFByte, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
virtual bool SetHDRData(const HDRFloatValues &inFloatValues, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
@ kVRegShiftHDMIInDolbyVision
@ kRegMaskInputStatusLock
@ kVRegHDMIOutHDRLightLevel3
virtual bool GetHDMIHDRWhitePointX(uint16_t &outWhitePointX, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the Display Mastering data for White Point X as defined in SMPTE ST 2086....
@ NTV2_LHIHDMIColorSpaceYCbCr
#define NTV2_IS_VALID_HDR_LIGHT_LEVEL(__val__)
static const ULWord gHDMIChannelToOutHDRWhitePointVRegNum[]
virtual bool EnableHDMIHDR(const bool inEnableHDMIHDR, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Enables or disables HDMI HDR.
static const ULWord gHDMIChannelToInputStatusRegNum[]
@ kLHIRegShiftHDMIOutputEDIDRGB
@ kDeviceGetNumHDMIVideoOutputs
The number of HDMI video outputs on the device.
@ kRegMaskHDMISwapInputAudCh34
virtual bool GetHDMIOutHDRControlReg(ULWord &outRegNum, const NTV2Channel inWhichHDMIOut)
@ kLHIRegMaskHDMIInputColorSpace
virtual bool GetHDMIInVideoRange(NTV2HDMIRange &outValue, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Answers with the given HDMI input's video black/white range.
@ kLHIRegShiftHDMIOutputEDID10Bit
@ kRegShiftHDMIHDRRedPrimaryY
virtual bool SetHDMIOutColorSpace(const NTV2HDMIColorSpace inNewValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
virtual bool GetHDMIOutSampleStructure(NTV2HDMISampleStructure &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the video pixel sample structure being used for the given HDMI output.
@ kVRegHDMIInDrmMasteringLuminence2
virtual bool GetHDMIOutStatus(NTV2HDMIOutputStatus &outStatus, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the current HDMI output status.
virtual bool SetHDMIHDRGreenPrimaryX(const uint16_t inGreenPrimaryX, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the Display Mastering data for Green Primary X as defined in SMPTE ST 2086. This is Byte 3 and 4...
@ kLHIRegMaskHDMIInputBitDepth
virtual bool GetHDMIOutHDRRedPrimaryReg(ULWord &outRegNum, const NTV2Channel inWhichHDMIOut)
@ kLHIRegShiftHDMIInputColorSpace
@ kVRegHDMIOutHDRMasterLuminance3
virtual bool GetHDMIOutBitDepth(NTV2HDMIBitDepth &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the bit depth of the given HDMI output (8, 10 or 12 bits).
virtual bool SetHDMIOutSampleStructure(const NTV2HDMISampleStructure inNewValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the video pixel sample structure to use for the given HDMI output.
virtual bool GetHDMIHDRBluePrimaryY(uint16_t &outBluePrimaryY, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the Display Mastering data for Blue Primary Y as defined in SMPTE ST 2086....
@ kVRegMaskHDMIInMetadataID
virtual bool SetHDMIOutTsiIO(const bool inTsiEnable)
Enables or disables two sample interleave I/O mode on the device's HDMI rasterizer.
@ kVRegHDMIInDrmWhitePoint1
virtual bool GetHDMIHDRMaxContentLightLevel(uint16_t &outMaxContentLightLevel, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the Display Mastering data for the Max Content Light Level(Max CLL) value....
virtual bool GetHDMIOutVideoStandard(NTV2Standard &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the video standard being used for the given HDMI output.
@ kVRegHDMIOutHDRControl2
virtual bool GetHDMIHDRRedPrimaryX(uint16_t &outRedPrimaryX, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the Display Mastering data for Red Primary X as defined in SMPTE ST 2086....
@ kVRegShiftHDMIInMetadataID
virtual bool GetHDMIHDRMaxFrameAverageLightLevel(uint16_t &outMaxFrameAverageLightLevel, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the Display Mastering data for the Max Frame Average Light Level(Max FALL) value....
virtual bool GetHDMIHDRBluePrimaryX(uint16_t &outBluePrimaryX, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the Display Mastering data for Blue Primary X as defined in SMPTE ST 2086....
virtual bool SetHDMIHDRWhitePointY(const uint16_t inWhitePointY, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the Display Mastering data for White Point Y as defined in SMPTE ST 2086. This is Byte 17 and 18...
@ kRegMaskHDMIHDRWhitePointY
virtual bool EnableHDMIOutCenterCrop(const bool inEnable, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Controls the 4k/2k -> UHD/HD HDMI center cropping feature.
static const ULWord gKonaHDMICtrlRegs[]
@ kVRegHDMIOutHDRWhitePoint4
@ kRegShiftHDMIOutCropEnable
@ kRegMaskHDMIOutPrefer420
@ kRegShiftHDMISwapOutputAudCh34
@ kRegMaskHDMIOutCropEnable
#define NTV2_IS_VALID_NTV2FrameRate(__r__)
@ kRegShiftHDMIHDRMinMasteringLuminance
@ kLHIRegMaskHDMIInput2ChAudio
@ kRegMaskHDMIHDRMaxFrameAverageLightLevel
@ kVRegHDMIOutHDRControl1
@ kRegShiftHDMIOutPrefer420
@ kRegMaskHDMIOutV2VideoStd
virtual bool SetHDMIV2Mode(const NTV2HDMIV2Mode inMode)
Sets HDMI V2 mode for the device.
#define NTV2_IS_VALID_HDMI_BITDEPTH(__x__)
@ kVRegHDMIInDrmRedPrimary2
virtual bool GetLHIHDMIOutColorSpace(NTV2LHIHDMIColorSpace &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the color space of the given HDMI output (YCbCr or RGB).
bool SetFromRegValue(const ULWord inData)
Sets my fields from the given status register value.
@ kVRegHDMIOutHDRGreenPrimary1
virtual bool SetHDMIOutDecimateMode(const bool inEnable)
Enables or disables decimate mode on the device's HDMI rasterizer, which halves the output frame rate...
@ NTV2_HDMIColorSpaceRGB
RGB color space.
@ kRegShiftHDMIHDRMaxFrameAverageLightLevel
@ kRegShiftHDMIHDRDolbyVisionEnable
virtual bool GetHDMIOutVideoFPS(NTV2FrameRate &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the video frame rate being used for the given HDMI output.
virtual bool SetHDMIOutBitDepth(const NTV2HDMIBitDepth inNewValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the bit depth to use for the given HDMI output.
@ kRegShiftHDMIOutDisable
@ kRegShiftElectroOpticalTransferFunction
@ kRegShiftHDMIHDRNonContantLuminance
virtual bool GetHDMIHDRWhitePointY(uint16_t &outWhitePointY, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the Display Mastering data for White Point Y as defined in SMPTE ST 2086....
virtual bool GetHDMIInputStatusRegNum(ULWord &outRegNum, const NTV2Channel inChannel=NTV2_CHANNEL1, const bool in12BitDetection=(0))
Answers with the HDMI Input status register number for the given HDMI input.
@ kRegShiftHDMIHDRRedPrimaryX
@ kRegMaskHDMIInColorDepth
virtual bool GetHDMIOutForceConfig(bool &outValue, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
HDRRegValues & setBT2020(void)
@ kRegShiftHDMIHDRBluePrimaryX
defined(NTV2_DEPRECATE_17_6)
bool toRegValues(HDRRegValues &outVals) const
NTV2HDMIOut3DMode
This specifies the HDMI Out Stereo 3D Mode.
virtual bool SetHDMIHDRBluePrimaryX(const uint16_t inBluePrimaryX, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the Display Mastering data for Blue Primary X as defined in SMPTE ST 2086. This is Byte 7 and 8 ...
@ kVRegHDMIOutHDRControl4
@ kLHIRegShiftHDMIOutBitDepth
virtual bool SetHDMIV2TxBypass(const bool inBypass)
@ kVRegHdrMasterLumMinCh1
virtual bool GetHDMIOutHDRLightLevelReg(ULWord &outRegNum, const NTV2Channel inWhichHDMIOut)
virtual bool GetHDMIOutInputStatusRegNum(ULWord &outRegNum, const NTV2Channel inWhichHDMIOut)
@ kLHIRegShiftHDMIOutColorSpace
virtual bool EnableHDMIHDRDolbyVision(const bool inEnable, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Enables or disables HDMI HDR Dolby Vision.
virtual bool SetHDMIInputRange(const NTV2HDMIRange inNewValue, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Sets the given HDMI input's input range.
uint8_t staticMetadataDescriptorID
virtual bool SetHDMIOut3DMode(const NTV2HDMIOut3DMode inValue)
uint8_t electroOpticalTransferFunction
@ kVRegHDMIOutHDRLightLevel2
virtual bool GetHDMIInBitDepth(NTV2HDMIBitDepth &outValue, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Answers with the given HDMI input's current bit depth setting.
virtual bool SetHDMIHDRBluePrimaryY(const uint16_t inBluePrimaryY, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the Display Mastering data for Blue Primary Y as defined in SMPTE ST 2086. This is Byte 9 and 10...
virtual bool GetHDMIInProtocol(NTV2HDMIProtocol &outValue, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Answers with the given HDMI input's protocol.
static const ULWord gHDMIChannelToOutHDRControlVRegNum[]
@ kVRegHDMIOutHDRBluePrimary1
virtual bool GetHDMIInDolbyVision(bool &outIsDetected, const NTV2Channel inHDMIInput=NTV2_CHANNEL1)
Answers with the given HDMI input's Dolby Vision flag value.
virtual bool GetHDMIHDRMinMasteringLuminance(uint16_t &outMinMasteringLuminance, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the Display Mastering data for the Min Mastering Luminance value as defined in SMPTE ST ...