15 #define AsULWordPtr(_p_) reinterpret_cast<const ULWord*> (_p_) 75 cerr <<
"## WARNING: '" << mDevice.
GetDisplayName() <<
"' switched to Ch2 (Ch1 is input-only)" << endl;
80 <<
" -- only supports Ch1" << (maxNumChannels > 1 ? string(
"-Ch") + string(1,
char(maxNumChannels+
'0')) :
"") << endl;
107 if (it->first.find(
"Device Specifier") == 0)
110 #endif // defined(_DEBUG) 226 for (
size_t ndx(0); ndx < sdiOutputs.size(); ndx++)
229 bool canConnect(
true);
230 if (!canCheck || (canCheck && mDevice.
CanConnect(sdiConnection, canConnect) && canConnect))
258 if (hostBuffer.IsNULL())
268 uint32_t currentOutputFrame(0);
275 hostBuffer.GetByteCount()))
AJALabelValuePairs Get(const bool inCompact=(0)) const
Renders a human-readable representation of me.
#define NTV2_IS_VANCMODE_TALLER(__v__)
virtual bool SetTaskMode(const NTV2TaskMode inMode)
Sets the device's task mode.
bool setVANCToLegalBlack(void) const
bool CanDo12gRouting(void)
AJAStatus Init(void)
Initializes me and prepares me to Run.
virtual bool GetVideoFormat(NTV2VideoFormat &outValue, NTV2Channel inChannel=NTV2_CHANNEL1)
Specifies the device's internal clock.
AJALabelValuePairs Get(const bool inCompact=(0)) const
virtual bool SetReference(const NTV2ReferenceSource inRefSource, const bool inKeepFramePulseSelect=(0))
Sets the device's clock reference source. See Video Output Clocking & Synchronization for more inform...
virtual bool ReleaseStreamForApplication(ULWord inApplicationType, int32_t inProcessID)
Releases exclusive use of the AJA device for the given process, permitting other processes to acquire...
The NTV2 test pattern generator.
virtual bool SetVideoFormat(const NTV2VideoFormat inVideoFormat, const bool inIsAJARetail=(!(0)), const bool inKeepVancSettings=(0), const NTV2Channel inChannel=NTV2_CHANNEL1)
Configures the AJA device to handle a specific video format.
NTV2VANCMode fVancMode
VANC mode to use.
virtual bool IsDeviceReady(const bool inCheckValid=(0))
Configures an NTV2OutputTestPattern instance.
std::string fTestPatternName
Name of the test pattern to use.
#define AJA_FAILURE(_status_)
Declares the NTV2TestPatternGen class.
virtual bool DMAWriteFrame(const ULWord inFrameNumber, const ULWord *pInFrameBuffer, const ULWord inByteCount)
Transfers a single frame from the host to the AJA device.
UWord GetNumHDMIVideoOutputs(void)
virtual bool GetOutputFrame(const NTV2Channel inChannel, ULWord &outValue)
Answers with the current output frame number for the given FrameStore (expressed as an NTV2Channel)...
std::vector< AJALabelValuePair > AJALabelValuePairs
An ordered sequence of label/value pairs.
#define NTV2_IS_4K_VIDEO_FORMAT(__f__)
#define NTV2_FOURCC(_a_, _b_, _c_, _d_)
#define NTV2_IS_8K_VIDEO_FORMAT(__f__)
bool CanDoFrameStore1Display(void)
AJALabelValuePairs::const_iterator AJALabelValuePairsConstIter
std::string fDeviceSpec
The AJA device to use.
std::pair< NTV2InputXptID, NTV2OutputXptID > NTV2Connection
This links an NTV2InputXptID and an NTV2OutputXptID.
virtual bool SetFrameBufferFormat(NTV2Channel inChannel, NTV2FrameBufferFormat inNewFormat, bool inIsAJARetail=(!(0)), NTV2HDRXferChars inXferChars=NTV2_VPID_TC_SDR_TV, NTV2HDRColorimetry inColorimetry=NTV2_VPID_Color_Rec709, NTV2HDRLuminance inLuminance=NTV2_VPID_Luminance_YCbCr)
Sets the frame buffer format for the given FrameStore on the AJA device.
virtual class DeviceCapabilities & features(void)
virtual bool SetMultiFormatMode(const bool inEnable)
Enables or disables multi-format (per channel) device operation. If enabled, each device channel can ...
NTV2ChannelList NTV2MakeChannelList(const NTV2Channel inFirstChannel, const UWord inNumChannels=1)
virtual bool GetTaskMode(NTV2TaskMode &outMode)
Retrieves the device's current task mode.
virtual bool DrawTestPattern(const std::string &inTPName, const NTV2FormatDescriptor &inFormatDesc, NTV2Buffer &inBuffer)
Renders the given test pattern or color into a host raster buffer.
NTV2Standard
Identifies a particular video standard.
virtual bool CanConnect(const NTV2InputCrosspointID inInputXpt, const NTV2OutputCrosspointID inOutputXpt, bool &outCanConnect)
Answers whether or not the given widget signal input (sink) can legally be connected to the given sig...
Playout (output) mode, which reads from device SDRAM.
virtual std::string GetDescription(void) const
virtual bool SetMode(const NTV2Channel inChannel, const NTV2Mode inNewValue, const bool inIsRetail=(!(0)))
Determines if a given FrameStore on the AJA device will be used to capture or playout video...
NTV2InputXptID GetOutputDestInputXpt(const NTV2OutputDestination inOutputDest, const bool inIsSDI_DS2=false, const UWord inHDMI_Quadrant=99)
NTV2OutputTestPattern(const TestPatConfig &inConfig)
Constructs me using the given configuration settings.
static bool GetFirstDeviceFromArgument(const std::string &inArgument, CNTV2Card &outDevice)
Rescans the host, and returns an open CNTV2Card instance for the AJA device that matches a command li...
virtual bool SetSDITransmitEnable(const NTV2Channel inChannel, const bool inEnable)
Sets the specified bidirectional SDI connector to act as an input or an output.
bool HasBiDirectionalSDI(void)
virtual bool AcquireStreamForApplication(ULWord inApplicationType, int32_t inProcessID)
Reserves exclusive use of the AJA device for a given process, preventing other processes on the host ...
virtual bool GetVANCMode(NTV2VANCMode &outVancMode, const NTV2Channel inChannel=NTV2_CHANNEL1)
Retrieves the current VANC mode for the given FrameStore.
virtual std::string GetDisplayName(void)
Answers with this device's display name.
NTV2InputXptID GetCSCInputXptFromChannel(const NTV2Channel inCSC, const bool inIsKeyInput=false)
NTV2PixelFormat fPixelFormat
The pixel format to use.
2: OEM (recommended): device configured by client application(s) with some driver involvement...
std::string NTV2VANCModeToString(const NTV2VANCMode inValue, const bool inCompactDisplay=false)
virtual bool ApplySignalRoute(const CNTV2SignalRouter &inRouter, const bool inReplace=(0))
Applies the given routing table to the AJA device.
NTV2XptConnections connections
NTV2VideoFormat fVideoFormat
The video format to use.
std::string NTV2VideoFormatToString(const NTV2VideoFormat inValue, const bool inUseFrameRate=false)
Specifies channel or FrameStore 2 (or the 2nd item).
virtual NTV2DeviceID GetDeviceID(void)
const uint32_t kAppSignature(((((uint32_t)( 'T'))<< 24)|(((uint32_t)( 'e'))<< 16)|(((uint32_t)( 's'))<< 8)|(((uint32_t)( 't'))<< 0)))
UWord GetNumFrameStores(void)
#define NTV2_IS_VANCMODE_ON(__v__)
Declares the CNTV2DeviceScanner class.
Declares the AJAProcess class.
AJAStatus EmitPattern(void)
Generates, transfers and displays the test pattern on the output.
Describes a user-space buffer on the host computer. I have an address and a length, plus some optional attributes (allocated by SDK?, page-aligned? etc.).
bool fDoMultiFormat
If true, enable device-sharing; otherwise take exclusive control of device.
bool IsRGBFormat(const NTV2FrameBufferFormat format)
static AJALabelValuePairs & append(AJALabelValuePairs &inOutTable, const std::string &inLabel, const std::string &inValue=std::string())
A convenience function that appends the given label and value strings to the provided AJALabelValuePa...
std::set< NTV2Channel > NTV2ChannelSet
A set of distinct NTV2Channel values.
NTV2Channel fOutputChannel
The device channel to use.
static const ULWord kDemoAppSignature((((uint32_t)( 'D'))<< 24)|(((uint32_t)( 'E'))<< 16)|(((uint32_t)( 'M'))<< 8)|(((uint32_t)( 'O'))<< 0))
virtual bool DisableChannels(const NTV2ChannelSet &inChannels)
Disables the given FrameStore(s).
virtual bool SetSDIOutRGBLevelAConversion(const UWord inOutputSpigot, const bool inEnable)
Enables or disables an RGB-over-3G-level-A conversion at the SDI output widget (assuming the AJA devi...
AJAStatus SetUpVideo(void)
Sets up my AJA device to play video.
virtual bool SetSDIOutLevelAtoLevelBConversion(const UWord inOutputSpigot, const bool inEnable)
Enables or disables 3G level A to 3G level B conversion at the SDI output widget (assuming the AJA de...
NTV2OutputXptID GetFrameStoreOutputXptFromChannel(const NTV2Channel inFrameStore, const bool inIsRGB=false, const bool inIs425=false)
Specifies channel or FrameStore 1 (or the first item).
virtual bool SetEnableVANCData(const bool inVANCenabled, const bool inTallerVANC, const NTV2Standard inStandard, const NTV2FrameGeometry inGeometry, const NTV2Channel inChannel=NTV2_CHANNEL1)
UWord GetNumAnalogVideoOutputs(void)
virtual bool IsChannelEnabled(const NTV2Channel inChannel, bool &outEnabled)
Answers whether or not the given FrameStore is enabled.
NTV2ChannelSet NTV2MakeChannelSet(const NTV2Channel inFirstChannel, const UWord inNumChannels=1)
NTV2Standard GetNTV2StandardFromVideoFormat(const NTV2VideoFormat inVideoFormat)
std::vector< NTV2Channel > NTV2ChannelList
An ordered sequence of NTV2Channel values.
void RouteOutputSignal(void)
Sets up board routing for playout.
std::map< NTV2InputXptID, NTV2OutputXptID > NTV2XptConnections
std::ostream & operator<<(std::ostream &ioStrm, const TestPatConfig &inObj)
bool CanDoVideoFormat(const NTV2VideoFormat inVF)
std::pair< std::string, std::string > AJALabelValuePair
A pair of strings comprising a label and a value.
bool HasCrosspointConnectROM(void)
UWord GetNumVideoOutputs(void)
virtual bool SetSDIOutputStandard(const UWord inOutputSpigot, const NTV2Standard inValue)
Sets the SDI output spigot's video standard.
NTV2InputXptID GetSDIOutputInputXpt(const NTV2Channel inSDIOutput, const bool inIsDS2=false)
~NTV2OutputTestPattern(void)
virtual void ToString(std::string &outAllLabelsAndValues) const
Answers with a multi-line string that contains the complete host system info table.
enum NTV2OutputCrosspointID NTV2OutputXptID
virtual bool GetConnections(NTV2XptConnections &outConnections)
Answers with the device's current widget routing connections.
NTV2OutputXptID GetCSCOutputXptFromChannel(const NTV2Channel inCSC, const bool inIsKey=false, const bool inIsRGB=false)
bool CanDoMultiFormat(void)
virtual bool EnableChannel(const NTV2Channel inChannel)
Enables the given FrameStore.