11 #if defined (MSWindows)
13 #elif defined (AJAMac)
15 #elif defined (AJALinux)
17 #elif defined (AJABareMetal)
29 #
if defined (MSWindows)
31 #elif defined (AJAMac)
33 #elif defined (AJALinux)
35 #elif defined (AJABareMetal)
58 const std::string & inHostName = std::string());
93 AJA_VIRTUAL std::string GetDeviceVersionString (
void);
99 AJA_VIRTUAL std::string GetDriverVersionString (
void);
124 AJA_VIRTUAL bool GetSerialNumberString (std::string & outSerialNumberString);
141 AJA_VIRTUAL bool GetLPExternalConfigurationURLString (std::string & outURLString);
142 AJA_VIRTUAL bool GetLPTunnelConfigurationURLString (std::string & outURLString);
143 AJA_VIRTUAL int GetSFPConfigurationURLStrings(std::vector<std::string> & sfpURLStrings);
149 #if !defined(NTV2_DEPRECATE_16_3)
169 #endif // defined(NTV2_DEPRECATE_16_3)
292 const ULWord inCardOffsetBytes,
293 const ULWord inSegmentByteCount,
294 const ULWord inNumSegments,
295 const ULWord inSegmentHostPitch,
296 const ULWord inSegmentCardPitch);
314 const ULWord * pFrameBuffer,
315 const ULWord inOffsetBytes,
316 const ULWord inSegmentByteCount,
317 const ULWord inNumSegments,
318 const ULWord inSegmentHostPitch,
319 const ULWord inSegmentCardPitch);
334 ULWord segmentTargetPitch,
355 const ULWord inOffsetBytes,
356 const ULWord inByteCount);
374 const ULWord * pInAudioBuffer,
375 const ULWord inOffsetBytes,
376 const ULWord inByteCount);
496 return DMABufferUnlock(
NTV2Buffer(pInBuffer, inByteCount));
514 AJA_VIRTUAL bool DMABufferAutoLock (
const bool inEnable,
const bool inMap =
false,
const ULWord64 inMaxLockSize = 0);
528 const UWord inEndFrameNumber,
543 uint64_t & outAddress, uint64_t & outLength);
546 bool & outMultiFmt,
bool & outQuad,
bool & outQuadQuad,
bool & outSquares,
bool & outTSI,
547 uint64_t & outAddress, uint64_t & outLength);
594 #define AJA_RETAIL_DEFAULT true
595 #else // else !defined (AJAMac)
596 #define AJA_RETAIL_DEFAULT false
597 #endif // !defined (AJAMac)
707 AJA_VIRTUAL bool EnableFramePulseReference (
const bool inEnable);
716 AJA_VIRTUAL bool GetEnableFramePulseReference (
bool & outEnabled);
1087 AJA_VIRTUAL bool SetDualLinkOutputEnable (
const bool inIsEnabled);
1088 AJA_VIRTUAL bool GetDualLinkOutputEnable (
bool & outIsEnabled);
1090 AJA_VIRTUAL bool SetDualLinkInputEnable (
const bool inIsEnabled);
1091 AJA_VIRTUAL bool GetDualLinkInputEnable (
bool & outIsEnabled);
1195 #if !defined(NTV2_DEPRECATE_18_0)
1198 #endif // defined(NTV2_DEPRECATE_18_0)
1199 #if !defined(NTV2_DEPRECATE_16_3)
1202 #endif // defined(NTV2_DEPRECATE_16_3)
1203 #if !defined(NTV2_DEPRECATE_16_2)
1210 #endif // !defined(NTV2_DEPRECATE_16_2)
1211 #if !defined(NTV2_DEPRECATE_16_0)
1215 #define Set425FrameEnable SetTsiFrameEnable // Replace calls to Set425FrameEnable with calls to SetTsiFrameEnable instead
1216 #define Get425FrameEnable GetTsiFrameEnable // Replace calls to Get425FrameEnable with calls to GetTsiFrameEnable instead
1217 #endif // NTV2_DEPRECATE_16_0
1234 AJA_VIRTUAL bool SetMixerVancOutputFromForeground (
const UWord inWhichMixer,
const bool inFromForegroundSource =
true);
1245 AJA_VIRTUAL bool GetMixerVancOutputFromForeground (
const UWord inWhichMixer,
bool & outIsFromForegroundSource);
1328 AJA_VIRTUAL bool GetMixerSyncStatus (
const UWord inWhichMixer,
bool & outIsSyncOK);
1337 AJA_VIRTUAL bool GetMixerFGMatteEnabled (
const UWord inWhichMixer,
bool & outIsEnabled);
1346 AJA_VIRTUAL bool SetMixerFGMatteEnabled (
const UWord inWhichMixer,
const bool inIsEnabled);
1355 AJA_VIRTUAL bool GetMixerBGMatteEnabled (
const UWord inWhichMixer,
bool & outIsEnabled);
1364 AJA_VIRTUAL bool SetMixerBGMatteEnabled (
const UWord inWhichMixer,
const bool inIsEnabled);
1390 AJA_VIRTUAL bool MixerHasRGBModeSupport (
const UWord inWhichMixer,
bool & outIsSupported);
1610 const NTV2AudioSystem inAudioSystem,
const bool inCaptureBuffer =
false);
2041 AJA_VIRTUAL bool GetSuspendHostAudio (
bool & outIsSuspended);
2051 AJA_VIRTUAL bool SetSuspendHostAudio (
const bool inSuspend);
2173 AJA_VIRTUAL bool EnableBOBAnalogAudioIn (
bool inEnable);
2193 #if !defined(NTV2_DEPRECATE_16_0)
2197 AJA_VIRTUAL inline NTV2_DEPRECATED_f(
bool GetAudioOutputReset (
const NTV2AudioSystem inAudioSystem,
bool & outIsReset)) {
if(!IsAudioOutputRunning(inAudioSystem, outIsReset))
return false; outIsReset = !outIsReset;
return true; }
2199 AJA_VIRTUAL inline NTV2_DEPRECATED_f(
bool GetAudioInputReset (
const NTV2AudioSystem inAudioSystem,
bool & outIsReset)) {
if(!IsAudioInputRunning(inAudioSystem, outIsReset))
return false; outIsReset = !outIsReset;
return true; }
2200 #endif // !defined(NTV2_DEPRECATE_16_0)
2201 #if !defined(NTV2_DEPRECATE_16_1)
2207 #endif // !defined(NTV2_DEPRECATE_16_1)
2208 #if !defined(NTV2_DEPRECATE_16_3)
2210 #endif // !defined(NTV2_DEPRECATE_16_1)
2211 #if !defined(NTV2_DEPRECATE_17_0)
2213 #endif // !defined(NTV2_DEPRECATE_17_0)
2214 #if !defined(NTV2_DEPRECATE_17_5)
2217 #endif // defined(NTV2_DEPRECATE_17_5)
2408 #if !defined(NTV2_DEPRECATE_16_3)
2411 #endif // !defined(NTV2_DEPRECATE_16_3)
2420 AJA_VIRTUAL bool ProgramMainFlash(
const std::string & inFileName,
const bool bInForceUpdate =
false,
const bool bInQuiet =
false);
2490 AJA_VIRTUAL bool GetRunningFirmwareDate (std::string & outDate, std::string & outTime);
2501 #if !defined(NTV2_DEPRECATE_16_0)
2507 #endif // !defined(NTV2_DEPRECATE_16_0)
2509 #if !defined(NTV2_DEPRECATE_17_0)
2520 #endif // !defined(NTV2_DEPRECATE_17_0)
3034 #if !defined (NTV2_DEPRECATE_16_0)
3037 #endif // NTV2_DEPRECATE_16_0
3095 const UWord inFrameCount = 7,
3097 const ULWord inOptionFlags = 0,
3098 const UByte inNumChannels = 1,
3099 const UWord inStartFrameNumber = 0,
3100 const UWord inEndFrameNumber = 0);
3133 const ULWord inOptionFlags = 0,
3134 const UByte inNumChannels = 1);
3178 const UWord inFrameCount = 7,
3180 const ULWord inOptionFlags = 0,
3181 const UByte inNumChannels = 1,
3182 const UWord inStartFrameNumber = 0,
3183 const UWord inEndFrameNumber = 0);
3216 const ULWord inOptionFlags = 0,
3217 const UByte inNumChannels = 1);
3452 #define NTV2_STREAM_SUCCESS(__status__) (__status__ == NTV2_STREAM_SUCCESS)
3454 #define NTV2_STREAM_FAIL(__status__) (__status__ != NTV2_STREAM_SUCCESS)
3542 #if defined(READREGMULTICHANGE)
3554 #endif // defined(READREGMULTICHANGE)
3590 AJA_VIRTUAL bool WriteVirtualData (
const ULWord inTag,
const void* inVirtualData,
const ULWord inVirtualDataSize);
3716 AJA_VIRTUAL bool GetNominalMinMaxHV (
int & outNominalH,
int & outMinH,
int & outMaxH,
int & outNominalV,
int & outMinV,
int & outMaxV);
3730 AJA_VIRTUAL bool SetVideoHOffset (
const int inHOffset,
const UWord inOutputSpigot = 0);
3742 AJA_VIRTUAL bool GetVideoHOffset (
int & outHOffset,
const UWord inOutputSpigot = 0);
3755 AJA_VIRTUAL bool SetVideoVOffset (
const int inVOffset,
const UWord inOutputSpigot = 0);
3767 AJA_VIRTUAL bool GetVideoVOffset (
int & outVOffset,
const UWord inOutputSpigot = 0);
3903 AJA_VIRTUAL bool SetEnableConverter (
const bool inValue);
3904 AJA_VIRTUAL bool GetEnableConverter (
bool & outValue);
4192 #if !defined(R2_DEPRECATE)
4203 static NTV2VideoFormat GetNTV2VideoFormat (
NTV2FrameRate frameRate,
UByte inputGeometry,
bool progressiveTransport,
bool isThreeG,
bool progressivePicture=
false);
4487 #if !defined(NTV2_DEPRECATE_17_0)
4489 #endif // !defined(NTV2_DEPRECATE_17_0)
4517 AJA_VIRTUAL bool WriteSDProcAmpControlsInitialized (
const ULWord inNewValue = 1);
4525 AJA_VIRTUAL bool WriteHDProcAmpControlsInitialized (
const ULWord inNewValue = 1);
4562 #if !defined(R2_DEPRECATE)
4715 AJA_VIRTUAL bool SetHDMIOut3DPresent (
const bool inIs3DPresent);
4716 AJA_VIRTUAL bool GetHDMIOut3DPresent (
bool & outIs3DPresent);
4721 AJA_VIRTUAL bool SetHDMIV2TxBypass (
const bool inBypass);
5048 AJA_VIRTUAL bool SetHDMIOutDecimateMode (
const bool inEnable);
5050 AJA_VIRTUAL bool GetHDMIOutDecimateMode (
bool & outIsEnabled);
5057 AJA_VIRTUAL bool SetHDMIOutTsiIO (
const bool inTsiEnable);
5059 AJA_VIRTUAL bool GetHDMIOutTsiIO (
bool & tsiEnabled);
5066 AJA_VIRTUAL bool SetHDMIOutLevelBMode (
const bool inEnable);
5068 AJA_VIRTUAL bool GetHDMIOutLevelBMode (
bool & outIsEnabled);
5126 AJA_VIRTUAL bool SetLTCInputEnable (
const bool inEnable);
5138 AJA_VIRTUAL bool GetLTCInputEnable (
bool & outIsEnabled);
5150 AJA_VIRTUAL bool GetLTCInputPresent (
bool & outIsPresent,
const UWord inLTCInputNdx = 0);
5244 #if !defined(NTV2_DEPRECATE_16_3)
5249 #endif // !defined(NTV2_DEPRECATE_16_3)
5486 AJA_VIRTUAL bool GetSDIWatchdogEnable (
bool & outIsEnabled,
const UWord inIndex0);
5501 AJA_VIRTUAL bool SetSDIWatchdogEnable (
const bool inEnable,
const UWord inIndex0);
5547 AJA_VIRTUAL bool Enable4KDCRGBMode(
bool inEnable);
5549 AJA_VIRTUAL bool GetEnable4KDCRGBMode(
bool & outIsEnabled);
5557 AJA_VIRTUAL bool Enable4KDCYCC444Mode(
bool inEnable);
5559 AJA_VIRTUAL bool GetEnable4KDCYCC444Mode(
bool & outIsEnabled);
5567 AJA_VIRTUAL bool Enable4KDCPSFInMode(
bool inEnable);
5569 AJA_VIRTUAL bool GetEnable4KDCPSFInMode(
bool & outIsEnabled);
5577 AJA_VIRTUAL bool Enable4KPSFOutMode(
bool inEnable);
5579 AJA_VIRTUAL bool GetEnable4KPSFOutMode(
bool & outIsEnabled);
5600 AJA_VIRTUAL bool SetSDIInLevelBtoLevelAConversion (
const UWord inInputSpigot,
const bool inEnable);
5608 AJA_VIRTUAL bool GetSDIInLevelBtoLevelAConversion (
const UWord inInputSpigot,
bool & outIsEnabled);
5617 AJA_VIRTUAL bool SetSDIOutLevelAtoLevelBConversion (
const UWord inOutputSpigot,
const bool inEnable);
5635 AJA_VIRTUAL bool GetSDIOutLevelAtoLevelBConversion (
const UWord inOutputSpigot,
bool & outIsEnabled);
5643 AJA_VIRTUAL bool SetSDIOutRGBLevelAConversion (
const UWord inOutputSpigot,
const bool inEnable);
5661 AJA_VIRTUAL bool GetSDIOutRGBLevelAConversion (
const UWord inOutputSpigot,
bool & outIsEnabled);
5837 const bool inVancY,
const bool inVancC,
5838 const bool inHancY,
const bool inHancC);
5849 AJA_VIRTUAL bool AncInsertSetEnable (
const UWord inSDIOutput,
const bool inIsEnabled);
5858 AJA_VIRTUAL bool AncInsertIsEnabled (
const UWord inSDIOutput,
bool & outIsEnabled);
5917 AJA_VIRTUAL bool AncInsertGetReadInfo (
const UWord inSDIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr);
5951 const bool inVancY,
const bool inVancC,
5952 const bool inHancY,
const bool inHancC);
5964 AJA_VIRTUAL bool AncExtractSetEnable (
const UWord inSDIInput,
const bool inIsEnabled);
5974 AJA_VIRTUAL bool AncExtractIsEnabled (
const UWord inSDIInput,
bool & outIsEnabled);
6028 uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
6029 uint64_t & outF2StartAddr, uint64_t & outF2EndAddr);
6085 AJA_VIRTUAL bool AncExtractGetBufferOverrun (
const UWord inSDIInput,
bool & outIsOverrun,
const UWord inField = 0);
6094 AJA_VIRTUAL bool AncExtractIsProgressive (
const UWord inSDIInput,
bool & outIsProgressive);
6100 static UWord AncExtractGetMaxNumFilterDIDs (
void);
6109 static NTV2DIDSet AncExtractGetDefaultDIDs (
const bool inHDAudio =
true);
6156 const bool inVauxY,
const bool inVauxC,
6157 const bool inHauxY,
const bool inHauxC);
6167 AJA_VIRTUAL bool AuxInsertSetEnable (
const UWord inHDMIOutput,
const bool inIsEnabled);
6175 AJA_VIRTUAL bool AuxInsertIsEnabled (
const UWord inHDMIOutput,
bool & outIsEnabled);
6232 AJA_VIRTUAL bool AuxInsertGetReadInfo (
const UWord inHDMIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr);
6260 AJA_VIRTUAL bool AuxExtractSetEnable (
const UWord inHDMIInput,
const bool inIsEnabled);
6269 AJA_VIRTUAL bool AuxExtractIsEnabled (
const UWord inHDMIInput,
bool & outIsEnabled);
6320 uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
6321 uint64_t & outF2StartAddr, uint64_t & outF2EndAddr);
6369 AJA_VIRTUAL bool AuxExtractSetFilterInclusionMode (
const UWord inHDMIInput,
const bool inEnable);
6378 AJA_VIRTUAL bool AuxExtractGetFilterInclusionMode (
const UWord inHDMIInput,
bool & outEnabled);
6392 AJA_VIRTUAL bool AuxExtractGetBufferOverrun (
const UWord inHDMIInput,
bool & outIsOverrun,
const UWord inField = 0);
6400 AJA_VIRTUAL bool AuxExtractIsProgressive (
const UWord inHDMIInput,
bool & outIsProgressive);
6406 static UWord AuxExtractGetMaxNumPacketFilters (
void);
6412 static NTV2DIDSet AuxExtractGetDefaultPacketFilters (
void);
6442 AJA_VIRTUAL bool GetDieVoltage (
double & outVoltage);
6453 AJA_VIRTUAL std::string GetPCIFPGAVersionString (
void);
6472 AJA_VIRTUAL bool GetInstalledBitfileInfo (
ULWord & outNumBytes, std::string & outDateStr, std::string & outTimeStr);
6490 AJA_VIRTUAL bool IsFailSafeBitfileLoaded (
bool & outIsFailSafe);
6499 AJA_VIRTUAL bool CanWarmBootFPGA (
bool & outCanWarmBoot);
6528 AJA_VIRTUAL bool AddDynamicBitfile (
const std::string & inBitfilePath);
6536 AJA_VIRTUAL bool AddDynamicDirectory (
const std::string & inDirectory);
6551 } ColorCorrectionColor;
6557 #if !defined(NTV2_DEPRECATE_17_6)
6565 #endif//defined(AJA_RETAIN_HEVC)
6803 AJA_VIRTUAL bool SetMultiRasterBypassEnable (
const bool inEnable);
6804 AJA_VIRTUAL bool GetMultiRasterBypassEnable (
bool & outEnabled);
6808 #if !defined(NTV2_DEPRECATE_17_5)
6810 #endif // NTV2_DEPRECATE_17_5
6812 #if !defined(NTV2_DEPRECATE_16_1)
6815 #endif // NTV2_DEPRECATE_16_1
6824 AJA_VIRTUAL bool IS_HDMI_INPUT_SPIGOT_INVALID (
const UWord inInputHDMIPort);
6825 AJA_VIRTUAL bool SetWarmBootFirmwareReload(
bool enable);
6868 #if !defined(NTV2_DEPRECATE_16_2)
6875 #endif // !defined(NTV2_DEPRECATE_16_2)
6877 #define SetTablesToHardware LoadLUTTables
6878 #define GetTablesFromHardware GetLUTTables
6995 bool HasFrameIndex (
const UWord inIndex)
const {
return mFrameTags.find(inIndex) != mFrameTags.end();}
6999 inline bool HasTag (
const UWord inIndex)
const {
return GetTagCount(inIndex) > 0;}
7000 inline bool HasConflicts (
const UWord inIndex)
const {
return GetTagCount(inIndex) > 1;}
7001 inline ULWord GetIntrinsicFrameByteCount (
void)
const {
return mIntrinsicSize;}
7020 std::ostream &
RawDump (std::ostream & oss)
const;
7027 std::ostream &
DumpBlocks (std::ostream & oss)
const;
7040 bool TagMemoryBlock (
const uint64_t inStartAddr,
const uint64_t inByteLength,
const std::string & inTag)
7046 typedef std::pair<UWord, NTV2StringSet> FrameTag;
7047 typedef std::map<UWord, NTV2StringSet> FrameTags;
7048 typedef FrameTags::const_iterator FrameTagsConstIter;
7051 FrameTags mFrameTags;
7057 #endif // NTV2CARD_H