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);
142 #if !defined(NTV2_DEPRECATE_16_3)
162 #endif // defined(NTV2_DEPRECATE_16_3)
285 const ULWord inCardOffsetBytes,
286 const ULWord inSegmentByteCount,
287 const ULWord inNumSegments,
288 const ULWord inSegmentHostPitch,
289 const ULWord inSegmentCardPitch);
307 const ULWord * pFrameBuffer,
308 const ULWord inOffsetBytes,
309 const ULWord inSegmentByteCount,
310 const ULWord inNumSegments,
311 const ULWord inSegmentHostPitch,
312 const ULWord inSegmentCardPitch);
327 ULWord segmentTargetPitch,
348 const ULWord inOffsetBytes,
349 const ULWord inByteCount);
367 const ULWord * pInAudioBuffer,
368 const ULWord inOffsetBytes,
369 const ULWord inByteCount);
452 AJA_VIRTUAL bool DMABufferLock (
const NTV2Buffer & inBuffer,
bool inMap =
false,
bool inRDMA =
false);
468 return DMABufferLock(
NTV2Buffer(pInBuffer, inByteCount), inMap, inRDMA);
489 return DMABufferUnlock(
NTV2Buffer(pInBuffer, inByteCount));
507 AJA_VIRTUAL bool DMABufferAutoLock (
const bool inEnable,
const bool inMap =
false,
const ULWord64 inMaxLockSize = 0);
521 const UWord inEndFrameNumber,
536 uint64_t & outAddress, uint64_t & outLength);
539 bool & outMultiFmt,
bool & outQuad,
bool & outQuadQuad,
bool & outSquares,
bool & outTSI,
540 uint64_t & outAddress, uint64_t & outLength);
587 #define AJA_RETAIL_DEFAULT true
588 #else // else !defined (AJAMac)
589 #define AJA_RETAIL_DEFAULT false
590 #endif // !defined (AJAMac)
700 AJA_VIRTUAL bool EnableFramePulseReference (
const bool inEnable);
709 AJA_VIRTUAL bool GetEnableFramePulseReference (
bool & outEnabled);
1080 AJA_VIRTUAL bool SetDualLinkOutputEnable (
const bool inIsEnabled);
1081 AJA_VIRTUAL bool GetDualLinkOutputEnable (
bool & outIsEnabled);
1083 AJA_VIRTUAL bool SetDualLinkInputEnable (
const bool inIsEnabled);
1084 AJA_VIRTUAL bool GetDualLinkInputEnable (
bool & outIsEnabled);
1188 #if !defined(NTV2_DEPRECATE_16_3)
1191 #endif // defined(NTV2_DEPRECATE_16_3)
1192 #if !defined(NTV2_DEPRECATE_16_2)
1199 #endif // !defined(NTV2_DEPRECATE_16_2)
1200 #if !defined(NTV2_DEPRECATE_16_0)
1204 #define Set425FrameEnable SetTsiFrameEnable // Replace calls to Set425FrameEnable with calls to SetTsiFrameEnable instead
1205 #define Get425FrameEnable GetTsiFrameEnable // Replace calls to Get425FrameEnable with calls to GetTsiFrameEnable instead
1206 #endif // NTV2_DEPRECATE_16_0
1223 AJA_VIRTUAL bool SetMixerVancOutputFromForeground (
const UWord inWhichMixer,
const bool inFromForegroundSource =
true);
1234 AJA_VIRTUAL bool GetMixerVancOutputFromForeground (
const UWord inWhichMixer,
bool & outIsFromForegroundSource);
1317 AJA_VIRTUAL bool GetMixerSyncStatus (
const UWord inWhichMixer,
bool & outIsSyncOK);
1326 AJA_VIRTUAL bool GetMixerFGMatteEnabled (
const UWord inWhichMixer,
bool & outIsEnabled);
1335 AJA_VIRTUAL bool SetMixerFGMatteEnabled (
const UWord inWhichMixer,
const bool inIsEnabled);
1344 AJA_VIRTUAL bool GetMixerBGMatteEnabled (
const UWord inWhichMixer,
bool & outIsEnabled);
1353 AJA_VIRTUAL bool SetMixerBGMatteEnabled (
const UWord inWhichMixer,
const bool inIsEnabled);
1379 AJA_VIRTUAL bool MixerHasRGBModeSupport (
const UWord inWhichMixer,
bool & outIsSupported);
1599 const NTV2AudioSystem inAudioSystem,
const bool inCaptureBuffer =
false);
2030 AJA_VIRTUAL bool GetSuspendHostAudio (
bool & outIsSuspended);
2040 AJA_VIRTUAL bool SetSuspendHostAudio (
const bool inSuspend);
2162 AJA_VIRTUAL bool EnableBOBAnalogAudioIn (
bool inEnable);
2182 #if !defined(NTV2_DEPRECATE_16_0)
2186 AJA_VIRTUAL inline NTV2_DEPRECATED_f(
bool GetAudioOutputReset (
const NTV2AudioSystem inAudioSystem,
bool & outIsReset)) {
if(!IsAudioOutputRunning(inAudioSystem, outIsReset))
return false; outIsReset = !outIsReset;
return true; }
2188 AJA_VIRTUAL inline NTV2_DEPRECATED_f(
bool GetAudioInputReset (
const NTV2AudioSystem inAudioSystem,
bool & outIsReset)) {
if(!IsAudioInputRunning(inAudioSystem, outIsReset))
return false; outIsReset = !outIsReset;
return true; }
2189 #endif // !defined(NTV2_DEPRECATE_16_0)
2190 #if !defined(NTV2_DEPRECATE_16_1)
2196 #endif // !defined(NTV2_DEPRECATE_16_1)
2197 #if !defined(NTV2_DEPRECATE_16_3)
2199 #endif // !defined(NTV2_DEPRECATE_16_1)
2200 #if !defined(NTV2_DEPRECATE_17_0)
2202 #endif // !defined(NTV2_DEPRECATE_17_0)
2203 #if !defined(NTV2_DEPRECATE_17_5)
2206 #endif // defined(NTV2_DEPRECATE_17_5)
2397 #if !defined(NTV2_DEPRECATE_16_3)
2400 #endif // !defined(NTV2_DEPRECATE_16_3)
2409 AJA_VIRTUAL bool ProgramMainFlash(
const std::string & inFileName,
const bool bInForceUpdate =
false,
const bool bInQuiet =
false);
2479 AJA_VIRTUAL bool GetRunningFirmwareDate (std::string & outDate, std::string & outTime);
2490 #if !defined(NTV2_DEPRECATE_16_0)
2496 #endif // !defined(NTV2_DEPRECATE_16_0)
2498 #if !defined(NTV2_DEPRECATE_17_0)
2509 #endif // !defined(NTV2_DEPRECATE_17_0)
3023 #if !defined (NTV2_DEPRECATE_16_0)
3026 #endif // NTV2_DEPRECATE_16_0
3085 const UWord inFrameCount = 7,
3087 const ULWord inOptionFlags = 0,
3088 const UByte inNumChannels = 1,
3089 const UWord inStartFrameNumber = 0,
3090 const UWord inEndFrameNumber = 0);
3135 const UWord inFrameCount = 7,
3137 const ULWord inOptionFlags = 0,
3138 const UByte inNumChannels = 1,
3139 const UWord inStartFrameNumber = 0,
3140 const UWord inEndFrameNumber = 0);
3375 #define NTV2_STREAM_SUCCESS(__status__) (__status__ == NTV2_STREAM_SUCCESS)
3377 #define NTV2_STREAM_FAIL(__status__) (__status__ != NTV2_STREAM_SUCCESS)
3465 #if defined(READREGMULTICHANGE)
3477 #endif // defined(READREGMULTICHANGE)
3513 AJA_VIRTUAL bool WriteVirtualData (
const ULWord inTag,
const void* inVirtualData,
const ULWord inVirtualDataSize);
3639 AJA_VIRTUAL bool GetNominalMinMaxHV (
int & outNominalH,
int & outMinH,
int & outMaxH,
int & outNominalV,
int & outMinV,
int & outMaxV);
3653 AJA_VIRTUAL bool SetVideoHOffset (
const int inHOffset,
const UWord inOutputSpigot = 0);
3665 AJA_VIRTUAL bool GetVideoHOffset (
int & outHOffset,
const UWord inOutputSpigot = 0);
3678 AJA_VIRTUAL bool SetVideoVOffset (
const int inVOffset,
const UWord inOutputSpigot = 0);
3690 AJA_VIRTUAL bool GetVideoVOffset (
int & outVOffset,
const UWord inOutputSpigot = 0);
3826 AJA_VIRTUAL bool SetEnableConverter (
const bool inValue);
3827 AJA_VIRTUAL bool GetEnableConverter (
bool & outValue);
4109 #if !defined(R2_DEPRECATE)
4120 static NTV2VideoFormat GetNTV2VideoFormat (
NTV2FrameRate frameRate,
UByte inputGeometry,
bool progressiveTransport,
bool isThreeG,
bool progressivePicture=
false);
4404 #if !defined(NTV2_DEPRECATE_17_0)
4406 #endif // !defined(NTV2_DEPRECATE_17_0)
4420 AJA_VIRTUAL bool WriteSDProcAmpControlsInitialized (
const ULWord inNewValue = 1);
4428 AJA_VIRTUAL bool WriteHDProcAmpControlsInitialized (
const ULWord inNewValue = 1);
4465 #if !defined(R2_DEPRECATE)
4620 AJA_VIRTUAL bool SetHDMIOut3DPresent (
const bool inIs3DPresent);
4621 AJA_VIRTUAL bool GetHDMIOut3DPresent (
bool & outIs3DPresent);
4626 AJA_VIRTUAL bool SetHDMIV2TxBypass (
const bool inBypass);
4654 AJA_VIRTUAL bool SetHDMIOutForceConfig (
const bool inNewValue);
4655 AJA_VIRTUAL bool GetHDMIOutForceConfig (
bool & outValue);
4657 AJA_VIRTUAL bool SetHDMIOutPrefer420 (
const bool inNewValue);
4658 AJA_VIRTUAL bool GetHDMIOutPrefer420 (
bool & outValue);
4749 AJA_VIRTUAL bool EnableHDMIOutUserOverride (
const bool inEnable);
4756 AJA_VIRTUAL bool GetEnableHDMIOutUserOverride (
bool & outIsEnabled);
4763 AJA_VIRTUAL bool EnableHDMIOutCenterCrop (
const bool inEnable);
4770 AJA_VIRTUAL bool GetEnableHDMIOutCenterCrop (
bool & outIsEnabled);
4779 AJA_VIRTUAL bool SetHDMIOutDecimateMode (
const bool inEnable);
4781 AJA_VIRTUAL bool GetHDMIOutDecimateMode (
bool & outIsEnabled);
4788 AJA_VIRTUAL bool SetHDMIOutTsiIO (
const bool inTsiEnable);
4790 AJA_VIRTUAL bool GetHDMIOutTsiIO (
bool & tsiEnabled);
4797 AJA_VIRTUAL bool SetHDMIOutLevelBMode (
const bool inEnable);
4799 AJA_VIRTUAL bool GetHDMIOutLevelBMode (
bool & outIsEnabled);
4855 AJA_VIRTUAL bool SetLTCInputEnable (
const bool inEnable);
4867 AJA_VIRTUAL bool GetLTCInputEnable (
bool & outIsEnabled);
4879 AJA_VIRTUAL bool GetLTCInputPresent (
bool & outIsPresent,
const UWord inLTCInputNdx = 0);
4973 #if !defined(NTV2_DEPRECATE_16_3)
4978 #endif // !defined(NTV2_DEPRECATE_16_3)
5215 AJA_VIRTUAL bool GetSDIWatchdogEnable (
bool & outIsEnabled,
const UWord inIndex0);
5230 AJA_VIRTUAL bool SetSDIWatchdogEnable (
const bool inEnable,
const UWord inIndex0);
5276 AJA_VIRTUAL bool Enable4KDCRGBMode(
bool inEnable);
5278 AJA_VIRTUAL bool GetEnable4KDCRGBMode(
bool & outIsEnabled);
5286 AJA_VIRTUAL bool Enable4KDCYCC444Mode(
bool inEnable);
5288 AJA_VIRTUAL bool GetEnable4KDCYCC444Mode(
bool & outIsEnabled);
5296 AJA_VIRTUAL bool Enable4KDCPSFInMode(
bool inEnable);
5298 AJA_VIRTUAL bool GetEnable4KDCPSFInMode(
bool & outIsEnabled);
5306 AJA_VIRTUAL bool Enable4KPSFOutMode(
bool inEnable);
5308 AJA_VIRTUAL bool GetEnable4KPSFOutMode(
bool & outIsEnabled);
5329 AJA_VIRTUAL bool SetSDIInLevelBtoLevelAConversion (
const UWord inInputSpigot,
const bool inEnable);
5337 AJA_VIRTUAL bool GetSDIInLevelBtoLevelAConversion (
const UWord inInputSpigot,
bool & outIsEnabled);
5346 AJA_VIRTUAL bool SetSDIOutLevelAtoLevelBConversion (
const UWord inOutputSpigot,
const bool inEnable);
5364 AJA_VIRTUAL bool GetSDIOutLevelAtoLevelBConversion (
const UWord inOutputSpigot,
bool & outIsEnabled);
5372 AJA_VIRTUAL bool SetSDIOutRGBLevelAConversion (
const UWord inOutputSpigot,
const bool inEnable);
5390 AJA_VIRTUAL bool GetSDIOutRGBLevelAConversion (
const UWord inOutputSpigot,
bool & outIsEnabled);
5444 AJA_VIRTUAL bool SetMultiFormatMode (
const bool inEnable);
5457 AJA_VIRTUAL bool GetMultiFormatMode (
bool & outIsEnabled);
5566 const bool inVancY,
const bool inVancC,
5567 const bool inHancY,
const bool inHancC);
5578 AJA_VIRTUAL bool AncInsertSetEnable (
const UWord inSDIOutput,
const bool inIsEnabled);
5587 AJA_VIRTUAL bool AncInsertIsEnabled (
const UWord inSDIOutput,
bool & outIsEnabled);
5646 AJA_VIRTUAL bool AncInsertGetReadInfo (
const UWord inSDIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr);
5680 const bool inVancY,
const bool inVancC,
5681 const bool inHancY,
const bool inHancC);
5693 AJA_VIRTUAL bool AncExtractSetEnable (
const UWord inSDIInput,
const bool inIsEnabled);
5703 AJA_VIRTUAL bool AncExtractIsEnabled (
const UWord inSDIInput,
bool & outIsEnabled);
5757 uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
5758 uint64_t & outF2StartAddr, uint64_t & outF2EndAddr);
5814 AJA_VIRTUAL bool AncExtractGetBufferOverrun (
const UWord inSDIInput,
bool & outIsOverrun,
const UWord inField = 0);
5823 AJA_VIRTUAL bool AncExtractIsProgressive (
const UWord inSDIInput,
bool & outIsProgressive);
5829 static UWord AncExtractGetMaxNumFilterDIDs (
void);
5838 static NTV2DIDSet AncExtractGetDefaultDIDs (
const bool inHDAudio =
true);
5885 const bool inVauxY,
const bool inVauxC,
5886 const bool inHauxY,
const bool inHauxC);
5896 AJA_VIRTUAL bool AuxInsertSetEnable (
const UWord inHDMIOutput,
const bool inIsEnabled);
5904 AJA_VIRTUAL bool AuxInsertIsEnabled (
const UWord inHDMIOutput,
bool & outIsEnabled);
5961 AJA_VIRTUAL bool AuxInsertGetReadInfo (
const UWord inHDMIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr);
5989 AJA_VIRTUAL bool AuxExtractSetEnable (
const UWord inHDMIInput,
const bool inIsEnabled);
5998 AJA_VIRTUAL bool AuxExtractIsEnabled (
const UWord inHDMIInput,
bool & outIsEnabled);
6051 uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
6052 uint64_t & outF2StartAddr, uint64_t & outF2EndAddr);
6100 AJA_VIRTUAL bool AuxExtractSetFilterInclusionMode (
const UWord inHDMIInput,
const bool inEnable);
6109 AJA_VIRTUAL bool AuxExtractGetFilterInclusionMode (
const UWord inHDMIInput,
bool & outEnabled);
6123 AJA_VIRTUAL bool AuxExtractGetBufferOverrun (
const UWord inHDMIInput,
bool & outIsOverrun,
const UWord inField = 0);
6131 AJA_VIRTUAL bool AuxExtractIsProgressive (
const UWord inHDMIInput,
bool & outIsProgressive);
6137 static UWord AuxExtractGetMaxNumPacketFilters (
void);
6143 static NTV2DIDSet AuxExtractGetDefaultPacketFilters (
void);
6173 AJA_VIRTUAL bool GetDieVoltage (
double & outVoltage);
6184 AJA_VIRTUAL std::string GetPCIFPGAVersionString (
void);
6203 AJA_VIRTUAL bool GetInstalledBitfileInfo (
ULWord & outNumBytes, std::string & outDateStr, std::string & outTimeStr);
6221 AJA_VIRTUAL bool IsFailSafeBitfileLoaded (
bool & outIsFailSafe);
6230 AJA_VIRTUAL bool CanWarmBootFPGA (
bool & outCanWarmBoot);
6259 AJA_VIRTUAL bool AddDynamicBitfile (
const std::string & inBitfilePath);
6267 AJA_VIRTUAL bool AddDynamicDirectory (
const std::string & inDirectory);
6282 } ColorCorrectionColor;
6359 AJA_VIRTUAL bool EnableHDMIHDR (
const bool inEnableHDMIHDR);
6370 AJA_VIRTUAL bool EnableHDMIHDRDolbyVision (
const bool inEnable);
6371 AJA_VIRTUAL bool GetHDMIHDRDolbyVisionEnabled (
void);
6379 AJA_VIRTUAL bool SetHDMIHDRConstantLuminance (
const bool inEnableConstantLuminance);
6380 AJA_VIRTUAL bool GetHDMIHDRConstantLuminance (
void);
6387 AJA_VIRTUAL bool SetHDMIHDRGreenPrimaryX (
const uint16_t inGreenPrimaryX);
6393 AJA_VIRTUAL bool GetHDMIHDRGreenPrimaryX (uint16_t & outGreenPrimaryX);
6400 AJA_VIRTUAL bool SetHDMIHDRGreenPrimaryY (
const uint16_t inGreenPrimaryY);
6406 AJA_VIRTUAL bool GetHDMIHDRGreenPrimaryY (uint16_t & outGreenPrimaryY);
6413 AJA_VIRTUAL bool SetHDMIHDRBluePrimaryX (
const uint16_t inBluePrimaryX);
6419 AJA_VIRTUAL bool GetHDMIHDRBluePrimaryX (uint16_t & outBluePrimaryX);
6426 AJA_VIRTUAL bool SetHDMIHDRBluePrimaryY (
const uint16_t inBluePrimaryY);
6432 AJA_VIRTUAL bool GetHDMIHDRBluePrimaryY (uint16_t & outBluePrimaryY);
6439 AJA_VIRTUAL bool SetHDMIHDRRedPrimaryX (
const uint16_t inRedPrimaryX);
6445 AJA_VIRTUAL bool GetHDMIHDRRedPrimaryX (uint16_t & outRedPrimaryX);
6452 AJA_VIRTUAL bool SetHDMIHDRRedPrimaryY (
const uint16_t inRedPrimaryY);
6458 AJA_VIRTUAL bool GetHDMIHDRRedPrimaryY (uint16_t & outRedPrimaryY);
6465 AJA_VIRTUAL bool SetHDMIHDRWhitePointX (
const uint16_t inWhitePointX);
6471 AJA_VIRTUAL bool GetHDMIHDRWhitePointX (uint16_t & outWhitePointX);
6478 AJA_VIRTUAL bool SetHDMIHDRWhitePointY (
const uint16_t inWhitePointY);
6484 AJA_VIRTUAL bool GetHDMIHDRWhitePointY (uint16_t & outWhitePointY);
6491 AJA_VIRTUAL bool SetHDMIHDRMaxMasteringLuminance (
const uint16_t inMaxMasteringLuminance);
6497 AJA_VIRTUAL bool GetHDMIHDRMaxMasteringLuminance (uint16_t & outMaxMasteringLuminance);
6504 AJA_VIRTUAL bool SetHDMIHDRMinMasteringLuminance (
const uint16_t inMinMasteringLuminance);
6510 AJA_VIRTUAL bool GetHDMIHDRMinMasteringLuminance (uint16_t & outMinMasteringLuminance);
6517 AJA_VIRTUAL bool SetHDMIHDRMaxContentLightLevel (
const uint16_t inMaxContentLightLevel);
6523 AJA_VIRTUAL bool GetHDMIHDRMaxContentLightLevel (uint16_t & outMaxContentLightLevel);
6530 AJA_VIRTUAL bool SetHDMIHDRMaxFrameAverageLightLevel (
const uint16_t inMaxFrameAverageLightLevel);
6536 AJA_VIRTUAL bool GetHDMIHDRMaxFrameAverageLightLevel (uint16_t & outMaxFrameAverageLightLevel);
6539 AJA_VIRTUAL bool SetHDMIHDRElectroOpticalTransferFunction (
const uint8_t inEOTFByte);
6540 AJA_VIRTUAL bool GetHDMIHDRElectroOpticalTransferFunction (uint8_t & outEOTFByte);
6541 AJA_VIRTUAL bool SetHDMIHDRStaticMetadataDescriptorID (
const uint8_t inSMDId);
6542 AJA_VIRTUAL bool GetHDMIHDRStaticMetadataDescriptorID (uint8_t & outSMDId);
6567 AJA_VIRTUAL bool SetMultiRasterBypassEnable (
const bool inEnable);
6568 AJA_VIRTUAL bool GetMultiRasterBypassEnable (
bool & outEnabled);
6574 #if !defined(NTV2_DEPRECATE_16_1)
6577 #endif // NTV2_DEPRECATE_16_1
6586 AJA_VIRTUAL bool IS_HDMI_INPUT_SPIGOT_INVALID (
const UWord inInputHDMIPort);
6587 AJA_VIRTUAL bool SetWarmBootFirmwareReload(
bool enable);
6617 #if !defined(NTV2_DEPRECATE_16_2)
6624 #endif // !defined(NTV2_DEPRECATE_16_2)
6626 #define SetTablesToHardware LoadLUTTables
6627 #define GetTablesFromHardware GetLUTTables
6744 bool HasFrameIndex (
const UWord inIndex)
const {
return mFrameTags.find(inIndex) != mFrameTags.end();}
6748 inline bool HasTag (
const UWord inIndex)
const {
return GetTagCount(inIndex) > 0;}
6749 inline bool HasConflicts (
const UWord inIndex)
const {
return GetTagCount(inIndex) > 1;}
6750 inline ULWord GetIntrinsicFrameByteCount (
void)
const {
return mIntrinsicSize;}
6769 std::ostream &
RawDump (std::ostream & oss)
const;
6776 std::ostream &
DumpBlocks (std::ostream & oss)
const;
6789 bool TagMemoryBlock (
const uint64_t inStartAddr,
const uint64_t inByteLength,
const std::string & inTag)
6795 typedef std::pair<UWord, NTV2StringSet> FrameTag;
6796 typedef std::map<UWord, NTV2StringSet> FrameTags;
6797 typedef FrameTags::const_iterator FrameTagsConstIter;
6800 FrameTags mFrameTags;
6806 #endif // NTV2CARD_H