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 GetLPExternalPortURLString (std::string & outURLString);
142 AJA_VIRTUAL bool GetLPTunnelPortURLString (std::string & outURLString);
148 #if !defined(NTV2_DEPRECATE_16_3)
168 #endif // defined(NTV2_DEPRECATE_16_3)
291 const ULWord inCardOffsetBytes,
292 const ULWord inSegmentByteCount,
293 const ULWord inNumSegments,
294 const ULWord inSegmentHostPitch,
295 const ULWord inSegmentCardPitch);
313 const ULWord * pFrameBuffer,
314 const ULWord inOffsetBytes,
315 const ULWord inSegmentByteCount,
316 const ULWord inNumSegments,
317 const ULWord inSegmentHostPitch,
318 const ULWord inSegmentCardPitch);
333 ULWord segmentTargetPitch,
354 const ULWord inOffsetBytes,
355 const ULWord inByteCount);
373 const ULWord * pInAudioBuffer,
374 const ULWord inOffsetBytes,
375 const ULWord inByteCount);
458 AJA_VIRTUAL bool DMABufferLock (
const NTV2Buffer & inBuffer,
bool inMap =
false,
bool inRDMA =
false);
474 return DMABufferLock(
NTV2Buffer(pInBuffer, inByteCount), inMap, inRDMA);
495 return DMABufferUnlock(
NTV2Buffer(pInBuffer, inByteCount));
513 AJA_VIRTUAL bool DMABufferAutoLock (
const bool inEnable,
const bool inMap =
false,
const ULWord64 inMaxLockSize = 0);
527 const UWord inEndFrameNumber,
542 uint64_t & outAddress, uint64_t & outLength);
545 bool & outMultiFmt,
bool & outQuad,
bool & outQuadQuad,
bool & outSquares,
bool & outTSI,
546 uint64_t & outAddress, uint64_t & outLength);
593 #define AJA_RETAIL_DEFAULT true
594 #else // else !defined (AJAMac)
595 #define AJA_RETAIL_DEFAULT false
596 #endif // !defined (AJAMac)
706 AJA_VIRTUAL bool EnableFramePulseReference (
const bool inEnable);
715 AJA_VIRTUAL bool GetEnableFramePulseReference (
bool & outEnabled);
1086 AJA_VIRTUAL bool SetDualLinkOutputEnable (
const bool inIsEnabled);
1087 AJA_VIRTUAL bool GetDualLinkOutputEnable (
bool & outIsEnabled);
1089 AJA_VIRTUAL bool SetDualLinkInputEnable (
const bool inIsEnabled);
1090 AJA_VIRTUAL bool GetDualLinkInputEnable (
bool & outIsEnabled);
1194 #if !defined(NTV2_DEPRECATE_16_3)
1197 #endif // defined(NTV2_DEPRECATE_16_3)
1198 #if !defined(NTV2_DEPRECATE_16_2)
1205 #endif // !defined(NTV2_DEPRECATE_16_2)
1206 #if !defined(NTV2_DEPRECATE_16_0)
1210 #define Set425FrameEnable SetTsiFrameEnable // Replace calls to Set425FrameEnable with calls to SetTsiFrameEnable instead
1211 #define Get425FrameEnable GetTsiFrameEnable // Replace calls to Get425FrameEnable with calls to GetTsiFrameEnable instead
1212 #endif // NTV2_DEPRECATE_16_0
1229 AJA_VIRTUAL bool SetMixerVancOutputFromForeground (
const UWord inWhichMixer,
const bool inFromForegroundSource =
true);
1240 AJA_VIRTUAL bool GetMixerVancOutputFromForeground (
const UWord inWhichMixer,
bool & outIsFromForegroundSource);
1323 AJA_VIRTUAL bool GetMixerSyncStatus (
const UWord inWhichMixer,
bool & outIsSyncOK);
1332 AJA_VIRTUAL bool GetMixerFGMatteEnabled (
const UWord inWhichMixer,
bool & outIsEnabled);
1341 AJA_VIRTUAL bool SetMixerFGMatteEnabled (
const UWord inWhichMixer,
const bool inIsEnabled);
1350 AJA_VIRTUAL bool GetMixerBGMatteEnabled (
const UWord inWhichMixer,
bool & outIsEnabled);
1359 AJA_VIRTUAL bool SetMixerBGMatteEnabled (
const UWord inWhichMixer,
const bool inIsEnabled);
1385 AJA_VIRTUAL bool MixerHasRGBModeSupport (
const UWord inWhichMixer,
bool & outIsSupported);
1605 const NTV2AudioSystem inAudioSystem,
const bool inCaptureBuffer =
false);
2036 AJA_VIRTUAL bool GetSuspendHostAudio (
bool & outIsSuspended);
2046 AJA_VIRTUAL bool SetSuspendHostAudio (
const bool inSuspend);
2168 AJA_VIRTUAL bool EnableBOBAnalogAudioIn (
bool inEnable);
2188 #if !defined(NTV2_DEPRECATE_16_0)
2192 AJA_VIRTUAL inline NTV2_DEPRECATED_f(
bool GetAudioOutputReset (
const NTV2AudioSystem inAudioSystem,
bool & outIsReset)) {
if(!IsAudioOutputRunning(inAudioSystem, outIsReset))
return false; outIsReset = !outIsReset;
return true; }
2194 AJA_VIRTUAL inline NTV2_DEPRECATED_f(
bool GetAudioInputReset (
const NTV2AudioSystem inAudioSystem,
bool & outIsReset)) {
if(!IsAudioInputRunning(inAudioSystem, outIsReset))
return false; outIsReset = !outIsReset;
return true; }
2195 #endif // !defined(NTV2_DEPRECATE_16_0)
2196 #if !defined(NTV2_DEPRECATE_16_1)
2202 #endif // !defined(NTV2_DEPRECATE_16_1)
2203 #if !defined(NTV2_DEPRECATE_16_3)
2205 #endif // !defined(NTV2_DEPRECATE_16_1)
2206 #if !defined(NTV2_DEPRECATE_17_0)
2208 #endif // !defined(NTV2_DEPRECATE_17_0)
2209 #if !defined(NTV2_DEPRECATE_17_5)
2212 #endif // defined(NTV2_DEPRECATE_17_5)
2403 #if !defined(NTV2_DEPRECATE_16_3)
2406 #endif // !defined(NTV2_DEPRECATE_16_3)
2415 AJA_VIRTUAL bool ProgramMainFlash(
const std::string & inFileName,
const bool bInForceUpdate =
false,
const bool bInQuiet =
false);
2485 AJA_VIRTUAL bool GetRunningFirmwareDate (std::string & outDate, std::string & outTime);
2496 #if !defined(NTV2_DEPRECATE_16_0)
2502 #endif // !defined(NTV2_DEPRECATE_16_0)
2504 #if !defined(NTV2_DEPRECATE_17_0)
2515 #endif // !defined(NTV2_DEPRECATE_17_0)
3029 #if !defined (NTV2_DEPRECATE_16_0)
3032 #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);
3141 const UWord inFrameCount = 7,
3143 const ULWord inOptionFlags = 0,
3144 const UByte inNumChannels = 1,
3145 const UWord inStartFrameNumber = 0,
3146 const UWord inEndFrameNumber = 0);
3381 #define NTV2_STREAM_SUCCESS(__status__) (__status__ == NTV2_STREAM_SUCCESS)
3383 #define NTV2_STREAM_FAIL(__status__) (__status__ != NTV2_STREAM_SUCCESS)
3471 #if defined(READREGMULTICHANGE)
3483 #endif // defined(READREGMULTICHANGE)
3519 AJA_VIRTUAL bool WriteVirtualData (
const ULWord inTag,
const void* inVirtualData,
const ULWord inVirtualDataSize);
3645 AJA_VIRTUAL bool GetNominalMinMaxHV (
int & outNominalH,
int & outMinH,
int & outMaxH,
int & outNominalV,
int & outMinV,
int & outMaxV);
3659 AJA_VIRTUAL bool SetVideoHOffset (
const int inHOffset,
const UWord inOutputSpigot = 0);
3671 AJA_VIRTUAL bool GetVideoHOffset (
int & outHOffset,
const UWord inOutputSpigot = 0);
3684 AJA_VIRTUAL bool SetVideoVOffset (
const int inVOffset,
const UWord inOutputSpigot = 0);
3696 AJA_VIRTUAL bool GetVideoVOffset (
int & outVOffset,
const UWord inOutputSpigot = 0);
3832 AJA_VIRTUAL bool SetEnableConverter (
const bool inValue);
3833 AJA_VIRTUAL bool GetEnableConverter (
bool & outValue);
4121 #if !defined(R2_DEPRECATE)
4132 static NTV2VideoFormat GetNTV2VideoFormat (
NTV2FrameRate frameRate,
UByte inputGeometry,
bool progressiveTransport,
bool isThreeG,
bool progressivePicture=
false);
4416 #if !defined(NTV2_DEPRECATE_17_0)
4418 #endif // !defined(NTV2_DEPRECATE_17_0)
4432 AJA_VIRTUAL bool WriteSDProcAmpControlsInitialized (
const ULWord inNewValue = 1);
4440 AJA_VIRTUAL bool WriteHDProcAmpControlsInitialized (
const ULWord inNewValue = 1);
4477 #if !defined(R2_DEPRECATE)
4632 AJA_VIRTUAL bool SetHDMIOut3DPresent (
const bool inIs3DPresent);
4633 AJA_VIRTUAL bool GetHDMIOut3DPresent (
bool & outIs3DPresent);
4638 AJA_VIRTUAL bool SetHDMIV2TxBypass (
const bool inBypass);
4666 AJA_VIRTUAL bool SetHDMIOutForceConfig (
const bool inNewValue);
4667 AJA_VIRTUAL bool GetHDMIOutForceConfig (
bool & outValue);
4669 AJA_VIRTUAL bool SetHDMIOutPrefer420 (
const bool inNewValue);
4670 AJA_VIRTUAL bool GetHDMIOutPrefer420 (
bool & outValue);
4761 AJA_VIRTUAL bool EnableHDMIOutUserOverride (
const bool inEnable);
4768 AJA_VIRTUAL bool GetEnableHDMIOutUserOverride (
bool & outIsEnabled);
4775 AJA_VIRTUAL bool EnableHDMIOutCenterCrop (
const bool inEnable);
4782 AJA_VIRTUAL bool GetEnableHDMIOutCenterCrop (
bool & outIsEnabled);
4791 AJA_VIRTUAL bool SetHDMIOutDecimateMode (
const bool inEnable);
4793 AJA_VIRTUAL bool GetHDMIOutDecimateMode (
bool & outIsEnabled);
4800 AJA_VIRTUAL bool SetHDMIOutTsiIO (
const bool inTsiEnable);
4802 AJA_VIRTUAL bool GetHDMIOutTsiIO (
bool & tsiEnabled);
4809 AJA_VIRTUAL bool SetHDMIOutLevelBMode (
const bool inEnable);
4811 AJA_VIRTUAL bool GetHDMIOutLevelBMode (
bool & outIsEnabled);
4867 AJA_VIRTUAL bool SetLTCInputEnable (
const bool inEnable);
4879 AJA_VIRTUAL bool GetLTCInputEnable (
bool & outIsEnabled);
4891 AJA_VIRTUAL bool GetLTCInputPresent (
bool & outIsPresent,
const UWord inLTCInputNdx = 0);
4985 #if !defined(NTV2_DEPRECATE_16_3)
4990 #endif // !defined(NTV2_DEPRECATE_16_3)
5227 AJA_VIRTUAL bool GetSDIWatchdogEnable (
bool & outIsEnabled,
const UWord inIndex0);
5242 AJA_VIRTUAL bool SetSDIWatchdogEnable (
const bool inEnable,
const UWord inIndex0);
5288 AJA_VIRTUAL bool Enable4KDCRGBMode(
bool inEnable);
5290 AJA_VIRTUAL bool GetEnable4KDCRGBMode(
bool & outIsEnabled);
5298 AJA_VIRTUAL bool Enable4KDCYCC444Mode(
bool inEnable);
5300 AJA_VIRTUAL bool GetEnable4KDCYCC444Mode(
bool & outIsEnabled);
5308 AJA_VIRTUAL bool Enable4KDCPSFInMode(
bool inEnable);
5310 AJA_VIRTUAL bool GetEnable4KDCPSFInMode(
bool & outIsEnabled);
5318 AJA_VIRTUAL bool Enable4KPSFOutMode(
bool inEnable);
5320 AJA_VIRTUAL bool GetEnable4KPSFOutMode(
bool & outIsEnabled);
5341 AJA_VIRTUAL bool SetSDIInLevelBtoLevelAConversion (
const UWord inInputSpigot,
const bool inEnable);
5349 AJA_VIRTUAL bool GetSDIInLevelBtoLevelAConversion (
const UWord inInputSpigot,
bool & outIsEnabled);
5358 AJA_VIRTUAL bool SetSDIOutLevelAtoLevelBConversion (
const UWord inOutputSpigot,
const bool inEnable);
5376 AJA_VIRTUAL bool GetSDIOutLevelAtoLevelBConversion (
const UWord inOutputSpigot,
bool & outIsEnabled);
5384 AJA_VIRTUAL bool SetSDIOutRGBLevelAConversion (
const UWord inOutputSpigot,
const bool inEnable);
5402 AJA_VIRTUAL bool GetSDIOutRGBLevelAConversion (
const UWord inOutputSpigot,
bool & outIsEnabled);
5456 AJA_VIRTUAL bool SetMultiFormatMode (
const bool inEnable);
5469 AJA_VIRTUAL bool GetMultiFormatMode (
bool & outIsEnabled);
5578 const bool inVancY,
const bool inVancC,
5579 const bool inHancY,
const bool inHancC);
5590 AJA_VIRTUAL bool AncInsertSetEnable (
const UWord inSDIOutput,
const bool inIsEnabled);
5599 AJA_VIRTUAL bool AncInsertIsEnabled (
const UWord inSDIOutput,
bool & outIsEnabled);
5658 AJA_VIRTUAL bool AncInsertGetReadInfo (
const UWord inSDIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr);
5692 const bool inVancY,
const bool inVancC,
5693 const bool inHancY,
const bool inHancC);
5705 AJA_VIRTUAL bool AncExtractSetEnable (
const UWord inSDIInput,
const bool inIsEnabled);
5715 AJA_VIRTUAL bool AncExtractIsEnabled (
const UWord inSDIInput,
bool & outIsEnabled);
5769 uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
5770 uint64_t & outF2StartAddr, uint64_t & outF2EndAddr);
5826 AJA_VIRTUAL bool AncExtractGetBufferOverrun (
const UWord inSDIInput,
bool & outIsOverrun,
const UWord inField = 0);
5835 AJA_VIRTUAL bool AncExtractIsProgressive (
const UWord inSDIInput,
bool & outIsProgressive);
5841 static UWord AncExtractGetMaxNumFilterDIDs (
void);
5850 static NTV2DIDSet AncExtractGetDefaultDIDs (
const bool inHDAudio =
true);
5897 const bool inVauxY,
const bool inVauxC,
5898 const bool inHauxY,
const bool inHauxC);
5908 AJA_VIRTUAL bool AuxInsertSetEnable (
const UWord inHDMIOutput,
const bool inIsEnabled);
5916 AJA_VIRTUAL bool AuxInsertIsEnabled (
const UWord inHDMIOutput,
bool & outIsEnabled);
5973 AJA_VIRTUAL bool AuxInsertGetReadInfo (
const UWord inHDMIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr);
6001 AJA_VIRTUAL bool AuxExtractSetEnable (
const UWord inHDMIInput,
const bool inIsEnabled);
6010 AJA_VIRTUAL bool AuxExtractIsEnabled (
const UWord inHDMIInput,
bool & outIsEnabled);
6061 uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
6062 uint64_t & outF2StartAddr, uint64_t & outF2EndAddr);
6110 AJA_VIRTUAL bool AuxExtractSetFilterInclusionMode (
const UWord inHDMIInput,
const bool inEnable);
6119 AJA_VIRTUAL bool AuxExtractGetFilterInclusionMode (
const UWord inHDMIInput,
bool & outEnabled);
6133 AJA_VIRTUAL bool AuxExtractGetBufferOverrun (
const UWord inHDMIInput,
bool & outIsOverrun,
const UWord inField = 0);
6141 AJA_VIRTUAL bool AuxExtractIsProgressive (
const UWord inHDMIInput,
bool & outIsProgressive);
6147 static UWord AuxExtractGetMaxNumPacketFilters (
void);
6153 static NTV2DIDSet AuxExtractGetDefaultPacketFilters (
void);
6183 AJA_VIRTUAL bool GetDieVoltage (
double & outVoltage);
6194 AJA_VIRTUAL std::string GetPCIFPGAVersionString (
void);
6213 AJA_VIRTUAL bool GetInstalledBitfileInfo (
ULWord & outNumBytes, std::string & outDateStr, std::string & outTimeStr);
6231 AJA_VIRTUAL bool IsFailSafeBitfileLoaded (
bool & outIsFailSafe);
6240 AJA_VIRTUAL bool CanWarmBootFPGA (
bool & outCanWarmBoot);
6269 AJA_VIRTUAL bool AddDynamicBitfile (
const std::string & inBitfilePath);
6277 AJA_VIRTUAL bool AddDynamicDirectory (
const std::string & inDirectory);
6292 } ColorCorrectionColor;
6369 AJA_VIRTUAL bool EnableHDMIHDR (
const bool inEnableHDMIHDR);
6380 AJA_VIRTUAL bool EnableHDMIHDRDolbyVision (
const bool inEnable);
6381 AJA_VIRTUAL bool GetHDMIHDRDolbyVisionEnabled (
void);
6389 AJA_VIRTUAL bool SetHDMIHDRConstantLuminance (
const bool inEnableConstantLuminance);
6390 AJA_VIRTUAL bool GetHDMIHDRConstantLuminance (
void);
6397 AJA_VIRTUAL bool SetHDMIHDRGreenPrimaryX (
const uint16_t inGreenPrimaryX);
6403 AJA_VIRTUAL bool GetHDMIHDRGreenPrimaryX (uint16_t & outGreenPrimaryX);
6410 AJA_VIRTUAL bool SetHDMIHDRGreenPrimaryY (
const uint16_t inGreenPrimaryY);
6416 AJA_VIRTUAL bool GetHDMIHDRGreenPrimaryY (uint16_t & outGreenPrimaryY);
6423 AJA_VIRTUAL bool SetHDMIHDRBluePrimaryX (
const uint16_t inBluePrimaryX);
6429 AJA_VIRTUAL bool GetHDMIHDRBluePrimaryX (uint16_t & outBluePrimaryX);
6436 AJA_VIRTUAL bool SetHDMIHDRBluePrimaryY (
const uint16_t inBluePrimaryY);
6442 AJA_VIRTUAL bool GetHDMIHDRBluePrimaryY (uint16_t & outBluePrimaryY);
6449 AJA_VIRTUAL bool SetHDMIHDRRedPrimaryX (
const uint16_t inRedPrimaryX);
6455 AJA_VIRTUAL bool GetHDMIHDRRedPrimaryX (uint16_t & outRedPrimaryX);
6462 AJA_VIRTUAL bool SetHDMIHDRRedPrimaryY (
const uint16_t inRedPrimaryY);
6468 AJA_VIRTUAL bool GetHDMIHDRRedPrimaryY (uint16_t & outRedPrimaryY);
6475 AJA_VIRTUAL bool SetHDMIHDRWhitePointX (
const uint16_t inWhitePointX);
6481 AJA_VIRTUAL bool GetHDMIHDRWhitePointX (uint16_t & outWhitePointX);
6488 AJA_VIRTUAL bool SetHDMIHDRWhitePointY (
const uint16_t inWhitePointY);
6494 AJA_VIRTUAL bool GetHDMIHDRWhitePointY (uint16_t & outWhitePointY);
6501 AJA_VIRTUAL bool SetHDMIHDRMaxMasteringLuminance (
const uint16_t inMaxMasteringLuminance);
6507 AJA_VIRTUAL bool GetHDMIHDRMaxMasteringLuminance (uint16_t & outMaxMasteringLuminance);
6514 AJA_VIRTUAL bool SetHDMIHDRMinMasteringLuminance (
const uint16_t inMinMasteringLuminance);
6520 AJA_VIRTUAL bool GetHDMIHDRMinMasteringLuminance (uint16_t & outMinMasteringLuminance);
6527 AJA_VIRTUAL bool SetHDMIHDRMaxContentLightLevel (
const uint16_t inMaxContentLightLevel);
6533 AJA_VIRTUAL bool GetHDMIHDRMaxContentLightLevel (uint16_t & outMaxContentLightLevel);
6540 AJA_VIRTUAL bool SetHDMIHDRMaxFrameAverageLightLevel (
const uint16_t inMaxFrameAverageLightLevel);
6546 AJA_VIRTUAL bool GetHDMIHDRMaxFrameAverageLightLevel (uint16_t & outMaxFrameAverageLightLevel);
6549 AJA_VIRTUAL bool SetHDMIHDRElectroOpticalTransferFunction (
const uint8_t inEOTFByte);
6550 AJA_VIRTUAL bool GetHDMIHDRElectroOpticalTransferFunction (uint8_t & outEOTFByte);
6551 AJA_VIRTUAL bool SetHDMIHDRStaticMetadataDescriptorID (
const uint8_t inSMDId);
6552 AJA_VIRTUAL bool GetHDMIHDRStaticMetadataDescriptorID (uint8_t & outSMDId);
6577 AJA_VIRTUAL bool SetMultiRasterBypassEnable (
const bool inEnable);
6578 AJA_VIRTUAL bool GetMultiRasterBypassEnable (
bool & outEnabled);
6584 #if !defined(NTV2_DEPRECATE_16_1)
6587 #endif // NTV2_DEPRECATE_16_1
6596 AJA_VIRTUAL bool IS_HDMI_INPUT_SPIGOT_INVALID (
const UWord inInputHDMIPort);
6597 AJA_VIRTUAL bool SetWarmBootFirmwareReload(
bool enable);
6627 #if !defined(NTV2_DEPRECATE_16_2)
6634 #endif // !defined(NTV2_DEPRECATE_16_2)
6636 #define SetTablesToHardware LoadLUTTables
6637 #define GetTablesFromHardware GetLUTTables
6754 bool HasFrameIndex (
const UWord inIndex)
const {
return mFrameTags.find(inIndex) != mFrameTags.end();}
6758 inline bool HasTag (
const UWord inIndex)
const {
return GetTagCount(inIndex) > 0;}
6759 inline bool HasConflicts (
const UWord inIndex)
const {
return GetTagCount(inIndex) > 1;}
6760 inline ULWord GetIntrinsicFrameByteCount (
void)
const {
return mIntrinsicSize;}
6779 std::ostream &
RawDump (std::ostream & oss)
const;
6786 std::ostream &
DumpBlocks (std::ostream & oss)
const;
6799 bool TagMemoryBlock (
const uint64_t inStartAddr,
const uint64_t inByteLength,
const std::string & inTag)
6805 typedef std::pair<UWord, NTV2StringSet> FrameTag;
6806 typedef std::map<UWord, NTV2StringSet> FrameTags;
6807 typedef FrameTags::const_iterator FrameTagsConstIter;
6810 FrameTags mFrameTags;
6816 #endif // NTV2CARD_H