22 : mDevCap(driverInterface())
28 : mDevCap(driverInterface())
30 string hostName(inHostName);
36 #if !defined(NTV2_DEPRECATE_17_2) 97 if (model ==
"Software" || model ==
"AJA Device" || model ==
"(Not Found)" || model ==
"Unknown" || model ==
"???")
101 oss << model <<
" - " << devNdx;
112 string dateStr, timeStr;
116 oss << dateStr <<
" at " << timeStr;
118 oss <<
"Unavailable";
127 return ReadRegister (48, status) ? ((status >> 8) & 0xFF) : -1;
135 oss << hex << version;
148 string hostName(
"localhost"), snStr;
155 oss <<
" '" << snStr <<
"'";
156 if (!hostName.empty())
157 oss <<
" on '" << hostName <<
"'";
164 static const string sDriverBuildTypes [] = {
"",
"b",
"a",
"d"};
165 UWord versions[4] = {0, 0, 0, 0};
172 const string & dabr (sDriverBuildTypes[versBits >> 30]);
174 oss <<
DEC(versions[0]) <<
"." <<
DEC(versions[1]) <<
"." <<
DEC(versions[2]);
176 oss <<
"." <<
DEC(versions[3]);
178 oss << dabr <<
DEC(versions[3]);
186 outMajor = outMinor = outPoint = outBuild = 0;
187 ULWord driverVersionULWord (0);
190 if (!driverVersionULWord)
218 const uint64_t result((hi << 32) | lo);
236 ULWord serialArray[] = {0,0,0,0};
241 outSerialNumberString.clear();
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 outSerialNumberString.push_back(tempChar);
254 if (outSerialNumberString.empty())
255 {outSerialNumberString =
"INVALID?";
return false;}
260 outSerialNumberString =
"5" + outSerialNumberString;
264 outSerialNumberString =
"6" + outSerialNumberString;
266 outSerialNumberString =
"7" + outSerialNumberString;
330 ::memset (&bitFileInfo, 0,
sizeof (bitFileInfo));
338 outDateStr = reinterpret_cast <
char *> (&bitFileInfo.
dateStr [0]);
339 outTimeStr = reinterpret_cast <
char *> (&bitFileInfo.
timeStr [0]);
348 oss << inBitFileInfo.
dateStr <<
" " << inBitFileInfo.
timeStr <<
" ";
358 outIsSafeBoot =
false;
367 outCanWarmBoot =
false;
375 outCanWarmBoot =
true;
387 const bool bPhonyKBox (
false);
442 ostringstream tempString;
447 outURLString.clear();
448 tempString <<
"http://";
449 ipOctet = (portIP & 0xFF000000) >> 24;
450 tempString << ipOctet <<
".";
451 ipOctet = (portIP & 0x00FF0000) >> 16;
452 tempString << ipOctet <<
".";
453 ipOctet = (portIP & 0x0000FF00) >> 8;
454 tempString << ipOctet <<
".";
455 ipOctet = (portIP & 0x000000FF);
456 tempString << ipOctet;
458 outURLString = tempString.str();
468 ostringstream tempString;
473 outURLString.clear();
474 tempString <<
"http://";
475 ipOctet = (portIP & 0xFF000000) >> 24;
476 tempString << ipOctet <<
".";
477 ipOctet = (portIP & 0x00FF0000) >> 16;
478 tempString << ipOctet <<
".";
479 ipOctet = (portIP & 0x0000FF00) >> 8;
480 tempString << ipOctet <<
".";
481 ipOctet = (portIP & 0x000000FF);
482 tempString << ipOctet;
484 outURLString = tempString.str();
494 for (
ULWord ndx(0); ndx < numSFPs; ndx++)
498 ostringstream tempString;
503 tempString <<
"http://";
504 ipOctet = (portIP & 0xFF000000) >> 24;
505 tempString << ipOctet <<
".";
506 ipOctet = (portIP & 0x00FF0000) >> 16;
507 tempString << ipOctet <<
".";
508 ipOctet = (portIP & 0x0000FF00) >> 8;
509 tempString << ipOctet <<
".";
510 ipOctet = (portIP & 0x000000FF);
511 tempString << ipOctet;
513 OutSFPURLStrings.push_back(tempString.str());
515 return int(OutSFPURLStrings.size());
518 #if !defined(NTV2_DEPRECATE_16_3) 564 return itms.find(
ULWord(inVideoFormat)) != itms.end();
569 return itms.find(
ULWord(inFBFormat)) != itms.end();
575 return wgtIDs.find(inWidgetID) != wgtIDs.end();
580 return itms.find(
ULWord(inConversionMode)) != itms.end();
585 return itms.find(
ULWord(inDSKMode)) != itms.end();
590 return itms.find(
ULWord(inInputSource)) != itms.end();
592 #endif // !defined(NTV2_DEPRECATE_16_3) 618 mNumFrames =
UWord(totalBytes / m8MB);
619 if (totalBytes % m8MB)
620 {mNumFrames++; cerr <<
DEC(totalBytes % m8MB) <<
" leftover/spare bytes -- last frame is partial frame" << endl;}
621 for (
UWord frm(0); frm < mNumFrames; frm++)
624 return TagAudioBuffers(inDevice, inMarkStoppedAudioBuffersFree) && TagVideoFrames(inDevice);
629 for (FrameTagsConstIter it(mFrameTags.begin()); it != mFrameTags.end(); ++it)
632 oss <<
DEC0N(it->first,3) <<
": " <<
aja::join(tags,
", ") << endl;
640 for (
size_t ndx(0); ndx < inRgn1.size(); ndx++)
641 if (result.find(inRgn1.at(ndx)) == result.end())
642 result.insert(inRgn1.at(ndx));
643 for (
size_t ndx(0); ndx < inRgn2.size(); ndx++)
644 if (result.find(inRgn2.at(ndx)) == result.end())
645 result.insert(inRgn2.at(ndx));
646 for (
size_t ndx(0); ndx < inRgn3.size(); ndx++)
647 if (result.find(inRgn3.at(ndx)) == result.end())
648 result.insert(inRgn3.at(ndx));
655 GetRegions (freeBlks, goodBlks, badBlks);
656 ULWordSet rgns (CoalesceRegions(freeBlks, goodBlks, badBlks));
660 const ULWord rgnInfo(*it);
661 const UWord startBlk(rgnInfo >> 16), numBlks(
UWord(rgnInfo & 0x0000FFFF));
663 GetTagsForFrameIndex (startBlk, tags);
665 oss <<
"Frms " <<
DEC0N(startBlk,3) <<
"-" <<
DEC0N(startBlk+numBlks-1,3) <<
" : ";
667 oss <<
"Frm " <<
DEC0N(startBlk,3) <<
" : ";
679 outFree.clear(); outUsed.clear(); outBad.clear();
680 FrameTagsConstIter it(mFrameTags.begin());
681 if (it == mFrameTags.end())
683 UWord frmStart(it->first), lastFrm(frmStart);
685 while (++it != mFrameTags.end())
692 if (frmStart != lastFrm)
693 outFree.push_back((
ULWord(frmStart) << 16) |
ULWord(lastFrm-frmStart+1));
695 outFree.push_back((
ULWord(frmStart) << 16) |
ULWord(1));
697 else if (runTags.size() > 1)
699 if (frmStart != lastFrm)
700 outBad.push_back((
ULWord(frmStart) << 16) |
ULWord(lastFrm-frmStart+1));
706 if (frmStart != lastFrm)
707 outUsed.push_back((
ULWord(frmStart) << 16) |
ULWord(lastFrm-frmStart+1));
709 outUsed.push_back((
ULWord(frmStart) << 16) |
ULWord(1));
711 frmStart = lastFrm = it->first;
719 if (frmStart != lastFrm)
720 outFree.push_back((
ULWord(frmStart) << 16) |
ULWord(lastFrm-frmStart+1));
722 outFree.push_back((
ULWord(frmStart) << 16) |
ULWord(1));
724 else if (runTags.size() > 1)
726 if (frmStart != lastFrm)
727 outBad.push_back((
ULWord(frmStart) << 16) |
ULWord(lastFrm-frmStart+1));
733 if (frmStart != lastFrm)
734 outUsed.push_back((
ULWord(frmStart) << 16) |
ULWord(lastFrm-frmStart+1));
736 outUsed.push_back((
ULWord(frmStart) << 16) |
ULWord(1));
744 FrameTagsConstIter it(mFrameTags.find(inIndex));
745 if (it == mFrameTags.end())
747 outTags = it->second;
753 FrameTagsConstIter it(mFrameTags.find(inIndex));
754 if (it == mFrameTags.end())
756 return it->second.size();
762 if (inIsQuad && inIsQuadQuad)
764 if (inSrcRgns.empty())
766 const UWord _8MB_frames_per_dest_frame(
UWord(GetIntrinsicFrameByteCount() / m8MB) * (inIsQuad?4:1) * (inIsQuadQuad?16:1));
767 if (!_8MB_frames_per_dest_frame)
769 if (_8MB_frames_per_dest_frame == 1)
770 {outDestRgns = inSrcRgns;
return true;}
773 for (
size_t ndx(0); ndx < inSrcRgns.size(); ndx++)
774 {
const ULWord val(inSrcRgns.at(ndx));
775 ULWord startBlkOffset(val >> 16), lengthBlks(val & 0x0000FFFF);
776 startBlkOffset = startBlkOffset / _8MB_frames_per_dest_frame + (startBlkOffset % _8MB_frames_per_dest_frame ? 1 : 0);
777 lengthBlks = lengthBlks / _8MB_frames_per_dest_frame;
778 outDestRgns.push_back((startBlkOffset << 16) | lengthBlks);
786 bool isReading(
false), isWriting(
false);
791 tag <<
"Aud" <<
DEC(audSys+1);
796 TagMemoryBlock(addr, m8MB, inMarkStoppedAudioBuffersFree && !isReading && !isWriting ?
string() : tag.str());
808 bool isEnabled(
false), isMultiFormat(
false), isQuad(
false), isQuadQuad(
false), isSquares(
false), isTSI(
false);
810 uint64_t addr(0), len(0);
811 if (skipChannels.find(chan) != skipChannels.end())
818 tag <<
"AC" <<
DEC(chan+1) << (acStatus.
IsInput() ?
" Write" :
" Read");
819 TagMemoryBlock(addr, tmp + len - addr, tag.str());
830 inDevice.
GetDeviceFrameInfo (
UWord(frameNum), chan, mIntrinsicSize, isMultiFormat, isQuad, isQuadQuad, isSquares, isTSI, addr, len);
832 tag <<
"MR" <<
DEC(chan+1);
834 tag <<
"Ch" <<
DEC(chan+1);
836 TagMemoryBlock(addr, len, tag.str());
842 else if (isQuad && !isQuadQuad && isTSI)
865 if (inStartAddr % m8MB)
867 if (inByteLength % m8MB)
871 const UWord startFrm(
UWord(inStartAddr / m8MB)), frmCnt(
UWord(inByteLength / m8MB));
872 for (
UWord frm(0); frm < frmCnt; frm++)
874 UWord frameNum(startFrm + frm);
876 if (tags.find(inTag) == tags.end())
879 if (frameNum >= mNumFrames)
880 tags.insert(
"Invalid");
virtual bool DeviceCanDoVideoFormat(const NTV2VideoFormat inVF)
virtual bool GetNumericParam(const ULWord inParamID, ULWord &outValue)
size_t GetTagCount(const UWord inIndex) const
virtual bool SetFrameBufferSize(const NTV2Framesize inSize)
Sets the device's intrinsic frame buffer size.
virtual Word GetPCIFPGAVersion(void)
#define NTV2_IS_INPUT_MODE(__mode__)
virtual bool IsSupported(const NTV2BoolParamID inParamID)
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information...
#define kQParamVDevIndex
Device index number for .vdev virtual device.
virtual bool GetLPTunnelConfigurationURLString(std::string &outURLString)
virtual bool IS_OUTPUT_SPIGOT_INVALID(const UWord inOutputSpigot)
virtual ULWord DeviceGetAudioFrameBuffer2(void)
static NTV2Buffer NULL_POINTER
Used for default empty NTV2Buffer parameters – do not modify.
virtual bool DeviceCanDoWidget(const NTV2WidgetID inWgtID)
#define DEC0N(__x__, __n__)
The number of video channels supported on the device.
virtual bool DeviceCanDoFrameBufferFormat(const NTV2PixelFormat inPF)
I interrogate and control an AJA video/audio capture/playout device.
NTV2FrameBufferFormat
Identifies a particular video frame buffer pixel format. See Device Frame Buffer Formats for details...
virtual ULWord GetSerialNumberHigh(void)
bool AssessDevice(CNTV2Card &inDevice, const bool inIgnoreStoppedAudioBuffers=(0))
Assesses the given device.
std::string valueForKey(const std::string &inKey) const
virtual bool DeviceCanDoConversionMode(const NTV2ConversionMode inCM)
ULWord NTV2DeviceGetActiveMemorySize(const NTV2DeviceID inDeviceID)
True if device can warm-boot to load updated firmware.
virtual UWord GetIndexNumber(void) const
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
The number of independent Audio Systems on the device.
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...
Identifies the NTV2DSKMode enumerated type.
virtual bool IsMultiRasterWidgetChannel(const NTV2Channel inChannel)
True if device can report if its "fail-safe" firmware is loaded/running.
Identifies the AES/EBU audio breakout cable that has XLR connectors.
#define kQParamVDevName
Device name, if not specified in .vdev file, then base name of .vdev file.
#define kNTV2PluginRegInfoKey_ShortName
Plugin short name.
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 Close(void)
Closes me, releasing host resources that may have been allocated in a previous Open call...
static bool isEnabled(CNTV2Card &device, const NTV2Channel inChannel)
virtual bool IS_INPUT_SPIGOT_INVALID(const UWord inInputSpigot)
virtual bool Open(const UWord inDeviceIndex)
Opens a local/physical AJA device so it can be monitored/controlled.
virtual bool DeviceCanDoFormat(const NTV2FrameRate inFR, const NTV2FrameGeometry inFG, const NTV2Standard inStd)
virtual Word GetDeviceVersion(void)
Answers with this device's version number.
Identifies the NTV2VideoFormat enumerated type.
ULWord _ulFrameBufferSize
Identifies the NTV2InputSource enumerated type.
virtual bool GetFrameBufferSize(const NTV2Channel inChannel, NTV2Framesize &outValue)
Answers with the frame size currently being used on the device.
ULWord NTV2DeviceGetAudioFrameBuffer2(NTV2DeviceID boardID, NTV2FrameGeometry frameGeometry, NTV2FrameBufferFormat frameFormat)
virtual bool IsAudioInputRunning(const NTV2AudioSystem inAudioSystem, bool &outIsRunning)
Answers whether or not the capture side of the given NTV2AudioSystem is currently running...
virtual ULWord GetFrameBufferSize(void) const
std::ostream & RawDump(std::ostream &oss) const
Dumps a human-readable list of regions into the given stream.
virtual bool AutoCirculateGetStatus(const NTV2Channel inChannel, AUTOCIRCULATE_STATUS &outStatus)
Returns the current AutoCirculate status for the given channel.
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
virtual NTV2Dictionary ConnectParams(void) const
#define NTV2DriverVersionDecode_Major(__vers__)
#define NTV2DriverVersionDecode_Point(__vers__)
virtual bool GetInstalledBitfileInfo(ULWord &outNumBytes, std::string &outDateStr, std::string &outTimeStr)
Returns the bitfile size and time/date stamp from the header of the bitfile that's currently installe...
The number of SDI video outputs on the device.
ULWordSet::const_iterator ULWordSetConstIter
virtual bool IsRemote(void) const
virtual bool HasMultiRasterWidget(void)
NTV2FrameRate
Identifies a particular video frame rate.
I'm the base class that undergirds the platform-specific derived classes (from which CNTV2Card is ult...
virtual std::string GetPCIFPGAVersionString(void)
virtual bool IsAudioOutputRunning(const NTV2AudioSystem inAudioSystem, bool &outIsRunning)
Answers whether or not the playout side of the given NTV2AudioSystem is currently running...
NTV2Standard
Identifies a particular video standard.
virtual std::string GetDescription(void) const
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
static ULWordSet CoalesceRegions(const ULWordSequence &inRgn1, const ULWordSequence &inRgn2, const ULWordSequence &inRgn3)
virtual bool IsFailSafeBitfileLoaded(bool &outIsFailSafe)
Answers whether or not the "fail-safe" (aka "safe-boot") bitfile is currently loaded and running in t...
NTV2DeviceID _boardID
My cached device ID.
static std::string SerialNum64ToString(const uint64_t inSerialNumber)
Returns a string containing the decoded, human-readable device serial number.
virtual bool IsOpen(void) const
bool _boardOpened
True if I'm open and connected to the device.
std::set< std::string > NTV2StringSet
NTV2BreakoutType
Identifies the Breakout Boxes and Cables that may be attached to an AJA NTV2 device.
virtual std::string GetBitfileInfoString(const BITFILE_INFO_STRUCT &inBitFileInfo)
Generates and returns an info string with date, time and name for the given inBifFileInfo.
True if device has attached breakout board. (New in SDK 17.0)
virtual bool GetSerialNumberString(std::string &outSerialNumberString)
Answers with a string that contains my human-readable serial number.
virtual std::string GetDisplayName(void)
Answers with this device's display 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...
ULWord NTV2FramesizeToByteCount(const NTV2Framesize inFrameSize)
Converts the given NTV2Framesize value into an exact byte count.
bool IsStopped(void) const
True if device uses a "stacked" arrangement of its audio buffers.
std::set< ULWord > ULWordSet
A collection of unique ULWord (uint32_t) values.
virtual std::string GetDriverVersionString(void)
Answers with this device's driver's version as a human-readable string.
virtual bool DeviceCanDoDSKMode(const NTV2DSKMode inDSKM)
virtual bool GetInputFrame(const NTV2Channel inChannel, ULWord &outValue)
Answers with the current input frame index number for the given FrameStore. This identifies which par...
virtual std::string GetDeviceVersionString(void)
Answers with this device's version number as a human-readable string.
virtual bool IS_HDMI_INPUT_SPIGOT_INVALID(const UWord inInputHDMIPort)
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 GetLPExternalConfigurationURLString(std::string &outURLString)
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...
Specifies channel or FrameStore 8 (or the 8th item).
Specifies channel or FrameStore 2 (or the 2nd item).
virtual NTV2DeviceID GetDeviceID(void)
static NTV2WidgetID WidgetIDFromTypeAndChannel(const NTV2WidgetType inWidgetType, const NTV2Channel inChannel)
True if device has a local processor handling the product code. (New in SDK 18.1) ...
ULWord NTV2DeviceGetNumberFrameBuffers(NTV2DeviceID id, NTV2FrameGeometry fg, NTV2FrameBufferFormat fbf)
virtual std::string GetDescription(void) const
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...
NTV2Framesize
Kona2/Xena2 specific enums.
#define NTV2_IS_VALID_CHANNEL(__x__)
virtual bool DeviceCanDoInputSource(const NTV2InputSource inSrc)
Describes a user-space buffer on the host computer. I have an address and a length, plus some optional attributes (allocated by SDK?, page-aligned? etc.).
virtual bool DriverGetBitFileInformation(BITFILE_INFO_STRUCT &outBitFileInfo, const NTV2BitFileType inBitFileType=NTV2_VideoProcBitFile)
defined(NTV2_DEPRECATE_17_2)
NTV2Mode
Used to identify the mode of a widget_framestore, or the direction of an AutoCirculate stream: either...
uint16_t GetEndFrame(void) const
virtual std::string GetModelName(void)
Answers with this device's model name.
virtual int GetSFPConfigurationURLStrings(std::vector< std::string > &sfpURLStrings)
NTV2InputSource
Identifies a specific video input source.
std::string NTV2DeviceIDToString(const NTV2DeviceID inValue, const bool inForRetailDisplay=false)
bool TagVideoFrames(CNTV2Card &inDevice)
std::string & strip(std::string &str, const std::string &ws)
virtual bool GetFrameBufferFormat(NTV2Channel inChannel, NTV2FrameBufferFormat &outValue)
Returns the current frame buffer format for the given FrameStore on the AJA device.
NTV2FrameGeometry
Identifies a particular video frame geometry.
std::set< NTV2Channel > NTV2ChannelSet
A set of distinct NTV2Channel values.
This identifies the first Audio System.
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)
virtual bool GetFrameGeometry(NTV2FrameGeometry &outValue, NTV2Channel inChannel=NTV2_CHANNEL1)
Declares numerous NTV2 utility functions.
True if device supports 12G routing crosspoints.
bool TagAudioBuffers(CNTV2Card &inDevice, const bool inMarkStoppedAudioBuffersFree)
virtual uint64_t GetSerialNumber(void)
Answers with my serial number.
virtual ULWord GetNumSupported(const NTV2NumericParamID inParamID)
Declares the AJASystemInfo class.
virtual ULWord DeviceGetFrameBufferSize(void)
This is returned from the CNTV2Card::AutoCirculateGetStatus function.
ULWord _ulNumFrameBuffers
#define NTV2DriverVersionDecode_Build(__vers__)
Specifies channel or FrameStore 1 (or the first item).
ULWord NTV2DeviceGetAudioFrameBuffer(NTV2DeviceID boardID, NTV2FrameGeometry frameGeometry, NTV2FrameBufferFormat frameFormat)
virtual NTV2BreakoutType GetBreakoutHardware(void)
A simple (not thread-safe) set of key/value pairs. (New in SDK 16.3)
bool CanDoWidget(const NTV2WidgetID inWgtID)
virtual ULWordSet GetSupportedItems(const NTV2EnumsID inEnumsID)
Identifies the AES/EBU audio breakout cable that has BNC connectors.
virtual bool IsChannelEnabled(const NTV2Channel inChannel, bool &outEnabled)
Answers whether or not the given FrameStore is enabled.
bool GetTagsForFrameIndex(const UWord inIndex, NTV2StringSet &outTags) const
Answers with the list of tags for the given frame number.
#define NTV2DriverVersionDecode_Minor(__vers__)
The SPI-flash version on the device. (New in SDK 17.1)
virtual bool IS_CHANNEL_INVALID(const NTV2Channel inChannel) const
Declares the CNTV2Card class.
bool NTV2DeviceCanDoFormat(const NTV2DeviceID inDevID, const NTV2FrameRate inFR, const NTV2FrameGeometry inFG, const NTV2Standard inStd)
Specifies channel or FrameStore 4 (or the 4th item).
Specifies channel or FrameStore 5 (or the 5th item).
ULWord NTV2DeviceGetFrameBufferSize(NTV2DeviceID id, NTV2FrameGeometry fg, NTV2FrameBufferFormat fbf)
Private include file for all ajabase sources.
virtual ULWord DeviceGetNumberFrameBuffers(void)
std::vector< uint32_t > ULWordSequence
An ordered sequence of ULWord (uint32_t) values.
virtual bool CanWarmBootFPGA(bool &outCanWarmBoot)
Answers whether or not the FPGA can be reloaded without powering off.
bool TagMemoryBlock(const ULWord inStartAddr, const ULWord inByteLength, const std::string &inTag)
True if device has a microphone input connector.
std::string SerialNum64ToString(const uint64_t &inSerNum)
std::string NTV2BitfileTypeToString(const NTV2BitfileType inValue, const bool inCompactDisplay=false)
virtual AJAStatus GetValue(const AJASystemInfoTag inTag, std::string &outValue) const
Answers with the host system info value string for the given AJASystemInfoTag.
std::string join(const std::vector< std::string > &parts, const std::string &delim)
No identifiable breakout hardware appears to be attached.
virtual ULWord DeviceGetAudioFrameBuffer(void)
Identifies the NTV2PixelFormat enumerated type.
std::ostream & DumpBlocks(std::ostream &oss) const
Dumps all 8MB blocks/frames and their tags, if any, into the given stream.
The number of 25Gbps SFPs on the device. (New in SDK 18.1)
Specifies channel or FrameStore 6 (or the 6th item).
Identifies the NTV2ConversionMode enumerated type.
virtual bool IsBufferSizeSetBySW(void)
defined(NTV2_DEPRECATE_17_2)
virtual std::string GetFPGAVersionString(const NTV2XilinxFPGA inFPGA=eFPGAVideoProc)
CNTV2Card()
My default constructor.
Specifies channel or FrameStore 7 (or the 7th item).
virtual ULWord GetSerialNumberLow(void)
Identifies the NTV2AudioWidgetID enumerated type.
virtual bool GetDriverVersionComponents(UWord &outMajor, UWord &outMinor, UWord &outPoint, UWord &outBuild)
Answers with the individual version components of this device's driver.
The number of SDI video inputs on the device.
uint16_t GetStartFrame(void) const
Declares device capability functions.
Packed driver version – use NTV2DriverVersionEncode, NTV2DriverVersionDecode* macros to encode/decod...
virtual ~CNTV2Card()
My destructor.
The size, in bytes, of the device's active RAM available for video and audio.
Specifies channel or FrameStore 3 (or the 3rd item).
virtual bool GetMode(const NTV2Channel inChannel, NTV2Mode &outValue)
Answers with the current NTV2Mode of the given FrameStore on the AJA device.
The number of HDMI video inputs on the device.
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...