AJA NTV2 SDK  17.5.0.1242
NTV2 SDK 17.5.0.1242
ntv2devicecapabilities.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #ifndef NTV2_DEVICECAPABILITIES_H
9 #define NTV2_DEVICECAPABILITIES_H
10 
11 #include "ntv2driverinterface.h"
12 
21 {
22  public:
23  explicit inline DeviceCapabilities (CNTV2DriverInterface & inDev) : dev(inDev) {}
24  inline operator bool() const {return dev.IsOpen();}
25  inline bool CanChangeEmbeddedAudioClock (void) {return dev.IsSupported(kDeviceCanChangeEmbeddedAudioClock);}
26  inline bool CanChangeFrameBufferSize (void) {return dev.IsSupported(kDeviceCanChangeFrameBufferSize);}
27  inline bool CanDisableUFC (void) {return dev.IsSupported(kDeviceCanDisableUFC);}
28  inline bool CanDo12gRouting (void) {return dev.IsSupported(kDeviceCanDo12gRouting);}
29  inline bool CanDo12GSDI (void) {return dev.IsSupported(kDeviceCanDo12GSDI);}
30  inline bool CanDo2110 (void) {return dev.IsSupported(kDeviceCanDo2110);}
31  inline bool CanDo2KVideo (void) {return dev.IsSupported(kDeviceCanDo2KVideo);}
32  inline bool CanDo3GLevelConversion (void) {return dev.IsSupported(kDeviceCanDo3GLevelConversion);}
33  inline bool CanDo425Mux (void) {return dev.IsSupported(kDeviceCanDo425Mux);}
34  inline bool CanDo4KVideo (void) {return dev.IsSupported(kDeviceCanDo4KVideo);}
35  inline bool CanDo8KVideo (void) {return dev.IsSupported(kDeviceCanDo8KVideo);}
36  inline bool CanDoAESAudioIn (void) {return dev.IsSupported(kDeviceCanDoAESAudioIn);}
37  inline bool CanDoAESAudioOut (void) {return dev.IsSupported(kDeviceCanDoAESAudioOut);}
38  inline bool CanDoAnalogAudio (void) {return dev.IsSupported(kDeviceCanDoAnalogAudio);}
39  inline bool CanDoAnalogVideoIn (void) {return dev.IsSupported(kDeviceCanDoAnalogVideoIn);}
40  inline bool CanDoAnalogVideoOut (void) {return dev.IsSupported(kDeviceCanDoAnalogVideoOut);}
41  inline bool CanDoAudio192K (void) {return dev.IsSupported(kDeviceCanDoAudio192K);}
42  inline bool CanDoAudio2Channels (void) {return dev.IsSupported(kDeviceCanDoAudio2Channels);}
43  inline bool CanDoAudio6Channels (void) {return dev.IsSupported(kDeviceCanDoAudio6Channels);}
44  inline bool CanDoAudio8Channels (void) {return dev.IsSupported(kDeviceCanDoAudio8Channels);}
45  inline bool CanDoAudio96K (void) {return dev.IsSupported(kDeviceCanDoAudio96K);}
46  inline bool CanDoAudioDelay (void) {return dev.IsSupported(kDeviceCanDoAudioDelay);}
47  inline bool CanDoAudioInput (void) {return dev.IsSupported(kDeviceCanDoAudioInput);}
48  inline bool CanDoAudioMixer (void) {return dev.IsSupported(kDeviceCanDoAudioMixer);}
49  inline bool CanDoAudioOutput (void) {return dev.IsSupported(kDeviceCanDoAudioOutput);}
50  inline bool CanDoBreakoutBoard (void) {return dev.IsSupported(kDeviceCanDoBreakoutBoard);}
51  inline bool CanDoBreakoutBox (void) {return dev.IsSupported(kDeviceCanDoBreakoutBox);}
52  inline bool CanDoCapture (void) {return dev.IsSupported(kDeviceCanDoCapture);}
53  inline bool CanDoColorCorrection (void) {return dev.IsSupported(kDeviceCanDoColorCorrection);}
54  inline bool CanDoCustomAnc (void) {return dev.IsSupported(kDeviceCanDoCustomAnc);}
55  inline bool CanDoCustomHancInsertion (void) {return dev.IsSupported(kDeviceCanDoCustomHancInsertion);}
56  inline bool CanDoDSKOpacity (void) {return dev.IsSupported(kDeviceCanDoDSKOpacity);}
57  inline bool CanDoDualLink (void) {return dev.IsSupported(kDeviceCanDoDualLink);}
58  inline bool CanDoDVCProHD (void) {return dev.IsSupported(kDeviceCanDoDVCProHD);}
59  inline bool CanDoEnhancedCSC (void) {return dev.IsSupported(kDeviceCanDoEnhancedCSC);}
60  inline bool CanDoFramePulseSelect (void) {return dev.IsSupported(kDeviceCanDoFramePulseSelect);}
61  inline bool CanDoFrameStore1Display (void) {return dev.IsSupported(kDeviceCanDoFrameStore1Display);}
62  inline bool CanDoHDMIAuxCapture (void) {return dev.IsSupported(kDeviceCanDoHDMIAuxCapture);}
63  inline bool CanDoHDMIAuxPlayback (void) {return dev.IsSupported(kDeviceCanDoHDMIAuxPlayback);}
64  inline bool CanDoHDMIHDROut (void) {return dev.IsSupported(kDeviceCanDoHDMIHDROut);}
65  inline bool CanDoHDMIMultiView (void) {return dev.IsSupported(kDeviceCanDoHDMIMultiView);}
66  inline bool CanDoHDMIOutStereo (void) {return dev.IsSupported(kDeviceCanDoHDMIOutStereo);}
67  inline bool CanDoHDMIQuadRasterConversion (void) {return dev.IsSupported(kDeviceCanDoHDMIQuadRasterConversion);}
68  inline bool CanDoHDV (void) {return dev.IsSupported(kDeviceCanDoHDV);}
69  inline bool CanDoHDVideo (void) {return dev.IsSupported(kDeviceCanDoHDVideo);}
70  inline bool CanDoHFRRGB (void) {return dev.IsSupported(kDeviceCanDoHFRRGB);}
71  inline bool CanDoIP (void) {return dev.IsSupported(kDeviceCanDoIP);}
72  inline bool CanDoIsoConvert (void) {return dev.IsSupported(kDeviceCanDoIsoConvert);}
73  inline bool CanDoJ2K (void) {return dev.IsSupported(kDeviceCanDoJ2K);}
74  inline bool CanDoLTC (void) {return dev.IsSupported(kDeviceCanDoLTC);}
75  inline bool CanDoLTCInOnRefPort (void) {return dev.IsSupported(kDeviceCanDoLTCInOnRefPort);}
76  inline bool CanDoMSI (void) {return dev.IsSupported(kDeviceCanDoMSI);}
77  inline bool CanDoMultiFormat (void) {return dev.IsSupported(kDeviceCanDoMultiFormat);}
78  inline bool CanDoMultiLinkAudio (void) {return dev.IsSupported(kDeviceCanDoMultiLinkAudio);}
79  inline bool CanDoPCMControl (void) {return dev.IsSupported(kDeviceCanDoPCMControl);}
80  inline bool CanDoPCMDetection (void) {return dev.IsSupported(kDeviceCanDoPCMDetection);}
81  inline bool CanDoPIO (void) {return dev.IsSupported(kDeviceCanDoPIO);}
82  inline bool CanDoPlayback (void) {return dev.IsSupported(kDeviceCanDoPlayback);}
83  inline bool CanDoProgrammableRS422 (void) {return dev.IsSupported(kDeviceCanDoProgrammableRS422);}
84  inline bool CanDoProRes (void) {return dev.IsSupported(kDeviceCanDoProRes);}
85  inline bool CanDoQREZ (void) {return dev.IsSupported(kDeviceCanDoQREZ);}
86  inline bool CanDoQuarterExpand (void) {return dev.IsSupported(kDeviceCanDoQuarterExpand);}
87  inline bool CanDoRateConvert (void) {return dev.IsSupported(kDeviceCanDoRateConvert);}
88  inline bool CanDoRGBLevelAConversion (void) {return dev.IsSupported(kDeviceCanDoRGBLevelAConversion);}
89  inline bool CanDoRGBPlusAlphaOut (void) {return dev.IsSupported(kDeviceCanDoRGBPlusAlphaOut);}
90  inline bool CanDoRP188 (void) {return dev.IsSupported(kDeviceCanDoRP188);}
91  inline bool CanDoSDIErrorChecks (void) {return dev.IsSupported(kDeviceCanDoSDIErrorChecks);}
92  inline bool CanDoSDVideo (void) {return dev.IsSupported(kDeviceCanDoSDVideo);}
93  inline bool CanDoStackedAudio (void) {return dev.IsSupported(kDeviceCanDoStackedAudio);}
94  inline bool CanDoStereoIn (void) {return dev.IsSupported(kDeviceCanDoStereoIn);}
95  inline bool CanDoStereoOut (void) {return dev.IsSupported(kDeviceCanDoStereoOut);}
96  inline bool CanDoStreamingDMA (void) {return dev.IsSupported(kDeviceCanDoStreamingDMA);}
97  inline bool CanDoThunderbolt (void) {return dev.IsSupported(kDeviceCanDoThunderbolt);}
98  inline bool CanDoVideoProcessing (void) {return dev.IsSupported(kDeviceCanDoVideoProcessing);}
99  inline bool CanDoVITC2 (void) {return dev.IsSupported(kDeviceCanDoVITC2);}
100  inline bool CanDoWarmBootFPGA (void) {return dev.IsSupported(kDeviceCanDoWarmBootFPGA);}
101  inline bool CanMeasureTemperature (void) {return dev.IsSupported(kDeviceCanMeasureTemperature);}
102  inline bool CanReportFailSafeLoaded (void) {return dev.IsSupported(kDeviceCanReportFailSafeLoaded);}
103  inline bool CanReportFrameSize (void) {return dev.IsSupported(kDeviceCanReportFrameSize);}
104  inline bool CanReportRunningFirmwareDate (void) {return dev.IsSupported(kDeviceCanReportRunningFirmwareDate);}
105  inline bool CanThermostat (void) {return dev.IsSupported(kDeviceCanThermostat);}
106  inline bool HasAudioMonitorRCAJacks (void) {return dev.IsSupported(kDeviceHasAudioMonitorRCAJacks);}
107  inline bool HasBiDirectionalAnalogAudio (void) {return dev.IsSupported(kDeviceHasBiDirectionalAnalogAudio);}
108  inline bool HasBiDirectionalSDI (void) {return dev.IsSupported(kDeviceHasBiDirectionalSDI);}
109  inline bool HasBreakoutBoard (void) {return dev.IsSupported(kDeviceHasBreakoutBoard);}
110  inline bool HasColorSpaceConverterOnChannel2 (void) {return dev.IsSupported(kDeviceHasColorSpaceConverterOnChannel2);}
111  inline bool HasCrosspointConnectROM (void) {return dev.IsSupported(kDeviceHasXptConnectROM);}
112  inline bool HasGenlockv2 (void) {return dev.IsSupported(kDeviceHasGenlockv2);}
113  inline bool HasGenlockv3 (void) {return dev.IsSupported(kDeviceHasGenlockv3);}
114  inline bool HasHeadphoneJack (void) {return dev.IsSupported(kDeviceHasHeadphoneJack);}
115  inline bool HasHEVCM30 (void) {return dev.IsSupported(kDeviceHasHEVCM30);}
116  inline bool HasHEVCM31 (void) {return dev.IsSupported(kDeviceHasHEVCM31);}
117  inline bool HasIDSwitch (void) {return dev.IsSupported(kDeviceHasIDSwitch);}
118  inline bool HasLEDAudioMeters (void) {return dev.IsSupported(kDeviceHasLEDAudioMeters);}
119  inline bool HasMicInput (void) {return dev.IsSupported(kDeviceHasMicrophoneInput);}
120  inline bool HasNTV4FrameStores (void) {return dev.IsSupported(kDeviceHasNTV4FrameStores);}
121  inline bool HasNWL (void) {return dev.IsSupported(kDeviceHasNWL);}
122  inline bool HasPCIeGen2 (void) {return dev.IsSupported(kDeviceHasPCIeGen2);}
123  inline bool HasPWMFanControl (void) {return dev.IsSupported(kDeviceHasPWMFanControl);}
124  inline bool HasRetailSupport (void) {return dev.IsSupported(kDeviceHasRetailSupport);}
125  inline bool HasRotaryEncoder (void) {return dev.IsSupported(kDeviceHasRotaryEncoder);}
126  inline bool HasSDIRelays (void) {return dev.IsSupported(kDeviceHasSDIRelays);}
127  inline bool HasSPIFlash (void) {return dev.IsSupported(kDeviceHasSPIFlash);}
128  inline bool HasSPIFlashSerial (void) {return dev.IsSupported(kDeviceHasSPIFlashSerial);}
129  inline bool HasSPIv2 (void) {return dev.IsSupported(kDeviceHasSPIv2);}
130  inline bool HasSPIv3 (void) {return dev.IsSupported(kDeviceHasSPIv3);}
131  inline bool HasSPIv4 (void) {return dev.IsSupported(kDeviceHasSPIv4);}
132  inline bool HasSPIv5 (void) {return dev.IsSupported(kDeviceHasSPIv5);}
133  inline bool HasXilinxDMA (void) {return dev.IsSupported(kDeviceHasXilinxDMA);}
134  inline bool Is64Bit (void) {return dev.IsSupported(kDeviceIs64Bit);}
135  inline bool IsDirectAddressable (void) {return dev.IsSupported(kDeviceIsDirectAddressable);}
136  inline bool IsDNxIV (void) {return dev.IsSupported(kDeviceHasMicrophoneInput);}
137  inline bool IsExternalToHost (void) {return dev.IsSupported(kDeviceIsExternalToHost);}
138  inline bool IsSupported (void) {return dev.IsSupported(kDeviceIsSupported);}
139  inline bool NeedsRoutingSetup (void) {return dev.IsSupported(kDeviceNeedsRoutingSetup);}
140  inline bool SoftwareCanChangeFrameBufferSize (void) {return dev.IsSupported(kDeviceSoftwareCanChangeFrameBufferSize);}
141  inline ULWord GetActiveMemorySize (void) {return dev.GetNumSupported(kDeviceGetActiveMemorySize);}
142  inline UWord GetDACVersion (void) {return UWord(dev.GetNumSupported(kDeviceGetDACVersion));}
143  inline UWord GetDownConverterDelay (void) {return UWord(dev.GetNumSupported(kDeviceGetDownConverterDelay));}
144  inline ULWord GetHDMIVersion (void) {return dev.GetNumSupported(kDeviceGetHDMIVersion);}
145  inline ULWord GetLUTVersion (void) {return dev.GetNumSupported(kDeviceGetLUTVersion);}
146  inline ULWord GetSPIFlashVersion (void) {return dev.GetNumSupported(kDeviceGetSPIFlashVersion);}
147  inline UWord GetMaxAudioChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetMaxAudioChannels));}
148  inline ULWord GetMaxRegisterNumber (void) {return dev.GetNumSupported(kDeviceGetMaxRegisterNumber);}
149  inline ULWord GetMaxTransferCount (void) {return dev.GetNumSupported(kDeviceGetMaxTransferCount);}
150  inline UWord GetNum2022ChannelsSFP1 (void) {return UWord(dev.GetNumSupported(kDeviceGetNum2022ChannelsSFP1));}
151  inline UWord GetNum2022ChannelsSFP2 (void) {return UWord(dev.GetNumSupported(kDeviceGetNum2022ChannelsSFP2));}
152  inline UWord GetNum4kQuarterSizeConverters (void) {return UWord(dev.GetNumSupported(kDeviceGetNum4kQuarterSizeConverters));}
153  inline UWord GetNumAESAudioInputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAESAudioInputChannels));}
154  inline UWord GetNumAESAudioOutputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAESAudioOutputChannels));}
155  inline UWord GetNumAnalogAudioInputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAnalogAudioInputChannels));}
156  inline UWord GetNumAnalogAudioOutputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAnalogAudioOutputChannels));}
157  inline UWord GetNumAnalogVideoInputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAnalogVideoInputs));}
158  inline UWord GetNumAnalogVideoOutputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAnalogVideoOutputs));}
159  inline UWord GetNumAudioSystems (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAudioSystems));}
160  inline UWord GetNumCrossConverters (void) {return UWord(dev.GetNumSupported(kDeviceGetNumCrossConverters));}
161  inline UWord GetNumCSCs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumCSCs));}
162  inline ULWord GetNumDMAEngines (void) {return dev.GetNumSupported(kDeviceGetNumDMAEngines);}
163  inline UWord GetNumDownConverters (void) {return UWord(dev.GetNumSupported(kDeviceGetNumDownConverters));}
164  inline UWord GetNumEmbeddedAudioInputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumEmbeddedAudioInputChannels));}
165  inline UWord GetNumEmbeddedAudioOutputChannels (void){return UWord(dev.GetNumSupported(kDeviceGetNumEmbeddedAudioOutputChannels));}
166  inline UWord GetNumFrameStores (void) {return UWord(dev.GetNumSupported(kDeviceGetNumFrameStores));}
167  inline UWord GetNumFrameSyncs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumFrameSyncs));}
168  inline UWord GetNumHDMIAudioInputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumHDMIAudioInputChannels));}
169  inline UWord GetNumHDMIAudioOutputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumHDMIAudioOutputChannels));}
170  inline UWord GetNumHDMIVideoInputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumHDMIVideoInputs));}
171  inline UWord GetNumHDMIVideoOutputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumHDMIVideoOutputs));}
172  inline UWord GetNumInputConverters (void) {return UWord(dev.GetNumSupported(kDeviceGetNumInputConverters));}
173  inline UWord GetNumLTCInputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumLTCInputs));}
174  inline UWord GetNumLTCOutputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumLTCOutputs));}
175  inline UWord GetNumLUTBanks (void) {return UWord(dev.GetNumSupported(kDeviceGetNumLUTBanks));}
176  inline UWord GetNumLUTs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumLUTs));}
177  inline UWord GetNumMicInputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumMicInputs));}
178  inline UWord GetNumMixers (void) {return UWord(dev.GetNumSupported(kDeviceGetNumMixers));}
179  inline UWord GetNumOutputConverters (void) {return UWord(dev.GetNumSupported(kDeviceGetNumOutputConverters));}
180  inline UWord GetNumReferenceVideoInputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumReferenceVideoInputs));}
181  inline UWord GetNumSerialPorts (void) {return UWord(dev.GetNumSupported(kDeviceGetNumSerialPorts));}
182  inline UWord GetNumTSIMuxers (void) {return UWord(dev.GetNumSupported(kDeviceGetNumTSIMuxers));}
183  inline UWord GetNumUpConverters (void) {return UWord(dev.GetNumSupported(kDeviceGetNumUpConverters));}
184  inline ULWord GetNumVideoChannels (void) {return dev.GetNumSupported(kDeviceGetNumVideoChannels);}
185  inline UWord GetNumVideoInputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumVideoInputs));}
186  inline UWord GetNumVideoOutputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumVideoOutputs));}
187  inline ULWord GetPingLED (void) {return dev.GetNumSupported(kDeviceGetPingLED);}
188  inline UWord GetTotalNumAudioSystems (void) {return UWord(dev.GetNumSupported(kDeviceGetTotalNumAudioSystems));}
189  inline UWord GetNumBufferedAudioSystems (void) {return UWord(dev.GetNumSupported(kDeviceGetNumBufferedAudioSystems));}
190  inline ULWord GetUFCVersion (void) {return dev.GetNumSupported(kDeviceGetUFCVersion);}
191 
196  inline bool CanDoChannel (const NTV2Channel inChannel)
197  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_Channel));
198  return itms.find(ULWord(inChannel)) != itms.end();
199  }
200 
205  inline bool CanDoConversionMode (const NTV2ConversionMode inMode)
206  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_ConversionMode));
207  return itms.find(ULWord(inMode)) != itms.end();
208  }
209 
214  inline bool CanDoDSKMode (const NTV2DSKMode inMode)
215  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_DSKMode));
216  return itms.find(ULWord(inMode)) != itms.end();
217  }
218 
223  inline bool CanDoFrameBufferFormat (const NTV2PixelFormat inPF)
224  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_PixelFormat));
225  return itms.find(ULWord(inPF)) != itms.end();
226  }
227  inline bool CanDoPixelFormat (const NTV2PixelFormat inPF) {return CanDoFrameBufferFormat(inPF);}
228 
233  inline bool CanDoInputSource (const NTV2InputSource inSrc)
234  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_InputSource));
235  return itms.find(ULWord(inSrc)) != itms.end();
236  }
237 
243  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_OutputDest));
244  return itms.find(ULWord(inDest)) != itms.end();
245  }
246 
251  inline bool CanDoVideoFormat (const NTV2VideoFormat inVF)
252  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_VideoFormat));
253  return itms.find(ULWord(inVF)) != itms.end();
254  }
255 
260  inline bool CanDoWidget (const NTV2WidgetID inWgtID)
261  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_WidgetID));
262  return itms.find(ULWord(inWgtID)) != itms.end();
263  }
264 
270  bool CanDoWidget (const NTV2WidgetType inWgtType, const UWord index0);
271 
276  { NTV2PixelFormats result;
277  const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_PixelFormat));
278  for (ULWordSetConstIter it(itms.begin()); it != itms.end(); ++it)
279  result.insert(NTV2PixelFormat(*it));
280  return result;
281  }
282 
287  { NTV2VideoFormatSet result;
288  const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_VideoFormat));
289  for (ULWordSetConstIter it(itms.begin()); it != itms.end(); ++it)
290  result.insert(NTV2VideoFormat(*it));
291  return result;
292  }
293 
298  { NTV2TCIndexes result;
299  const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_InputTCIndex));
300  for (ULWordSetConstIter it(itms.begin()); it != itms.end(); ++it)
301  result.insert(NTV2TCIndex(*it));
302  return result;
303  }
304 
309  { NTV2TCIndexes result;
310  const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_OutputTCIndex));
311  for (ULWordSetConstIter it(itms.begin()); it != itms.end(); ++it)
312  result.insert(NTV2TCIndex(*it));
313  return result;
314  }
315 
320  inline bool CanDoInputTCIndex (const NTV2TCIndex inTCNdx)
321  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_InputTCIndex));
322  return itms.find(ULWord(inTCNdx)) != itms.end();
323  }
324 
329  inline bool CanDoOutputTCIndex (const NTV2TCIndex inTCNdx)
330  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_OutputTCIndex));
331  return itms.find(ULWord(inTCNdx)) != itms.end();
332  }
333  private:
334  CNTV2DriverInterface & dev;
335 }; // DeviceCapabilities
336 
337 #endif // NTV2_DEVICECAPABILITIES_H
kDeviceCanDoMSI
@ kDeviceCanDoMSI
True if device DMA hardware supports MSI (Message Signaled Interrupts).
Definition: ntv2devicefeatures.h:69
kDeviceGetNumVideoInputs
@ kDeviceGetNumVideoInputs
The number of SDI video inputs on the device.
Definition: ntv2devicefeatures.h:207
kDeviceHasBiDirectionalSDI
@ kDeviceHasBiDirectionalSDI
True if device SDI connectors are bi-directional.
Definition: ntv2devicefeatures.h:92
kDeviceCanDoAudioOutput
@ kDeviceCanDoAudioOutput
True if device has any audio output capability (SDI, HDMI or analog) (New in SDK 17....
Definition: ntv2devicefeatures.h:148
kDeviceCanDoAudio6Channels
@ kDeviceCanDoAudio6Channels
True if audio system(s) support 6 or more audio channels.
Definition: ntv2devicefeatures.h:49
kDeviceCanDoPIO
@ kDeviceCanDoPIO
True if device supports Programmed I/O.
Definition: ntv2devicefeatures.h:73
kDeviceCanDoStackedAudio
@ kDeviceCanDoStackedAudio
True if device uses a "stacked" arrangement of its audio buffers.
Definition: ntv2devicefeatures.h:85
kDeviceGetNumMixers
@ kDeviceGetNumMixers
The number of mixer/keyer widgets on the device.
Definition: ntv2devicefeatures.h:202
kDeviceGetNumFrameStores
@ kDeviceGetNumFrameStores
The number of FrameStores on the device.
Definition: ntv2devicefeatures.h:194
DeviceCapabilities::CanDoVideoFormat
bool CanDoVideoFormat(const NTV2VideoFormat inVF)
Definition: ntv2devicecapabilities.h:251
kDeviceCanMeasureTemperature
@ kDeviceCanMeasureTemperature
True if device can measure its FPGA die temperature.
Definition: ntv2devicefeatures.h:90
kDeviceHasSPIv4
@ kDeviceHasSPIv4
Use kDeviceGetSPIVersion instead.
Definition: ntv2devicefeatures.h:102
kNTV2EnumsID_OutputTCIndex
@ kNTV2EnumsID_OutputTCIndex
Identifies the NTV2TCIndex enumerated type for output.
Definition: ntv2devicefeatures.h:251
kDeviceCanDoIP
@ kDeviceCanDoIP
True if device has SFP connectors.
Definition: ntv2devicefeatures.h:127
NTV2OutputDestination
NTV2OutputDestination
Identifies a specific video output destination.
Definition: ntv2enums.h:1301
kDeviceCanDoHDMIMultiView
@ kDeviceCanDoHDMIMultiView
True if device can rasterize 4 HD signals into a single HDMI output.
Definition: ntv2devicefeatures.h:124
kDeviceCanDoVideoProcessing
@ kDeviceCanDoVideoProcessing
True if device can do video processing.
Definition: ntv2devicefeatures.h:89
kDeviceGetSPIFlashVersion
@ kDeviceGetSPIFlashVersion
The SPI-flash version on the device. (New in SDK 17.1)
Definition: ntv2devicefeatures.h:218
NTV2PixelFormats
NTV2FrameBufferFormatSet NTV2PixelFormats
Definition: ntv2publicinterface.h:8807
kNTV2EnumsID_VideoFormat
@ kNTV2EnumsID_VideoFormat
Identifies the NTV2VideoFormat enumerated type.
Definition: ntv2devicefeatures.h:239
kDeviceGetUFCVersion
@ kDeviceGetUFCVersion
The version number of the UFC on the device.
Definition: ntv2devicefeatures.h:180
kDeviceHasXptConnectROM
@ kDeviceHasXptConnectROM
True if device has a crosspoint connection ROM (New in SDK 17.0)
Definition: ntv2devicefeatures.h:146
kDeviceGetNumDownConverters
@ kDeviceGetNumDownConverters
The number of down-converters on the device.
Definition: ntv2devicefeatures.h:191
NTV2TCIndexes
std::set< NTV2TCIndex > NTV2TCIndexes
Definition: ntv2publicinterface.h:6879
kDeviceCanDoHDV
@ kDeviceCanDoHDV
True if device can squeeze/stretch between 1920x1080 and 1440x1080.
Definition: ntv2devicefeatures.h:64
kDeviceCanDoSDIErrorChecks
@ kDeviceCanDoSDIErrorChecks
True if device can perform SDI error checking.
Definition: ntv2devicefeatures.h:84
NTV2Channel
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
Definition: ntv2enums.h:1334
NTV2WidgetType
NTV2WidgetType
Definition: ntv2enums.h:3004
kDeviceGetNumAnalogAudioInputChannels
@ kDeviceGetNumAnalogAudioInputChannels
The number of analog audio input channels on the device.
Definition: ntv2devicefeatures.h:184
NTV2VideoFormatSet
std::set< NTV2VideoFormat > NTV2VideoFormatSet
A set of distinct NTV2VideoFormat values.
Definition: ntv2publicinterface.h:8802
kDeviceGetNumEmbeddedAudioOutputChannels
@ kDeviceGetNumEmbeddedAudioOutputChannels
The number of SDI-embedded output audio channels supported by the device.
Definition: ntv2devicefeatures.h:193
DeviceCapabilities::CanDoInputTCIndex
bool CanDoInputTCIndex(const NTV2TCIndex inTCNdx)
Definition: ntv2devicecapabilities.h:320
kDeviceCanDoAudio192K
@ kDeviceCanDoAudio192K
True if Audio System(s) support a 192kHz sample rate.
Definition: ntv2devicefeatures.h:119
DeviceCapabilities::CanDoDSKMode
bool CanDoDSKMode(const NTV2DSKMode inMode)
Definition: ntv2devicecapabilities.h:214
kDeviceIsSupported
@ kDeviceIsSupported
True if device is supported by this SDK.
Definition: ntv2devicefeatures.h:106
kDeviceHasGenlockv3
@ kDeviceHasGenlockv3
True if device has version 3 genlock hardware and/or firmware.
Definition: ntv2devicefeatures.h:135
kDeviceCanDoEnhancedCSC
@ kDeviceCanDoEnhancedCSC
True if device has enhanced CSCs.
Definition: ntv2devicefeatures.h:60
kDeviceHasHeadphoneJack
@ kDeviceHasHeadphoneJack
True if device has a headphone jack.
Definition: ntv2devicefeatures.h:136
kDeviceCanDoPlayback
@ kDeviceCanDoPlayback
Definition: ntv2devicefeatures.h:74
kDeviceCanDo4KVideo
@ kDeviceCanDo4KVideo
True if the device can handle 4K/UHD video.
Definition: ntv2devicefeatures.h:43
kNTV2EnumsID_OutputDest
@ kNTV2EnumsID_OutputDest
Identifies the NTV2OutputDest enumerated type.
Definition: ntv2devicefeatures.h:242
kDeviceGetNumReferenceVideoInputs
@ kDeviceGetNumReferenceVideoInputs
The number of external reference video inputs on the device.
Definition: ntv2devicefeatures.h:204
kDeviceCanReportRunningFirmwareDate
@ kDeviceCanReportRunningFirmwareDate
True if device can report its running (and not necessarily installed) firmware date.
Definition: ntv2devicefeatures.h:131
kDeviceCanDoAudio96K
@ kDeviceCanDoAudio96K
True if Audio System(s) support a 96kHz sample rate.
Definition: ntv2devicefeatures.h:51
kDeviceCanDo3GLevelConversion
@ kDeviceCanDo3GLevelConversion
True if device can do 3G level B to 3G level A conversion.
Definition: ntv2devicefeatures.h:40
kDeviceHasAudioMonitorRCAJacks
@ kDeviceHasAudioMonitorRCAJacks
True if device has a pair of unbalanced RCA audio monitor output connectors.
Definition: ntv2devicefeatures.h:132
kDeviceCanDoQuarterExpand
@ kDeviceCanDoQuarterExpand
True if device can handle quarter-sized frames (pixel-halving and line-halving during input,...
Definition: ntv2devicefeatures.h:79
DeviceCapabilities::VideoFormats
NTV2VideoFormatSet VideoFormats(void)
Definition: ntv2devicecapabilities.h:286
DeviceCapabilities::OutputTCIndexes
NTV2TCIndexes OutputTCIndexes(void)
Definition: ntv2devicecapabilities.h:308
kDeviceGetNumVideoOutputs
@ kDeviceGetNumVideoOutputs
The number of SDI video outputs on the device.
Definition: ntv2devicefeatures.h:208
kDeviceGetNum4kQuarterSizeConverters
@ kDeviceGetNum4kQuarterSizeConverters
The number of quarter-size 4K/UHD down-converters on the device.
Definition: ntv2devicefeatures.h:181
NTV2FrameBufferFormat
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
Definition: ntv2enums.h:210
kDeviceCanDoFramePulseSelect
@ kDeviceCanDoFramePulseSelect
True if device supports frame pulse source independent of reference source.
Definition: ntv2devicefeatures.h:123
kDeviceCanDo12gRouting
@ kDeviceCanDo12gRouting
True if device supports 12G routing crosspoints.
Definition: ntv2devicefeatures.h:115
kDeviceHasSPIv2
@ kDeviceHasSPIv2
Use kDeviceGetSPIVersion instead.
Definition: ntv2devicefeatures.h:100
kDeviceCanThermostat
@ kDeviceCanThermostat
True if device fan can be thermostatically controlled.
Definition: ntv2devicefeatures.h:109
DeviceCapabilities
Convenience class/API for inquiring about device capabilities of physical and virtual devices....
Definition: ntv2devicecapabilities.h:20
DeviceCapabilities::InputTCIndexes
NTV2TCIndexes InputTCIndexes(void)
Definition: ntv2devicecapabilities.h:297
kDeviceHasNTV4FrameStores
@ kDeviceHasNTV4FrameStores
True if device has NTV4 FrameStores. (New in SDK 17.0)
Definition: ntv2devicefeatures.h:145
kDeviceGetNumAESAudioOutputChannels
@ kDeviceGetNumAESAudioOutputChannels
The number of AES/EBU audio output channels on the device.
Definition: ntv2devicefeatures.h:183
kDeviceCanDoAudioMixer
@ kDeviceCanDoAudioMixer
True if device has a firmware audio mixer.
Definition: ntv2devicefeatures.h:120
kDeviceCanDoFrameStore1Display
@ kDeviceCanDoFrameStore1Display
True if device can display/output video from FrameStore 1.
Definition: ntv2devicefeatures.h:61
NTV2PixelFormat
NTV2FrameBufferFormat NTV2PixelFormat
An alias for NTV2FrameBufferFormat.
Definition: ntv2enums.h:251
kDeviceCanDoColorCorrection
@ kDeviceCanDoColorCorrection
True if device has any LUTs.
Definition: ntv2devicefeatures.h:55
kDeviceHasPCIeGen2
@ kDeviceHasPCIeGen2
True if device supports 2nd-generation PCIe.
Definition: ntv2devicefeatures.h:95
kDeviceCanDoDualLink
@ kDeviceCanDoDualLink
True if device supports 10-bit RGB input/output over 2-wire SDI.
Definition: ntv2devicefeatures.h:58
kNTV2EnumsID_InputTCIndex
@ kNTV2EnumsID_InputTCIndex
Identifies the NTV2TCIndex enumerated type for input.
Definition: ntv2devicefeatures.h:250
kDeviceCanDoWarmBootFPGA
@ kDeviceCanDoWarmBootFPGA
True if device can warm-boot to load updated firmware.
Definition: ntv2devicefeatures.h:129
kDeviceCanChangeFrameBufferSize
@ kDeviceCanChangeFrameBufferSize
True if frame buffer sizes are not fixed.
Definition: ntv2devicefeatures.h:37
DeviceCapabilities::CanDoOutputDestination
bool CanDoOutputDestination(const NTV2OutputDestination inDest)
Definition: ntv2devicecapabilities.h:242
kDeviceGetNumAnalogAudioOutputChannels
@ kDeviceGetNumAnalogAudioOutputChannels
The number of analog audio output channels on the device.
Definition: ntv2devicefeatures.h:185
kDeviceGetNumDMAEngines
@ kDeviceGetNumDMAEngines
The number of DMA engines on the device.
Definition: ntv2devicefeatures.h:177
DeviceCapabilities::PixelFormats
NTV2PixelFormats PixelFormats(void)
Definition: ntv2devicecapabilities.h:275
kDeviceGetNumBufferedAudioSystems
@ kDeviceGetNumBufferedAudioSystems
The total number of audio systems on the device that can read/write audio buffer memory....
Definition: ntv2devicefeatures.h:216
kDeviceGetNumLUTs
@ kDeviceGetNumLUTs
The number of LUT widgets on the device.
Definition: ntv2devicefeatures.h:201
kDeviceHasSDIRelays
@ kDeviceHasSDIRelays
True if device has bypass relays on its SDI connectors.
Definition: ntv2devicefeatures.h:97
kDeviceCanDoAudioDelay
@ kDeviceCanDoAudioDelay
True if Audio System(s) support an adjustable delay.
Definition: ntv2devicefeatures.h:52
kDeviceCanDoBreakoutBoard
@ kDeviceCanDoBreakoutBoard
True if device supports an AJA breakout board. (New in SDK 17.0)
Definition: ntv2devicefeatures.h:142
kDeviceGetDACVersion
@ kDeviceGetDACVersion
The version number of the DAC on the device.
Definition: ntv2devicefeatures.h:170
ULWordSetConstIter
ULWordSet::const_iterator ULWordSetConstIter
Definition: ntv2publicinterface.h:55
kDeviceCanDoLTC
@ kDeviceCanDoLTC
True if device can read LTC (Linear TimeCode) from one of its inputs.
Definition: ntv2devicefeatures.h:67
kDeviceCanDoDVCProHD
@ kDeviceCanDoDVCProHD
True if device can squeeze/stretch between 1920x1080/1280x1080 and 1280x720/960x720.
Definition: ntv2devicefeatures.h:59
kDeviceCanDoHFRRGB
@ kDeviceCanDoHFRRGB
True if device supports 1080p RGB at more than 50Hz frame rates.
Definition: ntv2devicefeatures.h:126
kDeviceCanDoAnalogAudio
@ kDeviceCanDoAnalogAudio
True if device has any analog inputs or outputs.
Definition: ntv2devicefeatures.h:45
kDeviceCanDoProgrammableRS422
@ kDeviceCanDoProgrammableRS422
True if device has at least one RS-422 serial port, and it (they) can be programmed (for baud rate,...
Definition: ntv2devicefeatures.h:76
kDeviceGetNumAudioSystems
@ kDeviceGetNumAudioSystems
The number of independent Audio Systems on the device.
Definition: ntv2devicefeatures.h:188
kDeviceHasSPIv3
@ kDeviceHasSPIv3
Use kDeviceGetSPIVersion instead.
Definition: ntv2devicefeatures.h:101
kDeviceSoftwareCanChangeFrameBufferSize
@ kDeviceSoftwareCanChangeFrameBufferSize
True if device frame buffer size can be changed.
Definition: ntv2devicefeatures.h:108
kDeviceCanDoThunderbolt
@ kDeviceCanDoThunderbolt
True if device connects to the host using a Thunderbolt cable.
Definition: ntv2devicefeatures.h:88
kDeviceCanDo2110
@ kDeviceCanDo2110
True if device supports SMPTE ST2110.
Definition: ntv2devicefeatures.h:117
kDeviceCanDoRGBLevelAConversion
@ kDeviceCanDoRGBLevelAConversion
True if the device can do RGB over 3G Level A.
Definition: ntv2devicefeatures.h:41
kDeviceGetNum2022ChannelsSFP1
@ kDeviceGetNum2022ChannelsSFP1
The number of 2022 channels configured on SFP 1 on the device.
Definition: ntv2devicefeatures.h:209
kDeviceHasRotaryEncoder
@ kDeviceHasRotaryEncoder
True if device has a rotary encoder volume control.
Definition: ntv2devicefeatures.h:138
kDeviceHasSPIFlashSerial
@ kDeviceHasSPIFlashSerial
True if device has serial SPI flash hardware.
Definition: ntv2devicefeatures.h:99
ULWordSet
std::set< ULWord > ULWordSet
A collection of unique ULWord (uint32_t) values.
Definition: ntv2publicinterface.h:54
kDeviceCanDoHDMIHDROut
@ kDeviceCanDoHDMIHDROut
True if device supports HDMI HDR output.
Definition: ntv2devicefeatures.h:113
ULWord
uint32_t ULWord
Definition: ajatypes.h:255
kDeviceCanDoProRes
@ kDeviceCanDoProRes
True if device can can accommodate Apple ProRes-compressed video in its frame buffers.
Definition: ntv2devicefeatures.h:77
kDeviceGetNumVideoChannels
@ kDeviceGetNumVideoChannels
The number of video channels supported on the device.
Definition: ntv2devicefeatures.h:178
kDeviceGetNumAnalogVideoInputs
@ kDeviceGetNumAnalogVideoInputs
The number of analog video inputs on the device.
Definition: ntv2devicefeatures.h:186
kDeviceCanDoHDMIQuadRasterConversion
@ kDeviceCanDoHDMIQuadRasterConversion
True if HDMI in/out supports square-division (quad) raster conversion. (New in SDK 17....
Definition: ntv2devicefeatures.h:151
kNTV2EnumsID_ConversionMode
@ kNTV2EnumsID_ConversionMode
Identifies the NTV2ConversionMode enumerated type.
Definition: ntv2devicefeatures.h:248
kDeviceGetLUTVersion
@ kDeviceGetLUTVersion
The version number of the LUT(s) on the device.
Definition: ntv2devicefeatures.h:173
kDeviceCanDoHDMIOutStereo
@ kDeviceCanDoHDMIOutStereo
True if device supports 3D/stereo HDMI video output.
Definition: ntv2devicefeatures.h:63
kDeviceCanDoLTCInOnRefPort
@ kDeviceCanDoLTCInOnRefPort
True if device can read LTC (Linear TimeCode) from its reference input.
Definition: ntv2devicefeatures.h:68
NTV2TCIndex
NTV2TCIndex
These enum values are indexes into the capture/playout AutoCirculate timecode arrays.
Definition: ntv2enums.h:3904
kDeviceCanDoPCMDetection
@ kDeviceCanDoPCMDetection
True if device can detect which audio channel pairs are not carrying PCM (Pulse Code Modulation) audi...
Definition: ntv2devicefeatures.h:72
kDeviceIs64Bit
@ kDeviceIs64Bit
True if device is 64-bit addressable.
Definition: ntv2devicefeatures.h:103
kDeviceGetHDMIVersion
@ kDeviceGetHDMIVersion
The version number of the HDMI chipset on the device.
Definition: ntv2devicefeatures.h:172
kDeviceCanDisableUFC
@ kDeviceCanDisableUFC
True if there's at least one UFC, and it can be disabled.
Definition: ntv2devicefeatures.h:38
kDeviceHasXilinxDMA
@ kDeviceHasXilinxDMA
True if device has Xilinx DMA hardware.
Definition: ntv2devicefeatures.h:140
kDeviceGetMaxRegisterNumber
@ kDeviceGetMaxRegisterNumber
The highest register number for the device.
Definition: ntv2devicefeatures.h:175
kDeviceCanDoVITC2
@ kDeviceCanDoVITC2
True if device can insert or extract RP-188/VITC2.
Definition: ntv2devicefeatures.h:112
kDeviceHasHEVCM31
@ kDeviceHasHEVCM31
True if device has an HEVC M31 encoder.
Definition: ntv2devicefeatures.h:110
kDeviceGetNumInputConverters
@ kDeviceGetNumInputConverters
The number of input converter widgets on the device.
Definition: ntv2devicefeatures.h:200
UWord
uint16_t UWord
Definition: ajatypes.h:253
kNTV2EnumsID_InputSource
@ kNTV2EnumsID_InputSource
Identifies the NTV2InputSource enumerated type.
Definition: ntv2devicefeatures.h:241
kDeviceHasSPIv5
@ kDeviceHasSPIv5
Use kDeviceGetSPIVersion instead.
Definition: ntv2devicefeatures.h:139
kDeviceCanDoSDVideo
@ kDeviceCanDoSDVideo
True if device can handle SD (Standard Definition) video.
Definition: ntv2devicefeatures.h:83
kDeviceCanDoMultiLinkAudio
@ kDeviceCanDoMultiLinkAudio
True if device supports grouped audio system control.
Definition: ntv2devicefeatures.h:128
kDeviceCanDoAudioInput
@ kDeviceCanDoAudioInput
True if device has any audio input capability (SDI, HDMI or analog) (New in SDK 17....
Definition: ntv2devicefeatures.h:147
kDeviceGetMaxTransferCount
@ kDeviceGetMaxTransferCount
The maximum number of 32-bit words that the DMA engine can move at a time on the device.
Definition: ntv2devicefeatures.h:176
kDeviceCanDoPCMControl
@ kDeviceCanDoPCMControl
True if device can mark specific audio channel pairs as not carrying PCM (Pulse Code Modulation) audi...
Definition: ntv2devicefeatures.h:71
NTV2WidgetID
NTV2WidgetID
Definition: ntv2enums.h:2878
DeviceCapabilities::DeviceCapabilities
DeviceCapabilities(CNTV2DriverInterface &inDev)
Definition: ntv2devicecapabilities.h:23
DeviceCapabilities::CanDoInputSource
bool CanDoInputSource(const NTV2InputSource inSrc)
Definition: ntv2devicecapabilities.h:233
kDeviceCanDoAnalogVideoOut
@ kDeviceCanDoAnalogVideoOut
True if device has one or more analog video outputs.
Definition: ntv2devicefeatures.h:47
kDeviceHasColorSpaceConverterOnChannel2
@ kDeviceHasColorSpaceConverterOnChannel2
Calculate based on if NTV2_WgtCSC2 is present.
Definition: ntv2devicefeatures.h:93
kDeviceCanDoBreakoutBox
@ kDeviceCanDoBreakoutBox
True if device supports an AJA breakout box.
Definition: ntv2devicefeatures.h:53
kNTV2EnumsID_WidgetID
@ kNTV2EnumsID_WidgetID
Identifies the NTV2AudioWidgetID enumerated type.
Definition: ntv2devicefeatures.h:247
kDeviceIsDirectAddressable
@ kDeviceIsDirectAddressable
True if device is direct addressable.
Definition: ntv2devicefeatures.h:104
kDeviceGetPingLED
@ kDeviceGetPingLED
The highest bit number of the LED bits in the Global Control Register on the device.
Definition: ntv2devicefeatures.h:179
kDeviceCanDoStereoIn
@ kDeviceCanDoStereoIn
True if device supports 3D video input over dual-stream SDI.
Definition: ntv2devicefeatures.h:86
kDeviceGetNumMicInputs
@ kDeviceGetNumMicInputs
The number of microphone inputs on the device.
Definition: ntv2devicefeatures.h:213
NTV2DSKMode
NTV2DSKMode
Definition: ntv2enums.h:3452
kDeviceGetDownConverterDelay
@ kDeviceGetDownConverterDelay
The down-converter delay on the device.
Definition: ntv2devicefeatures.h:171
kDeviceGetNumAESAudioInputChannels
@ kDeviceGetNumAESAudioInputChannels
The number of AES/EBU audio input channels on the device.
Definition: ntv2devicefeatures.h:182
kDeviceHasRetailSupport
@ kDeviceHasRetailSupport
True if device is supported by AJA "retail" software (AJA ControlPanel & ControlRoom).
Definition: ntv2devicefeatures.h:96
kDeviceHasGenlockv2
@ kDeviceHasGenlockv2
True if device has version 2 genlock hardware and/or firmware.
Definition: ntv2devicefeatures.h:134
kDeviceGetNumFrameSyncs
@ kDeviceGetNumFrameSyncs
The number of frame sync widgets on the device.
Definition: ntv2devicefeatures.h:195
kDeviceGetNumHDMIVideoInputs
@ kDeviceGetNumHDMIVideoInputs
The number of HDMI video inputs on the device.
Definition: ntv2devicefeatures.h:198
NTV2InputSource
NTV2InputSource
Identifies a specific video input source.
Definition: ntv2enums.h:1244
kDeviceCanDoAESAudioIn
@ kDeviceCanDoAESAudioIn
True if device has any AES audio inputs or outputs.
Definition: ntv2devicefeatures.h:44
kDeviceCanDoAnalogVideoIn
@ kDeviceCanDoAnalogVideoIn
True if device has one or more analog video inputs.
Definition: ntv2devicefeatures.h:46
kDeviceGetNumCSCs
@ kDeviceGetNumCSCs
The number of colorspace converter widgets on the device.
Definition: ntv2devicefeatures.h:190
kDeviceCanDoRGBPlusAlphaOut
@ kDeviceCanDoRGBPlusAlphaOut
True if device has CSCs capable of splitting the key (alpha) and YCbCr (fill) from RGB frame buffers ...
Definition: ntv2devicefeatures.h:81
kDeviceHasIDSwitch
@ kDeviceHasIDSwitch
True if device has a mechanical identification switch. (New in SDK 17.1)
Definition: ntv2devicefeatures.h:150
kDeviceCanDoCapture
@ kDeviceCanDoCapture
True if device has any SDI, HDMI or analog video inputs.
Definition: ntv2devicefeatures.h:54
kNTV2EnumsID_DSKMode
@ kNTV2EnumsID_DSKMode
Identifies the NTV2DSKMode enumerated type.
Definition: ntv2devicefeatures.h:249
kDeviceCanReportFrameSize
@ kDeviceCanReportFrameSize
True if device can report its frame size.
Definition: ntv2devicefeatures.h:91
kDeviceGetNumHDMIVideoOutputs
@ kDeviceGetNumHDMIVideoOutputs
The number of HDMI video outputs on the device.
Definition: ntv2devicefeatures.h:199
kDeviceHasLEDAudioMeters
@ kDeviceHasLEDAudioMeters
True if device has LED audio meters.
Definition: ntv2devicefeatures.h:137
kDeviceCanChangeEmbeddedAudioClock
@ kDeviceCanChangeEmbeddedAudioClock
Definition: ntv2devicefeatures.h:36
kDeviceGetNumHDMIAudioOutputChannels
@ kDeviceGetNumHDMIAudioOutputChannels
The number of HDMI audio output channels on the device.
Definition: ntv2devicefeatures.h:197
kDeviceHasSPIFlash
@ kDeviceHasSPIFlash
True if device has SPI flash hardware.
Definition: ntv2devicefeatures.h:98
kDeviceGetNumHDMIAudioInputChannels
@ kDeviceGetNumHDMIAudioInputChannels
The number of HDMI audio input channels on the device.
Definition: ntv2devicefeatures.h:196
kDeviceNeedsRoutingSetup
@ kDeviceNeedsRoutingSetup
True if device widget routing can be queried or changed.
Definition: ntv2devicefeatures.h:107
kDeviceCanDoJ2K
@ kDeviceCanDoJ2K
True if device supports JPEG 2000 codec.
Definition: ntv2devicefeatures.h:114
kDeviceCanDoStreamingDMA
@ kDeviceCanDoStreamingDMA
True if device supports streaming DMA. (New in SDK 17.1)
Definition: ntv2devicefeatures.h:153
kDeviceIsExternalToHost
@ kDeviceIsExternalToHost
True if device connects to the host with a cable.
Definition: ntv2devicefeatures.h:105
kDeviceHasBreakoutBoard
@ kDeviceHasBreakoutBoard
True if device has attached breakout board. (New in SDK 17.0)
Definition: ntv2devicefeatures.h:143
AJAExport
#define AJAExport
Definition: export.h:33
kDeviceCanDo8KVideo
@ kDeviceCanDo8KVideo
True if device supports 8K video formats.
Definition: ntv2devicefeatures.h:118
NTV2VideoFormat
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
kDeviceHasMicrophoneInput
@ kDeviceHasMicrophoneInput
True if device has a microphone input connector.
Definition: ntv2devicefeatures.h:141
kDeviceCanDo425Mux
@ kDeviceCanDo425Mux
True if the device supports SMPTE 425 mux control.
Definition: ntv2devicefeatures.h:42
kDeviceGetNumTSIMuxers
@ kDeviceGetNumTSIMuxers
The number of TSI muxers on the device. (New in SDK 17.0)
Definition: ntv2devicefeatures.h:217
NTV2ConversionMode
NTV2ConversionMode
Definition: ntv2enums.h:3667
DeviceCapabilities::CanDoWidget
bool CanDoWidget(const NTV2WidgetID inWgtID)
Definition: ntv2devicecapabilities.h:260
kNTV2EnumsID_Channel
@ kNTV2EnumsID_Channel
Identifies the NTV2Channel enumerated type.
Definition: ntv2devicefeatures.h:243
kDeviceGetMaxAudioChannels
@ kDeviceGetMaxAudioChannels
The maximum number of audio channels that a single Audio System can support on the device.
Definition: ntv2devicefeatures.h:174
kDeviceCanDoRP188
@ kDeviceCanDoRP188
True if device can insert and/or extract RP-188/VITC.
Definition: ntv2devicefeatures.h:82
kDeviceCanDoAudio2Channels
@ kDeviceCanDoAudio2Channels
True if audio system(s) support 2 or more audio channels.
Definition: ntv2devicefeatures.h:48
DeviceCapabilities::CanDoConversionMode
bool CanDoConversionMode(const NTV2ConversionMode inMode)
Definition: ntv2devicecapabilities.h:205
kDeviceCanDoAESAudioOut
@ kDeviceCanDoAESAudioOut
True if device has any AES audio output channels (New in SDK 17.1)
Definition: ntv2devicefeatures.h:149
kDeviceCanDo12GSDI
@ kDeviceCanDo12GSDI
True if device has 12G SDI connectors.
Definition: ntv2devicefeatures.h:116
kDeviceCanDoHDVideo
@ kDeviceCanDoHDVideo
True if device can handle HD (High Definition) video.
Definition: ntv2devicefeatures.h:65
kDeviceCanDoCustomAnc
@ kDeviceCanDoCustomAnc
True if device has SDI ANC inserter/extractor firmware.
Definition: ntv2devicefeatures.h:56
kDeviceGetActiveMemorySize
@ kDeviceGetActiveMemorySize
The size, in bytes, of the device's active RAM available for video and audio.
Definition: ntv2devicefeatures.h:169
kDeviceCanDoHDMIAuxPlayback
@ kDeviceCanDoHDMIAuxPlayback
True if device has HDMI AUX data inserter(s).
Definition: ntv2devicefeatures.h:122
kDeviceGetTotalNumAudioSystems
@ kDeviceGetTotalNumAudioSystems
The total number of audio systems on the device, including host audio and mixer audio systems,...
Definition: ntv2devicefeatures.h:215
kDeviceHasNWL
@ kDeviceHasNWL
True if device has NorthWest Logic DMA hardware.
Definition: ntv2devicefeatures.h:94
kDeviceCanReportFailSafeLoaded
@ kDeviceCanReportFailSafeLoaded
True if device can report if its "fail-safe" firmware is loaded/running.
Definition: ntv2devicefeatures.h:130
kDeviceCanDoRateConvert
@ kDeviceCanDoRateConvert
True if device can do frame rate conversion.
Definition: ntv2devicefeatures.h:80
DeviceCapabilities::CanDoPixelFormat
bool CanDoPixelFormat(const NTV2PixelFormat inPF)
Definition: ntv2devicecapabilities.h:227
kDeviceCanDoAudio8Channels
@ kDeviceCanDoAudio8Channels
True if audio system(s) support 8 or more audio channels.
Definition: ntv2devicefeatures.h:50
kDeviceCanDoCustomHancInsertion
@ kDeviceCanDoCustomHancInsertion
True if device supports custom HANC packet insertion. (New in SDK 17.1)
Definition: ntv2devicefeatures.h:152
kDeviceHasHEVCM30
@ kDeviceHasHEVCM30
True if device has an HEVC M30 encoder/decoder.
Definition: ntv2devicefeatures.h:111
kDeviceCanDo2KVideo
@ kDeviceCanDo2KVideo
True if device can handle 2Kx1556 (film) video.
Definition: ntv2devicefeatures.h:39
kDeviceCanDoHDMIAuxCapture
@ kDeviceCanDoHDMIAuxCapture
True if device has HDMI AUX data extractor(s).
Definition: ntv2devicefeatures.h:121
kDeviceGetNumUpConverters
@ kDeviceGetNumUpConverters
The number of up-converters on the device.
Definition: ntv2devicefeatures.h:206
kDeviceGetNumLUTBanks
@ kDeviceGetNumLUTBanks
The number of LUT banks on the device. (New in SDK 17.0)
Definition: ntv2devicefeatures.h:214
kDeviceHasBiDirectionalAnalogAudio
@ kDeviceHasBiDirectionalAnalogAudio
True if device has a bi-directional analog audio connector.
Definition: ntv2devicefeatures.h:133
CNTV2DriverInterface
I'm the base class that undergirds the platform-specific derived classes (from which CNTV2Card is ult...
Definition: ntv2driverinterface.h:60
kDeviceGetNumAnalogVideoOutputs
@ kDeviceGetNumAnalogVideoOutputs
The number of analog video outputs on the device.
Definition: ntv2devicefeatures.h:187
DeviceCapabilities::CanDoFrameBufferFormat
bool CanDoFrameBufferFormat(const NTV2PixelFormat inPF)
Definition: ntv2devicecapabilities.h:223
kDeviceGetNum2022ChannelsSFP2
@ kDeviceGetNum2022ChannelsSFP2
The number of 2022 channels configured on SFP 2 on the device.
Definition: ntv2devicefeatures.h:210
ntv2driverinterface.h
Declares the CNTV2DriverInterface base class.
kDeviceCanDoDSKOpacity
@ kDeviceCanDoDSKOpacity
True if device mixer/keyer supports adjustable opacity.
Definition: ntv2devicefeatures.h:57
kDeviceHasPWMFanControl
@ kDeviceHasPWMFanControl
True if device has a PWM-controlled cooling fan. (New in SDK 17.1)
Definition: ntv2devicefeatures.h:154
kDeviceGetNumOutputConverters
@ kDeviceGetNumOutputConverters
The number of output converter widgets on the device.
Definition: ntv2devicefeatures.h:203
kDeviceGetNumEmbeddedAudioInputChannels
@ kDeviceGetNumEmbeddedAudioInputChannels
The number of SDI-embedded input audio channels supported by the device.
Definition: ntv2devicefeatures.h:192
kDeviceGetNumSerialPorts
@ kDeviceGetNumSerialPorts
The number of RS-422 serial ports on the device.
Definition: ntv2devicefeatures.h:205
kDeviceCanDoQREZ
@ kDeviceCanDoQREZ
True if device can handle QRez.
Definition: ntv2devicefeatures.h:78
DeviceCapabilities::CanDoChannel
bool CanDoChannel(const NTV2Channel inChannel)
Definition: ntv2devicecapabilities.h:196
kDeviceGetNumCrossConverters
@ kDeviceGetNumCrossConverters
The number of cross-converters on the device.
Definition: ntv2devicefeatures.h:189
kDeviceCanDoIsoConvert
@ kDeviceCanDoIsoConvert
True if device can do ISO conversion.
Definition: ntv2devicefeatures.h:66
kDeviceCanDoMultiFormat
@ kDeviceCanDoMultiFormat
True if device can simultaneously handle different video formats on more than one SDI input or output...
Definition: ntv2devicefeatures.h:70
kDeviceGetNumLTCOutputs
@ kDeviceGetNumLTCOutputs
The number of analog LTC outputs on the device.
Definition: ntv2devicefeatures.h:212
DeviceCapabilities::CanDoOutputTCIndex
bool CanDoOutputTCIndex(const NTV2TCIndex inTCNdx)
Definition: ntv2devicecapabilities.h:329
kDeviceCanDoStereoOut
@ kDeviceCanDoStereoOut
True if device supports 3D video output over dual-stream SDI.
Definition: ntv2devicefeatures.h:87
kDeviceGetNumLTCInputs
@ kDeviceGetNumLTCInputs
The number of analog LTC inputs on the device.
Definition: ntv2devicefeatures.h:211
kNTV2EnumsID_PixelFormat
@ kNTV2EnumsID_PixelFormat
Identifies the NTV2PixelFormat enumerated type.
Definition: ntv2devicefeatures.h:235