AJA NTV2 SDK  17.5.0.1242
NTV2 SDK 17.5.0.1242
ntv2hdmi.cpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #include "ntv2card.h"
9 #include "ntv2devicefeatures.h"
10 #include "ntv2utils.h"
11 #if defined (AJALinux)
12  //#include "ntv2linuxpublicinterface.h"
13 #elif defined (MSWindows)
14  #pragma warning(disable: 4800)
15 #endif
16 
17 using namespace std;
18 
19 
22 
23 
25 // HDMI
26 
27 // kRegHDMIInputStatus
28 bool CNTV2Card::GetHDMIInputStatusRegNum (ULWord & outRegNum, const NTV2Channel inChannel, const bool in12BitDetection)
29 {
30  const ULWord numInputs (::NTV2DeviceGetNumHDMIVideoInputs(_boardID));
31  outRegNum = 0;
32  if (numInputs < 1)
33  return false;
34  if (inChannel >= NTV2Channel(numInputs))
35  return false;
36  if (numInputs == 1)
37  {
38  outRegNum = in12BitDetection ? kRegHDMIInputControl : kRegHDMIInputStatus;
39  return true;
40  }
41  outRegNum = in12BitDetection ? gHDMIChannelToControlRegNum[inChannel] : gHDMIChannelToInputStatusRegNum[inChannel];
42  return true;
43 }
44 bool CNTV2Card::GetHDMIInputStatus (ULWord & outValue, const NTV2Channel inChannel, const bool in12BitDetection)
45 {
46  ULWord regNum (0);
47  if (!GetHDMIInputStatusRegNum(regNum, inChannel, in12BitDetection))
48  return false;
49  return ReadRegister (regNum, outValue);
50 }
51 
53 {
54  const ULWord numInputs(::NTV2DeviceGetNumHDMIVideoInputs(_boardID));
55  if (numInputs < 1)
56  return false;
57  if (numInputs == 1)
59  if (inChannel <= NTV2Channel(numInputs))
61  return false;
62 }
63 
64 bool CNTV2Card::GetHDMIInVideoRange (NTV2HDMIRange & outValue, const NTV2Channel inChannel)
65 {
66  const ULWord numInputs(::NTV2DeviceGetNumHDMIVideoInputs(_boardID));
67  if (numInputs < 1)
68  return false;
69  if (numInputs == 1)
71  if (inChannel <= NTV2Channel(numInputs))
73  return false;
74 }
75 
76 bool CNTV2Card::GetHDMIInDynamicRange (HDRRegValues & outRegValues, const NTV2Channel inChannel)
77 {
78  ULWord outValue;
79  memset(&outRegValues, 0, sizeof(HDRRegValues));
80 
81  if (inChannel == NTV2_CHANNEL1)
82  {
83  if (!ReadRegister(kVRegHDMIInDrmInfo1, outValue) || ((outValue & kVRegMaskHDMIInPresent) == 0))
84  return false;
85  outRegValues.electroOpticalTransferFunction = uint8_t((outValue & kVRegMaskHDMIInEOTF) >> kVRegShiftHDMIInEOTF);
87  ReadRegister(kVRegHDMIInDrmGreenPrimary1, outValue);
88  outRegValues.greenPrimaryX = uint16_t((outValue & kRegMaskHDMIHDRGreenPrimaryX) >> kRegShiftHDMIHDRGreenPrimaryX);
89  outRegValues.greenPrimaryY = uint16_t((outValue & kRegMaskHDMIHDRGreenPrimaryY) >> kRegShiftHDMIHDRGreenPrimaryY);
90  ReadRegister(kVRegHDMIInDrmBluePrimary1, outValue);
91  outRegValues.bluePrimaryX = uint16_t((outValue & kRegMaskHDMIHDRBluePrimaryX) >> kRegShiftHDMIHDRBluePrimaryX);
92  outRegValues.bluePrimaryY = uint16_t((outValue & kRegMaskHDMIHDRBluePrimaryY) >> kRegShiftHDMIHDRBluePrimaryY);
93  ReadRegister(kVRegHDMIInDrmRedPrimary1, outValue);
94  outRegValues.redPrimaryX = uint16_t((outValue & kRegMaskHDMIHDRRedPrimaryX) >> kRegShiftHDMIHDRRedPrimaryX);
95  outRegValues.redPrimaryY = uint16_t((outValue & kRegMaskHDMIHDRRedPrimaryY) >> kRegShiftHDMIHDRRedPrimaryY);
96  ReadRegister(kVRegHDMIInDrmWhitePoint1, outValue);
97  outRegValues.whitePointX = uint16_t((outValue & kRegMaskHDMIHDRWhitePointX) >> kRegShiftHDMIHDRWhitePointX);
98  outRegValues.whitePointY = uint16_t((outValue & kRegMaskHDMIHDRWhitePointY) >> kRegShiftHDMIHDRWhitePointY);
99  ReadRegister(kVRegHDMIInDrmMasteringLuminence1, outValue);
102  ReadRegister(kVRegHDMIInDrmLightLevel1, outValue);
105  }
106  else if (inChannel == NTV2_CHANNEL2)
107  {
108  if (!ReadRegister(kVRegHDMIInDrmInfo2, outValue) || ((outValue & kVRegMaskHDMIInPresent) == 0))
109  return false;
110  outRegValues.electroOpticalTransferFunction = uint8_t((outValue & kVRegMaskHDMIInEOTF) >> kVRegShiftHDMIInEOTF);
112  ReadRegister(kVRegHDMIInDrmGreenPrimary2, outValue);
113  outRegValues.greenPrimaryX = uint16_t((outValue & kRegMaskHDMIHDRGreenPrimaryX) >> kRegShiftHDMIHDRGreenPrimaryX);
114  outRegValues.greenPrimaryY = uint16_t((outValue & kRegMaskHDMIHDRGreenPrimaryY) >> kRegShiftHDMIHDRGreenPrimaryY);
115  ReadRegister(kVRegHDMIInDrmBluePrimary2, outValue);
116  outRegValues.bluePrimaryX = uint16_t((outValue & kRegMaskHDMIHDRBluePrimaryX) >> kRegShiftHDMIHDRBluePrimaryX);
117  outRegValues.bluePrimaryY = uint16_t((outValue & kRegMaskHDMIHDRBluePrimaryY) >> kRegShiftHDMIHDRBluePrimaryY);
118  ReadRegister(kVRegHDMIInDrmRedPrimary2, outValue);
119  outRegValues.redPrimaryX = uint16_t((outValue & kRegMaskHDMIHDRRedPrimaryX) >> kRegShiftHDMIHDRRedPrimaryX);
120  outRegValues.redPrimaryY = uint16_t((outValue & kRegMaskHDMIHDRRedPrimaryY) >> kRegShiftHDMIHDRRedPrimaryY);
121  ReadRegister(kVRegHDMIInDrmWhitePoint2, outValue);
122  outRegValues.whitePointX = uint16_t((outValue & kRegMaskHDMIHDRWhitePointX) >> kRegShiftHDMIHDRWhitePointX);
123  outRegValues.whitePointY = uint16_t((outValue & kRegMaskHDMIHDRWhitePointY) >> kRegShiftHDMIHDRWhitePointY);
124  ReadRegister(kVRegHDMIInDrmMasteringLuminence2, outValue);
127  ReadRegister(kVRegHDMIInDrmLightLevel2, outValue);
130  }
131  else
132  return false;
133  return true;
134 }
135 
136 bool CNTV2Card::GetHDMIInDynamicRange (HDRFloatValues & outFloatValues, const NTV2Channel inChannel)
137 {
138  HDRRegValues registerValues;
139 
140  memset(&outFloatValues, 0, sizeof(HDRFloatValues));
141 
142  if (!GetHDMIInDynamicRange(registerValues, inChannel))
143  return false;
144 
145  return convertHDRRegisterToFloatValues(registerValues, outFloatValues);
146 }
147 
148 bool CNTV2Card::GetHDMIInColorimetry (NTV2HDMIColorimetry & outColorimetry, const NTV2Channel inChannel)
149 {
150  outColorimetry = NTV2_HDMIColorimetryNoData;
151  if (inChannel > NTV2_CHANNEL2)
152  return false;
155 }
156 
157 bool CNTV2Card::GetHDMIInDolbyVision (bool & outIsDolbyVision, const NTV2Channel inChannel)
158 {
159  outIsDolbyVision = false;
160  if (inChannel > NTV2_CHANNEL2)
161  return false;
164 }
165 
166 // kRegHDMIInputControl
167 bool CNTV2Card::SetHDMIInputRange (const NTV2HDMIRange inValue, const NTV2Channel inChannel)
168 {
169  const ULWord numInputs(::NTV2DeviceGetNumHDMIVideoInputs(_boardID));
170  if (numInputs < 1)
171  return false;
172  return inChannel == NTV2_CHANNEL1 // FIX THIS! MrBill
174 }
175 
176 bool CNTV2Card::GetHDMIInputRange (NTV2HDMIRange & outValue, const NTV2Channel inChannel)
177 {
178  const ULWord numInputs(::NTV2DeviceGetNumHDMIVideoInputs(_boardID));
179  if (numInputs < 1)
180  return false;
181  return inChannel == NTV2_CHANNEL1 // FIX THIS! MrBill
183 }
184 
185 bool CNTV2Card::SetHDMIInColorSpace (const NTV2HDMIColorSpace inValue, const NTV2Channel inChannel)
186 {
187  const ULWord numInputs(::NTV2DeviceGetNumHDMIVideoInputs(_boardID));
188  if (numInputs < 1)
189  return false;
190  return inChannel == NTV2_CHANNEL1 // FIX THIS! MrBill
192 }
193 
195 {
196  const ULWord numInputs(::NTV2DeviceGetNumHDMIVideoInputs(_boardID));
197  if (numInputs < 1)
198  return false;
199  return inChannel == NTV2_CHANNEL1 // FIX THIS! MrBill
201 }
202 
203 bool CNTV2Card::SetHDMIInBitDepth (const NTV2HDMIBitDepth inNewValue, const NTV2Channel inChannel)
204 {
205  const UWord numInputs(::NTV2DeviceGetNumHDMIVideoInputs(_boardID));
206  if (numInputs < 1)
207  return false;
208  if (numInputs <= UWord(inChannel))
209  return false;
210  if (NTV2_IS_VALID_HDMI_BITDEPTH(inNewValue))
211  return false;
212  // FINISH THIS MrBill
213  return true;
214 }
215 
217 {
218  outValue = NTV2_INVALID_HDMIBitDepth;
219  ULWord status(0), maskVal, shiftVal;
220  bool bV2(NTV2DeviceGetHDMIVersion(_boardID) >= 2);
223  if (!GetHDMIInputStatus(status, inChannel, bV2))
224  return false;
225  outValue = NTV2HDMIBitDepth((status & maskVal) >> shiftVal);
226  return NTV2_IS_VALID_HDMI_BITDEPTH(outValue);
227 }
228 
230 {
231  outValue = NTV2_INVALID_HDMI_PROTOCOL;
232  ULWord status(0);
233  if (!GetHDMIInputStatus(status, inChannel))
234  return false;
236  return NTV2_IS_VALID_HDMI_PROTOCOL(outValue);
237 }
238 
239 bool CNTV2Card::GetHDMIInIsLocked (bool & outIsLocked, const NTV2Channel inChannel)
240 {
241  outIsLocked = false;
242  ULWord status(0);
243  if (!GetHDMIInputStatus(status, inChannel))
244  return false;
245  if (GetDeviceID() == DEVICE_ID_KONALHIDVI)
246  outIsLocked = (status & (BIT(0) | BIT(1))) == (BIT(0) | BIT(1));
247  else
248  outIsLocked = (status & kRegMaskInputStatusLock) ? true : false;
249  return true;
250 }
251 
252 bool CNTV2Card::SetHDMIInAudioSampleRateConverterEnable (const bool value, const NTV2Channel inChannel)
253 {
254  const ULWord tempVal (!value); // this is high to disable sample rate conversion
255  return inChannel == NTV2_CHANNEL1 // FIX THIS MrBill
257 }
258 
259 
260 bool CNTV2Card::GetHDMIInAudioSampleRateConverterEnable (bool & outEnabled, const NTV2Channel inChannel)
261 {
262  if (inChannel != NTV2_CHANNEL1)
263  return false; // FIX THIS MrBill
264  ULWord tempVal (0);
266  if (retVal)
267  outEnabled = !(static_cast <bool> (tempVal)); // this is high to disable sample rate conversion
268  return retVal;
269 }
270 
271 
273 {
274  if (inChannel != NTV2_CHANNEL1)
275  return false; // FIX THIS MrBill
276  ULWord tempVal (0);
278  if (!ReadRegister(kRegHDMIInputStatus, tempVal))
279  return false;
281  return true;
282 }
283 
284 static const ULWord gKonaHDMICtrlRegs[] = {0x1d16, 0x2516, 0x2c14, 0x3014}; // KonaHDMI only
285 
286 bool CNTV2Card::GetHDMIInAudioChannel34Swap (bool & outIsSwapped, const NTV2Channel inChannel)
287 {
288  outIsSwapped = false;
289  if (inChannel >= ::NTV2DeviceGetNumHDMIVideoInputs(_boardID))
290  return false; // No such HDMI input
291  if (_boardID == DEVICE_ID_KONAHDMI)
294 }
295 
296 bool CNTV2Card::SetHDMIInAudioChannel34Swap (const bool inIsSwapped, const NTV2Channel inChannel)
297 {
298  if (inChannel >= ::NTV2DeviceGetNumHDMIVideoInputs(_boardID))
299  return false; // No such HDMI input
300  if (_boardID == DEVICE_ID_KONAHDMI)
301  return WriteRegister(gKonaHDMICtrlRegs[inChannel], inIsSwapped ? 1 : 0, kRegMaskHDMISwapInputAudCh34, kRegShiftHDMISwapInputAudCh34); // TBD
302  return WriteRegister(kRegHDMIInputControl, inIsSwapped ? 1 : 0, kRegMaskHDMISwapInputAudCh34, kRegShiftHDMISwapInputAudCh34);
303 }
304 
305 // kRegHDMIOut3DControl
306 bool CNTV2Card::SetHDMIOut3DPresent (const bool value)
307 {
310 }
311 
312 bool CNTV2Card::GetHDMIOut3DPresent (bool & outValue)
313 {
316 }
317 
319 {
322 }
323 
325 {
328 }
329 
330 // kRegHDMIOutControl
332 {
333  const ULWord hdmiVers (::NTV2DeviceGetHDMIVersion(GetDeviceID()));
334  return hdmiVers > 0
335  && ::NTV2DeviceGetNumHDMIVideoOutputs(GetDeviceID()) > 0
337 }
338 
340 {
341  const ULWord hdmiVers(::NTV2DeviceGetHDMIVersion(GetDeviceID()));
342  if (hdmiVers)
344  outValue = NTV2_STANDARD_INVALID;
345  return false;
346 }
347 
348 bool CNTV2Card::SetHDMIV2TxBypass (const bool bypass)
349 {
352 }
353 
355 {
356  if (!NTV2_IS_VALID_HDMI_SAMPLE_STRUCT(inValue))
357  return false;
358  if (::NTV2DeviceGetNumHDMIVideoOutputs(GetDeviceID()) == 0)
359  return false;
360  return WriteRegister (kRegHDMIOutControl, ULWord(inValue), kRegMaskHDMISampling, kRegShiftHDMISampling);
361 }
362 
364 {
365  if (::NTV2DeviceGetNumHDMIVideoOutputs(GetDeviceID()) == 0)
366  return false;
368 }
369 
371 {
375 }
376 
378 {
381 }
382 
384 {
386  && NTV2_IS_VALID_HDMI_RANGE(value)
388 }
389 
391 {
394 }
395 
396 
397 
399 { // Register 125 This function used to touch bits 4 & 5 (from the old FS/1 days) --- now obsolete.
400  //return WriteRegister (kRegHDMIOutControl, ULWord(value), kRegMaskHDMIColorSpace, kRegShiftHDMIColorSpace);
401  // Fixed in SDK 14.1 to work with modern NTV2 devices, but using the old NTV2HDMIColorSpace enum:
402  ULWord newCorrectValue (0);
403  switch (inValue)
404  {
405  case NTV2_HDMIColorSpaceRGB: newCorrectValue = NTV2_LHIHDMIColorSpaceRGB; break;
406  case NTV2_HDMIColorSpaceYCbCr: newCorrectValue = NTV2_LHIHDMIColorSpaceYCbCr; break;
407  default: return false; // Illegal value
408  }
409  // Register 125 Bit 8
412 }
413 
415 { // Register 125 This function used to read bits 4 & 5 (from the old FS/1 days) --- now obsolete.
416  //return ReadRegister (kRegHDMIOutControl, outValue, kRegMaskHDMIColorSpace, kRegShiftHDMIColorSpace);
417  // Fixed in SDK 14.1 to work with modern NTV2 devices, but using the old NTV2HDMIColorSpace enum:
418  if (!::NTV2DeviceGetNumHDMIVideoOutputs(GetDeviceID()))
419  return false; // No HDMI outputs
420 
421  ULWord correctValue(0);
422  // Register 125 Bit 8
424  return false; // Fail
425  switch(correctValue)
426  {
428  case NTV2_LHIHDMIColorSpaceRGB: outValue = NTV2_HDMIColorSpaceRGB; break;
429  default: return false; // Bad value?!
430  }
431  return true;
432 }
433 
434 
436 { // Register 125 Bit 8
438 }
439 
441 { // Register 125 Bit 8
442  ULWord value(0);
444  outValue = NTV2LHIHDMIColorSpace(value);
445  return result;
446 }
447 
448 
449 
451 {
454 }
455 
457 {
460 }
461 
463 {
464  bool ret = true;
465 
466  if ((::NTV2DeviceGetNumHDMIVideoOutputs(GetDeviceID()) == 0) ||
468  return false;
469 
470  if (value == NTV2_HDMI12Bit)
471  {
473  ret &= WriteRegister (kRegHDMIOutControl, 2, kRegMaskHDMIVOBD, kRegShiftHDMIVOBD);
475  }
476  else if (value == NTV2_HDMI10Bit)
477  {
479  ret &= WriteRegister (kRegHDMIOutControl, 0, kRegMaskHDMIVOBD, kRegShiftHDMIVOBD);
481  }
482  else
483  {
485  ret &= WriteRegister (kRegHDMIOutControl, 0, kRegMaskHDMIVOBD, kRegShiftHDMIVOBD);
487  }
488 
489  return ret;
490 }
491 
493 {
494  ULWord d10(0), d12(0);
495  outValue = NTV2_INVALID_HDMIBitDepth;
496  if (::NTV2DeviceGetNumHDMIVideoOutputs(GetDeviceID()) == 0)
497  return false;
498 
501  return false;
502 
503  if (d12 > 0)
504  outValue = NTV2_HDMI12Bit;
505  else if (d10 > 0)
506  outValue = NTV2_HDMI10Bit;
507  else
508  outValue = NTV2_HDMI8Bit;
509  return true;
510 }
511 
513 {
517 }
518 
520 {
523 }
524 
525 bool CNTV2Card::SetHDMIOutForceConfig (const bool value)
526 {
529 }
530 
531 bool CNTV2Card::GetHDMIOutForceConfig (bool & outValue)
532 {
535 }
536 
537 bool CNTV2Card::SetHDMIOutPrefer420 (const bool value)
538 {
541 }
542 
543 bool CNTV2Card::GetHDMIOutPrefer420 (bool & outValue)
544 {
547 }
548 
549 
550 bool CNTV2Card::SetHDMIOutDecimateMode (const bool inIsEnabled)
551 {
552  return GetNumSupported(kDeviceGetHDMIVersion) > 1
553  && GetNumSupported(kDeviceGetNumHDMIVideoOutputs) > 0
555 }
556 
557 bool CNTV2Card::GetHDMIOutDecimateMode(bool & outIsEnabled)
558 {
559  return GetNumSupported(kDeviceGetHDMIVersion) > 1
560  && GetNumSupported(kDeviceGetNumHDMIVideoOutputs) > 0
562 }
563 
564 bool CNTV2Card::SetHDMIOutTsiIO (const bool inIsEnabled)
565 {
566  return GetNumSupported(kDeviceGetHDMIVersion) > 1
567  && GetNumSupported(kDeviceGetNumHDMIVideoOutputs) > 0
568  && WriteRegister(kRegRasterizerControl, ULWord(inIsEnabled), kRegMaskTsiIO, kRegShiftTsiIO);
569 }
570 
571 bool CNTV2Card::GetHDMIOutTsiIO (bool & outIsEnabled)
572 {
573  return GetNumSupported(kDeviceGetHDMIVersion) > 1
574  && GetNumSupported(kDeviceGetNumHDMIVideoOutputs) > 0
576 }
577 
578 bool CNTV2Card::SetHDMIOutLevelBMode (const bool inIsEnabled)
579 {
580  return GetNumSupported(kDeviceGetHDMIVersion) > 1
581  && GetNumSupported(kDeviceGetNumHDMIVideoOutputs) > 0
583 }
584 
585 bool CNTV2Card::GetHDMIOutLevelBMode (bool & outIsEnabled)
586 {
587  return GetNumSupported(kDeviceGetHDMIVersion) > 1
588  && GetNumSupported(kDeviceGetNumHDMIVideoOutputs) > 0
590 }
591 
593 {
594  return GetNumSupported(kDeviceGetHDMIVersion) > 1
596 }
597 
598 
600 {
601  return GetNumSupported(kDeviceGetHDMIVersion) > 1
603 }
604 
605 
607 {
608  outStatus.Clear();
609  if (GetNumSupported(kDeviceGetHDMIVersion) < 4)
610  return false; // must have HDMI version 4 or higher
611 
612  ULWord data(0);
613  if (!ReadRegister(kVRegHDMIOutStatus1, data))
614  return false; // ReadRegister failed
615 
616  return outStatus.SetFromRegValue(data);
617 }
618 
619 
620 bool CNTV2Card::SetHDMIHDRGreenPrimaryX(const uint16_t inGreenPrimaryX)
621 {
623  bool status(false);
624  GetEveryFrameServices(taskMode);
625  if(!NTV2_IS_VALID_HDR_PRIMARY(inGreenPrimaryX) || !IsSupported(kDeviceCanDoHDMIHDROut))
626  return false;
627 
628  status = WriteRegister(kVRegHdrGreenXCh1, uint32_t(inGreenPrimaryX));
629  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode) && status)
630  return WriteRegister(kRegHDMIHDRGreenPrimary, uint32_t(inGreenPrimaryX), kRegMaskHDMIHDRGreenPrimaryX, kRegShiftHDMIHDRGreenPrimaryX);
631  return status;
632 }
633 
634 bool CNTV2Card::GetHDMIHDRGreenPrimaryX(uint16_t & outGreenPrimaryX)
635 {
636  return IsSupported(kDeviceCanDoHDMIHDROut)
638 }
639 
640 bool CNTV2Card::SetHDMIHDRGreenPrimaryY(const uint16_t inGreenPrimaryY)
641 {
643  bool status(false);
644  GetEveryFrameServices(taskMode);
645  if(!NTV2_IS_VALID_HDR_PRIMARY(inGreenPrimaryY) || !IsSupported(kDeviceCanDoHDMIHDROut))
646  return false;
647 
648  status = WriteRegister(kVRegHdrGreenYCh1, uint32_t(inGreenPrimaryY));
649  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
650  return WriteRegister(kRegHDMIHDRGreenPrimary, uint32_t(inGreenPrimaryY), kRegMaskHDMIHDRGreenPrimaryY, kRegShiftHDMIHDRGreenPrimaryY);
651  return status;
652 }
653 
654 bool CNTV2Card::GetHDMIHDRGreenPrimaryY(uint16_t & outGreenPrimaryY)
655 {
656  return IsSupported(kDeviceCanDoHDMIHDROut)
658 }
659 
660 bool CNTV2Card::SetHDMIHDRBluePrimaryX(const uint16_t inBluePrimaryX)
661 {
663  bool status(false);
664  GetEveryFrameServices(taskMode);
665  if(!NTV2_IS_VALID_HDR_PRIMARY(inBluePrimaryX) || !IsSupported(kDeviceCanDoHDMIHDROut))
666  return false;
667 
668  status = WriteRegister(kVRegHdrBlueXCh1, uint32_t(inBluePrimaryX));
669  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
670  return WriteRegister(kRegHDMIHDRBluePrimary, uint32_t(inBluePrimaryX), kRegMaskHDMIHDRBluePrimaryX, kRegShiftHDMIHDRBluePrimaryX);
671  return status;
672 }
673 
674 bool CNTV2Card::GetHDMIHDRBluePrimaryX(uint16_t & outBluePrimaryX)
675 {
676  return IsSupported(kDeviceCanDoHDMIHDROut)
678 }
679 
680 bool CNTV2Card::SetHDMIHDRBluePrimaryY(const uint16_t inBluePrimaryY)
681 {
683  bool status(false);
684  GetEveryFrameServices(taskMode);
685  if(!NTV2_IS_VALID_HDR_PRIMARY(inBluePrimaryY) || !IsSupported(kDeviceCanDoHDMIHDROut))
686  return false;
687 
688  status = WriteRegister(kVRegHdrBlueYCh1, uint32_t(inBluePrimaryY));
689  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
690  return WriteRegister(kRegHDMIHDRBluePrimary, uint32_t(inBluePrimaryY), kRegMaskHDMIHDRBluePrimaryY, kRegShiftHDMIHDRBluePrimaryY);
691  return status;
692 }
693 
694 bool CNTV2Card::GetHDMIHDRBluePrimaryY(uint16_t & outBluePrimaryY)
695 {
696  return IsSupported(kDeviceCanDoHDMIHDROut)
698 }
699 
700 bool CNTV2Card::SetHDMIHDRRedPrimaryX(const uint16_t inRedPrimaryX)
701 {
703  bool status(false);
704  GetEveryFrameServices(taskMode);
705  if(!NTV2_IS_VALID_HDR_PRIMARY(inRedPrimaryX) || !IsSupported(kDeviceCanDoHDMIHDROut))
706  return false;
707 
708  status = WriteRegister(kVRegHdrRedXCh1, uint32_t(inRedPrimaryX));
709  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
710  return WriteRegister(kRegHDMIHDRRedPrimary, uint32_t(inRedPrimaryX), kRegMaskHDMIHDRRedPrimaryX, kRegShiftHDMIHDRRedPrimaryX);
711  return status;
712 }
713 
714 bool CNTV2Card::GetHDMIHDRRedPrimaryX(uint16_t & outRedPrimaryX)
715 {
716  return IsSupported(kDeviceCanDoHDMIHDROut)
718 }
719 
720 bool CNTV2Card::SetHDMIHDRRedPrimaryY(const uint16_t inRedPrimaryY)
721 {
723  bool status(false);
724  GetEveryFrameServices(taskMode);
725  if(!NTV2_IS_VALID_HDR_PRIMARY(inRedPrimaryY) || !IsSupported(kDeviceCanDoHDMIHDROut))
726  return false;
727 
728  status = WriteRegister(kVRegHdrRedYCh1, uint32_t(inRedPrimaryY));
729  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
730  return WriteRegister(kRegHDMIHDRRedPrimary, uint32_t(inRedPrimaryY), kRegMaskHDMIHDRRedPrimaryY, kRegShiftHDMIHDRRedPrimaryY);
731  return status;
732 }
733 
734 bool CNTV2Card::GetHDMIHDRRedPrimaryY(uint16_t & outRedPrimaryY)
735 {
736  return IsSupported(kDeviceCanDoHDMIHDROut)
738 }
739 
740 bool CNTV2Card::SetHDMIHDRWhitePointX(const uint16_t inWhitePointX)
741 {
743  bool status(false);
744  GetEveryFrameServices(taskMode);
745  if(!NTV2_IS_VALID_HDR_PRIMARY(inWhitePointX) || !IsSupported(kDeviceCanDoHDMIHDROut))
746  return false;
747 
748  status = WriteRegister(kVRegHdrWhiteXCh1, uint32_t(inWhitePointX));
749  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
750  return WriteRegister(kRegHDMIHDRWhitePoint, uint32_t(inWhitePointX), kRegMaskHDMIHDRWhitePointX, kRegShiftHDMIHDRWhitePointX);
751  return status;
752 }
753 
754 bool CNTV2Card::GetHDMIHDRWhitePointX(uint16_t & outWhitePointX)
755 {
756  return IsSupported(kDeviceCanDoHDMIHDROut)
758 }
759 
760 bool CNTV2Card::SetHDMIHDRWhitePointY(const uint16_t inWhitePointY)
761 {
763  bool status(false);
764  GetEveryFrameServices(taskMode);
765  if(!NTV2_IS_VALID_HDR_PRIMARY(inWhitePointY) || !IsSupported(kDeviceCanDoHDMIHDROut))
766  return false;
767 
768  status = WriteRegister(kVRegHdrWhiteYCh1, uint32_t(inWhitePointY));
769  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
770  return WriteRegister(kRegHDMIHDRWhitePoint, uint32_t(inWhitePointY), kRegMaskHDMIHDRWhitePointY, kRegShiftHDMIHDRWhitePointY);
771  return status;
772 }
773 
774 bool CNTV2Card::GetHDMIHDRWhitePointY(uint16_t & outWhitePointY)
775 {
776  return IsSupported(kDeviceCanDoHDMIHDROut)
778 }
779 
780 bool CNTV2Card::SetHDMIHDRMaxMasteringLuminance(const uint16_t inMaxMasteringLuminance)
781 {
783  bool status(false);
784  GetEveryFrameServices(taskMode);
785  if(!NTV2_IS_VALID_HDR_MASTERING_LUMINENCE(inMaxMasteringLuminance) || !IsSupported(kDeviceCanDoHDMIHDROut))
786  return false;
787 
788  status = WriteRegister(kVRegHdrMasterLumMaxCh1, uint32_t(inMaxMasteringLuminance));
789  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
790  return WriteRegister(kRegHDMIHDRMasteringLuminence, uint32_t(inMaxMasteringLuminance), kRegMaskHDMIHDRMaxMasteringLuminance, kRegShiftHDMIHDRMaxMasteringLuminance);
791  return status;
792 }
793 
794 bool CNTV2Card::GetHDMIHDRMaxMasteringLuminance(uint16_t & outMaxMasteringLuminance)
795 {
796  return IsSupported(kDeviceCanDoHDMIHDROut)
797  && CNTV2DriverInterface::ReadRegister(kVRegHdrMasterLumMaxCh1, outMaxMasteringLuminance);
798 }
799 
800 bool CNTV2Card::SetHDMIHDRMinMasteringLuminance(const uint16_t inMinMasteringLuminance)
801 {
803  bool status(false);
804  GetEveryFrameServices(taskMode);
805  if(!NTV2_IS_VALID_HDR_MASTERING_LUMINENCE(inMinMasteringLuminance) || !IsSupported(kDeviceCanDoHDMIHDROut))
806  return false;
807 
808  status = WriteRegister(kVRegHdrMasterLumMinCh1, uint32_t(inMinMasteringLuminance));
809  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
810  return WriteRegister(kRegHDMIHDRMasteringLuminence, uint32_t(inMinMasteringLuminance), kRegMaskHDMIHDRMinMasteringLuminance, kRegShiftHDMIHDRMinMasteringLuminance);
811  return status;
812 }
813 
814 bool CNTV2Card::GetHDMIHDRMinMasteringLuminance(uint16_t & outMinMasteringLuminance)
815 {
816  return IsSupported(kDeviceCanDoHDMIHDROut)
817  && CNTV2DriverInterface::ReadRegister(kVRegHdrMasterLumMinCh1, outMinMasteringLuminance);
818 }
819 
820 bool CNTV2Card::SetHDMIHDRMaxContentLightLevel(const uint16_t inMaxContentLightLevel)
821 {
823  bool status(false);
824  GetEveryFrameServices(taskMode);
825  if(!NTV2_IS_VALID_HDR_LIGHT_LEVEL(inMaxContentLightLevel) || !IsSupported(kDeviceCanDoHDMIHDROut))
826  return false;
827 
828  status = WriteRegister(kVRegHdrMaxCLLCh1, uint32_t(inMaxContentLightLevel));
829  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
830  return WriteRegister(kRegHDMIHDRLightLevel, uint32_t(inMaxContentLightLevel), kRegMaskHDMIHDRMaxContentLightLevel, kRegShiftHDMIHDRMaxContentLightLevel);
831  return status;
832 }
833 
834 bool CNTV2Card::GetHDMIHDRMaxContentLightLevel(uint16_t & outMaxContentLightLevel)
835 {
836  return IsSupported(kDeviceCanDoHDMIHDROut)
837  && CNTV2DriverInterface::ReadRegister(kVRegHdrMaxCLLCh1, outMaxContentLightLevel);
838 }
839 
840 bool CNTV2Card::SetHDMIHDRMaxFrameAverageLightLevel(const uint16_t inMaxFrameAverageLightLevel)
841 {
843  bool status(false);
844  GetEveryFrameServices(taskMode);
845  if(!NTV2_IS_VALID_HDR_LIGHT_LEVEL(inMaxFrameAverageLightLevel) || !IsSupported(kDeviceCanDoHDMIHDROut))
846  return false;
847 
848  status = WriteRegister(kVRegHdrMaxFALLCh1, uint32_t(inMaxFrameAverageLightLevel));
849  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
850  return WriteRegister(kRegHDMIHDRLightLevel, uint32_t(inMaxFrameAverageLightLevel), kRegMaskHDMIHDRMaxFrameAverageLightLevel, kRegShiftHDMIHDRMaxFrameAverageLightLevel);
851  return status;
852 }
853 
854 bool CNTV2Card::GetHDMIHDRMaxFrameAverageLightLevel(uint16_t & outMaxFrameAverageLightLevel)
855 {
856  return IsSupported(kDeviceCanDoHDMIHDROut)
857  && CNTV2DriverInterface::ReadRegister(kVRegHdrMaxFALLCh1, outMaxFrameAverageLightLevel);
858 }
859 
860 bool CNTV2Card::SetHDMIHDRConstantLuminance(const bool inEnableConstantLuminance)
861 {
863  bool status(false);
864  GetEveryFrameServices(taskMode);
865  if (!IsSupported(kDeviceCanDoHDMIHDROut))
866  return false;
867 
868  status = WriteRegister(kVRegHdrLuminanceCh1, inEnableConstantLuminance ? 1 : 0);
869  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
870  return WriteRegister(kRegHDMIHDRControl, inEnableConstantLuminance ? 1 : 0, kRegMaskHDMIHDRNonContantLuminance, kRegShiftHDMIHDRNonContantLuminance);
871  return status;
872 }
873 
875 {
876  if (!IsSupported(kDeviceCanDoHDMIHDROut))
877  return false;
878  uint32_t regValue = 0;
879  ReadRegister(kVRegHdrLuminanceCh1, regValue);
880  return regValue ? true : false;
881 }
882 
884 {
886  bool status(false);
887  GetEveryFrameServices(taskMode);
888  if (!IsSupported(kDeviceCanDoHDMIHDROut))
889  return false;
890 
891  status = WriteRegister(kVRegHdrTransferCh1, inEOTFByte);
892  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
894  return status;
895 }
896 
898 {
899  return IsSupported(kDeviceCanDoHDMIHDROut)
901 }
902 
904 {
906  bool status(false);
907  GetEveryFrameServices(taskMode);
908  if (!IsSupported(kDeviceCanDoHDMIHDROut))
909  return false;
910 
911  status = WriteRegister(kVRegHdrColorimetryCh1, uint32_t(inSMDId));
912  if(!NTV2_IS_DRIVER_ACTIVE_TASKS(taskMode))
914  return status;
915 }
916 
918 {
919  return IsSupported(kDeviceCanDoHDMIHDROut)
921 }
922 
923 bool CNTV2Card::EnableHDMIHDR(const bool inEnableHDMIHDR)
924 {
925  bool status = true;
926  if (!IsSupported(kDeviceCanDoHDMIHDROut))
927  return false;
928  status = WriteRegister(kRegHDMIHDRControl, inEnableHDMIHDR ? 1 : 0, kRegMaskHDMIHDREnable, kRegShiftHDMIHDREnable);
929  WaitForOutputFieldID(NTV2_FIELD0, NTV2_CHANNEL1);
930  return status;
931 }
932 
934 {
935  if (!IsSupported(kDeviceCanDoHDMIHDROut))
936  return false;
937  uint32_t regValue = 0;
939  return regValue ? true : false;
940 }
941 
942 bool CNTV2Card::EnableHDMIHDRDolbyVision(const bool inEnable)
943 {
944  bool status = true;
945  if (!IsSupported(kDeviceCanDoHDMIHDROut))
946  return false;
948  WaitForOutputFieldID(NTV2_FIELD0, NTV2_CHANNEL1);
949  return status;
950 }
951 
953 {
954  if (!IsSupported(kDeviceCanDoHDMIHDROut))
955  return false;
956  uint32_t regValue = 0;
958  return regValue ? true : false;
959 }
960 
961 bool CNTV2Card::SetHDRData (const HDRFloatValues & inFloatValues)
962 {
963  HDRRegValues registerValues;
964  convertHDRFloatToRegisterValues(inFloatValues, registerValues);
965  SetHDRData(registerValues);
966  return true;
967 }
968 
969 bool CNTV2Card::SetHDRData(const HDRRegValues & inRegisterValues)
970 {
971  SetHDMIHDRGreenPrimaryX(inRegisterValues.greenPrimaryX);
972  SetHDMIHDRGreenPrimaryY(inRegisterValues.greenPrimaryY);
973  SetHDMIHDRBluePrimaryX(inRegisterValues.bluePrimaryX);
974  SetHDMIHDRBluePrimaryY(inRegisterValues.bluePrimaryY);
975  SetHDMIHDRRedPrimaryX(inRegisterValues.redPrimaryX);
976  SetHDMIHDRRedPrimaryY(inRegisterValues.redPrimaryY);
977  SetHDMIHDRWhitePointX(inRegisterValues.whitePointX);
978  SetHDMIHDRWhitePointY(inRegisterValues.whitePointY);
979  SetHDMIHDRMaxMasteringLuminance(inRegisterValues.maxMasteringLuminance);
980  SetHDMIHDRMinMasteringLuminance(inRegisterValues.minMasteringLuminance);
981  SetHDMIHDRMaxContentLightLevel(inRegisterValues.maxContentLightLevel);
982  SetHDMIHDRMaxFrameAverageLightLevel(inRegisterValues.maxFrameAverageLightLevel);
983  SetHDMIHDRElectroOpticalTransferFunction(inRegisterValues.electroOpticalTransferFunction);
984  SetHDMIHDRStaticMetadataDescriptorID(inRegisterValues.staticMetadataDescriptorID);
985  return true;
986 }
987 
988 bool CNTV2Card::GetHDRData(HDRFloatValues & outFloatValues)
989 {
990  HDRRegValues registerValues;
991  GetHDRData(registerValues);
992  return convertHDRRegisterToFloatValues(registerValues, outFloatValues);
993 }
994 
995 bool CNTV2Card::GetHDRData(HDRRegValues & outRegisterValues)
996 {
997  GetHDMIHDRGreenPrimaryX(outRegisterValues.greenPrimaryX);
998  GetHDMIHDRGreenPrimaryY(outRegisterValues.greenPrimaryY);
999  GetHDMIHDRBluePrimaryX(outRegisterValues.bluePrimaryX);
1000  GetHDMIHDRBluePrimaryY(outRegisterValues.bluePrimaryY);
1001  GetHDMIHDRRedPrimaryX(outRegisterValues.redPrimaryX);
1002  GetHDMIHDRRedPrimaryY(outRegisterValues.redPrimaryY);
1003  GetHDMIHDRWhitePointX(outRegisterValues.whitePointX);
1004  GetHDMIHDRWhitePointY(outRegisterValues.whitePointY);
1005  GetHDMIHDRMaxMasteringLuminance(outRegisterValues.maxMasteringLuminance);
1006  GetHDMIHDRMinMasteringLuminance(outRegisterValues.minMasteringLuminance);
1007  GetHDMIHDRMaxContentLightLevel(outRegisterValues.maxContentLightLevel);
1008  GetHDMIHDRMaxFrameAverageLightLevel(outRegisterValues.maxFrameAverageLightLevel);
1009  GetHDMIHDRElectroOpticalTransferFunction(outRegisterValues.electroOpticalTransferFunction);
1010  GetHDMIHDRStaticMetadataDescriptorID(outRegisterValues.staticMetadataDescriptorID);
1011  return true;
1012 }
1013 
1015 {
1016  HDRRegValues registerValues;
1017  setHDRDefaultsForBT2020(registerValues);
1018  EnableHDMIHDR(false);
1019  SetHDRData(registerValues);
1020  EnableHDMIHDR(true);
1021  return true;
1022 }
1023 
1025 {
1026  HDRRegValues registerValues;
1027  setHDRDefaultsForDCIP3(registerValues);
1028  EnableHDMIHDR(false);
1029  SetHDRData(registerValues);
1030  EnableHDMIHDR(true);
1031  return true;
1032 }
1033 
1034 bool CNTV2Card::GetHDMIOutAudioChannel34Swap (bool & outIsSwapped, const NTV2Channel inChannel)
1035 { (void) inChannel;
1036  outIsSwapped = false;
1037  if (!GetNumSupported(kDeviceGetNumHDMIVideoOutputs))
1038  return false;
1040 }
1041 
1042 bool CNTV2Card::SetHDMIOutAudioChannel34Swap (const bool inIsSwapped, const NTV2Channel inChannel)
1043 { (void) inChannel;
1044  if (!GetNumSupported(kDeviceGetNumHDMIVideoOutputs))
1045  return false;
1046  return WriteRegister(kRegHDMIInputControl, inIsSwapped ? 1 : 0, kRegMaskHDMISwapOutputAudCh34, kRegShiftHDMISwapOutputAudCh34);
1047 }
1048 
1050 {
1051  return WriteRegister(kRegHDMIInputControl, enable ? 1 : 0, kRegMaskHDMIOutForceConfig, kRegShiftHDMIOutForceConfig);
1052 }
1053 
1055 {
1056  ULWord enable = 0;
1057  bool status = ReadRegister(kRegHDMIInputControl, enable, kRegMaskHDMIOutForceConfig, kRegShiftHDMIOutForceConfig);
1058  isEnabled = enable ? true : false;
1059  return status;
1060 }
1061 
1063 {
1064  return WriteRegister(kRegHDMIInputControl, enable ? 1 : 0, kRegMaskHDMIOutCropEnable, kRegShiftHDMIOutCropEnable);
1065 }
1066 
1068 {
1069  ULWord enable = 0;
1070  bool status = ReadRegister(kRegHDMIInputControl, enable, kRegMaskHDMIOutCropEnable, kRegShiftHDMIOutCropEnable);
1071  isEnabled = enable ? true : false;
1072  return status;
1073 }
1074 
1075 
1076 
1078 
1079 #ifdef MSWindows
1080 #pragma warning(default: 4800)
1081 #endif
kVRegShiftHDMIInColorimetry
@ kVRegShiftHDMIInColorimetry
Definition: ntv2virtualregisters.h:656
kRegHDMIControl2
@ kRegHDMIControl2
Definition: ntv2publicinterface.h:1021
setHDRDefaultsForBT2020
void setHDRDefaultsForBT2020(HDRRegValues &outRegisterValues)
Definition: ntv2utils.cpp:7918
kRegHDMIHDRControl
@ kRegHDMIHDRControl
Definition: ntv2publicinterface.h:471
DEVICE_ID_KONALHIDVI
@ DEVICE_ID_KONALHIDVI
See KONA LHi.
Definition: ntv2enums.h:76
kRegRasterizerControl
@ kRegRasterizerControl
Definition: ntv2publicinterface.h:503
kVRegHDMIInAviInfo2
@ kVRegHDMIInAviInfo2
Definition: ntv2virtualregisters.h:616
HDRRegValues::maxContentLightLevel
uint16_t maxContentLightLevel
Definition: ntv2publicinterface.h:9876
CNTV2Card::SetHDMIInAudioChannel34Swap
virtual bool SetHDMIInAudioChannel34Swap(const bool inIsSwapped, const NTV2Channel inChannel=NTV2_CHANNEL1)
Sets the given HDMI input's audio channel 3/4 swap state.
Definition: ntv2hdmi.cpp:296
kLHIRegMaskHDMIOutFPS
@ kLHIRegMaskHDMIOutFPS
Definition: ntv2publicinterface.h:1523
CNTV2Card::GetHDMIHDREnabled
virtual bool GetHDMIHDREnabled(void)
Definition: ntv2hdmi.cpp:933
CNTV2Card::EnableHDMIHDR
virtual bool EnableHDMIHDR(const bool inEnableHDMIHDR)
Enables or disables HDMI HDR.
Definition: ntv2hdmi.cpp:923
CNTV2Card::GetHDMIOutDownstreamBitDepth
virtual bool GetHDMIOutDownstreamBitDepth(NTV2HDMIBitDepth &outValue)
Definition: ntv2hdmi.cpp:450
kVRegHdrMasterLumMaxCh1
@ kVRegHdrMasterLumMaxCh1
Definition: ntv2virtualregisters.h:546
kRegShiftHDRStaticMetadataDescriptorID
@ kRegShiftHDRStaticMetadataDescriptorID
Definition: ntv2publicinterface.h:3199
kVRegHDMIInDrmBluePrimary1
@ kVRegHDMIInDrmBluePrimary1
Definition: ntv2virtualregisters.h:611
CNTV2Card::GetHDMIOutTsiIO
virtual bool GetHDMIOutTsiIO(bool &tsiEnabled)
Definition: ntv2hdmi.cpp:571
kRegShiftHDMIHDRWhitePointY
@ kRegShiftHDMIHDRWhitePointY
Definition: ntv2publicinterface.h:3189
kVRegHdrBlueYCh1
@ kVRegHdrBlueYCh1
Definition: ntv2virtualregisters.h:541
CNTV2Card::GetHDMIOutPrefer420
virtual bool GetHDMIOutPrefer420(bool &outValue)
Definition: ntv2hdmi.cpp:543
HDRRegValues::whitePointX
uint16_t whitePointX
Definition: ntv2publicinterface.h:9872
kRegHDMIHDRWhitePoint
@ kRegHDMIHDRWhitePoint
Definition: ntv2publicinterface.h:468
CNTV2Card::SetHDMIHDRStaticMetadataDescriptorID
virtual bool SetHDMIHDRStaticMetadataDescriptorID(const uint8_t inSMDId)
Definition: ntv2hdmi.cpp:903
kRegShiftHDMIOutRange
@ kRegShiftHDMIOutRange
Definition: ntv2publicinterface.h:2612
NTV2DeviceGetNumHDMIVideoInputs
UWord NTV2DeviceGetNumHDMIVideoInputs(const NTV2DeviceID inDeviceID)
Definition: ntv2devicefeatures.hpp:11017
CNTV2Card::GetHDMIHDRWhitePointX
virtual bool GetHDMIHDRWhitePointX(uint16_t &outWhitePointX)
Answers with the Display Mastering data for White Point X as defined in SMPTE ST 2086....
Definition: ntv2hdmi.cpp:754
CNTV2Card::EnableHDMIOutCenterCrop
virtual bool EnableHDMIOutCenterCrop(const bool inEnable)
Controls the 4k/2k -> UHD/HD HDMI center cropping feature.
Definition: ntv2hdmi.cpp:1062
DEVICE_ID_KONAHDMI
@ DEVICE_ID_KONAHDMI
See KONA HDMI.
Definition: ntv2enums.h:66
CNTV2Card::GetHDMIOutStatus
virtual bool GetHDMIOutStatus(NTV2HDMIOutputStatus &outStatus)
Answers with the current HDMI output status.
Definition: ntv2hdmi.cpp:606
CNTV2Card::GetHDMIInAudioSampleRateConverterEnable
virtual bool GetHDMIInAudioSampleRateConverterEnable(bool &outIsEnabled, const NTV2Channel inChannel=NTV2_CHANNEL1)
Definition: ntv2hdmi.cpp:260
kRegMaskRasterLevelB
@ kRegMaskRasterLevelB
Definition: ntv2publicinterface.h:2030
NTV2HDMIBitDepth
NTV2HDMIBitDepth
Indicates or specifies the HDMI video bit depth.
Definition: ntv2enums.h:3645
NTV2_CHANNEL2
@ NTV2_CHANNEL2
Specifies channel or Frame Store 2 (or the 2nd item).
Definition: ntv2enums.h:1337
CNTV2Card::SetHDMIOutVideoStandard
virtual bool SetHDMIOutVideoStandard(const NTV2Standard inNewValue)
Definition: ntv2hdmi.cpp:331
NTV2_HDMIAudio2Channels
@ NTV2_HDMIAudio2Channels
2 audio channels
Definition: ntv2enums.h:3622
CNTV2Card::GetHDMIOutColorSpace
virtual bool GetHDMIOutColorSpace(NTV2HDMIColorSpace &outValue)
Definition: ntv2hdmi.cpp:414
kRegShiftHDMIHDRGreenPrimaryX
@ kRegShiftHDMIHDRGreenPrimaryX
Definition: ntv2publicinterface.h:3182
ntv2devicefeatures.h
Declares device capability functions.
NTV2LHIHDMIColorSpace
NTV2LHIHDMIColorSpace
Definition: ntv2enums.h:3631
kRegShiftHDMISampling
@ kRegShiftHDMISampling
Definition: ntv2publicinterface.h:2608
kVRegHDMIOutStatus1
@ kVRegHDMIOutStatus1
Definition: ntv2virtualregisters.h:625
kRegMaskHDMIOutForceConfig
@ kRegMaskHDMIOutForceConfig
Definition: ntv2publicinterface.h:1557
kRegMaskHDMIHDRBluePrimaryY
@ kRegMaskHDMIHDRBluePrimaryY
Definition: ntv2publicinterface.h:2124
HDRRegValues::redPrimaryY
uint16_t redPrimaryY
Definition: ntv2publicinterface.h:9871
CNTV2Card::GetHDMIHDRDolbyVisionEnabled
virtual bool GetHDMIHDRDolbyVisionEnabled(void)
Definition: ntv2hdmi.cpp:952
HDRFloatValues
Definition: ntv2publicinterface.h:9882
kRegMaskHDMIHDREnable
@ kRegMaskHDMIHDREnable
Definition: ntv2publicinterface.h:2136
CNTV2Card::GetHDMIOutSampleStructure
virtual bool GetHDMIOutSampleStructure(NTV2HDMISampleStructure &outValue)
Definition: ntv2hdmi.cpp:363
NTV2_HDMIColorimetryNoData
@ NTV2_HDMIColorimetryNoData
Definition: ntv2enums.h:3604
NTV2Channel
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
Definition: ntv2enums.h:1334
NTV2HDMIColorSpace
NTV2HDMIColorSpace
Indicates or specifies HDMI Color Space.
Definition: ntv2enums.h:3558
kRegShiftHDMIOutVideoStd
@ kRegShiftHDMIOutVideoStd
Definition: ntv2publicinterface.h:2598
kLHIRegMaskHDMIInputProtocol
@ kLHIRegMaskHDMIInputProtocol
Definition: ntv2publicinterface.h:1553
kRegMaskHDMIHDRRedPrimaryX
@ kRegMaskHDMIHDRRedPrimaryX
Definition: ntv2publicinterface.h:2125
kVRegHDMIInDrmRedPrimary1
@ kVRegHDMIInDrmRedPrimary1
Definition: ntv2virtualregisters.h:612
NTV2_STANDARD_INVALID
@ NTV2_STANDARD_INVALID
Definition: ntv2enums.h:176
kRegShiftHDMIOutForceConfig
@ kRegShiftHDMIOutForceConfig
Definition: ntv2publicinterface.h:2634
CNTV2Card::GetHDMIInBitDepth
virtual bool GetHDMIInBitDepth(NTV2HDMIBitDepth &outValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Answers with the given HDMI input's current bit depth setting.
Definition: ntv2hdmi.cpp:216
CNTV2Card::SetHDMIOutRange
virtual bool SetHDMIOutRange(const NTV2HDMIRange inNewValue)
Definition: ntv2hdmi.cpp:383
CNTV2Card::GetHDMIOutVideoFPS
virtual bool GetHDMIOutVideoFPS(NTV2FrameRate &outValue)
Definition: ntv2hdmi.cpp:377
gHDMIChannelToControlRegNum
static const ULWord gHDMIChannelToControlRegNum[]
Definition: ntv2hdmi.cpp:21
HDRRegValues::bluePrimaryX
uint16_t bluePrimaryX
Definition: ntv2publicinterface.h:9868
kRegMaskHDMIHDRGreenPrimaryX
@ kRegMaskHDMIHDRGreenPrimaryX
Definition: ntv2publicinterface.h:2121
kRegMaskHDMIHDRMaxMasteringLuminance
@ kRegMaskHDMIHDRMaxMasteringLuminance
Definition: ntv2publicinterface.h:2129
CNTV2Card::GetHDMIOutAudioChannel34Swap
virtual bool GetHDMIOutAudioChannel34Swap(bool &outIsSwapped, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Answers with the HDMI output's current audio channel 3/4 swap setting.
Definition: ntv2hdmi.cpp:1034
kRegShiftHDMIHDRMaxContentLightLevel
@ kRegShiftHDMIHDRMaxContentLightLevel
Definition: ntv2publicinterface.h:3192
CNTV2Card::EnableHDMIOutUserOverride
virtual bool EnableHDMIOutUserOverride(const bool inEnable)
Enables or disables override of HDMI parameters.
Definition: ntv2hdmi.cpp:1049
kRegShiftHDMIColorSpace
@ kRegShiftHDMIColorSpace
Definition: ntv2publicinterface.h:2653
CNTV2Card::SetHDMIOutVideoFPS
virtual bool SetHDMIOutVideoFPS(const NTV2FrameRate inNewValue)
Definition: ntv2hdmi.cpp:370
kRegHDMIHDRGreenPrimary
@ kRegHDMIHDRGreenPrimary
Definition: ntv2publicinterface.h:465
CNTV2Card::GetHDMIOutDecimateMode
virtual bool GetHDMIOutDecimateMode(bool &outIsEnabled)
Definition: ntv2hdmi.cpp:557
CNTV2Card::GetHDMIOut3DMode
virtual bool GetHDMIOut3DMode(NTV2HDMIOut3DMode &outValue)
Definition: ntv2hdmi.cpp:324
NTV2HDMIAudioChannels
NTV2HDMIAudioChannels
Indicates or specifies the HDMI audio channel count.
Definition: ntv2enums.h:3620
kRegShiftHDMIV2TxBypass
@ kRegShiftHDMIV2TxBypass
Definition: ntv2publicinterface.h:2602
kRegHDMIControl3
@ kRegHDMIControl3
Definition: ntv2publicinterface.h:1024
kRegMaskHDMIOut3DPresent
@ kRegMaskHDMIOut3DPresent
Definition: ntv2publicinterface.h:1514
kRegHDMIHDRBluePrimary
@ kRegHDMIHDRBluePrimary
Definition: ntv2publicinterface.h:466
CNTV2Card::SetHDMIHDRBT2020
virtual bool SetHDMIHDRBT2020(void)
Definition: ntv2hdmi.cpp:1014
CNTV2Card::SetHDMIInAudioSampleRateConverterEnable
virtual bool SetHDMIInAudioSampleRateConverterEnable(const bool inNewValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Definition: ntv2hdmi.cpp:252
CNTV2Card::GetHDMIHDRBluePrimaryY
virtual bool GetHDMIHDRBluePrimaryY(uint16_t &outBluePrimaryY)
Answers with the Display Mastering data for Blue Primary Y as defined in SMPTE ST 2086....
Definition: ntv2hdmi.cpp:694
kLHIRegShiftHDMIInputProtocol
@ kLHIRegShiftHDMIInputProtocol
Definition: ntv2publicinterface.h:2630
kRegMaskElectroOpticalTransferFunction
@ kRegMaskElectroOpticalTransferFunction
Definition: ntv2publicinterface.h:2137
kRegShiftHDMISampleRateConverterEnable
@ kRegShiftHDMISampleRateConverterEnable
Definition: ntv2publicinterface.h:2636
CNTV2Card::GetHDMIHDRGreenPrimaryY
virtual bool GetHDMIHDRGreenPrimaryY(uint16_t &outGreenPrimaryY)
Answers with the Display Mastering data for Green Primary Y as defined in SMPTE ST 2086....
Definition: ntv2hdmi.cpp:654
CNTV2Card::SetHDMIOutAudioChannel34Swap
virtual bool SetHDMIOutAudioChannel34Swap(const bool inIsSwapped, const NTV2Channel inWhichHDMIOut=NTV2_CHANNEL1)
Sets the HDMI output's audio channel 3/4 swap state.
Definition: ntv2hdmi.cpp:1042
CNTV2Card::SetHDMIHDRConstantLuminance
virtual bool SetHDMIHDRConstantLuminance(const bool inEnableConstantLuminance)
Enables or disables BT.2020 Y'cC'bcC'rc versus BT.2020 Y'C'bC'r or R'G'B'.
Definition: ntv2hdmi.cpp:860
convertHDRRegisterToFloatValues
bool convertHDRRegisterToFloatValues(const HDRRegValues &inRegisterValues, HDRFloatValues &outFloatValues)
Definition: ntv2utils.cpp:7890
NTV2_LHIHDMIColorSpaceRGB
@ NTV2_LHIHDMIColorSpaceRGB
Definition: ntv2enums.h:3634
NTV2_INVALID_HDMI_AUDIO_CHANNELS
@ NTV2_INVALID_HDMI_AUDIO_CHANNELS
Definition: ntv2enums.h:3625
CNTV2Card::GetEnableHDMIOutCenterCrop
virtual bool GetEnableHDMIOutCenterCrop(bool &outIsEnabled)
Answers if the HDMI 4k/2k -> UHD/HD center cropping is enabled or not.
Definition: ntv2hdmi.cpp:1067
kRegMaskHDMIVOBD
@ kRegMaskHDMIVOBD
Definition: ntv2publicinterface.h:1529
kRegMaskRasterMode
@ kRegMaskRasterMode
Definition: ntv2publicinterface.h:2028
NTV2_CHANNEL1
@ NTV2_CHANNEL1
Specifies channel or Frame Store 1 (or the first item).
Definition: ntv2enums.h:1336
kRegShiftHDMIHDRGreenPrimaryY
@ kRegShiftHDMIHDRGreenPrimaryY
Definition: ntv2publicinterface.h:3183
CNTV2Card::SetHDMIOutSampleStructure
virtual bool SetHDMIOutSampleStructure(const NTV2HDMISampleStructure inNewValue)
Definition: ntv2hdmi.cpp:354
NTV2HDMIOutputStatus::Clear
void Clear(void)
Resets me to an invalid state.
Definition: ntv2publicinterface.cpp:148
kRegShiftRasterLevelB
@ kRegShiftRasterLevelB
Definition: ntv2publicinterface.h:3091
CNTV2DriverInterface::WriteRegister
virtual bool WriteRegister(const ULWord inRegNum, const ULWord inValue, const ULWord inMask=0xFFFFFFFF, const ULWord inShift=0)
Updates or replaces all or part of the 32-bit contents of a specific register (real or virtual) on th...
Definition: ntv2driverinterface.cpp:493
kVRegHDMIInDrmLightLevel2
@ kVRegHDMIInDrmLightLevel2
Definition: ntv2virtualregisters.h:623
NTV2_FIELD0
@ NTV2_FIELD0
Identifies the first field in time for an interlaced video frame, or the first and only field in a pr...
Definition: ntv2enums.h:1817
CNTV2Card::SetHDMIHDRGreenPrimaryX
virtual bool SetHDMIHDRGreenPrimaryX(const uint16_t inGreenPrimaryX)
Sets the Display Mastering data for Green Primary X as defined in SMPTE ST 2086. This is Byte 3 and 4...
Definition: ntv2hdmi.cpp:620
kVRegHDMIInDrmInfo1
@ kVRegHDMIInDrmInfo1
Definition: ntv2virtualregisters.h:609
setHDRDefaultsForDCIP3
void setHDRDefaultsForDCIP3(HDRRegValues &outRegisterValues)
Definition: ntv2utils.cpp:7936
nlohmann::json_abiNLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON_v3_11_NLOHMANN_JSON_VERSION_PATCH::detail::void
j template void())
Definition: json.hpp:4893
CNTV2Card::GetHDMIInAudioChannel34Swap
virtual bool GetHDMIInAudioChannel34Swap(bool &outIsSwapped, const NTV2Channel inChannel=NTV2_CHANNEL1)
Answers with the given HDMI input's current audio channel 3/4 swap setting.
Definition: ntv2hdmi.cpp:286
NTV2HDMIRange
NTV2HDMIRange
Indicates or specifies the HDMI RGB range.
Definition: ntv2enums.h:3588
kVRegHDMIInDrmBluePrimary2
@ kVRegHDMIInDrmBluePrimary2
Definition: ntv2virtualregisters.h:619
kRegShiftHDMIInputRange
@ kRegShiftHDMIInputRange
Definition: ntv2publicinterface.h:2648
NTV2HDMIOutputStatus
Reports HDMI output status information.
Definition: ntv2publicinterface.h:6937
NTV2_HDMIAudio8Channels
@ NTV2_HDMIAudio8Channels
8 audio channels
Definition: ntv2enums.h:3623
kVRegHDMIInDrmMasteringLuminence1
@ kVRegHDMIInDrmMasteringLuminence1
Definition: ntv2virtualregisters.h:614
NTV2FrameRate
NTV2FrameRate
Identifies a particular video frame rate.
Definition: ntv2enums.h:399
CNTV2Card::GetHDMIOutDownstreamColorSpace
virtual bool GetHDMIOutDownstreamColorSpace(NTV2LHIHDMIColorSpace &outValue)
Definition: ntv2hdmi.cpp:456
HDRRegValues::maxFrameAverageLightLevel
uint16_t maxFrameAverageLightLevel
Definition: ntv2publicinterface.h:9877
kRegMaskHDMIInfoRange
@ kRegMaskHDMIInfoRange
Definition: ntv2publicinterface.h:1573
kRegShiftHDMIHDRWhitePointX
@ kRegShiftHDMIHDRWhitePointX
Definition: ntv2publicinterface.h:3188
kRegMaskHDMIHDRNonContantLuminance
@ kRegMaskHDMIHDRNonContantLuminance
Definition: ntv2publicinterface.h:2134
kVRegHDMIInDrmGreenPrimary1
@ kVRegHDMIInDrmGreenPrimary1
Definition: ntv2virtualregisters.h:610
convertHDRFloatToRegisterValues
bool convertHDRFloatToRegisterValues(const HDRFloatValues &inFloatValues, HDRRegValues &outRegisterValues)
Definition: ntv2utils.cpp:7860
NTV2_IS_VALID_HDR_MASTERING_LUMINENCE
#define NTV2_IS_VALID_HDR_MASTERING_LUMINENCE(__val__)
Definition: ntv2publicinterface.h:9918
CNTV2Card::GetEnableHDMIOutUserOverride
virtual bool GetEnableHDMIOutUserOverride(bool &outIsEnabled)
Answers if override of HDMI parameters is enabled or not.
Definition: ntv2hdmi.cpp:1054
kVRegHdrTransferCh1
@ kVRegHdrTransferCh1
Definition: ntv2virtualregisters.h:536
kVRegHDMIInDrmGreenPrimary2
@ kVRegHDMIInDrmGreenPrimary2
Definition: ntv2virtualregisters.h:618
CNTV2Card::GetHDMIHDRBluePrimaryX
virtual bool GetHDMIHDRBluePrimaryX(uint16_t &outBluePrimaryX)
Answers with the Display Mastering data for Blue Primary X as defined in SMPTE ST 2086....
Definition: ntv2hdmi.cpp:674
HDRRegValues::minMasteringLuminance
uint16_t minMasteringLuminance
Definition: ntv2publicinterface.h:9875
kLHIRegMaskHDMIOutColorSpace
@ kLHIRegMaskHDMIOutColorSpace
Definition: ntv2publicinterface.h:1522
CNTV2Card::SetHDMIHDRMaxContentLightLevel
virtual bool SetHDMIHDRMaxContentLightLevel(const uint16_t inMaxContentLightLevel)
Sets the Display Mastering data for the Max Content Light Level(Max CLL) value. This is Byte 23 and 2...
Definition: ntv2hdmi.cpp:820
CNTV2DriverInterface::ReadRegister
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....
Definition: ntv2driverinterface.cpp:429
kRegMaskHDMISwapOutputAudCh34
@ kRegMaskHDMISwapOutputAudCh34
Definition: ntv2publicinterface.h:1561
NTV2DeviceGetHDMIVersion
ULWord NTV2DeviceGetHDMIVersion(const NTV2DeviceID inDeviceID)
Definition: ntv2devicefeatures.hpp:8821
kRegShiftHDMIInfoRange
@ kRegShiftHDMIInfoRange
Definition: ntv2publicinterface.h:2650
kRegHDMIOutControl
@ kRegHDMIOutControl
Definition: ntv2publicinterface.h:240
kRegMaskHDMIHDRDolbyVisionEnable
@ kRegMaskHDMIHDRDolbyVisionEnable
Definition: ntv2publicinterface.h:2135
isEnabled
static bool isEnabled(CNTV2Card &device, const NTV2Channel inChannel)
Definition: ntv2supportlogger.cpp:143
CNTV2Card::SetHDMIOutLevelBMode
virtual bool SetHDMIOutLevelBMode(const bool inEnable)
Enables or disables level-B mode on the device's HDMI rasterizer.
Definition: ntv2hdmi.cpp:578
kRegMaskHDMIOutVideoStd
@ kRegMaskHDMIOutVideoStd
Definition: ntv2publicinterface.h:1518
kRegMaskTsiIO
@ kRegMaskTsiIO
Definition: ntv2publicinterface.h:2029
kRegShiftRasterMode
@ kRegShiftRasterMode
Definition: ntv2publicinterface.h:3089
kRegShiftHDMIOut3DPresent
@ kRegShiftHDMIOut3DPresent
Definition: ntv2publicinterface.h:2594
kLHIRegShiftHDMIInputBitDepth
@ kLHIRegShiftHDMIInputBitDepth
Definition: ntv2publicinterface.h:2620
kRegHDMIHDRMasteringLuminence
@ kRegHDMIHDRMasteringLuminence
Definition: ntv2publicinterface.h:469
kRegShiftHDMISwapInputAudCh34
@ kRegShiftHDMISwapInputAudCh34
Definition: ntv2publicinterface.h:2637
kRegMaskHDMIOut12Bit
@ kRegMaskHDMIOut12Bit
Definition: ntv2publicinterface.h:1569
CNTV2Card::GetHDMIHDRMaxFrameAverageLightLevel
virtual bool GetHDMIHDRMaxFrameAverageLightLevel(uint16_t &outMaxFrameAverageLightLevel)
Answers with the Display Mastering data for the Max Frame Average Light Level(Max FALL) value....
Definition: ntv2hdmi.cpp:854
kLHIRegMaskHDMIOutDVI
@ kLHIRegMaskHDMIOutDVI
Definition: ntv2publicinterface.h:1536
kRegShiftHDMIInColorDepth
@ kRegShiftHDMIInColorDepth
Definition: ntv2publicinterface.h:2640
kRegMaskHDRStaticMetadataDescriptorID
@ kRegMaskHDRStaticMetadataDescriptorID
Definition: ntv2publicinterface.h:2138
CNTV2Card::GetHDMIOutProtocol
virtual bool GetHDMIOutProtocol(NTV2HDMIProtocol &outValue)
Definition: ntv2hdmi.cpp:519
HDRRegValues::whitePointY
uint16_t whitePointY
Definition: ntv2publicinterface.h:9873
CNTV2Card::GetHDMIOutLevelBMode
virtual bool GetHDMIOutLevelBMode(bool &outIsEnabled)
Definition: ntv2hdmi.cpp:585
CNTV2Card::GetHDMIOutRange
virtual bool GetHDMIOutRange(NTV2HDMIRange &outValue)
Definition: ntv2hdmi.cpp:390
NTV2Standard
NTV2Standard
Identifies a particular video standard.
Definition: ntv2enums.h:156
CNTV2Card::SetHDMIHDRDCIP3
virtual bool SetHDMIHDRDCIP3(void)
Definition: ntv2hdmi.cpp:1024
CNTV2Card::SetHDMIOut3DPresent
virtual bool SetHDMIOut3DPresent(const bool inIs3DPresent)
Definition: ntv2hdmi.cpp:306
kDeviceCanDoHDMIHDROut
@ kDeviceCanDoHDMIHDROut
True if device supports HDMI HDR output.
Definition: ntv2devicefeatures.h:113
HDRRegValues::greenPrimaryX
uint16_t greenPrimaryX
Definition: ntv2publicinterface.h:9866
ULWord
uint32_t ULWord
Definition: ajatypes.h:255
kRegMaskHDMIHDRBluePrimaryX
@ kRegMaskHDMIHDRBluePrimaryX
Definition: ntv2publicinterface.h:2123
NTV2_IS_VALID_HDMI_SAMPLE_STRUCT
#define NTV2_IS_VALID_HDMI_SAMPLE_STRUCT(_x_)
Definition: ntv2enums.h:4150
kLHIRegMaskHDMIOutBitDepth
@ kLHIRegMaskHDMIOutBitDepth
Definition: ntv2publicinterface.h:1525
CNTV2Card::GetHDMIInputStatus
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.
Definition: ntv2hdmi.cpp:44
kLHIRegMaskHDMIOutputEDID10Bit
@ kLHIRegMaskHDMIOutputEDID10Bit
Definition: ntv2publicinterface.h:1545
kVRegHDMIInAviInfo1
@ kVRegHDMIInAviInfo1
Definition: ntv2virtualregisters.h:608
kRegMaskHDMIHDRMinMasteringLuminance
@ kRegMaskHDMIHDRMinMasteringLuminance
Definition: ntv2publicinterface.h:2130
kVRegHDMIInDrmWhitePoint2
@ kVRegHDMIInDrmWhitePoint2
Definition: ntv2virtualregisters.h:621
NTV2_IS_VALID_HDMI_RANGE
#define NTV2_IS_VALID_HDMI_RANGE(__x__)
Definition: ntv2enums.h:3596
NTV2HDMIProtocol
NTV2HDMIProtocol
Indicates or specifies the HDMI protocol.
Definition: ntv2enums.h:3574
CNTV2Card::SetHDMIOutForceConfig
virtual bool SetHDMIOutForceConfig(const bool inNewValue)
Definition: ntv2hdmi.cpp:525
kRegHDMIInputStatus2
@ kRegHDMIInputStatus2
Definition: ntv2publicinterface.h:1020
NTV2_IS_VALID_HDMI_PROTOCOL
#define NTV2_IS_VALID_HDMI_PROTOCOL(__x__)
Definition: ntv2enums.h:3582
ntv2card.h
Declares the CNTV2Card class.
CNTV2Card::GetHDMIOutVideoStandard
virtual bool GetHDMIOutVideoStandard(NTV2Standard &outValue)
Definition: ntv2hdmi.cpp:339
kRegMaskHDMIHDRWhitePointX
@ kRegMaskHDMIHDRWhitePointX
Definition: ntv2publicinterface.h:2127
kRegMaskHDMIHDRRedPrimaryY
@ kRegMaskHDMIHDRRedPrimaryY
Definition: ntv2publicinterface.h:2126
CNTV2Card::GetHDMIHDRMinMasteringLuminance
virtual bool GetHDMIHDRMinMasteringLuminance(uint16_t &outMinMasteringLuminance)
Answers with the Display Mastering data for the Min Mastering Luminance value as defined in SMPTE ST ...
Definition: ntv2hdmi.cpp:814
kDeviceGetHDMIVersion
@ kDeviceGetHDMIVersion
The version number of the HDMI chipset on the device.
Definition: ntv2devicefeatures.h:172
kRegMaskHDMISampling
@ kRegMaskHDMISampling
Definition: ntv2publicinterface.h:1528
kRegMaskHDMIHDRGreenPrimaryY
@ kRegMaskHDMIHDRGreenPrimaryY
Definition: ntv2publicinterface.h:2122
CNTV2Card::SetHDMIHDRElectroOpticalTransferFunction
virtual bool SetHDMIHDRElectroOpticalTransferFunction(const uint8_t inEOTFByte)
Definition: ntv2hdmi.cpp:883
kRegShiftRasterDecimate
@ kRegShiftRasterDecimate
Definition: ntv2publicinterface.h:3092
kRegHDMIControl1
@ kRegHDMIControl1
Definition: ntv2publicinterface.h:1018
CNTV2Card::GetHDRData
virtual bool GetHDRData(HDRFloatValues &outFloatValues)
Definition: ntv2hdmi.cpp:988
NTV2_HDMIColorSpaceYCbCr
@ NTV2_HDMIColorSpaceYCbCr
YCbCr color space.
Definition: ntv2enums.h:3562
NTV2DeviceGetNumHDMIVideoOutputs
UWord NTV2DeviceGetNumHDMIVideoOutputs(const NTV2DeviceID inDeviceID)
Definition: ntv2devicefeatures.hpp:11108
CNTV2Card::GetHDMIHDRElectroOpticalTransferFunction
virtual bool GetHDMIHDRElectroOpticalTransferFunction(uint8_t &outEOTFByte)
Definition: ntv2hdmi.cpp:897
UWord
uint16_t UWord
Definition: ajatypes.h:253
CNTV2Card::GetLHIHDMIOutColorSpace
virtual bool GetLHIHDMIOutColorSpace(NTV2LHIHDMIColorSpace &outValue)
Definition: ntv2hdmi.cpp:440
NTV2_HDMI8Bit
@ NTV2_HDMI8Bit
8 bit
Definition: ntv2enums.h:3647
CNTV2Card::SetHDMIOutBitDepth
virtual bool SetHDMIOutBitDepth(const NTV2HDMIBitDepth inNewValue)
Definition: ntv2hdmi.cpp:462
kRegHDMIInputControl
@ kRegHDMIInputControl
Definition: ntv2publicinterface.h:242
ntv2utils.h
Declares numerous NTV2 utility functions.
CNTV2Card::GetHDMIInDolbyVision
virtual bool GetHDMIInDolbyVision(bool &outIsDolbyVision, const NTV2Channel inChannel=NTV2_CHANNEL1)
Answers with the given HDMI input's Dolby Vision flag is set.
Definition: ntv2hdmi.cpp:157
kVRegMaskHDMIInColorimetry
@ kVRegMaskHDMIInColorimetry
Definition: ntv2virtualregisters.h:637
CNTV2Card::SetHDMIOutPrefer420
virtual bool SetHDMIOutPrefer420(const bool inNewValue)
Definition: ntv2hdmi.cpp:537
CNTV2Card::GetHDMIInputAudioChannels
virtual bool GetHDMIInputAudioChannels(NTV2HDMIAudioChannels &outValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Answers with the current number of audio channels being received on the given HDMI input.
Definition: ntv2hdmi.cpp:272
kRegMaskHDMIOutRange
@ kRegMaskHDMIOutRange
Definition: ntv2publicinterface.h:1534
kRegShiftHDMIHDRMaxMasteringLuminance
@ kRegShiftHDMIHDRMaxMasteringLuminance
Definition: ntv2publicinterface.h:3190
CNTV2Card::GetHDMIInProtocol
virtual bool GetHDMIInProtocol(NTV2HDMIProtocol &outValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Answers with the given HDMI input's protocol.
Definition: ntv2hdmi.cpp:229
CNTV2Card::EnableHDMIHDRDolbyVision
virtual bool EnableHDMIHDRDolbyVision(const bool inEnable)
Enables or disables HDMI HDR Dolby Vision.
Definition: ntv2hdmi.cpp:942
kVRegMaskHDMIInEOTF
@ kVRegMaskHDMIInEOTF
Definition: ntv2virtualregisters.h:640
HDRRegValues::redPrimaryX
uint16_t redPrimaryX
Definition: ntv2publicinterface.h:9870
kLHIRegShiftHDMIOutDVI
@ kLHIRegShiftHDMIOutDVI
Definition: ntv2publicinterface.h:2614
NTV2_IS_VALID_HDR_PRIMARY
#define NTV2_IS_VALID_HDR_PRIMARY(__val__)
Definition: ntv2publicinterface.h:9917
kRegMaskHDMIHDRMaxContentLightLevel
@ kRegMaskHDMIHDRMaxContentLightLevel
Definition: ntv2publicinterface.h:2131
CNTV2Card::SetHDMIHDRMaxMasteringLuminance
virtual bool SetHDMIHDRMaxMasteringLuminance(const uint16_t inMaxMasteringLuminance)
Sets the Display Mastering data for the Max Mastering Luminance value as defined in SMPTE ST 2086....
Definition: ntv2hdmi.cpp:780
kVRegHdrBlueXCh1
@ kVRegHdrBlueXCh1
Definition: ntv2virtualregisters.h:540
CNTV2Card::SetHDMIInColorSpace
virtual bool SetHDMIInColorSpace(const NTV2HDMIColorSpace inNewValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Sets the given HDMI input's color space.
Definition: ntv2hdmi.cpp:185
kRegShiftHDMIOut12Bit
@ kRegShiftHDMIOut12Bit
Definition: ntv2publicinterface.h:2646
kLHIRegMaskHDMIOutputEDIDRGB
@ kLHIRegMaskHDMIOutputEDIDRGB
Definition: ntv2publicinterface.h:1544
CNTV2Card::SetHDMIHDRMinMasteringLuminance
virtual bool SetHDMIHDRMinMasteringLuminance(const uint16_t inMinMasteringLuminance)
Sets the Display Mastering data for the Min Mastering Luminance value as defined in SMPTE ST 2086....
Definition: ntv2hdmi.cpp:800
kRegShiftHDMIHDRBluePrimaryY
@ kRegShiftHDMIHDRBluePrimaryY
Definition: ntv2publicinterface.h:3185
kRegMaskHDMISampleRateConverterEnable
@ kRegMaskHDMISampleRateConverterEnable
Definition: ntv2publicinterface.h:1559
CNTV2Card::SetHDMIInBitDepth
virtual bool SetHDMIInBitDepth(const NTV2HDMIBitDepth inNewValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Sets the given HDMI input's bit depth.
Definition: ntv2hdmi.cpp:203
HDRRegValues::maxMasteringLuminance
uint16_t maxMasteringLuminance
Definition: ntv2publicinterface.h:9874
NTV2_INVALID_HDMI_PROTOCOL
@ NTV2_INVALID_HDMI_PROTOCOL
Definition: ntv2enums.h:3579
kRegMaskHDMIOut3DMode
@ kRegMaskHDMIOut3DMode
Definition: ntv2publicinterface.h:1515
kRegMaskHDMIInputRange
@ kRegMaskHDMIInputRange
Definition: ntv2publicinterface.h:1571
CNTV2Card::GetHDMIV2Mode
virtual bool GetHDMIV2Mode(NTV2HDMIV2Mode &outMode)
Answers with the current HDMI V2 mode of the device.
Definition: ntv2hdmi.cpp:599
kRegHDMIInputStatus
@ kRegHDMIInputStatus
Definition: ntv2publicinterface.h:241
kRegHDMIControl4
@ kRegHDMIControl4
Definition: ntv2publicinterface.h:1027
CNTV2Card::GetHDMIOut3DPresent
virtual bool GetHDMIOut3DPresent(bool &outIs3DPresent)
Definition: ntv2hdmi.cpp:312
CNTV2Card::SetHDMIHDRRedPrimaryX
virtual bool SetHDMIHDRRedPrimaryX(const uint16_t inRedPrimaryX)
Sets the Display Mastering data for Red Primary X as defined in SMPTE ST 2086. This is Byte 11 and 12...
Definition: ntv2hdmi.cpp:700
kVRegHDMIInDrmLightLevel1
@ kVRegHDMIInDrmLightLevel1
Definition: ntv2virtualregisters.h:615
kVRegMaskHDMIInDolbyVision
@ kVRegMaskHDMIInDolbyVision
Definition: ntv2virtualregisters.h:638
NTV2_INVALID_HDMIBitDepth
@ NTV2_INVALID_HDMIBitDepth
Definition: ntv2enums.h:3651
NTV2HDMIColorimetry
NTV2HDMIColorimetry
Indicates or specifies the HDMI colorimetry.
Definition: ntv2enums.h:3602
CNTV2Card::GetHDMIInVideoRange
virtual bool GetHDMIInVideoRange(NTV2HDMIRange &outValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Answers with the given HDMI input's video black/white range.
Definition: ntv2hdmi.cpp:64
CNTV2Card::SetHDMIHDRWhitePointX
virtual bool SetHDMIHDRWhitePointX(const uint16_t inWhitePointX)
Sets the Display Mastering data for White Point X as defined in SMPTE ST 2086. This is Byte 15 and 16...
Definition: ntv2hdmi.cpp:740
kVRegHdrRedXCh1
@ kVRegHdrRedXCh1
Definition: ntv2virtualregisters.h:542
CNTV2Card::GetHDMIInColorSpace
virtual bool GetHDMIInColorSpace(NTV2HDMIColorSpace &outValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Answers with the given HDMI input's current color space setting.
Definition: ntv2hdmi.cpp:194
kVRegShiftHDMIInDolbyVision
@ kVRegShiftHDMIInDolbyVision
Definition: ntv2virtualregisters.h:657
kRegShiftHDMIVOBD
@ kRegShiftHDMIVOBD
Definition: ntv2publicinterface.h:2609
NTV2HDMIV2Mode
NTV2HDMIV2Mode
Definition: ntv2enums.h:3953
kVRegHdrMaxCLLCh1
@ kVRegHdrMaxCLLCh1
Definition: ntv2virtualregisters.h:548
HDRRegValues::greenPrimaryY
uint16_t greenPrimaryY
Definition: ntv2publicinterface.h:9867
kRegMaskInputStatusLock
@ kRegMaskInputStatusLock
Definition: ntv2publicinterface.h:1539
CNTV2Card::GetHDMIHDRMaxContentLightLevel
virtual bool GetHDMIHDRMaxContentLightLevel(uint16_t &outMaxContentLightLevel)
Answers with the Display Mastering data for the Max Content Light Level(Max CLL) value....
Definition: ntv2hdmi.cpp:834
CNTV2Card::GetHDMIHDRGreenPrimaryX
virtual bool GetHDMIHDRGreenPrimaryX(uint16_t &outGreenPrimaryX)
Answers with the Display Mastering data for Green Primary X as defined in SMPTE ST 2086....
Definition: ntv2hdmi.cpp:634
CNTV2Card::GetHDMIHDRWhitePointY
virtual bool GetHDMIHDRWhitePointY(uint16_t &outWhitePointY)
Answers with the Display Mastering data for White Point Y as defined in SMPTE ST 2086....
Definition: ntv2hdmi.cpp:774
NTV2_LHIHDMIColorSpaceYCbCr
@ NTV2_LHIHDMIColorSpaceYCbCr
Definition: ntv2enums.h:3633
CNTV2Card::SetHDMIHDRBluePrimaryX
virtual bool SetHDMIHDRBluePrimaryX(const uint16_t inBluePrimaryX)
Sets the Display Mastering data for Blue Primary X as defined in SMPTE ST 2086. This is Byte 7 and 8 ...
Definition: ntv2hdmi.cpp:660
NTV2_IS_VALID_HDR_LIGHT_LEVEL
#define NTV2_IS_VALID_HDR_LIGHT_LEVEL(__val__)
Definition: ntv2publicinterface.h:9919
kRegMaskRasterDecimate
@ kRegMaskRasterDecimate
Definition: ntv2publicinterface.h:2031
gHDMIChannelToInputStatusRegNum
static const ULWord gHDMIChannelToInputStatusRegNum[]
Definition: ntv2hdmi.cpp:20
kVRegHdrMaxFALLCh1
@ kVRegHdrMaxFALLCh1
Definition: ntv2virtualregisters.h:549
kRegHDMIOut3DControl
@ kRegHDMIOut3DControl
Definition: ntv2publicinterface.h:239
kLHIRegShiftHDMIOutputEDIDRGB
@ kLHIRegShiftHDMIOutputEDIDRGB
Definition: ntv2publicinterface.h:2622
kDeviceGetNumHDMIVideoOutputs
@ kDeviceGetNumHDMIVideoOutputs
The number of HDMI video outputs on the device.
Definition: ntv2devicefeatures.h:199
CNTV2Card::GetHDMIHDRRedPrimaryX
virtual bool GetHDMIHDRRedPrimaryX(uint16_t &outRedPrimaryX)
Answers with the Display Mastering data for Red Primary X as defined in SMPTE ST 2086....
Definition: ntv2hdmi.cpp:714
kRegMaskHDMISwapInputAudCh34
@ kRegMaskHDMISwapInputAudCh34
Definition: ntv2publicinterface.h:1560
CNTV2Card::GetHDMIOutForceConfig
virtual bool GetHDMIOutForceConfig(bool &outValue)
Definition: ntv2hdmi.cpp:531
kRegHDMIHDRRedPrimary
@ kRegHDMIHDRRedPrimary
Definition: ntv2publicinterface.h:467
kLHIRegMaskHDMIInputColorSpace
@ kLHIRegMaskHDMIInputColorSpace
Definition: ntv2publicinterface.h:1541
kLHIRegShiftHDMIOutputEDID10Bit
@ kLHIRegShiftHDMIOutputEDID10Bit
Definition: ntv2publicinterface.h:2623
CNTV2Card::GetHDMIInIsLocked
virtual bool GetHDMIInIsLocked(bool &outIsLocked, const NTV2Channel inChannel=NTV2_CHANNEL1)
Answers if the given HDMI input is genlocked or not.
Definition: ntv2hdmi.cpp:239
kRegShiftHDMIHDRRedPrimaryY
@ kRegShiftHDMIHDRRedPrimaryY
Definition: ntv2publicinterface.h:3187
kRegShiftHDMIOut3DMode
@ kRegShiftHDMIOut3DMode
Definition: ntv2publicinterface.h:2595
CNTV2Card::GetHDMIHDRConstantLuminance
virtual bool GetHDMIHDRConstantLuminance(void)
Definition: ntv2hdmi.cpp:874
kVRegHDMIInDrmMasteringLuminence2
@ kVRegHDMIInDrmMasteringLuminence2
Definition: ntv2virtualregisters.h:622
CNTV2Card::GetHDMIHDRStaticMetadataDescriptorID
virtual bool GetHDMIHDRStaticMetadataDescriptorID(uint8_t &outSMDId)
Definition: ntv2hdmi.cpp:917
kRegShiftHDMIHDREnable
@ kRegShiftHDMIHDREnable
Definition: ntv2publicinterface.h:3197
kVRegHdrLuminanceCh1
@ kVRegHdrLuminanceCh1
Definition: ntv2virtualregisters.h:537
CNTV2Card::GetHDMIInColorimetry
virtual bool GetHDMIInColorimetry(NTV2HDMIColorimetry &outColorimetry, const NTV2Channel inChannel=NTV2_CHANNEL1)
Answers with the given HDMI input's current colorimetry.
Definition: ntv2hdmi.cpp:148
kLHIRegMaskHDMIInputBitDepth
@ kLHIRegMaskHDMIInputBitDepth
Definition: ntv2publicinterface.h:1542
CNTV2Card::SetHDMIOutProtocol
virtual bool SetHDMIOutProtocol(const NTV2HDMIProtocol inNewValue)
Definition: ntv2hdmi.cpp:512
kVRegHdrRedYCh1
@ kVRegHdrRedYCh1
Definition: ntv2virtualregisters.h:543
kLHIRegShiftHDMIInputColorSpace
@ kLHIRegShiftHDMIInputColorSpace
Definition: ntv2publicinterface.h:2619
std
Definition: json.hpp:5362
kRegMaskHDMIColorSpace
@ kRegMaskHDMIColorSpace
Definition: ntv2publicinterface.h:1576
CNTV2Card::SetHDMIHDRRedPrimaryY
virtual bool SetHDMIHDRRedPrimaryY(const uint16_t inRedPrimaryY)
Sets the Display Mastering data for Red Primary Y as defined in SMPTE ST 2086. This is Byte 13 and 14...
Definition: ntv2hdmi.cpp:720
kVRegMaskHDMIInMetadataID
@ kVRegMaskHDMIInMetadataID
Definition: ntv2virtualregisters.h:641
CNTV2Card::SetHDMIOutTsiIO
virtual bool SetHDMIOutTsiIO(const bool inTsiEnable)
Enables or disables two sample interleave I/O mode on the device's HDMI rasterizer.
Definition: ntv2hdmi.cpp:564
kVRegHDMIInDrmWhitePoint1
@ kVRegHDMIInDrmWhitePoint1
Definition: ntv2virtualregisters.h:613
CNTV2Card::SetHDMIHDRWhitePointY
virtual bool SetHDMIHDRWhitePointY(const uint16_t inWhitePointY)
Sets the Display Mastering data for White Point Y as defined in SMPTE ST 2086. This is Byte 17 and 18...
Definition: ntv2hdmi.cpp:760
kVRegShiftHDMIInMetadataID
@ kVRegShiftHDMIInMetadataID
Definition: ntv2virtualregisters.h:660
CNTV2Card::GetHDMIInputColor
virtual bool GetHDMIInputColor(NTV2LHIHDMIColorSpace &outValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Answers with the current colorspace for the given HDMI input.
Definition: ntv2hdmi.cpp:52
kRegMaskHDMIHDRWhitePointY
@ kRegMaskHDMIHDRWhitePointY
Definition: ntv2publicinterface.h:2128
CNTV2Card::GetHDMIOutBitDepth
virtual bool GetHDMIOutBitDepth(NTV2HDMIBitDepth &outValue)
Definition: ntv2hdmi.cpp:492
CNTV2Card::GetHDMIHDRRedPrimaryY
virtual bool GetHDMIHDRRedPrimaryY(uint16_t &outRedPrimaryY)
Answers with the Display Mastering data for Red Primary Y as defined in SMPTE ST 2086....
Definition: ntv2hdmi.cpp:734
gKonaHDMICtrlRegs
static const ULWord gKonaHDMICtrlRegs[]
Definition: ntv2hdmi.cpp:284
CNTV2Card::SetHDMIOutColorSpace
virtual bool SetHDMIOutColorSpace(const NTV2HDMIColorSpace inNewValue)
Definition: ntv2hdmi.cpp:398
NTV2EveryFrameTaskMode
NTV2EveryFrameTaskMode
Describes the task mode state. See also: Sharing AJA Devices With Other Applications.
Definition: ntv2publicinterface.h:4288
kRegShiftHDMIOutCropEnable
@ kRegShiftHDMIOutCropEnable
Definition: ntv2publicinterface.h:2644
true
#define true
Definition: ntv2devicefeatures.h:26
kRegMaskHDMIOutPrefer420
@ kRegMaskHDMIOutPrefer420
Definition: ntv2publicinterface.h:1562
kVRegHdrWhiteYCh1
@ kVRegHdrWhiteYCh1
Definition: ntv2virtualregisters.h:545
kRegShiftHDMISwapOutputAudCh34
@ kRegShiftHDMISwapOutputAudCh34
Definition: ntv2publicinterface.h:2638
kRegMaskHDMIOutCropEnable
@ kRegMaskHDMIOutCropEnable
Definition: ntv2publicinterface.h:1567
NTV2_IS_VALID_NTV2FrameRate
#define NTV2_IS_VALID_NTV2FrameRate(__r__)
Definition: ntv2enums.h:431
kRegShiftHDMIHDRMinMasteringLuminance
@ kRegShiftHDMIHDRMinMasteringLuminance
Definition: ntv2publicinterface.h:3191
kLHIRegMaskHDMIInput2ChAudio
@ kLHIRegMaskHDMIInput2ChAudio
Definition: ntv2publicinterface.h:1546
kRegMaskHDMIHDRMaxFrameAverageLightLevel
@ kRegMaskHDMIHDRMaxFrameAverageLightLevel
Definition: ntv2publicinterface.h:2132
CNTV2Card::SetHDMIInputRange
virtual bool SetHDMIInputRange(const NTV2HDMIRange inNewValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Sets the given HDMI input's input range.
Definition: ntv2hdmi.cpp:167
kLHIRegShiftHDMIOutFPS
@ kLHIRegShiftHDMIOutFPS
Definition: ntv2publicinterface.h:2604
kVRegHdrGreenXCh1
@ kVRegHdrGreenXCh1
Definition: ntv2virtualregisters.h:538
kRegShiftHDMIOutPrefer420
@ kRegShiftHDMIOutPrefer420
Definition: ntv2publicinterface.h:2639
HDRRegValues::bluePrimaryY
uint16_t bluePrimaryY
Definition: ntv2publicinterface.h:9869
kRegMaskHDMIOutV2VideoStd
@ kRegMaskHDMIOutV2VideoStd
Definition: ntv2publicinterface.h:1519
CNTV2Card::SetHDMIV2Mode
virtual bool SetHDMIV2Mode(const NTV2HDMIV2Mode inMode)
Sets HDMI V2 mode for the device.
Definition: ntv2hdmi.cpp:592
kVRegHDMIInDrmInfo2
@ kVRegHDMIInDrmInfo2
Definition: ntv2virtualregisters.h:617
NTV2_IS_VALID_HDMI_BITDEPTH
#define NTV2_IS_VALID_HDMI_BITDEPTH(__x__)
Definition: ntv2enums.h:3654
kVRegHDMIInDrmRedPrimary2
@ kVRegHDMIInDrmRedPrimary2
Definition: ntv2virtualregisters.h:620
NTV2HDMIOutputStatus::SetFromRegValue
bool SetFromRegValue(const ULWord inData)
Sets my fields from the given status register value.
Definition: ntv2publicinterface.cpp:163
CNTV2Card::SetHDMIOutDecimateMode
virtual bool SetHDMIOutDecimateMode(const bool inEnable)
Enables or disables decimate mode on the device's HDMI rasterizer, which halves the output frame rate...
Definition: ntv2hdmi.cpp:550
NTV2_HDMIColorSpaceRGB
@ NTV2_HDMIColorSpaceRGB
RGB color space.
Definition: ntv2enums.h:3561
kRegShiftHDMIHDRMaxFrameAverageLightLevel
@ kRegShiftHDMIHDRMaxFrameAverageLightLevel
Definition: ntv2publicinterface.h:3193
kRegShiftHDMIHDRDolbyVisionEnable
@ kRegShiftHDMIHDRDolbyVisionEnable
Definition: ntv2publicinterface.h:3196
CNTV2Card::SetHDMIHDRGreenPrimaryY
virtual bool SetHDMIHDRGreenPrimaryY(const uint16_t inGreenPrimaryY)
Sets the Display Mastering data for Green Primary Y as defined in SMPTE ST 2086. This is Byte 5 and 6...
Definition: ntv2hdmi.cpp:640
CNTV2Card::SetHDMIHDRBluePrimaryY
virtual bool SetHDMIHDRBluePrimaryY(const uint16_t inBluePrimaryY)
Sets the Display Mastering data for Blue Primary Y as defined in SMPTE ST 2086. This is Byte 9 and 10...
Definition: ntv2hdmi.cpp:680
kVRegHdrWhiteXCh1
@ kVRegHdrWhiteXCh1
Definition: ntv2virtualregisters.h:544
NTV2_HDMI10Bit
@ NTV2_HDMI10Bit
10 bit
Definition: ntv2enums.h:3648
NTV2HDMISampleStructure
NTV2HDMISampleStructure
Definition: ntv2enums.h:4139
kRegShiftElectroOpticalTransferFunction
@ kRegShiftElectroOpticalTransferFunction
Definition: ntv2publicinterface.h:3198
kRegShiftHDMIHDRNonContantLuminance
@ kRegShiftHDMIHDRNonContantLuminance
Definition: ntv2publicinterface.h:3195
CNTV2Card::SetHDMIHDRMaxFrameAverageLightLevel
virtual bool SetHDMIHDRMaxFrameAverageLightLevel(const uint16_t inMaxFrameAverageLightLevel)
Sets the Display Mastering data for the Max Frame Average Light Level(Max FALL) value....
Definition: ntv2hdmi.cpp:840
kRegHDMIInputStatus1
@ kRegHDMIInputStatus1
Definition: ntv2publicinterface.h:1017
CNTV2Card::GetHDMIInputRange
virtual bool GetHDMIInputRange(NTV2HDMIRange &outValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Answers with the given HDMI input's current input range setting.
Definition: ntv2hdmi.cpp:176
CNTV2Card::GetHDMIInputStatusRegNum
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.
Definition: ntv2hdmi.cpp:28
kRegShiftHDMIHDRRedPrimaryX
@ kRegShiftHDMIHDRRedPrimaryX
Definition: ntv2publicinterface.h:3186
CNTV2Card::SetHDRData
virtual bool SetHDRData(const HDRFloatValues &inFloatValues)
Definition: ntv2hdmi.cpp:961
BIT
#define BIT(_x_)
Definition: ajatypes.h:563
kRegMaskHDMIInColorDepth
@ kRegMaskHDMIInColorDepth
Definition: ntv2publicinterface.h:1563
kRegShiftHDMIHDRBluePrimaryX
@ kRegShiftHDMIHDRBluePrimaryX
Definition: ntv2publicinterface.h:3184
HDRRegValues
Definition: ntv2publicinterface.h:9865
NTV2HDMIOut3DMode
NTV2HDMIOut3DMode
This specifies the HDMI Out Stereo 3D Mode.
Definition: ntv2enums.h:3546
kRegHDMIInputStatus4
@ kRegHDMIInputStatus4
Definition: ntv2publicinterface.h:1026
kLHIRegShiftHDMIOutBitDepth
@ kLHIRegShiftHDMIOutBitDepth
Definition: ntv2publicinterface.h:2606
CNTV2Card::SetHDMIV2TxBypass
virtual bool SetHDMIV2TxBypass(const bool inBypass)
Definition: ntv2hdmi.cpp:348
kVRegHdrMasterLumMinCh1
@ kVRegHdrMasterLumMinCh1
Definition: ntv2virtualregisters.h:547
kLHIRegShiftHDMIOutColorSpace
@ kLHIRegShiftHDMIOutColorSpace
Definition: ntv2publicinterface.h:2603
kRegMaskHDMIV2TxBypass
@ kRegMaskHDMIV2TxBypass
Definition: ntv2publicinterface.h:1521
kVRegShiftHDMIInEOTF
@ kVRegShiftHDMIInEOTF
Definition: ntv2virtualregisters.h:659
kVRegMaskHDMIInPresent
@ kVRegMaskHDMIInPresent
Definition: ntv2virtualregisters.h:639
CNTV2Card::SetLHIHDMIOutColorSpace
virtual bool SetLHIHDMIOutColorSpace(const NTV2LHIHDMIColorSpace inNewValue)
Definition: ntv2hdmi.cpp:435
kRegShiftTsiIO
@ kRegShiftTsiIO
Definition: ntv2publicinterface.h:3090
kVRegHdrGreenYCh1
@ kVRegHdrGreenYCh1
Definition: ntv2virtualregisters.h:539
HDRRegValues::staticMetadataDescriptorID
uint8_t staticMetadataDescriptorID
Definition: ntv2publicinterface.h:9879
CNTV2Card::SetHDMIOut3DMode
virtual bool SetHDMIOut3DMode(const NTV2HDMIOut3DMode inValue)
Definition: ntv2hdmi.cpp:318
HDRRegValues::electroOpticalTransferFunction
uint8_t electroOpticalTransferFunction
Definition: ntv2publicinterface.h:9878
kRegHDMIHDRLightLevel
@ kRegHDMIHDRLightLevel
Definition: ntv2publicinterface.h:470
CNTV2Card::GetHDMIInDynamicRange
virtual bool GetHDMIInDynamicRange(HDRRegValues &outRegValues, const NTV2Channel inChannel=NTV2_CHANNEL1)
Answers with the given HDMI input's video dynamic range and mastering information.
Definition: ntv2hdmi.cpp:76
kVRegHdrColorimetryCh1
@ kVRegHdrColorimetryCh1
Definition: ntv2virtualregisters.h:535
NTV2_HDMI12Bit
@ NTV2_HDMI12Bit
12 bit
Definition: ntv2enums.h:3649
CNTV2Card::GetHDMIHDRMaxMasteringLuminance
virtual bool GetHDMIHDRMaxMasteringLuminance(uint16_t &outMaxMasteringLuminance)
Answers with the Display Mastering data for the Max Mastering Luminance value as defined in SMPTE ST ...
Definition: ntv2hdmi.cpp:794
NTV2_OEM_TASKS
@ NTV2_OEM_TASKS
2: OEM: Device is configured by controlling application(s), with minimal driver involvement.
Definition: ntv2publicinterface.h:4292
kRegHDMIInputStatus3
@ kRegHDMIInputStatus3
Definition: ntv2publicinterface.h:1023
NTV2_IS_DRIVER_ACTIVE_TASKS
#define NTV2_IS_DRIVER_ACTIVE_TASKS(__m__)
Definition: ntv2publicinterface.h:4298