|
AJA NTV2 SDK
17.1.3.1410
NTV2 SDK 17.1.3.1410
|
Go to the documentation of this file.
216 m_uVPID = inVPID.m_uVPID;
224 m_uVPID = inRHS.m_uVPID;
235 return SetVPIDData (m_uVPID, videoFormat, frameBufferFormat, progressive, aspect16x9, channel);
246 return SetVPIDData (m_uVPID, videoFormat, dualLink, format48Bit, output3Gb, st425, channel);
489 ULWord lowBit(0), highBit(0);
490 highBit = (inColorimetry&0x2)>>1;
491 lowBit = inColorimetry&0x1;
516 uint8_t lowBit(0), highBit(0), value(0);
519 value = (highBit << 1)|lowBit;
581 const bool inIsProgressive,
582 const bool inIs16x9Aspect,
584 const bool inUseChannel)
586 (
void)inIsProgressive;
587 (
void)inIs16x9Aspect;
589 bool bRGB48Bit (
false);
590 bool bDualLinkRGB (
false);
591 const bool kOutput3Gb (
false);
593 switch(inFrameBufferFormat)
614 bDualLinkRGB =
false;
633 const bool inIsDualLinkRGB,
634 const bool inIsRGB48Bit,
635 const bool inOutputIs3Gb,
636 const bool inIsSMPTE425,
638 const bool inUseChannel,
639 const bool inOutputIs6G,
640 const bool inOutputIs12G,
649 ::memset (&vpidSpec, 0,
sizeof(vpidSpec));
684 switch (vpidStandard)
687 switch (vpidFrameRate)
700 switch (vpidFrameRate)
728 if (vpidProgTransport)
730 if (vpidHorizontal2048)
741 if (vpidHorizontal2048)
753 if (vpidHorizontal2048)
766 if (vpidProgTransport)
768 if (vpidHorizontal2048)
779 if (vpidHorizontal2048)
791 if (vpidHorizontal2048)
801 if (vpidHorizontal2048)
812 if (vpidHorizontal2048)
829 #define VPID_ENUM_CASE_RETURN_STR(enum_name) case(enum_name): return #enum_name
1027 #if !defined(_DEBUG)
1085 #if !defined(_DEBUG)
1321 static const string sVPIDPictureRate[] = {
"None",
"Reserved1",
"23.98",
"24.00",
"47.95",
"25.00",
"29.97",
"30.00",
"48.00",
"50.00",
"59.94",
"60.00",
1322 "ReservedC",
"ReservedD",
"ReservedE",
"ReservedF" };
1323 static const string sVPIDSampling[] = {
"YCbCr 4:2:2",
"YCbCr 4:4:4",
"GBR 4:4:4",
"YCbCr 4:2:0",
"YCbCrA 4:2:2:4",
"YCbCrA 4:4:4:4",
1324 "GBRA 4:4:4:4",
"Reserved7",
"YCbCrD 4:2:2:4",
"YCbCrD 4:4:4:4",
"GBRD 4:4:4:4",
"ReservedB",
1325 "ReservedC",
"ReservedD",
"ReservedE",
"XYZ 4:4:4" };
1326 static const string sVPIDChannel[] = {
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8" };
1329 static const string sVPIDLink[] = {
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8" };
1330 static const string sVPIDAudio[] = {
"Unknown",
"Copied",
"Additional",
"Reserved" };
1340 ostrm <<
"VPID " <<
xHEX0N(m_uVPID,8)
1363 ostrm <<
"VPID " <<
xHEX0N(m_uVPID,8) << endl
1384 #define YesOrNo(__x__) ((__x__) ? "Yes" : "No")
1388 ostringstream hexConv; hexConv <<
xHEX0N(m_uVPID,8);
1420 { ostringstream oss;
1428 return inData.
Print(ostrm);
@ VPIDStandard_1080_QuadLink
@ NTV2_FORMAT_3840x2160p_6000
@ VPIDStandard_2160_Stereo_Quad_3Gb
@ NTV2_FORMAT_4x1920x1080p_6000
@ VPIDStandard_1080_DualLink_3Gb
@ NTV2_FORMAT_1080psf_2398
#define NTV2_IS_3G_FORMAT(__f__)
static const std::string DynamicRangeString(const VPIDDynamicRange range)
@ NTV2_FORMAT_4096x2160p_2400
@ NTV2_FBF_ARGB
See 8-Bit ARGB, RGBA, ABGR Formats.
virtual AJALabelValuePairs & GetInfo(AJALabelValuePairs &outInfo) const
static NTV2VideoFormat stTable7680p[VPIDPictureRate_ReservedF+1]
NTV2VPIDTransferCharacteristics transferCharacteristics
Describes the transfer characteristics.
virtual CNTV2VPID & SetSampling(const VPIDSampling inSampling)
static const string sVPIDTransfer[]
@ NTV2_FORMAT_4x4096x2160p_4800
@ NTV2_FORMAT_4x4096x2160p_2398
@ VPIDStandard_UHDTV2_Quad_OctaLink_10Gb
NTV2VideoFormat videoFormat
Specifies the format of the video stream.
@ VPIDStandard_1080_OctLink
static NTV2VideoFormat stTable4096pTSI[VPIDPictureRate_ReservedF+1]
@ NTV2_FORMAT_4096x2160p_2500
@ VPIDStandard_FT_2048x1556_Dual
@ VPIDStandard_VC2_Level65_270Mbs
@ kRegShiftVPIDProgressivePicture
virtual NTV2VPIDRGBRange GetRGBRange(void) const
@ NTV2_FORMAT_4x2048x1080p_4795
@ NTV2_FBF_10BIT_DPX_LE
10-Bit DPX Little-Endian
virtual CNTV2VPID & SetProgressiveTransport(const bool inIsProgressiveTransport)
static const std::string AudioString(const VPIDAudio audio)
#define NTV2_ASSERT(_expr_)
static const std::string StandardString(const VPIDStandard std)
@ NTV2_FORMAT_1080p_2K_6000_B
static const std::string VersionString(const VPIDVersion version)
@ NTV2_FBF_RGBA
See 8-Bit ARGB, RGBA, ABGR Formats.
@ NTV2_FORMAT_1080psf_2K_2398
@ kRegMaskVPIDProgressivePicture
@ VPIDStandard_1080_Stereo_3Gb
static const string sVPIDRGBRange[]
@ NTV2_FORMAT_1080p_2K_4800_A
@ NTV2_FBF_48BIT_RGB
See 48-Bit RGB.
@ kRegShiftVPIDProgressiveTransport
enum NTV2VPIDTransferCharacteristics NTV2VPIDXferChars
@ NTV2_FORMAT_4x1920x1080psf_3000
bool isOutputLevelA
If true, the video stream will leave the device as a level A signal.
#define VPID_ENUM_CASE_RETURN_STR(enum_name)
@ kRegShiftVPIDColorimetry
@ NTV2_FORMAT_1080p_2K_3000
@ NTV2_FORMAT_4x2048x1080p_2997
@ NTV2_FBF_10BIT_ARGB
10-Bit ARGB
@ NTV2_FORMAT_4x4096x2160p_2500
bool isTwoSampleInterleave
If true, the video stream is in SMPTE 425-3 two sample interleave format.
@ NTV2_FORMAT_4x4096x2160p_4795
@ NTV2_FORMAT_4x1920x1080p_2997
@ NTV2_FORMAT_4x1920x1080p_2500
virtual CNTV2VPID & SetTransferCharacteristics(const NTV2VPIDXferChars inXferChars)
@ NTV2_FORMAT_4x2048x1080p_4800
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
@ NTV2_FORMAT_4x3840x2160p_2500
static bool stTablesInitialized(false)
static const string sVPIDAudio[]
virtual VPIDSampling GetSampling(void) const
virtual VPIDBitDepth GetBitDepth(void) const
virtual std::ostream & PrintPretty(std::ostream &ostrm) const
virtual CNTV2VPID & SetImageAspect16x9(const bool inIs16x9Aspect)
virtual VPIDPictureRate GetPictureRate(void) const
static bool VPIDStandardIsQuadLink(const VPIDStandard inStd)
@ NTV2_FBF_10BIT_DPX
See 10-Bit RGB - DPX Format.
@ VPIDStandard_483_576_3Gb
virtual bool GetProgressivePicture(void) const
NTV2VPIDLuminance luminance
Describes the luminance and color difference.
static NTV2VideoFormat stTable3840pSID[VPIDPictureRate_ReservedF+1]
static NTV2VideoFormat stTable2048i[VPIDPictureRate_ReservedF+1]
@ kRegMaskVPIDDualLinkChannel
static NTV2VideoFormat stTable4096psfSID[VPIDPictureRate_ReservedF+1]
bool isStereo
If true, the video stream is part of a stereo pair.
static const string sVPIDLink[]
virtual VPIDVersion GetVersion(void) const
@ NTV2_FORMAT_4x3840x2160p_2398
@ NTV2_FBF_24BIT_RGB
See 24-Bit RGB.
virtual CNTV2VPID & SetVersion(const VPIDVersion inVersion)
@ NTV2_FORMAT_1080p_2K_4795_A
@ NTV2_FORMAT_3840x2160p_2500
@ kRegMaskVPIDPictureRate
@ VPIDStandard_2160_DualLink
@ VPIDStandard_1080_Dual_3Gb
@ kRegShiftVPIDImageAspect16x9
Contains all the information needed to generate a valid VPID.
@ NTV2_FORMAT_4x4096x2160p_2997
@ kRegMaskVPIDImageAspect16x9Alt
virtual NTV2VPIDXferChars GetTransferCharacteristics(void) const
@ VPIDPictureRate_Reserved1
Declares functions for the C implementations of VPID generation from a VPIDSpec.
VPIDChannel vpidChannel
Specifies the channel number of the video stream.
@ NTV2_FORMAT_4x2048x1080psf_2398
@ NTV2_FBF_10BIT_RGB_PACKED
10-Bit Packed RGB
virtual std::string AsString(const bool inTabular=false) const
@ NTV2_FORMAT_4x2048x1080p_2398
static NTV2VideoFormat stTable1920p[VPIDPictureRate_ReservedF+1]
@ VPIDStandard_1080_Stereo_Quad_3Gb
bool SetVPIDFromSpec(ULWord *const pOutVPID, const VPIDSpec *const pInVPIDSpec)
Generates a VPID based on the supplied specification.
static const std::string BitDepthString(const VPIDBitDepth depth)
@ NTV2_FORMAT_1080psf_2K_2500
@ NTV2_FORMAT_4x2048x1080psf_2400
@ VPIDStandard_UHDTV1_MultiLink_10Gb
static const std::string VPIDStandardToString(const VPIDStandard inStd)
@ NTV2_FORMAT_1080p_5994_B
@ NTV2_FORMAT_1080psf_3000_2
@ NTV2_FORMAT_1080p_2K_2400
@ VPIDStandard_4320_DualLink_12Gb
static bool SetVPIDData(ULWord &outVPID, const NTV2VideoFormat inOutputFormat, const NTV2FrameBufferFormat inFrameBufferFormat, const bool inIsProgressive, const bool inIs16x9Aspect, const VPIDChannel inVPIDChannel, const bool inUseVPIDChannel=true)
@ NTV2_FORMAT_4x2048x1080p_3000
bool isOutputLevelB
If true, the video stream will leave the device as a level B signal.
@ NTV2_FORMAT_4096x2160p_4795
@ NTV2_FORMAT_4x4096x2160p_3000
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...
@ VPIDStandard_4K_DCPIF_FSW709_10Gbs
@ NTV2_FORMAT_4x2048x1080psf_3000
@ VPIDStandard_1080_AFR_Single_6Gb
static NTV2VideoFormat stTable4096pSID[VPIDPictureRate_ReservedF+1]
@ NTV2_FORMAT_1080p_2K_4795_B
@ kRegShiftVPIDColorimetryAltLow
A convenience class that simplifies encoding or decoding the 4-byte VPID payload that can be read or ...
@ VPIDStandard_UHDTV1_Single_DualLink_10Gb
static NTV2VideoFormat stTable3840psfSID[VPIDPictureRate_ReservedF+1]
@ NTV2_FORMAT_4x3840x2160p_5994
@ NTV2_FORMAT_4096x2160p_2398
static NTV2VideoFormat stTable1920i[VPIDPictureRate_ReservedF+1]
@ kRegMaskVPIDColorimetry
@ VPIDStandard_2160_QuadLink_3Ga
@ VPIDStandard_483_576_DualLink
virtual CNTV2VPID & SetChannel(const VPIDChannel inChannel)
static const string sVPIDDynamicRange[]
virtual void ToString(std::string &outAllLabelsAndValues) const
Answers with a multi-line string that contains the complete host system info table.
virtual NTV2VPIDColorimetry GetColorimetry(void) const
virtual std::ostream & Print(std::ostream &ostrm) const
@ NTV2_FORMAT_4x2048x1080p_5000
@ kRegShiftVPIDColorimetryAltHigh
@ NTV2_FBF_24BIT_BGR
See 24-Bit BGR.
@ NTV2_FORMAT_4096x2160p_6000
static bool VPIDStandardIsOctLink(const VPIDStandard inStd)
@ VPIDStandard_720_1080_Stereo
@ NTV2_FORMAT_4x1920x1080p_3000
@ NTV2_FORMAT_4x3840x2160p_2997
@ VPIDPictureRate_ReservedD
static const std::string SamplingString(const VPIDSampling sample)
Declares numerous NTV2 utility functions.
ostream & operator<<(std::ostream &ostrm, const CNTV2VPID &inData)
@ NTV2_FORMAT_1080p_5000_B
@ VPIDStandard_4320_QuadLink_12Gb
std::string NTV2VideoFormatToString(const NTV2VideoFormat inValue, const bool inUseFrameRate=false)
#define NTV2_IS_372_DUALLINK_FORMAT(__f__)
@ NTV2_FORMAT_4x3840x2160p_5000
@ NTV2_FORMAT_1080p_2K_5994_A
@ VPIDStandard_2160_Single_12Gb
@ VPIDStandard_1080_Stereo_3Ga
@ VPIDStandard_1080_Stereo_Quad_3Ga
@ VPIDStandard_FT_2048x1556_3Gb
@ VPIDStandard_483_576_1485Mbs
virtual CNTV2VPID & SetLuminance(const NTV2VPIDLuminance inLuminance)
@ VPIDStandard_2160_DualLink_12Gb
@ NTV2_FORMAT_1080p_2K_2500
@ VPIDStandard_1080_Single_6Gb
@ VPIDStandard_1080_Dual_3Ga
@ NTV2_FORMAT_4x1920x1080psf_2997
static NTV2VideoFormat stTable720p[VPIDPictureRate_ReservedF+1]
@ NTV2_FORMAT_1080p_6000_A
static const std::string LinkString(const VPIDLink link)
@ NTV2_FORMAT_1080p_2K_2398
@ NTV2_FORMAT_3840x2160p_2997
@ NTV2_FORMAT_4096x2160p_4800
@ VPIDStandard_2160_Single_6Gb
virtual CNTV2VPID & SetBitDepth(const VPIDBitDepth inBitDepth)
@ VPIDStandard_2160_QuadDualLink_3Gb
@ NTV2_FORMAT_1080psf_2K_2400
@ kRegMaskVPIDColorimetryAltHigh
CNTV2VPID(const ULWord inData=0)
@ NTV2_FORMAT_3840x2160p_5994
@ NTV2_FORMAT_4x4096x2160p_2400
@ VPIDStandard_1080_10_12_AFR_Single_12Gb
@ NTV2_FORMAT_4x4096x2160p_6000
@ NTV2_FORMAT_3840x2160p_2398
virtual bool IsStandardTwoSampleInterleave(void) const
@ kRegMaskVPIDColorimetryAltLow
@ NTV2_FORMAT_4x1920x1080psf_2398
virtual CNTV2VPID & SetPictureRate(const VPIDPictureRate inPictureRate)
@ NTV2_FORMAT_1080p_2K_6000_A
Declares the CNTV2VPID class. See SMPTE 352 standard for details.
bool isDualLink
If true, the video stream is part of a SMPTE 372 dual link signal.
virtual bool GetImageAspect16x9(void) const
bool isRightEye
If true, the video stream is the right eye of a stereo pair.
@ NTV2_FORMAT_4096x2160p_3000
static NTV2VideoFormat stTable2048p[VPIDPictureRate_ReservedF+1]
bool isOutput12G
If true, the transport on the wire is 12G.
@ NTV2_FORMAT_4x1920x1080psf_2500
static const string sVPIDPictureRate[]
static const std::string PictureRateString(const VPIDPictureRate rate)
@ NTV2_FORMAT_4x3840x2160p_2400
static const std::string ChannelString(const VPIDChannel chan)
@ NTV2_FORMAT_4x2048x1080p_2500
@ NTV2_FORMAT_4x1920x1080p_5994
@ NTV2_FORMAT_4x4096x2160p_5000
@ NTV2_FORMAT_4x3840x2160p_6000
NTV2VPIDRGBRange rgbRange
Describes the RGB range as full or SMPTE.
@ VPIDStandard_720_Stereo_3Ga
@ kRegShiftVPIDDualLinkChannel
virtual NTV2VideoFormat GetVideoFormat(void) const
virtual CNTV2VPID & SetRGBRange(const NTV2VPIDRGBRange inRGBRange)
NTV2FrameBufferFormat pixelFormat
Specifies the pixel format of the source of the video stream.
@ NTV2_FORMAT_1080p_5000_A
@ NTV2_FORMAT_4x2048x1080p_6000
@ kRegMaskVPIDImageAspect16x9
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
virtual CNTV2VPID & SetProgressivePicture(const bool inIsProgressivePicture)
@ NTV2_FORMAT_4096x2160p_5000
NTV2VPIDColorimetry colorimetry
Describes the Colorimetry.
bool isRGBOnWire
If true, the transport on the wire is RGB.
virtual bool GetProgressiveTransport(void) const
virtual bool IsRGBSampling(void) const
@ NTV2_FORMAT_4x1920x1080p_5000
@ NTV2_FORMAT_4x1920x1080p_2398
@ NTV2_FORMAT_1080p_6000_B
virtual VPIDChannel GetChannel(void) const
@ VPIDStandard_1080_DualLink
static const string sVPIDBitDepth[]
@ VPIDStandard_720_Stereo_3Gb
@ NTV2_FORMAT_4096x2160p_2997
@ kRegShiftVPIDImageAspect16x9Alt
@ VPIDDynamicRange_Reserved3
static bool VPIDStandardIsSingleLink(const VPIDStandard inStd)
@ NTV2_FORMAT_1080p_5994_A
static const string sVPIDChannel[]
static NTV2VideoFormat stTable1920psf[VPIDPictureRate_ReservedF+1]
@ NTV2_FORMAT_4x2048x1080p_5994
@ kRegMaskVPIDHorizontalSampling
bool isOutput6G
If true, the transport on the wire is 6G.
static NTV2VideoFormat stTable8192p[VPIDPictureRate_ReservedF+1]
static NTV2VideoFormat stTable3840pTSI[VPIDPictureRate_ReservedF+1]
virtual CNTV2VPID & SetVPID(const ULWord inData)
static VPIDTableInitializer gVPIDTableInitializer
@ NTV2_FORMAT_4x3840x2160p_3000
virtual CNTV2VPID & SetDualLinkChannel(const VPIDChannel inChannel)
@ NTV2_FORMAT_1080p_2K_5994_B
@ NTV2_FBF_16BIT_ARGB
16-Bit ARGB
virtual CNTV2VPID & SetStandard(const VPIDStandard inStandard)
static NTV2VideoFormat stTable2048psf[VPIDPictureRate_ReservedF+1]
@ NTV2_FORMAT_3840x2160p_5000
virtual NTV2VPIDLuminance GetLuminance(void) const
@ VPIDStandard_1080_Stereo_DualLink_3Gb
@ VPIDPictureRate_ReservedC
static const string sVPIDSampling[]
virtual CNTV2VPID & operator=(const CNTV2VPID &inRHS)
@ NTV2_FORMAT_1080p_2K_5000_A
@ VPIDStandard_483_576_540Mbs
@ NTV2_FORMAT_4x2048x1080psf_2500
@ NTV2_FBF_10BIT_RGB
See 10-Bit RGB Format.
@ VPIDStandard_UHDTV2_MultiLink_10Gb
virtual bool IsStandard3Ga(void) const
std::vector< AJALabelValuePair > AJALabelValuePairs
An ordered sequence of label/value pairs.
static bool VPIDStandardIsDualLink(const VPIDStandard inStd)
@ VPIDPictureRate_ReservedE
#define xHEX0N(__x__, __n__)
@ NTV2_FORMAT_1080p_2K_5000_B
@ NTV2_FORMAT_1080psf_2997_2
virtual VPIDStandard GetStandard(void) const
static const string sVPIDLuminance[]
@ NTV2_FORMAT_4x4096x2160p_5994
@ NTV2_FORMAT_4x2048x1080p_2400
@ NTV2_FORMAT_1080p_2K_4800_B
virtual bool IsStandardMultiLink4320(void) const
virtual VPIDChannel GetDualLinkChannel(void) const
@ NTV2_FORMAT_4x1920x1080p_2400
Declares the CNTV2RegisterExpert class.
@ NTV2_FORMAT_4x1920x1080psf_2400
@ NTV2_FORMAT_1080psf_2500_2
static const string sVPIDColorimetry[]
@ VPIDPictureRate_ReservedF
VPIDAudio audioCarriage
Specifies how audio is carried in additional channels.
static const std::string VPIDVersionToString(const VPIDVersion inVers)
@ NTV2_FORMAT_3840x2160p_2400
@ NTV2_FBF_ABGR
See 8-Bit ARGB, RGBA, ABGR Formats.
@ kRegMaskVPIDProgressiveTransport
@ NTV2_FORMAT_3840x2160p_3000
@ NTV2_FORMAT_1080psf_2400
@ NTV2_FORMAT_4096x2160p_5994
virtual CNTV2VPID & SetColorimetry(const NTV2VPIDColorimetry inColorimetry)
@ NTV2_FORMAT_4x2048x1080psf_2997
@ kRegShiftVPIDPictureRate
@ NTV2_FORMAT_1080p_2K_2997
bool useChannel
If true, the following vpidChannel value should be inserted into th VPID.