|
AJA NTV2 SDK
17.1.3.1410
NTV2 SDK 17.1.3.1410
|
Go to the documentation of this file.
18 #if defined (AJAMac) || defined (AJALinux)
92 typedef pair <string, NTV2VideoFormat> String2VideoFormatPair;
93 typedef pair <string, NTV2FrameBufferFormat> String2PixelFormatPair;
94 typedef pair <string, NTV2AudioSystem> String2AudioSystemPair;
95 typedef pair <string, NTV2VANCMode> String2VANCModePair;
96 typedef pair <string, NTV2InputSource> String2InputSourcePair;
97 typedef pair <string, NTV2OutputDestination> String2OutputDestPair;
121 if (str.at (str.length () - 1) ==
'a')
122 str.erase (str.length () - 1);
124 if (str.find (
".00") != string::npos)
125 str.erase (str.find (
".00"), 3);
127 while (str.find (
" ") != string::npos)
128 str.erase (str.find (
" "), 1);
130 if (str.find (
".") != string::npos)
131 str.erase (str.find (
"."), 1);
208 while (str.find (
" ") != string::npos)
209 str.erase (str.find (
" "), 1);
211 while (str.find (
"-") != string::npos)
212 str.erase (str.find (
"-"), 1);
214 if (str.find (
"compatible") != string::npos)
215 str.erase (str.find (
"compatible"), 10);
217 if (str.find (
"ittle") != string::npos)
218 str.erase (str.find (
"ittle"), 5);
220 if (str.find (
"ndian") != string::npos)
221 str.erase (str.find (
"ndian"), 5);
228 if (str.find (
"NTV2_FBF_") == 0)
231 while (str.find (
" ") != string::npos)
232 str.erase (str.find (
" "), 1);
234 while (str.find (
"_") != string::npos)
235 str.erase (str.find (
"_"), 1);
280 for (uint8_t ndx (0); ndx < 8; ndx++)
353 string tpName(tpNames.at(tp));
356 ostringstream oss; oss <<
DEC(tp);
361 string colorName(*it);
368 string ULWordToString (
const ULWord inNum)
382 if (it != fTimecodes.end())
389 size_t errorCount(0);
410 size_t errorCount(0);
433 const string deviceSpec (inDeviceSpec.empty() ?
"0" : inDeviceSpec);
436 if (deviceSpec !=
"LIST" && deviceSpec !=
"list" && deviceSpec !=
"?")
437 cerr <<
"## ERROR: Failed to open device spec '" << deviceSpec <<
"'" << endl;
453 strs.push_back(
"capture");
455 strs.push_back(
"playout");
457 strs.push_back(
"SDI");
459 strs.push_back(
"HDMI");
461 strs.push_back(
"analog video");
463 strs.push_back(
"IP/SFPs");
465 strs.push_back(
"Thunderbolt/PCMCIA");
467 strs.push_back(
"4K");
469 strs.push_back(
"12G SDI");
471 strs.push_back(
"6G SDI");
473 strs.push_back(
"custom Anc");
475 strs.push_back(
"SDI relays");
480 for (vector<string>::const_iterator it(strs.begin()); it != strs.end(); )
483 if (++it != strs.end())
492 ostringstream oss, hdr;
498 typedef map<NTV2DeviceID,UWord> DeviceTallies;
499 DeviceTallies tallies;
507 if (tallies.find(deviceID) == tallies.end())
509 tallies[deviceID] = 1;
515 const UWord num(tallies[deviceID]);
516 tallies.erase(deviceID);
517 tallies[deviceID] = num+1;
523 if (supportedDevices.find(deviceID) == supportedDevices.end())
524 oss <<
"\t## Doesn't support one of " << filterString;
529 return string(
"No devices\n");
530 hdr <<
DEC(ndx) <<
" local " << (ndx == 1 ?
"device" :
"devices") <<
" found:" << endl
531 << setw(16) << left <<
"Legal -d Values" << endl
532 << setw(16) << left <<
"----------------";
555 if (!inDeviceSpecifier.empty())
558 oss << setw(25) << left <<
"Video Format" <<
"\t" << setw(16) << left <<
"Legal -v Values" << endl
559 << setw(25) << left <<
"------------------------" <<
"\t" << setw(16) << left <<
"----------------" << endl;
564 if (*iter == it->second)
566 oss << setw(25) << left << formatName <<
"\t" << setw(16) << left << it->first;
607 if (!inDeviceSpecifier.empty())
610 if (device.IsOpen ())
615 oss << setw (34) << left <<
"Frame Buffer Format" <<
"\t" << setw (32) << left <<
"Legal -p Values" << endl
616 << setw (34) << left <<
"----------------------------------" <<
"\t" << setw (32) << left <<
"--------------------------------" << endl;
621 if (*iter == it->second)
623 oss << setw(35) << left << formatName <<
"\t" << setw(25) << left << it->first;
625 oss <<
"\t## Incompatible with " << displayName;
683 if (!inDeviceSpecifier.empty ())
686 oss << setw (25) << left <<
"Input Source" <<
"\t" << setw (16) << left <<
"Legal -i Values" << endl
687 << setw (25) << left <<
"------------------------" <<
"\t" << setw (16) << left <<
"----------------" << endl;
692 if (*iter == it->second)
694 oss << setw (25) << left << sourceName <<
"\t" << setw (16) << left << it->first;
720 if (!inDeviceSpecifier.empty())
723 oss << setw (25) << left <<
"Output Destination" <<
"\t" << setw(16) << left <<
"Legal -o Values" << endl
724 << setw (25) << left <<
"------------------------" <<
"\t" << setw(16) << left <<
"----------------" << endl;
729 if (*iter == it->second)
731 oss << setw(25) << left << destName <<
"\t" << setw(16) << left << it->first;
774 const string inDeviceSpecifier,
775 const bool inIsInputOnly)
777 const NTV2TCIndexes & tcIndexes (GetSupportedTCIndexes(inKinds));
780 if (!inDeviceSpecifier.empty())
783 oss << setw (25) << left <<
"Timecode Index" <<
"\t" << setw (16) << left <<
"Legal Values " << endl
784 << setw (25) << left <<
"------------------------" <<
"\t" << setw (16) << left <<
"----------------" << endl;
789 if (*iter == it->second)
791 oss << setw (25) << left << tcNdxName <<
"\t" << setw (16) << left << it->first;
792 if (!inDeviceSpecifier.empty() && theDevice.IsOpen())
824 if (!inDeviceSpecifier.empty())
831 const UWord numAudioSystems (device.
features().GetNumAudioSystems());
832 oss << setw(12) << left <<
"Audio System" << endl
833 << setw(12) << left <<
"------------" << endl;
834 for (
UWord ndx(0); ndx < 8; ndx++)
836 oss << setw(12) << left << (ndx+1);
837 if (!displayName.empty() && ndx >= numAudioSystems)
838 oss <<
"\t## Incompatible with " << displayName;
853 typedef map<string,string> NTV2StringMap;
858 if (keys.find(val) == keys.end())
862 NTV2StringMap legals;
863 for (NTV2StringSet::const_iterator kit(keys.begin()); kit != keys.end(); ++kit)
868 if (it->second == officialVM)
869 legalValues.push_back(it->first);
874 oss << setw(12) << left <<
"VANC Mode" <<
"\t" << setw(32) << left <<
"Legal --vanc Values " << endl
875 << setw(12) << left <<
"---------" <<
"\t" << setw(32) << left <<
"--------------------------------" << endl;
876 for (NTV2StringMap::const_iterator it(legals.begin()); it != legals.end(); ++it)
877 oss << setw(12) << left << it->first <<
"\t" << setw(32) << left << it->second << endl;
891 typedef map<string,string> NTV2StringMap;
894 if (keys.find(it->second) == keys.end())
895 keys.insert(it->second);
897 NTV2StringMap legals;
898 for (NTV2StringSet::const_iterator kit(keys.begin()); kit != keys.end(); ++kit)
900 const string & officialPatName(*kit);
903 if (it->second == officialPatName)
904 legalValues.push_back(it->first);
905 legals[officialPatName] =
aja::join(legalValues,
", ");
909 oss << setw(25) << left <<
"Test Pattern or Color " <<
"\t" << setw(22) << left <<
"Legal --pattern Values" << endl
910 << setw(25) << left <<
"------------------------" <<
"\t" << setw(22) << left <<
"----------------------" << endl;
911 for (NTV2StringMap::const_iterator it(legals.begin()); it != legals.end(); ++it)
912 oss << setw(25) << left << it->first <<
"\t" << setw(22) << left << it->second << endl;
919 string tpName(inStr);
928 string result(inStr);
935 string result (inStr);
936 while (result.find (
" ") != string::npos)
937 result.erase (result.find (
" "), 1);
938 while (result.find (
"00") != string::npos)
939 result.erase (result.find (
"00"), 2);
940 while (result.find (
".") != string::npos)
941 result.erase (result.find (
"."), 1);
949 #if defined (AJAMac) || defined (AJALinux)
950 struct termios terminalStatus;
951 ::memset (&terminalStatus, 0,
sizeof (terminalStatus));
952 if (::tcgetattr (0, &terminalStatus) < 0)
953 cerr <<
"tcsetattr()";
954 terminalStatus.c_lflag &= ~uint32_t(ICANON);
955 terminalStatus.c_lflag &= ~uint32_t(ECHO);
956 terminalStatus.c_cc[VMIN] = 1;
957 terminalStatus.c_cc[VTIME] = 0;
958 if (::tcsetattr (0, TCSANOW, &terminalStatus) < 0)
959 cerr <<
"tcsetattr ICANON";
960 if (::read (0, &result, 1) < 0)
961 cerr <<
"read()" << endl;
962 terminalStatus.c_lflag |= ICANON;
963 terminalStatus.c_lflag |= ECHO;
964 if (::tcsetattr (0, TCSADRAIN, &terminalStatus) < 0)
965 cerr <<
"tcsetattr ~ICANON" << endl;
966 #elif defined (MSWindows) || defined (AJAWindows)
967 HANDLE hdl (GetStdHandle (STD_INPUT_HANDLE));
970 PeekConsoleInput (hdl, &buffer, 1, &nEvents);
973 ReadConsoleInput (hdl, &buffer, 1, &nEvents);
974 result = char (buffer.Event.KeyEvent.wVirtualKeyCode);
983 cout <<
"## Press Enter/Return key to exit: ";
1013 switch (inFrameRate)
1017 #if !defined(NTV2_DEPRECATE_16_0)
1023 case NTV2_FRAMERATE_5000: return AJA_FrameRate_5000;
1090 static struct VideoFormatPair
1094 } VideoFormatPairs[] = {
1122 for (
size_t formatNdx(0); formatNdx <
sizeof(VideoFormatPairs) /
sizeof(VideoFormatPair); formatNdx++)
1123 if (VideoFormatPairs[formatNdx].vIn == inOutVideoFormat)
1125 inOutVideoFormat = VideoFormatPairs[formatNdx].vOut;
1134 static struct VideoFormatPair
1138 } VideoFormatPairs[] = {
1166 for (
size_t formatNdx(0); formatNdx <
sizeof(VideoFormatPairs) /
sizeof(VideoFormatPair); formatNdx++)
1167 if (VideoFormatPairs[formatNdx].vIn == inOutVideoFormat)
1169 inOutVideoFormat = VideoFormatPairs[formatNdx].vOut;
1184 UWord totFrameStores(inDevice.
features().GetNumFrameStores());
1187 UWord tsiMux(firstFramestoreIndex);
1189 if (totFrameStores > totTSIMuxers)
1190 tsiMux = firstFramestoreIndex/2;
1191 else if (totFrameStores < totTSIMuxers)
1192 tsiMux = firstFramestoreIndex*2;
1193 for (
UWord num(0); num < inCount; num++)
1201 const bool isInputRGB)
1210 if (isInputRGB && !isFrameRGB)
1215 else if (!isInputRGB && isFrameRGB)
1223 return !conns.empty();
1231 const bool isInputRGB)
1233 UWord sdi(0), mux(0), csc(0), fb(0), path(0);
1242 if (isInputRGB == isFrameRGB)
1244 for (path = 0; path < 4; path++)
1255 else if (isInputRGB && !isFrameRGB)
1257 for (path = 0; path < 4; path++)
1275 for (path = 0; path < 4; path++)
1294 cerr <<
"## ERROR: Ch5678 must be for Corvid88, but no HDMI on that device" << endl;
1308 {fb = 4; sdi = fb; mux = fb / 2; csc = fb;}
1313 for (path = 0; path < 4; path++)
1331 for (path = 0; path < 4; path++)
1348 for (path = 0; path < 4; path++)
1362 for (path = 0; path < 4; path++)
1372 return !conns.empty();
1380 const bool isInputRGB)
1382 UWord fb(0), path(0);
1401 for (path = 0; path < 4; path++)
1417 else if (isQuadQuadHFR)
1436 for (path = 0; path < 4; path++)
1459 return !conns.empty();
1466 UWord numAudChannels(inDevice.
features().GetMaxAudioChannels());
1488 if (hwPageSizeBytes != sdkPageSizeBytes)
1491 cerr <<
"## NOTE: Page size changed from " <<
DEC(sdkPageSizeBytes/1024) <<
"K to " <<
DEC(hwPageSizeBytes/1024) <<
"K" << endl;
1493 cerr <<
"## WARNING: Failed to change page size from " <<
DEC(sdkPageSizeBytes/1024) <<
"K to " <<
DEC(hwPageSizeBytes/1024) <<
"K" << endl;
1495 return hwPageSizeBytes;
1504 { ostringstream oss;
1513 mOtherArgs.push_back(
string(pStr));
1527 typedef struct {
string fName;
NTV2VideoFormat fFormat;} FormatNameDictionary;
1528 static const FormatNameDictionary sVFmtDict[] = {
1646 cout << endl << endl;
1647 for (
unsigned ndx(0); !sVFmtDict[ndx].fName.empty(); ndx++)
1649 const string & str (sVFmtDict[ndx].fName);
1653 if (vFormat != vFormat2)
1676 AJASystemInfo::append (result,
"Anc Capture File", fAncDataFilePath.empty() ?
"---" : fAncDataFilePath);
1707 AJASystemInfo::append (result,
"Anc Playback File", fAncDataFilePath.empty() ?
"---" : fAncDataFilePath);
1735 if (fDeviceSpec2.empty())
std::set< NTV2InputSource > NTV2InputSourceSet
A set of distinct NTV2InputSource values.
static NTV2StringList getColorNames(void)
@ NTV2_FORMAT_3840x2160p_6000
@ NTV2_FBF_10BIT_YCBCR_420PL3_LE
See 3-Plane 10-Bit YCbCr 4:2:0 ('I420_10LE' a.k.a. 'YUV-P420-L10').
unsigned long stoul(const std::string &str, std::size_t *idx, int base)
@ NTV2_FORMAT_4x1920x1080p_6000
NTV2InputSource NTV2ChannelToInputSource(const NTV2Channel inChannel, const NTV2IOKinds inKinds=NTV2_IOKINDS_SDI)
@ NTV2_FORMAT_1080psf_2398
virtual bool DMABufferUnlock(const NTV2Buffer &inBuffer)
Unlocks the given host buffer that was previously locked using CNTV2Card::DMABufferLock.
NTV2Channel NTV2InputSourceToChannel(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2Channel value.
static NTV2InputSource GetInputSourceFromString(const std::string &inStr)
Returns the NTV2InputSource that matches the given string.
static bool SetDefaultPageSize(const size_t inNewSize)
Changes the default page size for use in future page-aligned allocations.
@ NTV2_FORMAT_4096x2160p_2400
static std::string GetVideoFormatStrings(const NTV2VideoFormatKinds inKinds=VIDEO_FORMATS_NON_4KUHD, const std::string inDeviceSpecifier=std::string())
static const string gGlobalMutexName("com.aja.ntv2.mutex.demo")
bool CanDoVideoFormat(const NTV2VideoFormat inVF)
@ NTV2_FBF_NUMFRAMEBUFFERFORMATS
@ AJA_PixelFormat_YCBCR10_422PL
@ NTV2_FBF_ARGB
See 8-Bit ARGB, RGBA, ABGR Formats.
NTV2OutputXptID GetSDIInputOutputXptFromChannel(const NTV2Channel inSDIInput, const bool inIsDS2=false)
@ NTV2_FBF_10BIT_YCBCR_420PL2
10-Bit 4:2:0 2-Plane YCbCr
String2PixelFormatMap::const_iterator String2PixelFormatMapConstIter
static NTV2TCIndexSet gTCIndexesVITC1
@ NTV2_AUDIO_LOOPBACK_OFF
Embeds silence (zeroes) into the data stream.
static String2OutputDestMap gString2OutputDestMap
@ NTV2_DEVICEKIND_OUTPUT
Specifies devices that output (playout).
NTV2FrameBufferFormatSet::const_iterator NTV2FrameBufferFormatSetConstIter
A handy const iterator for iterating over an NTV2FrameBufferFormatSet.
#define NTV2_IS_ATC_VITC1_TIMECODE_INDEX(__x__)
@ NTV2_DEVICEKIND_RELAYS
Specifies devices that have bypass relays.
@ NTV2_FORMAT_4x4096x2160p_4800
std::set< NTV2FrameBufferFormat > NTV2FrameBufferFormatSet
A set of distinct NTV2FrameBufferFormat values.
NTV2OutputDestination
Identifies a specific video output destination.
static NTV2InputSourceSet gInputSources
@ NTV2_FORMAT_4x4096x2160p_2398
@ AJA_PixelFormat_YCBCR8_422PL3
@ NTV2_FBF_12BIT_RGB_PACKED
See 12-Bit Packed RGB.
@ NTV2_DEVICEKIND_ANALOG
Specifies devices with analog video connectors.
static NTV2FrameBufferFormatSet GetSupportedPixelFormats(const NTV2PixelFormatKinds inKinds=PIXEL_FORMATS_ALL)
map< string, NTV2FrameBufferFormat > String2PixelFormatMap
NTV2InputXptID GetDLInInputXptFromChannel(const NTV2Channel inChannel, const bool inLinkB=false)
std::set< NTV2OutputDestination > NTV2OutputDestinations
A set of distinct NTV2OutputDestination values.
static const NTV2VideoFormatSet & GetSupportedVideoFormats(const NTV2VideoFormatKinds inKinds=VIDEO_FORMATS_NON_4KUHD)
Declares device capability functions.
static NTV2InputSourceSet gInputSourcesHDMI
static NTV2VANCMode GetVANCModeFromString(const std::string &inStr)
std::set< std::string > NTV2StringSet
#define NTV2_IS_FBF_PLANAR(__s__)
static std::string GetOutputDestinationStrings(const std::string inDeviceSpecifier=std::string())
std::string & strip(std::string &str, const std::string &ws)
NTV2TestPatternSelect
Identifies a predefined NTV2 test pattern.
@ NTV2_FBF_PRORES_HDV
Apple ProRes HDV.
@ NTV2_FORMAT_4096x2160p_2500
#define NTV2_FBF_IS_RAW(__fbf__)
@ NTV2_FRAMERATE_1500
15 frames per second
std::set< NTV2TCIndex > NTV2TCIndexes
@ NTV2_FRAMERATE_6000
60 frames per second
NTV2DeviceIDSet NTV2GetSupportedDevices(const NTV2DeviceKinds inKinds=NTV2_DEVICEKIND_ALL)
Returns an NTV2DeviceIDSet of devices supported by the SDK.
static NTV2ChannelList GetTSIMuxesForFrameStore(CNTV2Card &inDevice, const NTV2Channel in1stFrameStore, const UWord inCount)
#define NTV2_IS_FBF_PRORES(__fbf__)
static char ReadCharacterPress(void)
Returns the character that represents the last key that was pressed on the keyboard without waiting f...
@ NTV2_FORMAT_525psf_2997
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
static NTV2FrameBufferFormatSet gPixelFormats
@ NTV2_FORMAT_4x2048x1080p_4795
static NTV2VideoFormatSet g4KFormats
@ NTV2_FBF_10BIT_DPX_LE
10-Bit DPX Little-Endian
std::string join(const std::vector< std::string > &parts, const std::string &delim)
@ NTV2_FORMAT_3840x2160p_5994_B
#define NTV2_ASSERT(_expr_)
std::set< NTV2VideoFormat > NTV2VideoFormatSet
A set of distinct NTV2VideoFormat values.
@ NTV2_FRAMERATE_2997
Fractional rate of 30,000 frames per 1,001 seconds.
@ NTV2_FORMAT_1080p_2K_6000_B
@ NTV2_FORMAT_4096x2160p_5000_B
const char * poptGetArg(poptContext con)
@ NTV2_FBF_RGBA
See 8-Bit ARGB, RGBA, ABGR Formats.
@ AJA_PixelFormat_BGR8_PACK
@ NTV2_FORMAT_1080psf_2K_2398
bool CanDoInputTCIndex(const NTV2TCIndex inTCNdx)
#define NTV2_IS_QUAD_QUAD_HFR_VIDEO_FORMAT(__f__)
static bool GetInputRouting(NTV2XptConnections &outConnections, const CaptureConfig &inConfig, const bool isInputRGB=(0))
Answers with the crosspoint connections needed to implement the given capture configuration.
static std::string GetAudioSystemStrings(const std::string inDeviceSpecifier=std::string())
@ NTV2_FORMAT_1080p_2K_4800_A
pair< string, NTV2TCIndex > String2TCIndexPair
@ NTV2_FORMAT_4x2048x1080p_11988
@ NTV2_FRAMERATE_12000
120 frames per second
@ NTV2_FBF_48BIT_RGB
See 48-Bit RGB.
map< string, NTV2InputSource > String2InputSourceMap
static bool GetFirstDeviceFromArgument(const std::string &inArgument, CNTV2Card &outDevice)
Rescans the host, and returns an open CNTV2Card instance for the AJA device that matches a command li...
static String2TPNamesMap gString2TPNamesMap
const char * poptStrerror(const int error)
NTV2OutputDestinations::const_iterator NTV2OutputDestinationsConstIter
A handy const iterator for iterating over an NTV2OutputDestinations.
@ AJA_PixelFormat_PRORES_DVPRO
@ NTV2_FORMAT_4x1920x1080psf_3000
String2VANCModeMap::const_iterator String2VANCModeMapConstIter
NTV2PixelFormat fPixelFormat
Pixel format to use.
NTV2Channel NTV2OutputDestinationToChannel(const NTV2OutputDestination inOutputDest)
Converts a given NTV2OutputDestination to its equivalent NTV2Channel value.
NTV2EmbeddedAudioInput NTV2InputSourceToEmbeddedAudioInput(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2EmbeddedAudioInput value.
@ NTV2_FBF_8BIT_HDV
See 8-Bit HDV.
@ AJA_PixelFormat_YCBCR8_422PL
Declares the NTV2TestPatternGen class.
@ NTV2_FORMAT_1080p_2K_3000
map< string, NTV2TCIndex > String2TCIndexMap
NTV2InputXptID GetFrameBufferInputXptFromChannel(const NTV2Channel inFrameStore, const bool inIsBInput=false)
@ NTV2_FORMAT_4x2048x1080p_2997
@ NTV2_TestPatt_ColorBars100
@ NTV2_FBF_10BIT_ARGB
10-Bit ARGB
@ NTV2_FBF_10BIT_YCBCRA
10-Bit YCbCrA
const std::string & AJAAncDataTypeToString(const AJAAncDataType inValue, const bool inCompact=true)
@ NTV2_FORMAT_4x4096x2160p_2500
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
@ NTV2_IOKINDS_HDMI
Specifies HDMI input/output kinds.
@ NTV2_FORMAT_4x4096x2160p_4795
@ NTV2_FORMAT_4x1920x1080p_2997
@ NTV2_FORMAT_4x1920x1080p_2500
@ NTV2_FORMAT_4x2048x1080p_4800
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
@ NTV2_FORMAT_4x3840x2160p_2500
#define NTV2_IS_ATC_VITC2_TIMECODE_INDEX(__x__)
#define NTV2_IS_ATC_LTC_TIMECODE_INDEX(__x__)
static NTV2FrameBufferFormatSet gFBFsProRes
@ NTV2_FBF_10BIT_DPX
See 10-Bit RGB - DPX Format.
@ NTV2_FORMAT_4x3840x2160p_5000_B
enum NTV2InputSourceKinds NTV2IOKinds
enum NTV2InputCrosspointID NTV2InputXptID
@ NTV2_OUTPUT_CROSSPOINT_INVALID
AJALabelValuePairs Get(const bool inCompact=(0)) const
NTV2TimeCodes::const_iterator NTV2TimeCodesConstIter
A handy const interator for iterating over NTV2TCIndex/NTV2TimeCodeList pairs.
@ NTV2_IOKINDS_ANALOG
Specifies analog input/output kinds.
std::ostream & operator<<(std::ostream &ioStrm, const CaptureConfig &inObj)
virtual bool SetAudioLoopBack(const NTV2AudioLoopBack inMode, const NTV2AudioSystem inAudioSystem=NTV2_AUDIOSYSTEM_1)
Enables or disables NTV2AudioLoopBack mode for the given NTV2AudioSystem.
@ NTV2_CHANNEL1
Specifies channel or Frame Store 1 (or the first item).
@ NTV2_FORMAT_4x3840x2160p_2398
@ NTV2_FBF_24BIT_RGB
See 24-Bit RGB.
@ NTV2_FORMAT_4x4096x2160p_6000_B
@ AJA_PixelFormat_YCBCR8_420PL3
bool CanDoOutputDestination(const NTV2OutputDestination inDest)
ULWord GetIndexForNTV2Channel(const NTV2Channel inChannel)
@ NTV2_FRAMERATE_2500
25 frames per second
@ NTV2_DEVICEKIND_HDMI
Specifies devices with HDMI connectors.
@ NTV2_FORMAT_1080p_2K_4795_A
static bool Get4KInputFormat(NTV2VideoFormat &inOutVideoFormat)
Given a video format, if all 4 inputs are the same and promotable to 4K, this function does the promo...
@ NTV2_FORMAT_3840x2160p_2500
NTV2FrameRate
Identifies a particular video frame rate.
map< string, string > String2TPNamesMap
@ NTV2_FORMAT_4096x2160p_6000_B
virtual bool SetAudioSystemInputSource(const NTV2AudioSystem inAudioSystem, const NTV2AudioSource inAudioSource, const NTV2EmbeddedAudioInput inEmbeddedInput)
Sets the audio source for the given NTV2AudioSystem on the device.
static NTV2TCIndex GetTCIndexFromString(const std::string &inStr)
Returns the NTV2TCIndex that matches the given string.
enum NTV2OutputDestination NTV2OutputDest
@ NTV2_FORMAT_4x4096x2160p_2997
@ NTV2_FRAMERATE_4800
48 frames per second
static NTV2VideoFormat GetVideoFormatFromString(const std::string &inStr, const NTV2VideoFormatKinds inKinds=VIDEO_FORMATS_NON_4KUHD)
Returns the NTV2VideoFormat that matches the given string.
#define NTV2_IS_4K_VIDEO_FORMAT(__f__)
virtual bool DMABufferLock(const NTV2Buffer &inBuffer, bool inMap=(0), bool inRDMA=(0))
Page-locks the given host buffer to reduce transfer time and CPU usage of DMA transfers.
static std::string GetDeviceStrings(const NTV2DeviceKinds inKinds=NTV2_DEVICEKIND_ALL)
@ NTV2_FRAMERATE_2400
24 frames per second
static NTV2TCIndexSet gTCIndexesATCLTC
virtual class DeviceCapabilities & features(void)
@ NTV2_FORMAT_4x2048x1080psf_2398
@ NTV2_FBF_10BIT_RGB_PACKED
10-Bit Packed RGB
@ NTV2_FBF_8BIT_YCBCR_420PL2
8-Bit 4:2:0 2-Plane YCbCr
pair< string, string > String2TPNamePair
@ NTV2_FORMAT_4x2048x1080p_2398
@ AJA_PixelFormat_RGB_DPX_LE
@ AJA_PixelFormat_YCbCr_DPX
@ NTV2_INPUTSOURCE_SDI1
Identifies the 1st SDI video input.
#define NTV2_IS_ANALOG_TIMECODE_INDEX(__x__)
virtual std::string GetDisplayName(void)
Answers with this device's display name.
static bool IsValidDevice(const std::string &inDeviceSpec)
static NTV2VideoFormatSet gAllFormats
@ AJA_PixelFormat_RGB8_PACK
static size_t DefaultPageSize(void)
static NTV2AudioSystem GetAudioSystemFromString(const std::string &inStr)
Returns the NTV2AudioSystem that matches the given string.
@ NTV2_FORMAT_1080psf_2K_2500
String2TPNamesMap::const_iterator String2TPNamesMapConstIter
static std::string GetTestPatternStrings(void)
#define NTV2_IS_FBF_RGB(__fbf__)
@ NTV2_FORMAT_4x2048x1080psf_2400
std::string & lower(std::string &str)
@ NTV2_FBF_10BIT_RAW_RGB
10-Bit Raw RGB
std::string NTV2InputSourceToString(const NTV2InputSource inValue, const bool inForRetailDisplay=false)
Popt(const int inArgc, const char **pArgs, const PoptOpts *pInOptionsTable)
static NTV2TCIndexSet gTCIndexesVITC2
std::string NTV2TCIndexToString(const NTV2TCIndex inValue, const bool inCompactDisplay=false)
@ NTV2_FORMAT_1080p_5994_B
static NTV2FrameBufferFormatSet gFBFsRaw
@ NTV2_FORMAT_1080psf_3000_2
@ NTV2_FORMAT_1080p_2K_2400
enum _NTV2DeviceKinds NTV2DeviceKinds
These enum values are used for device selection/filtering.
@ NTV2_FORMAT_4x2048x1080p_3000
@ NTV2_DEVICEKIND_CUSTOM_ANC
Specifies devices that have custom Anc inserter/extractor firmware.
@ NTV2_VANCMODE_OFF
This identifies the mode in which there are no VANC lines in the frame buffer.
@ NTV2_FORMAT_4096x2160p_4795
std::string & replace(std::string &str, const std::string &from, const std::string &to)
@ NTV2_FRAMERATE_2398
Fractional rate of 24,000 frames per 1,001 seconds.
static bool ConfigureAudioSystems(CNTV2Card &inDevice, const CaptureConfig &inConfig, const NTV2AudioSystemSet inAudioSystems)
Configures capture audio systems.
static std::string ToLower(const std::string &inStr)
Returns the given string after converting it to lower case.
@ NTV2_FORMAT_4x4096x2160p_3000
static AJALabelValuePairs & append(AJALabelValuePairs &inOutTable, const std::string &inLabel, const std::string &inValue=std::string())
A convenience function that appends the given label and value strings to the provided AJALabelValuePa...
Declares the CNTV2DeviceScanner class.
This class is used to configure an NTV2Capture instance.
static NTV2FrameBufferFormatSet gFBFsPacked
@ NTV2_FORMAT_4x2048x1080psf_3000
@ NTV2_DEVICEKIND_12G
Specifies devices that have 12G SDI connectors.
@ NTV2_FORMAT_1080p_2K_4795_B
@ AJA_PixelFormat_YCBCR10_420PL
@ NTV2_FRAMERATE_1498
Fractional rate of 15,000 frames per 1,001 seconds.
static size_t SetDefaultPageSize(void)
static NTV2FrameBufferFormat GetPixelFormatFromString(const std::string &inStr)
Returns the NTV2FrameBufferFormat that matches the given string.
NTV2_RP188 Timecode(const NTV2TCIndex inTCNdx) const
@ NTV2_FORMAT_4x3840x2160p_5994
@ NTV2_FORMAT_4096x2160p_2398
@ NTV2_INPUTSOURCE_INVALID
The invalid video input.
@ NTV2_DEVICEKIND_4K
Specifies devices that can do 4K video.
std::string NTV2DeviceIDToString(const NTV2DeviceID inValue, const bool inForRetailDisplay=false)
std::set< NTV2AudioSystem > NTV2AudioSystemSet
A set of distinct NTV2AudioSystem values. New in SDK 16.2.
@ NTV2_MAX_NUM_VIDEO_FORMATS
String2VideoFormatMap::const_iterator String2VideoFormatMapConstIter
NTV2TCIndex
These enum values are indexes into the capture/playout AutoCirculate timecode arrays.
map< string, NTV2AudioSystem > String2AudioSystemMap
NTV2OutputXptID GetCSCOutputXptFromChannel(const NTV2Channel inCSC, const bool inIsKey=false, const bool inIsRGB=false)
virtual void ToString(std::string &outAllLabelsAndValues) const
Answers with a multi-line string that contains the complete host system info table.
@ NTV2_FORMAT_4x2048x1080p_5000
@ NTV2_FBF_24BIT_BGR
See 24-Bit BGR.
virtual bool GetSerialNumberString(std::string &outSerialNumberString)
Answers with a string that contains my human-readable serial number.
@ AJA_PixelFormat_YCBCR10_422PL3LE
@ NTV2_FORMAT_4096x2160p_6000
std::string NTV2VANCModeToString(const NTV2VANCMode inValue, const bool inCompactDisplay=false)
@ AJA_PixelFormat_YCBCR10_420PL3LE
static std::string GetVANCModeStrings(void)
static const NTV2TCIndexes GetSupportedTCIndexes(const NTV2TCIndexKinds inKinds)
@ NTV2_FORMAT_4x1920x1080p_3000
@ NTV2_FORMAT_4x3840x2160p_2997
@ NTV2_FBF_8BIT_YCBCR
See 8-Bit YCbCr Format.
Declares numerous NTV2 utility functions.
@ AJA_PixelFormat_RGB10_PACK
AJALabelValuePairs Get(const bool inCompact=(0)) const
Renders a human-readable representation of me.
@ NTV2_FORMAT_1080p_5000_B
@ AJA_PixelFormat_RGB_DPX
poptContext poptFreeContext(poptContext con)
std::string NTV2VideoFormatToString(const NTV2VideoFormat inValue, const bool inUseFrameRate=false)
NTV2VideoFormatSet::const_iterator NTV2VideoFormatSetConstIter
A handy const iterator for iterating over an NTV2VideoFormatSet.
@ NTV2_FORMAT_4x3840x2160p_5000
@ NTV2_FORMAT_1080p_2K_5994_A
#define NTV2_INPUT_SOURCE_IS_HDMI(_inpSrc_)
@ NTV2_MAX_NUM_TIMECODE_INDEXES
static const DemoCommonInitializer gInitializer
NTV2InputXptID GetCSCInputXptFromChannel(const NTV2Channel inCSC, const bool inIsKeyInput=false)
I interrogate and control an AJA video/audio capture/playout device.
@ NTV2_FORMAT_4x2048x1080p_12000
@ NTV2_DEVICEKIND_ALL
Specifies any/all devices.
static std::string GetTCIndexStrings(const NTV2TCIndexKinds inKinds=TC_INDEXES_ALL, const std::string inDeviceSpecifier=std::string(), const bool inIsInputOnly=(!(0)))
@ NTV2_DEVICEKIND_INPUT
Specifies devices that input (capture).
@ NTV2_FBF_10BIT_YCBCR_422PL2
10-Bit 4:2:2 2-Plane YCbCr
std::pair< NTV2InputXptID, NTV2OutputXptID > NTV2Connection
This links an NTV2InputXptID and an NTV2OutputXptID.
@ NTV2_FORMAT_625psf_2500
static void WaitForEnterKeyPress(void)
Prompts the user (via stdout) to press the Return or Enter key, then waits for it to happen.
@ NTV2_AUDIO_BUFFER_SIZE_4MB
@ NTV2_DEVICEKIND_EXTERNAL
Specifies external devices (e.g. Thunderbolt).
@ NTV2_FORMAT_1080p_2K_2500
@ NTV2_FORMAT_4x4096x2160p_4800_B
@ NTV2_FORMAT_4x1920x1080psf_2997
bool CanDoInputSource(const NTV2InputSource inSrc)
static std::string GetTestPatternNameFromString(const std::string &inStr)
@ NTV2_FORMAT_1080p_6000_A
@ NTV2_INPUTSOURCE_HDMI1
Identifies the 1st HDMI video input.
NTV2OutputXptID GetDLInOutputXptFromChannel(const NTV2Channel inDLInput)
@ NTV2_FRAMERATE_11988
Fractional rate of 120,000 frames per 1,001 seconds.
static string DeviceFilterString(const NTV2DeviceKinds inKinds)
@ NTV2_FORMAT_1080p_2K_2398
@ NTV2_FORMAT_3840x2160p_2997
@ NTV2_FORMAT_4096x2160p_4800
enum _NTV2PixelFormatKinds NTV2PixelFormatKinds
std::vector< std::string > NTV2StringList
static String2VANCModeMap gString2VANCModeMap
NTV2VANCMode
These enum values identify the available VANC modes.
@ NTV2_INPUT_CROSSPOINT_INVALID
@ NTV2_FORMAT_1080psf_2K_2400
@ AJA_PixelFormat_YCbCrA10
#define NTV2_OUTPUT_DEST_IS_SDI(_dest_)
static NTV2VideoFormatSet gNon4KFormats
@ NTV2_VANCMODE_INVALID
This identifies the invalid (unspecified, uninitialized) VANC mode.
static AJA_FrameRate GetAJAFrameRate(const NTV2FrameRate inFrameRate)
@ NTV2_FORMAT_3840x2160p_5994
@ NTV2_FORMAT_4x4096x2160p_2400
@ NTV2_FBF_8BIT_YCBCR_YUY2
See Alternate 8-Bit YCbCr ('YUY2').
NTV2Channel fInputChannel
The device channel to use.
static NTV2OutputDestination GetOutputDestinationFromString(const std::string &inStr)
Returns the NTV2OutputDestination that matches the given string.
@ NTV2_FORMAT_4x4096x2160p_6000
std::vector< NTV2Channel > NTV2ChannelList
An ordered sequence of NTV2Channel values.
@ NTV2_FORMAT_3840x2160p_2398
@ AJA_PixelFormat_PRORES_HDV
NTV2InputSource
Identifies a specific video input source.
static String2VideoFormatMap gString2VideoFormatMap
static NTV2OutputDestinations gOutputDestinations
@ NTV2_DEVICEKIND_SDI
Specifies devices with SDI connectors.
#define NTV2_IS_QUAD_QUAD_FORMAT(__f__)
@ NTV2_FORMAT_4x1920x1080psf_2398
bool NTV2DeviceCanDo12gRouting(const NTV2DeviceID inDeviceID)
poptContext poptGetContext(const char *name, int argc, const char **argv, const struct poptOption *options, unsigned int flags)
static bool GetInputRouting8K(NTV2XptConnections &outConnections, const CaptureConfig &inConfig, const NTV2VideoFormat inVidFormat, const NTV2DeviceID inDevID=DEVICE_ID_INVALID, const bool isInputRGB=(0))
Answers with the crosspoint connections needed to implement the given 8K/UHD2 capture configuration.
@ NTV2_FORMAT_1080p_2K_6000_A
@ NTV2_FBF_10BIT_YCBCR
See 10-Bit YCbCr Format.
String2InputSourceMap::const_iterator String2InputSourceMapConstIter
@ NTV2_FBF_PRORES_DVCPRO
Apple ProRes DVC Pro.
static NTV2VideoFormatSet g8KFormats
@ VIDEO_FORMATS_NON_4KUHD
@ NTV2_DEVICEKIND_SFP
Specifies devices with SFP connectors.
@ NTV2_FORMAT_3840x2160p_5000_B
@ NTV2_FORMAT_4096x2160p_3000
@ NTV2_FORMAT_4x1920x1080psf_2500
@ NTV2_FRAMERATE_5994
Fractional rate of 60,000 frames per 1,001 seconds.
@ NTV2_OUTPUTDESTINATION_HDMI
int poptGetNextOpt(poptContext con)
This file contains some structures, constants, classes and functions that are used in some of the dem...
Private include file for all ajabase sources.
@ NTV2_FORMAT_4x3840x2160p_2400
static bool GetDeviceAtIndex(const ULWord inDeviceIndexNumber, CNTV2Card &outDevice)
Rescans the host, and returns an open CNTV2Card instance for the AJA device having the given zero-bas...
NTV2AudioSystemSet::const_iterator NTV2AudioSystemSetConstIter
A handy const iterator into an NTV2AudioSystemSet. New in SDK 16.2.
@ NTV2_FORMAT_4x4096x2160p_5000_B
@ AJA_PixelFormat_Unknown
NTV2TCIndexes::const_iterator NTV2TCIndexesConstIter
@ NTV2_FBF_10BIT_RAW_YCBCR
See 10-Bit Raw YCbCr (CION).
@ NTV2_DEVICEKIND_6G
Specifies devices that have 6G SDI connectors.
static std::string GetInputSourceStrings(const NTV2IOKinds inKinds=NTV2_IOKINDS_ALL, const std::string inDeviceSpecifier=std::string())
@ NTV2_OUTPUTDESTINATION_INVALID
map< string, NTV2VideoFormat > String2VideoFormatMap
@ NTV2_FORMAT_4x2048x1080p_2500
@ NTV2_FORMAT_4x1920x1080p_5994
@ NTV2_FORMAT_4x4096x2160p_5000
std::string NTV2FrameBufferFormatToString(const NTV2FrameBufferFormat inValue, const bool inForRetailDisplay=false)
@ NTV2_FORMAT_4x3840x2160p_6000
bool fDoTSIRouting
If true, do TSI routing; otherwise squares.
bool NTV2DeviceGetSupportedOutputDests(const NTV2DeviceID inDeviceID, NTV2OutputDestinations &outOutputDests, const NTV2IOKinds inKinds=NTV2_IOKINDS_ALL)
Returns a set of distinct NTV2OutputDest values supported on the given device.
@ AJA_PixelFormat_YCbCr10
std::map< NTV2InputXptID, NTV2OutputXptID > NTV2XptConnections
NTV2OutputXptID GetTSIMuxOutputXptFromChannel(const NTV2Channel inTSIMuxer, const bool inLinkB=false, const bool inIsRGB=false)
@ NTV2_FBF_10BIT_YCBCR_DPX
See 10-Bit YCbCr - DPX Format.
NTV2InputSourceSet::const_iterator NTV2InputSourceSetConstIter
A handy const iterator for iterating over an NTV2InputSourceSet.
This struct replaces the old RP188_STRUCT.
@ NTV2_FBF_10BIT_YCBCR_422PL3_LE
See 3-Plane 10-Bit YCbCr 4:2:2 ('I422_10LE' a.k.a. 'YUV-P-L10').
AJALabelValuePairs Get(const bool inCompact=(0)) const
Renders a human-readable representation of me.
bool IsRGBFormat(const NTV2FrameBufferFormat format)
@ NTV2_AUDIO_EMBEDDED
Obtain audio samples from the audio that's embedded in the video HANC.
@ NTV2_FRAMERATE_UNKNOWN
Represents an unknown or invalid frame rate.
@ NTV2_FORMAT_1080p_5000_A
@ NTV2_FORMAT_4x2048x1080p_6000
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
static bool GetInputRouting4K(NTV2XptConnections &outConnections, const CaptureConfig &inConfig, const NTV2DeviceID inDevID=DEVICE_ID_INVALID, const bool isInputRGB=(0))
Answers with the crosspoint connections needed to implement the given 4K/UHD capture configuration.
@ NTV2_FORMAT_4096x2160p_5000
static NTV2TCIndexSet gTCIndexesAnalog
@ NTV2_FORMAT_4x1920x1080p_5000
@ NTV2_FBF_8BIT_YCBCR_420PL3
See 3-Plane 8-Bit YCbCr 4:2:0 ('I420' a.k.a. 'YUV-P420').
@ NTV2_FORMAT_4x1920x1080p_2398
bool NTV2DeviceGetSupportedInputSources(const NTV2DeviceID inDeviceID, NTV2InputSourceSet &outInputSources, const NTV2IOKinds inKinds=NTV2_IOKINDS_ALL)
Returns a set of distinct NTV2InputSource values supported on the given device.
static NTV2InputSourceSet gInputSourcesSDI
@ NTV2_FORMAT_1080p_6000_B
@ NTV2_FORMAT_4x4096x2160p_5994_B
@ NTV2_IOKINDS_ALL
Specifies any/all input/output kinds.
static String2AudioSystemMap gString2AudioSystemMap
std::set< NTV2DeviceID > NTV2DeviceIDSet
A set of NTV2DeviceIDs.
@ NTV2_FORMAT_4096x2160p_2997
virtual NTV2DeviceID GetDeviceID(void)
@ NTV2_FBF_8BIT_DVCPRO
See 8-Bit DVCPro.
static NTV2StringList gTestPatternNames
@ NTV2_FORMAT_4096x2160p_5994_B
@ NTV2_FORMAT_4x3840x2160p_5994_B
@ NTV2_FORMAT_1080p_5994_A
@ NTV2_FORMAT_4x3840x2160p_6000_B
@ NTV2_FBF_8BIT_YCBCR_422PL2
8-Bit 4:2:2 2-Plane YCbCr
NTV2OutputXptID GetInputSourceOutputXpt(const NTV2InputSource inInputSource, const bool inIsSDI_DS2=false, const bool inIsHDMI_RGB=false, const UWord inHDMI_Quadrant=0)
static std::string GetPixelFormatStrings(const NTV2PixelFormatKinds inKinds=PIXEL_FORMATS_ALL, const std::string inDeviceSpecifier=std::string())
@ NTV2_FORMAT_4x2048x1080p_5994
static NTV2FrameBufferFormatSet gFBFsRGB
NTV2StringList::const_iterator NTV2StringListConstIter
@ NTV2_DEVICEKIND_NONE
Doesn't specify any kind of device.
bool UnlockAll(CNTV2Card &inDevice)
static NTV2TCIndexSet gTCIndexesSDI
@ NTV2_FORMAT_4x3840x2160p_3000
@ NTV2_FORMAT_1080p_2K_5994_B
static String2InputSourceMap gString2InputSourceMap
@ NTV2_FBF_16BIT_ARGB
16-Bit ARGB
Configures an NTV2Player instance.
std::string NTV2ChannelToString(const NTV2Channel inValue, const bool inForRetailDisplay=false)
#define NTV2_INPUT_SOURCE_IS_SDI(_inpSrc_)
@ NTV2_IOKINDS_SDI
Specifies SDI input/output kinds.
enum NTV2OutputCrosspointID NTV2OutputXptID
@ NTV2_FBF_8BIT_YCBCR_422PL3
See 3-Plane 8-Bit YCbCr 4:2:2 (Weitek 'Y42B' a.k.a. 'YUV-P8').
static NTV2TestPatternNames getTestPatternNames(void)
@ NTV2_FORMAT_3840x2160p_5000
static const NTV2InputSourceSet GetSupportedInputSources(const NTV2IOKinds inKinds=NTV2_IOKINDS_ALL)
bool LockAll(CNTV2Card &inDevice)
static TimecodeFormat NTV2FrameRate2TimecodeFormat(const NTV2FrameRate inFrameRate)
@ NTV2_FORMAT_1080p_2K_5000_A
@ NTV2_FRAMERATE_5000
50 frames per second
@ NTV2_FORMAT_4x4096x2160p_4795_B
static size_t HostPageSize(void)
virtual bool SetNumberAudioChannels(const ULWord inNumChannels, const NTV2AudioSystem inAudioSystem=NTV2_AUDIOSYSTEM_1)
Sets the number of audio channels to be concurrently captured or played for a given Audio System on t...
virtual bool SetAudioBufferSize(const NTV2AudioBufferSize inValue, const NTV2AudioSystem inAudioSystem=NTV2_AUDIOSYSTEM_1)
Changes the size of the audio buffer that is used for a given Audio System in the AJA device.
@ NTV2_FORMAT_4x2048x1080psf_2500
@ NTV2_FBF_10BIT_RGB
See 10-Bit RGB Format.
static NTV2FrameBufferFormatSet gFBFsAlpha
static std::string StripFormatString(const std::string &inStr)
static const char * GetGlobalMutexName(void)
const char * poptBadOption(poptContext con, unsigned int flags)
@ NTV2_FRAMERATE_4795
Fractional rate of 48,000 frames per 1,001 seconds.
std::string to_string(bool val)
@ NTV2_FRAMERATE_3000
30 frames per second
#define NTV2_IS_VALID_FRAME_BUFFER_FORMAT(__s__)
std::vector< AJALabelValuePair > AJALabelValuePairs
An ordered sequence of label/value pairs.
static AJA_PixelFormat GetAJAPixelFormat(const NTV2FrameBufferFormat inFormat)
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information.
@ NTV2_FORMAT_1080p_2K_5000_B
static String2PixelFormatMap gString2PixelFormatMap
static bool Get8KInputFormat(NTV2VideoFormat &inOutVideoFormat)
Given a video format, if all 4 inputs are the same and promotable to 8K, this function does the promo...
@ NTV2_FORMAT_1080psf_2997_2
map< string, NTV2OutputDestination > String2OutputDestMap
String2AudioSystemMap::const_iterator String2AudioSystemMapConstIter
@ NTV2_FORMAT_4x4096x2160p_5994
@ NTV2_FORMAT_4x2048x1080p_2400
static NTV2FrameBufferFormatSet gFBFsPlanar
@ NTV2_FORMAT_1080p_2K_4800_B
bool CanDoFrameBufferFormat(const NTV2PixelFormat inPF)
@ NTV2_FORMAT_4x1920x1080p_2400
@ NTV2_FORMAT_4x1920x1080psf_2400
enum _NTV2VideoFormatKinds NTV2VideoFormatKinds
static NTV2TCIndexSet gTCIndexesHDMI
@ NTV2_FORMAT_3840x2160p_6000_B
@ NTV2_FORMAT_1080psf_2500_2
enum _NTV2TCIndexKinds NTV2TCIndexKinds
@ NTV2_FORMAT_4096x2160p_4795_B
NTV2InputXptID GetTSIMuxInputXptFromChannel(const NTV2Channel inTSIMuxer, const bool inLinkB=false)
String2OutputDestMap::const_iterator String2OutputDestMapConstIter
static NTV2InputSourceSet gInputSourcesAnalog
@ NTV2_FORMAT_4096x2160p_4800_B
@ NTV2_FORMAT_3840x2160p_2400
map< string, NTV2VANCMode > String2VANCModeMap
@ NTV2_FBF_ABGR
See 8-Bit ARGB, RGBA, ABGR Formats.
NTV2InputSource fInputSource
The device input connector to use.
#define NTV2_IS_VALID_VIDEO_FORMAT(__f__)
static String2TCIndexMap gString2TCIndexMap
@ NTV2_FORMAT_3840x2160p_3000
@ NTV2_FORMAT_1080psf_2400
@ AJA_PixelFormat_YCBCR8_420PL
std::set< NTV2TCIndex > NTV2TCIndexSet
A set of distinct NTV2TCIndex values.
bool CanDoOutputTCIndex(const NTV2TCIndex inTCNdx)
String2TCIndexMap::const_iterator String2TCIndexMapConstIter
@ NTV2_FORMAT_4096x2160p_5994
#define NTV2_FBF_HAS_ALPHA(__fbf__)
static NTV2TCIndexSet gTCIndexes
const char * NTV2VideoFormatString(NTV2VideoFormat fmt)
virtual bool SetAudioRate(const NTV2AudioRate inRate, const NTV2AudioSystem inAudioSystem=NTV2_AUDIOSYSTEM_1)
Sets the NTV2AudioRate for the given Audio System.
@ NTV2_FORMAT_4x2048x1080psf_2997
std::string NTV2OutputDestinationToString(const NTV2OutputDestination inValue, const bool inForRetailDisplay=false)
@ NTV2_AUDIOSYSTEM_INVALID
@ NTV2_FORMAT_1080p_2K_2997