AJA NTV2 SDK  17.5.0.1492
NTV2 SDK 17.5.0.1492
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 IsLocalPhysical (void) {return dev.IsSupported(kDeviceIsLocalPhysical);}
139  inline bool IsSupported (void) {return dev.IsSupported(kDeviceIsSupported);}
140  inline bool NeedsRoutingSetup (void) {return dev.IsSupported(kDeviceNeedsRoutingSetup);}
141  inline bool SoftwareCanChangeFrameBufferSize (void) {return dev.IsSupported(kDeviceSoftwareCanChangeFrameBufferSize);}
142  inline bool ROMHasBankSelect (void) {return dev.IsSupported(kDeviceROMHasBankSelect);}
143 
144  inline ULWord GetActiveMemorySize (void) {return dev.GetNumSupported(kDeviceGetActiveMemorySize);}
145  inline UWord GetDACVersion (void) {return UWord(dev.GetNumSupported(kDeviceGetDACVersion));}
146  inline UWord GetDownConverterDelay (void) {return UWord(dev.GetNumSupported(kDeviceGetDownConverterDelay));}
147  inline ULWord GetHDMIVersion (void) {return dev.GetNumSupported(kDeviceGetHDMIVersion);}
148  inline ULWord GetLUTVersion (void) {return dev.GetNumSupported(kDeviceGetLUTVersion);}
149  inline ULWord GetSPIFlashVersion (void) {return dev.GetNumSupported(kDeviceGetSPIFlashVersion);}
150  inline UWord GetMaxAudioChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetMaxAudioChannels));}
151  inline ULWord GetMaxRegisterNumber (void) {return dev.GetNumSupported(kDeviceGetMaxRegisterNumber);}
152  inline ULWord GetMaxTransferCount (void) {return dev.GetNumSupported(kDeviceGetMaxTransferCount);}
153  inline UWord GetNum2022ChannelsSFP1 (void) {return UWord(dev.GetNumSupported(kDeviceGetNum2022ChannelsSFP1));}
154  inline UWord GetNum2022ChannelsSFP2 (void) {return UWord(dev.GetNumSupported(kDeviceGetNum2022ChannelsSFP2));}
155  inline UWord GetNum4kQuarterSizeConverters (void) {return UWord(dev.GetNumSupported(kDeviceGetNum4kQuarterSizeConverters));}
156  inline UWord GetNumAESAudioInputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAESAudioInputChannels));}
157  inline UWord GetNumAESAudioOutputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAESAudioOutputChannels));}
158  inline UWord GetNumAnalogAudioInputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAnalogAudioInputChannels));}
159  inline UWord GetNumAnalogAudioOutputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAnalogAudioOutputChannels));}
160  inline UWord GetNumAnalogVideoInputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAnalogVideoInputs));}
161  inline UWord GetNumAnalogVideoOutputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAnalogVideoOutputs));}
162  inline UWord GetNumAudioSystems (void) {return UWord(dev.GetNumSupported(kDeviceGetNumAudioSystems));}
163  inline UWord GetNumCrossConverters (void) {return UWord(dev.GetNumSupported(kDeviceGetNumCrossConverters));}
164  inline UWord GetNumCSCs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumCSCs));}
165  inline ULWord GetNumDMAEngines (void) {return dev.GetNumSupported(kDeviceGetNumDMAEngines);}
166  inline UWord GetNumDownConverters (void) {return UWord(dev.GetNumSupported(kDeviceGetNumDownConverters));}
167  inline UWord GetNumEmbeddedAudioInputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumEmbeddedAudioInputChannels));}
168  inline UWord GetNumEmbeddedAudioOutputChannels (void){return UWord(dev.GetNumSupported(kDeviceGetNumEmbeddedAudioOutputChannels));}
169  inline UWord GetNumFrameStores (void) {return UWord(dev.GetNumSupported(kDeviceGetNumFrameStores));}
170  inline UWord GetNumFrameSyncs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumFrameSyncs));}
171  inline UWord GetNumHDMIAudioInputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumHDMIAudioInputChannels));}
172  inline UWord GetNumHDMIAudioOutputChannels (void) {return UWord(dev.GetNumSupported(kDeviceGetNumHDMIAudioOutputChannels));}
173  inline UWord GetNumHDMIVideoInputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumHDMIVideoInputs));}
174  inline UWord GetNumHDMIVideoOutputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumHDMIVideoOutputs));}
175  inline UWord GetNumInputConverters (void) {return UWord(dev.GetNumSupported(kDeviceGetNumInputConverters));}
176  inline UWord GetNumLTCInputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumLTCInputs));}
177  inline UWord GetNumLTCOutputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumLTCOutputs));}
178  inline UWord GetNumLUTBanks (void) {return UWord(dev.GetNumSupported(kDeviceGetNumLUTBanks));}
179  inline UWord GetNumLUTs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumLUTs));}
180  inline UWord GetNumMicInputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumMicInputs));}
181  inline UWord GetNumMixers (void) {return UWord(dev.GetNumSupported(kDeviceGetNumMixers));}
182  inline UWord GetNumOutputConverters (void) {return UWord(dev.GetNumSupported(kDeviceGetNumOutputConverters));}
183  inline UWord GetNumReferenceVideoInputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumReferenceVideoInputs));}
184  inline UWord GetNumSerialPorts (void) {return UWord(dev.GetNumSupported(kDeviceGetNumSerialPorts));}
185  inline UWord GetNumTSIMuxers (void) {return UWord(dev.GetNumSupported(kDeviceGetNumTSIMuxers));}
186  inline UWord GetNumUpConverters (void) {return UWord(dev.GetNumSupported(kDeviceGetNumUpConverters));}
187  inline ULWord GetNumVideoChannels (void) {return dev.GetNumSupported(kDeviceGetNumVideoChannels);}
188  inline UWord GetNumVideoInputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumVideoInputs));}
189  inline UWord GetNumVideoOutputs (void) {return UWord(dev.GetNumSupported(kDeviceGetNumVideoOutputs));}
190  inline ULWord GetPingLED (void) {return dev.GetNumSupported(kDeviceGetPingLED);}
191  inline UWord GetTotalNumAudioSystems (void) {return UWord(dev.GetNumSupported(kDeviceGetTotalNumAudioSystems));}
192  inline UWord GetNumBufferedAudioSystems (void) {return UWord(dev.GetNumSupported(kDeviceGetNumBufferedAudioSystems));}
193  inline ULWord GetUFCVersion (void) {return dev.GetNumSupported(kDeviceGetUFCVersion);}
194 
199  inline bool CanDoChannel (const NTV2Channel inChannel)
200  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_Channel));
201  return itms.find(ULWord(inChannel)) != itms.end();
202  }
203 
208  inline bool CanDoConversionMode (const NTV2ConversionMode inMode)
209  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_ConversionMode));
210  return itms.find(ULWord(inMode)) != itms.end();
211  }
212 
217  inline bool CanDoDSKMode (const NTV2DSKMode inMode)
218  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_DSKMode));
219  return itms.find(ULWord(inMode)) != itms.end();
220  }
221 
226  inline bool CanDoFrameBufferFormat (const NTV2PixelFormat inPF)
227  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_PixelFormat));
228  return itms.find(ULWord(inPF)) != itms.end();
229  }
230  inline bool CanDoPixelFormat (const NTV2PixelFormat inPF) {return CanDoFrameBufferFormat(inPF);}
231 
236  inline bool CanDoInputSource (const NTV2InputSource inSrc)
237  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_InputSource));
238  return itms.find(ULWord(inSrc)) != itms.end();
239  }
240 
246  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_OutputDest));
247  return itms.find(ULWord(inDest)) != itms.end();
248  }
249 
254  inline bool CanDoVideoFormat (const NTV2VideoFormat inVF)
255  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_VideoFormat));
256  return itms.find(ULWord(inVF)) != itms.end();
257  }
258 
263  inline bool CanDoWidget (const NTV2WidgetID inWgtID)
264  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_WidgetID));
265  return itms.find(ULWord(inWgtID)) != itms.end();
266  }
267 
273  bool CanDoWidget (const NTV2WidgetType inWgtType, const UWord index0);
274 
279  { NTV2PixelFormats result;
280  const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_PixelFormat));
281  for (ULWordSetConstIter it(itms.begin()); it != itms.end(); ++it)
282  result.insert(NTV2PixelFormat(*it));
283  return result;
284  }
285 
290  { NTV2VideoFormatSet result;
291  const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_VideoFormat));
292  for (ULWordSetConstIter it(itms.begin()); it != itms.end(); ++it)
293  result.insert(NTV2VideoFormat(*it));
294  return result;
295  }
296 
301  { NTV2TCIndexes result;
302  const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_InputTCIndex));
303  for (ULWordSetConstIter it(itms.begin()); it != itms.end(); ++it)
304  result.insert(NTV2TCIndex(*it));
305  return result;
306  }
307 
312  { NTV2TCIndexes result;
313  const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_OutputTCIndex));
314  for (ULWordSetConstIter it(itms.begin()); it != itms.end(); ++it)
315  result.insert(NTV2TCIndex(*it));
316  return result;
317  }
318 
323  inline bool CanDoInputTCIndex (const NTV2TCIndex inTCNdx)
324  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_InputTCIndex));
325  return itms.find(ULWord(inTCNdx)) != itms.end();
326  }
327 
332  inline bool CanDoOutputTCIndex (const NTV2TCIndex inTCNdx)
333  { const ULWordSet itms (dev.GetSupportedItems(kNTV2EnumsID_OutputTCIndex));
334  return itms.find(ULWord(inTCNdx)) != itms.end();
335  }
336  private:
337  CNTV2DriverInterface & dev;
338 }; // DeviceCapabilities
339 
340 #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:210
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:149
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:205
kDeviceGetNumFrameStores
@ kDeviceGetNumFrameStores
The number of FrameStores on the device.
Definition: ntv2devicefeatures.h:197
DeviceCapabilities::CanDoVideoFormat
bool CanDoVideoFormat(const NTV2VideoFormat inVF)
Definition: ntv2devicecapabilities.h:254
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:254
kDeviceCanDoIP
@ kDeviceCanDoIP
True if device has SFP connectors.
Definition: ntv2devicefeatures.h:128
NTV2OutputDestination
NTV2OutputDestination
Identifies a specific video output destination.
Definition: ntv2enums.h:1310
kDeviceCanDoHDMIMultiView
@ kDeviceCanDoHDMIMultiView
True if device can rasterize 4 HD signals into a single HDMI output.
Definition: ntv2devicefeatures.h:125
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:221
NTV2PixelFormats
NTV2FrameBufferFormatSet NTV2PixelFormats
Definition: ntv2publicinterface.h:8966
kNTV2EnumsID_VideoFormat
@ kNTV2EnumsID_VideoFormat
Identifies the NTV2VideoFormat enumerated type.
Definition: ntv2devicefeatures.h:242
kDeviceGetUFCVersion
@ kDeviceGetUFCVersion
The version number of the UFC on the device.
Definition: ntv2devicefeatures.h:183
kDeviceHasXptConnectROM
@ kDeviceHasXptConnectROM
True if device has a crosspoint connection ROM (New in SDK 17.0)
Definition: ntv2devicefeatures.h:147
kDeviceGetNumDownConverters
@ kDeviceGetNumDownConverters
The number of down-converters on the device.
Definition: ntv2devicefeatures.h:194
NTV2TCIndexes
std::set< NTV2TCIndex > NTV2TCIndexes
Definition: ntv2publicinterface.h:6960
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:1343
NTV2WidgetType
NTV2WidgetType
Definition: ntv2enums.h:3021
kDeviceGetNumAnalogAudioInputChannels
@ kDeviceGetNumAnalogAudioInputChannels
The number of analog audio input channels on the device.
Definition: ntv2devicefeatures.h:187
NTV2VideoFormatSet
std::set< NTV2VideoFormat > NTV2VideoFormatSet
A set of distinct NTV2VideoFormat values.
Definition: ntv2publicinterface.h:8961
kDeviceGetNumEmbeddedAudioOutputChannels
@ kDeviceGetNumEmbeddedAudioOutputChannels
The number of SDI-embedded output audio channels supported by the device.
Definition: ntv2devicefeatures.h:196
DeviceCapabilities::CanDoInputTCIndex
bool CanDoInputTCIndex(const NTV2TCIndex inTCNdx)
Definition: ntv2devicecapabilities.h:323
kDeviceCanDoAudio192K
@ kDeviceCanDoAudio192K
True if Audio System(s) support a 192kHz sample rate.
Definition: ntv2devicefeatures.h:120
DeviceCapabilities::CanDoDSKMode
bool CanDoDSKMode(const NTV2DSKMode inMode)
Definition: ntv2devicecapabilities.h:217
kDeviceIsSupported
@ kDeviceIsSupported
True if device is supported by this SDK.
Definition: ntv2devicefeatures.h:107
kDeviceHasGenlockv3
@ kDeviceHasGenlockv3
True if device has version 3 genlock hardware and/or firmware.
Definition: ntv2devicefeatures.h:136
kDeviceCanDoEnhancedCSC
@ kDeviceCanDoEnhancedCSC
True if device has enhanced CSCs.
Definition: ntv2devicefeatures.h:60
kDeviceHasHeadphoneJack
@ kDeviceHasHeadphoneJack
True if device has a headphone jack.
Definition: ntv2devicefeatures.h:137
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:245
kDeviceGetNumReferenceVideoInputs
@ kDeviceGetNumReferenceVideoInputs
The number of external reference video inputs on the device.
Definition: ntv2devicefeatures.h:207
kDeviceCanReportRunningFirmwareDate
@ kDeviceCanReportRunningFirmwareDate
True if device can report its running (and not necessarily installed) firmware date.
Definition: ntv2devicefeatures.h:132
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:133
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:289
DeviceCapabilities::OutputTCIndexes
NTV2TCIndexes OutputTCIndexes(void)
Definition: ntv2devicecapabilities.h:311
kDeviceGetNumVideoOutputs
@ kDeviceGetNumVideoOutputs
The number of SDI video outputs on the device.
Definition: ntv2devicefeatures.h:211
kDeviceGetNum4kQuarterSizeConverters
@ kDeviceGetNum4kQuarterSizeConverters
The number of quarter-size 4K/UHD down-converters on the device.
Definition: ntv2devicefeatures.h:184
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:124
kDeviceCanDo12gRouting
@ kDeviceCanDo12gRouting
True if device supports 12G routing crosspoints.
Definition: ntv2devicefeatures.h:116
kDeviceHasSPIv2
@ kDeviceHasSPIv2
Use kDeviceGetSPIVersion instead.
Definition: ntv2devicefeatures.h:100
kDeviceCanThermostat
@ kDeviceCanThermostat
True if device fan can be thermostatically controlled.
Definition: ntv2devicefeatures.h:110
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:300
kDeviceHasNTV4FrameStores
@ kDeviceHasNTV4FrameStores
True if device has NTV4 FrameStores. (New in SDK 17.0)
Definition: ntv2devicefeatures.h:146
kDeviceGetNumAESAudioOutputChannels
@ kDeviceGetNumAESAudioOutputChannels
The number of AES/EBU audio output channels on the device.
Definition: ntv2devicefeatures.h:186
kDeviceCanDoAudioMixer
@ kDeviceCanDoAudioMixer
True if device has a firmware audio mixer.
Definition: ntv2devicefeatures.h:121
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:253
kDeviceCanDoWarmBootFPGA
@ kDeviceCanDoWarmBootFPGA
True if device can warm-boot to load updated firmware.
Definition: ntv2devicefeatures.h:130
kDeviceCanChangeFrameBufferSize
@ kDeviceCanChangeFrameBufferSize
True if frame buffer sizes are not fixed.
Definition: ntv2devicefeatures.h:37
DeviceCapabilities::CanDoOutputDestination
bool CanDoOutputDestination(const NTV2OutputDestination inDest)
Definition: ntv2devicecapabilities.h:245
kDeviceGetNumAnalogAudioOutputChannels
@ kDeviceGetNumAnalogAudioOutputChannels
The number of analog audio output channels on the device.
Definition: ntv2devicefeatures.h:188
kDeviceROMHasBankSelect
@ kDeviceROMHasBankSelect
True if device SPIFlash ROM is bank-selected. (New in SDK 17.1)
Definition: ntv2devicefeatures.h:156
kDeviceGetNumDMAEngines
@ kDeviceGetNumDMAEngines
The number of DMA engines on the device.
Definition: ntv2devicefeatures.h:180
DeviceCapabilities::PixelFormats
NTV2PixelFormats PixelFormats(void)
Definition: ntv2devicecapabilities.h:278
kDeviceGetNumBufferedAudioSystems
@ kDeviceGetNumBufferedAudioSystems
The total number of audio systems on the device that can read/write audio buffer memory....
Definition: ntv2devicefeatures.h:219
kDeviceGetNumLUTs
@ kDeviceGetNumLUTs
The number of LUT widgets on the device.
Definition: ntv2devicefeatures.h:204
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:143
kDeviceGetDACVersion
@ kDeviceGetDACVersion
The version number of the DAC on the device.
Definition: ntv2devicefeatures.h:173
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:127
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:191
kDeviceHasSPIv3
@ kDeviceHasSPIv3
Use kDeviceGetSPIVersion instead.
Definition: ntv2devicefeatures.h:101
kDeviceSoftwareCanChangeFrameBufferSize
@ kDeviceSoftwareCanChangeFrameBufferSize
True if device frame buffer size can be changed.
Definition: ntv2devicefeatures.h:109
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:118
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:212
kDeviceHasRotaryEncoder
@ kDeviceHasRotaryEncoder
True if device has a rotary encoder volume control.
Definition: ntv2devicefeatures.h:139
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:114
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:181
kDeviceGetNumAnalogVideoInputs
@ kDeviceGetNumAnalogVideoInputs
The number of analog video inputs on the device.
Definition: ntv2devicefeatures.h:189
kDeviceCanDoHDMIQuadRasterConversion
@ kDeviceCanDoHDMIQuadRasterConversion
True if HDMI in/out supports square-division (quad) raster conversion. (New in SDK 17....
Definition: ntv2devicefeatures.h:152
kNTV2EnumsID_ConversionMode
@ kNTV2EnumsID_ConversionMode
Identifies the NTV2ConversionMode enumerated type.
Definition: ntv2devicefeatures.h:251
kDeviceGetLUTVersion
@ kDeviceGetLUTVersion
The version number of the LUT(s) on the device.
Definition: ntv2devicefeatures.h:176
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:3921
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:175
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:141
kDeviceGetMaxRegisterNumber
@ kDeviceGetMaxRegisterNumber
The highest register number for the device.
Definition: ntv2devicefeatures.h:178
kDeviceCanDoVITC2
@ kDeviceCanDoVITC2
True if device can insert or extract RP-188/VITC2.
Definition: ntv2devicefeatures.h:113
kDeviceHasHEVCM31
@ kDeviceHasHEVCM31
True if device has an HEVC M31 encoder.
Definition: ntv2devicefeatures.h:111
kDeviceGetNumInputConverters
@ kDeviceGetNumInputConverters
The number of input converter widgets on the device.
Definition: ntv2devicefeatures.h:203
UWord
uint16_t UWord
Definition: ajatypes.h:253
kNTV2EnumsID_InputSource
@ kNTV2EnumsID_InputSource
Identifies the NTV2InputSource enumerated type.
Definition: ntv2devicefeatures.h:244
kDeviceHasSPIv5
@ kDeviceHasSPIv5
Use kDeviceGetSPIVersion instead.
Definition: ntv2devicefeatures.h:140
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:129
kDeviceCanDoAudioInput
@ kDeviceCanDoAudioInput
True if device has any audio input capability (SDI, HDMI or analog) (New in SDK 17....
Definition: ntv2devicefeatures.h:148
kDeviceGetMaxTransferCount
@ kDeviceGetMaxTransferCount
The maximum number of 32-bit words that the DMA engine can move at a time on the device.
Definition: ntv2devicefeatures.h:179
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:2895
DeviceCapabilities::DeviceCapabilities
DeviceCapabilities(CNTV2DriverInterface &inDev)
Definition: ntv2devicecapabilities.h:23
DeviceCapabilities::CanDoInputSource
bool CanDoInputSource(const NTV2InputSource inSrc)
Definition: ntv2devicecapabilities.h:236
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:250
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:182
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:216
NTV2DSKMode
NTV2DSKMode
Definition: ntv2enums.h:3469
kDeviceGetDownConverterDelay
@ kDeviceGetDownConverterDelay
The down-converter delay on the device.
Definition: ntv2devicefeatures.h:174
kDeviceGetNumAESAudioInputChannels
@ kDeviceGetNumAESAudioInputChannels
The number of AES/EBU audio input channels on the device.
Definition: ntv2devicefeatures.h:185
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:135
kDeviceGetNumFrameSyncs
@ kDeviceGetNumFrameSyncs
The number of frame sync widgets on the device.
Definition: ntv2devicefeatures.h:198
kDeviceGetNumHDMIVideoInputs
@ kDeviceGetNumHDMIVideoInputs
The number of HDMI video inputs on the device.
Definition: ntv2devicefeatures.h:201
NTV2InputSource
NTV2InputSource
Identifies a specific video input source.
Definition: ntv2enums.h:1253
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
kDeviceIsLocalPhysical
@ kDeviceIsLocalPhysical
True if device is local-host-attached, and not remote, software or virtual (new in SDK 17....
Definition: ntv2devicefeatures.h:106
kDeviceGetNumCSCs
@ kDeviceGetNumCSCs
The number of colorspace converter widgets on the device.
Definition: ntv2devicefeatures.h:193
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:151
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:252
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:202
kDeviceHasLEDAudioMeters
@ kDeviceHasLEDAudioMeters
True if device has LED audio meters.
Definition: ntv2devicefeatures.h:138
kDeviceCanChangeEmbeddedAudioClock
@ kDeviceCanChangeEmbeddedAudioClock
Definition: ntv2devicefeatures.h:36
kDeviceGetNumHDMIAudioOutputChannels
@ kDeviceGetNumHDMIAudioOutputChannels
The number of HDMI audio output channels on the device.
Definition: ntv2devicefeatures.h:200
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:199
kDeviceNeedsRoutingSetup
@ kDeviceNeedsRoutingSetup
True if device widget routing can be queried or changed.
Definition: ntv2devicefeatures.h:108
kDeviceCanDoJ2K
@ kDeviceCanDoJ2K
True if device supports JPEG 2000 codec.
Definition: ntv2devicefeatures.h:115
kDeviceCanDoStreamingDMA
@ kDeviceCanDoStreamingDMA
True if device supports streaming DMA. (New in SDK 17.1)
Definition: ntv2devicefeatures.h:154
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:144
AJAExport
#define AJAExport
Definition: export.h:33
kDeviceCanDo8KVideo
@ kDeviceCanDo8KVideo
True if device supports 8K video formats.
Definition: ntv2devicefeatures.h:119
NTV2VideoFormat
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
kDeviceHasMicrophoneInput
@ kDeviceHasMicrophoneInput
True if device has a microphone input connector.
Definition: ntv2devicefeatures.h:142
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:220
NTV2ConversionMode
NTV2ConversionMode
Definition: ntv2enums.h:3684
DeviceCapabilities::CanDoWidget
bool CanDoWidget(const NTV2WidgetID inWgtID)
Definition: ntv2devicecapabilities.h:263
kNTV2EnumsID_Channel
@ kNTV2EnumsID_Channel
Identifies the NTV2Channel enumerated type.
Definition: ntv2devicefeatures.h:246
kDeviceGetMaxAudioChannels
@ kDeviceGetMaxAudioChannels
The maximum number of audio channels that a single Audio System can support on the device.
Definition: ntv2devicefeatures.h:177
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:208
kDeviceCanDoAESAudioOut
@ kDeviceCanDoAESAudioOut
True if device has any AES audio output channels (New in SDK 17.1)
Definition: ntv2devicefeatures.h:150
kDeviceCanDo12GSDI
@ kDeviceCanDo12GSDI
True if device has 12G SDI connectors.
Definition: ntv2devicefeatures.h:117
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:172
kDeviceCanDoHDMIAuxPlayback
@ kDeviceCanDoHDMIAuxPlayback
True if device has HDMI AUX data inserter(s).
Definition: ntv2devicefeatures.h:123
kDeviceGetTotalNumAudioSystems
@ kDeviceGetTotalNumAudioSystems
The total number of audio systems on the device, including host audio and mixer audio systems,...
Definition: ntv2devicefeatures.h:218
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:131
kDeviceCanDoRateConvert
@ kDeviceCanDoRateConvert
True if device can do frame rate conversion.
Definition: ntv2devicefeatures.h:80
DeviceCapabilities::CanDoPixelFormat
bool CanDoPixelFormat(const NTV2PixelFormat inPF)
Definition: ntv2devicecapabilities.h:230
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:153
kDeviceHasHEVCM30
@ kDeviceHasHEVCM30
True if device has an HEVC M30 encoder/decoder.
Definition: ntv2devicefeatures.h:112
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:122
kDeviceGetNumUpConverters
@ kDeviceGetNumUpConverters
The number of up-converters on the device.
Definition: ntv2devicefeatures.h:209
kDeviceGetNumLUTBanks
@ kDeviceGetNumLUTBanks
The number of LUT banks on the device. (New in SDK 17.0)
Definition: ntv2devicefeatures.h:217
kDeviceHasBiDirectionalAnalogAudio
@ kDeviceHasBiDirectionalAnalogAudio
True if device has a bi-directional analog audio connector.
Definition: ntv2devicefeatures.h:134
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:190
DeviceCapabilities::CanDoFrameBufferFormat
bool CanDoFrameBufferFormat(const NTV2PixelFormat inPF)
Definition: ntv2devicecapabilities.h:226
kDeviceGetNum2022ChannelsSFP2
@ kDeviceGetNum2022ChannelsSFP2
The number of 2022 channels configured on SFP 2 on the device.
Definition: ntv2devicefeatures.h:213
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:155
kDeviceGetNumOutputConverters
@ kDeviceGetNumOutputConverters
The number of output converter widgets on the device.
Definition: ntv2devicefeatures.h:206
kDeviceGetNumEmbeddedAudioInputChannels
@ kDeviceGetNumEmbeddedAudioInputChannels
The number of SDI-embedded input audio channels supported by the device.
Definition: ntv2devicefeatures.h:195
kDeviceGetNumSerialPorts
@ kDeviceGetNumSerialPorts
The number of RS-422 serial ports on the device.
Definition: ntv2devicefeatures.h:208
kDeviceCanDoQREZ
@ kDeviceCanDoQREZ
True if device can handle QRez.
Definition: ntv2devicefeatures.h:78
DeviceCapabilities::CanDoChannel
bool CanDoChannel(const NTV2Channel inChannel)
Definition: ntv2devicecapabilities.h:199
kDeviceGetNumCrossConverters
@ kDeviceGetNumCrossConverters
The number of cross-converters on the device.
Definition: ntv2devicefeatures.h:192
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:215
DeviceCapabilities::CanDoOutputTCIndex
bool CanDoOutputTCIndex(const NTV2TCIndex inTCNdx)
Definition: ntv2devicecapabilities.h:332
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:214
kNTV2EnumsID_PixelFormat
@ kNTV2EnumsID_PixelFormat
Identifies the NTV2PixelFormat enumerated type.
Definition: ntv2devicefeatures.h:238