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_16_3)
1198 #endif // defined(NTV2_DEPRECATE_16_3)
1199 #if !defined(NTV2_DEPRECATE_16_2)
1206 #endif // !defined(NTV2_DEPRECATE_16_2)
1207 #if !defined(NTV2_DEPRECATE_16_0)
1211 #define Set425FrameEnable SetTsiFrameEnable // Replace calls to Set425FrameEnable with calls to SetTsiFrameEnable instead
1212 #define Get425FrameEnable GetTsiFrameEnable // Replace calls to Get425FrameEnable with calls to GetTsiFrameEnable instead
1213 #endif // NTV2_DEPRECATE_16_0
1230 AJA_VIRTUAL bool SetMixerVancOutputFromForeground (
const UWord inWhichMixer,
const bool inFromForegroundSource =
true);
1241 AJA_VIRTUAL bool GetMixerVancOutputFromForeground (
const UWord inWhichMixer,
bool & outIsFromForegroundSource);
1324 AJA_VIRTUAL bool GetMixerSyncStatus (
const UWord inWhichMixer,
bool & outIsSyncOK);
1333 AJA_VIRTUAL bool GetMixerFGMatteEnabled (
const UWord inWhichMixer,
bool & outIsEnabled);
1342 AJA_VIRTUAL bool SetMixerFGMatteEnabled (
const UWord inWhichMixer,
const bool inIsEnabled);
1351 AJA_VIRTUAL bool GetMixerBGMatteEnabled (
const UWord inWhichMixer,
bool & outIsEnabled);
1360 AJA_VIRTUAL bool SetMixerBGMatteEnabled (
const UWord inWhichMixer,
const bool inIsEnabled);
1386 AJA_VIRTUAL bool MixerHasRGBModeSupport (
const UWord inWhichMixer,
bool & outIsSupported);
1606 const NTV2AudioSystem inAudioSystem,
const bool inCaptureBuffer =
false);
2037 AJA_VIRTUAL bool GetSuspendHostAudio (
bool & outIsSuspended);
2047 AJA_VIRTUAL bool SetSuspendHostAudio (
const bool inSuspend);
2169 AJA_VIRTUAL bool EnableBOBAnalogAudioIn (
bool inEnable);
2189 #if !defined(NTV2_DEPRECATE_16_0)
2193 AJA_VIRTUAL inline NTV2_DEPRECATED_f(
bool GetAudioOutputReset (
const NTV2AudioSystem inAudioSystem,
bool & outIsReset)) {
if(!IsAudioOutputRunning(inAudioSystem, outIsReset))
return false; outIsReset = !outIsReset;
return true; }
2195 AJA_VIRTUAL inline NTV2_DEPRECATED_f(
bool GetAudioInputReset (
const NTV2AudioSystem inAudioSystem,
bool & outIsReset)) {
if(!IsAudioInputRunning(inAudioSystem, outIsReset))
return false; outIsReset = !outIsReset;
return true; }
2196 #endif // !defined(NTV2_DEPRECATE_16_0)
2197 #if !defined(NTV2_DEPRECATE_16_1)
2203 #endif // !defined(NTV2_DEPRECATE_16_1)
2204 #if !defined(NTV2_DEPRECATE_16_3)
2206 #endif // !defined(NTV2_DEPRECATE_16_1)
2207 #if !defined(NTV2_DEPRECATE_17_0)
2209 #endif // !defined(NTV2_DEPRECATE_17_0)
2210 #if !defined(NTV2_DEPRECATE_17_5)
2213 #endif // defined(NTV2_DEPRECATE_17_5)
2404 #if !defined(NTV2_DEPRECATE_16_3)
2407 #endif // !defined(NTV2_DEPRECATE_16_3)
2416 AJA_VIRTUAL bool ProgramMainFlash(
const std::string & inFileName,
const bool bInForceUpdate =
false,
const bool bInQuiet =
false);
2486 AJA_VIRTUAL bool GetRunningFirmwareDate (std::string & outDate, std::string & outTime);
2497 #if !defined(NTV2_DEPRECATE_16_0)
2503 #endif // !defined(NTV2_DEPRECATE_16_0)
2505 #if !defined(NTV2_DEPRECATE_17_0)
2516 #endif // !defined(NTV2_DEPRECATE_17_0)
3030 #if !defined (NTV2_DEPRECATE_16_0)
3033 #endif // NTV2_DEPRECATE_16_0
3091 const UWord inFrameCount = 7,
3093 const ULWord inOptionFlags = 0,
3094 const UByte inNumChannels = 1,
3095 const UWord inStartFrameNumber = 0,
3096 const UWord inEndFrameNumber = 0);
3129 const ULWord inOptionFlags = 0,
3130 const UByte inNumChannels = 1);
3175 const UWord inFrameCount = 7,
3177 const ULWord inOptionFlags = 0,
3178 const UByte inNumChannels = 1,
3179 const UWord inStartFrameNumber = 0,
3180 const UWord inEndFrameNumber = 0);
3213 const ULWord inOptionFlags = 0,
3214 const UByte inNumChannels = 1);
3449 #define NTV2_STREAM_SUCCESS(__status__) (__status__ == NTV2_STREAM_SUCCESS)
3451 #define NTV2_STREAM_FAIL(__status__) (__status__ != NTV2_STREAM_SUCCESS)
3539 #if defined(READREGMULTICHANGE)
3551 #endif // defined(READREGMULTICHANGE)
3587 AJA_VIRTUAL bool WriteVirtualData (
const ULWord inTag,
const void* inVirtualData,
const ULWord inVirtualDataSize);
3713 AJA_VIRTUAL bool GetNominalMinMaxHV (
int & outNominalH,
int & outMinH,
int & outMaxH,
int & outNominalV,
int & outMinV,
int & outMaxV);
3727 AJA_VIRTUAL bool SetVideoHOffset (
const int inHOffset,
const UWord inOutputSpigot = 0);
3739 AJA_VIRTUAL bool GetVideoHOffset (
int & outHOffset,
const UWord inOutputSpigot = 0);
3752 AJA_VIRTUAL bool SetVideoVOffset (
const int inVOffset,
const UWord inOutputSpigot = 0);
3764 AJA_VIRTUAL bool GetVideoVOffset (
int & outVOffset,
const UWord inOutputSpigot = 0);
3900 AJA_VIRTUAL bool SetEnableConverter (
const bool inValue);
3901 AJA_VIRTUAL bool GetEnableConverter (
bool & outValue);
4189 #if !defined(R2_DEPRECATE)
4200 static NTV2VideoFormat GetNTV2VideoFormat (
NTV2FrameRate frameRate,
UByte inputGeometry,
bool progressiveTransport,
bool isThreeG,
bool progressivePicture=
false);
4484 #if !defined(NTV2_DEPRECATE_17_0)
4486 #endif // !defined(NTV2_DEPRECATE_17_0)
4514 AJA_VIRTUAL bool WriteSDProcAmpControlsInitialized (
const ULWord inNewValue = 1);
4522 AJA_VIRTUAL bool WriteHDProcAmpControlsInitialized (
const ULWord inNewValue = 1);
4559 #if !defined(R2_DEPRECATE)
4712 AJA_VIRTUAL bool SetHDMIOut3DPresent (
const bool inIs3DPresent);
4713 AJA_VIRTUAL bool GetHDMIOut3DPresent (
bool & outIs3DPresent);
4718 AJA_VIRTUAL bool SetHDMIV2TxBypass (
const bool inBypass);
5045 AJA_VIRTUAL bool SetHDMIOutDecimateMode (
const bool inEnable);
5047 AJA_VIRTUAL bool GetHDMIOutDecimateMode (
bool & outIsEnabled);
5054 AJA_VIRTUAL bool SetHDMIOutTsiIO (
const bool inTsiEnable);
5056 AJA_VIRTUAL bool GetHDMIOutTsiIO (
bool & tsiEnabled);
5063 AJA_VIRTUAL bool SetHDMIOutLevelBMode (
const bool inEnable);
5065 AJA_VIRTUAL bool GetHDMIOutLevelBMode (
bool & outIsEnabled);
5123 AJA_VIRTUAL bool SetLTCInputEnable (
const bool inEnable);
5135 AJA_VIRTUAL bool GetLTCInputEnable (
bool & outIsEnabled);
5147 AJA_VIRTUAL bool GetLTCInputPresent (
bool & outIsPresent,
const UWord inLTCInputNdx = 0);
5241 #if !defined(NTV2_DEPRECATE_16_3)
5246 #endif // !defined(NTV2_DEPRECATE_16_3)
5483 AJA_VIRTUAL bool GetSDIWatchdogEnable (
bool & outIsEnabled,
const UWord inIndex0);
5498 AJA_VIRTUAL bool SetSDIWatchdogEnable (
const bool inEnable,
const UWord inIndex0);
5544 AJA_VIRTUAL bool Enable4KDCRGBMode(
bool inEnable);
5546 AJA_VIRTUAL bool GetEnable4KDCRGBMode(
bool & outIsEnabled);
5554 AJA_VIRTUAL bool Enable4KDCYCC444Mode(
bool inEnable);
5556 AJA_VIRTUAL bool GetEnable4KDCYCC444Mode(
bool & outIsEnabled);
5564 AJA_VIRTUAL bool Enable4KDCPSFInMode(
bool inEnable);
5566 AJA_VIRTUAL bool GetEnable4KDCPSFInMode(
bool & outIsEnabled);
5574 AJA_VIRTUAL bool Enable4KPSFOutMode(
bool inEnable);
5576 AJA_VIRTUAL bool GetEnable4KPSFOutMode(
bool & outIsEnabled);
5597 AJA_VIRTUAL bool SetSDIInLevelBtoLevelAConversion (
const UWord inInputSpigot,
const bool inEnable);
5605 AJA_VIRTUAL bool GetSDIInLevelBtoLevelAConversion (
const UWord inInputSpigot,
bool & outIsEnabled);
5614 AJA_VIRTUAL bool SetSDIOutLevelAtoLevelBConversion (
const UWord inOutputSpigot,
const bool inEnable);
5632 AJA_VIRTUAL bool GetSDIOutLevelAtoLevelBConversion (
const UWord inOutputSpigot,
bool & outIsEnabled);
5640 AJA_VIRTUAL bool SetSDIOutRGBLevelAConversion (
const UWord inOutputSpigot,
const bool inEnable);
5658 AJA_VIRTUAL bool GetSDIOutRGBLevelAConversion (
const UWord inOutputSpigot,
bool & outIsEnabled);
5834 const bool inVancY,
const bool inVancC,
5835 const bool inHancY,
const bool inHancC);
5846 AJA_VIRTUAL bool AncInsertSetEnable (
const UWord inSDIOutput,
const bool inIsEnabled);
5855 AJA_VIRTUAL bool AncInsertIsEnabled (
const UWord inSDIOutput,
bool & outIsEnabled);
5914 AJA_VIRTUAL bool AncInsertGetReadInfo (
const UWord inSDIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr);
5948 const bool inVancY,
const bool inVancC,
5949 const bool inHancY,
const bool inHancC);
5961 AJA_VIRTUAL bool AncExtractSetEnable (
const UWord inSDIInput,
const bool inIsEnabled);
5971 AJA_VIRTUAL bool AncExtractIsEnabled (
const UWord inSDIInput,
bool & outIsEnabled);
6025 uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
6026 uint64_t & outF2StartAddr, uint64_t & outF2EndAddr);
6082 AJA_VIRTUAL bool AncExtractGetBufferOverrun (
const UWord inSDIInput,
bool & outIsOverrun,
const UWord inField = 0);
6091 AJA_VIRTUAL bool AncExtractIsProgressive (
const UWord inSDIInput,
bool & outIsProgressive);
6097 static UWord AncExtractGetMaxNumFilterDIDs (
void);
6106 static NTV2DIDSet AncExtractGetDefaultDIDs (
const bool inHDAudio =
true);
6153 const bool inVauxY,
const bool inVauxC,
6154 const bool inHauxY,
const bool inHauxC);
6164 AJA_VIRTUAL bool AuxInsertSetEnable (
const UWord inHDMIOutput,
const bool inIsEnabled);
6172 AJA_VIRTUAL bool AuxInsertIsEnabled (
const UWord inHDMIOutput,
bool & outIsEnabled);
6229 AJA_VIRTUAL bool AuxInsertGetReadInfo (
const UWord inHDMIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr);
6257 AJA_VIRTUAL bool AuxExtractSetEnable (
const UWord inHDMIInput,
const bool inIsEnabled);
6266 AJA_VIRTUAL bool AuxExtractIsEnabled (
const UWord inHDMIInput,
bool & outIsEnabled);
6317 uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
6318 uint64_t & outF2StartAddr, uint64_t & outF2EndAddr);
6366 AJA_VIRTUAL bool AuxExtractSetFilterInclusionMode (
const UWord inHDMIInput,
const bool inEnable);
6375 AJA_VIRTUAL bool AuxExtractGetFilterInclusionMode (
const UWord inHDMIInput,
bool & outEnabled);
6389 AJA_VIRTUAL bool AuxExtractGetBufferOverrun (
const UWord inHDMIInput,
bool & outIsOverrun,
const UWord inField = 0);
6397 AJA_VIRTUAL bool AuxExtractIsProgressive (
const UWord inHDMIInput,
bool & outIsProgressive);
6403 static UWord AuxExtractGetMaxNumPacketFilters (
void);
6409 static NTV2DIDSet AuxExtractGetDefaultPacketFilters (
void);
6439 AJA_VIRTUAL bool GetDieVoltage (
double & outVoltage);
6450 AJA_VIRTUAL std::string GetPCIFPGAVersionString (
void);
6469 AJA_VIRTUAL bool GetInstalledBitfileInfo (
ULWord & outNumBytes, std::string & outDateStr, std::string & outTimeStr);
6487 AJA_VIRTUAL bool IsFailSafeBitfileLoaded (
bool & outIsFailSafe);
6496 AJA_VIRTUAL bool CanWarmBootFPGA (
bool & outCanWarmBoot);
6525 AJA_VIRTUAL bool AddDynamicBitfile (
const std::string & inBitfilePath);
6533 AJA_VIRTUAL bool AddDynamicDirectory (
const std::string & inDirectory);
6548 } ColorCorrectionColor;
6554 #if !defined(NTV2_DEPRECATE_17_6)
6562 #endif//defined(AJA_RETAIN_HEVC)
6800 AJA_VIRTUAL bool SetMultiRasterBypassEnable (
const bool inEnable);
6801 AJA_VIRTUAL bool GetMultiRasterBypassEnable (
bool & outEnabled);
6805 #if !defined(NTV2_DEPRECATE_17_5)
6807 #endif // NTV2_DEPRECATE_17_5
6809 #if !defined(NTV2_DEPRECATE_16_1)
6812 #endif // NTV2_DEPRECATE_16_1
6821 AJA_VIRTUAL bool IS_HDMI_INPUT_SPIGOT_INVALID (
const UWord inInputHDMIPort);
6822 AJA_VIRTUAL bool SetWarmBootFirmwareReload(
bool enable);
6864 #if !defined(NTV2_DEPRECATE_16_2)
6871 #endif // !defined(NTV2_DEPRECATE_16_2)
6873 #define SetTablesToHardware LoadLUTTables
6874 #define GetTablesFromHardware GetLUTTables
6991 bool HasFrameIndex (
const UWord inIndex)
const {
return mFrameTags.find(inIndex) != mFrameTags.end();}
6995 inline bool HasTag (
const UWord inIndex)
const {
return GetTagCount(inIndex) > 0;}
6996 inline bool HasConflicts (
const UWord inIndex)
const {
return GetTagCount(inIndex) > 1;}
6997 inline ULWord GetIntrinsicFrameByteCount (
void)
const {
return mIntrinsicSize;}
7016 std::ostream &
RawDump (std::ostream & oss)
const;
7023 std::ostream &
DumpBlocks (std::ostream & oss)
const;
7036 bool TagMemoryBlock (
const uint64_t inStartAddr,
const uint64_t inByteLength,
const std::string & inTag)
7042 typedef std::pair<UWord, NTV2StringSet> FrameTag;
7043 typedef std::map<UWord, NTV2StringSet> FrameTags;
7044 typedef FrameTags::const_iterator FrameTagsConstIter;
7047 FrameTags mFrameTags;
7053 #endif // NTV2CARD_H