7 #ifndef NTV2LINUXDRIVERINTERFACE_H 8 #define NTV2LINUXDRIVERINTERFACE_H 16 #define CopyMemory(a,b,c) memcpy((a),(b),(c)) 38 const ULWord inFrameNumber,
40 const ULWord inCardOffsetBytes,
41 const ULWord inTotalByteCount,
42 const bool inSynchronous =
true);
46 const ULWord inFrameNumber,
48 const ULWord inCardOffsetBytes,
49 const ULWord inTotalByteCount,
50 const ULWord inNumSegments,
51 const ULWord inHostPitchPerSeg,
52 const ULWord inCardPitchPerSeg,
53 const bool inSynchronous =
true);
58 const ULWord inFrameNumber,
59 const ULWord inCardOffsetBytes,
61 const ULWord inNumSegments,
62 const ULWord inSegmentHostPitch,
63 const ULWord inSegmentCardPitch,
67 {(
void)bSubscribe; (
void)eInterruptType; (
void)hSubcription;
return true;}
76 #if !defined(NTV2_DEPRECATE_17_6) 89 #if !defined(NTV2_DEPRECATE_16_0) 122 #endif // defined(NTV2_DRIVER_ALLOCATED_BUFFERS) 126 #if !defined(NTV2_NULL_DEVICE) 130 #endif // !defined(NTV2_NULL_DEVICE) 135 #if !defined(NTV2_DEPRECATE_16_0) 141 #endif // !defined(NTV2_DEPRECATE_16_0) 144 #endif // NTV2LINUXDRIVERINTERFACE_H std::string _bitfileDirectory
virtual bool CloseLocalPhysical(void)
Releases host resources associated with the local/physical device connection.
virtual bool DmaReadWithOffsets(NTV2DMAEngine DMAEngine, ULWord frameNumber, ULWord *pFrameBuffer, ULWord offsetSrc, ULWord offsetDest, ULWord bytes)
virtual bool SetupBoard(void)
defined(NTV2_DEPRECATE_17_6)
virtual bool UnmapXena2Flash(void)
virtual bool UnmapDMADriverBuffer()
Declares the CNTV2DriverInterface base class.
virtual bool MapRegisters(void)
virtual bool NTV2Message(NTV2_HEADER *pInOutMessage)
Sends a message to the NTV2 driver (the new, improved, preferred way).
ULWord * _pDNXRegisterBaseAddress
#define NTV2_DEPRECATED_17_6(__f__)
virtual bool GetDMANumDriverBuffers(ULWord *pNumDmaDriverBuffers)
virtual bool GetStreamingApplication(ULWord &outAppType, int32_t &outPID)
NTV2_DriverDebugMessageSet
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
virtual bool DmaReadFrameDriverBuffer(NTV2DMAEngine DMAEngine, ULWord frameNumber, unsigned long dmaBufferFrame, ULWord bytes, ULWord downSample, ULWord linePitch, ULWord poll)
virtual bool RestoreHardwareProcampRegisters(void)
virtual bool ConfigureSubscription(const bool bSubscribe, const INTERRUPT_ENUMS eInterruptType, PULWord &hSubcription)
virtual bool GetInterruptCount(const INTERRUPT_ENUMS eInterrupt, ULWord &outCount)
Answers with the number of interrupts of the given type processed by the driver.
virtual bool GetStreamingApplication(ULWord &outAppType, int32_t &outProcessID)
Answers with the four-CC type and process ID of the application that currently "owns" the AJA device ...
I'm the base class that undergirds the platform-specific derived classes (from which CNTV2Card is ult...
virtual ~CNTV2LinuxDriverInterface()
virtual bool GetStreamingApplication(ULWord *pAppType, int32_t *pPID)
virtual bool GetDMADriverBufferPhysicalAddress(ULWord *physAddr)
virtual bool ControlDriverDebugMessages(NTV2_DriverDebugMessageSet msgSet, bool enable)
enum _INTERRUPT_ENUMS_ INTERRUPT_ENUMS
virtual bool MapXena2Flash(void)
virtual bool AutoCirculate(AUTOCIRCULATE_DATA &autoCircData)
Sends an AutoCirculate command to the NTV2 driver.
All new NTV2 structs start with this common header.
virtual bool DmaWriteWithOffsets(NTV2DMAEngine DMAEngine, ULWord frameNumber, ULWord *pFrameBuffer, ULWord offsetSrc, ULWord offsetDest, ULWord bytes)
virtual bool HevcSendMessage(HevcMessageHeader *pMsg)
NTV2_GlobalAudioPlaybackMode
CNTV2LinuxDriverInterface()
virtual bool UnmapRegisters(void)
virtual bool UnmapFrameBuffers(void)
virtual bool GetBA4MemorySize(ULWord *memSize)
virtual bool GetBA0MemorySize(ULWord *memSize)
virtual bool ConfigureInterrupt(const bool bEnable, const INTERRUPT_ENUMS eInterruptType)
virtual bool DmaTransfer(const NTV2DMAEngine inDMAEngine, const bool inIsRead, const ULWord inFrameNumber, ULWord *pFrameBuffer, const ULWord inCardOffsetBytes, const ULWord inTotalByteCount, const bool inSynchronous=(!(0)))
Transfers data between the AJA device and the host. This function will block and not return to the ca...
virtual bool UnmapDNXRegisters(void)
virtual bool WaitForInterrupt(INTERRUPT_ENUMS eInterrupt, ULWord timeOutMs=68)
virtual bool MapDNXRegisters(void)
std::vector< ULWord * > DMA_LOCKED_VEC
virtual bool GetBA2MemorySize(ULWord *memSize)
virtual bool SetAudioOutputMode(NTV2_GlobalAudioPlaybackMode mode)
virtual bool GetBA1MemorySize(ULWord *memSize)
#define NTV2_DEPRECATED_16_0(__f__)
virtual bool ReadRegister(const ULWord inRegNum, ULWord &outValue, const ULWord inMask=0xFFFFFFFF, const ULWord inShift=0)
Reads all or part of the 32-bit contents of a specific register (real or virtual) on the AJA device...
virtual bool WriteRegister(const ULWord inRegNum, const ULWord inValue, const ULWord inMask=0xFFFFFFFF, const ULWord inShift=0)
Updates or replaces all or part of the 32-bit contents of a specific register (real or virtual) on th...
virtual bool OpenLocalPhysical(const UWord inDeviceIndex)
Opens the local/physical device connection.
virtual bool MapDMADriverBuffer()
virtual bool MapFrameBuffers(void)
ULWord * _pDMADriverBufferAddress
virtual bool GetDMADriverBufferAddress(ULWord **pDMADriverBuffer)
virtual bool DmaWriteFrameDriverBuffer(NTV2DMAEngine DMAEngine, ULWord frameNumber, unsigned long dmaBufferFrame, ULWord bytes, ULWord poll)
Linux implementation of CNTV2DriverInterface.
virtual bool GetAudioOutputMode(NTV2_GlobalAudioPlaybackMode *mode)