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);
459 AJA_VIRTUAL bool DMABufferLock (
const NTV2Buffer & inBuffer,
bool inMap =
false,
bool inRDMA =
false);
475 return DMABufferLock(
NTV2Buffer(pInBuffer, inByteCount), inMap, inRDMA);
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
3092 const UWord inFrameCount = 7,
3094 const ULWord inOptionFlags = 0,
3095 const UByte inNumChannels = 1,
3096 const UWord inStartFrameNumber = 0,
3097 const UWord inEndFrameNumber = 0);
3142 const UWord inFrameCount = 7,
3144 const ULWord inOptionFlags = 0,
3145 const UByte inNumChannels = 1,
3146 const UWord inStartFrameNumber = 0,
3147 const UWord inEndFrameNumber = 0);
3382 #define NTV2_STREAM_SUCCESS(__status__) (__status__ == NTV2_STREAM_SUCCESS)
3384 #define NTV2_STREAM_FAIL(__status__) (__status__ != NTV2_STREAM_SUCCESS)
3472 #if defined(READREGMULTICHANGE)
3484 #endif // defined(READREGMULTICHANGE)
3520 AJA_VIRTUAL bool WriteVirtualData (
const ULWord inTag,
const void* inVirtualData,
const ULWord inVirtualDataSize);
3646 AJA_VIRTUAL bool GetNominalMinMaxHV (
int & outNominalH,
int & outMinH,
int & outMaxH,
int & outNominalV,
int & outMinV,
int & outMaxV);
3660 AJA_VIRTUAL bool SetVideoHOffset (
const int inHOffset,
const UWord inOutputSpigot = 0);
3672 AJA_VIRTUAL bool GetVideoHOffset (
int & outHOffset,
const UWord inOutputSpigot = 0);
3685 AJA_VIRTUAL bool SetVideoVOffset (
const int inVOffset,
const UWord inOutputSpigot = 0);
3697 AJA_VIRTUAL bool GetVideoVOffset (
int & outVOffset,
const UWord inOutputSpigot = 0);
3833 AJA_VIRTUAL bool SetEnableConverter (
const bool inValue);
3834 AJA_VIRTUAL bool GetEnableConverter (
bool & outValue);
4122 #if !defined(R2_DEPRECATE)
4133 static NTV2VideoFormat GetNTV2VideoFormat (
NTV2FrameRate frameRate,
UByte inputGeometry,
bool progressiveTransport,
bool isThreeG,
bool progressivePicture=
false);
4417 #if !defined(NTV2_DEPRECATE_17_0)
4419 #endif // !defined(NTV2_DEPRECATE_17_0)
4433 AJA_VIRTUAL bool WriteSDProcAmpControlsInitialized (
const ULWord inNewValue = 1);
4441 AJA_VIRTUAL bool WriteHDProcAmpControlsInitialized (
const ULWord inNewValue = 1);
4478 #if !defined(R2_DEPRECATE)
4633 AJA_VIRTUAL bool SetHDMIOut3DPresent (
const bool inIs3DPresent);
4634 AJA_VIRTUAL bool GetHDMIOut3DPresent (
bool & outIs3DPresent);
4639 AJA_VIRTUAL bool SetHDMIV2TxBypass (
const bool inBypass);
4667 AJA_VIRTUAL bool SetHDMIOutForceConfig (
const bool inNewValue);
4668 AJA_VIRTUAL bool GetHDMIOutForceConfig (
bool & outValue);
4670 AJA_VIRTUAL bool SetHDMIOutPrefer420 (
const bool inNewValue);
4671 AJA_VIRTUAL bool GetHDMIOutPrefer420 (
bool & outValue);
4762 AJA_VIRTUAL bool EnableHDMIOutUserOverride (
const bool inEnable);
4769 AJA_VIRTUAL bool GetEnableHDMIOutUserOverride (
bool & outIsEnabled);
4776 AJA_VIRTUAL bool EnableHDMIOutCenterCrop (
const bool inEnable);
4783 AJA_VIRTUAL bool GetEnableHDMIOutCenterCrop (
bool & outIsEnabled);
4792 AJA_VIRTUAL bool SetHDMIOutDecimateMode (
const bool inEnable);
4794 AJA_VIRTUAL bool GetHDMIOutDecimateMode (
bool & outIsEnabled);
4801 AJA_VIRTUAL bool SetHDMIOutTsiIO (
const bool inTsiEnable);
4803 AJA_VIRTUAL bool GetHDMIOutTsiIO (
bool & tsiEnabled);
4810 AJA_VIRTUAL bool SetHDMIOutLevelBMode (
const bool inEnable);
4812 AJA_VIRTUAL bool GetHDMIOutLevelBMode (
bool & outIsEnabled);
4868 AJA_VIRTUAL bool SetLTCInputEnable (
const bool inEnable);
4880 AJA_VIRTUAL bool GetLTCInputEnable (
bool & outIsEnabled);
4892 AJA_VIRTUAL bool GetLTCInputPresent (
bool & outIsPresent,
const UWord inLTCInputNdx = 0);
4986 #if !defined(NTV2_DEPRECATE_16_3)
4991 #endif // !defined(NTV2_DEPRECATE_16_3)
5228 AJA_VIRTUAL bool GetSDIWatchdogEnable (
bool & outIsEnabled,
const UWord inIndex0);
5243 AJA_VIRTUAL bool SetSDIWatchdogEnable (
const bool inEnable,
const UWord inIndex0);
5289 AJA_VIRTUAL bool Enable4KDCRGBMode(
bool inEnable);
5291 AJA_VIRTUAL bool GetEnable4KDCRGBMode(
bool & outIsEnabled);
5299 AJA_VIRTUAL bool Enable4KDCYCC444Mode(
bool inEnable);
5301 AJA_VIRTUAL bool GetEnable4KDCYCC444Mode(
bool & outIsEnabled);
5309 AJA_VIRTUAL bool Enable4KDCPSFInMode(
bool inEnable);
5311 AJA_VIRTUAL bool GetEnable4KDCPSFInMode(
bool & outIsEnabled);
5319 AJA_VIRTUAL bool Enable4KPSFOutMode(
bool inEnable);
5321 AJA_VIRTUAL bool GetEnable4KPSFOutMode(
bool & outIsEnabled);
5342 AJA_VIRTUAL bool SetSDIInLevelBtoLevelAConversion (
const UWord inInputSpigot,
const bool inEnable);
5350 AJA_VIRTUAL bool GetSDIInLevelBtoLevelAConversion (
const UWord inInputSpigot,
bool & outIsEnabled);
5359 AJA_VIRTUAL bool SetSDIOutLevelAtoLevelBConversion (
const UWord inOutputSpigot,
const bool inEnable);
5377 AJA_VIRTUAL bool GetSDIOutLevelAtoLevelBConversion (
const UWord inOutputSpigot,
bool & outIsEnabled);
5385 AJA_VIRTUAL bool SetSDIOutRGBLevelAConversion (
const UWord inOutputSpigot,
const bool inEnable);
5403 AJA_VIRTUAL bool GetSDIOutRGBLevelAConversion (
const UWord inOutputSpigot,
bool & outIsEnabled);
5457 AJA_VIRTUAL bool SetMultiFormatMode (
const bool inEnable);
5470 AJA_VIRTUAL bool GetMultiFormatMode (
bool & outIsEnabled);
5579 const bool inVancY,
const bool inVancC,
5580 const bool inHancY,
const bool inHancC);
5591 AJA_VIRTUAL bool AncInsertSetEnable (
const UWord inSDIOutput,
const bool inIsEnabled);
5600 AJA_VIRTUAL bool AncInsertIsEnabled (
const UWord inSDIOutput,
bool & outIsEnabled);
5659 AJA_VIRTUAL bool AncInsertGetReadInfo (
const UWord inSDIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr);
5693 const bool inVancY,
const bool inVancC,
5694 const bool inHancY,
const bool inHancC);
5706 AJA_VIRTUAL bool AncExtractSetEnable (
const UWord inSDIInput,
const bool inIsEnabled);
5716 AJA_VIRTUAL bool AncExtractIsEnabled (
const UWord inSDIInput,
bool & outIsEnabled);
5770 uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
5771 uint64_t & outF2StartAddr, uint64_t & outF2EndAddr);
5827 AJA_VIRTUAL bool AncExtractGetBufferOverrun (
const UWord inSDIInput,
bool & outIsOverrun,
const UWord inField = 0);
5836 AJA_VIRTUAL bool AncExtractIsProgressive (
const UWord inSDIInput,
bool & outIsProgressive);
5842 static UWord AncExtractGetMaxNumFilterDIDs (
void);
5851 static NTV2DIDSet AncExtractGetDefaultDIDs (
const bool inHDAudio =
true);
5898 const bool inVauxY,
const bool inVauxC,
5899 const bool inHauxY,
const bool inHauxC);
5909 AJA_VIRTUAL bool AuxInsertSetEnable (
const UWord inHDMIOutput,
const bool inIsEnabled);
5917 AJA_VIRTUAL bool AuxInsertIsEnabled (
const UWord inHDMIOutput,
bool & outIsEnabled);
5974 AJA_VIRTUAL bool AuxInsertGetReadInfo (
const UWord inHDMIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr);
6002 AJA_VIRTUAL bool AuxExtractSetEnable (
const UWord inHDMIInput,
const bool inIsEnabled);
6011 AJA_VIRTUAL bool AuxExtractIsEnabled (
const UWord inHDMIInput,
bool & outIsEnabled);
6062 uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
6063 uint64_t & outF2StartAddr, uint64_t & outF2EndAddr);
6111 AJA_VIRTUAL bool AuxExtractSetFilterInclusionMode (
const UWord inHDMIInput,
const bool inEnable);
6120 AJA_VIRTUAL bool AuxExtractGetFilterInclusionMode (
const UWord inHDMIInput,
bool & outEnabled);
6134 AJA_VIRTUAL bool AuxExtractGetBufferOverrun (
const UWord inHDMIInput,
bool & outIsOverrun,
const UWord inField = 0);
6142 AJA_VIRTUAL bool AuxExtractIsProgressive (
const UWord inHDMIInput,
bool & outIsProgressive);
6148 static UWord AuxExtractGetMaxNumPacketFilters (
void);
6154 static NTV2DIDSet AuxExtractGetDefaultPacketFilters (
void);
6184 AJA_VIRTUAL bool GetDieVoltage (
double & outVoltage);
6195 AJA_VIRTUAL std::string GetPCIFPGAVersionString (
void);
6214 AJA_VIRTUAL bool GetInstalledBitfileInfo (
ULWord & outNumBytes, std::string & outDateStr, std::string & outTimeStr);
6232 AJA_VIRTUAL bool IsFailSafeBitfileLoaded (
bool & outIsFailSafe);
6241 AJA_VIRTUAL bool CanWarmBootFPGA (
bool & outCanWarmBoot);
6270 AJA_VIRTUAL bool AddDynamicBitfile (
const std::string & inBitfilePath);
6278 AJA_VIRTUAL bool AddDynamicDirectory (
const std::string & inDirectory);
6293 } ColorCorrectionColor;
6370 AJA_VIRTUAL bool EnableHDMIHDR (
const bool inEnableHDMIHDR);
6381 AJA_VIRTUAL bool EnableHDMIHDRDolbyVision (
const bool inEnable);
6382 AJA_VIRTUAL bool GetHDMIHDRDolbyVisionEnabled (
void);
6390 AJA_VIRTUAL bool SetHDMIHDRConstantLuminance (
const bool inEnableConstantLuminance);
6391 AJA_VIRTUAL bool GetHDMIHDRConstantLuminance (
void);
6398 AJA_VIRTUAL bool SetHDMIHDRGreenPrimaryX (
const uint16_t inGreenPrimaryX);
6404 AJA_VIRTUAL bool GetHDMIHDRGreenPrimaryX (uint16_t & outGreenPrimaryX);
6411 AJA_VIRTUAL bool SetHDMIHDRGreenPrimaryY (
const uint16_t inGreenPrimaryY);
6417 AJA_VIRTUAL bool GetHDMIHDRGreenPrimaryY (uint16_t & outGreenPrimaryY);
6424 AJA_VIRTUAL bool SetHDMIHDRBluePrimaryX (
const uint16_t inBluePrimaryX);
6430 AJA_VIRTUAL bool GetHDMIHDRBluePrimaryX (uint16_t & outBluePrimaryX);
6437 AJA_VIRTUAL bool SetHDMIHDRBluePrimaryY (
const uint16_t inBluePrimaryY);
6443 AJA_VIRTUAL bool GetHDMIHDRBluePrimaryY (uint16_t & outBluePrimaryY);
6450 AJA_VIRTUAL bool SetHDMIHDRRedPrimaryX (
const uint16_t inRedPrimaryX);
6456 AJA_VIRTUAL bool GetHDMIHDRRedPrimaryX (uint16_t & outRedPrimaryX);
6463 AJA_VIRTUAL bool SetHDMIHDRRedPrimaryY (
const uint16_t inRedPrimaryY);
6469 AJA_VIRTUAL bool GetHDMIHDRRedPrimaryY (uint16_t & outRedPrimaryY);
6476 AJA_VIRTUAL bool SetHDMIHDRWhitePointX (
const uint16_t inWhitePointX);
6482 AJA_VIRTUAL bool GetHDMIHDRWhitePointX (uint16_t & outWhitePointX);
6489 AJA_VIRTUAL bool SetHDMIHDRWhitePointY (
const uint16_t inWhitePointY);
6495 AJA_VIRTUAL bool GetHDMIHDRWhitePointY (uint16_t & outWhitePointY);
6502 AJA_VIRTUAL bool SetHDMIHDRMaxMasteringLuminance (
const uint16_t inMaxMasteringLuminance);
6508 AJA_VIRTUAL bool GetHDMIHDRMaxMasteringLuminance (uint16_t & outMaxMasteringLuminance);
6515 AJA_VIRTUAL bool SetHDMIHDRMinMasteringLuminance (
const uint16_t inMinMasteringLuminance);
6521 AJA_VIRTUAL bool GetHDMIHDRMinMasteringLuminance (uint16_t & outMinMasteringLuminance);
6528 AJA_VIRTUAL bool SetHDMIHDRMaxContentLightLevel (
const uint16_t inMaxContentLightLevel);
6534 AJA_VIRTUAL bool GetHDMIHDRMaxContentLightLevel (uint16_t & outMaxContentLightLevel);
6541 AJA_VIRTUAL bool SetHDMIHDRMaxFrameAverageLightLevel (
const uint16_t inMaxFrameAverageLightLevel);
6547 AJA_VIRTUAL bool GetHDMIHDRMaxFrameAverageLightLevel (uint16_t & outMaxFrameAverageLightLevel);
6550 AJA_VIRTUAL bool SetHDMIHDRElectroOpticalTransferFunction (
const uint8_t inEOTFByte);
6551 AJA_VIRTUAL bool GetHDMIHDRElectroOpticalTransferFunction (uint8_t & outEOTFByte);
6552 AJA_VIRTUAL bool SetHDMIHDRStaticMetadataDescriptorID (
const uint8_t inSMDId);
6553 AJA_VIRTUAL bool GetHDMIHDRStaticMetadataDescriptorID (uint8_t & outSMDId);
6578 AJA_VIRTUAL bool SetMultiRasterBypassEnable (
const bool inEnable);
6579 AJA_VIRTUAL bool GetMultiRasterBypassEnable (
bool & outEnabled);
6585 #if !defined(NTV2_DEPRECATE_16_1)
6588 #endif // NTV2_DEPRECATE_16_1
6597 AJA_VIRTUAL bool IS_HDMI_INPUT_SPIGOT_INVALID (
const UWord inInputHDMIPort);
6598 AJA_VIRTUAL bool SetWarmBootFirmwareReload(
bool enable);
6628 #if !defined(NTV2_DEPRECATE_16_2)
6635 #endif // !defined(NTV2_DEPRECATE_16_2)
6637 #define SetTablesToHardware LoadLUTTables
6638 #define GetTablesFromHardware GetLUTTables
6755 bool HasFrameIndex (
const UWord inIndex)
const {
return mFrameTags.find(inIndex) != mFrameTags.end();}
6759 inline bool HasTag (
const UWord inIndex)
const {
return GetTagCount(inIndex) > 0;}
6760 inline bool HasConflicts (
const UWord inIndex)
const {
return GetTagCount(inIndex) > 1;}
6761 inline ULWord GetIntrinsicFrameByteCount (
void)
const {
return mIntrinsicSize;}
6780 std::ostream &
RawDump (std::ostream & oss)
const;
6787 std::ostream &
DumpBlocks (std::ostream & oss)
const;
6800 bool TagMemoryBlock (
const uint64_t inStartAddr,
const uint64_t inByteLength,
const std::string & inTag)
6806 typedef std::pair<UWord, NTV2StringSet> FrameTag;
6807 typedef std::map<UWord, NTV2StringSet> FrameTags;
6808 typedef FrameTags::const_iterator FrameTagsConstIter;
6811 FrameTags mFrameTags;
6817 #endif // NTV2CARD_H