AJA NTV2 SDK  17.6.0.1688
NTV2 SDK 17.6.0.1688
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ntv2card.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #ifndef NTV2CARD_H
9 #define NTV2CARD_H
10 
11 #if defined (MSWindows)
12  #include "ntv2windriverinterface.h"
13 #elif defined (AJAMac)
14  #include "ntv2macdriverinterface.h"
15 #elif defined (AJALinux)
17 #elif defined (AJABareMetal)
19 #endif
20 #include "ntv2signalrouter.h"
21 #include "ntv2utils.h"
22 #include "ntv2devicecapabilities.h"
23 
24 
29 #if defined (MSWindows)
31 #elif defined (AJAMac)
33 #elif defined (AJALinux)
35 #elif defined (AJABareMetal)
37 #endif
38 {
39 public:
43 
47  CNTV2Card ();
48 
57  explicit CNTV2Card ( const UWord inDeviceIndex,
58  const std::string & inHostName = std::string());
59 
63  virtual ~CNTV2Card();
65 
66 
70 
75  AJA_VIRTUAL std::string GetDisplayName (void);
76 
81  AJA_VIRTUAL std::string GetModelName (void);
82 
87  AJA_VIRTUAL Word GetDeviceVersion (void);
88 
93  AJA_VIRTUAL std::string GetDeviceVersionString (void);
94 
99  AJA_VIRTUAL std::string GetDriverVersionString (void);
100 
101  AJA_VIRTUAL std::string GetDescription (void) const;
102 
111  AJA_VIRTUAL bool GetDriverVersionComponents (UWord & outMajor, UWord & outMinor, UWord & outPoint, UWord & outBuild);
112 
118  AJA_VIRTUAL uint64_t GetSerialNumber (void); // From CNTV2Status
119 
124  AJA_VIRTUAL bool GetSerialNumberString (std::string & outSerialNumberString); // From CNTV2Status
125 
131  AJA_VIRTUAL bool GetPCIDeviceID (ULWord & outPCIDeviceID);
132 
136  AJA_VIRTUAL NTV2BreakoutType GetBreakoutHardware (void);
137 
141  AJA_VIRTUAL bool GetLPExternalConfigurationURLString (std::string & outURLString);
142  AJA_VIRTUAL bool GetLPTunnelConfigurationURLString (std::string & outURLString);
143  AJA_VIRTUAL int GetSFPConfigurationURLStrings(std::vector<std::string> & sfpURLStrings);
144 
148  AJA_VIRTUAL inline class DeviceCapabilities & features (void) {return mDevCap;} // New in SDK 17.0
149 #if !defined(NTV2_DEPRECATE_16_3)
150  AJA_VIRTUAL NTV2_DEPRECATED_f(bool DeviceCanDoFormat (const NTV2FrameRate inFR,
151  const NTV2FrameGeometry inFG,
152  const NTV2Standard inStd));
153  AJA_VIRTUAL NTV2_DEPRECATED_f(ULWord DeviceGetFrameBufferSize(void));
154  AJA_VIRTUAL NTV2_DEPRECATED_f(ULWord DeviceGetAudioFrameBuffer(void));
155  AJA_VIRTUAL NTV2_DEPRECATED_f(ULWord DeviceGetAudioFrameBuffer2(void));
156  AJA_VIRTUAL NTV2_DEPRECATED_f(ULWord DeviceGetFrameBufferSize (const NTV2FrameGeometry inFrameGeometry, const NTV2FrameBufferFormat inFBFormat));
157  AJA_VIRTUAL NTV2_DEPRECATED_f(ULWord DeviceGetNumberFrameBuffers (const NTV2FrameGeometry inFrameGeometry, const NTV2FrameBufferFormat inFBFormat));
158  AJA_VIRTUAL NTV2_DEPRECATED_f(ULWord DeviceGetAudioFrameBuffer (const NTV2FrameGeometry inFrameGeometry, const NTV2FrameBufferFormat inFBFormat));
159  AJA_VIRTUAL NTV2_DEPRECATED_f(ULWord DeviceGetAudioFrameBuffer2 (const NTV2FrameGeometry inFrameGeometry, const NTV2FrameBufferFormat inFBFormat));
160  AJA_VIRTUAL NTV2_DEPRECATED_f(bool DeviceCanDoVideoFormat (const NTV2VideoFormat inVF));
161  AJA_VIRTUAL NTV2_DEPRECATED_f(bool DeviceCanDoFrameBufferFormat (const NTV2PixelFormat inPF));
162  AJA_VIRTUAL NTV2_DEPRECATED_f(bool DeviceCanDoWidget (const NTV2WidgetID inWgtID));
163  AJA_VIRTUAL NTV2_DEPRECATED_f(bool DeviceCanDoConversionMode (const NTV2ConversionMode inCM));
164  AJA_VIRTUAL NTV2_DEPRECATED_f(bool DeviceCanDoDSKMode (const NTV2DSKMode inDSKM));
165  AJA_VIRTUAL NTV2_DEPRECATED_f(bool DeviceCanDoInputSource (const NTV2InputSource inSrc));
166  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool DeviceCanDoAudioMixer(void)) {return IsSupported(kDeviceCanDoAudioMixer);}
167  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool DeviceIsDNxIV(void)) {return IsSupported(kDeviceHasMicrophoneInput);}
168  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool DeviceHasMicInput(void)) {return IsSupported(kDeviceHasMicrophoneInput);}
169 #endif // defined(NTV2_DEPRECATE_16_3)
170  AJA_VIRTUAL ULWord DeviceGetNumberFrameBuffers(void);
172 
173 
177 
191  AJA_VIRTUAL bool DMARead (const ULWord inFrameNumber, ULWord * pFrameBuffer, const ULWord inOffsetBytes, const ULWord inByteCount);
192 
206  AJA_VIRTUAL bool DMAWrite (const ULWord inFrameNumber, const ULWord * pFrameBuffer, const ULWord inOffsetBytes, const ULWord inByteCount);
207 
208 
221  AJA_VIRTUAL bool DMAReadFrame (const ULWord inFrameNumber, ULWord * pOutFrameBuffer, const ULWord inByteCount);
222 
240  AJA_VIRTUAL bool DMAReadFrame (const ULWord inFrameNumber, ULWord * pHostBuffer, const ULWord inByteCount, const NTV2Channel inChannel);
241 
254  AJA_VIRTUAL bool DMAWriteFrame (const ULWord inFrameNumber, const ULWord * pInFrameBuffer, const ULWord inByteCount);
255 
273  AJA_VIRTUAL bool DMAWriteFrame (const ULWord inFrameNumber, const ULWord * pInFrameBuffer, const ULWord inByteCount, const NTV2Channel inChannel);
274 
290  AJA_VIRTUAL bool DMAReadSegments ( const ULWord inFrameNumber,
291  ULWord * pFrameBuffer,
292  const ULWord inCardOffsetBytes,
293  const ULWord inSegmentByteCount,
294  const ULWord inNumSegments,
295  const ULWord inSegmentHostPitch,
296  const ULWord inSegmentCardPitch);
297 
313  AJA_VIRTUAL bool DMAWriteSegments ( const ULWord inFrameNumber,
314  const ULWord * pFrameBuffer,
315  const ULWord inOffsetBytes,
316  const ULWord inSegmentByteCount,
317  const ULWord inNumSegments,
318  const ULWord inSegmentHostPitch,
319  const ULWord inSegmentCardPitch);
320 
324  AJA_VIRTUAL bool DmaP2PTargetFrame (NTV2Channel channel, // frame buffer channel output frame to update on completion
325  ULWord frameNumber, // frame number to target
326  ULWord frameOffset, // frame buffer offset (bytes)
327  PCHANNEL_P2P_STRUCT pP2PData); // p2p target data (output)
328 
329  AJA_VIRTUAL bool DmaP2PTransferFrame (NTV2DMAEngine DMAEngine, // dma engine for transfer
330  ULWord frameNumber, // source frame number
331  ULWord frameOffset, // source frame buffer offset (bytes)
332  ULWord transferSize, // transfer size (bytes)
333  ULWord numSegments, // number of segments (0 if not a segmented transfer)
334  ULWord segmentTargetPitch, // target frame pitch (0 if not a segmented transfer)
335  ULWord segmentCardPitch, // source frame pitch (0 if not a segmented transfer)
336  PCHANNEL_P2P_STRUCT pP2PData); // p2p target data
337 
353  AJA_VIRTUAL bool DMAReadAudio ( const NTV2AudioSystem inAudioSystem,
354  ULWord * pOutAudioBuffer,
355  const ULWord inOffsetBytes,
356  const ULWord inByteCount);
357 
373  AJA_VIRTUAL bool DMAWriteAudio ( const NTV2AudioSystem inAudioSystem,
374  const ULWord * pInAudioBuffer,
375  const ULWord inOffsetBytes,
376  const ULWord inByteCount);
377 
400  AJA_VIRTUAL bool DMAReadAnc ( const ULWord inFrameNumber,
401  NTV2Buffer & outAncF1Buffer,
402  NTV2Buffer & outAncF2Buffer = NULL_POINTER,
403  const NTV2Channel inChannel = NTV2_CHANNEL1);
404 
433  AJA_VIRTUAL bool DMAWriteAnc ( const ULWord inFrameNumber,
434  NTV2Buffer & inAncF1Buffer,
435  NTV2Buffer & inAncF2Buffer = NULL_POINTER,
436  const NTV2Channel inChannel = NTV2_CHANNEL1);
437 
438 
449  AJA_VIRTUAL bool DMAWriteLUTTable ( const ULWord inFrameNumber, const ULWord * pInLUTBuffer, const ULWord inLUTIndex,const ULWord inByteCount = LUTTablePartitionSize);
450 
459  AJA_VIRTUAL bool DMABufferLock (const NTV2Buffer & inBuffer, bool inMap = false, bool inRDMA = false); // New in SDK 15.5
460 
473  AJA_VIRTUAL inline bool DMABufferLock (const ULWord * pInBuffer, const ULWord inByteCount, bool inMap = false, bool inRDMA = false)
474  {
475  return DMABufferLock(NTV2Buffer(pInBuffer, inByteCount), inMap, inRDMA);
476  }
477 
478 
485  AJA_VIRTUAL bool DMABufferUnlock (const NTV2Buffer & inBuffer);
486 
494  AJA_VIRTUAL inline bool DMABufferUnlock (const ULWord * pInBuffer, const ULWord inByteCount)
495  {
496  return DMABufferUnlock(NTV2Buffer(pInBuffer, inByteCount));
497  }
498 
504  AJA_VIRTUAL bool DMABufferUnlockAll ();
505 
514  AJA_VIRTUAL bool DMABufferAutoLock (const bool inEnable, const bool inMap = false, const ULWord64 inMaxLockSize = 0);
515 
516 
527  AJA_VIRTUAL bool DMAClearAncRegion ( const UWord inStartFrameNumber,
528  const UWord inEndFrameNumber,
529  const NTV2AncillaryDataRegion inAncRegion = NTV2_AncRgn_All,
530  const NTV2Channel = NTV2_CHANNEL1);
531 
542  AJA_VIRTUAL bool GetDeviceFrameInfo (const UWord inFrameNumber, const NTV2Channel inChannel,
543  uint64_t & outAddress, uint64_t & outLength);
544 
545  AJA_VIRTUAL bool GetDeviceFrameInfo (const UWord inFrameNumber, const NTV2Channel inChannel, ULWord & outIntrinsicSize,
546  bool & outMultiFmt, bool & outQuad, bool & outQuadQuad, bool & outSquares, bool & outTSI,
547  uint64_t & outAddress, uint64_t & outLength); // New in SDK 16.2
548 
557  AJA_VIRTUAL bool DeviceAddressToFrameNumber (const uint64_t inAddress, UWord & outFrameNumber, const NTV2Channel inChannel = NTV2_CHANNEL1);
558 
572  AJA_VIRTUAL bool GetAncRegionOffsetAndSize (ULWord & outByteOffset, ULWord & outByteCount,
573  const NTV2AncillaryDataRegion inAncRegion = NTV2_AncRgn_All);
574 
586  AJA_VIRTUAL bool GetAncRegionOffsetFromBottom (ULWord & outByteOffsetFromBottom,
587  const NTV2AncillaryDataRegion inAncRegion = NTV2_AncRgn_All);
589 
590 //
591 // Set/Get Parameter routines
592 //
593  #if defined (AJAMac)
594  #define AJA_RETAIL_DEFAULT true
595  #else // else !defined (AJAMac)
596  #define AJA_RETAIL_DEFAULT false
597  #endif // !defined (AJAMac)
598 
615  AJA_VIRTUAL bool SetVideoFormat (const NTV2VideoFormat inVideoFormat, const bool inIsAJARetail = AJA_RETAIL_DEFAULT, const bool inKeepVancSettings = false, const NTV2Channel inChannel = NTV2_CHANNEL1);
616 
628  AJA_VIRTUAL bool SetVideoFormat (const NTV2ChannelSet & inFrameStores, const NTV2VideoFormat inVideoFormat, const bool inIsAJARetail = AJA_RETAIL_DEFAULT);
629 
637  AJA_VIRTUAL bool SetFrameGeometry (NTV2FrameGeometry inGeometry, bool inIsRetail = AJA_RETAIL_DEFAULT, NTV2Channel inChannel = NTV2_CHANNEL1);
638 
654  AJA_VIRTUAL bool SetFrameBufferFormat (NTV2Channel inChannel,
655  NTV2FrameBufferFormat inNewFormat,
656  bool inIsAJARetail = AJA_RETAIL_DEFAULT,
660 
676  AJA_VIRTUAL bool SetFrameBufferFormat (const NTV2ChannelSet & inFrameStores,
677  const NTV2FrameBufferFormat inNewFormat,
678  const bool inIsAJARetail = AJA_RETAIL_DEFAULT,
679  const NTV2HDRXferChars inXferChars = NTV2_VPID_TC_SDR_TV,
680  const NTV2HDRColorimetry inColorimetry = NTV2_VPID_Color_Rec709,
681  const NTV2HDRLuminance inLuminance = NTV2_VPID_Luminance_YCbCr);
682 
691  AJA_VIRTUAL bool SetReference (const NTV2ReferenceSource inRefSource, const bool inKeepFramePulseSelect = false);
692 
699  AJA_VIRTUAL bool GetReference (NTV2ReferenceSource & outRefSource);
700 
707  AJA_VIRTUAL bool EnableFramePulseReference (const bool inEnable); // New in SDK 15.5
708 
716  AJA_VIRTUAL bool GetEnableFramePulseReference (bool & outEnabled); // New in SDK 15.5
717 
724  AJA_VIRTUAL bool SetFramePulseReference (const NTV2ReferenceSource inRefSource); // New in SDK 15.5
725 
732  AJA_VIRTUAL bool GetFramePulseReference (NTV2ReferenceSource & outRefSource); // New in SDK 15.5
733 
741  AJA_VIRTUAL bool GetEveryFrameServices (NTV2EveryFrameTaskMode & outMode);
742 
751  AJA_VIRTUAL bool SetEveryFrameServices (const NTV2EveryFrameTaskMode inMode);
752 
763  AJA_VIRTUAL bool SetMode (const NTV2Channel inChannel, const NTV2Mode inNewValue, const bool inIsRetail = AJA_RETAIL_DEFAULT);
764 
774  AJA_VIRTUAL bool SetMode (const NTV2ChannelSet & inChannels, const NTV2Mode inMode);
775 
784  AJA_VIRTUAL bool GetMode (const NTV2Channel inChannel, NTV2Mode & outValue);
785 
786  AJA_VIRTUAL bool GetFrameGeometry (NTV2FrameGeometry & outValue, NTV2Channel inChannel = NTV2_CHANNEL1);
787 
798  AJA_VIRTUAL bool GetFrameBufferFormat (NTV2Channel inChannel, NTV2FrameBufferFormat & outValue);
799 
800 
801  // The rest of the routines
802  AJA_VIRTUAL bool GetVideoFormat (NTV2VideoFormat & outValue, NTV2Channel inChannel = NTV2_CHANNEL1);
803 
804  AJA_VIRTUAL bool SetStandard (NTV2Standard inValue, NTV2Channel inChannel = NTV2_CHANNEL1);
805  AJA_VIRTUAL bool GetStandard (NTV2Standard & outValue, NTV2Channel inChannel = NTV2_CHANNEL1);
806 
807  AJA_VIRTUAL bool IsProgressiveStandard (bool & outIsProgressive, NTV2Channel inChannel = NTV2_CHANNEL1);
808 
809  AJA_VIRTUAL bool IsSDStandard (bool & outIsStandardDef, NTV2Channel inChannel = NTV2_CHANNEL1);
810 
819  AJA_VIRTUAL bool SetFrameRate (NTV2FrameRate inNewValue, NTV2Channel inChannel = NTV2_CHANNEL1);
820 
829  AJA_VIRTUAL bool GetFrameRate (NTV2FrameRate & outValue, NTV2Channel inChannel = NTV2_CHANNEL1);
830 
841  AJA_VIRTUAL bool SetSmpte372 (ULWord inValue, NTV2Channel inChannel = NTV2_CHANNEL1);
842 
852  AJA_VIRTUAL bool GetSmpte372 (ULWord & outValue, NTV2Channel inChannel = NTV2_CHANNEL1);
853 
854  AJA_VIRTUAL bool SetProgressivePicture (ULWord value);
855  AJA_VIRTUAL bool GetProgressivePicture (ULWord & outValue);
856 
867  AJA_VIRTUAL bool SetQuadFrameEnable (const bool inValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
868 
876  AJA_VIRTUAL bool GetQuadFrameEnable (bool & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
877 
888  AJA_VIRTUAL bool SetQuadQuadFrameEnable (const bool inValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
889 
897  AJA_VIRTUAL bool GetQuadQuadFrameEnable (bool & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
898 
907  AJA_VIRTUAL bool SetQuadQuadSquaresEnable (const bool inValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
908 
917  AJA_VIRTUAL bool GetQuadQuadSquaresEnable (bool & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
918 
930  AJA_VIRTUAL bool Set4kSquaresEnable (const bool inIsEnabled, const NTV2Channel inChannel);
931 
941  AJA_VIRTUAL bool Get4kSquaresEnable (bool & outIsEnabled, const NTV2Channel inChannel);
942 
953  AJA_VIRTUAL bool SetTsiFrameEnable (const bool inIsEnabled, const NTV2Channel inChannel);
954 
963  AJA_VIRTUAL bool GetTsiFrameEnable (bool & outIsEnabled, const NTV2Channel inChannel);
964 
971  AJA_VIRTUAL bool GetTsiMuxSyncFail (bool & outSyncFailed, const NTV2Channel inWhichTsiMux);
972 
973  AJA_VIRTUAL bool SetFrameBufferQuarterSizeMode (NTV2Channel inChannel, NTV2QuarterSizeExpandMode inValue);
974  AJA_VIRTUAL bool GetFrameBufferQuarterSizeMode (NTV2Channel inChannel, NTV2QuarterSizeExpandMode & outValue);
975 
976  AJA_VIRTUAL bool SetFrameBufferQuality (NTV2Channel inChannel, NTV2FrameBufferQuality inValue);
977  AJA_VIRTUAL bool GetFrameBufferQuality (NTV2Channel inChannel, NTV2FrameBufferQuality & outValue);
978 
979  AJA_VIRTUAL bool SetEncodeAsPSF (NTV2Channel inChannel, NTV2EncodeAsPSF inValue);
980  AJA_VIRTUAL bool GetEncodeAsPSF (NTV2Channel inChannel, NTV2EncodeAsPSF & outValue);
981 
993  AJA_VIRTUAL bool SetFrameBufferOrientation (const NTV2Channel inChannel, const NTV2FBOrientation inValue);
994 
1005  AJA_VIRTUAL bool GetFrameBufferOrientation (const NTV2Channel inChannel, NTV2FBOrientation & outValue);
1006 
1007  AJA_VIRTUAL bool SetAlphaFromInput2Bit (ULWord inValue);
1008  AJA_VIRTUAL bool GetAlphaFromInput2Bit (ULWord & outValue);
1009 
1035  AJA_VIRTUAL bool SetOutputFrame (const NTV2Channel inChannel, const ULWord inValue);
1036 
1045  AJA_VIRTUAL bool GetOutputFrame (const NTV2Channel inChannel, ULWord & outValue);
1046 
1073  AJA_VIRTUAL bool SetInputFrame (const NTV2Channel inChannel, const ULWord inValue);
1074 
1085  AJA_VIRTUAL bool GetInputFrame (const NTV2Channel inChannel, ULWord & outValue);
1086 
1087  AJA_VIRTUAL bool SetDualLinkOutputEnable (const bool inIsEnabled);
1088  AJA_VIRTUAL bool GetDualLinkOutputEnable (bool & outIsEnabled);
1089 
1090  AJA_VIRTUAL bool SetDualLinkInputEnable (const bool inIsEnabled);
1091  AJA_VIRTUAL bool GetDualLinkInputEnable (bool & outIsEnabled);
1092 
1099  AJA_VIRTUAL bool SetVideoLimiting (const NTV2VideoLimiting inValue);
1100 
1107  AJA_VIRTUAL bool GetVideoLimiting (NTV2VideoLimiting & outValue);
1108 
1109  AJA_VIRTUAL bool SetEnableVANCData (const bool inVANCenabled, const bool inTallerVANC, const NTV2Standard inStandard, const NTV2FrameGeometry inGeometry, const NTV2Channel inChannel = NTV2_CHANNEL1);
1110  AJA_VIRTUAL bool SetEnableVANCData (const bool inVANCenabled, const bool inTallerVANC = false, const NTV2Channel inChannel = NTV2_CHANNEL1);
1111 
1120  AJA_VIRTUAL bool SetVANCMode (const NTV2VANCMode inVancMode, const NTV2Channel inChannel = NTV2_CHANNEL1);
1121 
1129  AJA_VIRTUAL bool SetVANCMode (const NTV2ChannelSet & inChannels, const NTV2VANCMode inVancMode);
1130 
1139  AJA_VIRTUAL bool GetVANCMode (NTV2VANCMode & outVancMode, const NTV2Channel inChannel = NTV2_CHANNEL1);
1140 
1153  AJA_VIRTUAL bool SetVANCShiftMode (NTV2Channel inChannel, NTV2VANCDataShiftMode inMode);
1154 
1167  AJA_VIRTUAL bool SetVANCShiftMode (NTV2ChannelSet & inChannels, const NTV2VANCDataShiftMode inMode); // New in SDK 16.2
1168 
1182  AJA_VIRTUAL bool GetVANCShiftMode (NTV2Channel inChannel, NTV2VANCDataShiftMode & outValue);
1183 
1184  AJA_VIRTUAL bool SetPulldownMode (NTV2Channel inChannel, bool inValue);
1185  AJA_VIRTUAL bool GetPulldownMode (NTV2Channel inChannel, bool & outValue);
1186 
1193  AJA_VIRTUAL bool ReadLineCount (ULWord & outValue);
1194 
1195 #if !defined(NTV2_DEPRECATE_16_3)
1196  AJA_VIRTUAL NTV2_DEPRECATED_f(bool SetDefaultVideoOutMode(ULWord mode));
1197  AJA_VIRTUAL NTV2_DEPRECATED_f(bool GetDefaultVideoOutMode(ULWord & outMode));
1198 #endif // defined(NTV2_DEPRECATE_16_3)
1199 #if !defined(NTV2_DEPRECATE_16_2)
1200  AJA_VIRTUAL NTV2_DEPRECATED_f(bool GetActiveFrameDimensions (NTV2FrameDimensions & outFrameDimensions, const NTV2Channel inChannel = NTV2_CHANNEL1));
1201  AJA_VIRTUAL NTV2_DEPRECATED_f(NTV2FrameDimensions GetActiveFrameDimensions (const NTV2Channel inChannel = NTV2_CHANNEL1));
1202  AJA_VIRTUAL NTV2_DEPRECATED_f(bool GetNumberActiveLines (ULWord & outNumActiveLines));
1203  AJA_VIRTUAL NTV2_DEPRECATED_f(bool FlipFlopPage (const NTV2Channel inChannel));
1204  AJA_VIRTUAL NTV2_DEPRECATED_f(bool SetPCIAccessFrame (const NTV2Channel inChannel, const ULWord inValue, const bool inWaitForVBI = true));
1205  AJA_VIRTUAL NTV2_DEPRECATED_f(bool GetPCIAccessFrame (const NTV2Channel inChannel, ULWord & outValue));
1206 #endif // !defined(NTV2_DEPRECATE_16_2)
1207 #if !defined(NTV2_DEPRECATE_16_0)
1208  AJA_VIRTUAL inline NTV2_SHOULD_BE_DEPRECATED(bool SetEnableVANCData (const NTV2ChannelSet & inChannels, const bool inVANCenable, const bool inTallerVANC = false)) {return SetVANCMode(inChannels, NTV2VANCModeFromBools(inVANCenable, inTallerVANC));}
1209  AJA_VIRTUAL inline NTV2_SHOULD_BE_DEPRECATED(bool SetVANCMode (const NTV2VANCMode inVancMode, const NTV2Standard st, const NTV2FrameGeometry fg,
1210  const NTV2Channel inChannel = NTV2_CHANNEL1)) {(void) st; (void) fg; return SetVANCMode(inVancMode, inChannel);}
1211  #define Set425FrameEnable SetTsiFrameEnable // Replace calls to Set425FrameEnable with calls to SetTsiFrameEnable instead
1212  #define Get425FrameEnable GetTsiFrameEnable // Replace calls to Get425FrameEnable with calls to GetTsiFrameEnable instead
1213 #endif // NTV2_DEPRECATE_16_0
1214 
1215 
1219 
1230  AJA_VIRTUAL bool SetMixerVancOutputFromForeground (const UWord inWhichMixer, const bool inFromForegroundSource = true);
1231 
1241  AJA_VIRTUAL bool GetMixerVancOutputFromForeground (const UWord inWhichMixer, bool & outIsFromForegroundSource);
1242 
1243 
1251  AJA_VIRTUAL bool SetMixerFGInputControl (const UWord inWhichMixer, const NTV2MixerKeyerInputControl inInputControl);
1252 
1260  AJA_VIRTUAL bool GetMixerFGInputControl (const UWord inWhichMixer, NTV2MixerKeyerInputControl & outInputControl);
1261 
1269  AJA_VIRTUAL bool SetMixerBGInputControl (const UWord inWhichMixer, const NTV2MixerKeyerInputControl inInputControl);
1270 
1278  AJA_VIRTUAL bool GetMixerBGInputControl (const UWord inWhichMixer, NTV2MixerKeyerInputControl & outInputControl);
1279 
1287  AJA_VIRTUAL bool SetMixerMode (const UWord inWhichMixer, const NTV2MixerKeyerMode inMode);
1288 
1296  AJA_VIRTUAL bool GetMixerMode (const UWord inWhichMixer, NTV2MixerKeyerMode & outMode);
1297 
1305  AJA_VIRTUAL bool SetMixerCoefficient (const UWord inWhichMixer, const ULWord inMixCoefficient);
1306 
1314  AJA_VIRTUAL bool GetMixerCoefficient (const UWord inWhichMixer, ULWord & outMixCoefficient);
1315 
1324  AJA_VIRTUAL bool GetMixerSyncStatus (const UWord inWhichMixer, bool & outIsSyncOK);
1325 
1333  AJA_VIRTUAL bool GetMixerFGMatteEnabled (const UWord inWhichMixer, bool & outIsEnabled);
1334 
1342  AJA_VIRTUAL bool SetMixerFGMatteEnabled (const UWord inWhichMixer, const bool inIsEnabled);
1343 
1351  AJA_VIRTUAL bool GetMixerBGMatteEnabled (const UWord inWhichMixer, bool & outIsEnabled);
1352 
1360  AJA_VIRTUAL bool SetMixerBGMatteEnabled (const UWord inWhichMixer, const bool inIsEnabled);
1361 
1369  AJA_VIRTUAL bool GetMixerMatteColor (const UWord inWhichMixer, YCbCr10BitPixel & outYCbCrValue);
1370 
1378  AJA_VIRTUAL bool SetMixerMatteColor (const UWord inWhichMixer, const YCbCr10BitPixel inYCbCrValue);
1379 
1386  AJA_VIRTUAL bool MixerHasRGBModeSupport (const UWord inWhichMixer, bool & outIsSupported);
1387 
1394  AJA_VIRTUAL bool SetMixerRGBRange (const UWord inWhichMixer, const NTV2MixerRGBRange inRGBRange);
1395 
1402  AJA_VIRTUAL bool GetMixerRGBRange (const UWord inWhichMixer, NTV2MixerRGBRange & outRGBRange);
1404 
1405 
1409 
1420  AJA_VIRTUAL bool SetNumberAudioChannels (const ULWord inNumChannels, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1421 
1430  AJA_VIRTUAL bool SetNumberAudioChannels (const ULWord inNumChannels, const NTV2AudioSystemSet & inAudioSystems); // New in SDK 16.2
1431 
1442  AJA_VIRTUAL bool GetNumberAudioChannels (ULWord & outNumChannels, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1443 
1451  AJA_VIRTUAL bool SetAudioRate (const NTV2AudioRate inRate, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1452 
1460  AJA_VIRTUAL bool GetAudioRate (NTV2AudioRate & outRate, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1461 
1470  AJA_VIRTUAL bool SetAudioBufferSize (const NTV2AudioBufferSize inValue, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1471 
1480  AJA_VIRTUAL bool SetAudioBufferSize (const NTV2AudioBufferSize inSize, const NTV2AudioSystemSet & inAudioSystems); // New in SDK 16.2
1481 
1489  AJA_VIRTUAL bool GetAudioBufferSize (NTV2AudioBufferSize & outSize, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1490 
1498  AJA_VIRTUAL bool SetAudio20BitMode (const NTV2AudioSystem inAudioSystem, const bool inEnable); // New in SDK 13.0
1499 
1509  AJA_VIRTUAL bool GetAudio20BitMode (const NTV2AudioSystem inAudioSystem, bool & outEnable); // New in SDK 13.0
1510 
1520  AJA_VIRTUAL bool SetAudioLoopBack (const NTV2AudioLoopBack inMode, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1521 
1530  AJA_VIRTUAL bool SetAudioLoopBack (const NTV2AudioLoopBack inMode, const NTV2AudioSystemSet & inAudioSystems); // New in SDK 16.2
1531 
1541  AJA_VIRTUAL bool GetAudioLoopBack (NTV2AudioLoopBack & outMode, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1542 
1543 
1544  AJA_VIRTUAL bool SetAudioAnalogLevel (const NTV2AudioLevel value, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1545  AJA_VIRTUAL bool GetAudioAnalogLevel (NTV2AudioLevel & outValue, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1546  AJA_VIRTUAL bool SetEncodedAudioMode (const NTV2EncodedAudioMode value, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1547  AJA_VIRTUAL bool GetEncodedAudioMode (NTV2EncodedAudioMode & outValue, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1548 
1556  AJA_VIRTUAL bool SetEmbeddedAudioClock (const NTV2EmbeddedAudioClock inValue, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1557 
1565  AJA_VIRTUAL bool GetEmbeddedAudioClock (NTV2EmbeddedAudioClock & outValue, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1566 
1580  AJA_VIRTUAL bool GetAudioWrapAddress (ULWord & outWrapAddress, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1581 
1591  AJA_VIRTUAL bool GetAudioReadOffset (ULWord & outReadOffset, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1592 
1605  AJA_VIRTUAL bool GetAudioMemoryOffset (const ULWord inOffsetBytes, ULWord & outAbsByteOffset,
1606  const NTV2AudioSystem inAudioSystem, const bool inCaptureBuffer = false); // New in SDK 13.0
1607 
1619  AJA_VIRTUAL bool ReadAudioLastOut (ULWord & outValue, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1620 
1631  AJA_VIRTUAL bool ReadAudioLastIn (ULWord & outValue, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1632 
1647  AJA_VIRTUAL bool StartAudioOutput (const NTV2AudioSystem inAudioSystem, const bool inWaitForVBI = false); // New in SDK 14.3
1648 
1659  AJA_VIRTUAL bool StopAudioOutput (const NTV2AudioSystem inAudioSystem); // New in SDK 14.3
1660 
1670  AJA_VIRTUAL bool IsAudioOutputRunning (const NTV2AudioSystem inAudioSystem, bool & outIsRunning); // New in SDK 14.3
1671 
1683  AJA_VIRTUAL bool SetAudioOutputPause (const NTV2AudioSystem inAudioSystem, const bool inPausePlayout); // New in SDK 12.3
1684 
1693  AJA_VIRTUAL bool GetAudioOutputPause (const NTV2AudioSystem inAudioSystem, bool & outIsPaused); // New in SDK 12.3
1694 
1709  AJA_VIRTUAL bool StartAudioInput (const NTV2AudioSystem inAudioSystem, const bool inWaitForVBI = false); // New in SDK 14.3
1710 
1722  AJA_VIRTUAL bool StopAudioInput (const NTV2AudioSystem inAudioSystem); // New in SDK 14.3
1723 
1732  AJA_VIRTUAL bool IsAudioInputRunning (const NTV2AudioSystem inAudioSystem, bool & outIsRunning); // New in SDK 14.3
1733 
1745  AJA_VIRTUAL bool SetAudioCaptureEnable (const NTV2AudioSystem inAudioSystem, const bool inEnable); // New in SDK 12.3
1746 
1757  AJA_VIRTUAL bool GetAudioCaptureEnable (const NTV2AudioSystem inAudioSystem, bool & outEnable); // New in SDK 12.3
1758 
1767  AJA_VIRTUAL bool SetAudioPlayCaptureModeEnable (const NTV2AudioSystem inAudioSystem, const bool inEnable);
1768 
1779  AJA_VIRTUAL bool GetAudioPlayCaptureModeEnable (const NTV2AudioSystem inAudioSystem, bool & outEnable);
1780 
1792  AJA_VIRTUAL bool SetAudioInputDelay (const NTV2AudioSystem inAudioSystem, const ULWord inDelay);
1793 
1804  AJA_VIRTUAL bool GetAudioInputDelay (const NTV2AudioSystem inAudioSystem, ULWord & outDelay);
1805 
1806 
1817  AJA_VIRTUAL bool SetAudioOutputDelay (const NTV2AudioSystem inAudioSystem, const ULWord inDelay);
1818 
1829  AJA_VIRTUAL bool GetAudioOutputDelay (const NTV2AudioSystem inAudioSystem, ULWord & outDelay);
1830 
1831 
1843  AJA_VIRTUAL bool SetAudioPCMControl (const NTV2AudioSystem inAudioSystem, const bool inIsNonPCM); // New in SDK 12.1
1844 
1845 
1855  AJA_VIRTUAL bool GetAudioPCMControl (const NTV2AudioSystem inAudioSystem, bool & outIsNonPCM); // New in SDK 12.1
1856 
1857 
1871  AJA_VIRTUAL bool SetAudioPCMControl (const NTV2AudioSystem inAudioSystem, const NTV2AudioChannelPair inChannelPair, const bool inIsNonPCM); // New in SDK 12.2
1872 
1873 
1882  AJA_VIRTUAL bool SetAudioPCMControl (const NTV2AudioSystem inAudioSystem, const NTV2AudioChannelPairs & inNonPCMChannelPairs); // New in SDK 12.4
1883 
1884 
1898  AJA_VIRTUAL bool GetAudioPCMControl (const NTV2AudioSystem inAudioSystem, const NTV2AudioChannelPair inChannelPair, bool & outIsNonPCM); // New in SDK 12.2
1899 
1900 
1910  AJA_VIRTUAL bool GetAudioPCMControl (const NTV2AudioSystem inAudioSystem, NTV2AudioChannelPairs & outNonPCMChannelPairs); // New in SDK 12.4
1911 
1912 
1921  AJA_VIRTUAL bool IsAudioChannelPairPresent (const NTV2AudioSystem inAudioSystem, const NTV2AudioChannelPair inChannelPair, bool & outIsPresent); // New in SDK 12.5
1922 
1923 
1934  AJA_VIRTUAL bool GetDetectedAudioChannelPairs (const NTV2AudioSystem inAudioSystem, NTV2AudioChannelPairs & outDetectedChannelPairs); // New in SDK 12.5
1935 
1936 
1943  AJA_VIRTUAL bool GetDetectedAESChannelPairs (NTV2AudioChannelPairs & outDetectedChannelPairs); // New in SDK 13.0
1944 
1945 
1959  AJA_VIRTUAL bool SetAudioSystemInputSource (const NTV2AudioSystem inAudioSystem, const NTV2AudioSource inAudioSource, const NTV2EmbeddedAudioInput inEmbeddedInput);
1960 
1972  AJA_VIRTUAL bool GetAudioSystemInputSource (const NTV2AudioSystem inAudioSystem, NTV2AudioSource & outAudioSource, NTV2EmbeddedAudioInput & outEmbeddedSource);
1973 
1987  AJA_VIRTUAL bool SetEmbeddedAudioInput (const NTV2EmbeddedAudioInput inEmbeddedSource, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
1988 
1999  AJA_VIRTUAL bool GetEmbeddedAudioInput (NTV2EmbeddedAudioInput & outEmbeddedSource, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
2000 
2008  virtual bool InputAudioChannelPairHasPCM (const NTV2Channel inSDIInputConnector, const NTV2AudioChannelPair inAudioChannelPair, bool & outIsPCM); // New in SDK 12.3
2009 
2020  virtual bool GetInputAudioChannelPairsWithPCM (const NTV2Channel inSDIInputConnector, NTV2AudioChannelPairs & outChannelPairs); // New in SDK 12.3
2021 
2028  virtual bool GetInputAudioChannelPairsWithoutPCM (const NTV2Channel inSDIInputConnector, NTV2AudioChannelPairs & outChannelPairs); // New in SDK 12.3
2029 
2037  AJA_VIRTUAL bool GetSuspendHostAudio (bool & outIsSuspended); // New in SDK 12.1
2038 
2047  AJA_VIRTUAL bool SetSuspendHostAudio (const bool inSuspend); // New in SDK 12.1
2048 
2059  AJA_VIRTUAL bool GetAESOutputSource (const NTV2Audio4ChannelSelect inAESAudioChannels, NTV2AudioSystem & outSrcAudioSystem, NTV2Audio4ChannelSelect & outSrcAudioChannels); // New in SDK 12.5
2060 
2071  AJA_VIRTUAL bool SetAESOutputSource (const NTV2Audio4ChannelSelect inAESAudioChannels, const NTV2AudioSystem inSrcAudioSystem, const NTV2Audio4ChannelSelect inSrcAudioChannels); // New in SDK 12.5
2072 
2081  AJA_VIRTUAL bool SetAudioOutputMonitorSource (const NTV2AudioChannelPair inChannelPair, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
2082 
2091  AJA_VIRTUAL bool GetAudioOutputMonitorSource (NTV2AudioChannelPair & outChannelPair, NTV2AudioSystem & outAudioSystem);
2092 
2101  AJA_VIRTUAL bool GetAudioOutputEraseMode (const NTV2AudioSystem inAudioSystem, bool & outEraseModeEnabled); // New in SDK 13.0
2102 
2111  AJA_VIRTUAL bool SetAudioOutputEraseMode (const NTV2AudioSystem inAudioSystem, const bool & inEraseModeEnabled); // New in SDK 13.0
2112 
2120  AJA_VIRTUAL bool GetAudioOutputAESSyncModeBit (const NTV2AudioSystem inAudioSystem, bool & outAESSyncModeBitSet); // New in SDK 15.2
2121 
2129  AJA_VIRTUAL bool SetAudioOutputAESSyncModeBit (const NTV2AudioSystem inAudioSystem, const bool & inAESSyncModeBitSet); // New in SDK 15.2
2130 
2139  AJA_VIRTUAL bool SetAnalogAudioTransmitEnable (const NTV2Audio4ChannelSelect inChannelQuad, const bool inEnable); // New in SDK 16.1
2140 
2149  AJA_VIRTUAL bool GetAnalogAudioTransmitEnable (const NTV2Audio4ChannelSelect inChannelQuad, bool & outEnabled); // New in SDK 16.1
2150 
2160  AJA_VIRTUAL bool GetRawAudioTimer (ULWord & outValue, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1); // New in SDK 15.5
2161 
2169  AJA_VIRTUAL bool EnableBOBAnalogAudioIn (bool inEnable); // New in SDK 17.0
2170 
2178  AJA_VIRTUAL bool SetMultiLinkAudioMode (const NTV2AudioSystem inAudioSystem, const bool inEnable); // New in SDK 16.2
2179 
2187  AJA_VIRTUAL bool GetMultiLinkAudioMode (const NTV2AudioSystem inAudioSystem, bool & outEnabled); // New in SDK 16.2
2188 
2189 #if !defined(NTV2_DEPRECATE_16_0)
2190  AJA_VIRTUAL NTV2_DEPRECATED_f(bool WriteAudioSource (const ULWord inValue, const NTV2Channel inChannel = NTV2_CHANNEL1));
2191  AJA_VIRTUAL NTV2_DEPRECATED_f(bool ReadAudioSource (ULWord & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1));
2192  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool SetAudioOutputReset (const NTV2AudioSystem inAudioSystem, const bool inIsReset)) {return inIsReset ? StopAudioOutput(inAudioSystem) : StartAudioOutput(inAudioSystem);}
2193  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool GetAudioOutputReset (const NTV2AudioSystem inAudioSystem, bool & outIsReset)) {if(!IsAudioOutputRunning(inAudioSystem, outIsReset)) return false; outIsReset = !outIsReset; return true; }
2194  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool SetAudioInputReset (const NTV2AudioSystem inAudioSystem, const bool inIsReset)) {return inIsReset ? StopAudioInput(inAudioSystem) : StartAudioInput(inAudioSystem);}
2195  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool GetAudioInputReset (const NTV2AudioSystem inAudioSystem, bool & outIsReset)) {if(!IsAudioInputRunning(inAudioSystem, outIsReset)) return false; outIsReset = !outIsReset; return true; }
2196 #endif // !defined(NTV2_DEPRECATE_16_0)
2197 #if !defined(NTV2_DEPRECATE_16_1)
2198  AJA_VIRTUAL NTV2_DEPRECATED_f(bool SetAnalogAudioIOConfiguration (const NTV2AnalogAudioIO inConfig));
2199  AJA_VIRTUAL NTV2_DEPRECATED_f(bool GetAnalogAudioIOConfiguration (NTV2AnalogAudioIO & outConfig));
2200  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool ReadAudioLastOut (ULWord & outValue, const NTV2Channel inChannel)) {return ReadAudioLastOut(outValue, NTV2AudioSystem(inChannel));}
2201  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool ReadAudioLastIn (ULWord & outValue, const NTV2Channel inChannel)) {return ReadAudioLastIn(outValue, NTV2AudioSystem(inChannel));}
2202  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool WriteAudioLastOut (ULWord & outValue, const NTV2Channel inChannel)) {(void)outValue;(void)inChannel; return false;}
2203 #endif // !defined(NTV2_DEPRECATE_16_1)
2204 #if !defined(NTV2_DEPRECATE_16_3)
2205  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool WriteAudioLastOut (const ULWord inValue, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1)) {(void)inValue;(void)inAudioSystem; return false;}
2206 #endif // !defined(NTV2_DEPRECATE_16_1)
2207 #if !defined(NTV2_DEPRECATE_17_0)
2208  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool CanDoAudioWaitForVBI(void)) {return IsSupported(kDeviceAudioCanWaitForVBI);}
2209 #endif // !defined(NTV2_DEPRECATE_17_0)
2210 #if !defined(NTV2_DEPRECATE_17_5)
2211  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool GetAudioOutputEmbedderState (const NTV2Channel sdi, bool & enb)) {return GetSDIOutputAudioEnabled(sdi,enb);}
2212  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool SetAudioOutputEmbedderState (const NTV2Channel sdi, const bool & enb)) {return SetSDIOutputAudioEnabled(sdi,enb);}
2213 #endif // defined(NTV2_DEPRECATE_17_5)
2214 
2219 
2228  AJA_VIRTUAL bool GetAudioMixerInputAudioSystem (const NTV2AudioMixerInput inMixerInput, NTV2AudioSystem & outAudioSystem); // New in SDK 15.5
2229 
2237  AJA_VIRTUAL bool SetAudioMixerInputAudioSystem (const NTV2AudioMixerInput inMixerInput, const NTV2AudioSystem inAudioSystem); // New in SDK 15.5
2238 
2247  AJA_VIRTUAL bool GetAudioMixerInputChannelSelect (const NTV2AudioMixerInput inMixerInput, NTV2AudioChannelPair & outChannelPair); // New in SDK 15.5
2248 
2257  AJA_VIRTUAL bool SetAudioMixerInputChannelSelect (const NTV2AudioMixerInput inMixerInput, const NTV2AudioChannelPair inChannelPair); // New in SDK 15.5
2258 
2270  AJA_VIRTUAL bool GetAudioMixerInputGain (const NTV2AudioMixerInput inMixerInput, const NTV2AudioMixerChannel inChannel, ULWord & outGainValue); // New in SDK 15.5
2271 
2283  AJA_VIRTUAL bool SetAudioMixerInputGain (const NTV2AudioMixerInput inMixerInput, const NTV2AudioMixerChannel inChannel, const ULWord inGainValue); // New in SDK 15.5
2284 
2292  AJA_VIRTUAL bool GetAudioMixerOutputGain (ULWord & outGainValue); // New in SDK 15.5
2293 
2301  AJA_VIRTUAL bool SetAudioMixerOutputGain (const ULWord inGainValue); // New in SDK 15.5
2302 
2312  AJA_VIRTUAL bool GetAudioMixerOutputLevels (const NTV2AudioChannelPairs & inChannelPairs, std::vector<uint32_t> & outLevels); // New in SDK 15.5
2313 
2321  AJA_VIRTUAL bool GetHeadphoneOutputGain (ULWord & outGainValue);
2322 
2330  AJA_VIRTUAL bool SetHeadphoneOutputGain (const ULWord inGainValue);
2331 
2341  AJA_VIRTUAL bool GetAudioMixerInputChannelsMute (const NTV2AudioMixerInput inMixerInput, NTV2AudioChannelsMuted16 & outMutes); // New in SDK 15.5
2342 
2353  AJA_VIRTUAL bool SetAudioMixerInputChannelsMute (const NTV2AudioMixerInput inMixerInput, const NTV2AudioChannelsMuted16 inMutes); // New in SDK 15.5
2354 
2365  AJA_VIRTUAL bool GetAudioMixerInputLevels (const NTV2AudioMixerInput inMixerInput, const NTV2AudioChannelPairs & inChannelPairs, std::vector<uint32_t> & outLevels); // New in SDK 15.5
2366 
2373  AJA_VIRTUAL bool GetAudioMixerLevelsSampleCount (ULWord & outSampleCount); // New in SDK 15.5
2374 
2382  AJA_VIRTUAL bool SetAudioMixerLevelsSampleCount (const ULWord inSampleCount); // New in SDK 15.5
2383 
2391  AJA_VIRTUAL bool GetAudioMixerOutputChannelsMute (NTV2AudioChannelsMuted16 & outMutes); // New in SDK 15.5
2392 
2401  AJA_VIRTUAL bool SetAudioMixerOutputChannelsMute (const NTV2AudioChannelsMuted16 inMutes); // New in SDK 15.5
2403 
2404  #if !defined(NTV2_DEPRECATE_16_3)
2405  AJA_VIRTUAL NTV2_DEPRECATED_f(bool WriteGlobalControl(const ULWord inVal)) {return WriteRegister(kRegGlobalControl, inVal);}
2406  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool ReadGlobalControl(ULWord * pOutVal)) {return pOutVal ? ReadRegister(kRegGlobalControl, *pOutVal) : false;}
2407  #endif // !defined(NTV2_DEPRECATE_16_3)
2408 
2409 
2413  AJA_VIRTUAL bool ReadFlashProgramControl(ULWord & outValue);
2415  AJA_VIRTUAL bool IsXilinxProgrammed();
2416  AJA_VIRTUAL bool ProgramMainFlash(const std::string & inFileName, const bool bInForceUpdate = false, const bool bInQuiet = false); // inFileName became const std::string& in SDK 16.2
2417  AJA_VIRTUAL bool GetProgramStatus(SSC_GET_FIRMWARE_PROGRESS_STRUCT *statusStruct);
2418 
2427  AJA_VIRTUAL bool GetRunningFirmwarePackageRevision (ULWord & outRevision);
2428 
2429 
2438  AJA_VIRTUAL bool GetRunningFirmwareRevision (UWord & outRevision);
2439 
2454  AJA_VIRTUAL bool GetRunningFirmwareDate (UWord & outYear, UWord & outMonth, UWord & outDay);
2455 
2470  AJA_VIRTUAL bool GetRunningFirmwareTime (UWord & outHours, UWord & outMinutes, UWord & outSeconds);
2471 
2486  AJA_VIRTUAL bool GetRunningFirmwareDate (std::string & outDate, std::string & outTime);
2487 
2494  AJA_VIRTUAL bool GetRunningFirmwareUserID (ULWord & outUserID); // New in SDK 16.1
2496 
2497 #if !defined(NTV2_DEPRECATE_16_0)
2498  // OEM Mapping to Userspace Functions
2499  AJA_VIRTUAL NTV2_DEPRECATED_f(bool GetBaseAddress(NTV2Channel channel, ULWord **pBaseAddress));
2500  AJA_VIRTUAL NTV2_DEPRECATED_f(bool GetBaseAddress(ULWord **pBaseAddress));
2501  AJA_VIRTUAL NTV2_DEPRECATED_f(bool GetRegisterBaseAddress(ULWord regNumber, ULWord ** pRegAddress));
2502  AJA_VIRTUAL NTV2_DEPRECATED_f(bool GetXena2FlashBaseAddress(ULWord ** pXena2FlashAddress));
2503 #endif // !defined(NTV2_DEPRECATE_16_0)
2504 
2505 #if !defined(NTV2_DEPRECATE_17_0)
2506  // Read-Only Status Registers
2507  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool ReadStatusRegister (ULWord *pVal)) {return pVal ? ReadRegister(kRegStatus, *pVal) : false;}
2508  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool ReadStatus2Register (ULWord *pVal)) {return pVal ? ReadRegister(kRegStatus2, *pVal) : false;}
2509  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool ReadInputStatusRegister (ULWord *pVal)) {return pVal ? ReadRegister(kRegInputStatus, *pVal) : false;}
2510  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool ReadInputStatus2Register (ULWord *pVal)) {return pVal ? ReadRegister(kRegInputStatus2, *pVal) : false;}
2511  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool ReadInput56StatusRegister (ULWord *pVal)) {return pVal ? ReadRegister(kRegInput56Status, *pVal) : false;}
2512  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool ReadInput78StatusRegister (ULWord *pVal)) {return pVal ? ReadRegister(kRegInput78Status, *pVal) : false;}
2513  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool Read3GInputStatusRegister(ULWord *pVal)) {return pVal ? ReadRegister(kRegSDIInput3GStatus, *pVal) : false;}
2514  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool Read3GInputStatus2Register(ULWord *pVal)) {return pVal ? ReadRegister(kRegSDIInput3GStatus2, *pVal) : false;}
2515  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool Read3GInput5678StatusRegister(ULWord *pVal)) {return pVal ? ReadRegister(kRegSDI5678Input3GStatus, *pVal) : false;}
2516 #endif // !defined(NTV2_DEPRECATE_17_0)
2517 
2518  AJA_VIRTUAL bool SupportsP2PTransfer (void);
2519  AJA_VIRTUAL bool SupportsP2PTarget (void);
2520 
2521 
2525 
2532  AJA_VIRTUAL bool SetLEDState (ULWord inValue);
2533 
2540  AJA_VIRTUAL bool GetLEDState (ULWord & outValue);
2542 
2543 
2547 
2556  AJA_VIRTUAL bool SetRP188Mode (const NTV2Channel inChannel, const NTV2_RP188Mode inMode);
2557 
2565  AJA_VIRTUAL bool GetRP188Mode (const NTV2Channel inChannel, NTV2_RP188Mode & outMode);
2566 
2575  AJA_VIRTUAL bool SetRP188Data (const NTV2Channel inSDIOutput, const NTV2_RP188 & inRP188Data);
2576 
2591  AJA_VIRTUAL bool GetRP188Data (const NTV2Channel inSDIInput, NTV2_RP188 & outRP188Data);
2592 
2601  AJA_VIRTUAL bool SetRP188SourceFilter (const NTV2Channel inSDIInput, const UWord inFilterValue);
2602 
2613  AJA_VIRTUAL bool GetRP188SourceFilter (const NTV2Channel inSDIInput, UWord & outFilterValue);
2614 
2625  AJA_VIRTUAL bool IsRP188BypassEnabled (const NTV2Channel inSDIOutput, bool & outIsBypassEnabled);
2626 
2634  AJA_VIRTUAL bool DisableRP188Bypass (const NTV2Channel inSDIOutput);
2635 
2643  AJA_VIRTUAL bool EnableRP188Bypass (const NTV2Channel inSDIOutput);
2644 
2653  AJA_VIRTUAL bool SetRP188BypassSource (const NTV2Channel inSDIOutput, const UWord inSDIInput);
2654 
2663  AJA_VIRTUAL bool GetRP188BypassSource (const NTV2Channel inSDIOutput, UWord & outSDIInput);
2665 
2666 
2670  //
2672  // Enable Interrupt/Event
2673  //
2674  AJA_VIRTUAL bool EnableInterrupt (const INTERRUPT_ENUMS inEventCode); // GENERIC!
2675 
2682  AJA_VIRTUAL bool EnableOutputInterrupt (const NTV2Channel channel = NTV2_CHANNEL1);
2683 
2690  AJA_VIRTUAL bool EnableInputInterrupt (const NTV2Channel channel = NTV2_CHANNEL1);
2691 
2698  AJA_VIRTUAL bool EnableInputInterrupt (const NTV2ChannelSet & inFrameStores);
2699 
2700 
2701  //
2702  // Disable Interrupt/Event
2703  //
2704  AJA_VIRTUAL bool DisableInterrupt (const INTERRUPT_ENUMS inEventCode); // GENERIC!
2705 
2712  AJA_VIRTUAL bool DisableOutputInterrupt (const NTV2Channel channel = NTV2_CHANNEL1);
2713 
2720  AJA_VIRTUAL bool DisableInputInterrupt (const NTV2Channel channel = NTV2_CHANNEL1);
2721 
2728  AJA_VIRTUAL bool DisableInputInterrupt (const NTV2ChannelSet & inFrameStores);
2729 
2730  AJA_VIRTUAL bool GetCurrentInterruptMasks (NTV2InterruptMask & outIntMask1, NTV2Interrupt2Mask & outIntMask2);
2731 
2732 
2733  //
2734  // Subscribe to events
2735  //
2743  AJA_VIRTUAL bool SubscribeEvent (const INTERRUPT_ENUMS inEventCode); // GENERIC!
2744 
2754  AJA_VIRTUAL bool SubscribeOutputVerticalEvent (const NTV2Channel inChannel);
2755 
2765  AJA_VIRTUAL bool SubscribeOutputVerticalEvent (const NTV2ChannelSet & inChannels);
2766 
2767 
2777  AJA_VIRTUAL bool SubscribeInputVerticalEvent (const NTV2Channel inChannel = NTV2_CHANNEL1);
2778 
2788  AJA_VIRTUAL bool SubscribeInputVerticalEvent (const NTV2ChannelSet & inChannels);
2789 
2790 
2791  //
2792  // Unsubscribe from events
2793  //
2800  AJA_VIRTUAL bool UnsubscribeEvent (const INTERRUPT_ENUMS inEventCode); // GENERIC!
2801 
2809  AJA_VIRTUAL bool UnsubscribeOutputVerticalEvent (const NTV2Channel inChannel);
2810 
2818  AJA_VIRTUAL bool UnsubscribeOutputVerticalEvent (const NTV2ChannelSet & inChannels);
2819 
2827  AJA_VIRTUAL bool UnsubscribeInputVerticalEvent (const NTV2Channel inChannel = NTV2_CHANNEL1);
2828 
2836  AJA_VIRTUAL bool UnsubscribeInputVerticalEvent (const NTV2ChannelSet & inChannels);
2837 
2838 
2839  //
2840  // Get interrupt counts
2841  //
2849  AJA_VIRTUAL bool GetOutputVerticalInterruptCount (ULWord & outCount, const NTV2Channel inChannel = NTV2_CHANNEL1);
2850 
2858  AJA_VIRTUAL bool GetInputVerticalInterruptCount (ULWord & outCount, const NTV2Channel inChannel = NTV2_CHANNEL1);
2859 
2867  AJA_VIRTUAL bool GetOutputVerticalEventCount (ULWord & outCount, const NTV2Channel inChannel = NTV2_CHANNEL1);
2868 
2876  AJA_VIRTUAL bool GetInputVerticalEventCount (ULWord & outCount, const NTV2Channel inChannel = NTV2_CHANNEL1);
2877 
2885  AJA_VIRTUAL bool SetOutputVerticalEventCount (const ULWord inCount, const NTV2Channel inChannel = NTV2_CHANNEL1);
2886 
2894  AJA_VIRTUAL bool SetInputVerticalEventCount (const ULWord inCount, const NTV2Channel inChannel = NTV2_CHANNEL1);
2895 
2896  //
2897  // Current field ID
2898  //
2899 
2906  AJA_VIRTUAL bool GetOutputFieldID (const NTV2Channel inChannel, NTV2FieldID & outFieldID);
2907 
2914  AJA_VIRTUAL bool GetInputFieldID (const NTV2Channel inChannel, NTV2FieldID & outFieldID);
2915 
2916  //
2917  // Wait for event
2918  //
2940  AJA_VIRTUAL bool WaitForOutputVerticalInterrupt (const NTV2Channel inChannel = NTV2_CHANNEL1, UWord inRepeatCount = 1);
2941 
2963  AJA_VIRTUAL bool WaitForOutputFieldID (const NTV2FieldID inFieldID, const NTV2Channel inChannel = NTV2_CHANNEL1);
2964 
2983  AJA_VIRTUAL bool WaitForInputVerticalInterrupt (const NTV2Channel inChannel = NTV2_CHANNEL1, UWord inRepeatCount = 1);
2984 
3005  AJA_VIRTUAL bool WaitForInputFieldID (const NTV2FieldID inFieldID, const NTV2Channel inChannel = NTV2_CHANNEL1);
3006 
3007  //
3008  // RegisterAccess Control
3009  //
3018  AJA_VIRTUAL bool SetRegisterWriteMode (const NTV2RegisterWriteMode inValue, const NTV2Channel inFrameStore = NTV2_CHANNEL1);
3019 
3028  AJA_VIRTUAL bool GetRegisterWriteMode (NTV2RegisterWriteMode & outValue, const NTV2Channel inFrameStore = NTV2_CHANNEL1);
3029 
3030  #if !defined (NTV2_DEPRECATE_16_0)
3031  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool SetRegisterWritemode(NTV2RegisterWriteMode inVal, const NTV2Channel inChan=NTV2_CHANNEL1)) {return SetRegisterWriteMode(inVal,inChan);}
3032  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool GetRegisterWritemode(NTV2RegisterWriteMode & outVal, const NTV2Channel inChan=NTV2_CHANNEL1)) {return SetRegisterWriteMode(outVal,inChan);}
3033  #endif // NTV2_DEPRECATE_16_0
3034 
3036  AJA_VIRTUAL NTV2_SHOULD_BE_DEPRECATED(bool SetForce64(ULWord force64));
3037  AJA_VIRTUAL NTV2_SHOULD_BE_DEPRECATED(bool GetForce64(ULWord* force64));
3038  AJA_VIRTUAL NTV2_SHOULD_BE_DEPRECATED(bool Get64BitAutodetect(ULWord* autodetect64));
3039 
3043  AJA_VIRTUAL NTV2_SHOULD_BE_DEPRECATED(bool GetFrameStamp (NTV2Crosspoint channelSpec, ULWord frameNum, FRAME_STAMP_STRUCT* pFrameStamp));
3045  AJA_VIRTUAL NTV2_SHOULD_BE_DEPRECATED(bool GetAutoCirculate (NTV2Crosspoint channelSpec, AUTOCIRCULATE_STATUS_STRUCT* autoCirculateStatus));
3046 
3047 
3091  AJA_VIRTUAL bool AutoCirculateInitForInput ( const NTV2Channel inChannel,
3092  const UWord inFrameCount = 7,
3093  const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_INVALID,
3094  const ULWord inOptionFlags = 0,
3095  const UByte inNumChannels = 1,
3096  const UWord inStartFrameNumber = 0,
3097  const UWord inEndFrameNumber = 0);
3098 
3141  AJA_VIRTUAL bool AutoCirculateInitForOutput (const NTV2Channel inChannel,
3142  const UWord inFrameCount = 7,
3143  const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_INVALID,
3144  const ULWord inOptionFlags = 0,
3145  const UByte inNumChannels = 1,
3146  const UWord inStartFrameNumber = 0,
3147  const UWord inEndFrameNumber = 0);
3148 
3180  AJA_VIRTUAL bool AutoCirculateStart (const NTV2Channel inChannel, const ULWord64 inStartTime = 0);
3181 
3197  AJA_VIRTUAL bool AutoCirculateStop (const NTV2Channel inChannel, const bool inAbort = false);
3198 
3207  AJA_VIRTUAL bool AutoCirculateStop (const NTV2ChannelSet & inChannels, const bool inAbort = false); // New in SDK 17.0
3208 
3220  AJA_VIRTUAL bool AutoCirculatePause (const NTV2Channel inChannel, const UWord inAtFrameNum = 0xFFFF); // Added inAtFrameNum in SDK 16.2
3221 
3233  AJA_VIRTUAL bool AutoCirculateResume (const NTV2Channel inChannel, const bool inClearDropCount = false);
3234 
3250  AJA_VIRTUAL bool AutoCirculateFlush (const NTV2Channel inChannel, const bool inClearDropCount = false);
3251 
3268  AJA_VIRTUAL bool AutoCirculatePreRoll (const NTV2Channel inChannel, const ULWord inPreRollFrames);
3269 
3281  AJA_VIRTUAL bool AutoCirculateGetStatus (const NTV2Channel inChannel, AUTOCIRCULATE_STATUS & outStatus);
3282 
3283 
3300  AJA_VIRTUAL bool AutoCirculateGetFrameStamp (const NTV2Channel inChannel, const ULWord inFrameNumber, FRAME_STAMP & outFrameInfo);
3301 
3317  AJA_VIRTUAL bool AutoCirculateSetActiveFrame (const NTV2Channel inChannel, const ULWord inNewActiveFrame);
3318 
3355  AJA_VIRTUAL bool AutoCirculateTransfer (const NTV2Channel inChannel, AUTOCIRCULATE_TRANSFER & transferInfo);
3356 
3375  AJA_VIRTUAL bool FindUnallocatedFrames (const UWord inFrameCount, LWord & outStartFrame, LWord & outEndFrame,
3376  const NTV2Channel inFrameStore = NTV2_CHANNEL_INVALID);
3378 
3382 #define NTV2_STREAM_SUCCESS(__status__) (__status__ == NTV2_STREAM_SUCCESS)
3384 #define NTV2_STREAM_FAIL(__status__) (__status__ != NTV2_STREAM_SUCCESS)
3385 
3391  AJA_VIRTUAL ULWord StreamChannelInitialize (const NTV2Channel inChannel);
3392 
3397  AJA_VIRTUAL ULWord StreamChannelRelease (const NTV2Channel inChannel);
3398 
3405  AJA_VIRTUAL ULWord StreamChannelStart (const NTV2Channel inChannel,
3406  NTV2StreamChannel& status);
3407 
3414  AJA_VIRTUAL ULWord StreamChannelStop (const NTV2Channel inChannel,
3415  NTV2StreamChannel& status);
3416 
3423  AJA_VIRTUAL ULWord StreamChannelFlush (const NTV2Channel inChannel,
3424  NTV2StreamChannel& status);
3425 
3431  AJA_VIRTUAL ULWord StreamChannelStatus (const NTV2Channel inChannel,
3432  NTV2StreamChannel& status);
3433 
3439  AJA_VIRTUAL ULWord StreamChannelWait (const NTV2Channel inChannel,
3440  NTV2StreamChannel& status);
3441 
3448  AJA_VIRTUAL ULWord StreamBufferQueue (const NTV2Channel inChannel,
3449  NTV2Buffer& inBuffer,
3450  ULWord64 bufferCookie,
3451  NTV2StreamBuffer& status);
3452 
3458  AJA_VIRTUAL ULWord StreamBufferRelease (const NTV2Channel inChannel,
3459  NTV2StreamBuffer& status);
3460 
3466  AJA_VIRTUAL ULWord StreamBufferStatus (const NTV2Channel inChannel,
3467  ULWord64 bufferCookie,
3468  NTV2StreamBuffer& status);
3470 
3471 
3472 #if defined(READREGMULTICHANGE)
3473 
3483  AJA_VIRTUAL bool ReadRegisters (const NTV2RegNumSet & inRegNums, NTV2RegisterValueMap & outValues);
3484 #endif // defined(READREGMULTICHANGE)
3485 
3493  AJA_VIRTUAL bool BankSelectReadRegister (const NTV2RegInfo & inBankSelect, NTV2RegInfo & inOutRegInfo);
3494 
3501  AJA_VIRTUAL bool WriteRegisters (const NTV2RegisterWrites & inRegWrites);
3502 
3510  AJA_VIRTUAL bool BankSelectWriteRegister (const NTV2RegInfo & inBankSelect, const NTV2RegInfo & inRegInfo);
3511 
3520  AJA_VIRTUAL bool WriteVirtualData (const ULWord inTag, const void* inVirtualData, const ULWord inVirtualDataSize);
3521 
3530  AJA_VIRTUAL bool ReadVirtualData (const ULWord inTag, void* outVirtualData, const ULWord inVirtualDataSize);
3531 
3538  AJA_VIRTUAL bool ReadSDIStatistics (NTV2SDIInStatistics & outStats);
3539 
3547  AJA_VIRTUAL bool SetFrameBufferSize (const NTV2Framesize inSize);
3548 
3556  AJA_VIRTUAL bool SetFrameBufferSize (const NTV2Channel inChannel, const NTV2Framesize inValue);
3557 
3565  AJA_VIRTUAL bool GetFrameBufferSize (const NTV2Channel inChannel, NTV2Framesize & outValue);
3566  using CNTV2DriverInterface::GetFrameBufferSize; // Keep CNTV2DriverInterface::GetFrameBufferSize visible after being shadowed by CNTV2Card::GetFrameBufferSize
3567 
3573  AJA_VIRTUAL bool IsBufferSizeSetBySW (void);
3574 
3582  AJA_VIRTUAL bool DisableChannel (const NTV2Channel inChannel);
3583 
3591  AJA_VIRTUAL bool DisableChannels (const NTV2ChannelSet & inChannels);
3592 
3600  AJA_VIRTUAL bool EnableChannel (const NTV2Channel inChannel);
3601 
3612  AJA_VIRTUAL bool EnableChannels (const NTV2ChannelSet & inChannels, const bool inDisableOthers = false);
3613 
3621  AJA_VIRTUAL bool IsChannelEnabled (const NTV2Channel inChannel, bool & outEnabled);
3622 
3629  AJA_VIRTUAL bool GetEnabledChannels (NTV2ChannelSet & outChannels); // New in SDK 16.3
3630 
3637  AJA_VIRTUAL bool GetDisabledChannels (NTV2ChannelSet & outChannels); // New in SDK 16.3
3638 
3639  AJA_VIRTUAL bool SetVideoDACMode (NTV2VideoDACMode inValue);
3640  AJA_VIRTUAL bool GetVideoDACMode (NTV2VideoDACMode & outValue);
3641 
3642 
3646  AJA_VIRTUAL bool GetNominalMinMaxHV (int & outNominalH, int & outMinH, int & outMaxH, int & outNominalV, int & outMinV, int & outMaxV);
3648 
3660  AJA_VIRTUAL bool SetVideoHOffset (const int inHOffset, const UWord inOutputSpigot = 0);
3661 
3672  AJA_VIRTUAL bool GetVideoHOffset (int & outHOffset, const UWord inOutputSpigot = 0);
3673 
3685  AJA_VIRTUAL bool SetVideoVOffset (const int inVOffset, const UWord inOutputSpigot = 0);
3686 
3697  AJA_VIRTUAL bool GetVideoVOffset (int & outVOffset, const UWord inOutputSpigot = 0);
3698 
3699  AJA_VIRTUAL bool SetAnalogOutHTiming (ULWord inValue);
3700  AJA_VIRTUAL bool GetAnalogOutHTiming (ULWord & outValue);
3701 
3716  AJA_VIRTUAL bool WriteOutputTimingControl (const ULWord inValue, const UWord inOutputSpigot = 0);
3717 
3728  AJA_VIRTUAL bool ReadOutputTimingControl (ULWord & outValue, const UWord inOutputSpigot = 0);
3729 
3730  AJA_VIRTUAL NTV2_SHOULD_BE_DEPRECATED(bool SetSDI1OutHTiming (ULWord value));
3731  AJA_VIRTUAL NTV2_SHOULD_BE_DEPRECATED(bool GetSDI1OutHTiming(ULWord* value));
3732  AJA_VIRTUAL NTV2_SHOULD_BE_DEPRECATED(bool SetSDI2OutHTiming (ULWord value));
3733  AJA_VIRTUAL NTV2_SHOULD_BE_DEPRECATED(bool GetSDI2OutHTiming(ULWord* value));
3735 
3739  /*
3741  @brief Sets the VPID payload value(s) for each link of the given 3G SDI output.
3742  @param[in] inValueA Specifies the "Link A" VPID value to be embedded in the "A" link output signal.
3743  @param[in] inValueB Specifies the "Link B" VPID value to be embedded in the "B" link output signal.
3744  @param[in] inOutputSpigot Specifies the SDI output connector of interest as a zero-based index value.
3745  Defaults to zero, the first SDI output connector.
3746  @return True if successful; otherwise false.
3747  */
3748  AJA_VIRTUAL bool SetSDIOutVPID (const ULWord inValueA, const ULWord inValueB, const UWord inOutputSpigot = NTV2_CHANNEL1);
3749 
3750  /*
3751  @brief Answers with the VPID payload value(s) that are currently being embedded for each link of the given 3G SDI output.
3752  @param[out] outValueA Receives the VPID payload value currently being embedded in the "A" link output signal.
3753  @param[out] outValueB Receives the VPID payload value currently being embedded in the "B" link output signal.
3754  @param[in] inOutputSpigot Specifies the SDI output connector of interest as a zero-based index value.
3755  Defaults to zero, the first SDI output connector.
3756  @return True if successful; otherwise false.
3757  */
3758  AJA_VIRTUAL bool GetSDIOutVPID (ULWord & outValueA, ULWord & outValueB, const UWord inOutputSpigot = NTV2_CHANNEL1);
3759 
3760  /*
3761  @brief Reads the latest received VPID payload value(s) for each link of the given SDI input.
3762  @param[in] inSDIInput Specifies the 3G SDI input connector as an ::NTV2Channel, a zero-based index value.
3763  @param[out] outValueA Receives the "Link A" VPID payload value -- or zero if VPID was not present.
3764  @param[out] outValueB Receives the "Link B" VPID payload value -- or zero if VPID was not present.
3765  @return True if successful; otherwise false.
3766  */
3767  AJA_VIRTUAL bool ReadSDIInVPID (const NTV2Channel inSDIInput, ULWord & outValueA, ULWord & outValueB);
3768 
3773  AJA_VIRTUAL bool GetVPIDValidA (const NTV2Channel inChannel);
3774 
3779  AJA_VIRTUAL bool GetVPIDValidB (const NTV2Channel inChannel);
3781 
3788  AJA_VIRTUAL bool SetSDIOutputStandard (const UWord inOutputSpigot, const NTV2Standard inValue);
3789 
3797  AJA_VIRTUAL bool SetSDIOutputStandard (const NTV2ChannelSet & inSDIOutputs, const NTV2Standard inValue); // New in SDK v16.0
3798 
3805  AJA_VIRTUAL bool GetSDIOutputStandard (const UWord inOutputSpigot, NTV2Standard & outValue);
3806 
3807 
3811  AJA_VIRTUAL bool SetUpConvertMode (const NTV2UpConvertMode inValue);
3813  AJA_VIRTUAL bool GetUpConvertMode (NTV2UpConvertMode & outValue);
3814  AJA_VIRTUAL bool SetConverterOutStandard (const NTV2Standard inValue);
3815  AJA_VIRTUAL bool GetConverterOutStandard (NTV2Standard & outValue);
3816  AJA_VIRTUAL bool SetConverterOutRate (const NTV2FrameRate inValue);
3817  AJA_VIRTUAL bool GetConverterOutRate (NTV2FrameRate & outValue);
3818  AJA_VIRTUAL bool SetConverterInStandard (const NTV2Standard inValue);
3819  AJA_VIRTUAL bool GetConverterInStandard (NTV2Standard & outValue);
3820  AJA_VIRTUAL bool SetConverterInRate (const NTV2FrameRate inValue);
3821  AJA_VIRTUAL bool GetConverterInRate (NTV2FrameRate & outValue);
3822  AJA_VIRTUAL bool SetConverterPulldown (const ULWord inValue);
3823  AJA_VIRTUAL bool GetConverterPulldown (ULWord & outValue);
3824  AJA_VIRTUAL bool SetUCPassLine21 (const ULWord inValue);
3825  AJA_VIRTUAL bool GetUCPassLine21 (ULWord & outValue);
3826  AJA_VIRTUAL bool SetUCAutoLine21 (const ULWord inValue);
3827  AJA_VIRTUAL bool GetUCAutoLine21 (ULWord & outValue);
3828 
3829  AJA_VIRTUAL bool SetDownConvertMode (const NTV2DownConvertMode inValue);
3830  AJA_VIRTUAL bool GetDownConvertMode (NTV2DownConvertMode & outValue);
3831  AJA_VIRTUAL bool SetIsoConvertMode (const NTV2IsoConvertMode inValue);
3832  AJA_VIRTUAL bool GetIsoConvertMode (NTV2IsoConvertMode & outValue);
3833  AJA_VIRTUAL bool SetEnableConverter (const bool inValue);
3834  AJA_VIRTUAL bool GetEnableConverter (bool & outValue);
3835  AJA_VIRTUAL bool SetDeinterlaceMode (const ULWord inValue);
3836  AJA_VIRTUAL bool GetDeinterlaceMode (ULWord & outValue);
3837 
3838  AJA_VIRTUAL bool SetConversionMode (const NTV2ConversionMode inConversionMode);
3839  AJA_VIRTUAL bool GetConversionMode (NTV2ConversionMode & outConversionMode);
3841 
3845 
3855  AJA_VIRTUAL bool SetColorSpaceMethod (const NTV2ColorSpaceMethod inCSCMethod, const NTV2Channel inChannel);
3856 
3865  AJA_VIRTUAL bool GetColorSpaceMethod (NTV2ColorSpaceMethod & outMethod, const NTV2Channel inChannel = NTV2_CHANNEL1);
3866 
3875  AJA_VIRTUAL bool SetColorSpaceMatrixSelect (const NTV2ColorSpaceMatrixType inType, const NTV2Channel inChannel = NTV2_CHANNEL1);
3876 
3885  AJA_VIRTUAL bool GetColorSpaceMatrixSelect (NTV2ColorSpaceMatrixType & outType, const NTV2Channel inChannel = NTV2_CHANNEL1);
3886 
3896  AJA_VIRTUAL bool DownloadLUTToHW (const NTV2DoubleArray & inRedLUT, const NTV2DoubleArray & inGreenLUT, const NTV2DoubleArray & inBlueLUT,
3897  const NTV2Channel inLUT, const int inBank);
3898  AJA_VIRTUAL bool Download12BitLUTToHW (const NTV2DoubleArray & inRedLUT, const NTV2DoubleArray & inGreenLUT, const NTV2DoubleArray & inBlueLUT,
3899  const NTV2Channel inLUT, const int inBank);
3900 
3910  AJA_VIRTUAL bool DownloadLUTToHW (const UWordSequence & inRedLUT, const UWordSequence & inGreenLUT, const UWordSequence & inBlueLUT,
3911  const NTV2Channel inLUT, const int inBank);
3912  AJA_VIRTUAL bool Download12BitLUTToHW (const UWordSequence & inRedLUT, const UWordSequence & inGreenLUT, const UWordSequence & inBlueLUT,
3913  const NTV2Channel inLUT, const int inBank);
3914 
3922  AJA_VIRTUAL bool SetLUTEnable (const bool inEnable, const NTV2Channel inLUT);
3923 
3924  static bool GenerateGammaTable (const NTV2LutType inLUTType, const int inBank, NTV2DoubleArray & outTable, const NTV2LutBitDepth inBitDepth = NTV2_LUT10Bit);
3925  static bool GenerateGammaTable (const NTV2LutType inLUTType, const int inBank, UWordSequence & outTable, const NTV2LutBitDepth inBitDepth = NTV2_LUT10Bit);
3926 
3936  AJA_VIRTUAL bool LoadLUTTables (const NTV2DoubleArray & inRedLUT, const NTV2DoubleArray & inGreenLUT, const NTV2DoubleArray & inBlueLUT);
3937  AJA_VIRTUAL bool Load12BitLUTTables (const NTV2DoubleArray & inRedLUT, const NTV2DoubleArray & inGreenLUT, const NTV2DoubleArray & inBlueLUT);
3938 
3948  AJA_VIRTUAL bool WriteLUTTables (const UWordSequence & inRedLUT, const UWordSequence & inGreenLUT, const UWordSequence & inBlueLUT);
3949  AJA_VIRTUAL bool Write12BitLUTTables (const UWordSequence & inRedLUT, const UWordSequence & inGreenLUT, const UWordSequence & inBlueLUT);
3950 
3960  AJA_VIRTUAL bool GetLUTTables (NTV2DoubleArray & outRedLUT, NTV2DoubleArray & outGreenLUT, NTV2DoubleArray & outBlueLUT);
3961  AJA_VIRTUAL bool Get12BitLUTTables (NTV2DoubleArray & outRedLUT, NTV2DoubleArray & outGreenLUT, NTV2DoubleArray & outBlueLUT);
3962 
3972  AJA_VIRTUAL bool ReadLUTTables (UWordSequence & outRedLUT, UWordSequence & outGreenLUT, UWordSequence & outBlueLUT);
3973  AJA_VIRTUAL bool Read12BitLUTTables (UWordSequence & outRedLUT, UWordSequence & outGreenLUT, UWordSequence & outBlueLUT);
3974 
3975  AJA_VIRTUAL bool SetLUTV2HostAccessBank (const NTV2ColorCorrectionHostAccessBank inValue);
3976  AJA_VIRTUAL bool GetLUTV2HostAccessBank (NTV2ColorCorrectionHostAccessBank & outValue, const NTV2Channel inChannel);
3977 
3978  AJA_VIRTUAL bool SetLUTV3HostAccessBank (const NTV2ColorCorrectionHostAccessBank inValue);
3979  AJA_VIRTUAL bool GetLUTV3HostAccessBank (NTV2ColorCorrectionHostAccessBank & outValue, const NTV2Channel inChannel);
3980 
3981  AJA_VIRTUAL bool SetLUTV2OutputBank (const NTV2Channel inLUTWidget, const ULWord inBank);
3982  AJA_VIRTUAL bool GetLUTV2OutputBank (const NTV2Channel inLUTWidget, ULWord & outBank);
3983 
3984  AJA_VIRTUAL bool SetLUTV3OutputBank (const NTV2Channel inLUTWidget, const ULWord inBank);
3985  AJA_VIRTUAL bool GetLUTV3OutputBank (const NTV2Channel inLUTWidget, ULWord & outBank);
3986 
3987  AJA_VIRTUAL bool Has12BitLUTSupport (const NTV2Channel inChannel = NTV2_CHANNEL1);
3988 
3994  AJA_VIRTUAL bool Set12BitLUTPlaneSelect (const NTV2LUTPlaneSelect inLUTPlane, const NTV2Channel inChannel = NTV2_MAX_NUM_CHANNELS);
3995 
4001  AJA_VIRTUAL bool Get12BitLUTPlaneSelect (NTV2LUTPlaneSelect & outLUTPlane, const NTV2Channel inChannel = NTV2_MAX_NUM_CHANNELS);
4002 
4012  AJA_VIRTUAL bool SetColorSpaceRGBBlackRange (const NTV2_CSC_RGB_Range inRange, const NTV2Channel inChannel = NTV2_CHANNEL1);
4013 
4023  AJA_VIRTUAL bool GetColorSpaceRGBBlackRange (NTV2_CSC_RGB_Range & outRange, const NTV2Channel inChannel = NTV2_CHANNEL1);
4024 
4025  AJA_VIRTUAL bool SetColorSpaceUseCustomCoefficient (const ULWord inUseCustomCoefficient, const NTV2Channel inChannel = NTV2_CHANNEL1);
4026  AJA_VIRTUAL bool GetColorSpaceUseCustomCoefficient (ULWord & outUseCustomCoefficient, const NTV2Channel inChannel = NTV2_CHANNEL1);
4027 
4038  AJA_VIRTUAL bool SetColorSpaceMakeAlphaFromKey (const bool inMakeAlphaFromKey, const NTV2Channel inChannel = NTV2_CHANNEL1);
4039 
4050  AJA_VIRTUAL bool GetColorSpaceMakeAlphaFromKey (ULWord & outMakeAlphaFromKey, const NTV2Channel inChannel = NTV2_CHANNEL1);
4051 
4067  AJA_VIRTUAL bool GetColorSpaceVideoKeySyncFail (bool & outVideoKeySyncFail, const NTV2Channel inChannel = NTV2_CHANNEL1);
4068 
4069  AJA_VIRTUAL bool SetColorSpaceCustomCoefficients (const NTV2CSCCustomCoeffs & inCustomCoefficients, const NTV2Channel inChannel = NTV2_CHANNEL1);
4070  AJA_VIRTUAL bool GetColorSpaceCustomCoefficients (NTV2CSCCustomCoeffs & outCustomCoefficients, const NTV2Channel inChannel = NTV2_CHANNEL1);
4071 
4072  AJA_VIRTUAL bool SetColorSpaceCustomCoefficients12Bit (const NTV2CSCCustomCoeffs & inCustomCoefficients, const NTV2Channel inChannel = NTV2_CHANNEL1);
4073  AJA_VIRTUAL bool GetColorSpaceCustomCoefficients12Bit (NTV2CSCCustomCoeffs & outCustomCoefficients, const NTV2Channel inChannel = NTV2_CHANNEL1);
4074 
4075  AJA_VIRTUAL bool SetLUTControlSelect (const NTV2LUTControlSelect inLUTSelect);
4076  AJA_VIRTUAL bool GetLUTControlSelect (NTV2LUTControlSelect & outLUTSelect);
4077 
4078  //
4079  // Color Correction Functions (KHD only )
4080  //
4081  AJA_VIRTUAL bool SetColorCorrectionMode(const NTV2Channel inChannel, const NTV2ColorCorrectionMode inMode);
4082  AJA_VIRTUAL bool GetColorCorrectionMode(const NTV2Channel inChannel, NTV2ColorCorrectionMode & outMode);
4083 
4091  AJA_VIRTUAL bool SetColorCorrectionOutputBank (const NTV2Channel inLUTWidget, const ULWord inBank);
4092 
4100  AJA_VIRTUAL bool GetColorCorrectionOutputBank (const NTV2Channel inLUTWidget, ULWord & outBank);
4101 
4102  AJA_VIRTUAL bool SetColorCorrectionHostAccessBank (const NTV2ColorCorrectionHostAccessBank inValue);
4103  AJA_VIRTUAL bool GetColorCorrectionHostAccessBank (NTV2ColorCorrectionHostAccessBank & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
4104 
4105  AJA_VIRTUAL bool SetColorCorrectionSaturation (const NTV2Channel inChannel, const ULWord inValue);
4106  AJA_VIRTUAL bool GetColorCorrectionSaturation (const NTV2Channel inChannel, ULWord & outValue);
4107 
4108  AJA_VIRTUAL bool SetDitherFor8BitInputs (const NTV2Channel inChannel, const ULWord inDither);
4109  AJA_VIRTUAL bool GetDitherFor8BitInputs (const NTV2Channel inChannel, ULWord & outDither);
4110 
4111  // Old APIs
4112  static NTV2_SHOULD_BE_DEPRECATED(bool GenerateGammaTable (const NTV2LutType inLUTType, const int inBank, double * pOutTable));
4113  AJA_VIRTUAL NTV2_SHOULD_BE_DEPRECATED(NTV2ColorSpaceMethod GetColorSpaceMethod (const NTV2Channel inChannel));
4114  AJA_VIRTUAL NTV2_SHOULD_BE_DEPRECATED(bool DownloadLUTToHW(const double * pInTable, const NTV2Channel inChannel, const int inBank));
4115  AJA_VIRTUAL NTV2_SHOULD_BE_DEPRECATED(bool LoadLUTTable (const double * pInTable));
4117 
4118 
4119  AJA_VIRTUAL bool SetSecondaryVideoFormat(NTV2VideoFormat inFormat); // RETAIL USE ONLY
4120  AJA_VIRTUAL bool GetSecondaryVideoFormat(NTV2VideoFormat & outFormat); // RETAIL USE ONLY
4121 
4122  #if !defined(R2_DEPRECATE)
4123  AJA_VIRTUAL bool SetInputVideoSelect (NTV2InputVideoSelect inInputSelect); // RETAIL USE ONLY
4124  AJA_VIRTUAL bool GetInputVideoSelect(NTV2InputVideoSelect & outInputSelect); // RETAIL USE ONLY
4125  #endif
4126 
4127  // --------------------------------------------
4128  // GetNTV2VideoFormat functions
4129  // @deprecated These static functions don't work correctly, and will be deprecated.
4130  // For a given frame rate, geometry and transport, there may be 2 (or more!) possible matching video formats.
4131  // The improved GetNTV2VideoFormat function may return a new CNTV2SDIVideoInfo object that can be interrogated about many things.
4132  // @note This function originated in CNTV2Status.
4133  static NTV2VideoFormat GetNTV2VideoFormat (NTV2FrameRate frameRate, UByte inputGeometry, bool progressiveTransport, bool isThreeG, bool progressivePicture=false);
4134  static NTV2VideoFormat GetNTV2VideoFormat (NTV2FrameRate frameRate, NTV2Standard standard, bool isThreeG, UByte inputGeometry=0, bool progressivePicture=false, bool isSquareDivision = true);
4135  // --------------------------------------------
4136 
4137 public:
4149  AJA_VIRTUAL NTV2VideoFormat GetInputVideoFormat (const NTV2InputSource inVideoSource = NTV2_INPUTSOURCE_SDI1, const bool inIsProgressive = false);
4150 
4162  AJA_VIRTUAL NTV2VideoFormat GetSDIInputVideoFormat (NTV2Channel inChannel, bool inIsProgressive = false);
4163 
4169  AJA_VIRTUAL NTV2VideoFormat GetHDMIInputVideoFormat (NTV2Channel inHDMIInput = NTV2_CHANNEL1);
4170 
4175  AJA_VIRTUAL NTV2VideoFormat GetAnalogInputVideoFormat (void);
4176 
4181  AJA_VIRTUAL NTV2VideoFormat GetAnalogCompositeInputVideoFormat (void);
4182 
4192  AJA_VIRTUAL NTV2VideoFormat GetReferenceVideoFormat (void);
4193 
4194  AJA_VIRTUAL NTV2FrameRate GetSDIInputRate (const NTV2Channel channel);
4195  AJA_VIRTUAL NTV2FrameGeometry GetSDIInputGeometry (const NTV2Channel channel);
4196  AJA_VIRTUAL bool GetSDIInputIsProgressive (const NTV2Channel channel);
4197 
4198  AJA_VIRTUAL bool GetSDIInput3GPresent (bool & outValue, const NTV2Channel channel);
4199  AJA_VIRTUAL bool GetSDIInput3GbPresent (bool & outValue, const NTV2Channel channel);
4200  AJA_VIRTUAL bool GetSDIInput6GPresent (bool & outValue, const NTV2Channel channel);
4201  AJA_VIRTUAL bool GetSDIInput12GPresent (bool & outValue, const NTV2Channel channel);
4202 
4206 
4216  AJA_VIRTUAL bool GetConnectedOutput (const NTV2InputCrosspointID inInputXpt, NTV2OutputCrosspointID & outOutputXpt);
4217 
4227  AJA_VIRTUAL bool GetConnectedInput (const NTV2OutputCrosspointID inOutputXpt, NTV2InputCrosspointID & outInputXpt);
4228 
4237  AJA_VIRTUAL bool GetConnectedInputs (const NTV2OutputCrosspointID inOutputXpt, NTV2InputCrosspointIDSet & outInputXpts); // New in SDK 15.5
4238 
4250  AJA_VIRTUAL bool Connect (const NTV2InputCrosspointID inInputXpt, const NTV2OutputCrosspointID inOutputXpt, const bool inValidate = false);
4251 
4261  AJA_VIRTUAL bool Connect (const NTV2XptConnection & inConnection, const bool inValidate = false);
4262 
4269  AJA_VIRTUAL bool Disconnect (const NTV2InputCrosspointID inInputXpt);
4270 
4279  AJA_VIRTUAL bool IsConnected (const NTV2InputCrosspointID inInputXpt, bool & outIsConnected);
4280 
4290  AJA_VIRTUAL bool IsConnected (const NTV2XptConnection inConnection, bool & outIsConnected);
4291 
4300  AJA_VIRTUAL bool IsConnectedTo (const NTV2InputCrosspointID inInputXpt, const NTV2OutputCrosspointID inOutputXpt, bool & outIsConnected);
4301 
4311  AJA_VIRTUAL bool CanConnect (const NTV2InputCrosspointID inInputXpt, const NTV2OutputCrosspointID inOutputXpt, bool & outCanConnect);
4312 
4321  AJA_VIRTUAL bool CanConnect (const NTV2XptConnection & inConnection, bool & outCanConnect);
4322 
4331  AJA_VIRTUAL bool SupportedOutputXptsForInputXpt (const NTV2InputXptID inInputXptID, NTV2OutputXptIDSet & outOutputXpts);
4332 
4333 
4352  AJA_VIRTUAL bool ApplySignalRoute (const CNTV2SignalRouter & inRouter, const bool inReplace = false);
4353 
4354 
4373  AJA_VIRTUAL bool ApplySignalRoute (const NTV2XptConnections & inConnections, const bool inReplace = false);
4374 
4381  AJA_VIRTUAL bool RemoveConnections (const NTV2XptConnections & inConnections);
4382 
4390  AJA_VIRTUAL bool ClearRouting (void);
4391 
4398  AJA_VIRTUAL bool GetRouting (CNTV2SignalRouter & outRouting);
4399 
4406  AJA_VIRTUAL bool GetConnections (NTV2XptConnections & outConnections); // New in SDK 16.0
4407 
4415  AJA_VIRTUAL bool GetRoutingForChannel (const NTV2Channel inChannel, CNTV2SignalRouter & outRouting);
4416 
4417 #if !defined(NTV2_DEPRECATE_17_0)
4418  AJA_VIRTUAL inline NTV2_SHOULD_BE_DEPRECATED(bool HasCanConnectROM(void)) {return IsSupported(kDeviceHasXptConnectROM);}
4419 #endif // !defined(NTV2_DEPRECATE_17_0)
4420 
4425  AJA_VIRTUAL bool GetPossibleConnections (NTV2PossibleConnections & outConnections);
4427 
4428 
4433  AJA_VIRTUAL bool WriteSDProcAmpControlsInitialized (const ULWord inNewValue = 1);
4435  AJA_VIRTUAL bool WriteSDBrightnessAdjustment (const ULWord inNewValue);
4436  AJA_VIRTUAL bool WriteSDContrastAdjustment (const ULWord inNewValue);
4437  AJA_VIRTUAL bool WriteSDSaturationAdjustment (const ULWord inNewValue);
4438  AJA_VIRTUAL bool WriteSDHueAdjustment (const ULWord inNewValue);
4439  AJA_VIRTUAL bool WriteSDCbOffsetAdjustment (const ULWord inNewValue);
4440  AJA_VIRTUAL bool WriteSDCrOffsetAdjustment (const ULWord inNewValue);
4441  AJA_VIRTUAL bool WriteHDProcAmpControlsInitialized (const ULWord inNewValue = 1);
4442  AJA_VIRTUAL bool WriteHDBrightnessAdjustment (const ULWord inNewValue);
4443  AJA_VIRTUAL bool WriteHDContrastAdjustment (const ULWord inNewValue);
4444  AJA_VIRTUAL bool WriteHDSaturationAdjustmentCb (const ULWord inNewValue);
4445  AJA_VIRTUAL bool WriteHDSaturationAdjustmentCr (const ULWord inNewValue);
4446  AJA_VIRTUAL bool WriteHDCbOffsetAdjustment (const ULWord inNewValue);
4447  AJA_VIRTUAL bool WriteHDCrOffsetAdjustment (const ULWord inNewValue);
4448 
4449  AJA_VIRTUAL bool ReadSDProcAmpControlsInitialized (ULWord & outValue);
4450  AJA_VIRTUAL bool ReadSDBrightnessAdjustment (ULWord & outValue);
4451  AJA_VIRTUAL bool ReadSDContrastAdjustment (ULWord & outValue);
4452  AJA_VIRTUAL bool ReadSDSaturationAdjustment (ULWord & outValue);
4453  AJA_VIRTUAL bool ReadSDHueAdjustment (ULWord & outValue);
4454  AJA_VIRTUAL bool ReadSDCbOffsetAdjustment (ULWord & outValue);
4455  AJA_VIRTUAL bool ReadSDCrOffsetAdjustment (ULWord & outValue);
4456  AJA_VIRTUAL bool ReadHDProcAmpControlsInitialized (ULWord & outValue);
4457  AJA_VIRTUAL bool ReadHDBrightnessAdjustment (ULWord & outValue);
4458  AJA_VIRTUAL bool ReadHDContrastAdjustment (ULWord & outValue);
4459  AJA_VIRTUAL bool ReadHDSaturationAdjustmentCb (ULWord & outValue);
4460  AJA_VIRTUAL bool ReadHDSaturationAdjustmentCr (ULWord & outValue);
4461  AJA_VIRTUAL bool ReadHDCbOffsetAdjustment (ULWord & outValue);
4462  AJA_VIRTUAL bool ReadHDCrOffsetAdjustment (ULWord & outValue);
4463 
4464  // FS1 (and other?) ProcAmp methods
4465  AJA_VIRTUAL bool WriteProcAmpC1YAdjustment (const ULWord inNewValue);
4466  AJA_VIRTUAL bool WriteProcAmpC1CBAdjustment (const ULWord inNewValue);
4467  AJA_VIRTUAL bool WriteProcAmpC1CRAdjustment (const ULWord inNewValue);
4468  AJA_VIRTUAL bool WriteProcAmpC2CBAdjustment (const ULWord inNewValue);
4469  AJA_VIRTUAL bool WriteProcAmpC2CRAdjustment (const ULWord inNewValue);
4470  AJA_VIRTUAL bool WriteProcAmpOffsetYAdjustment (const ULWord inNewValue);
4471  AJA_VIRTUAL bool ReadProcAmpC1YAdjustment (ULWord & outValue);
4472  AJA_VIRTUAL bool ReadProcAmpC1CBAdjustment (ULWord & outValue);
4473  AJA_VIRTUAL bool ReadProcAmpC1CRAdjustment (ULWord & outValue);
4474  AJA_VIRTUAL bool ReadProcAmpC2CBAdjustment (ULWord & outValue);
4475  AJA_VIRTUAL bool ReadProcAmpC2CRAdjustment (ULWord & outValue);
4476  AJA_VIRTUAL bool ReadProcAmpOffsetYAdjustment (ULWord & outValue);
4477 
4478  #if !defined(R2_DEPRECATE)
4479  AJA_VIRTUAL bool SetAnalogInputADCMode (const NTV2LSVideoADCMode inValue);
4480  AJA_VIRTUAL bool GetAnalogInputADCMode (NTV2LSVideoADCMode & outValue);
4481  #endif
4482 
4484 
4488 
4495  AJA_VIRTUAL bool GetHDMIInputColor (NTV2LHIHDMIColorSpace & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
4496 
4503  AJA_VIRTUAL bool SetHDMIInputRange (const NTV2HDMIRange inNewValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
4504 
4511  AJA_VIRTUAL bool GetHDMIInputRange (NTV2HDMIRange & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
4512 
4519  AJA_VIRTUAL bool GetHDMIInputAudioChannels (NTV2HDMIAudioChannels & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
4520 
4527  AJA_VIRTUAL bool SetHDMIInColorSpace (const NTV2HDMIColorSpace inNewValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
4528 
4535  AJA_VIRTUAL bool GetHDMIInColorSpace (NTV2HDMIColorSpace & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
4536 
4543  AJA_VIRTUAL bool GetHDMIInProtocol (NTV2HDMIProtocol & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
4544 
4551  AJA_VIRTUAL bool GetHDMIInIsLocked (bool & outIsLocked, const NTV2Channel inChannel = NTV2_CHANNEL1);
4552 
4553  AJA_VIRTUAL bool SetHDMIInAudioSampleRateConverterEnable (const bool inNewValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
4554  AJA_VIRTUAL bool GetHDMIInAudioSampleRateConverterEnable (bool & outIsEnabled, const NTV2Channel inChannel = NTV2_CHANNEL1);
4555 
4562  AJA_VIRTUAL bool SetHDMIInBitDepth (const NTV2HDMIBitDepth inNewValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
4563 
4570  AJA_VIRTUAL bool GetHDMIInBitDepth (NTV2HDMIBitDepth & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
4571 
4579  AJA_VIRTUAL bool GetHDMIInAudioChannel34Swap (bool & outIsSwapped, const NTV2Channel inChannel = NTV2_CHANNEL1); // New in SDK v16.0
4580 
4588  AJA_VIRTUAL bool SetHDMIInAudioChannel34Swap (const bool inIsSwapped, const NTV2Channel inChannel = NTV2_CHANNEL1); // New in SDK v16.0
4589 
4590 
4597  AJA_VIRTUAL bool GetHDMIInVideoRange (NTV2HDMIRange & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1);
4598 
4605  AJA_VIRTUAL bool GetHDMIInDynamicRange (HDRRegValues & outRegValues, const NTV2Channel inChannel = NTV2_CHANNEL1);
4606 
4613  AJA_VIRTUAL bool GetHDMIInDynamicRange (HDRFloatValues & outFloatValues, const NTV2Channel inChannel = NTV2_CHANNEL1);
4614 
4622  AJA_VIRTUAL bool GetHDMIInColorimetry (NTV2HDMIColorimetry & outColorimetry, const NTV2Channel inChannel = NTV2_CHANNEL1); // New in SDK v16.0
4623 
4631  AJA_VIRTUAL bool GetHDMIInDolbyVision (bool & outIsDolbyVision, const NTV2Channel inChannel = NTV2_CHANNEL1); // New in SDK v16.0
4632 
4633  AJA_VIRTUAL bool SetHDMIOut3DPresent (const bool inIs3DPresent);
4634  AJA_VIRTUAL bool GetHDMIOut3DPresent (bool & outIs3DPresent);
4635 
4636  AJA_VIRTUAL bool SetHDMIOut3DMode (const NTV2HDMIOut3DMode inValue);
4637  AJA_VIRTUAL bool GetHDMIOut3DMode (NTV2HDMIOut3DMode & outValue);
4638 
4639  AJA_VIRTUAL bool SetHDMIV2TxBypass (const bool inBypass);
4640 
4641  AJA_VIRTUAL bool SetHDMIOutVideoStandard (const NTV2Standard inNewValue);
4642  AJA_VIRTUAL bool GetHDMIOutVideoStandard (NTV2Standard & outValue);
4643 
4644  AJA_VIRTUAL bool SetHDMIOutSampleStructure (const NTV2HDMISampleStructure inNewValue);
4645  AJA_VIRTUAL bool GetHDMIOutSampleStructure (NTV2HDMISampleStructure & outValue);
4646 
4647  AJA_VIRTUAL bool SetHDMIOutVideoFPS (const NTV2FrameRate inNewValue);
4648  AJA_VIRTUAL bool GetHDMIOutVideoFPS (NTV2FrameRate & outValue);
4649 
4650  AJA_VIRTUAL bool SetHDMIOutRange (const NTV2HDMIRange inNewValue);
4651  AJA_VIRTUAL bool GetHDMIOutRange (NTV2HDMIRange & outValue);
4652 
4653  AJA_VIRTUAL bool SetHDMIOutAudioChannels (const NTV2HDMIAudioChannels inNewValue);
4654  AJA_VIRTUAL bool GetHDMIOutAudioChannels (NTV2HDMIAudioChannels & outValue);
4655 
4656  AJA_VIRTUAL bool SetHDMIOutColorSpace (const NTV2HDMIColorSpace inNewValue);
4657  AJA_VIRTUAL bool GetHDMIOutColorSpace (NTV2HDMIColorSpace & outValue);
4658  AJA_VIRTUAL bool SetLHIHDMIOutColorSpace (const NTV2LHIHDMIColorSpace inNewValue);
4659  AJA_VIRTUAL bool GetLHIHDMIOutColorSpace (NTV2LHIHDMIColorSpace & outValue);
4660 
4661  AJA_VIRTUAL bool SetHDMIOutBitDepth (const NTV2HDMIBitDepth inNewValue);
4662  AJA_VIRTUAL bool GetHDMIOutBitDepth (NTV2HDMIBitDepth & outValue);
4663 
4664  AJA_VIRTUAL bool SetHDMIOutProtocol (const NTV2HDMIProtocol inNewValue);
4665  AJA_VIRTUAL bool GetHDMIOutProtocol (NTV2HDMIProtocol & outValue);
4666 
4667  AJA_VIRTUAL bool SetHDMIOutForceConfig (const bool inNewValue);
4668  AJA_VIRTUAL bool GetHDMIOutForceConfig (bool & outValue);
4669 
4670  AJA_VIRTUAL bool SetHDMIOutPrefer420 (const bool inNewValue);
4671  AJA_VIRTUAL bool GetHDMIOutPrefer420 (bool & outValue);
4672 
4673  AJA_VIRTUAL bool GetHDMIOutDownstreamBitDepth (NTV2HDMIBitDepth & outValue);
4674 
4675  AJA_VIRTUAL bool GetHDMIOutDownstreamColorSpace (NTV2LHIHDMIColorSpace & outValue);
4676 
4683  AJA_VIRTUAL bool SetHDMIOutAudioSource2Channel (const NTV2AudioChannelPair inNewValue, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
4684 
4691  AJA_VIRTUAL bool GetHDMIOutAudioSource2Channel (NTV2AudioChannelPair & outValue, NTV2AudioSystem & outAudioSystem);
4692 
4699  AJA_VIRTUAL bool SetHDMIOutAudioSource8Channel (const NTV2Audio8ChannelSelect inNewValue, const NTV2AudioSystem inAudioSystem = NTV2_AUDIOSYSTEM_1);
4700 
4707  AJA_VIRTUAL bool GetHDMIOutAudioSource8Channel (NTV2Audio8ChannelSelect & outValue, NTV2AudioSystem & outAudioSystem);
4708 
4717  AJA_VIRTUAL bool GetHDMIOutAudioChannel34Swap (bool & outIsSwapped, const NTV2Channel inWhichHDMIOut = NTV2_CHANNEL1); // New in SDK v16.0
4718 
4727  AJA_VIRTUAL bool SetHDMIOutAudioChannel34Swap (const bool inIsSwapped, const NTV2Channel inWhichHDMIOut = NTV2_CHANNEL1); // New in SDK v16.0
4728 
4734  AJA_VIRTUAL bool SetHDMIOutAudioRate (const NTV2AudioRate inNewValue);
4735 
4741  AJA_VIRTUAL bool GetHDMIOutAudioRate (NTV2AudioRate & outValue);
4742 
4748  AJA_VIRTUAL bool SetHDMIOutAudioFormat (const NTV2AudioFormat inNewValue);
4749 
4755  AJA_VIRTUAL bool GetHDMIOutAudioFormat (NTV2AudioFormat & outValue);
4756 
4762  AJA_VIRTUAL bool EnableHDMIOutUserOverride (const bool inEnable);
4763 
4769  AJA_VIRTUAL bool GetEnableHDMIOutUserOverride (bool & outIsEnabled);
4770 
4776  AJA_VIRTUAL bool EnableHDMIOutCenterCrop (const bool inEnable);
4777 
4783  AJA_VIRTUAL bool GetEnableHDMIOutCenterCrop (bool & outIsEnabled);
4784 
4792  AJA_VIRTUAL bool SetHDMIOutDecimateMode (const bool inEnable);
4793 
4794  AJA_VIRTUAL bool GetHDMIOutDecimateMode (bool & outIsEnabled);
4795 
4801  AJA_VIRTUAL bool SetHDMIOutTsiIO (const bool inTsiEnable);
4802 
4803  AJA_VIRTUAL bool GetHDMIOutTsiIO (bool & tsiEnabled);
4804 
4810  AJA_VIRTUAL bool SetHDMIOutLevelBMode (const bool inEnable);
4811 
4812  AJA_VIRTUAL bool GetHDMIOutLevelBMode (bool & outIsEnabled);
4813 
4823  AJA_VIRTUAL bool SetHDMIV2Mode (const NTV2HDMIV2Mode inMode);
4824 
4830  AJA_VIRTUAL bool GetHDMIV2Mode (NTV2HDMIV2Mode & outMode);
4831 
4832 
4838  AJA_VIRTUAL bool GetHDMIOutStatus (NTV2HDMIOutputStatus & outStatus); // New in SDK 16.1
4839 
4840  //protected: SHOULD BE PROTECTED/PRIVATE:
4841  AJA_VIRTUAL bool GetHDMIInputStatus (ULWord & outValue, const NTV2Channel inChannel = NTV2_CHANNEL1, const bool in12BitDetection = false);
4842  protected:
4843  AJA_VIRTUAL bool GetHDMIInputStatusRegNum (ULWord & outRegNum, const NTV2Channel inChannel = NTV2_CHANNEL1, const bool in12BitDetection = false);
4844 
4846  public:
4847  AJA_VIRTUAL bool SetLHIVideoDACStandard (const NTV2Standard inValue);
4848  AJA_VIRTUAL bool GetLHIVideoDACStandard (NTV2Standard & outValue);
4849  AJA_VIRTUAL bool SetLHIVideoDACMode (NTV2LHIVideoDACMode value);
4850  AJA_VIRTUAL bool GetLHIVideoDACMode (NTV2LHIVideoDACMode & outValue);
4851  AJA_VIRTUAL bool SetLHIVideoDACMode (const NTV2VideoDACMode inValue); // overloaded
4852  AJA_VIRTUAL bool GetLHIVideoDACMode (NTV2VideoDACMode & outValue); // overloaded
4853 
4857 
4868  AJA_VIRTUAL bool SetLTCInputEnable (const bool inEnable);
4869 
4880  AJA_VIRTUAL bool GetLTCInputEnable (bool & outIsEnabled);
4881 
4892  AJA_VIRTUAL bool GetLTCInputPresent (bool & outIsPresent, const UWord inLTCInputNdx = 0);
4893 
4903  AJA_VIRTUAL bool ReadAnalogLTCInput (const UWord inLTCInput, RP188_STRUCT & outRP188Data);
4904 
4914  AJA_VIRTUAL bool ReadAnalogLTCInput (const UWord inLTCInput, NTV2_RP188 & outRP188Data);
4915 
4926  AJA_VIRTUAL bool GetAnalogLTCInClockChannel (const UWord inLTCInput, NTV2Channel & outChannel);
4927 
4938  AJA_VIRTUAL bool SetAnalogLTCInClockChannel (const UWord inLTCInput, const NTV2Channel inChannel);
4939 
4949  AJA_VIRTUAL bool WriteAnalogLTCOutput (const UWord inLTCOutput, const RP188_STRUCT & inRP188Data);
4950 
4960  AJA_VIRTUAL bool WriteAnalogLTCOutput (const UWord inLTCOutput, const NTV2_RP188 & inRP188Data);
4961 
4972  AJA_VIRTUAL bool GetAnalogLTCOutClockChannel (const UWord inLTCOutput, NTV2Channel & outChannel);
4973 
4984  AJA_VIRTUAL bool SetAnalogLTCOutClockChannel (const UWord inLTCOutput, const NTV2Channel inChannel);
4985 
4986 #if !defined(NTV2_DEPRECATE_16_3)
4987  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool SetLTCOnReference(bool val)) {return SetLTCInputEnable(val);}
4988  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool GetLTCOnReference(bool & outVal)) {return GetLTCInputEnable(outVal);}
4989  AJA_VIRTUAL NTV2_DEPRECATED_f(bool SetLTCEmbeddedOutEnable (const bool inNewValue));
4990  AJA_VIRTUAL NTV2_DEPRECATED_f(bool GetLTCEmbeddedOutEnable (bool & outValue));
4991 #endif // !defined(NTV2_DEPRECATE_16_3)
4992 
4997  AJA_VIRTUAL bool SetStereoCompressorOutputMode (const NTV2StereoCompressorOutputMode inNewValue);
4999  AJA_VIRTUAL bool GetStereoCompressorOutputMode (NTV2StereoCompressorOutputMode & outValue);
5000  AJA_VIRTUAL bool SetStereoCompressorFlipMode (const ULWord inNewValue);
5001  AJA_VIRTUAL bool GetStereoCompressorFlipMode (ULWord & outValue);
5002  AJA_VIRTUAL bool SetStereoCompressorFlipLeftHorz (const ULWord inNewValue);
5003  AJA_VIRTUAL bool GetStereoCompressorFlipLeftHorz (ULWord & outValue);
5004  AJA_VIRTUAL bool SetStereoCompressorFlipLeftVert (const ULWord inNewValue);
5005  AJA_VIRTUAL bool GetStereoCompressorFlipLeftVert (ULWord & outValue);
5006  AJA_VIRTUAL bool SetStereoCompressorFlipRightHorz (const ULWord inNewValue);
5007  AJA_VIRTUAL bool GetStereoCompressorFlipRightHorz (ULWord & outValue);
5008  AJA_VIRTUAL bool SetStereoCompressorFlipRightVert (const ULWord inNewValue);
5009  AJA_VIRTUAL bool GetStereoCompressorFlipRightVert (ULWord & outValue);
5010  AJA_VIRTUAL bool SetStereoCompressorStandard (const NTV2Standard inNewValue);
5011  AJA_VIRTUAL bool GetStereoCompressorStandard (NTV2Standard & outValue);
5012  AJA_VIRTUAL bool SetStereoCompressorLeftSource (const NTV2OutputCrosspointID inNewValue);
5013  AJA_VIRTUAL bool GetStereoCompressorLeftSource (NTV2OutputCrosspointID & outValue);
5014  AJA_VIRTUAL bool SetStereoCompressorRightSource (const NTV2OutputCrosspointID inNewValue);
5015  AJA_VIRTUAL bool GetStereoCompressorRightSource (NTV2OutputCrosspointID & outValue);
5017 
5021 
5034  AJA_VIRTUAL bool SetSDITransmitEnable (const NTV2Channel inChannel, const bool inEnable);
5035 
5048  AJA_VIRTUAL bool SetSDITransmitEnable (const NTV2ChannelSet & inSDIConnectors, const bool inEnable);
5049 
5059  AJA_VIRTUAL bool GetSDITransmitEnable (const NTV2Channel inChannel, bool & outEnabled);
5060 
5070  AJA_VIRTUAL bool GetTransmitSDIs (NTV2ChannelSet & outXmitSDIs); // New in SDK 17.0
5072 
5073  AJA_VIRTUAL bool SetSDIOut2Kx1080Enable (const NTV2Channel inChannel, const bool inIsEnabled);
5074  AJA_VIRTUAL bool GetSDIOut2Kx1080Enable (const NTV2Channel inChannel, bool & outIsEnabled);
5075 
5076  AJA_VIRTUAL bool SetSDIOut3GEnable (const NTV2Channel inChannel,const bool inEnable);
5077  AJA_VIRTUAL bool GetSDIOut3GEnable (const NTV2Channel inChannel, bool & outIsEnabled);
5078 
5079  AJA_VIRTUAL bool SetSDIOut3GbEnable (const NTV2Channel inChannel, const bool inEnable);
5080  AJA_VIRTUAL bool GetSDIOut3GbEnable (const NTV2Channel inChannel, bool & outIsEnabled);
5081 
5082  AJA_VIRTUAL bool SetSDIOut6GEnable(const NTV2Channel inChannel, const bool inEnable);
5083  AJA_VIRTUAL bool GetSDIOut6GEnable(const NTV2Channel inChannel, bool & outIsEnabled);
5084 
5085  AJA_VIRTUAL bool SetSDIOut12GEnable(const NTV2Channel inChannel, const bool inEnable);
5086  AJA_VIRTUAL bool GetSDIOut12GEnable(const NTV2Channel inChannel, bool & outIsEnabled);
5087 
5100  AJA_VIRTUAL bool SetSDIOutputAudioSystem (const NTV2Channel inSDIOutputConnector, const NTV2AudioSystem inAudioSystem);
5101 
5115  AJA_VIRTUAL bool SetSDIOutputAudioSystem (const NTV2ChannelSet & inSDIOutputs, const NTV2AudioSystem inAudioSystem, const bool inDS2 = false); // New in SDK 16.2
5116 
5127  AJA_VIRTUAL bool GetSDIOutputAudioSystem (const NTV2Channel inSDIOutputConnector, NTV2AudioSystem & outAudioSystem);
5128 
5140  AJA_VIRTUAL bool SetSDIOutputDS2AudioSystem (const NTV2Channel inSDIOutputConnector, const NTV2AudioSystem inAudioSystem);
5141 
5153  AJA_VIRTUAL bool GetSDIOutputDS2AudioSystem (const NTV2Channel inSDIOutputConnector, NTV2AudioSystem & outAudioSystem);
5154 
5164  AJA_VIRTUAL bool GetSDIOutputAudioEnabled (const NTV2Channel inSDIOutput, bool & outIsEnabled); // New in SDK 17.5
5165 
5176  AJA_VIRTUAL bool SetSDIOutputAudioEnabled (const NTV2Channel inSDIOutput, const bool & inEnable); // New in SDK 17.5
5177 
5178 
5182 
5192  AJA_VIRTUAL bool GetSDIRelayPosition (NTV2RelayState & outValue, const UWord inIndex0);
5193 
5204  AJA_VIRTUAL bool GetSDIRelayManualControl (NTV2RelayState & outValue, const UWord inIndex0);
5205 
5217  AJA_VIRTUAL bool SetSDIRelayManualControl (const NTV2RelayState inValue, const UWord inIndex0);
5218 
5228  AJA_VIRTUAL bool GetSDIWatchdogEnable (bool & outIsEnabled, const UWord inIndex0);
5229 
5243  AJA_VIRTUAL bool SetSDIWatchdogEnable (const bool inEnable, const UWord inIndex0);
5244 
5252  AJA_VIRTUAL bool GetSDIWatchdogStatus (NTV2RelayState & outValue);
5253 
5260  AJA_VIRTUAL bool GetSDIWatchdogTimeout (ULWord & outValue);
5261 
5270  AJA_VIRTUAL bool SetSDIWatchdogTimeout (const ULWord inValue);
5271 
5276  AJA_VIRTUAL bool KickSDIWatchdog (void);
5278 
5282 
5289  AJA_VIRTUAL bool Enable4KDCRGBMode(bool inEnable);
5290 
5291  AJA_VIRTUAL bool GetEnable4KDCRGBMode(bool & outIsEnabled);
5292 
5299  AJA_VIRTUAL bool Enable4KDCYCC444Mode(bool inEnable);
5300 
5301  AJA_VIRTUAL bool GetEnable4KDCYCC444Mode(bool & outIsEnabled);
5302 
5309  AJA_VIRTUAL bool Enable4KDCPSFInMode(bool inEnable);
5310 
5311  AJA_VIRTUAL bool GetEnable4KDCPSFInMode(bool & outIsEnabled);
5312 
5319  AJA_VIRTUAL bool Enable4KPSFOutMode(bool inEnable);
5320 
5321  AJA_VIRTUAL bool GetEnable4KPSFOutMode(bool & outIsEnabled);
5323 
5324 
5333  AJA_VIRTUAL bool SetSDIInLevelBtoLevelAConversion (const NTV2ChannelSet & inSDIInputs, const bool inEnable);
5334 
5342  AJA_VIRTUAL bool SetSDIInLevelBtoLevelAConversion (const UWord inInputSpigot, const bool inEnable);
5343 
5350  AJA_VIRTUAL bool GetSDIInLevelBtoLevelAConversion (const UWord inInputSpigot, bool & outIsEnabled);
5351 
5359  AJA_VIRTUAL bool SetSDIOutLevelAtoLevelBConversion (const UWord inOutputSpigot, const bool inEnable);
5360 
5369  AJA_VIRTUAL bool SetSDIOutLevelAtoLevelBConversion (const NTV2ChannelSet & inSDIOutputs, const bool inEnable); // New in SDK v16.0
5370 
5377  AJA_VIRTUAL bool GetSDIOutLevelAtoLevelBConversion (const UWord inOutputSpigot, bool & outIsEnabled);
5378 
5385  AJA_VIRTUAL bool SetSDIOutRGBLevelAConversion (const UWord inOutputSpigot, const bool inEnable);
5386 
5395  AJA_VIRTUAL bool SetSDIOutRGBLevelAConversion (const NTV2ChannelSet & inSDIOutputs, const bool inEnable); // New in SDK v16.0
5396 
5403  AJA_VIRTUAL bool GetSDIOutRGBLevelAConversion (const UWord inOutputSpigot, bool & outIsEnabled);
5404 
5405 
5409 
5414  AJA_VIRTUAL bool GetSDITRSError (const NTV2Channel inChannel);
5415 
5421  AJA_VIRTUAL bool GetSDILock (const NTV2Channel inChannel);
5422 
5428  AJA_VIRTUAL ULWord GetSDIUnlockCount (const NTV2Channel inChannel);
5429 
5435  AJA_VIRTUAL ULWord GetCRCErrorCountA (const NTV2Channel inChannel);
5436 
5442  AJA_VIRTUAL ULWord GetCRCErrorCountB (const NTV2Channel inChannel);
5444 
5457  AJA_VIRTUAL bool SetMultiFormatMode (const bool inEnable);
5458 
5470  AJA_VIRTUAL bool GetMultiFormatMode (bool & outIsEnabled);
5471 
5472 
5473 public:
5477 
5489  AJA_VIRTUAL bool SetRS422Parity (const NTV2Channel inSerialPort, const NTV2_RS422_PARITY inParity);
5490 
5501  AJA_VIRTUAL bool GetRS422Parity (const NTV2Channel inSerialPort, NTV2_RS422_PARITY & outParity);
5502 
5515  AJA_VIRTUAL bool SetRS422BaudRate (const NTV2Channel inSerialPort, const NTV2_RS422_BAUD_RATE inBaudRate);
5516 
5527  AJA_VIRTUAL bool GetRS422BaudRate (const NTV2Channel inSerialPort, NTV2_RS422_BAUD_RATE & outBaudRate);
5529 
5533 
5547  AJA_VIRTUAL bool AncSetFrameBufferSize (const ULWord inF1Size, const ULWord inF2Size); // New in SDK 16.0
5548 
5549 
5563  AJA_VIRTUAL bool AncInsertInit (const UWord inSDIOutput, const NTV2Channel inChannel = NTV2_CHANNEL_INVALID,
5564  const NTV2Standard inStandard = NTV2_STANDARD_INVALID); // New in SDK 15.0
5565 
5578  AJA_VIRTUAL bool AncInsertSetComponents (const UWord inSDIOutput,
5579  const bool inVancY, const bool inVancC,
5580  const bool inHancY, const bool inHancC); // New in SDK 16.0
5581 
5591  AJA_VIRTUAL bool AncInsertSetEnable (const UWord inSDIOutput, const bool inIsEnabled); // New in SDK 15.0
5592 
5600  AJA_VIRTUAL bool AncInsertIsEnabled (const UWord inSDIOutput, bool & outIsEnabled); // New in SDK 15.0
5601 
5618  AJA_VIRTUAL bool AncInsertSetReadParams (const UWord inSDIOutput, const ULWord inFrameNumber, const ULWord inF1Size,
5619  const NTV2Channel inChannel = NTV2_CHANNEL_INVALID,
5620  const NTV2Framesize inFrameSize = NTV2_FRAMESIZE_INVALID); // New in SDK 15.0
5621 
5638  AJA_VIRTUAL bool AncInsertSetField2ReadParams (const UWord inSDIOutput, const ULWord inFrameNumber, const ULWord inF2Size,
5639  const NTV2Channel inChannel = NTV2_CHANNEL_INVALID,
5640  const NTV2Framesize inFrameSize = NTV2_FRAMESIZE_INVALID); // New in SDK 15.0
5641 
5650  AJA_VIRTUAL bool AncInsertSetIPParams (const UWord inSDIOutput, const UWord ancChannel, const ULWord payloadID, const ULWord ssrc); // New in SDK 15.2
5651 
5659  AJA_VIRTUAL bool AncInsertGetReadInfo (const UWord inSDIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr); // New in SDK v16.2
5660 
5661 
5677  AJA_VIRTUAL bool AncExtractInit (const UWord inSDIInput, const NTV2Channel inChannel = NTV2_CHANNEL_INVALID,
5678  const NTV2Standard inStandard = NTV2_STANDARD_INVALID); // New in SDK 15.0
5679 
5692  AJA_VIRTUAL bool AncExtractSetComponents (const UWord inSDIInput,
5693  const bool inVancY, const bool inVancC,
5694  const bool inHancY, const bool inHancC); // New in SDK 16.0
5695 
5706  AJA_VIRTUAL bool AncExtractSetEnable (const UWord inSDIInput, const bool inIsEnabled); // New in SDK 15.0
5707 
5716  AJA_VIRTUAL bool AncExtractIsEnabled (const UWord inSDIInput, bool & outIsEnabled); // New in SDK 15.0
5717 
5734  AJA_VIRTUAL bool AncExtractSetWriteParams (const UWord inSDIInput, const ULWord inFrameNumber,
5735  const NTV2Channel inChannel = NTV2_CHANNEL_INVALID,
5736  const NTV2Framesize inFrameSize = NTV2_FRAMESIZE_INVALID); // New in SDK 15.0
5737 
5754  AJA_VIRTUAL bool AncExtractSetField2WriteParams (const UWord inSDIInput, const ULWord inFrameNumber,
5755  const NTV2Channel inChannel = NTV2_CHANNEL_INVALID,
5756  const NTV2Framesize inFrameSize = NTV2_FRAMESIZE_INVALID); // New in SDK 15.0
5757 
5769  AJA_VIRTUAL bool AncExtractGetWriteInfo (const UWord inSDIInput,
5770  uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
5771  uint64_t & outF2StartAddr, uint64_t & outF2EndAddr); // New in SDK v16.2
5772 
5782  AJA_VIRTUAL bool AncExtractGetFilterDIDs (const UWord inSDIInput, NTV2DIDSet & outDIDs); // New in SDK 15.0
5783 
5794  AJA_VIRTUAL bool AncExtractSetFilterDIDs (const UWord inSDIInput, const NTV2DIDSet & inDIDs); // New in SDK 15.0
5795 
5803  AJA_VIRTUAL bool AncExtractGetField1Size (const UWord inSDIInput, ULWord & outF1Size); // New in SDK 16.0
5804 
5812  AJA_VIRTUAL bool AncExtractGetField2Size (const UWord inSDIInput, ULWord & outF2Size); // New in SDK 16.0
5813 
5827  AJA_VIRTUAL bool AncExtractGetBufferOverrun (const UWord inSDIInput, bool & outIsOverrun, const UWord inField = 0); // New in SDK 15.0
5828 
5836  AJA_VIRTUAL bool AncExtractIsProgressive (const UWord inSDIInput, bool & outIsProgressive); // New in SDK 17.1
5837 
5842  static UWord AncExtractGetMaxNumFilterDIDs (void); // New in SDK 15.0
5843 
5851  static NTV2DIDSet AncExtractGetDefaultDIDs (const bool inHDAudio = true); // New in SDK 13.0
5853 
5857 
5867  AJA_VIRTUAL bool AuxSetFrameBufferSize (const ULWord inF1Size, const ULWord inF2Size) // New in SDK 17.1
5868  {return IsSupported(kDeviceCanDoHDMIAuxCapture) && AncSetFrameBufferSize(inF1Size,inF2Size);}
5869 
5870 
5883  AJA_VIRTUAL bool AuxInsertInit (const UWord inHDMIOutput, const NTV2Channel inChannel = NTV2_CHANNEL_INVALID,
5884  const NTV2Standard inStandard = NTV2_STANDARD_INVALID); // New in SDK 17.1
5885 
5897  AJA_VIRTUAL bool AuxInsertSetComponents (const UWord inHDMIOutput,
5898  const bool inVauxY, const bool inVauxC,
5899  const bool inHauxY, const bool inHauxC); // New in SDK 17.1
5900 
5909  AJA_VIRTUAL bool AuxInsertSetEnable (const UWord inHDMIOutput, const bool inIsEnabled); // New in SDK 17.1
5910 
5917  AJA_VIRTUAL bool AuxInsertIsEnabled (const UWord inHDMIOutput, bool & outIsEnabled); // New in SDK 17.1
5918 
5934  AJA_VIRTUAL bool AuxInsertSetReadParams (const UWord inHDMIOutput, const ULWord inFrameNumber, const ULWord inF1Size,
5935  const NTV2Channel inChannel = NTV2_CHANNEL_INVALID,
5936  const NTV2Framesize inFrameSize = NTV2_FRAMESIZE_INVALID); // New in SDK 17.1
5937 
5953  AJA_VIRTUAL bool AuxInsertSetField2ReadParams (const UWord inHDMIOutput, const ULWord inFrameNumber, const ULWord inF2Size,
5954  const NTV2Channel inChannel = NTV2_CHANNEL_INVALID,
5955  const NTV2Framesize inFrameSize = NTV2_FRAMESIZE_INVALID); // New in SDK 17.1
5956 
5965  AJA_VIRTUAL bool AuxInsertSetIPParams (const UWord inHDMIOutput, const UWord auxChannel, const ULWord payloadID, const ULWord ssrc); // New in SDK 17.1
5966 
5974  AJA_VIRTUAL bool AuxInsertGetReadInfo (const UWord inHDMIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr); // New in SDK 17.1
5975 
5976 
5991  AJA_VIRTUAL bool AuxExtractInit (const UWord inHDMIInput, const NTV2Channel inChannel = NTV2_CHANNEL_INVALID,
5992  const NTV2Standard inStandard = NTV2_STANDARD_INVALID); // New in SDK 17.1
6002  AJA_VIRTUAL bool AuxExtractSetEnable (const UWord inHDMIInput, const bool inIsEnabled); // New in SDK 17.1
6003 
6011  AJA_VIRTUAL bool AuxExtractIsEnabled (const UWord inHDMIInput, bool & outIsEnabled); // New in SDK 17.1
6012 
6028  AJA_VIRTUAL bool AuxExtractSetWriteParams (const UWord inHDMIInput, const ULWord inFrameNumber,
6029  const NTV2Channel inChannel = NTV2_CHANNEL_INVALID,
6030  const NTV2Framesize inFrameSize = NTV2_FRAMESIZE_INVALID); // New in SDK 17.1
6031 
6047  AJA_VIRTUAL bool AuxExtractSetField2WriteParams (const UWord inHDMIInput, const ULWord inFrameNumber,
6048  const NTV2Channel inChannel = NTV2_CHANNEL_INVALID,
6049  const NTV2Framesize inFrameSize = NTV2_FRAMESIZE_INVALID); // New in SDK 17.1
6050 
6061  AJA_VIRTUAL bool AuxExtractGetWriteInfo (const UWord inHDMIInput,
6062  uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
6063  uint64_t & outF2StartAddr, uint64_t & outF2EndAddr); // New in SDK 17.1
6064 
6072  AJA_VIRTUAL bool AuxExtractGetField1Size (const UWord inHDMIInput, ULWord & outF1Size); // New in SDK 17.1
6073 
6081  AJA_VIRTUAL bool AuxExtractGetField2Size (const UWord inHDMIInput, ULWord & outF2Size); // New in SDK 17.1
6082 
6091  AJA_VIRTUAL bool AuxExtractGetPacketFilters (const UWord inHDMIInput, NTV2DIDSet & outDIDs); // New in SDK 17.1
6092 
6102  AJA_VIRTUAL bool AuxExtractSetPacketFilters (const UWord inHDMIInput, const NTV2DIDSet & inDIDs); // New in SDK 17.1
6103 
6111  AJA_VIRTUAL bool AuxExtractSetFilterInclusionMode (const UWord inHDMIInput, const bool inEnable); // New in SDK 17.1
6112 
6120  AJA_VIRTUAL bool AuxExtractGetFilterInclusionMode (const UWord inHDMIInput, bool & outEnabled); // New in SDK 17.1
6121 
6134  AJA_VIRTUAL bool AuxExtractGetBufferOverrun (const UWord inHDMIInput, bool & outIsOverrun, const UWord inField = 0); // New in SDK 17.1
6135 
6142  AJA_VIRTUAL bool AuxExtractIsProgressive (const UWord inHDMIInput, bool & outIsProgressive); // New in SDK 17.1
6143 
6148  static UWord AuxExtractGetMaxNumPacketFilters (void); // New in SDK 17.1
6149 
6154  static NTV2DIDSet AuxExtractGetDefaultPacketFilters (void); // New in SDK 17.1
6156 
6157 
6161  AJA_VIRTUAL bool AcquireMailBoxLock (void);
6163  AJA_VIRTUAL bool ReleaseMailBoxLock (void);
6164  AJA_VIRTUAL bool AbortMailBoxLock (void);
6166 
6170 
6177  AJA_VIRTUAL bool GetDieTemperature (double & outTemp, const NTV2DieTempScale inTempScale = NTV2DieTempScale_Celsius);
6178 
6184  AJA_VIRTUAL bool GetDieVoltage (double & outVoltage);
6186 
6187 public:
6191  AJA_VIRTUAL inline CNTV2DriverInterface & driverInterface (void) {return *this;} // New in SDK 17.1
6192 
6193  AJA_VIRTUAL std::string GetFPGAVersionString (const NTV2XilinxFPGA inFPGA = eFPGAVideoProc);
6194  AJA_VIRTUAL Word GetPCIFPGAVersion (void); // From CNTV2Status
6195  AJA_VIRTUAL std::string GetPCIFPGAVersionString (void);
6196 
6214  AJA_VIRTUAL bool GetInstalledBitfileInfo (ULWord & outNumBytes, std::string & outDateStr, std::string & outTimeStr);
6215 
6221  AJA_VIRTUAL std::string GetBitfileInfoString (const BITFILE_INFO_STRUCT & inBitFileInfo);
6222 
6232  AJA_VIRTUAL bool IsFailSafeBitfileLoaded (bool & outIsFailSafe);
6233 
6241  AJA_VIRTUAL bool CanWarmBootFPGA (bool & outCanWarmBoot);
6242 
6243  AJA_VIRTUAL bool IsDynamicDevice (void);
6244  AJA_VIRTUAL bool IsDynamicFirmwareLoaded(void);
6245  AJA_VIRTUAL NTV2DeviceID GetBaseDeviceID();
6246  AJA_VIRTUAL NTV2DeviceIDList GetDynamicDeviceList (void);
6247  AJA_VIRTUAL NTV2DeviceIDSet GetDynamicDeviceIDs (void);
6248 
6253  AJA_VIRTUAL bool CanLoadDynamicDevice (const NTV2DeviceID inDeviceID);
6254 
6263  AJA_VIRTUAL bool LoadDynamicDevice (const NTV2DeviceID inDeviceID);
6264 
6270  AJA_VIRTUAL bool AddDynamicBitfile (const std::string & inBitfilePath);
6271 
6278  AJA_VIRTUAL bool AddDynamicDirectory (const std::string & inDirectory);
6279 
6285  static std::string SerialNum64ToString (const uint64_t inSerialNumber);
6286 
6287  typedef enum
6288  {
6292  NUM_COLORS
6293  } ColorCorrectionColor; // From CNTV2ColorCorrection
6294 
6295 protected:
6297 
6298 public:
6302 
6308  AJA_VIRTUAL bool HevcGetDeviceInfo (HevcDeviceInfo* pInfo);
6309 
6318  AJA_VIRTUAL bool HevcWriteRegister (ULWord address, ULWord value, ULWord mask = 0xffffffff, ULWord shift = 0);
6319 
6328  AJA_VIRTUAL bool HevcReadRegister (ULWord address, ULWord* pValue, ULWord mask = 0xffffffff, ULWord shift = 0);
6329 
6335  AJA_VIRTUAL bool HevcSendCommand (HevcDeviceCommand* pCommand);
6336 
6342  AJA_VIRTUAL bool HevcVideoTransfer (HevcDeviceTransfer* pTransfer);
6343 
6349  AJA_VIRTUAL bool HevcGetStatus (HevcDeviceStatus* pStatus);
6350 
6358  AJA_VIRTUAL bool HevcDebugInfo (HevcDeviceDebug* pDebug);
6360 
6364 
6370  AJA_VIRTUAL bool EnableHDMIHDR (const bool inEnableHDMIHDR); // New in SDK 12.5
6371  AJA_VIRTUAL bool GetHDMIHDREnabled (void);
6372 
6381  AJA_VIRTUAL bool EnableHDMIHDRDolbyVision (const bool inEnable); // New in SDK 13.0
6382  AJA_VIRTUAL bool GetHDMIHDRDolbyVisionEnabled (void);
6383 
6384 
6390  AJA_VIRTUAL bool SetHDMIHDRConstantLuminance (const bool inEnableConstantLuminance); // New in SDK 12.5
6391  AJA_VIRTUAL bool GetHDMIHDRConstantLuminance (void);
6392 
6398  AJA_VIRTUAL bool SetHDMIHDRGreenPrimaryX (const uint16_t inGreenPrimaryX); // New in SDK 12.5
6404  AJA_VIRTUAL bool GetHDMIHDRGreenPrimaryX (uint16_t & outGreenPrimaryX); // New in SDK 12.5
6405 
6411  AJA_VIRTUAL bool SetHDMIHDRGreenPrimaryY (const uint16_t inGreenPrimaryY); // New in SDK 12.5
6417  AJA_VIRTUAL bool GetHDMIHDRGreenPrimaryY (uint16_t & outGreenPrimaryY); // New in SDK 12.5
6418 
6424  AJA_VIRTUAL bool SetHDMIHDRBluePrimaryX (const uint16_t inBluePrimaryX); // New in SDK 12.5
6430  AJA_VIRTUAL bool GetHDMIHDRBluePrimaryX (uint16_t & outBluePrimaryX); // New in SDK 12.5
6431 
6437  AJA_VIRTUAL bool SetHDMIHDRBluePrimaryY (const uint16_t inBluePrimaryY); // New in SDK 12.5
6443  AJA_VIRTUAL bool GetHDMIHDRBluePrimaryY (uint16_t & outBluePrimaryY); // New in SDK 12.5
6444 
6450  AJA_VIRTUAL bool SetHDMIHDRRedPrimaryX (const uint16_t inRedPrimaryX); // New in SDK 12.5
6456  AJA_VIRTUAL bool GetHDMIHDRRedPrimaryX (uint16_t & outRedPrimaryX); // New in SDK 12.5
6457 
6463  AJA_VIRTUAL bool SetHDMIHDRRedPrimaryY (const uint16_t inRedPrimaryY); // New in SDK 12.5
6469  AJA_VIRTUAL bool GetHDMIHDRRedPrimaryY (uint16_t & outRedPrimaryY); // New in SDK 12.5
6470 
6476  AJA_VIRTUAL bool SetHDMIHDRWhitePointX (const uint16_t inWhitePointX); // New in SDK 12.5
6482  AJA_VIRTUAL bool GetHDMIHDRWhitePointX (uint16_t & outWhitePointX); // New in SDK 12.5
6483 
6489  AJA_VIRTUAL bool SetHDMIHDRWhitePointY (const uint16_t inWhitePointY); // New in SDK 12.5
6495  AJA_VIRTUAL bool GetHDMIHDRWhitePointY (uint16_t & outWhitePointY); // New in SDK 12.5
6496 
6502  AJA_VIRTUAL bool SetHDMIHDRMaxMasteringLuminance (const uint16_t inMaxMasteringLuminance); // New in SDK 12.5
6508  AJA_VIRTUAL bool GetHDMIHDRMaxMasteringLuminance (uint16_t & outMaxMasteringLuminance); // New in SDK 12.5
6509 
6515  AJA_VIRTUAL bool SetHDMIHDRMinMasteringLuminance (const uint16_t inMinMasteringLuminance); // New in SDK 12.5
6521  AJA_VIRTUAL bool GetHDMIHDRMinMasteringLuminance (uint16_t & outMinMasteringLuminance); // New in SDK 12.5
6522 
6528  AJA_VIRTUAL bool SetHDMIHDRMaxContentLightLevel (const uint16_t inMaxContentLightLevel); // New in SDK 12.5
6534  AJA_VIRTUAL bool GetHDMIHDRMaxContentLightLevel (uint16_t & outMaxContentLightLevel); // New in SDK 12.5
6535 
6541  AJA_VIRTUAL bool SetHDMIHDRMaxFrameAverageLightLevel (const uint16_t inMaxFrameAverageLightLevel); // New in SDK 12.5
6547  AJA_VIRTUAL bool GetHDMIHDRMaxFrameAverageLightLevel (uint16_t & outMaxFrameAverageLightLevel); // New in SDK 12.5
6548 
6549 
6550  AJA_VIRTUAL bool SetHDMIHDRElectroOpticalTransferFunction (const uint8_t inEOTFByte); // New in SDK 12.5
6551  AJA_VIRTUAL bool GetHDMIHDRElectroOpticalTransferFunction (uint8_t & outEOTFByte); // New in SDK 12.5
6552  AJA_VIRTUAL bool SetHDMIHDRStaticMetadataDescriptorID (const uint8_t inSMDId); // New in SDK 12.5
6553  AJA_VIRTUAL bool GetHDMIHDRStaticMetadataDescriptorID (uint8_t & outSMDId); // New in SDK 12.5
6554 
6555  AJA_VIRTUAL bool SetHDRData (const HDRFloatValues & inFloatValues); // New in SDK 12.5
6556  AJA_VIRTUAL bool SetHDRData (const HDRRegValues & inRegisterValues); // New in SDK 12.5
6557  AJA_VIRTUAL bool GetHDRData (HDRFloatValues & outFloatValues); // New in SDK 12.5
6558  AJA_VIRTUAL bool GetHDRData (HDRRegValues & outRegisterValues); // New in SDK 12.5
6559  AJA_VIRTUAL bool SetHDMIHDRBT2020 (void); // New in SDK 12.5
6560  AJA_VIRTUAL bool SetHDMIHDRDCIP3 (void); // New in SDK 12.5
6561 
6562  AJA_VIRTUAL bool SetVPIDTransferCharacteristics (const NTV2VPIDTransferCharacteristics inValue, const NTV2Channel inChannel); // New in SDK 15.2
6563  AJA_VIRTUAL bool GetVPIDTransferCharacteristics (NTV2VPIDTransferCharacteristics & outValue, const NTV2Channel inChannel); // New in SDK 15.2
6564  AJA_VIRTUAL bool SetVPIDColorimetry (const NTV2VPIDColorimetry inValue, const NTV2Channel inChannel); // New in SDK 15.2
6565  AJA_VIRTUAL bool GetVPIDColorimetry (NTV2VPIDColorimetry & outValue, const NTV2Channel inChannel); // New in SDK 15.2
6566  AJA_VIRTUAL bool SetVPIDLuminance (const NTV2VPIDLuminance inValue, const NTV2Channel inChannel); // New in SDK 15.2
6567  AJA_VIRTUAL bool GetVPIDLuminance (NTV2VPIDLuminance & outValue, const NTV2Channel inChannel); // New in SDK 15.2
6568  AJA_VIRTUAL bool SetVPIDRGBRange (const NTV2VPIDRGBRange inValue, const NTV2Channel inChannel); // New in SDK 16.0
6569  AJA_VIRTUAL bool GetVPIDRGBRange (NTV2VPIDRGBRange & outValue, const NTV2Channel inChannel); // New in SDK 16.0
6570 
6571  AJA_VIRTUAL bool Set3DLUTTableLocation (const ULWord inFrameNumber, ULWord inLUTIndex = 0); // New in SDK 16.0
6572  AJA_VIRTUAL bool Load3DLUTTable (void); // New in SDK 16.0
6573  AJA_VIRTUAL bool Set1DLUTTableLocation (const NTV2Channel inChannel, const ULWord inFrameNumber, ULWord inLUTIndex = 0); // New in SDK 16.0
6574  AJA_VIRTUAL bool Load1DLUTTable (const NTV2Channel inChannel); // New in SDK 16.0
6575 
6576  // MultiViewer/MultiRasterizer
6577  AJA_VIRTUAL inline bool HasMultiRasterWidget (void) {return IsSupported(kDeviceCanDoHDMIMultiView);} // New in SDK 16.1
6578  AJA_VIRTUAL bool SetMultiRasterBypassEnable (const bool inEnable); // New in SDK 16.1
6579  AJA_VIRTUAL bool GetMultiRasterBypassEnable (bool & outEnabled); // New in SDK 16.1
6580  AJA_VIRTUAL bool IsMultiRasterWidgetChannel (const NTV2Channel inChannel); // New in SDK 16.2
6582 
6583  AJA_VIRTUAL bool IsBreakoutBoardConnected (void); // New in SDK 17.0
6584 
6585 #if !defined(NTV2_DEPRECATE_16_1)
6586  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool SetAudioOutputMonitorSource (const NTV2AudioMonitorSelect inChannelPair, const NTV2Channel inAudioSystem = NTV2_CHANNEL1)) {return SetAudioOutputMonitorSource(inChannelPair, NTV2AudioSystem(inAudioSystem));}
6587  AJA_VIRTUAL inline NTV2_DEPRECATED_f(bool GetAudioOutputMonitorSource (NTV2AudioMonitorSelect & chp, NTV2Channel & ch)) {NTV2AudioSystem sys; if (GetAudioOutputMonitorSource(chp, sys)) {ch = NTV2Channel(sys); return true;} return false;}
6588 #endif // NTV2_DEPRECATE_16_1
6589 
6590 protected:
6591  AJA_VIRTUAL ULWord GetSerialNumberLow (void); // From CNTV2Status
6592  AJA_VIRTUAL ULWord GetSerialNumberHigh (void); // From CNTV2Status
6593  AJA_VIRTUAL inline bool IS_CHANNEL_VALID (const NTV2Channel inChannel) const {return !IS_CHANNEL_INVALID(inChannel);} // New in SDK 16.2
6594  AJA_VIRTUAL bool IS_CHANNEL_INVALID (const NTV2Channel inChannel) const;
6595  AJA_VIRTUAL bool IS_OUTPUT_SPIGOT_INVALID (const UWord inOutputSpigot);
6596  AJA_VIRTUAL bool IS_INPUT_SPIGOT_INVALID (const UWord inInputSpigot);
6597  AJA_VIRTUAL bool IS_HDMI_INPUT_SPIGOT_INVALID (const UWord inInputHDMIPort);
6598  AJA_VIRTUAL bool SetWarmBootFirmwareReload(bool enable);
6599 
6600  // Seamless Anc Playout & Capture
6601  // For AutoCirculate Playout
6602  AJA_VIRTUAL bool S2110DeviceAncToXferBuffers (const NTV2Channel inChannel, AUTOCIRCULATE_TRANSFER & inOutXferInfo);
6603  // For Non-AutoCirculate Playout
6604  AJA_VIRTUAL bool S2110DeviceAncToBuffers (const NTV2Channel inChannel, NTV2Buffer & ancF1, NTV2Buffer & ancF2);
6605  // For AutoCirculate Capture
6606  AJA_VIRTUAL bool S2110DeviceAncFromXferBuffers (const NTV2Channel inChannel, AUTOCIRCULATE_TRANSFER & inOutXferInfo);
6607  // For Non-AutoCirculate Capture
6608  AJA_VIRTUAL bool S2110DeviceAncFromBuffers (const NTV2Channel inChannel, NTV2Buffer & ancF1, NTV2Buffer & ancF2);
6609  AJA_VIRTUAL bool WriteSDIInVPID (const NTV2Channel inChannel, const ULWord inValA, const ULWord inValB);
6610 
6611 private:
6612  // frame buffer sizing helpers
6613  AJA_VIRTUAL bool GetLargestFrameBufferFormatInUse(NTV2FrameBufferFormat & outFBF);
6614  AJA_VIRTUAL bool GetFrameInfo(const NTV2Channel inChannel, NTV2FrameGeometry & outGeometry, NTV2FrameBufferFormat & outFBF);
6615  AJA_VIRTUAL bool IsBufferSizeChangeRequired(NTV2Channel channel, NTV2FrameGeometry currentGeometry, NTV2FrameGeometry newGeometry,
6616  NTV2FrameBufferFormat format);
6617  AJA_VIRTUAL bool IsBufferSizeChangeRequired(NTV2Channel channel, NTV2FrameGeometry geometry,
6618  NTV2FrameBufferFormat currentFormat, NTV2FrameBufferFormat newFormat);
6619  AJA_VIRTUAL bool GetFBSizeAndCountFromHW(ULWord & outSize, ULWord & outCount);
6620 
6621  AJA_VIRTUAL bool IsMultiFormatActive (void);
6622  AJA_VIRTUAL bool CopyVideoFormat(const NTV2Channel inSrc, const NTV2Channel inFirst, const NTV2Channel inLast);
6623  class DeviceCapabilities mDevCap;
6624 }; // CNTV2Card
6625 
6626 
6628 #if !defined(NTV2_DEPRECATE_16_2)
6635 #endif // !defined(NTV2_DEPRECATE_16_2)
6636 
6637 #define SetTablesToHardware LoadLUTTables
6638 #define GetTablesFromHardware GetLUTTables
6639 
6641 
6642 
6667 {
6668  public:
6672  explicit SDRAMAuditor ()
6673  : mDeviceID (DEVICE_ID_INVALID),
6674  mFrameTags (),
6675  m8MB (0x00800000),
6676  mNumFrames (0),
6677  mIntrinsicSize (0)
6678  {
6679  }
6680 
6685  explicit SDRAMAuditor (CNTV2Card & inDevice)
6686  : mDeviceID (DEVICE_ID_INVALID),
6687  mFrameTags (),
6688  m8MB (0x00800000),
6689  mNumFrames (0),
6690  mIntrinsicSize (0)
6691  {
6692  AssessDevice(inDevice);
6693  }
6694 
6704  bool AssessDevice (CNTV2Card & inDevice, const bool inIgnoreStoppedAudioBuffers = false);
6705 
6715  bool GetRegions (ULWordSequence & outFree, ULWordSequence & outUsed, ULWordSequence & outBad) const;
6716 
6721  inline bool GetFreeRegions (ULWordSequence & outBlks) const
6722  {
6723  ULWordSequence used, bad;
6724  return GetRegions (outBlks, used, bad);
6725  }
6726 
6731  inline bool GetBadRegions (ULWordSequence & outBlks) const
6732  {
6733  ULWordSequence used, free;
6734  return GetRegions (free, used, outBlks);
6735  }
6736 
6741  inline bool GetUsedRegions (ULWordSequence & outBlks) const
6742  {
6743  ULWordSequence bad, free;
6744  return GetRegions (free, outBlks, bad);
6745  }
6746 
6753  bool GetTagsForFrameIndex (const UWord inIndex, NTV2StringSet & outTags) const;
6754 
6755  bool HasFrameIndex (const UWord inIndex) const {return mFrameTags.find(inIndex) != mFrameTags.end();}
6756 
6757  size_t GetTagCount (const UWord inIndex) const;
6758 
6759  inline bool HasTag (const UWord inIndex) const {return GetTagCount(inIndex) > 0;}
6760  inline bool HasConflicts (const UWord inIndex) const {return GetTagCount(inIndex) > 1;}
6761  inline ULWord GetIntrinsicFrameByteCount (void) const {return mIntrinsicSize;}
6762 
6773  bool TranslateRegions (ULWordSequence & outRgns, const ULWordSequence & inRgns, const bool inIsQuad, const bool inIsQuadQuad) const;
6774 
6780  std::ostream & RawDump (std::ostream & oss) const;
6781 
6787  std::ostream & DumpBlocks (std::ostream & oss) const;
6788 
6789  // Static/Class Methods
6790  public:
6794  static ULWordSet CoalesceRegions (const ULWordSequence & inRgn1, const ULWordSequence & inRgn2, const ULWordSequence & inRgn3);
6795 
6796  protected:
6797  bool TagAudioBuffers (CNTV2Card & inDevice, const bool inMarkStoppedAudioBuffersFree);
6798  bool TagVideoFrames (CNTV2Card & inDevice);
6799  bool TagMemoryBlock (const ULWord inStartAddr, const ULWord inByteLength, const std::string & inTag);
6800  bool TagMemoryBlock (const uint64_t inStartAddr, const uint64_t inByteLength, const std::string & inTag)
6801  {
6802  return TagMemoryBlock (ULWord(inStartAddr), ULWord(inByteLength), inTag);
6803  }
6804 
6805  private:
6806  typedef std::pair<UWord, NTV2StringSet> FrameTag;
6807  typedef std::map<UWord, NTV2StringSet> FrameTags;
6808  typedef FrameTags::const_iterator FrameTagsConstIter;
6809 
6810  NTV2DeviceID mDeviceID;
6811  FrameTags mFrameTags;
6812  const ULWord m8MB;
6813  UWord mNumFrames;
6814  ULWord mIntrinsicSize;
6815 }; // SDRAMAuditor
6816 
6817 #endif // NTV2CARD_H
HevcDeviceStatus
Definition: ntv2publicinterface.h:9988
kRegSDIInput3GStatus
@ kRegSDIInput3GStatus
Definition: ntv2publicinterface.h:355
CNTV2TestPattern
CNTV2Card CNTV2TestPattern
Definition: ntv2card.h:6630
NTV2AnalogAudioIO
NTV2AnalogAudioIO
Definition: ntv2enums.h:2218
SDRAMAuditor::TagMemoryBlock
bool TagMemoryBlock(const ULWord inStartAddr, const ULWord inByteLength, const std::string &inTag)
NTV2VANCModeFromBools
#define NTV2VANCModeFromBools(_tall_, _taller_)
Definition: ntv2enums.h:3780
HevcDeviceCommand
Definition: ntv2publicinterface.h:9780
NTV2ColorCorrectionHostAccessBank
NTV2ColorCorrectionHostAccessBank
Definition: ntv2enums.h:2044
NTV2DoubleArray
std::vector< double > NTV2DoubleArray
An array of double-precision floating-point values.
Definition: ntv2publicinterface.h:70
LWord
int32_t LWord
Definition: ajatypes.h:254
NTV2RegisterValueMap
std::map< ULWord, ULWord > NTV2RegisterValueMap
A mapping of distinct NTV2RegisterNumbers to their corresponding ULWord values.
Definition: ntv2publicinterface.h:7639
ntv2windriverinterface.h
Declares the MSWindows-specific flavor of CNTV2DriverInterface.
NTV2InputCrosspointIDSet
std::set< NTV2InputXptID > NTV2InputCrosspointIDSet
Definition: ntv2signalrouter.h:26
CNTV2DriverInterface::ReadRegisters
virtual bool ReadRegisters(NTV2RegisterReads &inOutValues)
Reads the register(s) specified by the given NTV2RegInfo sequence.
Definition: ntv2driverinterface.cpp:444
CNTV2Card::GREEN
@ GREEN
Definition: ntv2card.h:6290
NTV2LutBitDepth
NTV2LutBitDepth
This specifies the LUT bit depth.
Definition: ntv2enums.h:3553
NTV2StreamChannel
Definition: ntv2publicinterface.h:8952
HevcDeviceDebug
Definition: ntv2publicinterface.h:10009
NTV2HDMIBitDepth
NTV2HDMIBitDepth
Indicates or specifies the HDMI video bit depth.
Definition: ntv2enums.h:3662
INTERRUPT_ENUMS
enum _INTERRUPT_ENUMS_ INTERRUPT_ENUMS
kDeviceCanDoHDMIMultiView
@ kDeviceCanDoHDMIMultiView
True if device can rasterize 4 HD signals into a single HDMI output.
Definition: ntv2devicefeatures.h:125
NTV2LHIHDMIColorSpace
NTV2LHIHDMIColorSpace
Definition: ntv2enums.h:3648
SDRAMAuditor::TagAudioBuffers
bool TagAudioBuffers(CNTV2Card &inDevice, const bool inMarkStoppedAudioBuffersFree)
Definition: ntv2card.cpp:789
NTV2StringSet
std::set< std::string > NTV2StringSet
Definition: ntv2utils.h:1146
kDeviceHasXptConnectROM
@ kDeviceHasXptConnectROM
True if device has a crosspoint connection ROM (New in SDK 17.0)
Definition: ntv2devicefeatures.h:147
HDRFloatValues
Definition: ntv2publicinterface.h:10132
NTV2AudioChannelPairs
std::set< NTV2AudioChannelPair > NTV2AudioChannelPairs
A set of distinct NTV2AudioChannelPair values.
Definition: ntv2publicinterface.h:58
kRegInput78Status
@ kRegInput78Status
Definition: ntv2publicinterface.h:626
NTV2AudioFormat
NTV2AudioFormat
Definition: ntv2enums.h:1937
NTV2Channel
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
Definition: ntv2enums.h:1343
NTV2HDMIColorSpace
NTV2HDMIColorSpace
Indicates or specifies HDMI Color Space.
Definition: ntv2enums.h:3575
NTV2Buffer
Describes a user-space buffer on the host computer. I have an address and a length,...
Definition: ntv2publicinterface.h:6185
NTV2AudioMixerInput
NTV2AudioMixerInput
Identifies the Audio Mixer's audio inputs.
Definition: ntv2enums.h:3227
NTV2_STANDARD_INVALID
@ NTV2_STANDARD_INVALID
Definition: ntv2enums.h:176
NTV2InterruptMask
NTV2InterruptMask
Definition: ntv2enums.h:1513
CNTV2BareMetalDriverInterface
BareMetal implementation of CNTV2DriverInterface.
Definition: ntv2baremetaldriverinterface.h:25
ColorSpaceConverterCustomCoefficients
Definition: ntv2publicinterface.h:4167
ntv2baremetaldriverinterface.h
Declares the CNTV2BareMetalDriverInterface class.
ntv2macdriverinterface.h
Implements the MacOS-specific flavor of CNTV2DriverInterface.
CNTV2Card::SetVANCMode
virtual bool SetVANCMode(const NTV2VANCMode inVancMode, const NTV2Standard st, const NTV2FrameGeometry fg, const NTV2Channel inChannel=NTV2_CHANNEL1)
Definition: ntv2card.h:1210
NTV2HDMIAudioChannels
NTV2HDMIAudioChannels
Indicates or specifies the HDMI audio channel count.
Definition: ntv2enums.h:3637
CNTV2ColorCorrection
CNTV2Card CNTV2ColorCorrection
Definition: ntv2card.h:6632
SDRAMAuditor::GetTagsForFrameIndex
bool GetTagsForFrameIndex(const UWord inIndex, NTV2StringSet &outTags) const
Answers with the list of tags for the given frame number.
Definition: ntv2card.cpp:747
NTV2_AUDIOSYSTEM_1
@ NTV2_AUDIOSYSTEM_1
This identifies the first Audio System.
Definition: ntv2enums.h:3867
NTV2LutType
NTV2LutType
This specifies what function(s) are currently loaded into the LUTs.
Definition: ntv2enums.h:3534
NTV2VPIDLuminance
NTV2VPIDLuminance
Definition: ntv2enums.h:4231
SDRAMAuditor::GetFreeRegions
bool GetFreeRegions(ULWordSequence &outBlks) const
Answers with the list of free memory regions.
Definition: ntv2card.h:6721
NTV2XptConnection
std::pair< NTV2InputXptID, NTV2OutputXptID > NTV2XptConnection
Definition: ntv2signalrouter.h:38
SSC_GET_FIRMWARE_PROGRESS_STRUCT
Definition: ntv2publicinterface.h:5042
NTV2DeviceID
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
Definition: ntv2enums.h:20
NTV2FieldID
NTV2FieldID
These values are used to identify fields for interlaced video. See Field/Frame Interrupts and CNTV2Ca...
Definition: ntv2enums.h:1826
NTV2FrameBufferFormat
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
Definition: ntv2enums.h:210
DeviceCapabilities
Convenience class/API for inquiring about device capabilities of physical and virtual devices....
Definition: ntv2devicecapabilities.h:20
NTV2AudioChannelsMuted16
std::bitset< 16 > NTV2AudioChannelsMuted16
Per-audio-channel mute state for up to 16 audio channels.
Definition: ntv2publicinterface.h:81
NTV2InputXptID
enum NTV2InputCrosspointID NTV2InputXptID
kDeviceCanDoAudioMixer
@ kDeviceCanDoAudioMixer
True if device has a firmware audio mixer.
Definition: ntv2devicefeatures.h:121
NTV2ColorSpaceMethod
NTV2ColorSpaceMethod
Definition: ntv2enums.h:3417
NTV2_CHANNEL1
@ NTV2_CHANNEL1
Specifies channel or FrameStore 1 (or the first item).
Definition: ntv2enums.h:1345
NTV2RelayState
NTV2RelayState
This enumerated data type identifies the two possible states of the bypass relays....
Definition: ntv2enums.h:3906
NTV2FrameSize
Describes the horizontal and vertical size dimensions of a raster, bitmap, frame or image.
Definition: ntv2publicinterface.h:5785
SDRAMAuditor
Audits an NTV2 device's SDRAM utilization, and can report contiguous regions of SDRAM,...
Definition: ntv2card.h:6666
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
NTV2HDMIRange
NTV2HDMIRange
Indicates or specifies the HDMI RGB range.
Definition: ntv2enums.h:3605
NTV2HDMIOutputStatus
Reports HDMI output status information.
Definition: ntv2publicinterface.h:7109
ntv2linuxdriverinterface.h
Declares the CNTV2LinuxDriverInterface class.
NTV2FrameRate
NTV2FrameRate
Identifies a particular video frame rate.
Definition: ntv2enums.h:403
NTV2ColorCorrectionMode
NTV2ColorCorrectionMode
Definition: ntv2enums.h:2065
NTV2_CHANNEL_INVALID
@ NTV2_CHANNEL_INVALID
Definition: ntv2enums.h:1354
FRAME_STAMP
This class/object reports information about the current and/or requested AutoCirculate frame.
Definition: ntv2publicinterface.h:7975
NTV2RegNumSet
NTV2RegisterNumberSet NTV2RegNumSet
A set of distinct NTV2RegisterNumbers.
Definition: ntv2publicinterface.h:7621
ntv2signalrouter.h
Declares CNTV2SignalRouter class.
NTV2LHIVideoDACMode
NTV2LHIVideoDACMode
Definition: ntv2enums.h:2159
NTV2MixerKeyerInputControl
NTV2MixerKeyerInputControl
These enum values identify the Mixer/Keyer foreground and background input control values.
Definition: ntv2enums.h:1762
CNTV2Card::AuxSetFrameBufferSize
virtual bool AuxSetFrameBufferSize(const ULWord inF1Size, const ULWord inF2Size)
Sets the capacity of the HDMI AUX buffers in device frame memory.
Definition: ntv2card.h:5867
NTV2HDRXferChars
enum NTV2VPIDTransferCharacteristics NTV2HDRXferChars
NTV2_RS422_PARITY
NTV2_RS422_PARITY
These enum values identify RS-422 serial port parity configuration.
Definition: ntv2enums.h:4131
CNTV2DriverInterface::IsSupported
virtual bool IsSupported(const NTV2BoolParamID inParamID)
Definition: ntv2driverinterface.h:424
NTV2EmbeddedAudioClock
NTV2EmbeddedAudioClock
This enum value determines/states the device audio clock reference source. It was important to set th...
Definition: ntv2enums.h:1976
CNTV2Card::features
virtual class DeviceCapabilities & features(void)
Definition: ntv2card.h:148
HevcDeviceInfo
Definition: ntv2publicinterface.h:9623
NTV2_INPUTSOURCE_SDI1
@ NTV2_INPUTSOURCE_SDI1
Identifies the 1st SDI video input.
Definition: ntv2enums.h:1260
SDRAMAuditor::DumpBlocks
std::ostream & DumpBlocks(std::ostream &oss) const
Dumps all 8MB blocks/frames and their tags, if any, into the given stream.
Definition: ntv2card.cpp:658
NTV2DMAEngine
NTV2DMAEngine
Definition: ntv2enums.h:1842
NTV2XilinxFPGA
NTV2XilinxFPGA
Definition: ntv2enums.h:3816
YCbCr10BitPixel
Definition: ntv2videodefines.h:200
CNTV2VidProc
CNTV2Card CNTV2VidProc
Definition: ntv2card.h:6631
NTV2DownConvertMode
NTV2DownConvertMode
Definition: ntv2enums.h:2228
FRAME_STAMP_STRUCT
Definition: ntv2publicinterface.h:4586
NTV2Standard
NTV2Standard
Identifies a particular video standard.
Definition: ntv2enums.h:156
NTV2_MAX_NUM_CHANNELS
@ NTV2_MAX_NUM_CHANNELS
Definition: ntv2enums.h:1353
ULWordSet
std::set< ULWord > ULWordSet
A collection of unique ULWord (uint32_t) values.
Definition: ntv2publicinterface.h:54
CNTV2Card::DMABufferUnlock
virtual bool DMABufferUnlock(const ULWord *pInBuffer, const ULWord inByteCount)
Unlocks the given host buffer that was previously locked using CNTV2Card::DMABufferLock.
Definition: ntv2card.h:494
ULWord
uint32_t ULWord
Definition: ajatypes.h:255
CNTV2Card::NULL_POINTER
static NTV2Buffer NULL_POINTER
Used for default empty NTV2Buffer parameters – do not modify.
Definition: ntv2card.h:6296
CNTV2Card::DMABufferLock
virtual bool DMABufferLock(const ULWord *pInBuffer, const ULWord inByteCount, bool inMap=(0), bool inRDMA=(0))
Page-locks the given host buffer to reduce transfer time and CPU usage of DMA transfers.
Definition: ntv2card.h:473
AUTOCIRCULATE_STATUS
This is returned from the CNTV2Card::AutoCirculateGetStatus function.
Definition: ntv2publicinterface.h:7365
NTV2ReferenceSource
NTV2ReferenceSource
These enum values identify a specific source for the device's (output) reference clock.
Definition: ntv2enums.h:1440
UWordSequence
std::vector< uint16_t > UWordSequence
An ordered sequence of UWord (uint16_t) values.
Definition: ntv2publicinterface.h:42
NTV2Mode
NTV2Mode
Used to identify the mode of a widget_framestore, or the direction of an AutoCirculate stream: either...
Definition: ntv2enums.h:1230
NTV2HDMIProtocol
NTV2HDMIProtocol
Indicates or specifies the HDMI protocol.
Definition: ntv2enums.h:3591
SDRAMAuditor::RawDump
std::ostream & RawDump(std::ostream &oss) const
Dumps a human-readable list of regions into the given stream.
Definition: ntv2card.cpp:633
NTV2AudioSystemSet
std::set< NTV2AudioSystem > NTV2AudioSystemSet
A set of distinct NTV2AudioSystem values. New in SDK 16.2.
Definition: ntv2publicinterface.h:3959
CNTV2Device
CNTV2Card CNTV2Device
Instances of this class are able to interrogate and control an NTV2 AJA video/audio capture/playout d...
Definition: ntv2card.h:6627
kDeviceAudioCanWaitForVBI
@ kDeviceAudioCanWaitForVBI
True if device audio systems can wait for VBI before starting. (New in SDK 17.0)
Definition: ntv2devicefeatures.h:145
CNTV2Card::HasMultiRasterWidget
virtual bool HasMultiRasterWidget(void)
Definition: ntv2card.h:6577
SDRAMAuditor::GetTagCount
size_t GetTagCount(const UWord inIndex) const
Definition: ntv2card.cpp:757
CNTV2LinuxDriverInterface
Linux implementation of CNTV2DriverInterface.
Definition: ntv2linuxdriverinterface.h:25
NTV2_LUT10Bit
@ NTV2_LUT10Bit
Definition: ntv2enums.h:3555
CNTV2Card::RED
@ RED
Definition: ntv2card.h:6289
NTV2LUTPlaneSelect
NTV2LUTPlaneSelect
Definition: ntv2enums.h:3853
NTV2AudioChannelPair
NTV2AudioChannelPair
Identifies a pair of audio channels.
Definition: ntv2enums.h:3104
CNTV2Card::driverInterface
virtual CNTV2DriverInterface & driverInterface(void)
Definition: ntv2card.h:6191
NTV2AudioLevel
NTV2AudioLevel
Definition: ntv2enums.h:2299
NTV2_CSC_RGB_Range
NTV2_CSC_RGB_Range
Definition: ntv2enums.h:3729
UWord
uint16_t UWord
Definition: ajatypes.h:253
CXena2VidProc
CNTV2Card CXena2VidProc
Definition: ntv2card.h:6634
DMAEngine
DMAEngine
Definition: ntv2macpublicinterface.h:104
AUTOCIRCULATE_TRANSFER
This object specifies the information that will be transferred to or from the AJA device in the CNTV2...
Definition: ntv2publicinterface.h:8252
CNTV2WinDriverInterface
Physical device implementations of CNTV2DriverInterface methods through AJA Windows driver.
Definition: ntv2windriverinterface.h:31
NTV2UpConvertMode
NTV2UpConvertMode
Definition: ntv2enums.h:2205
ntv2utils.h
Declares numerous NTV2 utility functions.
kRegInputStatus2
@ kRegInputStatus2
Definition: ntv2publicinterface.h:411
NTV2Framesize
NTV2Framesize
Kona2/Xena2 specific enums.
Definition: ntv2enums.h:2102
Word
int16_t Word
Definition: ajatypes.h:252
NTV2BreakoutType
NTV2BreakoutType
Identifies the Breakout Boxes and Cables that may be attached to an AJA NTV2 device.
Definition: ntv2enums.h:3076
kRegInput56Status
@ kRegInput56Status
Definition: ntv2publicinterface.h:625
NTV2InputCrosspointID
NTV2InputCrosspointID
Identifies a widget input that potentially can accept a signal emitted from another widget's output (...
Definition: ntv2enums.h:2738
NTV2IsoConvertMode
NTV2IsoConvertMode
Definition: ntv2enums.h:2239
CNTV2Card
I interrogate and control an AJA video/audio capture/playout device.
Definition: ntv2card.h:28
kRegStatus2
@ kRegStatus2
Definition: ntv2publicinterface.h:388
NTV2OutputXptIDSet
std::set< NTV2OutputXptID > NTV2OutputXptIDSet
A collection of distinct NTV2OutputXptID values.
Definition: ntv2signalrouter.h:18
SDRAMAuditor::SDRAMAuditor
SDRAMAuditor()
My default constructor. I am not ready for use until my SDRAMAuditor::Assess method has been called.
Definition: ntv2card.h:6672
SDRAMAuditor::SDRAMAuditor
SDRAMAuditor(CNTV2Card &inDevice)
Constructs me and automatically assesses the given device.
Definition: ntv2card.h:6685
NTV2DieTempScale_Celsius
@ NTV2DieTempScale_Celsius
Definition: ntv2enums.h:4181
AJA_VIRTUAL
#define AJA_VIRTUAL
Definition: ajatypes.h:162
CNTV2BareMetalDriverInterface::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: ntv2baremetaldriverinterface.cpp:141
NTV2WidgetID
NTV2WidgetID
Definition: ntv2enums.h:2895
NTV2AudioLoopBack
NTV2AudioLoopBack
This enum value determines/states if an audio output embedder will embed silence (zeroes) or de-embed...
Definition: ntv2enums.h:2014
DEVICE_ID_INVALID
@ DEVICE_ID_INVALID
Definition: ntv2enums.h:93
RP188_STRUCT
Definition: ntv2publicinterface.h:4185
CNTV2ProcAmp
CNTV2Card CNTV2ProcAmp
Definition: ntv2card.h:6633
NTV2ChannelSet
std::set< NTV2Channel > NTV2ChannelSet
A set of distinct NTV2Channel values.
Definition: ntv2publicinterface.h:3913
NTV2HDRColorimetry
enum NTV2VPIDColorimetry NTV2HDRColorimetry
NTV2_VPID_TC_SDR_TV
@ NTV2_VPID_TC_SDR_TV
Definition: ntv2enums.h:4217
CNTV2SignalRouter
This class is a collection of widget input-to-output connections that can be applied all-at-once to a...
Definition: ntv2signalrouter.h:56
NTV2QuarterSizeExpandMode
NTV2QuarterSizeExpandMode
Definition: ntv2enums.h:2472
NTV2VANCMode
NTV2VANCMode
These enum values identify the available VANC modes.
Definition: ntv2enums.h:3767
NTV2DSKMode
NTV2DSKMode
Definition: ntv2enums.h:3469
SDRAMAuditor::AssessDevice
bool AssessDevice(CNTV2Card &inDevice, const bool inIgnoreStoppedAudioBuffers=(0))
Assesses the given device.
Definition: ntv2card.cpp:613
NTV2OutputCrosspointID
NTV2OutputCrosspointID
Identifies a widget output, a signal source, that potentially can drive another widget's input (ident...
Definition: ntv2enums.h:2513
NTV2InputSource
NTV2InputSource
Identifies a specific video input source.
Definition: ntv2enums.h:1253
NTV2HDMIColorimetry
NTV2HDMIColorimetry
Indicates or specifies the HDMI colorimetry.
Definition: ntv2enums.h:3619
kRegStatus
@ kRegStatus
Definition: ntv2publicinterface.h:124
NTV2VPIDColorimetry
NTV2VPIDColorimetry
Definition: ntv2enums.h:4223
kRegSDI5678Input3GStatus
@ kRegSDI5678Input3GStatus
Definition: ntv2publicinterface.h:623
LUTTablePartitionSize
const ULWord LUTTablePartitionSize
Definition: ntv2publicinterface.h:84
NTV2HDMIV2Mode
NTV2HDMIV2Mode
Definition: ntv2enums.h:3970
SDRAMAuditor::GetUsedRegions
bool GetUsedRegions(ULWordSequence &outBlks) const
Answers with the list of used memory regions.
Definition: ntv2card.h:6741
SDRAMAuditor::GetRegions
bool GetRegions(ULWordSequence &outFree, ULWordSequence &outUsed, ULWordSequence &outBad) const
Answers with the lists of free, in-use and conflicting 8MB memory blocks. Each ULWord represents a re...
Definition: ntv2card.cpp:683
SDRAMAuditor::TranslateRegions
bool TranslateRegions(ULWordSequence &outRgns, const ULWordSequence &inRgns, const bool inIsQuad, const bool inIsQuadQuad) const
Translates an 8MB-chunked list of regions into another list of regions with frame indexes and sizes e...
Definition: ntv2card.cpp:765
NTV2AudioRate
NTV2AudioRate
Definition: ntv2enums.h:1914
NTV2EncodeAsPSF
NTV2EncodeAsPSF
Definition: ntv2enums.h:2498
CNTV2Card::IS_CHANNEL_VALID
virtual bool IS_CHANNEL_VALID(const NTV2Channel inChannel) const
Definition: ntv2card.h:6593
AUTOCIRCULATE_STATUS_STRUCT
Definition: ntv2publicinterface.h:4462
kRegSDIInput3GStatus2
@ kRegSDIInput3GStatus2
Definition: ntv2publicinterface.h:410
NTV2_SHOULD_BE_DEPRECATED
#define NTV2_SHOULD_BE_DEPRECATED(__f__)
Definition: ajatypes.h:523
NTV2VideoLimiting
NTV2VideoLimiting
These enum values identify the available SDI video output limiting modes.
Definition: ntv2enums.h:3748
NTV2_DEPRECATED_f
#define NTV2_DEPRECATED_f(__f__)
Definition: ajatypes.h:555
NTV2SDIInStatistics
This is used by the CNTV2Card::ReadSDIStatistics function.
Definition: ntv2publicinterface.h:7917
NTV2AudioMixerChannel
NTV2AudioMixerChannel
Definition: ntv2enums.h:3198
false
#define false
Definition: ntv2devicefeatures.h:25
NTV2RegInfo
Everything needed to call CNTV2Card::ReadRegister or CNTV2Card::WriteRegister functions.
Definition: ntv2publicinterface.h:4021
UByte
uint8_t UByte
Definition: ajatypes.h:250
NTV2RegisterWrites
std::vector< NTV2RegInfo > NTV2RegisterWrites
Definition: ntv2publicinterface.h:4113
CNTV2BareMetalDriverInterface::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: ntv2baremetaldriverinterface.cpp:127
CNTV2Status
CNTV2Card CNTV2Status
Definition: ntv2card.h:6629
NTV2RegisterWriteMode
NTV2RegisterWriteMode
These values are used to determine when certain register writes actually take effect....
Definition: ntv2enums.h:1665
NTV2XptConnections
std::map< NTV2InputXptID, NTV2OutputXptID > NTV2XptConnections
Definition: ntv2signalrouter.h:39
NTV2_VPID_Color_Rec709
@ NTV2_VPID_Color_Rec709
Definition: ntv2enums.h:4225
ULWord64
uint64_t ULWord64
Definition: ajatypes.h:258
kRegInputStatus
@ kRegInputStatus
Definition: ntv2publicinterface.h:125
NTV2_RP188
This struct replaces the old RP188_STRUCT.
Definition: ntv2publicinterface.h:6962
ULWordSequence
std::vector< uint32_t > ULWordSequence
An ordered sequence of ULWord (uint32_t) values.
Definition: ntv2publicinterface.h:46
NTV2FrameBufferQuality
NTV2FrameBufferQuality
Definition: ntv2enums.h:2483
AUTOCIRCULATE_P2P_STRUCT
Definition: ntv2publicinterface.h:4807
AJAExport
#define AJAExport
Definition: export.h:33
NTV2VideoFormat
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
kDeviceHasMicrophoneInput
@ kDeviceHasMicrophoneInput
True if device has a microphone input connector.
Definition: ntv2devicefeatures.h:142
SDRAMAuditor::TagVideoFrames
bool TagVideoFrames(CNTV2Card &inDevice)
Definition: ntv2card.cpp:807
NTV2PossibleConnections
std::multimap< NTV2InputXptID, NTV2OutputXptID > NTV2PossibleConnections
A map of zero or more one-to-many possible NTV2InputXptID to NTV2OutputXptID connections.
Definition: ntv2signalrouter.h:41
CNTV2DriverInterface::GetDescription
virtual std::string GetDescription(void) const
Definition: ntv2driverinterface.cpp:1164
NTV2VPIDTransferCharacteristics
NTV2VPIDTransferCharacteristics
Definition: ntv2enums.h:4215
NTV2FrameGeometry
NTV2FrameGeometry
Identifies a particular video frame geometry.
Definition: ntv2enums.h:339
NTV2ConversionMode
NTV2ConversionMode
Definition: ntv2enums.h:3684
CNTV2DriverInterface::GetFrameBufferSize
virtual ULWord GetFrameBufferSize(void) const
Definition: ntv2driverinterface.h:386
CNTV2MacDriverInterface
A Mac-specific implementation of CNTV2DriverInterface.
Definition: ntv2macdriverinterface.h:22
NTV2EveryFrameTaskMode
NTV2EveryFrameTaskMode
Describes the task mode state. See also: Sharing AJA Devices With Other Applications.
Definition: ntv2publicinterface.h:4437
NTV2DeviceIDSet
std::set< NTV2DeviceID > NTV2DeviceIDSet
A set of NTV2DeviceIDs.
Definition: ntv2utils.h:1039
SDRAMAuditor::CoalesceRegions
static ULWordSet CoalesceRegions(const ULWordSequence &inRgn1, const ULWordSequence &inRgn2, const ULWordSequence &inRgn3)
Definition: ntv2card.cpp:643
GetConversionMode
NTV2ConversionMode GetConversionMode(const NTV2VideoFormat inFormat, const NTV2VideoFormat outFormat)
Definition: ntv2utils.cpp:5540
NTV2Audio4ChannelSelect
NTV2Audio4ChannelSelect
Identifies a contiguous, adjacent group of four audio channels.
Definition: ntv2enums.h:3244
NTV2VPIDRGBRange
NTV2VPIDRGBRange
Definition: ntv2enums.h:4237
NTV2EncodedAudioMode
NTV2EncodedAudioMode
Definition: ntv2enums.h:1926
NTV2VANCDataShiftMode
NTV2VANCDataShiftMode
Definition: ntv2enums.h:3783
NTV2HDRLuminance
enum NTV2VPIDLuminance NTV2HDRLuminance
NTV2LSVideoADCMode
NTV2LSVideoADCMode
Definition: ntv2enums.h:2181
NTV2Interrupt2Mask
NTV2Interrupt2Mask
Definition: ntv2enums.h:1586
NTV2DieTempScale
NTV2DieTempScale
Definition: ntv2enums.h:4179
NTV2MixerRGBRange
NTV2MixerRGBRange
Definition: ntv2enums.h:2260
NTV2DeviceIDList
std::vector< NTV2DeviceID > NTV2DeviceIDList
An ordered list of NTV2DeviceIDs.
Definition: ntv2utils.h:1032
NTV2HDMISampleStructure
NTV2HDMISampleStructure
Definition: ntv2enums.h:4156
NTV2LUTControlSelect
NTV2LUTControlSelect
Definition: ntv2enums.h:3846
AJA_RETAIL_DEFAULT
#define AJA_RETAIL_DEFAULT
Definition: ntv2card.h:594
NTV2AncillaryDataRegion
NTV2AncillaryDataRegion
These enumerations identify the various ancillary data regions located at the bottom of each frame bu...
Definition: ntv2enums.h:4196
NTV2DIDSet
std::set< UByte > NTV2DIDSet
A set of distinct NTV2DID values.
Definition: ntv2publicinterface.h:76
NTV2EmbeddedAudioInput
NTV2EmbeddedAudioInput
This enum value determines/states which SDI video input will be used to supply audio samples to an au...
Definition: ntv2enums.h:1953
SDRAMAuditor::GetBadRegions
bool GetBadRegions(ULWordSequence &outBlks) const
Answers with the list of colliding and illegal memory regions.
Definition: ntv2card.h:6731
NTV2ColorSpaceMatrixType
NTV2ColorSpaceMatrixType
Definition: ntv2enums.h:3428
NTV2AudioSystem
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information.
Definition: ntv2enums.h:3865
kDeviceCanDoHDMIAuxCapture
@ kDeviceCanDoHDMIAuxCapture
True if device has HDMI AUX data extractor(s).
Definition: ntv2devicefeatures.h:122
SDRAMAuditor::TagMemoryBlock
bool TagMemoryBlock(const uint64_t inStartAddr, const uint64_t inByteLength, const std::string &inTag)
Definition: ntv2card.h:6800
NTV2StreamBuffer
Definition: ntv2publicinterface.h:9012
HDRRegValues
Definition: ntv2publicinterface.h:10115
CNTV2DriverInterface
I'm the base class that undergirds the platform-specific derived classes (from which CNTV2Card is ult...
Definition: ntv2driverinterface.h:60
NTV2HDMIOut3DMode
NTV2HDMIOut3DMode
This specifies the HDMI Out Stereo 3D Mode.
Definition: ntv2enums.h:3563
NTV2MixerKeyerMode
NTV2MixerKeyerMode
These enum values identify the mixer mode.
Definition: ntv2enums.h:1777
NTV2Audio8ChannelSelect
NTV2Audio8ChannelSelect
Identifies a contiguous, adjacent group of eight audio channels.
Definition: ntv2enums.h:3293
NTV2_FRAMESIZE_INVALID
@ NTV2_FRAMESIZE_INVALID
Definition: ntv2enums.h:2121
NTV2AudioSource
NTV2AudioSource
This enum value determines/states where an audio system will obtain its audio samples.
Definition: ntv2enums.h:1991
CNTV2Card::BLUE
@ BLUE
Definition: ntv2card.h:6291
NTV2Crosspoint
NTV2Crosspoint
Logically, these are an NTV2Channel combined with an NTV2Mode.
Definition: ntv2enums.h:1686
NTV2_RS422_BAUD_RATE
NTV2_RS422_BAUD_RATE
These enum values identify RS-422 serial port baud rate configuration.
Definition: ntv2enums.h:4146
NTV2_VPID_Luminance_YCbCr
@ NTV2_VPID_Luminance_YCbCr
Definition: ntv2enums.h:4233
eFPGAVideoProc
@ eFPGAVideoProc
Definition: ntv2enums.h:3818
ntv2devicecapabilities.h
Declares the DeviceCapabilities class.
BITFILE_INFO_STRUCT
Definition: ntv2publicinterface.h:4953
NTV2AudioBufferSize
NTV2AudioBufferSize
Represents the size of the audio buffer used by a device audio system for storing captured samples or...
Definition: ntv2enums.h:1900
NTV2_AncRgn_All
@ NTV2_AncRgn_All
Identifies "all" ancillary data regions.
Definition: ntv2enums.h:4206
HevcDeviceTransfer
Definition: ntv2publicinterface.h:9929
NTV2FBOrientation
enum NTV2VideoFrameBufferOrientation NTV2FBOrientation
SerialNum64ToString
std::string SerialNum64ToString(const uint64_t &inSerNum)
Definition: ntv2utils.cpp:8166
NTV2_RP188Mode
NTV2_RP188Mode
Definition: ntv2enums.h:2081
NTV2InputVideoSelect
NTV2InputVideoSelect
Definition: ntv2enums.h:2282
kRegGlobalControl
@ kRegGlobalControl
Definition: ntv2publicinterface.h:102
NTV2VideoDACMode
NTV2VideoDACMode
Definition: ntv2enums.h:2128
NTV2StereoCompressorOutputMode
NTV2StereoCompressorOutputMode
Definition: ntv2enums.h:3826
NTV2_AUDIOSYSTEM_INVALID
@ NTV2_AUDIOSYSTEM_INVALID
Definition: ntv2enums.h:3877