AJA NTV2 SDK
17.1.3.1410
NTV2 SDK 17.1.3.1410
|
Physical device implementations of CNTV2DriverInterface methods through AJA Windows driver. More...
#include <ntv2windriverinterface.h>
Public Member Functions | |
CNTV2WinDriverInterface () | |
My default constructor. More... | |
virtual | ~CNTV2WinDriverInterface () |
My default destructor. More... | |
virtual bool | WriteRegister (const ULWord inRegNum, const ULWord inValue, const ULWord inMask=0xFFFFFFFF, const ULWord inShift=0) |
Physical device implementation of CNTV2DriverInterface::WriteRegister. More... | |
virtual bool | ReadRegister (const ULWord inRegNum, ULWord &outValue, const ULWord inMask=0xFFFFFFFF, const ULWord inShift=0) |
Physical device implementation of CNTV2DriverInterface::ReadRegister. More... | |
virtual bool | DmaTransfer (const NTV2DMAEngine inDMAEngine, const bool inIsRead, const ULWord inFrameNumber, ULWord *pFrameBuffer, const ULWord inCardOffsetBytes, const ULWord inByteCount, const bool inSynchronous=(!(0))) |
Transfers data between the AJA device and the host. This function will block and not return to the caller until the transfer has finished or failed. More... | |
virtual bool | DmaTransfer (const NTV2DMAEngine inDMAEngine, const bool inIsRead, const ULWord inFrameNumber, ULWord *pFrameBuffer, const ULWord inCardOffsetBytes, const ULWord inByteCount, const ULWord inNumSegments, const ULWord inSegmentHostPitch, const ULWord inSegmentCardPitch, const bool inSynchronous=(!(0))) |
Transfers data in segments between the AJA device and the host. This function will block and not return to the caller until the transfer has finished or failed. More... | |
virtual bool | DmaTransfer (const NTV2DMAEngine inDMAEngine, const NTV2Channel inDMAChannel, const bool inIsTarget, const ULWord inFrameNumber, const ULWord inCardOffsetBytes, const ULWord inByteCount, const ULWord inNumSegments, const ULWord inSegmentHostPitch, const ULWord inSegmentCardPitch, const PCHANNEL_P2P_STRUCT &inP2PData) |
virtual bool | ConfigureInterrupt (const bool bEnable, const INTERRUPT_ENUMS eInterruptType) |
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. More... | |
virtual bool | WaitForInterrupt (const INTERRUPT_ENUMS eInterruptType, const ULWord timeOutMs=50) |
virtual bool | AutoCirculate (AUTOCIRCULATE_DATA &autoCircData) |
Sends an AutoCirculate command to the NTV2 driver. More... | |
virtual bool | NTV2Message (NTV2_HEADER *pInMessage) |
Sends a message to the NTV2 driver (the new, improved, preferred way). More... | |
virtual bool | HevcSendMessage (HevcMessageHeader *pMessage) |
Sends an HEVC message to the NTV2 driver. More... | |
virtual bool | ControlDriverDebugMessages (NTV2_DriverDebugMessageSet msgSet, bool enable) |
virtual bool | SetAudioOutputMode (NTV2_GlobalAudioPlaybackMode mode) |
virtual bool | GetAudioOutputMode (NTV2_GlobalAudioPlaybackMode *mode) |
virtual bool | DriverGetBitFileInformation (BITFILE_INFO_STRUCT &outBitfileInfo, const NTV2BitFileType inBitfileType=NTV2_VideoProcBitFile) |
Answers with the currently-installed bitfile information. More... | |
virtual bool | DriverSetBitFileInformation (const BITFILE_INFO_STRUCT &inBitfileInfo) |
virtual bool | RestoreHardwareProcampRegisters (void) |
virtual bool | MapFrameBuffers (void) |
virtual bool | UnmapFrameBuffers (void) |
virtual bool | MapRegisters (void) |
virtual bool | UnmapRegisters (void) |
virtual bool | MapXena2Flash (void) |
virtual bool | UnmapXena2Flash (void) |
virtual bool | MapMemory (PVOID pvUserVa, ULWord ulNumBytes, bool bMap, ULWord *ulUser=NULL) |
virtual bool | DmaUnlock (void) |
virtual bool | CompleteMemoryForDMA (ULWord *pFrameBuffer) |
virtual bool | PrepareMemoryForDMA (ULWord *pFrameBuffer, const ULWord ulNumBytes) |
Public Member Functions inherited from CNTV2DriverInterface | |
virtual ULWord | GetNumFrameBuffers (void) const |
virtual ULWord | GetFrameBufferSize (void) const |
virtual bool | DriverGetBuildInformation (BUILD_INFO_STRUCT &outBuildInfo) |
Answers with the driver's build information. More... | |
virtual bool | GetPackageInformation (PACKAGE_INFO_STRUCT &outPkgInfo) |
Answers with the IP device's package information. More... | |
virtual bool | BitstreamWrite (const NTV2Buffer &inBuffer, const bool inFragment, const bool inSwap) |
virtual bool | BitstreamReset (const bool inConfiguration, const bool inInterface) |
virtual bool | BitstreamStatus (NTV2ULWordVector &outRegValues) |
virtual bool | BitstreamLoad (const bool inSuspend, const bool inResume) |
virtual bool | StreamChannelOps (const NTV2Channel inChannel, ULWord flags, NTV2StreamChannel &status) |
virtual bool | StreamBufferOps (const NTV2Channel inChannel, NTV2Buffer &inBuffer, ULWord64 bufferCookie, ULWord flags, NTV2StreamBuffer &status) |
virtual bool | ReadRP188Registers (const NTV2Channel inChannel, RP188_STRUCT *pRP188Data) |
virtual std::string | GetDescription (void) const |
virtual NTV2Dictionary | ConnectParams (void) const |
virtual bool | SuspendAudio (void) |
virtual bool | ResumeAudio (const ULWord inFBSize) |
virtual bool | ReadRegisterMulti (const ULWord numRegs, ULWord *pOutWhichRegFailed, NTV2RegInfo aRegs[]) |
virtual Word | SleepMs (const LWord msec) |
virtual NTV2DeviceID | GetDeviceID (void) |
virtual bool | IsDeviceReady (const bool inCheckValid=(0)) |
virtual bool | IsMBSystemValid (void) |
virtual bool | IsMBSystemReady (void) |
virtual bool | Open (const UWord inDeviceIndex) |
Opens a local/physical AJA device so it can be monitored/controlled. More... | |
virtual bool | Open (const std::string &inURLSpec) |
Opens the specified local, remote or software device. More... | |
virtual bool | Close (void) |
Closes me, releasing host resources that may have been allocated in a previous Open call. More... | |
template<typename T > | |
bool | ReadRegister (const ULWord inRegNum, T &outValue, const ULWord inMask=0xFFFFFFFF, const ULWord inShift=0) |
This template function reads all or part of the 32-bit contents of a specific register (real or virtual) from the AJA device, and if successful, returns its value automatically casted to the scalar type of the "outValue" parameter. More... | |
virtual bool | ReadRegisters (NTV2RegisterReads &inOutValues) |
Reads the register(s) specified by the given NTV2RegInfo sequence. More... | |
virtual HANDLE | GetInterruptEvent (const INTERRUPT_ENUMS eInterruptType) |
virtual bool | GetInterruptEventCount (const INTERRUPT_ENUMS inEventCode, ULWord &outCount) |
Answers with the number of interrupt events that I successfully waited for. More... | |
virtual bool | SetInterruptEventCount (const INTERRUPT_ENUMS inEventCode, const ULWord inCount) |
Resets my interrupt event tally for the given interrupt type. (This is my count of the number of successful event waits.) More... | |
virtual bool | IsSupported (const NTV2BoolParamID inParamID) |
virtual ULWord | GetNumSupported (const NTV2NumericParamID inParamID) |
virtual ULWordSet | GetSupportedItems (const NTV2EnumsID inEnumsID) |
virtual bool | AcquireStreamForApplicationWithReference (const ULWord inAppType, const int32_t inProcessID) |
A reference-counted version of CNTV2DriverInterface::AcquireStreamForApplication useful for process groups. More... | |
virtual bool | ReleaseStreamForApplicationWithReference (const ULWord inAppType, const int32_t inProcessID) |
A reference-counted version of CNTV2DriverInterface::ReleaseStreamForApplication useful for process groups. More... | |
virtual bool | AcquireStreamForApplication (const ULWord inAppType, const int32_t inProcessID) |
Reserves exclusive use of the AJA device for a given process, preventing other processes on the host from acquiring it until subsequently released. More... | |
virtual bool | ReleaseStreamForApplication (const ULWord inAppType, const int32_t inProcessID) |
Releases exclusive use of the AJA device for the given process, permitting other processes to acquire it. More... | |
virtual bool | SetStreamingApplication (const ULWord inAppType, const int32_t inProcessID) |
Sets the four-CC type and process ID of the application that should "own" the AJA device (i.e. reserve it for exclusive use). More... | |
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.e. reserved it for exclusive use). More... | |
virtual bool | GetRecordedRegisterWrites (NTV2RegisterWrites &outRegWrites) const |
Answers with the recorded register writes. More... | |
virtual bool | StartRecordRegisterWrites (const bool inSkipActualWrites=(0)) |
Starts recording all WriteRegister calls. More... | |
virtual bool | IsRecordingRegisterWrites (void) const |
virtual bool | StopRecordRegisterWrites (void) |
Stops recording all WriteRegister calls. More... | |
virtual bool | PauseRecordRegisterWrites (void) |
Pauses recording WriteRegister calls. More... | |
virtual bool | ResumeRecordRegisterWrites (void) |
Resumes recording WriteRegister calls (after a prior call to PauseRecordRegisterWrites). More... | |
virtual ULWord | GetNumRecordedRegisterWrites (void) const |
CNTV2DriverInterface () | |
My default constructor. More... | |
virtual | ~CNTV2DriverInterface () |
My destructor. More... | |
Protected Types | |
typedef std::vector< ULWord * > | DMA_LOCKED_VEC |
Protected Types inherited from CNTV2DriverInterface | |
typedef std::vector< ULWord > | _EventCounts |
typedef std::vector< PULWord > | _EventHandles |
Protected Member Functions | |
virtual bool | OpenLocalPhysical (const UWord inDeviceIndex) |
Opens the local/physical device connection. More... | |
virtual bool | CloseLocalPhysical (void) |
Releases host resources associated with the local/physical device connection. More... | |
Protected Member Functions inherited from CNTV2DriverInterface | |
virtual bool | OpenRemote (const std::string &inURLSpec) |
Peforms the housekeeping details of opening the specified local, remote or software device. More... | |
virtual bool | CloseRemote (void) |
Releases host resources associated with the remote/special device connection. More... | |
virtual bool | ParseFlashHeader (BITFILE_INFO_STRUCT &outBitfileInfo) |
virtual bool | GetBoolParam (const ULWord inParamID, ULWord &outValue) |
virtual bool | GetNumericParam (const ULWord inParamID, ULWord &outValue) |
virtual bool | GetRegInfoForBoolParam (const NTV2BoolParamID inParamID, NTV2RegInfo &outRegInfo) |
Answers with the NTV2RegInfo of the register associated with the given boolean (i.e., "Can Do") device feature. More... | |
virtual bool | GetRegInfoForNumericParam (const NTV2NumericParamID inParamID, NTV2RegInfo &outRegInfo) |
Answers with the NTV2RegInfo of the register associated with the given numeric (i.e., "Get Num") device feature. More... | |
virtual void | BumpEventCount (const INTERRUPT_ENUMS eInterruptType) |
Atomically increments the event count tally for the given interrupt type. More... | |
virtual void | FinishOpen (void) |
Initializes my member variables after a successful Open. More... | |
virtual bool | ReadFlashULWord (const ULWord inAddress, ULWord &outValue, const ULWord inRetryCount=1000) |
Additional Inherited Members | |
Static Public Member Functions inherited from CNTV2DriverInterface | |
static NTV2StringList | GetLegalSchemeNames (void) |
static void | SetShareMode (const bool inSharedMode) |
Specifies if subsequent Open calls should open the device in shared mode or not. More... | |
static bool | GetShareMode (void) |
static void | SetOverlappedMode (const bool inOverlapMode) |
Specifies if the next Open call should try to open the device in overlapped mode or not. More... | |
static bool | GetOverlappedMode (void) |
Physical device implementations of CNTV2DriverInterface methods through AJA Windows driver.
Definition at line 31 of file ntv2windriverinterface.h.
|
protected |
Definition at line 123 of file ntv2windriverinterface.h.
CNTV2WinDriverInterface::CNTV2WinDriverInterface | ( | ) |
My default constructor.
Definition at line 147 of file ntv2windriverinterface.cpp.
|
virtual |
My default destructor.
Definition at line 161 of file ntv2windriverinterface.cpp.
|
virtual |
Sends an AutoCirculate command to the NTV2 driver.
pAutoCircData | Points to the AUTOCIRCULATE_DATA that contains the AutoCirculate API command and parameters. |
Reimplemented from CNTV2DriverInterface.
Definition at line 1012 of file ntv2windriverinterface.cpp.
|
protectedvirtual |
Releases host resources associated with the local/physical device connection.
Reimplemented from CNTV2DriverInterface.
Definition at line 262 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 808 of file ntv2windriverinterface.cpp.
|
virtual |
Reimplemented from CNTV2DriverInterface.
Definition at line 392 of file ntv2windriverinterface.cpp.
|
virtual |
Reimplemented from CNTV2DriverInterface.
Definition at line 420 of file ntv2windriverinterface.cpp.
|
inlinevirtual |
Reimplemented from CNTV2DriverInterface.
Definition at line 78 of file ntv2windriverinterface.h.
|
virtual |
Transfers data between the AJA device and the host. This function will block and not return to the caller until the transfer has finished or failed.
[in] | inDMAEngine | Specifies the device DMA engine to use. Use NTV2_DMA_FIRST_AVAILABLE for most applications. (Use the NTV2DeviceGetNumDMAEngines function to determine how many are available.) |
[in] | inIsRead | Specifies the transfer direction. Use 'true' for reading (device-to-host). Use 'false' for writing (host-to-device). |
[in] | inFrameNumber | Specifies the zero-based frame number of the starting frame to be transferred to/from the device. |
pFrameBuffer | Specifies a valid, non-NULL address of the host buffer. If reading (device-to-host), this memory will be written into. If writing (host-to-device), this memory will be read from. | |
[in] | inCardOffsetBytes | Specifies the byte offset into the device frame buffer where the data transfer will start. |
[in] | inTotalByteCount | Specifies the total number of bytes to be transferred. |
[in] | inSynchronous | This parameter is obsolete, and ignored. |
Reimplemented from CNTV2DriverInterface.
Definition at line 832 of file ntv2windriverinterface.cpp.
|
virtual |
Transfers data in segments between the AJA device and the host. This function will block and not return to the caller until the transfer has finished or failed.
[in] | inDMAEngine | Specifies the device DMA engine to use. Use NTV2_DMA_FIRST_AVAILABLE for most applications. (Use the NTV2DeviceGetNumDMAEngines function to determine how many are available.) |
[in] | inIsRead | Specifies the transfer direction. Use 'true' for reading (device-to-host). Use 'false' for writing (host-to-device). |
[in] | inFrameNumber | Specifies the zero-based frame number of the starting frame to be transferred to/from the device. |
pFrameBuffer | Specifies a valid, non-NULL address of the host buffer. If reading (device-to-host), this memory will be written into. If writing (host-to-device), this memory will be read from. | |
[in] | inCardOffsetBytes | Specifies the byte offset into the device frame buffer where the data transfer will start. |
[in] | inTotalByteCount | Specifies the total number of bytes to be transferred. |
[in] | inNumSegments | Specifies the number of segments to transfer. Note that this determines the number of bytes per segment (by dividing into inTotalByteCount). |
[in] | inHostPitchPerSeg | Specifies the number of bytes to increment the host memory pointer after each segment is transferred. |
[in] | inCardPitchPerSeg | Specifies the number of bytes to increment the on-device memory pointer after each segment is transferred. |
[in] | inSynchronous | This parameter is obsolete, and ignored. |
Reimplemented from CNTV2DriverInterface.
Definition at line 873 of file ntv2windriverinterface.cpp.
|
virtual |
Reimplemented from CNTV2DriverInterface.
Definition at line 919 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 764 of file ntv2windriverinterface.cpp.
|
virtual |
Answers with the currently-installed bitfile information.
[out] | outBitFileInfo | Receives the bitfile info. |
[in] | inBitFileType | Optionally specifies the bitfile type of interest. Defaults to NTV2_VideoProcBitFile. |
Reimplemented from CNTV2DriverInterface.
Definition at line 1393 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 1417 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 1383 of file ntv2windriverinterface.cpp.
|
virtual |
Answers with the number of interrupts of the given type processed by the driver.
[in] | eInterrupt | The interrupt type of interest. |
[out] | outCount | Receives the count value. |
Reimplemented from CNTV2DriverInterface.
Definition at line 468 of file ntv2windriverinterface.cpp.
|
virtual |
Sends an HEVC message to the NTV2 driver.
pMessage | Points to the HevcMessageHeader that contains the HEVC message. |
Reimplemented from CNTV2DriverInterface.
Definition at line 1364 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 559 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 734 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 624 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 680 of file ntv2windriverinterface.cpp.
|
virtual |
Sends a message to the NTV2 driver (the new, improved, preferred way).
pInMessage | Points to the message to pass to the driver. Valid messages start with an NTV2_HEADER and end with an NTV2_TRAILER. |
Reimplemented from CNTV2DriverInterface.
Definition at line 1350 of file ntv2windriverinterface.cpp.
|
protectedvirtual |
Opens the local/physical device connection.
Reimplemented from CNTV2DriverInterface.
Definition at line 173 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 789 of file ntv2windriverinterface.cpp.
|
virtual |
Physical device implementation of CNTV2DriverInterface::ReadRegister.
Reimplemented from CNTV2DriverInterface.
Definition at line 299 of file ntv2windriverinterface.cpp.
|
virtual |
Reimplemented from CNTV2DriverInterface.
Definition at line 1437 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 1378 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 590 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 652 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 707 of file ntv2windriverinterface.cpp.
|
virtual |
Reimplemented from CNTV2DriverInterface.
Definition at line 516 of file ntv2windriverinterface.cpp.
|
virtual |
Physical device implementation of CNTV2DriverInterface::WriteRegister.
Reimplemented from CNTV2DriverInterface.
Definition at line 338 of file ntv2windriverinterface.cpp.
|
protected |
Definition at line 119 of file ntv2windriverinterface.h.
|
protected |
Definition at line 118 of file ntv2windriverinterface.h.
|
protected |
Definition at line 117 of file ntv2windriverinterface.h.
|
protected |
Definition at line 121 of file ntv2windriverinterface.h.
|
protected |
Definition at line 120 of file ntv2windriverinterface.h.
|
protected |
Definition at line 115 of file ntv2windriverinterface.h.
|
protected |
Definition at line 116 of file ntv2windriverinterface.h.
|
protected |
Definition at line 124 of file ntv2windriverinterface.h.