AJA NTV2 SDK  17.1.1.1245
NTV2 SDK 17.1.1.1245
ntv2utils.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #ifndef NTV2UTILS_H
9 #define NTV2UTILS_H
10 
11 #include "ajaexport.h"
12 #include "ajatypes.h"
13 #include "ntv2enums.h"
14 #include "ntv2videodefines.h"
15 #include "ntv2publicinterface.h"
16 #include "ntv2formatdescriptor.h"
17 #include "ntv2m31enums.h"
18 #include <string>
19 #include <iostream>
20 #include <vector>
21 #if defined (AJALinux)
22  #include <stdint.h>
23 #endif
24 
25 #define Enum2Str(e) {e, #e},
26 // BEGIN SECTION MOVED FROM 'videoutilities.h'
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
33 
34 #define CCIR601_10BIT_BLACK 64 // 0x040
35 #define CCIR601_10BIT_WHITE 940 // 0x3AC
36 #define CCIR601_10BIT_CHROMAOFFSET 512 // 0x200
37 
38 #define CCIR601_8BIT_BLACK 16 // 0x10
39 #define CCIR601_8BIT_WHITE 235 // 0xEB
40 #define CCIR601_8BIT_CHROMAOFFSET 128 // 0x80
41 
42 // line pitch is in bytes.
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__))
49 
50 AJAExport NTV2_SHOULD_BE_DEPRECATED(uint32_t CalcRowBytesForFormat (const NTV2FrameBufferFormat inPF, const uint32_t pixWidth));
51 AJAExport void UnPack10BitYCbCrBuffer (uint32_t* packedBuffer, uint16_t* ycbcrBuffer, uint32_t numPixels);
52 AJAExport void PackTo10BitYCbCrBuffer (const uint16_t *ycbcrBuffer, uint32_t *packedBuffer, const uint32_t numPixels);
53 AJAExport void MakeUnPacked10BitYCbCrBuffer (uint16_t* buffer, uint16_t Y , uint16_t Cb , uint16_t Cr,uint32_t numPixels);
54 AJAExport void ConvertLineTo8BitYCbCr (const uint16_t * ycbcr10BitBuffer, uint8_t * ycbcr8BitBuffer, const uint32_t numPixels);
55 AJAExport void ConvertUnpacked10BitYCbCrToPixelFormat (uint16_t *unPackedBuffer, uint32_t *packedBuffer, uint32_t numPixels, NTV2FrameBufferFormat pixelFormat,
56  bool bUseSmpteRange=false, bool bAlphaFromLuma=false);
57 AJAExport void MaskUnPacked10BitYCbCrBuffer (uint16_t* ycbcrUnPackedBuffer, uint16_t signalMask , uint32_t numPixels);
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);
62 // END SECTION MOVED FROM 'videoutilities.h'
64 
74 AJAExport bool UnpackLine_10BitYUVtoUWordSequence (const void * pIn10BitYUVLine, UWordSequence & out16BitYUVLine, ULWord inNumPixels);
75 
84 AJAExport bool PackLine_UWordSequenceTo10BitYUV (const UWordSequence & in16BitYUVLine, ULWord * pOut10BitYUVLine, const ULWord inNumPixels);
85 
96 AJAExport bool YUVComponentsTo10BitYUVPackedBuffer (const std::vector<uint16_t> & inYCbCrLine, NTV2Buffer & inFrameBuffer,
97  const NTV2FormatDescriptor & inDescriptor, const UWord inLineOffset);
98 
110 AJAExport bool UnpackLine_10BitYUVtoU16s (std::vector<uint16_t> & outYCbCrLine, const NTV2Buffer & inFrameBuffer,
111  const NTV2FormatDescriptor & inDescriptor, const UWord inLineOffset);
112 
120 AJAExport void UnpackLine_10BitYUVto16BitYUV (const ULWord * pIn10BitYUVLine, UWord * pOut16BitYUVLine, const ULWord inNumPixels);
121 
129 AJAExport void PackLine_16BitYUVto10BitYUV (const UWord * pIn16BitYUVLine, ULWord * pOut10BitYUVLine, const ULWord inNumPixels);
130 
131 AJAExport void RePackLineDataForYCbCrDPX (ULWord *packedycbcrLine, ULWord numULWords);
132 AJAExport void UnPack10BitDPXtoRGBAlpha10BitPixel (RGBAlpha10BitPixel* rgba10BitBuffer, const ULWord * DPXLinebuffer, ULWord numPixels, bool bigEndian);
133 AJAExport void UnPack10BitDPXtoForRP215withEndianSwap(UWord* rawrp215Buffer,ULWord* DPXLinebuffer ,ULWord numPixels);
134 AJAExport void UnPack10BitDPXtoForRP215(UWord* rawrp215Buffer,ULWord* DPXLinebuffer ,ULWord numPixels);
135 AJAExport void MaskYCbCrLine(UWord* ycbcrLine, UWord signalMask , ULWord numPixels);
136 
147 AJAExport void Make10BitBlackLine (UWord * pOutLineData, const ULWord inNumPixels = 1920);
148 
159 AJAExport void Make10BitWhiteLine (UWord * pOutLineData, const ULWord inNumPixels = 1920);
160 
164 AJAExport bool Fill10BitYCbCrVideoFrame (void * pBaseVideoAddress,
165  const NTV2Standard inStandard,
166  const NTV2FrameBufferFormat inPixelFormat,
167  const YCbCr10BitPixel inPixelColor,
168  const NTV2VANCMode inVancMode = NTV2_VANCMODE_OFF);
169 
172 AJAExport void Make10BitLine(UWord* lineData, const UWord Y, const UWord Cb, const UWord Cr, const ULWord numPixels = 1920);
173 AJAExport void Make8BitLine(UByte* lineData, UByte Y , UByte Cb , UByte Cr,ULWord numPixels=1920,NTV2FrameBufferFormat=NTV2_FBF_8BIT_YCBCR);
174 AJAExport bool Fill8BitYCbCrVideoFrame (void * pBaseVideoAddress, const NTV2Standard inStandard, const NTV2FrameBufferFormat inFBF,
175  const YCbCrPixel inPixelColor, const NTV2VANCMode inVancMode = NTV2_VANCMODE_OFF);
176 AJAExport void Fill4k8BitYCbCrVideoFrame(PULWord _baseVideoAddress,
177  NTV2FrameBufferFormat frameBufferFormat,
178  YCbCrPixel color,
179  bool vancEnabled=false,
180  bool b4k=false,
181  bool wideVANC=false);
182 AJAExport void CopyRGBAImageToFrame(ULWord* pSrcBuffer, ULWord srcHeight, ULWord srcWidth,
183  ULWord* pDstBuffer, ULWord dstHeight, ULWord dstWidth);
184 
199 AJAExport bool SetRasterLinesBlack (const NTV2PixelFormat inPixelFormat,
200  UByte * pDstBuffer,
201  const ULWord inDstBytesPerLine,
202  const UWord inDstTotalLines);
203 
218 AJAExport bool SetRasterLinesWhite (const NTV2PixelFormat inPixelFormat,
219  UByte * pDstBuffer,
220  const ULWord inDstBytesPerLine,
221  const UWord inDstTotalLines);
222 
276 AJAExport bool CopyRaster (const NTV2PixelFormat inPixelFormat,
277  UByte * pDstBuffer,
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);
289 
290 AJAExport NTV2Standard GetNTV2StandardFromScanGeometry (const UByte inScanGeometry, const bool inIsProgressiveTransport);
291 
297 
304 
311 
312 #define GetHdmiV2StandardFromVideoFormat(__vf__) ::GetNTV2StandardFromVideoFormat (__vf__)
313 
322  const NTV2FrameBufferFormat inFBFormat,
323  const NTV2VANCMode inVancMode = NTV2_VANCMODE_OFF);
324 
325 
339  const NTV2FrameBufferFormat inFBFormat,
340  const NTV2VANCMode inVancMode = NTV2_VANCMODE_OFF);
341 
343 AJAExport NTV2VideoFormat GetQuadSizedVideoFormat (const NTV2VideoFormat inVideoFormat, const bool isSquareDivision = true);
347 AJAExport NTV2Standard Get4xSizedStandard (const NTV2Standard inGeometry, const bool bIs4k = false);
348 
349 AJAExport double GetFramesPerSecond (const NTV2FrameRate inFrameRate);
350 inline double GetFrameTime (const NTV2FrameRate inFrameRate) {return double(1.0) / GetFramesPerSecond(inFrameRate);}
351 
363  const UWord inHeightLines,
364  const UWord inWidthPixels,
365  const bool inIsInterlaced,
366  const bool inIsLevelB,
367  const bool inIsPSF);
368 
380 AJAExport bool GetFramesPerSecond (const NTV2FrameRate inFrameRate, ULWord & outFractionNumerator, ULWord & outFractionDenominator);
381 
392 
408 AJAExport ULWord GetAudioSamplesPerFrame (const NTV2FrameRate inFrameRate, const NTV2AudioRate inAudioRate, ULWord inCadenceFrame = 0, bool inIsSMPTE372Enabled = false);
410 
417 AJAExport double GetAudioSamplesPerSecond (const NTV2AudioRate inAudioRate); // New in SDK 16.2
418 
419 AJAExport NTV2_SHOULD_BE_DEPRECATED(ULWord GetVaricamRepeatCount (const NTV2FrameRate inSequenceRate, const NTV2FrameRate inPlayRate, const ULWord inCadenceFrame = 0));
421 AJAExport NTV2FrameRate GetFrameRateFromScale (long scale, long duration, NTV2FrameRate playFrameRate);
422 AJAExport NTV2FrameRate GetNTV2FrameRateFromNumeratorDenominator (const ULWord inNumerator, const ULWord inDenominator); // New in SDK 16.0
423 
432 
439 
446 AJAExport NTV2FrameGeometry GetVANCFrameGeometry (const NTV2FrameGeometry inFrameGeometry, const NTV2VANCMode inVancMode);
447 
454 
461 AJAExport bool HasVANCGeometries (const NTV2FrameGeometry inFrameGeometry);
462 
472 
479 
486 
493 
499 
506 AJAExport NTV2Standard GetStandardFromGeometry (const NTV2FrameGeometry inGeometry, const bool inIsProgressive = true);
507 
508 AJAExport ULWord GetDisplayWidth (const NTV2VideoFormat videoFormat);
513 
516 
530 
532 AJAExport bool IsTransportCompatibleFormat (const NTV2VideoFormat inFormat1, const NTV2VideoFormat inFormat2);
533 
541 AJAExport ULWord GetIndexForNTV2InputSource (const NTV2InputSource inValue); // 0-based index
542 
549 
556 
564 AJAExport NTV2TCIndex NTV2ChannelToTimecodeIndex (const NTV2Channel inChannel, const bool inEmbeddedLTC = false, const bool inIsF2 = false);
565 
571 
578 
585 
586 
587 #define GetTCIndexesForSDIInput GetTCIndexesForSDIConnector
588 #define NTV2ChannelToCaptureCrosspoint NTV2ChannelToInputCrosspoint
589 #define NTV2ChannelToIngestCrosspoint NTV2ChannelToInputCrosspoint
590 #define NTV2ChannelToInputChannelSpec NTV2ChannelToInputCrosspoint
591 #define NTV2ChannelToPlayoutCrosspoint NTV2ChannelToOutputCrosspoint
592 #define NTV2ChannelToOutputChannelSpec NTV2ChannelToOutputCrosspoint
593 
594 
601 
608 
615 
622 
628 
635 
642 
649 
656 
663 AJAExport NTV2TimecodeIndex NTV2InputSourceToTimecodeIndex (const NTV2InputSource inInputSource, const bool inEmbeddedLTC = false);
664 
671 
679 
686 
693 
700 
706 AJAExport bool IsMultiFormatCompatible (const NTV2FrameRate inFrameRate1, const NTV2FrameRate inFrameRate2);
707 
713 AJAExport bool IsMultiFormatCompatible (const NTV2VideoFormat inFormat1, const NTV2VideoFormat inFormat2);
714 
715 AJAExport bool IsPSF (const NTV2VideoFormat format);
718 AJAExport bool IsProgressiveTransport (const NTV2Standard format);
719 AJAExport bool IsRGBFormat (const NTV2FrameBufferFormat format);
720 AJAExport bool IsYCbCrFormat (const NTV2FrameBufferFormat format);
722 AJAExport bool Is2KFormat (const NTV2VideoFormat format);
723 AJAExport bool Is4KFormat (const NTV2VideoFormat format);
724 AJAExport bool Is8KFormat (const NTV2VideoFormat format);
725 AJAExport bool IsRaw (const NTV2FrameBufferFormat format);
727 AJAExport bool IsVideoFormatA (const NTV2VideoFormat format);
728 AJAExport bool IsVideoFormatB (const NTV2VideoFormat format);
730 
731 
732 AJAExport int RecordCopyAudio (PULWord pAja, PULWord pSR, int iStartSample, int iNumBytes, int iChan0,
733  int iNumChans, bool bKeepAudio24Bits);
734 
752 AJAExport bool AddAudioTone ( ULWord & outNumBytesWritten,
753  NTV2Buffer & inAudioBuffer,
754  ULWord & inOutCurrentSample,
755  const ULWord inNumSamples,
756  const double inSampleRate,
757  const double inAmplitude,
758  const double inFrequency,
759  const ULWord inNumBits,
760  const bool inByteSwap,
761  const ULWord inNumChannels);
762 
781 AJAExport ULWord AddAudioTone ( ULWord * pAudioBuffer,
782  ULWord & inOutCurrentSample,
783  const ULWord inNumSamples,
784  const double inSampleRate,
785  const double inAmplitude,
786  const double inFrequency,
787  const ULWord inNumBits,
788  const bool inByteSwap,
789  const ULWord inNumChannels);
790 
811 AJAExport ULWord AddAudioTone ( ULWord * pAudioBuffer,
812  ULWord & inOutCurrentSample,
813  const ULWord inNumSamples,
814  const double inSampleRate,
815  const double * pInAmplitudes,
816  const double * pInFrequencies,
817  const ULWord inNumBits,
818  const bool inByteSwap,
819  const ULWord inNumChannels);
820 
839 AJAExport ULWord AddAudioTone ( UWord * pAudioBuffer,
840  ULWord & inOutCurrentSample,
841  const ULWord inNumSamples,
842  const double inSampleRate,
843  const double inAmplitude,
844  const double inFrequency,
845  const ULWord inNumBits,
846  const bool inByteSwap,
847  const ULWord inNumChannels);
848 
850  ULWord & inOutCurrentSample,
851  const ULWord inNumSamples,
852  const ULWord inModulus,
853  const bool inEndianConvert,
854  const ULWord inNumChannels);
855 
862 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2FrameDimensions inFrameDimensions);
863 
864 
870 {
874 private:
875  NTV2Standard mStandard;
876 
877 public:
882  explicit NTV2SmpteLineNumber (const NTV2Standard inStandard = NTV2_STANDARD_INVALID);
883 
887  inline bool IsValid (void) const {return NTV2_IS_VALID_STANDARD (mStandard) && smpteFirstActiveLine;}
888 
895  ULWord GetFirstActiveLine (const NTV2FieldID inRasterFieldID = NTV2_FIELD0) const;
896 
903  ULWord GetLastLine (const NTV2FieldID inRasterFieldID = NTV2_FIELD0) const;
904 
909  bool operator == (const NTV2SmpteLineNumber & inRHS) const;
910 
916  std::ostream & Print (std::ostream & inOutStream) const;
917 
925  std::string PrintLineNumber (const ULWord inLineOffset = 0, const NTV2FieldID inRasterFieldID = NTV2_FIELD0) const;
926 
927 private:
928  explicit inline NTV2SmpteLineNumber (const ULWord inFirstActiveLine,
929  const ULWord inSecondActiveLine,
930  const bool inFirstFieldTop,
931  const NTV2Standard inStandard)
932  : smpteFirstActiveLine (inFirstActiveLine),
933  smpteSecondActiveLine (inSecondActiveLine),
934  firstFieldTop (inFirstFieldTop),
935  mStandard (inStandard) { }
936 
938 
939 
946 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2SmpteLineNumber & inSmpteLineNumber);
947 
948 
955 inline NTV2SmpteLineNumber GetSmpteLineNumber (const NTV2Standard inStandard) {return NTV2SmpteLineNumber (inStandard);}
956 
957 
962 {
963  public:
964  explicit inline NTV2ACFrameRange (const UWord inFrameCount = 0)
965  {
966  setCountOnly(inFrameCount);
967  }
968  explicit inline NTV2ACFrameRange (const UWord inFirstFrame, const UWord inLastFrame)
969  {
970  setExactRange (inFirstFrame, inLastFrame);
971  }
972  inline bool isCountOnly (void) const {return mIsCountOnly;} // @return True if simply a frame count
973  inline bool isFrameRange (void) const {return !isCountOnly();} // @return True if a specific frame range
974  inline UWord count (void) const {return isCountOnly() ? mFrameCount : 0;} // @return Frame count (if isCountOnly); otherwise zero
975  inline UWord firstFrame (void) const {return mFirstFrame;} // @return
976  inline UWord lastFrame (void) const {return mLastFrame;}
977  inline bool valid (void) const
978  {
979  if (isCountOnly())
980  return count() > 0;
981  return lastFrame() >= firstFrame();
982  }
984  {
985  mIsCountOnly = true;
986  mFrameCount = mFirstFrame = mLastFrame = 0;
987  return *this;
988  }
989  inline bool setExactRange (const UWord inFirstFrame, const UWord inLastFrame)
990  {
991  mIsCountOnly = false;
992  mFrameCount = 0;
993  mFirstFrame = inFirstFrame;
994  mLastFrame = inLastFrame;
995  return valid();
996  }
997  inline bool setRangeWithCount (const UWord inCount, const UWord inFirstFrame)
998  {
999  mIsCountOnly = false;
1000  mFrameCount = 0;
1001  mFirstFrame = inFirstFrame;
1002  mLastFrame = mFirstFrame + inCount - 1;
1003  return valid();
1004  }
1005  inline bool setCountOnly (const UWord inCount)
1006  {
1007  mIsCountOnly = true;
1008  mFrameCount = inCount;
1009  mFirstFrame = mLastFrame = 0;
1010  return valid();
1011  }
1012  std::string setFromString (const std::string & inStr);
1013  std::string toString (const bool inNormalized = false) const;
1014 
1015  private:
1016  bool mIsCountOnly;
1017  UWord mFrameCount;
1018  UWord mFirstFrame;
1019  UWord mLastFrame;
1020 
1021 }; // NTV2ACFrameRange
1022 
1023 
1024 typedef std::vector <NTV2DeviceID> NTV2DeviceIDList;
1025 typedef NTV2DeviceIDList::iterator NTV2DeviceIDListIter;
1026 typedef NTV2DeviceIDList::const_iterator NTV2DeviceIDListConstIter;
1027 
1028 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2DeviceIDList & inSet);
1029 
1030 
1031 typedef std::set <NTV2DeviceID> NTV2DeviceIDSet;
1032 typedef NTV2DeviceIDSet::iterator NTV2DeviceIDSetIter;
1033 typedef NTV2DeviceIDSet::const_iterator NTV2DeviceIDSetConstIter;
1034 
1041 
1042 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2DeviceIDSet & inSet);
1043 
1051 AJAExport UWord NTV2GetSDKVersionComponent (const int inVersionComponent = 0); // New in SDK 16.1
1052 
1053 
1054 typedef std::vector <NTV2OutputCrosspointID> NTV2OutputCrosspointIDs;
1055 typedef NTV2OutputCrosspointIDs::iterator NTV2OutputCrosspointIDsIter;
1056 typedef NTV2OutputCrosspointIDs::const_iterator NTV2OutputCrosspointIDsConstIter;
1057 
1058 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2OutputCrosspointIDs & inList);
1059 
1060 
1061 typedef std::vector <NTV2InputCrosspointID> NTV2InputCrosspointIDs;
1062 typedef NTV2InputCrosspointIDs::iterator NTV2InputCrosspointIDsIter;
1063 typedef NTV2InputCrosspointIDs::const_iterator NTV2InputCrosspointIDsConstIter;
1064 
1065 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2OutputCrosspointIDs & inList);
1066 
1067 
1068 AJAExport std::string NTV2DeviceIDToString (const NTV2DeviceID inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1069 AJAExport std::string NTV2VideoFormatToString (const NTV2VideoFormat inValue, const bool inUseFrameRate = false); // New in SDK 12.0
1070 AJAExport std::string NTV2StandardToString (const NTV2Standard inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1071 AJAExport std::string NTV2FrameBufferFormatToString (const NTV2FrameBufferFormat inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1072 AJAExport std::string NTV2M31VideoPresetToString (const M31VideoPreset inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1073 AJAExport std::string NTV2FrameGeometryToString (const NTV2FrameGeometry inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1074 AJAExport std::string NTV2FrameRateToString (const NTV2FrameRate inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1075 AJAExport std::string NTV2InputSourceToString (const NTV2InputSource inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1076 AJAExport std::string NTV2OutputDestinationToString (const NTV2OutputDestination inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1077 AJAExport std::string NTV2ReferenceSourceToString (const NTV2ReferenceSource inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1078 AJAExport std::string NTV2RegisterWriteModeToString (const NTV2RegisterWriteMode inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1079 AJAExport std::string NTV2InterruptEnumToString (const INTERRUPT_ENUMS inInterruptEnumValue);
1080 AJAExport std::string NTV2IpErrorEnumToString (const NTV2IpError inIpErrorEnumValue);
1081 AJAExport std::string NTV2ChannelToString (const NTV2Channel inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1082 AJAExport std::string NTV2AudioSystemToString (const NTV2AudioSystem inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1083 AJAExport std::string NTV2AudioRateToString (const NTV2AudioRate inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1084 AJAExport std::string NTV2AudioBufferSizeToString (const NTV2AudioBufferSize inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1085 AJAExport std::string NTV2AudioLoopBackToString (const NTV2AudioLoopBack inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1086 AJAExport std::string NTV2EmbeddedAudioClockToString (const NTV2EmbeddedAudioClock inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1087 AJAExport std::string NTV2GetBitfileName (const NTV2DeviceID inValue);
1088 AJAExport bool NTV2IsCompatibleBitfileName (const std::string & inBitfileName, const NTV2DeviceID inDeviceID);
1089 AJAExport NTV2DeviceID NTV2GetDeviceIDFromBitfileName (const std::string & inBitfileName);
1090 AJAExport std::string NTV2GetFirmwareFolderPath (void);
1091 AJAExport std::ostream & operator << (std::ostream & inOutStream, const RP188_STRUCT & inObj);
1092 AJAExport std::string NTV2GetVersionString (const bool inDetailed = false);
1093 AJAExport std::string NTV2RegisterNumberToString (const NTV2RegisterNumber inValue); // New in SDK 12.0
1094 AJAExport std::string AutoCircVidProcModeToString (const AutoCircVidProcMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1095 AJAExport std::string NTV2ColorCorrectionModeToString (const NTV2ColorCorrectionMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1096 AJAExport std::string NTV2InputCrosspointIDToString (const NTV2InputCrosspointID inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1097 AJAExport std::string NTV2OutputCrosspointIDToString (const NTV2OutputCrosspointID inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1098 AJAExport std::string NTV2WidgetIDToString (const NTV2WidgetID inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1099 AJAExport std::string NTV2WidgetTypeToString (const NTV2WidgetType inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1100 AJAExport std::string NTV2TaskModeToString (const NTV2EveryFrameTaskMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1101 AJAExport std::string NTV2RegNumSetToString (const NTV2RegisterNumberSet & inValue); // New in SDK 12.0
1102 AJAExport std::string NTV2TCIndexToString (const NTV2TCIndex inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1103 AJAExport std::string NTV2AudioChannelPairToString (const NTV2AudioChannelPair inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1104 AJAExport std::string NTV2AudioChannelQuadToString (const NTV2Audio4ChannelSelect inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1105 AJAExport std::string NTV2AudioChannelOctetToString (const NTV2Audio8ChannelSelect inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1106 AJAExport std::string NTV2FramesizeToString (const NTV2Framesize inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1107 AJAExport std::string NTV2ModeToString (const NTV2Mode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1108 AJAExport std::string NTV2VANCModeToString (const NTV2VANCMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1109 AJAExport std::string NTV2MixerKeyerModeToString (const NTV2MixerKeyerMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1110 AJAExport std::string NTV2MixerInputControlToString (const NTV2MixerKeyerInputControl inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1111 AJAExport std::string NTV2VideoLimitingToString (const NTV2VideoLimiting inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1112 AJAExport std::string NTV2BreakoutTypeToString (const NTV2BreakoutType inValue, const bool inCompactDisplay = false); // New in SDK 15.5
1113 AJAExport std::string NTV2AncDataRgnToStr (const NTV2AncDataRgn inValue, const bool inCompactDisplay = false); // New in SDK 15.5
1114 AJAExport std::string NTV2UpConvertModeToString (const NTV2UpConvertMode inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1115 AJAExport std::string NTV2DownConvertModeToString (const NTV2DownConvertMode inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1116 AJAExport std::string NTV2IsoConvertModeToString (const NTV2IsoConvertMode inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1117 
1118 AJAExport std::string NTV2HDMIBitDepthToString (const NTV2HDMIBitDepth inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1119 AJAExport std::string NTV2HDMIAudioChannelsToString (const NTV2HDMIAudioChannels inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1120 AJAExport std::string NTV2HDMIProtocolToString (const NTV2HDMIProtocol inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1121 AJAExport std::string NTV2HDMIRangeToString (const NTV2HDMIRange inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1122 AJAExport std::string NTV2HDMIColorSpaceToString (const NTV2HDMIColorSpace inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1123 AJAExport std::string NTV2AudioFormatToString (const NTV2AudioFormat inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1124 
1125 AJAExport std::string NTV2BitfileTypeToString (const NTV2BitfileType inValue, const bool inCompactDisplay = false); // New in SDK 16.2
1126 AJAExport bool convertHDRFloatToRegisterValues (const HDRFloatValues & inFloatValues, HDRRegValues & outRegisterValues);
1127 AJAExport bool convertHDRRegisterToFloatValues (const HDRRegValues & inRegisterValues, HDRFloatValues & outFloatValues);
1128 AJAExport void setHDRDefaultsForBT2020 (HDRRegValues & outRegisterValues);
1129 AJAExport void setHDRDefaultsForDCIP3 (HDRRegValues & outRegisterValues);
1130 #if !defined(NTV2_DEPRECATE_16_1)
1131  inline std::string NTV2AudioMonitorSelectToString (const NTV2AudioMonitorSelect inValue, const bool inForRetailDisplay = false) {return NTV2AudioChannelPairToString(inValue, inForRetailDisplay);}
1132 #endif // !defined(NTV2_DEPRECATE_16_1)
1133 
1134 typedef std::vector <std::string> NTV2StringList; // New in SDK 12.5
1135 typedef NTV2StringList::iterator NTV2StringListIter; // New in SDK 16.0
1136 typedef NTV2StringList::const_iterator NTV2StringListConstIter;// New in SDK 12.5
1137 typedef std::set <std::string> NTV2StringSet; // New in SDK 12.5
1138 typedef NTV2StringSet::const_iterator NTV2StringSetConstIter; // New in SDK 12.5
1139 
1140 AJAExport std::string NTV2EmbeddedAudioInputToString (const NTV2EmbeddedAudioInput inValue, const bool inCompactDisplay = false); // New in SDK 13.0
1141 AJAExport std::string NTV2AudioSourceToString (const NTV2AudioSource inValue, const bool inCompactDisplay = false); // New in SDK 13.0
1142 
1143 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2StringList & inData); // New in SDK 15.5
1144 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2StringSet & inData);
1145 
1146 
1149 AJAExport bool GetRegNumChanges (const NTV2RegNumSet & inBefore, const NTV2RegNumSet & inAfter, NTV2RegNumSet & outGone, NTV2RegNumSet & outSame, NTV2RegNumSet & outAdded);
1150 AJAExport bool GetChangedRegisters (const NTV2RegisterReads & inBefore, const NTV2RegisterReads & inAfter, NTV2RegNumSet & outChanged); // New in SDK 16.0
1151 
1152 AJAExport std::string PercentEncode (const std::string & inStr);
1153 AJAExport std::string PercentDecode (const std::string & inStr);
1154 AJAExport bool StringToSerialNum64 (const std::string & inSerNumStr, uint64_t & outSerNum); // New in SDK 16.3
1155 AJAExport std::string SerialNum64ToString (const uint64_t & inSerNum); // New in SDK 16.3
1156 
1157 
1158 // FUTURE ** THESE WILL BE DISAPPEARING ** Deprecate in favor of the new "NTV2xxxxxxToString" functions...
1159 #define NTV2CrosspointIDToString NTV2OutputCrosspointIDToString
1160 #if defined (AJAMac)
1161  AJAExport bool GetInstalledMacDriverVersion (UWord & outMaj, UWord & outMin, UWord & outPt, UWord & outBld, UWord & outType);
1162 #endif // AJAMac
1163 
1164 #endif // NTV2UTILS_H
setHDRDefaultsForBT2020
void setHDRDefaultsForBT2020(HDRRegValues &outRegisterValues)
Definition: ntv2utils.cpp:7870
NTV2InputSourceToReferenceSource
NTV2ReferenceSource NTV2InputSourceToReferenceSource(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2ReferenceSource value.
Definition: ntv2utils.cpp:5081
NTV2TimecodeIndexToChannel
NTV2Channel NTV2TimecodeIndexToChannel(const NTV2TCIndex inTCIndex)
Converts the given NTV2TCIndex value into the appropriate NTV2Channel value.
Definition: ntv2utils.cpp:5037
NTV2AncDataRgnToStr
std::string NTV2AncDataRgnToStr(const NTV2AncDataRgn inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6593
GetScaleFromFrameRate
ULWord GetScaleFromFrameRate(const NTV2FrameRate inFrameRate)
Definition: ntv2utils.cpp:3354
NTV2ChannelToInputSource
NTV2InputSource NTV2ChannelToInputSource(const NTV2Channel inChannel, const NTV2IOKinds inKinds=NTV2_IOKINDS_SDI)
Definition: ntv2utils.cpp:5190
NTV2InputSourceToChannel
NTV2Channel NTV2InputSourceToChannel(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2Channel value.
Definition: ntv2utils.cpp:5105
GetNTV2ChannelForIndex
NTV2Channel GetNTV2ChannelForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4755
ajaexport.h
Defines the import/export macros for producing DLLs or LIBs.
NTV2ACFrameRange::isFrameRange
bool isFrameRange(void) const
Definition: ntv2utils.h:973
CalcRowBytesForFormat
uint32_t CalcRowBytesForFormat(const NTV2FrameBufferFormat inPF, const uint32_t pixWidth)
Definition: ntv2utils.cpp:45
NTV2FrameGeometryToString
std::string NTV2FrameGeometryToString(const NTV2FrameGeometry inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7154
NTV2DeviceIDListConstIter
NTV2DeviceIDList::const_iterator NTV2DeviceIDListConstIter
A convenient const iterator for NTV2DeviceIDList.
Definition: ntv2utils.h:1026
GetFrameTime
double GetFrameTime(const NTV2FrameRate inFrameRate)
Definition: ntv2utils.h:350
NTV2HDMIBitDepth
NTV2HDMIBitDepth
Indicates or specifies the HDMI video bit depth.
Definition: ntv2enums.h:3611
INTERRUPT_ENUMS
enum _INTERRUPT_ENUMS_ INTERRUPT_ENUMS
NTV2OutputDestination
NTV2OutputDestination
Identifies a specific video output destination.
Definition: ntv2enums.h:1276
NTV2ACFrameRange::firstFrame
UWord firstFrame(void) const
Definition: ntv2utils.h:975
NTV2DeviceIDSetIter
NTV2DeviceIDSet::iterator NTV2DeviceIDSetIter
A convenient non-const iterator for NTV2DeviceIDSet.
Definition: ntv2utils.h:1032
NTV2FrameDimensions
Describes the horizontal and vertical size dimensions of a raster, bitmap, frame or image.
Definition: ntv2publicinterface.h:5658
GetSupportedNTV2VideoFormatFromInputVideoFormat
NTV2VideoFormat GetSupportedNTV2VideoFormatFromInputVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:2499
NTV2GetDeviceIDFromBitfileName
NTV2DeviceID NTV2GetDeviceIDFromBitfileName(const std::string &inBitfileName)
NTV2ACFrameRange::makeInvalid
NTV2ACFrameRange & makeInvalid(void)
Definition: ntv2utils.h:983
NTV2StringSet
std::set< std::string > NTV2StringSet
Definition: ntv2utils.h:1137
NTV2FormatDescriptor
Describes a video frame for a given video standard or format and pixel format, including the total nu...
Definition: ntv2formatdescriptor.h:41
GetRegNumChanges
bool GetRegNumChanges(const NTV2RegNumSet &inBefore, const NTV2RegNumSet &inAfter, NTV2RegNumSet &outGone, NTV2RegNumSet &outSame, NTV2RegNumSet &outAdded)
Definition: ntv2utils.cpp:7976
AutoCircVidProcMode
AutoCircVidProcMode
Definition: ntv2publicinterface.h:4193
NTV2TCIndexes
std::set< NTV2TCIndex > NTV2TCIndexes
Definition: ntv2publicinterface.h:6849
NTV2InputSourceToTimecodeIndex
NTV2TimecodeIndex NTV2InputSourceToTimecodeIndex(const NTV2InputSource inInputSource, const bool inEmbeddedLTC=false)
Converts a given NTV2InputSource to its equivalent NTV2TimecodeIndex value.
Definition: ntv2utils.cpp:5153
Is8BitFrameBufferFormat
bool Is8BitFrameBufferFormat(const NTV2FrameBufferFormat fbFormat)
Definition: ntv2utils.cpp:5484
HDRFloatValues
Definition: ntv2publicinterface.h:9841
NTV2GetSupportedDevices
NTV2DeviceIDSet NTV2GetSupportedDevices(const NTV2DeviceKinds inKinds=NTV2_DEVICEKIND_ALL)
Returns an NTV2DeviceIDSet of devices supported by the SDK.
Definition: ntv2utils.cpp:7548
GetNTV2FrameGeometryFromVideoFormat
NTV2FrameGeometry GetNTV2FrameGeometryFromVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:2545
NTV2AudioFormat
NTV2AudioFormat
Definition: ntv2enums.h:1896
NTV2Channel
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
Definition: ntv2enums.h:1305
NTV2HDMIColorSpace
NTV2HDMIColorSpace
Indicates or specifies HDMI Color Space.
Definition: ntv2enums.h:3525
NTV2AudioFormatToString
std::string NTV2AudioFormatToString(const NTV2AudioFormat inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6706
NTV2Buffer
A generic user-space buffer object that has an address and a length. Used most often to share an arbi...
Definition: ntv2publicinterface.h:5993
GetQuarterSizedGeometry
NTV2FrameGeometry GetQuarterSizedGeometry(const NTV2FrameGeometry inGeometry)
Definition: ntv2utils.cpp:2217
GetNTV2HDMIInputSourceForIndex
NTV2InputSource GetNTV2HDMIInputSourceForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:5300
NTV2RegisterNumberSet
ULWordSet NTV2RegisterNumberSet
A set of distinct ULWord values.
Definition: ntv2publicinterface.h:7381
UnPack10BitDPXtoForRP215withEndianSwap
void UnPack10BitDPXtoForRP215withEndianSwap(UWord *rawrp215Buffer, ULWord *DPXLinebuffer, ULWord numPixels)
Definition: ntv2utils.cpp:669
NTV2WidgetType
NTV2WidgetType
Definition: ntv2enums.h:2973
GetTCIndexesForSDIConnector
NTV2TCIndexes GetTCIndexesForSDIConnector(const NTV2Channel inSDIConnector)
Definition: ntv2utils.cpp:5028
GetNTV2CrosspointInputForIndex
NTV2Crosspoint GetNTV2CrosspointInputForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4826
NTV2_STANDARD_INVALID
@ NTV2_STANDARD_INVALID
Definition: ntv2enums.h:173
NTV2AudioBufferSizeToString
std::string NTV2AudioBufferSizeToString(const NTV2AudioBufferSize inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5801
GetNTV2FrameRateFromVideoFormat
NTV2FrameRate GetNTV2FrameRateFromVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:3530
NTV2TimecodeIndex
enum NTV2TCIndex NTV2TimecodeIndex
GetVANCModeForGeometry
NTV2VANCMode GetVANCModeForGeometry(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:3955
NTV2DownConvertModeToString
std::string NTV2DownConvertModeToString(const NTV2DownConvertMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6621
NTV2StringListIter
NTV2StringList::iterator NTV2StringListIter
Definition: ntv2utils.h:1135
GetTotalAudioSamplesFromFrameNbrZeroUpToFrameNbr
LWord64 GetTotalAudioSamplesFromFrameNbrZeroUpToFrameNbr(NTV2FrameRate frameRate, NTV2AudioRate audioRate, ULWord frameNbrNonInclusive)
Definition: ntv2utils.cpp:3046
NTV2InputCrosspointIDsConstIter
NTV2InputCrosspointIDs::const_iterator NTV2InputCrosspointIDsConstIter
A convenient const iterator for NTV2InputCrosspointIDs.
Definition: ntv2utils.h:1063
NTV2HDMIAudioChannels
NTV2HDMIAudioChannels
Indicates or specifies the HDMI audio channel count.
Definition: ntv2enums.h:3586
YUVComponentsTo10BitYUVPackedBuffer
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.
NTV2GetSDKVersionComponent
UWord NTV2GetSDKVersionComponent(const int inVersionComponent=0)
Returns an SDK version component value.
Definition: ntv2utils.cpp:7688
NTV2OutputDestinationToChannel
NTV2Channel NTV2OutputDestinationToChannel(const NTV2OutputDestination inOutputDest)
Converts a given NTV2OutputDestination to its equivalent NTV2Channel value.
Definition: ntv2utils.cpp:5213
NTV2InputSourceToEmbeddedAudioInput
NTV2EmbeddedAudioInput NTV2InputSourceToEmbeddedAudioInput(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2EmbeddedAudioInput value.
Definition: ntv2utils.cpp:4935
NTV2ACFrameRange::count
UWord count(void) const
Definition: ntv2utils.h:974
NTV2InterruptEnumToString
std::string NTV2InterruptEnumToString(const INTERRUPT_ENUMS inInterruptEnumValue)
Definition: ntv2utils.cpp:7300
NTV2GetFirmwareFolderPath
std::string NTV2GetFirmwareFolderPath(void)
Definition: ntv2utils.cpp:7526
NTV2GetBitfileName
std::string NTV2GetBitfileName(const NTV2DeviceID inValue)
Definition: ntv2utils.cpp:7405
NTV2DeviceID
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
Definition: ntv2enums.h:20
IsVideoFormatB
bool IsVideoFormatB(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5496
NTV2RegisterNumberToString
std::string NTV2RegisterNumberToString(const NTV2RegisterNumber inValue)
Definition: ntv2utils.cpp:7702
GetQuarterSizedStandard
NTV2Standard GetQuarterSizedStandard(const NTV2Standard inGeometry)
Definition: ntv2utils.cpp:2242
NTV2FieldID
NTV2FieldID
These values are used to identify fields for interlaced video. See Field/Frame Interrupts and CNTV2Ca...
Definition: ntv2enums.h:1785
NTV2FrameBufferFormat
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
Definition: ntv2enums.h:207
NTV2RegNumSetToString
std::string NTV2RegNumSetToString(const NTV2RegisterNumberSet &inValue)
Definition: ntv2utils.cpp:6385
IsProgressiveTransport
bool IsProgressiveTransport(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5429
ntv2videodefines.h
Declares common video macros and structs used in the SDK.
convertHDRRegisterToFloatValues
bool convertHDRRegisterToFloatValues(const HDRRegValues &inRegisterValues, HDRFloatValues &outFloatValues)
Definition: ntv2utils.cpp:7842
nlohmann::json_abiNLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON_v3_11_NLOHMANN_JSON_VERSION_PATCH::operator==
bool operator==(const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
Definition: json.hpp:14737
NTV2ColorCorrectionModeToString
std::string NTV2ColorCorrectionModeToString(const NTV2ColorCorrectionMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:7722
GetVANCFrameGeometry
NTV2FrameGeometry GetVANCFrameGeometry(const NTV2FrameGeometry inFrameGeometry, const NTV2VANCMode inVancMode)
Definition: ntv2utils.cpp:3803
NTV2DeviceIDSetConstIter
NTV2DeviceIDSet::const_iterator NTV2DeviceIDSetConstIter
A convenient const iterator for NTV2DeviceIDSet.
Definition: ntv2utils.h:1033
UnPack10BitYCbCrBuffer
void UnPack10BitYCbCrBuffer(uint32_t *packedBuffer, uint16_t *ycbcrBuffer, uint32_t numPixels)
Definition: ntv2utils.cpp:169
NTV2SmpteLineNumber::smpteFirstActiveLine
ULWord smpteFirstActiveLine
SMPTE line number of first (top-most) active line of video.
Definition: ntv2utils.h:871
PULWord
uint32_t * PULWord
Definition: ajatypes.h:254
NTV2IOKinds
enum NTV2InputSourceKinds NTV2IOKinds
NTV2ChannelToInputInterrupt
INTERRUPT_ENUMS NTV2ChannelToInputInterrupt(const NTV2Channel inChannel)
Converts the given NTV2Channel value into the equivalent input INTERRUPT_ENUMS value.
Definition: ntv2utils.cpp:4995
NTV2BreakoutTypeToString
std::string NTV2BreakoutTypeToString(const NTV2BreakoutType inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6574
NTV2StringSetConstIter
NTV2StringSet::const_iterator NTV2StringSetConstIter
Definition: ntv2utils.h:1138
NTV2AudioBufferSizeToByteCount
ULWord NTV2AudioBufferSizeToByteCount(const NTV2AudioBufferSize inBufferSize)
Converts the given NTV2BufferSize value into its exact byte count.
Definition: ntv2utils.cpp:5334
GetFramesPerSecond
double GetFramesPerSecond(const NTV2FrameRate inFrameRate)
Definition: ntv2utils.cpp:1737
NTV2OutputCrosspointIDsIter
NTV2OutputCrosspointIDs::iterator NTV2OutputCrosspointIDsIter
A convenient non-const iterator for NTV2OutputCrosspointIDs.
Definition: ntv2utils.h:1055
NTV2_FIELD0
@ NTV2_FIELD0
Identifies the first field in time for an interlaced video frame, or the first and only field in a pr...
Definition: ntv2enums.h:1787
NTV2EmbeddedAudioClockToString
std::string NTV2EmbeddedAudioClockToString(const NTV2EmbeddedAudioClock inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5825
PercentEncode
std::string PercentEncode(const std::string &inStr)
setHDRDefaultsForDCIP3
void setHDRDefaultsForDCIP3(HDRRegValues &outRegisterValues)
Definition: ntv2utils.cpp:7888
GetIndexForNTV2Channel
ULWord GetIndexForNTV2Channel(const NTV2Channel inChannel)
Definition: ntv2utils.cpp:4760
NTV2HDMIRange
NTV2HDMIRange
Indicates or specifies the HDMI RGB range.
Definition: ntv2enums.h:3554
HasVANCGeometries
bool HasVANCGeometries(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:3865
IsAlphaChannelFormat
bool IsAlphaChannelFormat(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5454
NTV2ACFrameRange::NTV2ACFrameRange
NTV2ACFrameRange(const UWord inFrameCount=0)
Definition: ntv2utils.h:964
CopyRGBAImageToFrame
void CopyRGBAImageToFrame(ULWord *pSrcBuffer, ULWord srcHeight, ULWord srcWidth, ULWord *pDstBuffer, ULWord dstHeight, ULWord dstWidth)
Definition: ntv2utils.cpp:949
NTV2FrameRate
NTV2FrameRate
Identifies a particular video frame rate.
Definition: ntv2enums.h:396
NTV2ColorCorrectionMode
NTV2ColorCorrectionMode
Definition: ntv2enums.h:2024
NTV2FramesizeToByteCount
ULWord NTV2FramesizeToByteCount(const NTV2Framesize inFrameSize)
Converts the given NTV2Framesize value into an exact byte count.
Definition: ntv2utils.cpp:5319
GetNTV2FrameRateFromNumeratorDenominator
NTV2FrameRate GetNTV2FrameRateFromNumeratorDenominator(const ULWord inNumerator, const ULWord inDenominator)
Definition: ntv2utils.cpp:3488
NTV2AudioChannelQuadToString
std::string NTV2AudioChannelQuadToString(const NTV2Audio4ChannelSelect inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6461
ajatypes.h
Declares the most fundamental data types used by NTV2. Since Windows NT was the first principal devel...
NTV2InputSourceToAudioSystem
NTV2AudioSystem NTV2InputSourceToAudioSystem(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2AudioSystem value.
Definition: ntv2utils.cpp:5129
PackLine_UWordSequenceTo10BitYUV
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...
Definition: ntv2utils.cpp:544
GetChangedRegisters
bool GetChangedRegisters(const NTV2RegisterReads &inBefore, const NTV2RegisterReads &inAfter, NTV2RegNumSet &outChanged)
Definition: ntv2utils.cpp:7985
GetDisplayHeight
ULWord GetDisplayHeight(const NTV2VideoFormat videoFormat)
Definition: ntv2utils.cpp:4106
NTV2RegNumSet
NTV2RegisterNumberSet NTV2RegNumSet
A set of distinct NTV2RegisterNumbers.
Definition: ntv2publicinterface.h:7382
convertHDRFloatToRegisterValues
bool convertHDRFloatToRegisterValues(const HDRFloatValues &inFloatValues, HDRRegValues &outRegisterValues)
Definition: ntv2utils.cpp:7812
YCbCrPixel
Definition: ntv2videodefines.h:193
NTV2MixerKeyerInputControl
NTV2MixerKeyerInputControl
These enum values identify the Mixer/Keyer foreground and background input control values.
Definition: ntv2enums.h:1721
IsProgressivePicture
bool IsProgressivePicture(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5423
ConvertUnpacked10BitYCbCrToPixelFormat
void ConvertUnpacked10BitYCbCrToPixelFormat(uint16_t *unPackedBuffer, uint32_t *packedBuffer, uint32_t numPixels, NTV2FrameBufferFormat pixelFormat, bool bUseSmpteRange=false, bool bAlphaFromLuma=false)
Definition: ntv2utils.cpp:223
NTV2EmbeddedAudioClock
NTV2EmbeddedAudioClock
This enum value determines/states the device audio clock reference source. It was important to set th...
Definition: ntv2enums.h:1935
GetIndexForNTV2InputSource
ULWord GetIndexForNTV2InputSource(const NTV2InputSource inValue)
Definition: ntv2utils.cpp:5306
PackTo10BitYCbCrBuffer
void PackTo10BitYCbCrBuffer(const uint16_t *ycbcrBuffer, uint32_t *packedBuffer, const uint32_t numPixels)
Definition: ntv2utils.cpp:184
NTV2HDMIAudioChannelsToString
std::string NTV2HDMIAudioChannelsToString(const NTV2HDMIAudioChannels inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6661
NTV2InputSourceToChannelSpec
NTV2Crosspoint NTV2InputSourceToChannelSpec(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2Crosspoint value.
Definition: ntv2utils.cpp:5057
GetNormalizedFrameGeometry
NTV2FrameGeometry GetNormalizedFrameGeometry(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:3755
GetNTV2CrosspointChannelForIndex
NTV2Crosspoint GetNTV2CrosspointChannelForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4794
operator<<
std::ostream & operator<<(std::ostream &inOutStream, const NTV2FrameDimensions inFrameDimensions)
Writes the given NTV2FrameDimensions to the specified output stream.
CopyRaster
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.
Definition: ntv2utils.cpp:1642
NTV2ChannelToOutputDestination
NTV2OutputDestination NTV2ChannelToOutputDestination(const NTV2Channel inChannel)
Converts the given NTV2Channel value into its ordinary equivalent NTV2OutputDestination.
Definition: ntv2utils.cpp:5225
GetNTV2StandardFromScanGeometry
NTV2Standard GetNTV2StandardFromScanGeometry(const UByte inScanGeometry, const bool inIsProgressiveTransport)
Definition: ntv2utils.cpp:1807
CopyToQuadrant
void CopyToQuadrant(uint8_t *srcBuffer, uint32_t srcHeight, uint32_t srcRowBytes, uint32_t dstQuadrant, uint8_t *dstBuffer, uint32_t quad13Offset=0)
Definition: ntv2utils.cpp:482
YCbCr10BitPixel
Definition: ntv2videodefines.h:200
SetRasterLinesWhite
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.
Definition: ntv2utils.cpp:1141
NTV2InputSourceToString
std::string NTV2InputSourceToString(const NTV2InputSource inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7215
NTV2DownConvertMode
NTV2DownConvertMode
Definition: ntv2enums.h:2187
UnPack10BitDPXtoForRP215
void UnPack10BitDPXtoForRP215(UWord *rawrp215Buffer, ULWord *DPXLinebuffer, ULWord numPixels)
Definition: ntv2utils.cpp:679
AutoCircVidProcModeToString
std::string AutoCircVidProcModeToString(const AutoCircVidProcMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:7708
NTV2TCIndexToString
std::string NTV2TCIndexToString(const NTV2TCIndex inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6413
GetTransportCompatibleFormat
NTV2VideoFormat GetTransportCompatibleFormat(const NTV2VideoFormat inFormat, const NTV2VideoFormat inTargetFormat)
Definition: ntv2utils.cpp:5238
NTV2DeviceKinds
enum _NTV2DeviceKinds NTV2DeviceKinds
These enum values are used for device selection/filtering.
NTV2Standard
NTV2Standard
Identifies a particular video standard.
Definition: ntv2enums.h:153
NTV2ChannelToEmbeddedAudioInput
NTV2EmbeddedAudioInput NTV2ChannelToEmbeddedAudioInput(const NTV2Channel inChannel)
Converts the given NTV2Channel value into its equivalent NTV2EmbeddedAudioInput.
Definition: ntv2utils.cpp:4919
NTV2_VANCMODE_OFF
@ NTV2_VANCMODE_OFF
This identifies the mode in which there are no VANC lines in the frame buffer.
Definition: ntv2enums.h:3718
Make10BitWhiteLine
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.
Definition: ntv2utils.cpp:779
NTV2AudioChannelPairToString
std::string NTV2AudioChannelPairToString(const NTV2AudioChannelPair inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6450
ULWord
uint32_t ULWord
Definition: ajatypes.h:253
GetIndexForNTV2Crosspoint
ULWord GetIndexForNTV2Crosspoint(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4882
CopyFromQuadrant
void CopyFromQuadrant(uint8_t *srcBuffer, uint32_t srcHeight, uint32_t srcRowBytes, uint32_t srcQuadrant, uint8_t *dstBuffer, uint32_t quad13Offset=0)
Definition: ntv2utils.cpp:454
GetNTV2FrameGeometryWidth
ULWord GetNTV2FrameGeometryWidth(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:4090
NTV2M31VideoPresetToString
std::string NTV2M31VideoPresetToString(const M31VideoPreset inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:6982
NTV2ReferenceSource
NTV2ReferenceSource
These enum values identify a specific source for the device's (output) reference clock.
Definition: ntv2enums.h:1399
GetNTV2CrosspointForIndex
NTV2Crosspoint GetNTV2CrosspointForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4858
NTV2IsCompatibleBitfileName
bool NTV2IsCompatibleBitfileName(const std::string &inBitfileName, const NTV2DeviceID inDeviceID)
NTV2SmpteLineNumber::IsValid
bool IsValid(void) const
Definition: ntv2utils.h:887
UWordSequence
std::vector< uint16_t > UWordSequence
An ordered sequence of UWord (uint16_t) values.
Definition: ntv2publicinterface.h:42
NTV2ACFrameRange
AutoCirculate Frame Range.
Definition: ntv2utils.h:961
NTV2GeometrySet
std::set< NTV2FrameGeometry > NTV2GeometrySet
A set of distinct NTV2FrameGeometry values.
Definition: ntv2publicinterface.h:8777
NTV2InputCrosspointIDsIter
NTV2InputCrosspointIDs::iterator NTV2InputCrosspointIDsIter
A convenient non-const iterator for NTV2InputCrosspointIDs.
Definition: ntv2utils.h:1062
NTV2Mode
NTV2Mode
Used to identify the mode of a widget_framestore, or the direction of an AutoCirculate stream: either...
Definition: ntv2enums.h:1198
NTV2HDMIProtocol
NTV2HDMIProtocol
Indicates or specifies the HDMI protocol.
Definition: ntv2enums.h:3540
NTV2_IS_VALID_STANDARD
#define NTV2_IS_VALID_STANDARD(__s__)
Definition: ntv2enums.h:176
MaskYCbCrLine
void MaskYCbCrLine(UWord *ycbcrLine, UWord signalMask, ULWord numPixels)
Definition: ntv2utils.cpp:691
NTV2DeviceIDListIter
NTV2DeviceIDList::iterator NTV2DeviceIDListIter
A convenient non-const iterator for NTV2DeviceIDList.
Definition: ntv2utils.h:1025
NTV2ChannelToTimecodeIndex
NTV2TCIndex NTV2ChannelToTimecodeIndex(const NTV2Channel inChannel, const bool inEmbeddedLTC=false, const bool inIsF2=false)
Converts the given NTV2Channel value into the equivalent NTV2TCIndex value.
Definition: ntv2utils.cpp:5020
NTV2DeviceIDToString
std::string NTV2DeviceIDToString(const NTV2DeviceID inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:4673
NTV2MixerInputControlToString
std::string NTV2MixerInputControlToString(const NTV2MixerKeyerInputControl inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6548
GetFrameRateFamily
NTV2FrameRate GetFrameRateFamily(const NTV2FrameRate inFrameRate)
Definition: ntv2utils.cpp:5375
NTV2TCIndex
NTV2TCIndex
These enum values are indexes into the capture/playout AutoCirculate timecode arrays.
Definition: ntv2enums.h:3870
UnpackLine_10BitYUVtoU16s
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...
NTV2IsoConvertModeToString
std::string NTV2IsoConvertModeToString(const NTV2IsoConvertMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6634
IsTransportCompatibleFormat
bool IsTransportCompatibleFormat(const NTV2VideoFormat inFormat1, const NTV2VideoFormat inFormat2)
Definition: ntv2utils.cpp:5250
StringToSerialNum64
bool StringToSerialNum64(const std::string &inSerNumStr, uint64_t &outSerNum)
NTV2StandardToString
std::string NTV2StandardToString(const NTV2Standard inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:6914
NTV2InputCrosspointIDToString
std::string NTV2InputCrosspointIDToString(const NTV2InputCrosspointID inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5846
NTV2AudioChannelPair
NTV2AudioChannelPair
Identifies a pair of audio channels.
Definition: ntv2enums.h:3056
UWord
uint16_t UWord
Definition: ajatypes.h:251
ntv2enums.h
Enumerations for controlling NTV2 devices.
NTV2RegisterReads
NTV2RegWrites NTV2RegisterReads
Definition: ntv2publicinterface.h:4014
NTV2VANCModeToString
std::string NTV2VANCModeToString(const NTV2VANCMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6521
Is8KFormat
bool Is8KFormat(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5472
NTV2_FBF_8BIT_YCBCR
@ NTV2_FBF_8BIT_YCBCR
See 8-Bit YCbCr Format.
Definition: ntv2enums.h:211
GetNTV2InputSourceForIndex
NTV2InputSource GetNTV2InputSourceForIndex(const ULWord inIndex0, const NTV2IOKinds inKinds=NTV2_IOKINDS_SDI)
Definition: ntv2utils.cpp:5268
Make10BitBlackLine
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.
Definition: ntv2utils.cpp:766
NTV2UpConvertMode
NTV2UpConvertMode
Definition: ntv2enums.h:2164
NTV2Framesize
NTV2Framesize
Kona2/Xena2 specific enums.
Definition: ntv2enums.h:2061
NTV2TaskModeToString
std::string NTV2TaskModeToString(const NTV2EveryFrameTaskMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6372
UnpackLine_10BitYUVto16BitYUV
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...
Definition: ntv2utils.cpp:511
NTV2VideoFormatToString
std::string NTV2VideoFormatToString(const NTV2VideoFormat inValue, const bool inUseFrameRate=false)
Definition: ntv2utils.cpp:6750
Get4xSizedGeometry
NTV2FrameGeometry Get4xSizedGeometry(const NTV2FrameGeometry inGeometry)
Definition: ntv2utils.cpp:2230
NTV2BreakoutType
NTV2BreakoutType
Identifies the Breakout Boxes and Cables that may be attached to an AJA NTV2 device.
Definition: ntv2enums.h:3028
NTV2IsoConvertMode
NTV2IsoConvertMode
Definition: ntv2enums.h:2198
NTV2InputCrosspointID
NTV2InputCrosspointID
Identifies a widget input that potentially can accept a signal emitted from another widget's output (...
Definition: ntv2enums.h:2690
NTV2HDMIRangeToString
std::string NTV2HDMIRangeToString(const NTV2HDMIRange inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6683
NTV2_DEVICEKIND_ALL
@ NTV2_DEVICEKIND_ALL
Specifies any/all devices.
Definition: ntv2enums.h:1328
StackQuadrants
void StackQuadrants(uint8_t *pSrc, uint32_t srcWidth, uint32_t srcHeight, uint32_t srcRowBytes, uint8_t *pDst)
Definition: ntv2utils.cpp:413
NTV2ChannelToInputCrosspoint
NTV2Crosspoint NTV2ChannelToInputCrosspoint(const NTV2Channel inChannel)
Definition: ntv2utils.cpp:4973
IsVideoFormatA
bool IsVideoFormatA(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5490
NTV2ChannelToOutputCrosspoint
NTV2Crosspoint NTV2ChannelToOutputCrosspoint(const NTV2Channel inChannel)
Definition: ntv2utils.cpp:4984
Make8BitWhiteLine
void Make8BitWhiteLine(UByte *lineData, ULWord numPixels=1920, NTV2FrameBufferFormat=NTV2_FBF_8BIT_YCBCR)
Definition: ntv2utils.cpp:850
ToRegNumSet
NTV2RegNumSet ToRegNumSet(const NTV2RegisterReads &inRegReads)
Definition: ntv2utils.cpp:7968
GetVideoActiveSize
ULWord GetVideoActiveSize(const NTV2VideoFormat inVideoFormat, const NTV2FrameBufferFormat inFBFormat, const NTV2VANCMode inVancMode=NTV2_VANCMODE_OFF)
Definition: ntv2utils.cpp:2758
NTV2WidgetID
NTV2WidgetID
Definition: ntv2enums.h:2847
NTV2AudioLoopBack
NTV2AudioLoopBack
This enum value determines/states if an audio output embedder will embed silence (zeroes) or de-embed...
Definition: ntv2enums.h:1973
NTV2BitfileType
NTV2BitfileType
Definition: ntv2enums.h:3293
IsNTV2CrosspointOutput
bool IsNTV2CrosspointOutput(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4913
NTV2AudioChannelOctetToString
std::string NTV2AudioChannelOctetToString(const NTV2Audio8ChannelSelect inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6472
GetQuarterSizedVideoFormat
NTV2VideoFormat GetQuarterSizedVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:1844
M31VideoPreset
M31VideoPreset
Definition: ntv2m31enums.h:12
RP188_STRUCT
Definition: ntv2publicinterface.h:4083
NTV2HDMIProtocolToString
std::string NTV2HDMIProtocolToString(const NTV2HDMIProtocol inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6672
NTV2GetVersionString
std::string NTV2GetVersionString(const bool inDetailed=false)
Definition: ntv2utils.cpp:7676
GetVideoWriteSize
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...
Definition: ntv2utils.cpp:2775
Fill4k8BitYCbCrVideoFrame
void Fill4k8BitYCbCrVideoFrame(PULWord _baseVideoAddress, NTV2FrameBufferFormat frameBufferFormat, YCbCrPixel color, bool vancEnabled=false, bool b4k=false, bool wideVANC=false)
Definition: ntv2utils.cpp:917
PercentDecode
std::string PercentDecode(const std::string &inStr)
NTV2StringList
std::vector< std::string > NTV2StringList
Definition: ntv2utils.h:1134
MaskUnPacked10BitYCbCrBuffer
void MaskUnPacked10BitYCbCrBuffer(uint16_t *ycbcrUnPackedBuffer, uint16_t signalMask, uint32_t numPixels)
Definition: ntv2utils.cpp:330
NTV2VANCMode
NTV2VANCMode
These enum values identify the available VANC modes.
Definition: ntv2enums.h:3716
NTV2AudioSourceToString
std::string NTV2AudioSourceToString(const NTV2AudioSource inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6735
UnPack10BitDPXtoRGBAlpha10BitPixel
void UnPack10BitDPXtoRGBAlpha10BitPixel(RGBAlpha10BitPixel *rgba10BitBuffer, const ULWord *DPXLinebuffer, ULWord numPixels, bool bigEndian)
Definition: ntv2utils.cpp:648
Make8BitLine
void Make8BitLine(UByte *lineData, UByte Y, UByte Cb, UByte Cr, ULWord numPixels=1920, NTV2FrameBufferFormat=NTV2_FBF_8BIT_YCBCR)
Definition: ntv2utils.cpp:874
GetSmpteLineNumber
NTV2SmpteLineNumber GetSmpteLineNumber(const NTV2Standard inStandard)
For the given video standard, returns the SMPTE-designated line numbers for Field 1 and Field 2 that ...
Definition: ntv2utils.h:955
NTV2ACFrameRange::NTV2ACFrameRange
NTV2ACFrameRange(const UWord inFirstFrame, const UWord inLastFrame)
Definition: ntv2utils.h:968
AddAudioTone
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.
Definition: ntv2utils.cpp:4478
GetRelatedGeometries
NTV2GeometrySet GetRelatedGeometries(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:3901
NTV2MixerKeyerModeToString
std::string NTV2MixerKeyerModeToString(const NTV2MixerKeyerMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6534
IsVideoFormatJ2KSupported
bool IsVideoFormatJ2KSupported(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5501
GetGeometryFromFrameDimensions
NTV2FrameGeometry GetGeometryFromFrameDimensions(const NTV2FrameDimensions &inFD)
Definition: ntv2utils.cpp:3856
NTV2CrosspointToString
std::string NTV2CrosspointToString(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:5837
RecordCopyAudio
int RecordCopyAudio(PULWord pAja, PULWord pSR, int iStartSample, int iNumBytes, int iChan0, int iNumChans, bool bKeepAudio24Bits)
Definition: ntv2utils.cpp:4403
NTV2OutputCrosspointID
NTV2OutputCrosspointID
Identifies a widget output, a signal source, that potentially can drive another widget's input (ident...
Definition: ntv2enums.h:2471
NTV2InputSource
NTV2InputSource
Identifies a specific video input source.
Definition: ntv2enums.h:1221
GetNTV2FrameGeometryHeight
ULWord GetNTV2FrameGeometryHeight(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:4084
ntv2formatdescriptor.h
Declares the NTV2FormatDescriptor class.
IsNTV2CrosspointInput
bool IsNTV2CrosspointInput(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4907
GetInputForConversionMode
NTV2VideoFormat GetInputForConversionMode(const NTV2ConversionMode conversionMode)
Definition: ntv2utils.cpp:5655
NTV2OutputCrosspointIDsConstIter
NTV2OutputCrosspointIDs::const_iterator NTV2OutputCrosspointIDsConstIter
A convenient const iterator for NTV2OutputCrosspointIDs.
Definition: ntv2utils.h:1056
Make10BitLine
void Make10BitLine(UWord *lineData, const UWord Y, const UWord Cb, const UWord Cr, const ULWord numPixels=1920)
Definition: ntv2utils.cpp:792
NTV2AudioRate
NTV2AudioRate
Definition: ntv2enums.h:1873
NTV2InputCrosspointIDs
std::vector< NTV2InputCrosspointID > NTV2InputCrosspointIDs
An ordered sequence of NTV2InputCrosspointID values.
Definition: ntv2utils.h:1061
GetFrameRateFromScale
NTV2FrameRate GetFrameRateFromScale(long scale, long duration, NTV2FrameRate playFrameRate)
Definition: ntv2utils.cpp:3391
NTV2SmpteLineNumber
Used to describe Start of Active Video (SAV) location and field dominance for a given NTV2Standard....
Definition: ntv2utils.h:869
NTV2RegisterNumber
NTV2RegisterNumber
Definition: ntv2publicinterface.h:100
NTV2_SHOULD_BE_DEPRECATED
#define NTV2_SHOULD_BE_DEPRECATED(__f__)
Definition: ajatypes.h:521
LWord64
int64_t LWord64
Definition: ajatypes.h:255
NTV2VideoLimiting
NTV2VideoLimiting
These enum values identify the available SDI video output limiting modes.
Definition: ntv2enums.h:3697
Fill10BitYCbCrVideoFrame
bool Fill10BitYCbCrVideoFrame(void *pBaseVideoAddress, const NTV2Standard inStandard, const NTV2FrameBufferFormat inPixelFormat, const YCbCr10BitPixel inPixelColor, const NTV2VANCMode inVancMode=NTV2_VANCMODE_OFF)
Definition: ntv2utils.cpp:805
NTV2HDMIColorSpaceToString
std::string NTV2HDMIColorSpaceToString(const NTV2HDMIColorSpace inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6694
NTV2UpConvertModeToString
std::string NTV2UpConvertModeToString(const NTV2UpConvertMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6607
UByte
uint8_t UByte
Definition: ajatypes.h:248
Make8BitBlackLine
void Make8BitBlackLine(UByte *lineData, ULWord numPixels=1920, NTV2FrameBufferFormat=NTV2_FBF_8BIT_YCBCR)
Definition: ntv2utils.cpp:828
NTV2ACFrameRange::lastFrame
UWord lastFrame(void) const
Definition: ntv2utils.h:976
NTV2OutputCrosspointIDs
std::vector< NTV2OutputCrosspointID > NTV2OutputCrosspointIDs
An ordered sequence of NTV2OutputCrosspointID values.
Definition: ntv2utils.h:1054
NTV2FrameBufferFormatToString
std::string NTV2FrameBufferFormatToString(const NTV2FrameBufferFormat inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:6940
NTV2WidgetTypeToString
std::string NTV2WidgetTypeToString(const NTV2WidgetType inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6321
NTV2RegisterWriteMode
NTV2RegisterWriteMode
These values are used to determine when certain register writes actually take effect....
Definition: ntv2enums.h:1624
UnpackLine_10BitYUVtoUWordSequence
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.
Definition: ntv2utils.cpp:119
GetFirstMatchingVideoFormat
NTV2VideoFormat GetFirstMatchingVideoFormat(const NTV2FrameRate inFrameRate, const UWord inHeightLines, const UWord inWidthPixels, const bool inIsInterlaced, const bool inIsLevelB, const bool inIsPSF)
Definition: ntv2utils.cpp:1825
NTV2DeviceCanDoFormat
bool NTV2DeviceCanDoFormat(const NTV2DeviceID inDevID, const NTV2FrameRate inFR, const NTV2FrameGeometry inFG, const NTV2Standard inStd)
Definition: ntv2utils.cpp:4057
MakeUnPacked10BitYCbCrBuffer
void MakeUnPacked10BitYCbCrBuffer(uint16_t *buffer, uint16_t Y, uint16_t Cb, uint16_t Cr, uint32_t numPixels)
Definition: ntv2utils.cpp:197
IsRGBFormat
bool IsRGBFormat(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5442
NTV2IpError
NTV2IpError
Definition: ntv2enums.h:4229
ntv2m31enums.h
Enumerations for controlling NTV2 devices with m31 HEVC encoders.
GetAudioSamplesPerFrame
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,...
Definition: ntv2utils.cpp:2789
AJAExport
#define AJAExport
Definition: export.h:33
NTV2RegisterWriteModeToString
std::string NTV2RegisterWriteModeToString(const NTV2RegisterWriteMode inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7287
NTV2VideoFormat
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
FromRegNumSet
NTV2RegisterReads FromRegNumSet(const NTV2RegNumSet &inRegNumSet)
Definition: ntv2utils.cpp:7960
IsYCbCrFormat
bool IsYCbCrFormat(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5448
ConvertLineTo8BitYCbCr
void ConvertLineTo8BitYCbCr(const uint16_t *ycbcr10BitBuffer, uint8_t *ycbcr8BitBuffer, const uint32_t numPixels)
Definition: ntv2utils.cpp:212
GetGeometryFromStandard
NTV2FrameGeometry GetGeometryFromStandard(const NTV2Standard inStandard)
Definition: ntv2utils.cpp:3967
NTV2ACFrameRange::setExactRange
bool setExactRange(const UWord inFirstFrame, const UWord inLastFrame)
Definition: ntv2utils.h:989
NTV2FrameGeometry
NTV2FrameGeometry
Identifies a particular video frame geometry.
Definition: ntv2enums.h:336
NTV2ConversionMode
NTV2ConversionMode
Definition: ntv2enums.h:3633
RePackLineDataForYCbCrDPX
void RePackLineDataForYCbCrDPX(ULWord *packedycbcrLine, ULWord numULWords)
Definition: ntv2utils.cpp:637
GetIndexForNTV2CrosspointInput
ULWord GetIndexForNTV2CrosspointInput(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4842
NTV2AudioLoopBackToString
std::string NTV2AudioLoopBackToString(const NTV2AudioLoopBack inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5813
NTV2EveryFrameTaskMode
NTV2EveryFrameTaskMode
Describes the task mode state. See also: Sharing AJA Devices With Other Applications.
Definition: ntv2publicinterface.h:4288
GetQuadSizedVideoFormat
NTV2VideoFormat GetQuadSizedVideoFormat(const NTV2VideoFormat inVideoFormat, const bool isSquareDivision=true)
Definition: ntv2utils.cpp:2032
NTV2DeviceIDSet
std::set< NTV2DeviceID > NTV2DeviceIDSet
A set of NTV2DeviceIDs.
Definition: ntv2utils.h:1031
GetConversionMode
NTV2ConversionMode GetConversionMode(const NTV2VideoFormat inFormat, const NTV2VideoFormat outFormat)
Definition: ntv2utils.cpp:5507
Fill8BitYCbCrVideoFrame
bool Fill8BitYCbCrVideoFrame(void *pBaseVideoAddress, const NTV2Standard inStandard, const NTV2FrameBufferFormat inFBF, const YCbCrPixel inPixelColor, const NTV2VANCMode inVancMode=NTV2_VANCMODE_OFF)
Definition: ntv2utils.cpp:900
GetDisplayWidth
ULWord GetDisplayWidth(const NTV2VideoFormat videoFormat)
Definition: ntv2utils.cpp:4098
NTV2VideoLimitingToString
std::string NTV2VideoLimitingToString(const NTV2VideoLimiting inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6561
NTV2CrosspointToNTV2Channel
NTV2Channel NTV2CrosspointToNTV2Channel(const NTV2Crosspoint inCrosspointChannel)
Definition: ntv2utils.cpp:4766
Get4xSizedStandard
NTV2Standard Get4xSizedStandard(const NTV2Standard inGeometry, const bool bIs4k=false)
Definition: ntv2utils.cpp:2259
NTV2Audio4ChannelSelect
NTV2Audio4ChannelSelect
Identifies a contiguous, adjacent group of four audio channels.
Definition: ntv2enums.h:3196
NTV2StringListConstIter
NTV2StringList::const_iterator NTV2StringListConstIter
Definition: ntv2utils.h:1136
NTV2FramesizeToString
std::string NTV2FramesizeToString(const NTV2Framesize inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6483
GetStandardFromGeometry
NTV2Standard GetStandardFromGeometry(const NTV2FrameGeometry inGeometry, const bool inIsProgressive=true)
Definition: ntv2utils.cpp:4003
GetAudioSamplesPerSecond
double GetAudioSamplesPerSecond(const NTV2AudioRate inAudioRate)
Returns the audio sample rate as a number of audio samples per second.
Definition: ntv2utils.cpp:3203
PackLine_16BitYUVto10BitYUV
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...
Definition: ntv2utils.cpp:527
NTV2ACFrameRange::valid
bool valid(void) const
Definition: ntv2utils.h:977
GetOutputForConversionMode
NTV2VideoFormat GetOutputForConversionMode(const NTV2ConversionMode conversionMode)
Definition: ntv2utils.cpp:5699
NTV2TimecodeIndexToInputSource
NTV2InputSource NTV2TimecodeIndexToInputSource(const NTV2TCIndex inTCIndex)
Converts the given NTV2TCIndex value into the appropriate NTV2InputSource value.
Definition: ntv2utils.cpp:5046
NTV2ACFrameRange::setRangeWithCount
bool setRangeWithCount(const UWord inCount, const UWord inFirstFrame)
Definition: ntv2utils.h:997
NTV2ACFrameRange::isCountOnly
bool isCountOnly(void) const
Definition: ntv2utils.h:972
NTV2ChannelToString
std::string NTV2ChannelToString(const NTV2Channel inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5759
NTV2AncDataRgn
enum NTV2AncillaryDataRegion NTV2AncDataRgn
NTV2_IOKINDS_SDI
@ NTV2_IOKINDS_SDI
Specifies SDI input/output kinds.
Definition: ntv2enums.h:1251
IsRaw
bool IsRaw(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5478
GetNTV2StandardFromVideoFormat
NTV2Standard GetNTV2StandardFromVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:2277
NTV2AudioRateToString
std::string NTV2AudioRateToString(const NTV2AudioRate inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5788
NTV2EmbeddedAudioInputToString
std::string NTV2EmbeddedAudioInputToString(const NTV2EmbeddedAudioInput inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6717
Is4KFormat
bool Is4KFormat(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5466
ntv2publicinterface.h
Declares enums and structs used by all platform drivers and the SDK.
IsPSF
bool IsPSF(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5417
NTV2BitfileTypeToString
std::string NTV2BitfileTypeToString(const NTV2BitfileType inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:7735
IsMultiFormatCompatible
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...
Definition: ntv2utils.cpp:5389
NTV2DeviceIDList
std::vector< NTV2DeviceID > NTV2DeviceIDList
An ordered list of NTV2DeviceIDs.
Definition: ntv2utils.h:1024
RGBAlpha10BitPixel
Definition: ntv2videodefines.h:145
NTV2OutputCrosspointIDToString
std::string NTV2OutputCrosspointIDToString(const NTV2OutputCrosspointID inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5989
NTV2InputSourceToAudioSource
NTV2AudioSource NTV2InputSourceToAudioSource(const NTV2InputSource inInputSource)
Definition: ntv2utils.cpp:4959
NTV2ReferenceSourceToString
std::string NTV2ReferenceSourceToString(const NTV2ReferenceSource inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7258
SetRasterLinesBlack
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.
Definition: ntv2utils.cpp:1081
NTV2EmbeddedAudioInput
NTV2EmbeddedAudioInput
This enum value determines/states which SDI video input will be used to supply audio samples to an au...
Definition: ntv2enums.h:1912
NTV2ChannelToOutputInterrupt
INTERRUPT_ENUMS NTV2ChannelToOutputInterrupt(const NTV2Channel inChannel)
Converts the given NTV2Channel value into the equivalent output INTERRUPT_ENUMS value.
Definition: ntv2utils.cpp:5005
NTV2AudioSystem
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information.
Definition: ntv2enums.h:3814
GetInstalledMacDriverVersion
bool GetInstalledMacDriverVersion(UWord &outMaj, UWord &outMin, UWord &outPt, UWord &outBld, UWord &outType)
Definition: ntv2utils.cpp:8153
NTV2IpErrorEnumToString
std::string NTV2IpErrorEnumToString(const NTV2IpError inIpErrorEnumValue)
Definition: ntv2utils.cpp:7350
NTV2SmpteLineNumber
struct NTV2SmpteLineNumber NTV2SmpteLineNumber
Used to describe Start of Active Video (SAV) location and field dominance for a given NTV2Standard....
HDRRegValues
Definition: ntv2publicinterface.h:9824
GetIndexForNTV2CrosspointChannel
ULWord GetIndexForNTV2CrosspointChannel(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4810
NTV2SmpteLineNumber::firstFieldTop
bool firstFieldTop
True if the first field on the wire is the top-most field in the raster (field dominance)
Definition: ntv2utils.h:873
NTV2MixerKeyerMode
NTV2MixerKeyerMode
These enum values identify the mixer mode.
Definition: ntv2enums.h:1736
NTV2Audio8ChannelSelect
NTV2Audio8ChannelSelect
Identifies a contiguous, adjacent group of eight audio channels.
Definition: ntv2enums.h:3245
NTV2ModeToString
std::string NTV2ModeToString(const NTV2Mode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6509
NTV2AudioSource
NTV2AudioSource
This enum value determines/states where an audio system will obtain its audio samples.
Definition: ntv2enums.h:1950
NTV2FrameRateToString
std::string NTV2FrameRateToString(const NTV2FrameRate inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7184
AddAudioTestPattern
ULWord AddAudioTestPattern(ULWord *pAudioBuffer, ULWord &inOutCurrentSample, const ULWord inNumSamples, const ULWord inModulus, const bool inEndianConvert, const ULWord inNumChannels)
Definition: ntv2utils.cpp:4652
NTV2ChannelToAudioSystem
NTV2AudioSystem NTV2ChannelToAudioSystem(const NTV2Channel inChannel)
Converts the given NTV2Channel value into its equivalent NTV2AudioSystem.
Definition: ntv2utils.cpp:4927
NTV2WidgetIDToString
std::string NTV2WidgetIDToString(const NTV2WidgetID inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6194
NTV2Crosspoint
NTV2Crosspoint
Logically, these are an NTV2Channel combined with an NTV2Mode.
Definition: ntv2enums.h:1645
NTV2ACFrameRange::setCountOnly
bool setCountOnly(const UWord inCount)
Definition: ntv2utils.h:1005
NTV2SmpteLineNumber::smpteSecondActiveLine
ULWord smpteSecondActiveLine
SMPTE line number of second active line of video.
Definition: ntv2utils.h:872
NTV2AudioBufferSize
NTV2AudioBufferSize
Represents the size of the audio buffer used by a device audio system for storing captured samples or...
Definition: ntv2enums.h:1859
SerialNum64ToString
std::string SerialNum64ToString(const uint64_t &inSerNum)
Definition: ntv2utils.cpp:8110
GetVaricamRepeatCount
ULWord GetVaricamRepeatCount(const NTV2FrameRate inSequenceRate, const NTV2FrameRate inPlayRate, const ULWord inCadenceFrame=0)
Definition: ntv2utils.cpp:3215
NTV2AudioSystemToString
std::string NTV2AudioSystemToString(const NTV2AudioSystem inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:5777
Is2KFormat
bool Is2KFormat(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5460
NTV2OutputDestinationToString
std::string NTV2OutputDestinationToString(const NTV2OutputDestination inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7238
NTV2HDMIBitDepthToString
std::string NTV2HDMIBitDepthToString(const NTV2HDMIBitDepth inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6649