![]() |
AJA NTV2 SDK
17.6.0.2675
NTV2 SDK 17.6.0.2675
|
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 | 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 | MailBufferOps (const NTV2Channel inChannel, NTV2Buffer &inBuffer, ULWord dataSize, ULWord flags, ULWord delay, ULWord timeout, NTV2MailBuffer &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 | IsLPSystemReady (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) |
| defined(NTV2_DEPRECATE_17_6) 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 NTV2DeviceSpecParser &inSpec) |
| Peforms the housekeeping details of opening the remote/virtual device using the given specParser. 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, bool &outFlipSense) |
| 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 125 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 1024 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 818 of file ntv2windriverinterface.cpp.
|
virtual |
Reimplemented from CNTV2DriverInterface.
Definition at line 398 of file ntv2windriverinterface.cpp.
|
virtual |
Reimplemented from CNTV2DriverInterface.
Definition at line 426 of file ntv2windriverinterface.cpp.
|
inlinevirtual |
Reimplemented from CNTV2DriverInterface.
Definition at line 77 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 844 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 885 of file ntv2windriverinterface.cpp.
|
virtual |
Reimplemented from CNTV2DriverInterface.
Definition at line 931 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 770 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 474 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 565 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 740 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 630 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 686 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 1362 of file ntv2windriverinterface.cpp.
|
protectedvirtual |
defined(NTV2_DEPRECATE_17_6)
Reimplemented from CNTV2DriverInterface.
Definition at line 173 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 797 of file ntv2windriverinterface.cpp.
|
virtual |
Physical device implementation of CNTV2DriverInterface::ReadRegister.
Reimplemented from CNTV2DriverInterface.
Definition at line 299 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 1437 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 1378 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 596 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 658 of file ntv2windriverinterface.cpp.
|
virtual |
Definition at line 713 of file ntv2windriverinterface.cpp.
|
virtual |
Reimplemented from CNTV2DriverInterface.
Definition at line 522 of file ntv2windriverinterface.cpp.
|
virtual |
Physical device implementation of CNTV2DriverInterface::WriteRegister.
Reimplemented from CNTV2DriverInterface.
Definition at line 344 of file ntv2windriverinterface.cpp.
|
protected |
Definition at line 121 of file ntv2windriverinterface.h.
|
protected |
Definition at line 120 of file ntv2windriverinterface.h.
|
protected |
Definition at line 119 of file ntv2windriverinterface.h.
|
protected |
Definition at line 123 of file ntv2windriverinterface.h.
|
protected |
Definition at line 122 of file ntv2windriverinterface.h.
|
protected |
Definition at line 117 of file ntv2windriverinterface.h.
|
protected |
Definition at line 118 of file ntv2windriverinterface.h.
|
protected |
Definition at line 126 of file ntv2windriverinterface.h.