|
AJA NTV2 SDK
17.1.3.1410
NTV2 SDK 17.1.3.1410
|
Go to the documentation of this file.
21 #if defined (AJALinux)
25 #define Enum2Str(e) {e, #e},
29 #define DEFAULT_PATT_GAIN 0.9 // some patterns pay attention to this...
30 #define HD_NUMCOMPONENTPIXELS_2K 2048
31 #define HD_NUMCOMPONENTPIXELS_1080_2K 2048
32 #define HD_NUMCOMPONENTPIXELS_1080 1920
34 #define CCIR601_10BIT_BLACK 64 // 0x040
35 #define CCIR601_10BIT_WHITE 940 // 0x3AC
36 #define CCIR601_10BIT_CHROMAOFFSET 512 // 0x200
38 #define CCIR601_8BIT_BLACK 16 // 0x10
39 #define CCIR601_8BIT_WHITE 235 // 0xEB
40 #define CCIR601_8BIT_CHROMAOFFSET 128 // 0x80
43 #define FRAME_0_BASE (0x0)
44 #define FRAME_1080_10BIT_LINEPITCH (1280*4)
45 #define FRAME_1080_8BIT_LINEPITCH (1920*2)
46 #define FRAME_QUADHD_10BIT_SIZE (FRAME_1080_10BIT_LINEPITCH*2160)
47 #define FRAME_QUADHD_8BIT_SIZE (FRAME_1080_8BIT_LINEPITCH*2160)
48 #define FRAME_BASE(__frameNum__,__frameSize__) ((__frameNum__)*(__frameSize__))
56 bool bUseSmpteRange=
false,
bool bAlphaFromLuma=
false);
58 AJAExport void StackQuadrants (uint8_t* pSrc, uint32_t srcWidth, uint32_t srcHeight, uint32_t srcRowBytes, uint8_t* pDst);
59 AJAExport void CopyFromQuadrant (uint8_t* srcBuffer, uint32_t srcHeight, uint32_t srcRowBytes, uint32_t srcQuadrant, uint8_t* dstBuffer, uint32_t quad13Offset=0);
60 AJAExport void CopyToQuadrant (uint8_t* srcBuffer, uint32_t srcHeight, uint32_t srcRowBytes, uint32_t dstQuadrant, uint8_t* dstBuffer, uint32_t quad13Offset=0);
179 bool vancEnabled=
false,
181 bool wideVANC=
false);
201 const ULWord inDstBytesPerLine,
202 const UWord inDstTotalLines);
220 const ULWord inDstBytesPerLine,
221 const UWord inDstTotalLines);
278 const ULWord inDstBytesPerLine,
279 const UWord inDstTotalLines,
280 const UWord inDstVertLineOffset,
281 const UWord inDstHorzPixelOffset,
282 const UByte * pSrcBuffer,
283 const ULWord inSrcBytesPerLine,
284 const UWord inSrcTotalLines,
285 const UWord inSrcVertLineOffset,
286 const UWord inSrcVertLinesToCopy,
287 const UWord inSrcHorzPixelOffset,
288 const UWord inSrcHorzPixelsToCopy);
312 #define GetHdmiV2StandardFromVideoFormat(__vf__) ::GetNTV2StandardFromVideoFormat (__vf__)
363 const UWord inHeightLines,
364 const UWord inWidthPixels,
365 const bool inIsInterlaced,
366 const bool inIsLevelB,
587 #define GetTCIndexesForSDIInput GetTCIndexesForSDIConnector
588 #define NTV2ChannelToCaptureCrosspoint NTV2ChannelToInputCrosspoint
589 #define NTV2ChannelToIngestCrosspoint NTV2ChannelToInputCrosspoint
590 #define NTV2ChannelToInputChannelSpec NTV2ChannelToInputCrosspoint
591 #define NTV2ChannelToPlayoutCrosspoint NTV2ChannelToOutputCrosspoint
592 #define NTV2ChannelToOutputChannelSpec NTV2ChannelToOutputCrosspoint
733 int iNumChans,
bool bKeepAudio24Bits);
754 ULWord & inOutCurrentSample,
755 const ULWord inNumSamples,
756 const double inSampleRate,
757 const double inAmplitude,
758 const double inFrequency,
760 const bool inByteSwap,
761 const ULWord inNumChannels);
782 ULWord & inOutCurrentSample,
783 const ULWord inNumSamples,
784 const double inSampleRate,
785 const double inAmplitude,
786 const double inFrequency,
788 const bool inByteSwap,
789 const ULWord inNumChannels);
812 ULWord & inOutCurrentSample,
813 const ULWord inNumSamples,
814 const double inSampleRate,
815 const double * pInAmplitudes,
816 const double * pInFrequencies,
818 const bool inByteSwap,
819 const ULWord inNumChannels);
840 ULWord & inOutCurrentSample,
841 const ULWord inNumSamples,
842 const double inSampleRate,
843 const double inAmplitude,
844 const double inFrequency,
846 const bool inByteSwap,
847 const ULWord inNumChannels);
850 ULWord & inOutCurrentSample,
851 const ULWord inNumSamples,
853 const bool inEndianConvert,
854 const ULWord inNumChannels);
916 std::ostream & Print (std::ostream & inOutStream)
const;
929 const ULWord inSecondActiveLine,
930 const bool inFirstFieldTop,
932 : smpteFirstActiveLine (inFirstActiveLine),
933 smpteSecondActiveLine (inSecondActiveLine),
934 firstFieldTop (inFirstFieldTop),
935 mStandard (inStandard) { }
966 setCountOnly(inFrameCount);
970 setExactRange (inFirstFrame, inLastFrame);
974 inline UWord count (
void)
const {
return isCountOnly() ? mFrameCount : 0;}
981 return lastFrame() >= firstFrame();
986 mFrameCount = mFirstFrame = mLastFrame = 0;
991 mIsCountOnly =
false;
993 mFirstFrame = inFirstFrame;
994 mLastFrame = inLastFrame;
999 mIsCountOnly =
false;
1001 mFirstFrame = inFirstFrame;
1002 mLastFrame = mFirstFrame + inCount - 1;
1007 mIsCountOnly =
true;
1008 mFrameCount = inCount;
1009 mFirstFrame = mLastFrame = 0;
1012 std::string setFromString (
const std::string & inStr);
1013 std::string toString (
const bool inNormalized =
false)
const;
1130 #if !defined(NTV2_DEPRECATE_16_1)
1132 #endif // !defined(NTV2_DEPRECATE_16_1)
1159 #define NTV2CrosspointIDToString NTV2OutputCrosspointIDToString
1160 #if defined (AJAMac)
1164 #endif // NTV2UTILS_H
void setHDRDefaultsForBT2020(HDRRegValues &outRegisterValues)
NTV2ReferenceSource NTV2InputSourceToReferenceSource(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2ReferenceSource value.
NTV2Channel NTV2TimecodeIndexToChannel(const NTV2TCIndex inTCIndex)
Converts the given NTV2TCIndex value into the appropriate NTV2Channel value.
std::string NTV2AncDataRgnToStr(const NTV2AncDataRgn inValue, const bool inCompactDisplay=false)
ULWord GetScaleFromFrameRate(const NTV2FrameRate inFrameRate)
NTV2InputSource NTV2ChannelToInputSource(const NTV2Channel inChannel, const NTV2IOKinds inKinds=NTV2_IOKINDS_SDI)
NTV2Channel NTV2InputSourceToChannel(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2Channel value.
NTV2Channel GetNTV2ChannelForIndex(const ULWord inIndex0)
Defines the import/export macros for producing DLLs or LIBs.
bool isFrameRange(void) const
uint32_t CalcRowBytesForFormat(const NTV2FrameBufferFormat inPF, const uint32_t pixWidth)
std::string NTV2FrameGeometryToString(const NTV2FrameGeometry inValue, const bool inForRetailDisplay=false)
NTV2DeviceIDList::const_iterator NTV2DeviceIDListConstIter
A convenient const iterator for NTV2DeviceIDList.
double GetFrameTime(const NTV2FrameRate inFrameRate)
NTV2HDMIBitDepth
Indicates or specifies the HDMI video bit depth.
enum _INTERRUPT_ENUMS_ INTERRUPT_ENUMS
NTV2OutputDestination
Identifies a specific video output destination.
UWord firstFrame(void) const
NTV2DeviceIDSet::iterator NTV2DeviceIDSetIter
A convenient non-const iterator for NTV2DeviceIDSet.
Describes the horizontal and vertical size dimensions of a raster, bitmap, frame or image.
NTV2VideoFormat GetSupportedNTV2VideoFormatFromInputVideoFormat(const NTV2VideoFormat inVideoFormat)
NTV2DeviceID NTV2GetDeviceIDFromBitfileName(const std::string &inBitfileName)
NTV2ACFrameRange & makeInvalid(void)
std::set< std::string > NTV2StringSet
bool GetRegNumChanges(const NTV2RegNumSet &inBefore, const NTV2RegNumSet &inAfter, NTV2RegNumSet &outGone, NTV2RegNumSet &outSame, NTV2RegNumSet &outAdded)
std::set< NTV2TCIndex > NTV2TCIndexes
NTV2TimecodeIndex NTV2InputSourceToTimecodeIndex(const NTV2InputSource inInputSource, const bool inEmbeddedLTC=false)
Converts a given NTV2InputSource to its equivalent NTV2TimecodeIndex value.
bool Is8BitFrameBufferFormat(const NTV2FrameBufferFormat fbFormat)
NTV2DeviceIDSet NTV2GetSupportedDevices(const NTV2DeviceKinds inKinds=NTV2_DEVICEKIND_ALL)
Returns an NTV2DeviceIDSet of devices supported by the SDK.
NTV2FrameGeometry GetNTV2FrameGeometryFromVideoFormat(const NTV2VideoFormat inVideoFormat)
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
NTV2HDMIColorSpace
Indicates or specifies HDMI Color Space.
std::string NTV2AudioFormatToString(const NTV2AudioFormat inValue, const bool inCompactDisplay=false)
A generic user-space buffer object that has an address and a length. Used most often to share an arbi...
NTV2FrameGeometry GetQuarterSizedGeometry(const NTV2FrameGeometry inGeometry)
NTV2InputSource GetNTV2HDMIInputSourceForIndex(const ULWord inIndex0)
ULWordSet NTV2RegisterNumberSet
A set of distinct ULWord values.
void UnPack10BitDPXtoForRP215withEndianSwap(UWord *rawrp215Buffer, ULWord *DPXLinebuffer, ULWord numPixels)
NTV2TCIndexes GetTCIndexesForSDIConnector(const NTV2Channel inSDIConnector)
NTV2Crosspoint GetNTV2CrosspointInputForIndex(const ULWord inIndex0)
std::string NTV2AudioBufferSizeToString(const NTV2AudioBufferSize inValue, const bool inForRetailDisplay=false)
NTV2FrameRate GetNTV2FrameRateFromVideoFormat(const NTV2VideoFormat inVideoFormat)
enum NTV2TCIndex NTV2TimecodeIndex
NTV2VANCMode GetVANCModeForGeometry(const NTV2FrameGeometry inFrameGeometry)
std::string NTV2DownConvertModeToString(const NTV2DownConvertMode inValue, const bool inCompactDisplay=false)
NTV2StringList::iterator NTV2StringListIter
LWord64 GetTotalAudioSamplesFromFrameNbrZeroUpToFrameNbr(NTV2FrameRate frameRate, NTV2AudioRate audioRate, ULWord frameNbrNonInclusive)
NTV2InputCrosspointIDs::const_iterator NTV2InputCrosspointIDsConstIter
A convenient const iterator for NTV2InputCrosspointIDs.
NTV2HDMIAudioChannels
Indicates or specifies the HDMI audio channel count.
bool YUVComponentsTo10BitYUVPackedBuffer(const std::vector< uint16_t > &inYCbCrLine, NTV2Buffer &inFrameBuffer, const NTV2FormatDescriptor &inDescriptor, const UWord inLineOffset)
Packs up to one raster line of uint16_t YUV components into an NTV2_FBF_10BIT_YCBCR frame buffer.
UWord NTV2GetSDKVersionComponent(const int inVersionComponent=0)
Returns an SDK version component value.
NTV2Channel NTV2OutputDestinationToChannel(const NTV2OutputDestination inOutputDest)
Converts a given NTV2OutputDestination to its equivalent NTV2Channel value.
NTV2EmbeddedAudioInput NTV2InputSourceToEmbeddedAudioInput(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2EmbeddedAudioInput value.
std::string NTV2InterruptEnumToString(const INTERRUPT_ENUMS inInterruptEnumValue)
std::string NTV2GetFirmwareFolderPath(void)
std::string NTV2GetBitfileName(const NTV2DeviceID inValue)
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
bool IsVideoFormatB(const NTV2VideoFormat format)
std::string NTV2RegisterNumberToString(const NTV2RegisterNumber inValue)
NTV2Standard GetQuarterSizedStandard(const NTV2Standard inGeometry)
NTV2FieldID
These values are used to identify fields for interlaced video. See Field/Frame Interrupts and CNTV2Ca...
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
std::string NTV2RegNumSetToString(const NTV2RegisterNumberSet &inValue)
bool IsProgressiveTransport(const NTV2VideoFormat format)
Declares common video macros and structs used in the SDK.
bool convertHDRRegisterToFloatValues(const HDRRegValues &inRegisterValues, HDRFloatValues &outFloatValues)
bool operator==(const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
std::string NTV2ColorCorrectionModeToString(const NTV2ColorCorrectionMode inValue, const bool inCompactDisplay=false)
NTV2FrameGeometry GetVANCFrameGeometry(const NTV2FrameGeometry inFrameGeometry, const NTV2VANCMode inVancMode)
NTV2DeviceIDSet::const_iterator NTV2DeviceIDSetConstIter
A convenient const iterator for NTV2DeviceIDSet.
void UnPack10BitYCbCrBuffer(uint32_t *packedBuffer, uint16_t *ycbcrBuffer, uint32_t numPixels)
ULWord smpteFirstActiveLine
SMPTE line number of first (top-most) active line of video.
enum NTV2InputSourceKinds NTV2IOKinds
INTERRUPT_ENUMS NTV2ChannelToInputInterrupt(const NTV2Channel inChannel)
Converts the given NTV2Channel value into the equivalent input INTERRUPT_ENUMS value.
std::string NTV2BreakoutTypeToString(const NTV2BreakoutType inValue, const bool inCompactDisplay=false)
NTV2StringSet::const_iterator NTV2StringSetConstIter
ULWord NTV2AudioBufferSizeToByteCount(const NTV2AudioBufferSize inBufferSize)
Converts the given NTV2BufferSize value into its exact byte count.
double GetFramesPerSecond(const NTV2FrameRate inFrameRate)
NTV2OutputCrosspointIDs::iterator NTV2OutputCrosspointIDsIter
A convenient non-const iterator for NTV2OutputCrosspointIDs.
@ NTV2_FIELD0
Identifies the first field in time for an interlaced video frame, or the first and only field in a pr...
std::string NTV2EmbeddedAudioClockToString(const NTV2EmbeddedAudioClock inValue, const bool inForRetailDisplay=false)
std::string PercentEncode(const std::string &inStr)
void setHDRDefaultsForDCIP3(HDRRegValues &outRegisterValues)
ULWord GetIndexForNTV2Channel(const NTV2Channel inChannel)
NTV2HDMIRange
Indicates or specifies the HDMI RGB range.
bool HasVANCGeometries(const NTV2FrameGeometry inFrameGeometry)
bool IsAlphaChannelFormat(const NTV2FrameBufferFormat format)
NTV2ACFrameRange(const UWord inFrameCount=0)
void CopyRGBAImageToFrame(ULWord *pSrcBuffer, ULWord srcHeight, ULWord srcWidth, ULWord *pDstBuffer, ULWord dstHeight, ULWord dstWidth)
NTV2FrameRate
Identifies a particular video frame rate.
ULWord NTV2FramesizeToByteCount(const NTV2Framesize inFrameSize)
Converts the given NTV2Framesize value into an exact byte count.
NTV2FrameRate GetNTV2FrameRateFromNumeratorDenominator(const ULWord inNumerator, const ULWord inDenominator)
std::string NTV2AudioChannelQuadToString(const NTV2Audio4ChannelSelect inValue, const bool inCompactDisplay=false)
Declares the most fundamental data types used by NTV2. Since Windows NT was the first principal devel...
NTV2AudioSystem NTV2InputSourceToAudioSystem(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2AudioSystem value.
bool PackLine_UWordSequenceTo10BitYUV(const UWordSequence &in16BitYUVLine, ULWord *pOut10BitYUVLine, const ULWord inNumPixels)
Packs a line of 16-bit-per-component YCbCr (NTV2_FBF_10BIT_YCBCR) video into 10-bit-per-component YCb...
bool GetChangedRegisters(const NTV2RegisterReads &inBefore, const NTV2RegisterReads &inAfter, NTV2RegNumSet &outChanged)
ULWord GetDisplayHeight(const NTV2VideoFormat videoFormat)
NTV2RegisterNumberSet NTV2RegNumSet
A set of distinct NTV2RegisterNumbers.
bool convertHDRFloatToRegisterValues(const HDRFloatValues &inFloatValues, HDRRegValues &outRegisterValues)
NTV2MixerKeyerInputControl
These enum values identify the Mixer/Keyer foreground and background input control values.
bool IsProgressivePicture(const NTV2VideoFormat format)
void ConvertUnpacked10BitYCbCrToPixelFormat(uint16_t *unPackedBuffer, uint32_t *packedBuffer, uint32_t numPixels, NTV2FrameBufferFormat pixelFormat, bool bUseSmpteRange=false, bool bAlphaFromLuma=false)
NTV2EmbeddedAudioClock
This enum value determines/states the device audio clock reference source. It was important to set th...
ULWord GetIndexForNTV2InputSource(const NTV2InputSource inValue)
void PackTo10BitYCbCrBuffer(const uint16_t *ycbcrBuffer, uint32_t *packedBuffer, const uint32_t numPixels)
std::string NTV2HDMIAudioChannelsToString(const NTV2HDMIAudioChannels inValue, const bool inCompactDisplay=false)
NTV2Crosspoint NTV2InputSourceToChannelSpec(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2Crosspoint value.
NTV2FrameGeometry GetNormalizedFrameGeometry(const NTV2FrameGeometry inFrameGeometry)
NTV2Crosspoint GetNTV2CrosspointChannelForIndex(const ULWord inIndex0)
std::ostream & operator<<(std::ostream &inOutStream, const NTV2FrameDimensions inFrameDimensions)
Writes the given NTV2FrameDimensions to the specified output stream.
bool CopyRaster(const NTV2PixelFormat inPixelFormat, UByte *pDstBuffer, const ULWord inDstBytesPerLine, const UWord inDstTotalLines, const UWord inDstVertLineOffset, const UWord inDstHorzPixelOffset, const UByte *pSrcBuffer, const ULWord inSrcBytesPerLine, const UWord inSrcTotalLines, const UWord inSrcVertLineOffset, const UWord inSrcVertLinesToCopy, const UWord inSrcHorzPixelOffset, const UWord inSrcHorzPixelsToCopy)
Copies all or part of a source raster image into a destination raster at a given position.
NTV2OutputDestination NTV2ChannelToOutputDestination(const NTV2Channel inChannel)
Converts the given NTV2Channel value into its ordinary equivalent NTV2OutputDestination.
NTV2Standard GetNTV2StandardFromScanGeometry(const UByte inScanGeometry, const bool inIsProgressiveTransport)
void CopyToQuadrant(uint8_t *srcBuffer, uint32_t srcHeight, uint32_t srcRowBytes, uint32_t dstQuadrant, uint8_t *dstBuffer, uint32_t quad13Offset=0)
bool SetRasterLinesWhite(const NTV2PixelFormat inPixelFormat, UByte *pDstBuffer, const ULWord inDstBytesPerLine, const UWord inDstTotalLines)
Sets all or part of a destination raster image to legal white.
std::string NTV2InputSourceToString(const NTV2InputSource inValue, const bool inForRetailDisplay=false)
void UnPack10BitDPXtoForRP215(UWord *rawrp215Buffer, ULWord *DPXLinebuffer, ULWord numPixels)
std::string AutoCircVidProcModeToString(const AutoCircVidProcMode inValue, const bool inCompactDisplay=false)
std::string NTV2TCIndexToString(const NTV2TCIndex inValue, const bool inCompactDisplay=false)
NTV2VideoFormat GetTransportCompatibleFormat(const NTV2VideoFormat inFormat, const NTV2VideoFormat inTargetFormat)
enum _NTV2DeviceKinds NTV2DeviceKinds
These enum values are used for device selection/filtering.
NTV2Standard
Identifies a particular video standard.
NTV2EmbeddedAudioInput NTV2ChannelToEmbeddedAudioInput(const NTV2Channel inChannel)
Converts the given NTV2Channel value into its equivalent NTV2EmbeddedAudioInput.
@ NTV2_VANCMODE_OFF
This identifies the mode in which there are no VANC lines in the frame buffer.
void Make10BitWhiteLine(UWord *pOutLineData, const ULWord inNumPixels=1920)
Writes a line of unpacked, legal SMPTE 10-bit Y/C white values into the given buffer.
std::string NTV2AudioChannelPairToString(const NTV2AudioChannelPair inValue, const bool inCompactDisplay=false)
ULWord GetIndexForNTV2Crosspoint(const NTV2Crosspoint inChannel)
void CopyFromQuadrant(uint8_t *srcBuffer, uint32_t srcHeight, uint32_t srcRowBytes, uint32_t srcQuadrant, uint8_t *dstBuffer, uint32_t quad13Offset=0)
ULWord GetNTV2FrameGeometryWidth(const NTV2FrameGeometry inFrameGeometry)
std::string NTV2M31VideoPresetToString(const M31VideoPreset inValue, const bool inForRetailDisplay=false)
NTV2ReferenceSource
These enum values identify a specific source for the device's (output) reference clock.
NTV2Crosspoint GetNTV2CrosspointForIndex(const ULWord inIndex0)
bool NTV2IsCompatibleBitfileName(const std::string &inBitfileName, const NTV2DeviceID inDeviceID)
std::vector< uint16_t > UWordSequence
An ordered sequence of UWord (uint16_t) values.
AutoCirculate Frame Range.
std::set< NTV2FrameGeometry > NTV2GeometrySet
A set of distinct NTV2FrameGeometry values.
NTV2InputCrosspointIDs::iterator NTV2InputCrosspointIDsIter
A convenient non-const iterator for NTV2InputCrosspointIDs.
NTV2Mode
Used to identify the mode of a widget_framestore, or the direction of an AutoCirculate stream: either...
NTV2HDMIProtocol
Indicates or specifies the HDMI protocol.
#define NTV2_IS_VALID_STANDARD(__s__)
void MaskYCbCrLine(UWord *ycbcrLine, UWord signalMask, ULWord numPixels)
NTV2DeviceIDList::iterator NTV2DeviceIDListIter
A convenient non-const iterator for NTV2DeviceIDList.
NTV2TCIndex NTV2ChannelToTimecodeIndex(const NTV2Channel inChannel, const bool inEmbeddedLTC=false, const bool inIsF2=false)
Converts the given NTV2Channel value into the equivalent NTV2TCIndex value.
std::string NTV2DeviceIDToString(const NTV2DeviceID inValue, const bool inForRetailDisplay=false)
std::string NTV2MixerInputControlToString(const NTV2MixerKeyerInputControl inValue, const bool inCompactDisplay=false)
NTV2FrameRate GetFrameRateFamily(const NTV2FrameRate inFrameRate)
NTV2TCIndex
These enum values are indexes into the capture/playout AutoCirculate timecode arrays.
bool UnpackLine_10BitYUVtoU16s(std::vector< uint16_t > &outYCbCrLine, const NTV2Buffer &inFrameBuffer, const NTV2FormatDescriptor &inDescriptor, const UWord inLineOffset)
Unpacks up to one raster line of an NTV2_FBF_10BIT_YCBCR frame buffer into an array of uint16_t value...
std::string NTV2IsoConvertModeToString(const NTV2IsoConvertMode inValue, const bool inCompactDisplay=false)
bool IsTransportCompatibleFormat(const NTV2VideoFormat inFormat1, const NTV2VideoFormat inFormat2)
bool StringToSerialNum64(const std::string &inSerNumStr, uint64_t &outSerNum)
std::string NTV2StandardToString(const NTV2Standard inValue, const bool inForRetailDisplay=false)
std::string NTV2InputCrosspointIDToString(const NTV2InputCrosspointID inValue, const bool inForRetailDisplay=false)
NTV2AudioChannelPair
Identifies a pair of audio channels.
Enumerations for controlling NTV2 devices.
NTV2RegWrites NTV2RegisterReads
std::string NTV2VANCModeToString(const NTV2VANCMode inValue, const bool inCompactDisplay=false)
bool Is8KFormat(const NTV2VideoFormat format)
@ NTV2_FBF_8BIT_YCBCR
See 8-Bit YCbCr Format.
NTV2InputSource GetNTV2InputSourceForIndex(const ULWord inIndex0, const NTV2IOKinds inKinds=NTV2_IOKINDS_SDI)
void Make10BitBlackLine(UWord *pOutLineData, const ULWord inNumPixels=1920)
Writes a line of unpacked, legal SMPTE 10-bit Y/C black values into the given buffer.
NTV2Framesize
Kona2/Xena2 specific enums.
std::string NTV2TaskModeToString(const NTV2EveryFrameTaskMode inValue, const bool inCompactDisplay=false)
void UnpackLine_10BitYUVto16BitYUV(const ULWord *pIn10BitYUVLine, UWord *pOut16BitYUVLine, const ULWord inNumPixels)
Unpacks a line of 10-bit-per-component YCbCr video into 16-bit-per-component YCbCr (NTV2_FBF_10BIT_YC...
std::string NTV2VideoFormatToString(const NTV2VideoFormat inValue, const bool inUseFrameRate=false)
NTV2FrameGeometry Get4xSizedGeometry(const NTV2FrameGeometry inGeometry)
NTV2BreakoutType
Identifies the Breakout Boxes and Cables that may be attached to an AJA NTV2 device.
NTV2InputCrosspointID
Identifies a widget input that potentially can accept a signal emitted from another widget's output (...
std::string NTV2HDMIRangeToString(const NTV2HDMIRange inValue, const bool inCompactDisplay=false)
@ NTV2_DEVICEKIND_ALL
Specifies any/all devices.
void StackQuadrants(uint8_t *pSrc, uint32_t srcWidth, uint32_t srcHeight, uint32_t srcRowBytes, uint8_t *pDst)
NTV2Crosspoint NTV2ChannelToInputCrosspoint(const NTV2Channel inChannel)
bool IsVideoFormatA(const NTV2VideoFormat format)
NTV2Crosspoint NTV2ChannelToOutputCrosspoint(const NTV2Channel inChannel)
void Make8BitWhiteLine(UByte *lineData, ULWord numPixels=1920, NTV2FrameBufferFormat=NTV2_FBF_8BIT_YCBCR)
NTV2RegNumSet ToRegNumSet(const NTV2RegisterReads &inRegReads)
ULWord GetVideoActiveSize(const NTV2VideoFormat inVideoFormat, const NTV2FrameBufferFormat inFBFormat, const NTV2VANCMode inVancMode=NTV2_VANCMODE_OFF)
NTV2AudioLoopBack
This enum value determines/states if an audio output embedder will embed silence (zeroes) or de-embed...
bool IsNTV2CrosspointOutput(const NTV2Crosspoint inChannel)
std::string NTV2AudioChannelOctetToString(const NTV2Audio8ChannelSelect inValue, const bool inCompactDisplay=false)
NTV2VideoFormat GetQuarterSizedVideoFormat(const NTV2VideoFormat inVideoFormat)
std::string NTV2HDMIProtocolToString(const NTV2HDMIProtocol inValue, const bool inCompactDisplay=false)
std::string NTV2GetVersionString(const bool inDetailed=false)
ULWord GetVideoWriteSize(const NTV2VideoFormat inVideoFormat, const NTV2FrameBufferFormat inFBFormat, const NTV2VANCMode inVancMode=NTV2_VANCMODE_OFF)
Identical to the GetVideoActiveSize function, except rounds the result up to the nearest 4K page size...
void Fill4k8BitYCbCrVideoFrame(PULWord _baseVideoAddress, NTV2FrameBufferFormat frameBufferFormat, YCbCrPixel color, bool vancEnabled=false, bool b4k=false, bool wideVANC=false)
std::string PercentDecode(const std::string &inStr)
std::vector< std::string > NTV2StringList
void MaskUnPacked10BitYCbCrBuffer(uint16_t *ycbcrUnPackedBuffer, uint16_t signalMask, uint32_t numPixels)
NTV2VANCMode
These enum values identify the available VANC modes.
std::string NTV2AudioSourceToString(const NTV2AudioSource inValue, const bool inCompactDisplay=false)
void UnPack10BitDPXtoRGBAlpha10BitPixel(RGBAlpha10BitPixel *rgba10BitBuffer, const ULWord *DPXLinebuffer, ULWord numPixels, bool bigEndian)
void Make8BitLine(UByte *lineData, UByte Y, UByte Cb, UByte Cr, ULWord numPixels=1920, NTV2FrameBufferFormat=NTV2_FBF_8BIT_YCBCR)
NTV2SmpteLineNumber GetSmpteLineNumber(const NTV2Standard inStandard)
For the given video standard, returns the SMPTE-designated line numbers for Field 1 and Field 2 that ...
NTV2ACFrameRange(const UWord inFirstFrame, const UWord inLastFrame)
bool AddAudioTone(ULWord &outNumBytesWritten, NTV2Buffer &inAudioBuffer, ULWord &inOutCurrentSample, const ULWord inNumSamples, const double inSampleRate, const double inAmplitude, const double inFrequency, const ULWord inNumBits, const bool inByteSwap, const ULWord inNumChannels)
Fills the given buffer with 32-bit (ULWord) audio tone samples.
NTV2GeometrySet GetRelatedGeometries(const NTV2FrameGeometry inFrameGeometry)
std::string NTV2MixerKeyerModeToString(const NTV2MixerKeyerMode inValue, const bool inCompactDisplay=false)
bool IsVideoFormatJ2KSupported(const NTV2VideoFormat format)
NTV2FrameGeometry GetGeometryFromFrameDimensions(const NTV2FrameDimensions &inFD)
std::string NTV2CrosspointToString(const NTV2Crosspoint inChannel)
int RecordCopyAudio(PULWord pAja, PULWord pSR, int iStartSample, int iNumBytes, int iChan0, int iNumChans, bool bKeepAudio24Bits)
NTV2OutputCrosspointID
Identifies a widget output, a signal source, that potentially can drive another widget's input (ident...
NTV2InputSource
Identifies a specific video input source.
ULWord GetNTV2FrameGeometryHeight(const NTV2FrameGeometry inFrameGeometry)
bool IsNTV2CrosspointInput(const NTV2Crosspoint inChannel)
NTV2VideoFormat GetInputForConversionMode(const NTV2ConversionMode conversionMode)
NTV2OutputCrosspointIDs::const_iterator NTV2OutputCrosspointIDsConstIter
A convenient const iterator for NTV2OutputCrosspointIDs.
void Make10BitLine(UWord *lineData, const UWord Y, const UWord Cb, const UWord Cr, const ULWord numPixels=1920)
std::vector< NTV2InputCrosspointID > NTV2InputCrosspointIDs
An ordered sequence of NTV2InputCrosspointID values.
NTV2FrameRate GetFrameRateFromScale(long scale, long duration, NTV2FrameRate playFrameRate)
Used to describe Start of Active Video (SAV) location and field dominance for a given NTV2Standard....
#define NTV2_SHOULD_BE_DEPRECATED(__f__)
NTV2VideoLimiting
These enum values identify the available SDI video output limiting modes.
bool Fill10BitYCbCrVideoFrame(void *pBaseVideoAddress, const NTV2Standard inStandard, const NTV2FrameBufferFormat inPixelFormat, const YCbCr10BitPixel inPixelColor, const NTV2VANCMode inVancMode=NTV2_VANCMODE_OFF)
std::string NTV2HDMIColorSpaceToString(const NTV2HDMIColorSpace inValue, const bool inCompactDisplay=false)
std::string NTV2UpConvertModeToString(const NTV2UpConvertMode inValue, const bool inCompactDisplay=false)
void Make8BitBlackLine(UByte *lineData, ULWord numPixels=1920, NTV2FrameBufferFormat=NTV2_FBF_8BIT_YCBCR)
UWord lastFrame(void) const
std::vector< NTV2OutputCrosspointID > NTV2OutputCrosspointIDs
An ordered sequence of NTV2OutputCrosspointID values.
std::string NTV2FrameBufferFormatToString(const NTV2FrameBufferFormat inValue, const bool inForRetailDisplay=false)
std::string NTV2WidgetTypeToString(const NTV2WidgetType inValue, const bool inCompactDisplay=false)
NTV2RegisterWriteMode
These values are used to determine when certain register writes actually take effect....
bool UnpackLine_10BitYUVtoUWordSequence(const void *pIn10BitYUVLine, UWordSequence &out16BitYUVLine, ULWord inNumPixels)
Unpacks a line of NTV2_FBF_10BIT_YCBCR video into 16-bit-per-component YUV data.
NTV2VideoFormat GetFirstMatchingVideoFormat(const NTV2FrameRate inFrameRate, const UWord inHeightLines, const UWord inWidthPixels, const bool inIsInterlaced, const bool inIsLevelB, const bool inIsPSF)
bool NTV2DeviceCanDoFormat(const NTV2DeviceID inDevID, const NTV2FrameRate inFR, const NTV2FrameGeometry inFG, const NTV2Standard inStd)
void MakeUnPacked10BitYCbCrBuffer(uint16_t *buffer, uint16_t Y, uint16_t Cb, uint16_t Cr, uint32_t numPixels)
bool IsRGBFormat(const NTV2FrameBufferFormat format)
Enumerations for controlling NTV2 devices with m31 HEVC encoders.
ULWord GetAudioSamplesPerFrame(const NTV2FrameRate inFrameRate, const NTV2AudioRate inAudioRate, ULWord inCadenceFrame=0, bool inIsSMPTE372Enabled=false)
Returns the number of audio samples for a given video frame rate, audio sample rate,...
std::string NTV2RegisterWriteModeToString(const NTV2RegisterWriteMode inValue, const bool inForRetailDisplay=false)
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
NTV2RegisterReads FromRegNumSet(const NTV2RegNumSet &inRegNumSet)
bool IsYCbCrFormat(const NTV2FrameBufferFormat format)
void ConvertLineTo8BitYCbCr(const uint16_t *ycbcr10BitBuffer, uint8_t *ycbcr8BitBuffer, const uint32_t numPixels)
NTV2FrameGeometry GetGeometryFromStandard(const NTV2Standard inStandard)
bool setExactRange(const UWord inFirstFrame, const UWord inLastFrame)
NTV2FrameGeometry
Identifies a particular video frame geometry.
void RePackLineDataForYCbCrDPX(ULWord *packedycbcrLine, ULWord numULWords)
ULWord GetIndexForNTV2CrosspointInput(const NTV2Crosspoint inChannel)
std::string NTV2AudioLoopBackToString(const NTV2AudioLoopBack inValue, const bool inForRetailDisplay=false)
NTV2EveryFrameTaskMode
Describes the task mode state. See also: Sharing AJA Devices With Other Applications.
NTV2VideoFormat GetQuadSizedVideoFormat(const NTV2VideoFormat inVideoFormat, const bool isSquareDivision=true)
std::set< NTV2DeviceID > NTV2DeviceIDSet
A set of NTV2DeviceIDs.
NTV2ConversionMode GetConversionMode(const NTV2VideoFormat inFormat, const NTV2VideoFormat outFormat)
bool Fill8BitYCbCrVideoFrame(void *pBaseVideoAddress, const NTV2Standard inStandard, const NTV2FrameBufferFormat inFBF, const YCbCrPixel inPixelColor, const NTV2VANCMode inVancMode=NTV2_VANCMODE_OFF)
ULWord GetDisplayWidth(const NTV2VideoFormat videoFormat)
std::string NTV2VideoLimitingToString(const NTV2VideoLimiting inValue, const bool inCompactDisplay=false)
NTV2Channel NTV2CrosspointToNTV2Channel(const NTV2Crosspoint inCrosspointChannel)
NTV2Standard Get4xSizedStandard(const NTV2Standard inGeometry, const bool bIs4k=false)
NTV2Audio4ChannelSelect
Identifies a contiguous, adjacent group of four audio channels.
NTV2StringList::const_iterator NTV2StringListConstIter
std::string NTV2FramesizeToString(const NTV2Framesize inValue, const bool inCompactDisplay=false)
NTV2Standard GetStandardFromGeometry(const NTV2FrameGeometry inGeometry, const bool inIsProgressive=true)
double GetAudioSamplesPerSecond(const NTV2AudioRate inAudioRate)
Returns the audio sample rate as a number of audio samples per second.
void PackLine_16BitYUVto10BitYUV(const UWord *pIn16BitYUVLine, ULWord *pOut10BitYUVLine, const ULWord inNumPixels)
Packs a line of 16-bit-per-component YCbCr (NTV2_FBF_10BIT_YCBCR) video into 10-bit-per-component YCb...
NTV2VideoFormat GetOutputForConversionMode(const NTV2ConversionMode conversionMode)
NTV2InputSource NTV2TimecodeIndexToInputSource(const NTV2TCIndex inTCIndex)
Converts the given NTV2TCIndex value into the appropriate NTV2InputSource value.
bool setRangeWithCount(const UWord inCount, const UWord inFirstFrame)
bool isCountOnly(void) const
std::string NTV2ChannelToString(const NTV2Channel inValue, const bool inForRetailDisplay=false)
enum NTV2AncillaryDataRegion NTV2AncDataRgn
@ NTV2_IOKINDS_SDI
Specifies SDI input/output kinds.
bool IsRaw(const NTV2FrameBufferFormat format)
NTV2Standard GetNTV2StandardFromVideoFormat(const NTV2VideoFormat inVideoFormat)
std::string NTV2AudioRateToString(const NTV2AudioRate inValue, const bool inForRetailDisplay=false)
std::string NTV2EmbeddedAudioInputToString(const NTV2EmbeddedAudioInput inValue, const bool inCompactDisplay=false)
bool Is4KFormat(const NTV2VideoFormat format)
Declares enums and structs used by all platform drivers and the SDK.
bool IsPSF(const NTV2VideoFormat format)
std::string NTV2BitfileTypeToString(const NTV2BitfileType inValue, const bool inCompactDisplay=false)
bool IsMultiFormatCompatible(const NTV2FrameRate inFrameRate1, const NTV2FrameRate inFrameRate2)
Compares two frame rates and returns true if they are "compatible" (with respect to a multiformat-cap...
std::vector< NTV2DeviceID > NTV2DeviceIDList
An ordered list of NTV2DeviceIDs.
std::string NTV2OutputCrosspointIDToString(const NTV2OutputCrosspointID inValue, const bool inForRetailDisplay=false)
NTV2AudioSource NTV2InputSourceToAudioSource(const NTV2InputSource inInputSource)
std::string NTV2ReferenceSourceToString(const NTV2ReferenceSource inValue, const bool inForRetailDisplay=false)
bool SetRasterLinesBlack(const NTV2PixelFormat inPixelFormat, UByte *pDstBuffer, const ULWord inDstBytesPerLine, const UWord inDstTotalLines)
Sets all or part of a destination raster image to legal black.
NTV2EmbeddedAudioInput
This enum value determines/states which SDI video input will be used to supply audio samples to an au...
INTERRUPT_ENUMS NTV2ChannelToOutputInterrupt(const NTV2Channel inChannel)
Converts the given NTV2Channel value into the equivalent output INTERRUPT_ENUMS value.
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information.
bool GetInstalledMacDriverVersion(UWord &outMaj, UWord &outMin, UWord &outPt, UWord &outBld, UWord &outType)
std::string NTV2IpErrorEnumToString(const NTV2IpError inIpErrorEnumValue)
struct NTV2SmpteLineNumber NTV2SmpteLineNumber
Used to describe Start of Active Video (SAV) location and field dominance for a given NTV2Standard....
ULWord GetIndexForNTV2CrosspointChannel(const NTV2Crosspoint inChannel)
bool firstFieldTop
True if the first field on the wire is the top-most field in the raster (field dominance)
NTV2MixerKeyerMode
These enum values identify the mixer mode.
NTV2Audio8ChannelSelect
Identifies a contiguous, adjacent group of eight audio channels.
std::string NTV2ModeToString(const NTV2Mode inValue, const bool inCompactDisplay=false)
NTV2AudioSource
This enum value determines/states where an audio system will obtain its audio samples.
std::string NTV2FrameRateToString(const NTV2FrameRate inValue, const bool inForRetailDisplay=false)
ULWord AddAudioTestPattern(ULWord *pAudioBuffer, ULWord &inOutCurrentSample, const ULWord inNumSamples, const ULWord inModulus, const bool inEndianConvert, const ULWord inNumChannels)
NTV2AudioSystem NTV2ChannelToAudioSystem(const NTV2Channel inChannel)
Converts the given NTV2Channel value into its equivalent NTV2AudioSystem.
std::string NTV2WidgetIDToString(const NTV2WidgetID inValue, const bool inCompactDisplay=false)
NTV2Crosspoint
Logically, these are an NTV2Channel combined with an NTV2Mode.
bool setCountOnly(const UWord inCount)
ULWord smpteSecondActiveLine
SMPTE line number of second active line of video.
NTV2AudioBufferSize
Represents the size of the audio buffer used by a device audio system for storing captured samples or...
std::string SerialNum64ToString(const uint64_t &inSerNum)
ULWord GetVaricamRepeatCount(const NTV2FrameRate inSequenceRate, const NTV2FrameRate inPlayRate, const ULWord inCadenceFrame=0)
std::string NTV2AudioSystemToString(const NTV2AudioSystem inValue, const bool inCompactDisplay=false)
bool Is2KFormat(const NTV2VideoFormat format)
std::string NTV2OutputDestinationToString(const NTV2OutputDestination inValue, const bool inForRetailDisplay=false)
std::string NTV2HDMIBitDepthToString(const NTV2HDMIBitDepth inValue, const bool inCompactDisplay=false)