9 #ifndef NTV2DEVICEFEATURES_H 10 #define NTV2DEVICEFEATURES_H 12 #if defined(AJALinux) || defined(AJA_LINUX) 15 #include <linux/stddef.h> 23 #if defined(__CPLUSPLUS__) || defined(__cplusplus) 24 #elif !defined(NTV2_BUILDING_DRIVER) 167 #define NTV2_IS_VALID_BOOLPARAMID(__x__) ((__x__) >= kNTV2BoolParam_FIRST && (__x__) < kNTV2BoolParam_LAST) 233 #define NTV2_IS_VALID_NUMPARAMID(__x__) ((__x__) >= kNTV2NumericParam_FIRST && (__x__) < kNTV2NumericParam_LAST) 267 #define NTV2_IS_VALID_ENUMSID(__x__) ((__x__) >= kNTV2EnumsID_FIRST && (__x__) < kNTV2EnumsID_LAST) 274 #if defined(__cplusplus) && defined(NTV2_BUILDING_DRIVER) 279 #if !defined(NTV2_DEPRECATE_17_2) 289 #endif // defined(NTV2_DEPRECATE_17_2) 298 #if (defined(__CPLUSPLUS__) || defined(__cplusplus)) && !defined(NTV2_BUILDING_DRIVER) 320 const ULWord inIsSMPTE372Enabled);
326 const ULWord inIsSMPTE372Enabled,
327 const bool inIsProgressivePicture);
333 const ULWord inIsSMPTE372Enabled,
334 const bool inIsProgressivePicture,
335 const bool inIsSquareDivision);
336 #if !defined(NTV2_DEPRECATE_17_0) 371 #if defined(__cplusplus) && defined(NTV2_BUILDING_DRIVER) 375 #endif // NTV2DEVICEFEATURES_H
The number of cross-converters on the device.
enum _NTV2NumericParamID NTV2NumericParamID
Used with CNTV2DriverInterface::GetNumericParam to determine device capabilities. ...
bool NTV2DeviceCanDoColorCorrection(const NTV2DeviceID id)
The number of input converter widgets on the device.
Identifies the NTV2ScanGeometry enumerated type.
The number of TSI muxers on the device. (New in SDK 17.0)
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information...
True if device can handle 2Kx1556 (film) video.
True if device supports 3D video output over dual-stream SDI.
#define NTV2_DEPRECATED_17_2(__f__)
The version number of the device's genlock hardware/firmware. (New in SDK 17.6)
The number of SDI-embedded input audio channels supported by the device.
True if device DMA hardware supports MSI (Message Signaled Interrupts).
True if device has version 3 genlock hardware and/or firmware. (Deprecate – use kDeviceGetGenlockVer...
True if device has SPI flash hardware.
True if audio system(s) support 2 or more audio channels.
The number of analog video outputs on the device.
_NTV2BoolParamID
Used with CNTV2DriverInterface::GetBoolParam to determine device capabilities.
True if device can do ISO conversion.
True if device has enhanced CSCs.
The number of external reference video inputs on the device.
True if the device supports SMPTE 425 mux control.
The number of video channels supported on the device.
The number of mixer/keyer widgets on the device.
NTV2FrameBufferFormat
Identifies a particular video frame buffer pixel format. See Device Frame Buffer Formats for details...
True if device can squeeze/stretch between 1920x1080/1280x1080 and 1280x720/960x720.
NTV2AudioSystem NTV2DeviceGetAudioMixerSystem(const NTV2DeviceID inDeviceID)
True if device can do 3G level B to 3G level A conversion.
True if device supports an AJA breakout box.
True if device can freeze output video.
Identifies the NTV2DeviceID enumerated type.
The number of analog LTC outputs on the device.
The number of AES/EBU audio output channels on the device.
ULWord NTV2DeviceGetFrameBufferSize_Ex(NTV2DeviceID id)
ULWord NTV2DeviceGetNumberVideoFrameBuffers(NTV2DeviceID inDeviceID, NTV2FrameGeometry inFrameGeometry, NTV2Framesize inFramesize)
True if HDMI in/out supports square-division (quad) raster conversion. (New in SDK 17...
enum _NTV2EnumsID NTV2EnumsID
Identifies NTV2 enumerated types, used in CNTV2DriverInterface::GetSupportedItems.
True if device can warm-boot to load updated firmware.
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
True if device can display/output video from FrameStore 1.
The number of independent Audio Systems on the device.
Identifies the NTV2AudioRate enumerated type.
True if device has version 2 genlock hardware and/or firmware. (Deprecate – use kDeviceGetGenlockVer...
bool NTV2DeviceCanDoTCIndex(const NTV2DeviceID inDeviceID, const NTV2TCIndex inTCIndex)
Identifies the NTV2OutputDest enumerated type.
enum _NTV2BoolParamID NTV2BoolParamID
Used with CNTV2DriverInterface::GetBoolParam to determine device capabilities.
Identifies the NTV2DSKMode enumerated type.
True if device can report if its "fail-safe" firmware is loaded/running.
True if device connects to the host with a cable.
bool NTV2DeviceHasSPIv4(const NTV2DeviceID inDeviceID)
bool NTV2DeviceGetVideoFormatFromState_Ex(NTV2VideoFormat *pOutValue, const NTV2FrameRate inFrameRate, const NTV2FrameGeometry inFrameGeometry, const NTV2Standard inStandard, const ULWord inIsSMPTE372Enabled, const bool inIsProgressivePicture)
True if device can detect which audio channel pairs are not carrying PCM (Pulse Code Modulation) audi...
True if device has an HEVC M31 encoder.
True if device has LED audio meters.
The version number of the LUT(s) on the device.
Identifies the NTV2VideoFormat enumerated type.
True if device has SFP connectors.
Identifies the NTV2Channel enumerated type.
True if device widget routing can be queried or changed.
True if device can do video processing.
Identifies the NTV2InputSource enumerated type.
True if the device can do RGB over 3G Level A.
ULWord NTV2DeviceGetAudioFrameBuffer2(NTV2DeviceID boardID, NTV2FrameGeometry frameGeometry, NTV2FrameBufferFormat frameFormat)
The maximum number of 32-bit words that the DMA engine can move at a time on the device.
True if device can handle QRez.
bool NTV2DeviceCanDoLTCOutN(const NTV2DeviceID devID, UWord index0)
The number of DMA engines on the device.
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
True if Audio System(s) support an adjustable delay.
True if device supports an AJA breakout board. (New in SDK 17.0)
True if device supports grouped audio system control.
_NTV2EnumsID
Identifies NTV2 enumerated types, used in CNTV2DriverInterface::GetSupportedItems.
bool NTV2DeviceROMHasBankSelect(const NTV2DeviceID inDeviceID)
The number of SDI video outputs on the device.
True if device supports streaming DMA. (New in SDK 17.1)
ULWord NTV2DeviceGetAudioFrameBuffer2_Ex(NTV2DeviceID id)
True if device has any audio output capability (SDI, HDMI or analog) (New in SDK 17.1)
The total number of audio systems on the device, including host audio and mixer audio systems...
True if device is 64-bit addressable.
True if device can read LTC (Linear TimeCode) from its reference input.
NTV2TCIndex
These enum values are indexes into the capture/playout AutoCirculate timecode arrays.
True if device can mark specific audio channel pairs as not carrying PCM (Pulse Code Modulation) audi...
True if device SDI connectors are bi-directional.
Identifies the NTV2AudioSource enumerated type.
bool NTV2DeviceCanDo3GIn(NTV2DeviceID id, UWord ndx)
NTV2FrameRate
Identifies a particular video frame rate.
True if device has CSCs capable of splitting the key (alpha) and YCbCr (fill) from RGB frame buffers ...
The version number of the UFC on the device.
UWord NTV2DeviceGetNumAudioStreams(const NTV2DeviceID devID)
True if device has at least one programmable color space converter widget.
True if device supports 3D video input over dual-stream SDI.
True if device supports Programmed I/O.
bool NTV2DeviceCanDoInputTCIndex(const NTV2DeviceID inDeviceID, const NTV2TCIndex inTCIndex)
True if device SPIFlash ROM is bank-selected. (New in SDK 17.1)
NTV2Standard
Identifies a particular video standard.
The highest register number for the device.
Identifies the NTV2RefSource enumerated type.
Use kDeviceGetSPIVersion instead.
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
The highest bit number of the LED bits in the Global Control Register on the device.
NTV2AudioSystem NTV2DeviceGetHostAudioSystem(const NTV2DeviceID inDeviceID)
Enumerations for controlling NTV2 devices.
The number of FrameStores on the device.
True if device can handle quarter-sized frames (pixel-halving and line-halving during input...
True if device has bypass relays on its SDI connectors.
Defines the import/export macros for producing DLLs or LIBs.
True if device can squeeze/stretch between 1920x1080 and 1440x1080.
True if device supports JPEG 2000 codec.
True if device has attached breakout board. (New in SDK 17.0)
bool work_around_erroneous_compiler_warning(void)
True if device has LED(s) on the card bracket. (New in SDK 18.0)
bool NTV2DeviceCanDoAudioN(const NTV2DeviceID devID, UWord index0)
True if device has any SDI, HDMI or analog video outputs.
The number of up-converters on the device.
True if device has any audio input capability (SDI, HDMI or analog) (New in SDK 17.1)
True if device has a headphone jack.
Declares the most fundamental data types used by NTV2. Since Windows NT was the first principal devel...
True if device has 25Gbps SFPs. (New in SDK 18.0)
True if device has at least one RS-422 serial port, and it (they) can be programmed (for baud rate...
True if device has a pair of unbalanced RCA audio monitor output connectors.
Identifies the NTV2Standard enumerated type.
True if device uses a "stacked" arrangement of its audio buffers.
bool NTV2DeviceHasSPIv2(const NTV2DeviceID inDeviceID)
bool NTV2DeviceCanDo292In(NTV2DeviceID id, UWord ndx)
True if device has 12G SDI connectors.
True if device is supported by AJA "retail" software (AJA ControlPanel & ControlRoom).
The maximum number of audio channels that a single Audio System can support on the device...
_NTV2NumericParamID
Used with CNTV2DriverInterface::GetNumericParam to determine device capabilities. ...
#define NTV2_WILL_BE_DEPRECATED(__f__)
True if device can rasterize 4 HD signals into a single HDMI output.
ULWord NTV2DeviceGetNumberFrameBuffers_Ex(NTV2DeviceID id)
True if device supports 2nd-generation PCIe.
True if audio system(s) support 6 or more audio channels.
bool NTV2DeviceCanDoOutputDestination(const NTV2DeviceID id, const NTV2OutputDest od)
True if device is local-host-attached, and not remote, software or virtual (new in SDK 17...
Declares NTV2DeviceCanDo... and NTV2DeviceGetNum... functions. This module is included at compile tim...
bool NTV2DeviceCanDoRS422N(const NTV2DeviceID devID, const NTV2Channel ch)
Identifies the NTV2FrameGeometry enumerated type.
True if device has GPIO interface. (New in SDK 18.0)
True if frame buffer sizes are not fixed.
The number of quarter-size 4K/UHD down-converters on the device.
Identifies the NTV2TCIndex enumerated type for output.
True if device is direct addressable.
True if device has any SDI, HDMI or analog video inputs.
True if device has serial SPI flash hardware.
ULWord NTV2DeviceGetNumberFrameBuffers(NTV2DeviceID id, NTV2FrameGeometry fg, NTV2FrameBufferFormat fbf)
True if device can report its frame size.
The number of LUT banks on the device. (New in SDK 17.0)
UWord Get8MBFrameSizeFactor(const NTV2FrameGeometry inFG, const NTV2FrameBufferFormat inFBF)
True if device has any AES audio output channels (New in SDK 17.1)
bool NTV2DeviceCanDoLTCInN(const NTV2DeviceID devID, UWord index0)
NTV2Framesize
Kona2/Xena2 specific enums.
The number of HDMI video outputs on the device.
Use kDeviceGetSPIVersion instead.
The number of SDI-embedded output audio channels supported by the device.
bool NTV2DeviceCanDoProgrammableCSC(const NTV2DeviceID id)
The number of frame sync widgets on the device.
Use kDeviceGetSPIVersion instead.
True if device can handle SD (Standard Definition) video.
#define NTV2_SHOULD_DEPRECATE(__f__)
True if device mixer/keyer supports adjustable opacity.
True if device has a crosspoint connection ROM (New in SDK 17.0)
True if device supports 10-bit RGB input/output over 2-wire SDI.
True if device frame buffer size can be changed.
The number of analog audio output channels on the device.
bool NTV2DeviceHasSPIv5(const NTV2DeviceID inDeviceID)
True if Audio System(s) support a 192kHz sample rate.
Use kDeviceGetSPIVersion instead.
True if device has one or more analog video outputs.
NTV2FrameGeometry
Identifies a particular video frame geometry.
The number of analog LTC inputs on the device.
The number of analog video inputs on the device.
The total number of audio systems on the device that can read/write audio buffer memory. Includes host audio system, if present. (New in SDK 17.0)
True if device supports 1080p RGB at more than 50Hz frame rates.
bool NTV2DeviceCanDoLTCEmbeddedN(NTV2DeviceID id, UWord ndx)
True if device supports 12G routing crosspoints.
bool NTV2DeviceGetVideoFormatFromState_Ex2(NTV2VideoFormat *pOutValue, const NTV2FrameRate inFrameRate, const NTV2FrameGeometry inFrameGeometry, const NTV2Standard inStandard, const ULWord inIsSMPTE372Enabled, const bool inIsProgressivePicture, const bool inIsSquareDivision)
The version number of the DAC on the device.
True if device can rasterize 4 HD signals into a single HDMI output.
bool NTV2DeviceCanDoAudio6Channels(const NTV2DeviceID devID)
True if device supports SMPTE ST2110.
True if device can perform SDI error checking.
The number of output converter widgets on the device.
True if device has any analog inputs or outputs.
True if the device can handle 4K/UHD video.
The number of RS-422 serial ports on the device.
True if device has SDI ANC inserter/extractor firmware.
bool NTV2DeviceCanDo292Out(NTV2DeviceID id, UWord ndx)
True if device supports HDMI HDR output.
True if device can measure its FPGA die temperature.
True if there's at least one UFC, and it can be disabled.
ULWord NTV2DeviceGetAudioFrameBuffer(NTV2DeviceID boardID, NTV2FrameGeometry frameGeometry, NTV2FrameBufferFormat frameFormat)
True if device can report its running (and not necessarily installed) firmware date.
True if device supports Versal Adaptive SoC System Monitor.
Calculate based on if NTV2_WgtCSC2 is present.
True if device is supported by this SDK.
The number of microphone inputs on the device.
The number of HDMI audio input channels on the device.
True if device supports frame pulse source independent of reference source.
The number of 2022 channels configured on SFP 2 on the device.
True if device has any LUTs.
True if device has HDMI AUX data extractor(s).
True if device can read LTC (Linear TimeCode) from one of its inputs.
The SPI-flash version on the device. (New in SDK 17.1)
True if device supports 3D/stereo HDMI video output.
The down-converter delay on the device.
True if device has a PWM-controlled cooling fan. (New in SDK 17.1)
bool NTV2DeviceHasColorSpaceConverterOnChannel2(const NTV2DeviceID devID)
enum NTV2OutputDestination NTV2OutputDest
True if device has NorthWest Logic DMA hardware.
ULWord NTV2DeviceGetFrameBufferSize(NTV2DeviceID id, NTV2FrameGeometry fg, NTV2FrameBufferFormat fbf)
The version number of the HDMI chipset on the device.
True if device audio systems can wait for VBI before starting. (New in SDK 17.0)
The number of LUT widgets on the device.
The number of analog audio input channels on the device.
bool NTV2DeviceCanDo3GOut(NTV2DeviceID id, UWord ndx)
True if audio system(s) support 8 or more audio channels.
bool NTV2DeviceGetVideoFormatFromState(NTV2VideoFormat *pOutValue, const NTV2FrameRate inFrameRate, const NTV2FrameGeometry inFrameGeometry, const NTV2Standard inStandard, const ULWord inIsSMPTE372Enabled)
True if device has a microphone input connector.
True if device can insert or extract RP-188/VITC2.
#define NTV2_DEPRECATED_17_0(__f__)
bool NTV2DeviceCanDo12GIn(NTV2DeviceID id, UWord ndx)
True if device has an HEVC M30 encoder/decoder.
True if device has a firmware audio mixer.
Identifies the NTV2PixelFormat enumerated type.
bool NTV2DeviceHasGenlockv3(const NTV2DeviceID devID)
Identifies the NTV2TCIndex enumerated type for input.
bool NTV2DeviceCanDoOutputTCIndex(const NTV2DeviceID inDeviceID, const NTV2TCIndex inTCIndex)
Identifies the NTV2Mode enumerated type.
bool NTV2DeviceHasSPIv3(const NTV2DeviceID inDeviceID)
Identifies the NTV2ConversionMode enumerated type.
True if device connects to the host using a Thunderbolt cable.
True if device has a bi-directional analog audio connector.
bool NTV2DeviceCanDoAudioOut(const NTV2DeviceID id)
bool NTV2DeviceHasGenlockv2(const NTV2DeviceID devID)
The number of 2022 channels configured on SFP 1 on the device.
bool NTV2DeviceCanDo12GOut(NTV2DeviceID id, UWord ndx)
True if device has a rotary encoder volume control.
#define NTV2_DEPRECATED_f(__f__)
ULWord NTV2DeviceGetAudioFrameBuffer_Ex(NTV2DeviceID id)
bool NTV2DeviceCanDoAudio2Channels(const NTV2DeviceID devID)
The number of colorspace converter widgets on the device.
Identifies the NTV2AudioWidgetID enumerated type.
True if device supports custom HANC packet insertion. (New in SDK 17.1)
True if device can insert and/or extract RP-188/VITC.
True if device supports 8K video formats.
bool NTV2DeviceCanDoAudioIn(const NTV2DeviceID id)
Identifies the NTV2FrameRate enumerated type.
True if device has NTV4 FrameStores. (New in SDK 17.0)
The number of HDMI audio output channels on the device.
The number of SDI video inputs on the device.
True if device fan can be thermostatically controlled.
True if device can can accommodate Apple ProRes-compressed video in its frame buffers.
True if device can handle HD (High Definition) video.
True if device has HDMI AUX data inserter(s).
bool NTV2DeviceCanDoAudio8Channels(const NTV2DeviceID devID)
The size, in bytes, of the device's active RAM available for video and audio.
The number of AES/EBU audio input channels on the device.
True if device has Xilinx DMA hardware.
The number of down-converters on the device.
True if Audio System(s) support a 96kHz sample rate.
True if device has any AES audio inputs or outputs.
True if device has one or more analog video inputs.
True if device can do frame rate conversion.
True if device has a mechanical identification switch. (New in SDK 17.1)
The number of HDMI video inputs on the device.
True if device can simultaneously handle different video formats on more than one SDI input or output...