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);
2094 AJA_VIRTUAL bool GetAudioOutputEmbedderState (
const NTV2Channel inSDIOutputConnector,
bool & outIsEnabled);
2105 AJA_VIRTUAL bool SetAudioOutputEmbedderState (
const NTV2Channel inSDIOutputConnector,
const bool & inEnable);
2183 AJA_VIRTUAL bool EnableBOBAnalogAudioIn (
bool inEnable);
2203 #if !defined(NTV2_DEPRECATE_16_0)
2207 AJA_VIRTUAL inline NTV2_DEPRECATED_f(
bool GetAudioOutputReset (
const NTV2AudioSystem inAudioSystem,
bool & outIsReset)) {
if(!IsAudioOutputRunning(inAudioSystem, outIsReset))
return false; outIsReset = !outIsReset;
return true; }
2209 AJA_VIRTUAL inline NTV2_DEPRECATED_f(
bool GetAudioInputReset (
const NTV2AudioSystem inAudioSystem,
bool & outIsReset)) {
if(!IsAudioInputRunning(inAudioSystem, outIsReset))
return false; outIsReset = !outIsReset;
return true; }
2210 #endif // !defined(NTV2_DEPRECATE_16_0)
2211 #if !defined(NTV2_DEPRECATE_16_1)
2217 #endif // !defined(NTV2_DEPRECATE_16_1)
2218 #if !defined(NTV2_DEPRECATE_16_3)
2220 #endif // !defined(NTV2_DEPRECATE_16_1)
2221 #if !defined(NTV2_DEPRECATE_17_0)
2223 #endif // !defined(NTV2_DEPRECATE_17_0)
2414 #if !defined(NTV2_DEPRECATE_16_3)
2417 #endif // !defined(NTV2_DEPRECATE_16_3)
2426 AJA_VIRTUAL bool ProgramMainFlash(
const std::string & inFileName,
const bool bInForceUpdate =
false,
const bool bInQuiet =
false);
2494 AJA_VIRTUAL bool GetRunningFirmwareDate (std::string & outDate, std::string & outTime);
2505 #if !defined(NTV2_DEPRECATE_16_0)
2511 #endif // !defined(NTV2_DEPRECATE_16_0)
2513 #if !defined(NTV2_DEPRECATE_17_0)
2524 #endif // !defined(NTV2_DEPRECATE_17_0)
3038 #if !defined (NTV2_DEPRECATE_16_0)
3041 #endif // NTV2_DEPRECATE_16_0
3100 const UWord inFrameCount = 7,
3102 const ULWord inOptionFlags = 0,
3103 const UByte inNumChannels = 1,
3104 const UWord inStartFrameNumber = 0,
3105 const UWord inEndFrameNumber = 0);
3150 const UWord inFrameCount = 7,
3152 const ULWord inOptionFlags = 0,
3153 const UByte inNumChannels = 1,
3154 const UWord inStartFrameNumber = 0,
3155 const UWord inEndFrameNumber = 0);
3390 #define NTV2_STREAM_SUCCESS(__status__) (__status__ == NTV2_STREAM_SUCCESS)
3392 #define NTV2_STREAM_FAIL(__status__) (__status__ != NTV2_STREAM_SUCCESS)
3470 #if defined(READREGMULTICHANGE)
3482 #endif // defined(READREGMULTICHANGE)
3518 AJA_VIRTUAL bool WriteVirtualData (
const ULWord inTag,
const void* inVirtualData,
const ULWord inVirtualDataSize);
3644 AJA_VIRTUAL bool GetNominalMinMaxHV (
int & outNominalH,
int & outMinH,
int & outMaxH,
int & outNominalV,
int & outMinV,
int & outMaxV);
3658 AJA_VIRTUAL bool SetVideoHOffset (
const int inHOffset,
const UWord inOutputSpigot = 0);
3670 AJA_VIRTUAL bool GetVideoHOffset (
int & outHOffset,
const UWord inOutputSpigot = 0);
3683 AJA_VIRTUAL bool SetVideoVOffset (
const int inVOffset,
const UWord inOutputSpigot = 0);
3695 AJA_VIRTUAL bool GetVideoVOffset (
int & outVOffset,
const UWord inOutputSpigot = 0);
3831 AJA_VIRTUAL bool SetEnableConverter (
const bool inValue);
3832 AJA_VIRTUAL bool GetEnableConverter (
bool & outValue);
4114 #if !defined(R2_DEPRECATE)
4125 static NTV2VideoFormat GetNTV2VideoFormat (
NTV2FrameRate frameRate,
UByte inputGeometry,
bool progressiveTransport,
bool isThreeG,
bool progressivePicture=
false);
4368 #if !defined(NTV2_DEPRECATE_17_0)
4370 #endif // !defined(NTV2_DEPRECATE_17_0)
4384 AJA_VIRTUAL bool WriteSDProcAmpControlsInitialized (
const ULWord inNewValue = 1);
4392 AJA_VIRTUAL bool WriteHDProcAmpControlsInitialized (
const ULWord inNewValue = 1);
4429 #if !defined(R2_DEPRECATE)
4584 AJA_VIRTUAL bool SetHDMIOut3DPresent (
const bool inIs3DPresent);
4585 AJA_VIRTUAL bool GetHDMIOut3DPresent (
bool & outIs3DPresent);
4590 AJA_VIRTUAL bool SetHDMIV2TxBypass (
const bool inBypass);
4618 AJA_VIRTUAL bool SetHDMIOutForceConfig (
const bool inNewValue);
4619 AJA_VIRTUAL bool GetHDMIOutForceConfig (
bool & outValue);
4621 AJA_VIRTUAL bool SetHDMIOutPrefer420 (
const bool inNewValue);
4622 AJA_VIRTUAL bool GetHDMIOutPrefer420 (
bool & outValue);
4713 AJA_VIRTUAL bool EnableHDMIOutUserOverride (
const bool inEnable);
4720 AJA_VIRTUAL bool GetEnableHDMIOutUserOverride (
bool & outIsEnabled);
4727 AJA_VIRTUAL bool EnableHDMIOutCenterCrop (
const bool inEnable);
4734 AJA_VIRTUAL bool GetEnableHDMIOutCenterCrop (
bool & outIsEnabled);
4743 AJA_VIRTUAL bool SetHDMIOutDecimateMode (
const bool inEnable);
4745 AJA_VIRTUAL bool GetHDMIOutDecimateMode (
bool & outIsEnabled);
4752 AJA_VIRTUAL bool SetHDMIOutTsiIO (
const bool inTsiEnable);
4754 AJA_VIRTUAL bool GetHDMIOutTsiIO (
bool & tsiEnabled);
4761 AJA_VIRTUAL bool SetHDMIOutLevelBMode (
const bool inEnable);
4763 AJA_VIRTUAL bool GetHDMIOutLevelBMode (
bool & outIsEnabled);
4819 AJA_VIRTUAL bool SetLTCInputEnable (
const bool inEnable);
4831 AJA_VIRTUAL bool GetLTCInputEnable (
bool & outIsEnabled);
4843 AJA_VIRTUAL bool GetLTCInputPresent (
bool & outIsPresent,
const UWord inLTCInputNdx = 0);
4937 #if !defined(NTV2_DEPRECATE_16_3)
4942 #endif // !defined(NTV2_DEPRECATE_16_3)
5156 AJA_VIRTUAL bool GetSDIWatchdogEnable (
bool & outIsEnabled,
const UWord inIndex0);
5171 AJA_VIRTUAL bool SetSDIWatchdogEnable (
const bool inEnable,
const UWord inIndex0);
5217 AJA_VIRTUAL bool Enable4KDCRGBMode(
bool inEnable);
5219 AJA_VIRTUAL bool GetEnable4KDCRGBMode(
bool & outIsEnabled);
5227 AJA_VIRTUAL bool Enable4KDCYCC444Mode(
bool inEnable);
5229 AJA_VIRTUAL bool GetEnable4KDCYCC444Mode(
bool & outIsEnabled);
5237 AJA_VIRTUAL bool Enable4KDCPSFInMode(
bool inEnable);
5239 AJA_VIRTUAL bool GetEnable4KDCPSFInMode(
bool & outIsEnabled);
5247 AJA_VIRTUAL bool Enable4KPSFOutMode(
bool inEnable);
5249 AJA_VIRTUAL bool GetEnable4KPSFOutMode(
bool & outIsEnabled);
5270 AJA_VIRTUAL bool SetSDIInLevelBtoLevelAConversion (
const UWord inInputSpigot,
const bool inEnable);
5278 AJA_VIRTUAL bool GetSDIInLevelBtoLevelAConversion (
const UWord inInputSpigot,
bool & outIsEnabled);
5287 AJA_VIRTUAL bool SetSDIOutLevelAtoLevelBConversion (
const UWord inOutputSpigot,
const bool inEnable);
5305 AJA_VIRTUAL bool GetSDIOutLevelAtoLevelBConversion (
const UWord inOutputSpigot,
bool & outIsEnabled);
5313 AJA_VIRTUAL bool SetSDIOutRGBLevelAConversion (
const UWord inOutputSpigot,
const bool inEnable);
5331 AJA_VIRTUAL bool GetSDIOutRGBLevelAConversion (
const UWord inOutputSpigot,
bool & outIsEnabled);
5385 AJA_VIRTUAL bool SetMultiFormatMode (
const bool inEnable);
5398 AJA_VIRTUAL bool GetMultiFormatMode (
bool & outIsEnabled);
5507 const bool inVancY,
const bool inVancC,
5508 const bool inHancY,
const bool inHancC);
5519 AJA_VIRTUAL bool AncInsertSetEnable (
const UWord inSDIOutput,
const bool inIsEnabled);
5528 AJA_VIRTUAL bool AncInsertIsEnabled (
const UWord inSDIOutput,
bool & outIsEnabled);
5587 AJA_VIRTUAL bool AncInsertGetReadInfo (
const UWord inSDIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr);
5621 const bool inVancY,
const bool inVancC,
5622 const bool inHancY,
const bool inHancC);
5634 AJA_VIRTUAL bool AncExtractSetEnable (
const UWord inSDIInput,
const bool inIsEnabled);
5644 AJA_VIRTUAL bool AncExtractIsEnabled (
const UWord inSDIInput,
bool & outIsEnabled);
5698 uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
5699 uint64_t & outF2StartAddr, uint64_t & outF2EndAddr);
5755 AJA_VIRTUAL bool AncExtractGetBufferOverrun (
const UWord inSDIInput,
bool & outIsOverrun,
const UWord inField = 0);
5764 AJA_VIRTUAL bool AncExtractIsProgressive (
const UWord inSDIInput,
bool & outIsProgressive);
5770 static UWord AncExtractGetMaxNumFilterDIDs (
void);
5779 static NTV2DIDSet AncExtractGetDefaultDIDs (
const bool inHDAudio =
true);
5826 const bool inVauxY,
const bool inVauxC,
5827 const bool inHauxY,
const bool inHauxC);
5837 AJA_VIRTUAL bool AuxInsertSetEnable (
const UWord inHDMIOutput,
const bool inIsEnabled);
5845 AJA_VIRTUAL bool AuxInsertIsEnabled (
const UWord inHDMIOutput,
bool & outIsEnabled);
5902 AJA_VIRTUAL bool AuxInsertGetReadInfo (
const UWord inHDMIOutput, uint64_t & outF1StartAddr, uint64_t & outF2StartAddr);
5930 AJA_VIRTUAL bool AuxExtractSetEnable (
const UWord inHDMIInput,
const bool inIsEnabled);
5939 AJA_VIRTUAL bool AuxExtractIsEnabled (
const UWord inHDMIInput,
bool & outIsEnabled);
5992 uint64_t & outF1StartAddr, uint64_t & outF1EndAddr,
5993 uint64_t & outF2StartAddr, uint64_t & outF2EndAddr);
6041 AJA_VIRTUAL bool AuxExtractSetFilterInclusionMode (
const UWord inHDMIInput,
const bool inEnable);
6050 AJA_VIRTUAL bool AuxExtractGetFilterInclusionMode (
const UWord inHDMIInput,
bool & outEnabled);
6064 AJA_VIRTUAL bool AuxExtractGetBufferOverrun (
const UWord inHDMIInput,
bool & outIsOverrun,
const UWord inField = 0);
6072 AJA_VIRTUAL bool AuxExtractIsProgressive (
const UWord inHDMIInput,
bool & outIsProgressive);
6078 static UWord AuxExtractGetMaxNumPacketFilters (
void);
6084 static NTV2DIDSet AuxExtractGetDefaultPacketFilters (
void);
6114 AJA_VIRTUAL bool GetDieVoltage (
double & outVoltage);
6125 AJA_VIRTUAL std::string GetPCIFPGAVersionString (
void);
6139 AJA_VIRTUAL bool GetInstalledBitfileInfo (
ULWord & outNumBytes, std::string & outDateStr, std::string & outTimeStr);
6157 AJA_VIRTUAL bool IsFailSafeBitfileLoaded (
bool & outIsFailSafe);
6166 AJA_VIRTUAL bool CanWarmBootFPGA (
bool & outCanWarmBoot);
6195 AJA_VIRTUAL bool AddDynamicBitfile (
const std::string & inBitfilePath);
6203 AJA_VIRTUAL bool AddDynamicDirectory (
const std::string & inDirectory);
6218 } ColorCorrectionColor;
6295 AJA_VIRTUAL bool EnableHDMIHDR (
const bool inEnableHDMIHDR);
6306 AJA_VIRTUAL bool EnableHDMIHDRDolbyVision (
const bool inEnable);
6307 AJA_VIRTUAL bool GetHDMIHDRDolbyVisionEnabled (
void);
6315 AJA_VIRTUAL bool SetHDMIHDRConstantLuminance (
const bool inEnableConstantLuminance);
6316 AJA_VIRTUAL bool GetHDMIHDRConstantLuminance (
void);
6323 AJA_VIRTUAL bool SetHDMIHDRGreenPrimaryX (
const uint16_t inGreenPrimaryX);
6329 AJA_VIRTUAL bool GetHDMIHDRGreenPrimaryX (uint16_t & outGreenPrimaryX);
6336 AJA_VIRTUAL bool SetHDMIHDRGreenPrimaryY (
const uint16_t inGreenPrimaryY);
6342 AJA_VIRTUAL bool GetHDMIHDRGreenPrimaryY (uint16_t & outGreenPrimaryY);
6349 AJA_VIRTUAL bool SetHDMIHDRBluePrimaryX (
const uint16_t inBluePrimaryX);
6355 AJA_VIRTUAL bool GetHDMIHDRBluePrimaryX (uint16_t & outBluePrimaryX);
6362 AJA_VIRTUAL bool SetHDMIHDRBluePrimaryY (
const uint16_t inBluePrimaryY);
6368 AJA_VIRTUAL bool GetHDMIHDRBluePrimaryY (uint16_t & outBluePrimaryY);
6375 AJA_VIRTUAL bool SetHDMIHDRRedPrimaryX (
const uint16_t inRedPrimaryX);
6381 AJA_VIRTUAL bool GetHDMIHDRRedPrimaryX (uint16_t & outRedPrimaryX);
6388 AJA_VIRTUAL bool SetHDMIHDRRedPrimaryY (
const uint16_t inRedPrimaryY);
6394 AJA_VIRTUAL bool GetHDMIHDRRedPrimaryY (uint16_t & outRedPrimaryY);
6401 AJA_VIRTUAL bool SetHDMIHDRWhitePointX (
const uint16_t inWhitePointX);
6407 AJA_VIRTUAL bool GetHDMIHDRWhitePointX (uint16_t & outWhitePointX);
6414 AJA_VIRTUAL bool SetHDMIHDRWhitePointY (
const uint16_t inWhitePointY);
6420 AJA_VIRTUAL bool GetHDMIHDRWhitePointY (uint16_t & outWhitePointY);
6427 AJA_VIRTUAL bool SetHDMIHDRMaxMasteringLuminance (
const uint16_t inMaxMasteringLuminance);
6433 AJA_VIRTUAL bool GetHDMIHDRMaxMasteringLuminance (uint16_t & outMaxMasteringLuminance);
6440 AJA_VIRTUAL bool SetHDMIHDRMinMasteringLuminance (
const uint16_t inMinMasteringLuminance);
6446 AJA_VIRTUAL bool GetHDMIHDRMinMasteringLuminance (uint16_t & outMinMasteringLuminance);
6453 AJA_VIRTUAL bool SetHDMIHDRMaxContentLightLevel (
const uint16_t inMaxContentLightLevel);
6459 AJA_VIRTUAL bool GetHDMIHDRMaxContentLightLevel (uint16_t & outMaxContentLightLevel);
6466 AJA_VIRTUAL bool SetHDMIHDRMaxFrameAverageLightLevel (
const uint16_t inMaxFrameAverageLightLevel);
6472 AJA_VIRTUAL bool GetHDMIHDRMaxFrameAverageLightLevel (uint16_t & outMaxFrameAverageLightLevel);
6475 AJA_VIRTUAL bool SetHDMIHDRElectroOpticalTransferFunction (
const uint8_t inEOTFByte);
6476 AJA_VIRTUAL bool GetHDMIHDRElectroOpticalTransferFunction (uint8_t & outEOTFByte);
6477 AJA_VIRTUAL bool SetHDMIHDRStaticMetadataDescriptorID (
const uint8_t inSMDId);
6478 AJA_VIRTUAL bool GetHDMIHDRStaticMetadataDescriptorID (uint8_t & outSMDId);
6503 AJA_VIRTUAL bool SetMultiRasterBypassEnable (
const bool inEnable);
6504 AJA_VIRTUAL bool GetMultiRasterBypassEnable (
bool & outEnabled);
6510 #if !defined(NTV2_DEPRECATE_16_1)
6513 #endif // NTV2_DEPRECATE_16_1
6522 AJA_VIRTUAL bool IS_HDMI_INPUT_SPIGOT_INVALID (
const UWord inInputHDMIPort);
6523 AJA_VIRTUAL bool SetWarmBootFirmwareReload(
bool enable);
6553 #if !defined(NTV2_DEPRECATE_16_2)
6560 #endif // !defined(NTV2_DEPRECATE_16_2)
6562 #define SetTablesToHardware LoadLUTTables
6563 #define GetTablesFromHardware GetLUTTables
6680 bool HasFrameIndex (
const UWord inIndex)
const {
return mFrameTags.find(inIndex) != mFrameTags.end();}
6684 inline bool HasTag (
const UWord inIndex)
const {
return GetTagCount(inIndex) > 0;}
6685 inline bool HasConflicts (
const UWord inIndex)
const {
return GetTagCount(inIndex) > 1;}
6686 inline ULWord GetIntrinsicFrameByteCount (
void)
const {
return mIntrinsicSize;}
6705 std::ostream &
RawDump (std::ostream & oss)
const;
6712 std::ostream &
DumpBlocks (std::ostream & oss)
const;
6725 bool TagMemoryBlock (
const uint64_t inStartAddr,
const uint64_t inByteLength,
const std::string & inTag)
6731 typedef std::pair<UWord, NTV2StringSet> FrameTag;
6732 typedef std::map<UWord, NTV2StringSet> FrameTags;
6733 typedef FrameTags::const_iterator FrameTagsConstIter;
6736 FrameTags mFrameTags;
6742 #endif // NTV2CARD_H