|
AJA NTV2 SDK
17.5.0.1242
NTV2 SDK 17.5.0.1242
|
Go to the documentation of this file.
22 : mDevCap(driverInterface())
28 : mDevCap(driverInterface())
30 string hostName(inHostName);
97 string dateStr, timeStr;
101 oss << dateStr <<
" at " << timeStr;
103 oss <<
"Unavailable";
112 return ReadRegister (48, status) ? ((status >> 8) & 0xFF) : -1;
120 oss << hex << version;
133 string hostName(
"localhost"), snStr;
140 oss <<
" '" << snStr <<
"'";
141 if (!hostName.empty())
142 oss <<
" on '" << hostName <<
"'";
143 oss <<
" at index " <<
DEC(GetIndexNumber());
149 static const string sDriverBuildTypes [] = {
"",
"b",
"a",
"d"};
150 UWord versions[4] = {0, 0, 0, 0};
157 const string & dabr (sDriverBuildTypes[versBits >> 30]);
159 oss <<
DEC(versions[0]) <<
"." <<
DEC(versions[1]) <<
"." <<
DEC(versions[2]);
161 oss <<
"." <<
DEC(versions[3]);
163 oss << dabr <<
DEC(versions[3]);
171 outMajor = outMinor = outPoint = outBuild = 0;
172 ULWord driverVersionULWord (0);
175 if (!driverVersionULWord)
203 const uint64_t result((hi << 32) | lo);
220 if (spiFlashVers < 6)
224 {outStr =
"INVALID?";
return false;}
229 outStr =
"5" + outStr;
231 outStr =
"6" + outStr;
233 outStr =
"7" + outStr;
237 ULWord serialArray[] = {0,0,0,0};
242 for (
int serialIndex(0); serialIndex < 4; serialIndex++)
243 if (serialArray[serialIndex] != 0xffffffff)
244 for (
int i(0); i < 4; i++)
246 const char tempChar(((serialArray[serialIndex] >> (i*8)) & 0xff));
247 if (tempChar > 0 && tempChar !=
'.')
248 outStr.push_back(tempChar);
313 ::memset (&bitFileInfo, 0,
sizeof (bitFileInfo));
321 outDateStr =
reinterpret_cast <char *
> (&bitFileInfo.
dateStr [0]);
322 outTimeStr =
reinterpret_cast <char *
> (&bitFileInfo.
timeStr [0]);
331 oss << inBitFileInfo.
dateStr <<
" " << inBitFileInfo.
timeStr <<
" ";
341 outIsSafeBoot =
false;
350 outCanWarmBoot =
false;
358 outCanWarmBoot =
true;
370 const bool bPhonyKBox (
false);
418 #if !defined(NTV2_DEPRECATE_16_3)
464 return itms.find(
ULWord(inVideoFormat)) != itms.end();
469 return itms.find(
ULWord(inFBFormat)) != itms.end();
475 return wgtIDs.find(inWidgetID) != wgtIDs.end();
480 return itms.find(
ULWord(inConversionMode)) != itms.end();
485 return itms.find(
ULWord(inDSKMode)) != itms.end();
490 return itms.find(
ULWord(inInputSource)) != itms.end();
492 #endif // !defined(NTV2_DEPRECATE_16_3)
513 if (!inDevice.IsOpen())
518 mNumFrames =
UWord(totalBytes / m8MB);
519 if (totalBytes % m8MB)
520 {mNumFrames++; cerr <<
DEC(totalBytes % m8MB) <<
" leftover/spare bytes -- last frame is partial frame" << endl;}
521 for (
UWord frm(0); frm < mNumFrames; frm++)
529 for (FrameTagsConstIter it(mFrameTags.begin()); it != mFrameTags.end(); ++it)
532 oss <<
DEC0N(it->first,3) <<
": " <<
aja::join(tags,
", ") << endl;
540 for (
size_t ndx(0); ndx < inRgn1.size(); ndx++)
541 if (result.find(inRgn1.at(ndx)) == result.end())
542 result.insert(inRgn1.at(ndx));
543 for (
size_t ndx(0); ndx < inRgn2.size(); ndx++)
544 if (result.find(inRgn2.at(ndx)) == result.end())
545 result.insert(inRgn2.at(ndx));
546 for (
size_t ndx(0); ndx < inRgn3.size(); ndx++)
547 if (result.find(inRgn3.at(ndx)) == result.end())
548 result.insert(inRgn3.at(ndx));
560 const ULWord rgnInfo(*it);
561 const UWord startBlk(rgnInfo >> 16), numBlks(
UWord(rgnInfo & 0x0000FFFF));
565 oss <<
"Frms " <<
DEC0N(startBlk,3) <<
"-" <<
DEC0N(startBlk+numBlks-1,3) <<
" : ";
567 oss <<
"Frm " <<
DEC0N(startBlk,3) <<
" : ";
579 outFree.clear(); outUsed.clear(); outBad.clear();
580 FrameTagsConstIter it(mFrameTags.begin());
581 if (it == mFrameTags.end())
583 UWord frmStart(it->first), lastFrm(frmStart);
585 while (++it != mFrameTags.end())
592 if (frmStart != lastFrm)
593 outFree.push_back((
ULWord(frmStart) << 16) |
ULWord(lastFrm-frmStart+1));
595 outFree.push_back((
ULWord(frmStart) << 16) |
ULWord(1));
597 else if (runTags.size() > 1)
599 if (frmStart != lastFrm)
600 outBad.push_back((
ULWord(frmStart) << 16) |
ULWord(lastFrm-frmStart+1));
606 if (frmStart != lastFrm)
607 outUsed.push_back((
ULWord(frmStart) << 16) |
ULWord(lastFrm-frmStart+1));
609 outUsed.push_back((
ULWord(frmStart) << 16) |
ULWord(1));
611 frmStart = lastFrm = it->first;
619 if (frmStart != lastFrm)
620 outFree.push_back((
ULWord(frmStart) << 16) |
ULWord(lastFrm-frmStart+1));
622 outFree.push_back((
ULWord(frmStart) << 16) |
ULWord(1));
624 else if (runTags.size() > 1)
626 if (frmStart != lastFrm)
627 outBad.push_back((
ULWord(frmStart) << 16) |
ULWord(lastFrm-frmStart+1));
633 if (frmStart != lastFrm)
634 outUsed.push_back((
ULWord(frmStart) << 16) |
ULWord(lastFrm-frmStart+1));
636 outUsed.push_back((
ULWord(frmStart) << 16) |
ULWord(1));
644 FrameTagsConstIter it(mFrameTags.find(inIndex));
645 if (it == mFrameTags.end())
647 outTags = it->second;
653 FrameTagsConstIter it(mFrameTags.find(inIndex));
654 if (it == mFrameTags.end())
656 return it->second.size();
662 if (inIsQuad && inIsQuadQuad)
664 if (inSrcRgns.empty())
666 const UWord _8MB_frames_per_dest_frame(
UWord(GetIntrinsicFrameByteCount() / m8MB) * (inIsQuad?4:1) * (inIsQuadQuad?16:1));
667 if (!_8MB_frames_per_dest_frame)
669 if (_8MB_frames_per_dest_frame == 1)
670 {outDestRgns = inSrcRgns;
return true;}
673 for (
size_t ndx(0); ndx < inSrcRgns.size(); ndx++)
674 {
const ULWord val(inSrcRgns.at(ndx));
675 ULWord startBlkOffset(val >> 16), lengthBlks(val & 0x0000FFFF);
676 startBlkOffset = startBlkOffset / _8MB_frames_per_dest_frame + (startBlkOffset % _8MB_frames_per_dest_frame ? 1 : 0);
677 lengthBlks = lengthBlks / _8MB_frames_per_dest_frame;
678 outDestRgns.push_back((startBlkOffset << 16) | lengthBlks);
686 bool isReading(
false), isWriting(
false);
691 tag <<
"Aud" <<
DEC(audSys+1);
696 TagMemoryBlock(addr, m8MB, inMarkStoppedAudioBuffersFree && !isReading && !isWriting ?
string() : tag.str());
708 bool isEnabled(
false), isMultiFormat(
false), isQuad(
false), isQuadQuad(
false), isSquares(
false), isTSI(
false);
710 uint64_t addr(0), len(0);
711 if (skipChannels.find(chan) != skipChannels.end())
718 tag <<
"AC" <<
DEC(chan+1) << (acStatus.
IsInput() ?
" Write" :
" Read");
730 inDevice.
GetDeviceFrameInfo (
UWord(frameNum), chan, mIntrinsicSize, isMultiFormat, isQuad, isQuadQuad, isSquares, isTSI, addr, len);
732 tag <<
"MR" <<
DEC(chan+1);
734 tag <<
"Ch" <<
DEC(chan+1);
742 else if (isQuad && !isQuadQuad && isTSI)
765 if (inStartAddr % m8MB)
767 if (inByteLength % m8MB)
771 const UWord startFrm(
UWord(inStartAddr / m8MB)), frmCnt(
UWord(inByteLength / m8MB));
772 for (
UWord frm(0); frm < frmCnt; frm++)
774 UWord frameNum(startFrm + frm);
776 if (tags.find(inTag) == tags.end())
779 if (frameNum >= mNumFrames)
780 tags.insert(
"Invalid");
virtual ULWord DeviceGetAudioFrameBuffer(void)
@ kDeviceGetNumVideoInputs
The number of SDI video inputs on the device.
virtual bool IsAudioOutputRunning(const NTV2AudioSystem inAudioSystem, bool &outIsRunning)
Answers whether or not the playout side of the given NTV2AudioSystem is currently running.
bool TagMemoryBlock(const ULWord inStartAddr, const ULWord inByteLength, const std::string &inTag)
@ kDeviceCanDoStackedAudio
True if device uses a "stacked" arrangement of its audio buffers.
virtual bool SetFrameBufferSize(const NTV2Framesize inSize)
Sets the device's intrinsic frame buffer size.
virtual ULWord GetSerialNumberHigh(void)
@ NTV2_CHANNEL8
Specifies channel or Frame Store 8 (or the 8th item).
@ NTV2_CHANNEL2
Specifies channel or Frame Store 2 (or the 2nd item).
@ kDeviceGetSPIFlashVersion
The SPI-flash version on the device. (New in SDK 17.1)
@ kNTV2EnumsID_VideoFormat
Identifies the NTV2VideoFormat enumerated type.
Declares device capability functions.
virtual bool ReadRegister(const ULWord inRegNum, ULWord &outValue, const ULWord inMask=0xFFFFFFFF, const ULWord inShift=0)
Reads all or part of the 32-bit contents of a specific register (real or virtual) on the AJA device....
bool TagAudioBuffers(CNTV2Card &inDevice, const bool inMarkStoppedAudioBuffersFree)
std::set< std::string > NTV2StringSet
ULWord NTV2DeviceGetNumberFrameBuffers(NTV2DeviceID id, NTV2FrameGeometry fg, NTV2FrameBufferFormat fbf)
std::string & strip(std::string &str, const std::string &ws)
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
bool _boardOpened
True if I'm open and connected to the device.
A generic user-space buffer object that has an address and a length. Used most often to share an arbi...
virtual bool IS_CHANNEL_INVALID(const NTV2Channel inChannel) const
std::string join(const std::vector< std::string > &parts, const std::string &delim)
@ DEVICE_ID_KONA5
See KONA 5.
virtual bool IsBreakoutBoardConnected(void)
ULWord NTV2DeviceGetFrameBufferSize(NTV2DeviceID id, NTV2FrameGeometry fg, NTV2FrameBufferFormat fbf)
virtual Word GetDeviceVersion(void)
Answers with this device's version number.
@ DEVICE_ID_IOX3
See IoX3.
ULWord NTV2DeviceGetActiveMemorySize(const NTV2DeviceID inDeviceID)
@ DEVICE_ID_IOIP_2022
See Io IP.
bool GetTagsForFrameIndex(const UWord inIndex, NTV2StringSet &outTags) const
Answers with the list of tags for the given frame number.
@ NTV2_AUDIOSYSTEM_1
This identifies the first Audio System.
@ NTV2_BreakoutCableBNC
Identifies the AES/EBU audio breakout cable that has BNC connectors.
virtual bool GetFrameBufferSize(const NTV2Channel inChannel, NTV2Framesize &outValue)
Answers with the frame size currently being used on the device.
@ DEVICE_ID_KONA5_8KMK
See KONA 5.
ULWord _ulNumFrameBuffers
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
#define DEC0N(__x__, __n__)
virtual bool GetInputFrame(const NTV2Channel inChannel, ULWord &outValue)
Answers with the current input frame index number for the given FrameStore. This identifies which par...
@ kDeviceGetNumVideoOutputs
The number of SDI video outputs on the device.
virtual bool DeviceCanDoConversionMode(const NTV2ConversionMode inCM)
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
virtual bool GetInstalledBitfileInfo(ULWord &outNumBytes, std::string &outDateStr, std::string &outTimeStr)
Returns the size and time/date stamp of the device's currently-installed firmware.
@ kDeviceCanDo12gRouting
True if device supports 12G routing crosspoints.
virtual bool DeviceCanDoFrameBufferFormat(const NTV2PixelFormat inPF)
ULWord _ulFrameBufferSize
static std::string SerialNum64ToString(const uint64_t inSerialNumber)
Returns a string containing the decoded, human-readable device serial number.
@ NTV2_CHANNEL1
Specifies channel or Frame Store 1 (or the first item).
virtual bool DeviceCanDoFormat(const NTV2FrameRate inFR, const NTV2FrameGeometry inFG, const NTV2Standard inStd)
@ NTV2_BreakoutNone
No identifiable breakout hardware appears to be attached.
virtual bool DeviceCanDoWidget(const NTV2WidgetID inWgtID)
virtual bool GetFrameBufferFormat(NTV2Channel inChannel, NTV2FrameBufferFormat &outValue)
Returns the current frame buffer format for the given FrameStore on the AJA device.
@ kDeviceCanDoWarmBootFPGA
True if device can warm-boot to load updated firmware.
NTV2DeviceID _boardID
My cached device ID.
NTV2FrameRate
Identifies a particular video frame rate.
ULWord NTV2FramesizeToByteCount(const NTV2Framesize inFrameSize)
Converts the given NTV2Framesize value into an exact byte count.
@ NTV2_CHANNEL6
Specifies channel or Frame Store 6 (or the 6th item).
@ kDeviceGetNumBufferedAudioSystems
The total number of audio systems on the device that can read/write audio buffer memory....
virtual std::string GetDeviceVersionString(void)
Answers with this device's version number as a human-readable string.
@ NTV2_CHANNEL4
Specifies channel or Frame Store 4 (or the 4th item).
ULWordSet::const_iterator ULWordSetConstIter
virtual bool IsSupported(const NTV2BoolParamID inParamID)
#define NTV2DriverVersionDecode_Point(__vers__)
@ NTV2_CHANNEL5
Specifies channel or Frame Store 5 (or the 5th item).
virtual std::string GetModelName(void)
Answers with this device's model name.
virtual bool ReadRegister(const ULWord inRegNum, ULWord &outValue, const ULWord inMask=0xFFFFFFFF, const ULWord inShift=0)
Reads all or part of the 32-bit contents of a specific register (real or virtual) on the AJA device....
static bool isEnabled(CNTV2Card &device, const NTV2Channel inChannel)
virtual bool IS_INPUT_SPIGOT_INVALID(const UWord inInputSpigot)
virtual std::string GetBitfileInfoString(const BITFILE_INFO_STRUCT &inBitFileInfo)
Generates and returns an info string with date, time and name for the given inBifFileInfo.
virtual bool IsAudioInputRunning(const NTV2AudioSystem inAudioSystem, bool &outIsRunning)
Answers whether or not the capture side of the given NTV2AudioSystem is currently running.
virtual std::string GetDisplayName(void)
Answers with this device's display name.
std::ostream & DumpBlocks(std::ostream &oss) const
Dumps all 8MB blocks/frames and their tags, if any, into the given stream.
@ kDeviceGetNumAudioSystems
The number of independent Audio Systems on the device.
virtual bool GetOutputFrame(const NTV2Channel inChannel, ULWord &outValue)
Answers with the current output frame number for the given FrameStore (expressed as an NTV2Channel).
virtual bool IS_OUTPUT_SPIGOT_INVALID(const UWord inOutputSpigot)
NTV2Standard
Identifies a particular video standard.
std::set< ULWord > ULWordSet
A collection of unique ULWord (uint32_t) values.
virtual std::string GetPCIFPGAVersionString(void)
@ DEVICE_ID_KONA5_8K
See KONA 5.
@ DEVICE_ID_KONA3G
See KONA 3G (UFC Mode).
#define NTV2DriverVersionDecode_Major(__vers__)
static NTV2Buffer NULL_POINTER
Used for default empty NTV2Buffer parameters – do not modify.
@ kDeviceGetNumVideoChannels
The number of video channels supported on the device.
virtual std::string GetDescription(void) const
This is returned from the CNTV2Card::AutoCirculateGetStatus function.
virtual bool DeviceCanDoInputSource(const NTV2InputSource inSrc)
@ NTV2_CHANNEL7
Specifies channel or Frame Store 7 (or the 7th item).
virtual ULWord DeviceGetFrameBufferSize(void)
@ DEVICE_ID_KONAX
See KONA X.
virtual bool IS_HDMI_INPUT_SPIGOT_INVALID(const UWord inInputHDMIPort)
@ kNTV2EnumsID_ConversionMode
Identifies the NTV2ConversionMode enumerated type.
@ DEVICE_ID_KONA4UFC
See KONA 4 (UFC Mode).
virtual ULWord DeviceGetNumberFrameBuffers(void)
NTV2Mode
Used to identify the mode of a widget_framestore, or the direction of an AutoCirculate stream: either...
std::ostream & RawDump(std::ostream &oss) const
Dumps a human-readable list of regions into the given stream.
std::string NTV2DeviceIDToString(const NTV2DeviceID inValue, const bool inForRetailDisplay=false)
Declares the CNTV2Card class.
@ NTV2_BITFILE_IO4KPLUS_MAIN
virtual bool GetDeviceFrameInfo(const UWord inFrameNumber, const NTV2Channel inChannel, uint64_t &outAddress, uint64_t &outLength)
Answers with the address and size of the given frame.
virtual bool IsFailSafeBitfileLoaded(bool &outIsFailSafe)
Answers whether or not the "fail-safe" (aka "safe-boot") bitfile is currently loaded and running in t...
virtual bool HasMultiRasterWidget(void)
size_t GetTagCount(const UWord inIndex) const
virtual bool GetSerialNumberString(std::string &outSerialNumberString)
Answers with a string that contains my human-readable serial number.
ULWord NTV2DeviceGetAudioFrameBuffer2(NTV2DeviceID boardID, NTV2FrameGeometry frameGeometry, NTV2FrameBufferFormat frameFormat)
@ NTV2_CHANNEL3
Specifies channel or Frame Store 3 (or the 3rd item).
virtual bool AutoCirculateGetStatus(const NTV2Channel inChannel, AUTOCIRCULATE_STATUS &outStatus)
Returns the current AutoCirculate status for the given channel.
virtual uint64_t GetSerialNumber(void)
Answers with my serial number.
@ kNTV2EnumsID_InputSource
Identifies the NTV2InputSource enumerated type.
Declares numerous NTV2 utility functions.
NTV2Framesize
Kona2/Xena2 specific enums.
NTV2BreakoutType
Identifies the Breakout Boxes and Cables that may be attached to an AJA NTV2 device.
virtual bool GetNumericParam(const ULWord inParamID, ULWord &outValue)
I interrogate and control an AJA video/audio capture/playout device.
@ DEVICE_ID_KONA5_8K_MV_TX
See KONA 5.
virtual bool CanWarmBootFPGA(bool &outCanWarmBoot)
Answers whether or not the FPGA can be reloaded without powering off.
bool IsStopped(void) const
@ DEVICE_ID_KONALHEPLUS
See KONA LHe Plus.
@ DEVICE_ID_KONA5_OE1
See KONA 5.
std::set< NTV2Channel > NTV2ChannelSet
A set of distinct NTV2Channel values.
uint16_t GetEndFrame(void) const
@ kNTV2EnumsID_WidgetID
Identifies the NTV2AudioWidgetID enumerated type.
static NTV2WidgetID WidgetIDFromTypeAndChannel(const NTV2WidgetType inWidgetType, const NTV2Channel inChannel)
virtual ULWord GetNumSupported(const NTV2NumericParamID inParamID)
virtual bool GetMode(const NTV2Channel inChannel, NTV2Mode &outValue)
Answers with the current NTV2Mode of the given FrameStore on the AJA device.
@ NTV2_BreakoutCableXLR
Identifies the AES/EBU audio breakout cable that has XLR connectors.
#define NTV2_IS_VALID_CHANNEL(__x__)
virtual std::string GetDriverVersionString(void)
Answers with this device's driver's version as a human-readable string.
virtual NTV2BreakoutType GetBreakoutHardware(void)
bool AssessDevice(CNTV2Card &inDevice, const bool inIgnoreStoppedAudioBuffers=(0))
Assesses the given device.
@ kDeviceGetNumHDMIVideoInputs
The number of HDMI video inputs on the device.
NTV2InputSource
Identifies a specific video input source.
@ DEVICE_ID_IOIP_2110
See Io IP.
@ DEVICE_ID_KONA5_3DLUT
See KONA 5.
virtual bool DeviceCanDoVideoFormat(const NTV2VideoFormat inVF)
virtual bool GetFrameGeometry(NTV2FrameGeometry &outValue, NTV2Channel inChannel=NTV2_CHANNEL1)
bool GetRegions(ULWordSequence &outFree, ULWordSequence &outUsed, ULWordSequence &outBad) const
Answers with the lists of free, in-use and conflicting 8MB memory blocks. Each ULWord represents a re...
bool TranslateRegions(ULWordSequence &outRgns, const ULWordSequence &inRgns, const bool inIsQuad, const bool inIsQuadQuad) const
Translates an 8MB-chunked list of regions into another list of regions with frame indexes and sizes e...
@ kNTV2EnumsID_DSKMode
Identifies the NTV2DSKMode enumerated type.
Private include file for all ajabase sources.
virtual ~CNTV2Card()
My destructor.
#define NTV2DriverVersionDecode_Minor(__vers__)
@ DEVICE_ID_IO4KPLUS
See Io4K Plus.
virtual bool DeviceCanDoDSKMode(const NTV2DSKMode inDSKM)
bool NTV2DeviceCanDoFormat(const NTV2DeviceID inDevID, const NTV2FrameRate inFR, const NTV2FrameGeometry inFG, const NTV2Standard inStd)
std::vector< uint32_t > ULWordSequence
An ordered sequence of ULWord (uint32_t) values.
@ DEVICE_ID_KONA4
See KONA 4 (Quad Mode).
uint16_t GetStartFrame(void) const
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
@ kDeviceHasMicrophoneInput
True if device has a microphone input connector.
bool TagVideoFrames(CNTV2Card &inDevice)
virtual std::string GetDescription(void) const
NTV2FrameGeometry
Identifies a particular video frame geometry.
virtual bool IsChannelEnabled(const NTV2Channel inChannel, bool &outEnabled)
Answers whether or not the given FrameStore is enabled.
bool CanDoWidget(const NTV2WidgetID inWgtID)
virtual ULWord GetFrameBufferSize(void) const
CNTV2Card()
My default constructor.
static ULWordSet CoalesceRegions(const ULWordSequence &inRgn1, const ULWordSequence &inRgn2, const ULWordSequence &inRgn3)
virtual NTV2DeviceID GetDeviceID(void)
virtual bool GetDriverVersionComponents(UWord &outMajor, UWord &outMinor, UWord &outPoint, UWord &outBuild)
Answers with the individual version components of this device's driver.
virtual bool IsMultiRasterWidgetChannel(const NTV2Channel inChannel)
virtual bool IsBufferSizeSetBySW(void)
virtual std::string GetFPGAVersionString(const NTV2XilinxFPGA inFPGA=eFPGAVideoProc)
@ kDeviceGetActiveMemorySize
The size, in bytes, of the device's active RAM available for video and audio.
@ NTV2_MODE_INVALID
The invalid mode.
@ DEVICE_ID_KONA3GQUAD
See KONA 3G (Quad Mode).
@ kDeviceCanReportFailSafeLoaded
True if device can report if its "fail-safe" firmware is loaded/running.
#define NTV2DriverVersionDecode_Build(__vers__)
std::string NTV2BitfileTypeToString(const NTV2BitfileType inValue, const bool inCompactDisplay=false)
#define NTV2_IS_INPUT_MODE(__mode__)
virtual ULWord GetSerialNumberLow(void)
@ kVRegDriverVersion
Packed driver version – use NTV2DriverVersionEncode, NTV2DriverVersionDecode* macros to encode/decode...
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information.
@ DEVICE_ID_IOIP_2110_RGB12
See Io IP.
@ DEVICE_ID_KONA5_2X4K
See KONA 5.
I'm the base class that undergirds the platform-specific derived classes (from which CNTV2Card is ult...
virtual bool GetAudioMemoryOffset(const ULWord inOffsetBytes, ULWord &outAbsByteOffset, const NTV2AudioSystem inAudioSystem, const bool inCaptureBuffer=(0))
Answers with the byte offset in device SDRAM into the specified Audio System's audio buffer.
virtual bool Open(const UWord inDeviceIndex)
Opens a local/physical AJA device so it can be monitored/controlled.
@ DEVICE_ID_IO4K
See Io4K (Quad Mode).
virtual bool DriverGetBitFileInformation(BITFILE_INFO_STRUCT &outBitFileInfo, const NTV2BitFileType inBitFileType=NTV2_VideoProcBitFile)
Answers with the currently-installed bitfile information.
@ DEVICE_ID_KONALHI
See KONA LHi.
virtual ULWord DeviceGetAudioFrameBuffer2(void)
std::string SerialNum64ToString(const uint64_t &inSerNum)
virtual Word GetPCIFPGAVersion(void)
virtual bool Close(void)
Closes me, releasing host resources that may have been allocated in a previous Open call.
virtual ULWordSet GetSupportedItems(const NTV2EnumsID inEnumsID)
@ kNTV2EnumsID_PixelFormat
Identifies the NTV2PixelFormat enumerated type.
ULWord NTV2DeviceGetAudioFrameBuffer(NTV2DeviceID boardID, NTV2FrameGeometry frameGeometry, NTV2FrameBufferFormat frameFormat)