AJA NTV2 SDK  18.1.0.2149
NTV2 SDK 18.1.0.2149
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 
547 AJAExport ULWord GetIndexForNTV2InputSource (const NTV2InputSource inValue); // 0-based index
548 
555 
562 
570 AJAExport NTV2TCIndex NTV2ChannelToTimecodeIndex (const NTV2Channel inChannel, const bool inEmbeddedLTC = false, const bool inIsF2 = false);
571 
577 
584 
591 
592 
593 #define GetTCIndexesForSDIInput GetTCIndexesForSDIConnector
594 #define NTV2ChannelToCaptureCrosspoint NTV2ChannelToInputCrosspoint
595 #define NTV2ChannelToIngestCrosspoint NTV2ChannelToInputCrosspoint
596 #define NTV2ChannelToInputChannelSpec NTV2ChannelToInputCrosspoint
597 #define NTV2ChannelToPlayoutCrosspoint NTV2ChannelToOutputCrosspoint
598 #define NTV2ChannelToOutputChannelSpec NTV2ChannelToOutputCrosspoint
599 
600 
607 
616 
623 
630 
636 
643 
650 
657 
664 
671 AJAExport NTV2TimecodeIndex NTV2InputSourceToTimecodeIndex (const NTV2InputSource inInputSource, const bool inEmbeddedLTC = false);
672 
679 
687 
694 
703 
710 
716 AJAExport bool IsMultiFormatCompatible (const NTV2FrameRate inFrameRate1, const NTV2FrameRate inFrameRate2);
717 
723 AJAExport bool IsMultiFormatCompatible (const NTV2VideoFormat inFormat1, const NTV2VideoFormat inFormat2);
724 
725 AJAExport bool IsPSF (const NTV2VideoFormat format);
728 AJAExport bool IsProgressiveTransport (const NTV2Standard format);
729 AJAExport bool IsRGBFormat (const NTV2FrameBufferFormat format);
730 AJAExport bool IsYCbCrFormat (const NTV2FrameBufferFormat format);
732 AJAExport bool Is2KFormat (const NTV2VideoFormat format);
733 AJAExport bool Is4KFormat (const NTV2VideoFormat format);
734 AJAExport bool Is8KFormat (const NTV2VideoFormat format);
735 AJAExport bool IsRaw (const NTV2FrameBufferFormat format);
737 AJAExport bool IsVideoFormatA (const NTV2VideoFormat format);
738 AJAExport bool IsVideoFormatB (const NTV2VideoFormat format);
740 
741 
742 AJAExport int RecordCopyAudio (PULWord pAja, PULWord pSR, int iStartSample, int iNumBytes, int iChan0,
743  int iNumChans, bool bKeepAudio24Bits);
744 
762 AJAExport bool AddAudioTone ( ULWord & outNumBytesWritten,
763  NTV2Buffer & inAudioBuffer,
764  ULWord & inOutCurrentSample,
765  const ULWord inNumSamples,
766  const double inSampleRate,
767  const double inAmplitude,
768  const double inFrequency,
769  const ULWord inNumBits,
770  const bool inByteSwap,
771  const ULWord inNumChannels);
772 
791 AJAExport ULWord AddAudioTone ( ULWord * pAudioBuffer,
792  ULWord & inOutCurrentSample,
793  const ULWord inNumSamples,
794  const double inSampleRate,
795  const double inAmplitude,
796  const double inFrequency,
797  const ULWord inNumBits,
798  const bool inByteSwap,
799  const ULWord inNumChannels);
800 
821 AJAExport ULWord AddAudioTone ( ULWord * pAudioBuffer,
822  ULWord & inOutCurrentSample,
823  const ULWord inNumSamples,
824  const double inSampleRate,
825  const double * pInAmplitudes,
826  const double * pInFrequencies,
827  const ULWord inNumBits,
828  const bool inByteSwap,
829  const ULWord inNumChannels);
830 
849 AJAExport ULWord AddAudioTone ( UWord * pAudioBuffer,
850  ULWord & inOutCurrentSample,
851  const ULWord inNumSamples,
852  const double inSampleRate,
853  const double inAmplitude,
854  const double inFrequency,
855  const ULWord inNumBits,
856  const bool inByteSwap,
857  const ULWord inNumChannels);
858 
860  ULWord & inOutCurrentSample,
861  const ULWord inNumSamples,
862  const ULWord inModulus,
863  const bool inEndianConvert,
864  const ULWord inNumChannels);
865 
872 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2FrameSize & inFrameDimensions);
873 
874 
880 {
884 private:
885  NTV2Standard mStandard;
886 
887 public:
892  explicit NTV2SmpteLineNumber (const NTV2Standard inStandard = NTV2_STANDARD_INVALID);
893 
897  inline bool IsValid (void) const {return NTV2_IS_VALID_STANDARD (mStandard) && smpteFirstActiveLine;}
898 
905  ULWord GetFirstActiveLine (const NTV2FieldID inRasterFieldID = NTV2_FIELD0) const;
906 
913  ULWord GetLastLine (const NTV2FieldID inRasterFieldID = NTV2_FIELD0) const;
914 
919  bool operator == (const NTV2SmpteLineNumber & inRHS) const;
920 
926  std::ostream & Print (std::ostream & inOutStream) const;
927 
935  std::string PrintLineNumber (const ULWord inLineOffset = 0, const NTV2FieldID inRasterFieldID = NTV2_FIELD0) const;
936 
937 private:
938  explicit inline NTV2SmpteLineNumber (const ULWord inFirstActiveLine,
939  const ULWord inSecondActiveLine,
940  const bool inFirstFieldTop,
941  const NTV2Standard inStandard)
942  : smpteFirstActiveLine (inFirstActiveLine),
943  smpteSecondActiveLine (inSecondActiveLine),
944  firstFieldTop (inFirstFieldTop),
945  mStandard (inStandard) { }
946 
948 
949 
956 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2SmpteLineNumber & inSmpteLineNumber);
957 
958 
965 inline NTV2SmpteLineNumber GetSmpteLineNumber (const NTV2Standard inStandard) {return NTV2SmpteLineNumber (inStandard);}
966 
967 
972 {
973  public:
974  explicit inline NTV2ACFrameRange (const UWord inFrameCount = 0)
975  {
976  setCountOnly(inFrameCount);
977  }
978  explicit inline NTV2ACFrameRange (const UWord inFirstFrame, const UWord inLastFrame)
979  {
980  setExactRange (inFirstFrame, inLastFrame);
981  }
982  inline bool isCountOnly (void) const {return mIsCountOnly;}
983  inline bool isFrameRange (void) const {return !isCountOnly();}
984  inline UWord count (void) const {return isCountOnly() ? mFrameCount : 0;}
985  inline UWord firstFrame (void) const {return mFirstFrame;}
986  inline UWord lastFrame (void) const {return mLastFrame;}
987  inline operator bool() const {return valid();}
988  inline bool valid (void) const
989  {
990  if (isCountOnly())
991  return count() > 0;
992  return lastFrame() >= firstFrame();
993  }
995  {
996  mIsCountOnly = true;
997  mFrameCount = mFirstFrame = mLastFrame = 0;
998  return *this;
999  }
1000  inline bool setExactRange (const UWord inFirstFrame, const UWord inLastFrame)
1001  {
1002  mIsCountOnly = false;
1003  mFrameCount = 0;
1004  mFirstFrame = inFirstFrame;
1005  mLastFrame = inLastFrame;
1006  return valid();
1007  }
1008  inline bool setRangeWithCount (const UWord inCount, const UWord inFirstFrame)
1009  {
1010  mIsCountOnly = false;
1011  mFrameCount = 0;
1012  mFirstFrame = inFirstFrame;
1013  mLastFrame = mFirstFrame + inCount - 1;
1014  return valid();
1015  }
1016  inline bool setCountOnly (const UWord inCount)
1017  {
1018  mIsCountOnly = true;
1019  mFrameCount = inCount;
1020  mFirstFrame = mLastFrame = 0;
1021  return valid();
1022  }
1023  std::string setFromString (const std::string & inStr);
1024  std::string toString (const bool inNormalized = false) const;
1025 
1026  private:
1027  bool mIsCountOnly;
1028  UWord mFrameCount;
1029  UWord mFirstFrame;
1030  UWord mLastFrame;
1031 
1032 }; // NTV2ACFrameRange
1033 
1034 inline std::ostream & operator << (std::ostream & oss, const NTV2ACFrameRange & inObj) {return oss << inObj.toString();}
1035 
1036 
1037 typedef std::vector <NTV2DeviceID> NTV2DeviceIDList;
1038 typedef NTV2DeviceIDList::iterator NTV2DeviceIDListIter;
1039 typedef NTV2DeviceIDList::const_iterator NTV2DeviceIDListConstIter;
1040 
1041 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2DeviceIDList & inSet);
1042 
1043 
1044 typedef std::set <NTV2DeviceID> NTV2DeviceIDSet;
1045 typedef NTV2DeviceIDSet::iterator NTV2DeviceIDSetIter;
1046 typedef NTV2DeviceIDSet::const_iterator NTV2DeviceIDSetConstIter;
1047 
1054 
1055 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2DeviceIDSet & inSet);
1056 
1064 AJAExport UWord NTV2GetSDKVersionComponent (const int inVersionComponent = 0); // New in SDK 16.1
1065 
1066 
1067 typedef std::vector <NTV2OutputCrosspointID> NTV2OutputCrosspointIDs;
1068 typedef NTV2OutputCrosspointIDs::iterator NTV2OutputCrosspointIDsIter;
1069 typedef NTV2OutputCrosspointIDs::const_iterator NTV2OutputCrosspointIDsConstIter;
1070 
1071 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2OutputCrosspointIDs & inList);
1072 
1073 
1074 typedef std::vector <NTV2InputCrosspointID> NTV2InputCrosspointIDs;
1075 typedef NTV2InputCrosspointIDs::iterator NTV2InputCrosspointIDsIter;
1076 typedef NTV2InputCrosspointIDs::const_iterator NTV2InputCrosspointIDsConstIter;
1077 
1078 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2OutputCrosspointIDs & inList);
1079 
1080 
1081 AJAExport std::string NTV2DeviceIDToString (const NTV2DeviceID inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1082 AJAExport std::string NTV2VideoFormatToString (const NTV2VideoFormat inValue, const bool inUseFrameRate = false); // New in SDK 12.0
1083 AJAExport std::string NTV2StandardToString (const NTV2Standard inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1084 AJAExport std::string NTV2FrameBufferFormatToString (const NTV2FrameBufferFormat inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1085 AJAExport std::string NTV2FrameGeometryToString (const NTV2FrameGeometry inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1086 AJAExport std::string NTV2FrameRateToString (const NTV2FrameRate inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1087 AJAExport std::string NTV2InputSourceToString (const NTV2InputSource inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1088 AJAExport std::string NTV2OutputDestinationToString (const NTV2OutputDestination inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1089 AJAExport std::string NTV2ReferenceSourceToString (const NTV2ReferenceSource inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1090 AJAExport std::string NTV2RegisterWriteModeToString (const NTV2RegisterWriteMode inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1091 AJAExport std::string NTV2InterruptEnumToString (const INTERRUPT_ENUMS inInterruptEnumValue);
1092 AJAExport std::string NTV2IpErrorEnumToString (const NTV2IpError inIpErrorEnumValue);
1093 AJAExport std::string NTV2ChannelToString (const NTV2Channel inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1094 AJAExport std::string NTV2AudioSystemToString (const NTV2AudioSystem inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1095 AJAExport std::string NTV2AudioRateToString (const NTV2AudioRate inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1096 AJAExport std::string NTV2AudioBufferSizeToString (const NTV2AudioBufferSize inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1097 AJAExport std::string NTV2AudioLoopBackToString (const NTV2AudioLoopBack inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1098 AJAExport std::string NTV2EmbeddedAudioClockToString (const NTV2EmbeddedAudioClock inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1099 AJAExport std::string NTV2GetBitfileName (const NTV2DeviceID inValue);
1100 AJAExport bool NTV2IsCompatibleBitfileName (const std::string & inBitfileName, const NTV2DeviceID inDeviceID);
1101 AJAExport NTV2DeviceID NTV2GetDeviceIDFromBitfileName (const std::string & inBitfileName);
1102 AJAExport std::string NTV2GetFirmwareFolderPath (const bool inAddTrailingPathDelim = false);
1103 AJAExport std::string NTV2GetPluginsFolderPath (const bool inAddTrailingPathDelim = false); // New in SDK 18.0
1104 AJAExport std::string NTV2GetVDevFolderPath (const bool inAddTrailingPathDelim = false); // New in SDK 18.0
1105 AJAExport std::ostream & operator << (std::ostream & inOutStream, const RP188_STRUCT & inObj);
1106 AJAExport std::string NTV2GetVersionString (const bool inDetailed = false);
1107 AJAExport std::string NTV2RegisterNumberToString (const NTV2RegisterNumber inValue); // New in SDK 12.0
1108 AJAExport std::string AutoCircVidProcModeToString (const AutoCircVidProcMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1109 AJAExport std::string NTV2ColorCorrectionModeToString (const NTV2ColorCorrectionMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1110 AJAExport std::string NTV2InputCrosspointIDToString (const NTV2InputCrosspointID inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1111 AJAExport std::string NTV2OutputCrosspointIDToString (const NTV2OutputCrosspointID inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1112 AJAExport std::string NTV2WidgetIDToString (const NTV2WidgetID inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1113 AJAExport std::string NTV2WidgetTypeToString (const NTV2WidgetType inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1114 AJAExport std::string NTV2TaskModeToString (const NTV2TaskMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1115 AJAExport std::string NTV2RegNumSetToString (const NTV2RegisterNumberSet & inValue); // New in SDK 12.0
1116 AJAExport std::string NTV2TCIndexToString (const NTV2TCIndex inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1117 AJAExport std::string NTV2AudioChannelPairToString (const NTV2AudioChannelPair inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1118 AJAExport std::string NTV2AudioChannelQuadToString (const NTV2Audio4ChannelSelect inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1119 AJAExport std::string NTV2AudioChannelOctetToString (const NTV2Audio8ChannelSelect inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1120 AJAExport std::string NTV2FramesizeToString (const NTV2Framesize inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1121 AJAExport std::string NTV2ModeToString (const NTV2Mode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1122 AJAExport std::string NTV2VANCModeToString (const NTV2VANCMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1123 AJAExport std::string NTV2MixerKeyerModeToString (const NTV2MixerKeyerMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1124 AJAExport std::string NTV2MixerInputControlToString (const NTV2MixerKeyerInputControl inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1125 AJAExport std::string NTV2VideoLimitingToString (const NTV2VideoLimiting inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1126 AJAExport std::string NTV2EmbeddedAudioInputToString (const NTV2EmbeddedAudioInput inValue, const bool inCompactDisplay = false); // New in SDK 13.0
1127 AJAExport std::string NTV2AudioSourceToString (const NTV2AudioSource inValue, const bool inCompactDisplay = false); // New in SDK 13.0
1128 AJAExport std::string NTV2BreakoutTypeToString (const NTV2BreakoutType inValue, const bool inCompactDisplay = false); // New in SDK 15.5
1129 AJAExport std::string NTV2AncDataRgnToStr (const NTV2AncDataRgn inValue, const bool inCompactDisplay = false); // New in SDK 15.5
1130 AJAExport std::string NTV2UpConvertModeToString (const NTV2UpConvertMode inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1131 AJAExport std::string NTV2DownConvertModeToString (const NTV2DownConvertMode inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1132 AJAExport std::string NTV2IsoConvertModeToString (const NTV2IsoConvertMode inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1133 AJAExport std::string NTV2ScanMethodToString (const NTV2ScanMethod inValue, const bool inCompactDisplay = false); // New in SDK 17.5
1134 
1135 AJAExport std::string NTV2HDMIBitDepthToString (const NTV2HDMIBitDepth inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1136 AJAExport std::string NTV2HDMIAudioChannelsToString (const NTV2HDMIAudioChannels inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1137 AJAExport std::string NTV2HDMIProtocolToString (const NTV2HDMIProtocol inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1138 AJAExport std::string NTV2HDMIRangeToString (const NTV2HDMIRange inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1139 AJAExport std::string NTV2HDMIColorSpaceToString (const NTV2HDMIColorSpace inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1140 AJAExport std::string NTV2AudioFormatToString (const NTV2AudioFormat inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1141 
1142 AJAExport std::string NTV2BitfileTypeToString (const NTV2BitfileType inValue, const bool inCompactDisplay = false); // New in SDK 16.2
1143 AJAExport std::string NTV2DieTempScaleToString (const NTV2DieTempScale inValue, const bool inUseUTF8 = false); // New in SDK 17.6
1144 #if !defined(NTV2_DEPRECATE_17_6)
1145  AJAExport NTV2_DEPRECATED_17_6(std::string NTV2M31VideoPresetToString (const M31VideoPreset val, const bool retailDisplay = false));
1150 #endif // !defined(NTV2_DEPRECATE_17_6)
1151 #if !defined(NTV2_DEPRECATE_16_1)
1152  inline NTV2_DEPRECATED_16_1(std::string NTV2AudioMonitorSelectToString (const NTV2AudioMonitorSelect v, const bool b = false)) {return NTV2AudioChannelPairToString(v, b);}
1153 #endif // !defined(NTV2_DEPRECATE_16_1)
1154 
1157 AJAExport bool GetRegNumChanges (const NTV2RegNumSet & inBefore, const NTV2RegNumSet & inAfter, NTV2RegNumSet & outGone, NTV2RegNumSet & outSame, NTV2RegNumSet & outAdded);
1158 AJAExport bool GetChangedRegisters (const NTV2RegisterReads & inBefore, const NTV2RegisterReads & inAfter, NTV2RegNumSet & outChanged); // New in SDK 16.0
1159 
1160 AJAExport std::string PercentEncode (const std::string & inStr);
1161 AJAExport std::string PercentDecode (const std::string & inStr);
1162 AJAExport bool StringToSerialNum64 (const std::string & inSerNumStr, uint64_t & outSerNum); // New in SDK 16.3
1163 AJAExport std::string SerialNum64ToString (const uint64_t & inSerNum); // New in SDK 16.3
1164 
1165 
1166 // FUTURE ** THESE WILL BE DISAPPEARING ** Deprecate in favor of the new "NTV2xxxxxxToString" functions...
1167 #define NTV2CrosspointIDToString NTV2OutputCrosspointIDToString
1168 #if defined (AJAMac)
1169  AJAExport bool GetInstalledMacDriverVersion (UWord & outMaj, UWord & outMin, UWord & outPt, UWord & outBld, UWord & outType);
1170 #endif // AJAMac
1171 
1172 #endif // NTV2UTILS_H
NTV2Channel NTV2InputSourceToChannel(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2Channel value.
Definition: ntv2utils.cpp:5049
Declares common video macros and structs used in the SDK.
bool isFrameRange(void) const
Definition: ntv2utils.h:983
NTV2TCIndexes GetTCIndexesForSDIConnector(const NTV2Channel inSDIConnector)
Definition: ntv2utils.cpp:4972
std::string NTV2AudioBufferSizeToString(const NTV2AudioBufferSize inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5771
NTV2FrameRate GetNTV2FrameRateFromVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:3630
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:5359
uint32_t CalcRowBytesForFormat(const NTV2FrameBufferFormat inPF, const uint32_t pixWidth)
Definition: ntv2utils.cpp:46
std::string NTV2FrameGeometryToString(const NTV2FrameGeometry inValue, const bool inForRetailDisplay=false)
defined(NTV2_DEPRECATE_17_6)
Definition: ntv2utils.cpp:7318
std::string NTV2AudioSystemToString(const NTV2AudioSystem inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:5747
std::ostream & operator<<(std::ostream &inOutStream, const NTV2FrameSize &inFrameDimensions)
Writes the given NTV2FrameSize to the specified output stream.
std::string NTV2HDMIBitDepthToString(const NTV2HDMIBitDepth inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6647
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information...
Definition: ntv2enums.h:3898
bool GetInstalledMacDriverVersion(UWord &outMaj, UWord &outMin, UWord &outPt, UWord &outBld, UWord &outType)
Definition: ntv2utils.cpp:8271
std::string NTV2IpErrorEnumToString(const NTV2IpError inIpErrorEnumValue)
Definition: ntv2utils.cpp:7514
Specifies SDI input/output kinds.
Definition: ntv2enums.h:1294
std::set< NTV2TCIndex > NTV2TCIndexes
NTV2VideoFormat GetSupportedNTV2VideoFormatFromInputVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:2598
NTV2DeviceID NTV2GetDeviceIDFromBitfileName(const std::string &inBitfileName)
LWord64 GetTotalAudioSamplesFromFrameNbrZeroUpToFrameNbr(NTV2FrameRate frameRate, NTV2AudioRate audioRate, ULWord frameNbrNonInclusive)
Definition: ntv2utils.cpp:3146
std::string NTV2ModeToString(const NTV2Mode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6495
NTV2Channel NTV2TimecodeIndexToChannel(const NTV2TCIndex inTCIndex)
Converts the given NTV2TCIndex value into the appropriate NTV2Channel value.
Definition: ntv2utils.cpp:4981
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...
Definition: ntv2utils.cpp:603
UWord NTV2GetSDKVersionComponent(const int inVersionComponent=0)
Returns an SDK version component value.
Definition: ntv2utils.cpp:7887
bool firstFieldTop
True if the first field on the wire is the top-most field in the raster (field dominance) ...
Definition: ntv2utils.h:883
std::string NTV2WidgetIDToString(const NTV2WidgetID inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6164
NTV2Crosspoint
Logically, these are an NTV2Channel combined with an NTV2Mode.
Definition: ntv2enums.h:1703
NTV2TimecodeIndex NTV2InputSourceToTimecodeIndex(const NTV2InputSource inInputSource, const bool inEmbeddedLTC=false)
Converts a given NTV2InputSource to its equivalent NTV2TimecodeIndex value.
Definition: ntv2utils.cpp:5097
bool Is8BitFrameBufferFormat(const NTV2FrameBufferFormat fbFormat)
Definition: ntv2utils.cpp:5454
NTV2DeviceIDSet NTV2GetSupportedDevices(const NTV2DeviceKinds inKinds=NTV2_DEVICEKIND_ALL)
Returns an NTV2DeviceIDSet of devices supported by the SDK.
Definition: ntv2utils.cpp:7733
NTV2AudioBufferSize
Represents the size of the audio buffer used by a device audio system for storing captured samples or...
Definition: ntv2enums.h:1917
NTV2HDMIColorSpace
Indicates or specifies HDMI Color Space.
Definition: ntv2enums.h:3608
ULWordSet NTV2RegisterNumberSet
A set of distinct ULWord values.
NTV2Channel GetNTV2ChannelForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4699
NTV2FrameGeometry GetQuarterSizedGeometry(const NTV2FrameGeometry inGeometry)
Definition: ntv2utils.cpp:2315
bool setCountOnly(const UWord inCount)
Definition: ntv2utils.h:1016
NTV2FieldID
These values are used to identify fields for interlaced video. See Field/Frame Interrupts and CNTV2Ca...
Definition: ntv2enums.h:1843
NTV2FrameBufferFormat
Identifies a particular video frame buffer pixel format. See Device Frame Buffer Formats for details...
Definition: ntv2enums.h:221
defined(NTV2_DEPRECATE_17_6)
NTV2TaskMode
Describes the task mode state. See also: Sharing AJA Devices With Other Applications.
uint32_t * PULWord
Definition: ajatypes.h:237
NTV2VANCMode GetVANCModeForGeometry(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:4056
NTV2OutputDestination
Identifies a specific video output destination.
Definition: ntv2enums.h:1326
enum _NTV2ScanMethod NTV2ScanMethod
Identifies a particular scan method.
std::string NTV2OutputDestinationToString(const NTV2OutputDestination inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7402
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
Used to describe Start of Active Video (SAV) location and field dominance for a given NTV2Standard...
Definition: ntv2utils.h:879
NTV2OutputDestination NTV2ChannelToOutputDestination(const NTV2Channel inChannel, const NTV2IOKinds inKinds=NTV2_IOKINDS_SDI)
Converts the given NTV2Channel value into its ordinary equivalent NTV2OutputDestination.
Definition: ntv2utils.cpp:5169
double GetFramesPerSecond(const NTV2FrameRate inFrameRate)
Definition: ntv2utils.cpp:1833
NTV2OutputCrosspointIDs::iterator NTV2OutputCrosspointIDsIter
A convenient non-const iterator for NTV2OutputCrosspointIDs.
Definition: ntv2utils.h:1068
NTV2ACFrameRange & makeInvalid(void)
Definition: ntv2utils.h:994
UWord count(void) const
Definition: ntv2utils.h:984
ULWord GetIndexForNTV2Channel(const NTV2Channel inChannel)
Definition: ntv2utils.cpp:4704
std::string NTV2AncDataRgnToStr(const NTV2AncDataRgn inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6579
AutoCircVidProcMode
bool IsAlphaChannelFormat(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5424
NTV2EmbeddedAudioInput NTV2InputSourceToEmbeddedAudioInput(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2EmbeddedAudioInput value.
Definition: ntv2utils.cpp:4879
NTV2InputSource NTV2ChannelToInputSource(const NTV2Channel inChannel, const NTV2IOKinds inKinds=NTV2_IOKINDS_SDI)
Definition: ntv2utils.cpp:5134
#define NTV2_DEPRECATED_17_6(__f__)
Definition: ajatypes.h:581
void UnPack10BitDPXtoForRP215withEndianSwap(UWord *rawrp215Buffer, ULWord *DPXLinebuffer, ULWord numPixels)
Definition: ntv2utils.cpp:706
NTV2AudioSystem NTV2InputSourceToAudioSystem(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2AudioSystem value.
Definition: ntv2utils.cpp:5073
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:581
std::string NTV2GetVDevFolderPath(const bool inAddTrailingPathDelim=false)
Definition: ntv2utils.cpp:7719
std::string NTV2RegisterNumberToString(const NTV2RegisterNumber inValue)
Definition: ntv2utils.cpp:7901
void setHDRDefaultsForBT2020(HDRRegValues &outRegVals)
Definition: ntv2utils.cpp:8035
std::string NTV2DownConvertModeToString(const NTV2DownConvertMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6607
std::string NTV2RegNumSetToString(const NTV2RegisterNumberSet &inValue)
Definition: ntv2utils.cpp:6368
bool IsProgressiveTransport(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5399
NTV2EmbeddedAudioClock
This enum value determines/states the device audio clock reference source. It was important to set th...
Definition: ntv2enums.h:1993
std::string NTV2ColorCorrectionModeToString(const NTV2ColorCorrectionMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:7921
INTERRUPT_ENUMS NTV2ChannelToInputInterrupt(const NTV2Channel inChannel)
Converts the given NTV2Channel value into the equivalent input INTERRUPT_ENUMS value.
Definition: ntv2utils.cpp:4939
NTV2FrameGeometry GetNormalizedFrameGeometry(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:3856
NTV2DeviceIDSet::iterator NTV2DeviceIDSetIter
A convenient non-const iterator for NTV2DeviceIDSet.
Definition: ntv2utils.h:1045
UWord firstFrame(void) const
Definition: ntv2utils.h:985
NTV2Standard GetNTV2StandardFromScanGeometry(const UByte inScanGeometry, const bool inIsProgressiveTransport)
Definition: ntv2utils.cpp:1903
std::string NTV2BreakoutTypeToString(const NTV2BreakoutType inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6560
ULWord smpteSecondActiveLine
SMPTE line number of second active line of video.
Definition: ntv2utils.h:882
NTV2HDMIAudioChannels
Indicates or specifies the HDMI audio channel count.
Definition: ntv2enums.h:3670
ULWord NTV2AudioBufferSizeToByteCount(const NTV2AudioBufferSize inBufferSize)
Converts the given NTV2BufferSize value into its exact byte count.
Definition: ntv2utils.cpp:5304
void UnPack10BitDPXtoForRP215(UWord *rawrp215Buffer, ULWord *DPXLinebuffer, ULWord numPixels)
Definition: ntv2utils.cpp:716
std::string NTV2DieTempScaleToString(const NTV2DieTempScale inValue, const bool inUseUTF8=false)
Definition: ntv2utils.cpp:8015
std::string NTV2InterruptEnumToString(const INTERRUPT_ENUMS inInterruptEnumValue)
Definition: ntv2utils.cpp:7464
NTV2HDMIRange
Indicates or specifies the HDMI RGB range.
Definition: ntv2enums.h:3638
uint32_t ULWord
Definition: ajatypes.h:236
bool HasVANCGeometries(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:3966
NTV2AudioFormat
Definition: ntv2enums.h:1954
NTV2EmbeddedAudioInput NTV2ChannelToEmbeddedAudioInput(const NTV2Channel inChannel)
Converts the given NTV2Channel value into its equivalent NTV2EmbeddedAudioInput.
Definition: ntv2utils.cpp:4863
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They&#39;re also commonly use...
Definition: ntv2enums.h:1359
std::string NTV2AudioFormatToString(const NTV2AudioFormat inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6704
NTV2WidgetType
Definition: ntv2enums.h:3050
NTV2Crosspoint GetNTV2CrosspointInputForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4770
NTV2FrameGeometry GetGeometryFromFrameDimensions(const NTV2FrameSize &inFD)
Definition: ntv2utils.cpp:3957
void setHDRDefaultsForDCIP3(HDRRegValues &outRegVals)
Definition: ntv2utils.cpp:8040
bool GetChangedRegisters(const NTV2RegisterReads &inBefore, const NTV2RegisterReads &inAfter, NTV2RegNumSet &outChanged)
Definition: ntv2utils.cpp:8103
bool IsProgressivePicture(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5393
void UnPack10BitYCbCrBuffer(uint32_t *packedBuffer, uint16_t *ycbcrBuffer, uint32_t numPixels)
Definition: ntv2utils.cpp:201
void PackTo10BitYCbCrBuffer(const uint16_t *ycbcrBuffer, uint32_t *packedBuffer, const uint32_t numPixels)
Definition: ntv2utils.cpp:216
void MaskYCbCrLine(UWord *ycbcrLine, UWord signalMask, ULWord numPixels)
Definition: ntv2utils.cpp:728
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:4964
M31VideoPreset
Definition: ntv2m31enums.h:13
NTV2Crosspoint GetNTV2CrosspointChannelForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4738
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:1735
std::string NTV2MixerInputControlToString(const NTV2MixerKeyerInputControl inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6534
NTV2FrameRate GetFrameRateFamily(const NTV2FrameRate inFrameRate)
Definition: ntv2utils.cpp:5345
NTV2TCIndex
These enum values are indexes into the capture/playout AutoCirculate timecode arrays.
Definition: ntv2enums.h:3954
NTV2InputCrosspointIDs::const_iterator NTV2InputCrosspointIDsConstIter
A convenient const iterator for NTV2InputCrosspointIDs.
Definition: ntv2utils.h:1076
std::string PercentEncode(const std::string &inStr)
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...
Definition: ntv2utils.cpp:646
AutoCirculate Frame Range.
Definition: ntv2utils.h:971
ULWord smpteFirstActiveLine
SMPTE line number of first (top-most) active line of video.
Definition: ntv2utils.h:881
std::string NTV2InputSourceToString(const NTV2InputSource inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7379
NTV2Channel NTV2OutputDestinationToChannel(const NTV2OutputDestination inOutputDest)
Converts a given NTV2OutputDestination to its equivalent NTV2Channel value.
Definition: ntv2utils.cpp:5157
std::string AutoCircVidProcModeToString(const AutoCircVidProcMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:7907
NTV2FrameRate
Identifies a particular video frame rate.
Definition: ntv2enums.h:414
std::string NTV2StandardToString(const NTV2Standard inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:6912
std::string NTV2InputCrosspointIDToString(const NTV2InputCrosspointID inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5816
NTV2FrameRate GetNTV2FrameRateFromNumeratorDenominator(const ULWord inNumerator, const ULWord inDenominator)
Definition: ntv2utils.cpp:3588
std::string NTV2AudioChannelQuadToString(const NTV2Audio4ChannelSelect inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6445
NTV2Standard
Identifies a particular video standard.
Definition: ntv2enums.h:167
ULWord GetDisplayHeight(const NTV2VideoFormat videoFormat)
Definition: ntv2utils.cpp:4207
std::string NTV2GetBitfileName(const NTV2DeviceID inValue)
Definition: ntv2utils.cpp:7569
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
Definition: ntv2enums.h:20
NTV2IOKinds GetNTV2InputSourceKind(const NTV2InputSource inSrc)
Definition: ntv2utils.cpp:5258
bool IsVideoFormatB(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5466
std::string NTV2ScanMethodToString(const NTV2ScanMethod inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6620
Enumerations for controlling NTV2 devices.
NTV2Standard GetQuarterSizedStandard(const NTV2Standard inGeometry)
Definition: ntv2utils.cpp:2340
struct NTV2SmpteLineNumber NTV2SmpteLineNumber
Used to describe Start of Active Video (SAV) location and field dominance for a given NTV2Standard...
NTV2FrameGeometry GetVANCFrameGeometry(const NTV2FrameGeometry inFrameGeometry, const NTV2VANCMode inVancMode)
Definition: ntv2utils.cpp:3904
NTV2DeviceIDSet::const_iterator NTV2DeviceIDSetConstIter
A convenient const iterator for NTV2DeviceIDSet.
Definition: ntv2utils.h:1046
NTV2ReferenceSource
These enum values identify a specific source for the device&#39;s (output) reference clock.
Definition: ntv2enums.h:1457
NTV2BreakoutType
Identifies the Breakout Boxes and Cables that may be attached to an AJA NTV2 device.
Definition: ntv2enums.h:3106
std::string NTV2TaskModeToString(const NTV2TaskMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6355
Defines the import/export macros for producing DLLs or LIBs.
NTV2Crosspoint NTV2InputSourceToChannelSpec(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2Crosspoint value.
Definition: ntv2utils.cpp:5001
bool convertHDRRegisterToFloatValues(const HDRRegValues &inRegVals, HDRFloatValues &outFloatVals)
Definition: ntv2utils.cpp:8030
NTV2InputCrosspointIDs::iterator NTV2InputCrosspointIDsIter
A convenient non-const iterator for NTV2InputCrosspointIDs.
Definition: ntv2utils.h:1075
enum NTV2AncillaryDataRegion NTV2AncDataRgn
void Make8BitWhiteLine(UByte *lineData, ULWord numPixels=1920, NTV2FrameBufferFormat=NTV2_FBF_8BIT_YCBCR)
Definition: ntv2utils.cpp:887
std::string NTV2EmbeddedAudioClockToString(const NTV2EmbeddedAudioClock inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5795
ULWord GetVideoActiveSize(const NTV2VideoFormat inVideoFormat, const NTV2FrameBufferFormat inFBFormat, const NTV2VANCMode inVancMode=NTV2_VANCMODE_OFF)
Definition: ntv2utils.cpp:2858
Declares the most fundamental data types used by NTV2. Since Windows NT was the first principal devel...
NTV2AudioLoopBack
This enum value determines/states if an audio output embedder will embed silence (zeroes) or de-embed...
Definition: ntv2enums.h:2031
NTV2VideoFormat GetTransportCompatibleFormat(const NTV2VideoFormat inFormat, const NTV2VideoFormat inTargetFormat)
Definition: ntv2utils.cpp:5196
NTV2VideoFormat GetQuarterSizedVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:1940
std::string NTV2HDMIProtocolToString(const NTV2HDMIProtocol inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6670
Describes a video frame for a given video standard or format and pixel format, including the total nu...
bool IsTransportCompatibleFormat(const NTV2VideoFormat inFormat1, const NTV2VideoFormat inFormat2)
Definition: ntv2utils.cpp:5208
enum _INTERRUPT_ENUMS_ INTERRUPT_ENUMS
void CopyRGBAImageToFrame(ULWord *pSrcBuffer, ULWord srcHeight, ULWord srcWidth, ULWord *pDstBuffer, ULWord dstHeight, ULWord dstWidth)
Definition: ntv2utils.cpp:986
std::string NTV2GetVersionString(const bool inDetailed=false)
Definition: ntv2utils.cpp:7875
void Fill4k8BitYCbCrVideoFrame(PULWord _baseVideoAddress, NTV2FrameBufferFormat frameBufferFormat, YCbCrPixel color, bool vancEnabled=false, bool b4k=false, bool wideVANC=false)
Definition: ntv2utils.cpp:954
NTV2ColorCorrectionMode
Definition: ntv2enums.h:2082
ULWord NTV2FramesizeToByteCount(const NTV2Framesize inFrameSize)
Converts the given NTV2Framesize value into an exact byte count.
Definition: ntv2utils.cpp:5289
NTV2ACFrameRange(const UWord inFrameCount=0)
Definition: ntv2utils.h:974
NTV2RegisterNumberSet NTV2RegNumSet
A set of distinct NTV2RegisterNumbers.
NTV2AudioChannelPair
Identifies a pair of audio channels.
Definition: ntv2enums.h:3134
void MaskUnPacked10BitYCbCrBuffer(uint16_t *ycbcrUnPackedBuffer, uint16_t signalMask, uint32_t numPixels)
Definition: ntv2utils.cpp:367
Specifies any/all devices.
Definition: ntv2enums.h:1382
NTV2MixerKeyerInputControl
These enum values identify the Mixer/Keyer foreground and background input control values...
Definition: ntv2enums.h:1779
std::string NTV2VANCModeToString(const NTV2VANCMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6507
void CopyFromQuadrant(uint8_t *srcBuffer, uint32_t srcHeight, uint32_t srcRowBytes, uint32_t srcQuadrant, uint8_t *dstBuffer, uint32_t quad13Offset=0)
Definition: ntv2utils.cpp:491
bool Is8KFormat(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5442
ULWord GetNTV2FrameGeometryWidth(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:4191
void ConvertUnpacked10BitYCbCrToPixelFormat(uint16_t *unPackedBuffer, uint32_t *packedBuffer, uint32_t numPixels, NTV2FrameBufferFormat pixelFormat, bool bUseSmpteRange=false, bool bAlphaFromLuma=false)
Definition: ntv2utils.cpp:255
#define NTV2_SHOULD_BE_DEPRECATED(__f__)
Definition: ajatypes.h:504
int64_t LWord64
Definition: ajatypes.h:238
void Make8BitLine(UByte *lineData, UByte Y, UByte Cb, UByte Cr, ULWord numPixels=1920, NTV2FrameBufferFormat=NTV2_FBF_8BIT_YCBCR)
Definition: ntv2utils.cpp:911
NTV2RegWrites NTV2RegisterReads
NTV2InputSource GetNTV2InputSourceForIndex(const ULWord inIndex0, const NTV2IOKinds inKinds=NTV2_IOKINDS_SDI)
Definition: ntv2utils.cpp:5226
std::vector< uint16_t > UWordSequence
An ordered sequence of UWord (uint16_t) values.
NTV2UpConvertMode
Definition: ntv2enums.h:2222
ULWord GetIndexForNTV2InputSource(const NTV2InputSource inValue)
Definition: ntv2utils.cpp:5276
NTV2Crosspoint GetNTV2CrosspointForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4802
std::set< NTV2FrameGeometry > NTV2GeometrySet
A set of distinct NTV2FrameGeometry values.
bool IsVideoFormatJ2KSupported(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5471
std::string NTV2HDMIAudioChannelsToString(const NTV2HDMIAudioChannels inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6659
std::string NTV2VideoFormatToString(const NTV2VideoFormat inValue, const bool inUseFrameRate=false)
Definition: ntv2utils.cpp:6748
NTV2HDMIProtocol
Indicates or specifies the HDMI protocol.
Definition: ntv2enums.h:3624
#define NTV2_IS_VALID_STANDARD(__s__)
Definition: ntv2enums.h:190
std::string NTV2GetPluginsFolderPath(const bool inAddTrailingPathDelim=false)
Definition: ntv2utils.cpp:7707
void CopyToQuadrant(uint8_t *srcBuffer, uint32_t srcHeight, uint32_t srcRowBytes, uint32_t dstQuadrant, uint8_t *dstBuffer, uint32_t quad13Offset=0)
Definition: ntv2utils.cpp:519
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:1178
NTV2DownConvertMode
Definition: ntv2enums.h:2245
bool IsVideoFormatA(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5460
std::string NTV2IsoConvertModeToString(const NTV2IsoConvertMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6632
void Make10BitLine(UWord *lineData, const UWord Y, const UWord Cb, const UWord Cr, const ULWord numPixels=1920)
Definition: ntv2utils.cpp:829
std::string NTV2TCIndexToString(const NTV2TCIndex inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6396
NTV2BitfileType
Definition: ntv2enums.h:3371
std::string NTV2AudioChannelOctetToString(const NTV2Audio8ChannelSelect inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6457
std::vector< NTV2InputCrosspointID > NTV2InputCrosspointIDs
An ordered sequence of NTV2InputCrosspointID values.
Definition: ntv2utils.h:1074
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:2875
uint8_t UByte
Definition: ajatypes.h:231
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:816
std::string NTV2AudioChannelPairToString(const NTV2AudioChannelPair inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6433
std::string NTV2UpConvertModeToString(const NTV2UpConvertMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6593
bool IsValid(void) const
Definition: ntv2utils.h:897
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:803
ULWord GetIndexForNTV2Crosspoint(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4826
void UnPack10BitDPXtoRGBAlpha10BitPixel(RGBAlpha10BitPixel *rgba10BitBuffer, const ULWord *DPXLinebuffer, ULWord numPixels, bool bigEndian)
Definition: ntv2utils.cpp:685
NTV2Framesize
Kona2/Xena2 specific enums.
Definition: ntv2enums.h:2119
NTV2ACFrameRange(const UWord inFirstFrame, const UWord inLastFrame)
Definition: ntv2utils.h:978
bool convertHDRFloatToRegisterValues(const HDRFloatValues &inFVals, HDRRegValues &outRegVals)
Definition: ntv2utils.cpp:8025
NTV2FrameGeometry Get4xSizedGeometry(const NTV2FrameGeometry inGeometry)
Definition: ntv2utils.cpp:2328
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:4413
bool NTV2IsCompatibleBitfileName(const std::string &inBitfileName, const NTV2DeviceID inDeviceID)
Describes a user-space buffer on the host computer. I have an address and a length, plus some optional attributes (allocated by SDK?, page-aligned? etc.).
std::string NTV2HDMIRangeToString(const NTV2HDMIRange inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6681
NTV2Mode
Used to identify the mode of a widget_framestore, or the direction of an AutoCirculate stream: either...
Definition: ntv2enums.h:1241
int RecordCopyAudio(PULWord pAja, PULWord pSR, int iStartSample, int iNumBytes, int iChan0, int iNumChans, bool bKeepAudio24Bits)
Definition: ntv2utils.cpp:4338
std::string toString(const bool inNormalized=false) const
Definition: ntv2utils.cpp:4306
NTV2DeviceIDList::iterator NTV2DeviceIDListIter
A convenient non-const iterator for NTV2DeviceIDList.
Definition: ntv2utils.h:1038
NTV2InputSource
Identifies a specific video input source.
Definition: ntv2enums.h:1264
std::string NTV2DeviceIDToString(const NTV2DeviceID inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:4608
bool IsRGBFormat(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5412
NTV2RegNumSet ToRegNumSet(const NTV2RegisterReads &inRegReads)
Definition: ntv2utils.cpp:8086
bool StringToSerialNum64(const std::string &inSerNumStr, uint64_t &outSerNum)
bool operator==(const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
Definition: json.hpp:14737
std::string PercentDecode(const std::string &inStr)
NTV2RegisterNumber
#define AJAExport
Definition: export.h:33
NTV2FrameGeometry
Identifies a particular video frame geometry.
Definition: ntv2enums.h:350
std::string NTV2HDMIColorSpaceToString(const NTV2HDMIColorSpace inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6692
std::string NTV2GetFirmwareFolderPath(const bool inAddTrailingPathDelim=false)
Definition: ntv2utils.cpp:7695
bool Fill8BitYCbCrVideoFrame(void *pBaseVideoAddress, const NTV2Standard inStandard, const NTV2FrameBufferFormat inFBF, const YCbCrPixel inPixelColor, const NTV2VANCMode inVancMode=NTV2_VANCMODE_OFF)
Definition: ntv2utils.cpp:937
void Make8BitBlackLine(UByte *lineData, ULWord numPixels=1920, NTV2FrameBufferFormat=NTV2_FBF_8BIT_YCBCR)
Definition: ntv2utils.cpp:865
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:965
std::string NTV2M31VideoPresetToString(const M31VideoPreset val, const bool retailDisplay=false)
Definition: ntv2utils.cpp:7146
NTV2Standard Get4xSizedStandard(const NTV2Standard inGeometry, const bool bIs4k=false)
Definition: ntv2utils.cpp:2357
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:548
std::string NTV2CrosspointToString(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:5807
Describes the horizontal and vertical size dimensions of a raster, bitmap, frame or image...
std::string NTV2WidgetTypeToString(const NTV2WidgetType inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6303
std::string NTV2FramesizeToString(const NTV2Framesize inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6469
bool setRangeWithCount(const UWord inCount, const UWord inFirstFrame)
Definition: ntv2utils.h:1008
NTV2OutputCrosspointID
Identifies a widget output, a signal source, that potentially can drive another widget&#39;s input (ident...
Definition: ntv2enums.h:2530
double GetAudioSamplesPerSecond(const NTV2AudioRate inAudioRate)
Returns the audio sample rate as a number of audio samples per second.
Definition: ntv2utils.cpp:3303
NTV2IsoConvertMode
Definition: ntv2enums.h:2256
NTV2InputCrosspointID
Identifies a widget input that potentially can accept a signal emitted from another widget&#39;s output (...
Definition: ntv2enums.h:2755
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:564
uint16_t NTV2DeviceKinds
A combination of NTV2DeviceKindFilter values.
Definition: ntv2enums.h:1404
void StackQuadrants(uint8_t *pSrc, uint32_t srcWidth, uint32_t srcHeight, uint32_t srcRowBytes, uint8_t *pDst)
Definition: ntv2utils.cpp:450
NTV2Crosspoint NTV2ChannelToInputCrosspoint(const NTV2Channel inChannel)
Definition: ntv2utils.cpp:4917
bool IsRaw(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5448
NTV2Crosspoint NTV2ChannelToOutputCrosspoint(const NTV2Channel inChannel)
Definition: ntv2utils.cpp:4928
NTV2WidgetID
Definition: ntv2enums.h:2912
std::string NTV2AudioRateToString(const NTV2AudioRate inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5758
bool IsNTV2CrosspointOutput(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4857
uint16_t UWord
Definition: ajatypes.h:234
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, and frame number. This is useful since AJA devices use fixed audio sample rates (typically 48KHz), and some video frame rates will necessarily result in some frames having more audio samples than others.
Definition: ntv2utils.cpp:2889
NTV2FrameRate GetFrameRateFromScale(long scale, long duration, NTV2FrameRate playFrameRate)
Definition: ntv2utils.cpp:3491
std::string NTV2RegisterWriteModeToString(const NTV2RegisterWriteMode inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7451
NTV2VideoLimiting
These enum values identify the available SDI video output limiting modes.
Definition: ntv2enums.h:3781
bool setExactRange(const UWord inFirstFrame, const UWord inLastFrame)
Definition: ntv2utils.h:1000
std::string NTV2ReferenceSourceToString(const NTV2ReferenceSource inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7422
void RePackLineDataForYCbCrDPX(ULWord *packedycbcrLine, ULWord numULWords)
Definition: ntv2utils.cpp:674
NTV2VANCMode
These enum values identify the available VANC modes.
Definition: ntv2enums.h:3800
std::string NTV2AudioSourceToString(const NTV2AudioSource inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6733
std::string NTV2AudioMonitorSelectToString(const NTV2AudioMonitorSelect v, const bool b=false)
Definition: ntv2utils.h:1152
std::vector< NTV2OutputCrosspointID > NTV2OutputCrosspointIDs
An ordered sequence of NTV2OutputCrosspointID values.
Definition: ntv2utils.h:1067
ULWord GetDisplayWidth(const NTV2VideoFormat videoFormat)
Definition: ntv2utils.cpp:4199
std::string NTV2FrameBufferFormatToString(const NTV2FrameBufferFormat inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:6938
NTV2RegisterWriteMode
These values are used to determine when certain register writes actually take effect. See CNTV2Card::SetRegisterWriteMode or Field/Frame Interrupts.
Definition: ntv2enums.h:1682
NTV2GeometrySet GetRelatedGeometries(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:4002
Declares the NTV2FormatDescriptor class.
std::string NTV2MixerKeyerModeToString(const NTV2MixerKeyerMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6520
NTV2VideoFormat GetFirstMatchingVideoFormat(const NTV2FrameRate inFrameRate, const UWord inHeightLines, const UWord inWidthPixels, const bool inIsInterlaced, const bool inIsLevelB, const bool inIsPSF)
Definition: ntv2utils.cpp:1921
NTV2AudioSource
This enum value determines/states where an audio system will obtain its audio samples.
Definition: ntv2enums.h:2008
bool NTV2DeviceCanDoFormat(const NTV2DeviceID inDevID, const NTV2FrameRate inFR, const NTV2FrameGeometry inFG, const NTV2Standard inStd)
Definition: ntv2utils.cpp:4158
ULWord GetNTV2FrameGeometryHeight(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:4185
NTV2AudioSystem NTV2ChannelToAudioSystem(const NTV2Channel inChannel)
Converts the given NTV2Channel value into its equivalent NTV2AudioSystem.
Definition: ntv2utils.cpp:4871
NTV2InputSource NTV2TimecodeIndexToInputSource(const NTV2TCIndex inTCIndex)
Converts the given NTV2TCIndex value into the appropriate NTV2InputSource value.
Definition: ntv2utils.cpp:4990
bool IsNTV2CrosspointInput(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4851
void MakeUnPacked10BitYCbCrBuffer(uint16_t *buffer, uint16_t Y, uint16_t Cb, uint16_t Cr, uint32_t numPixels)
Definition: ntv2utils.cpp:229
NTV2VideoFormat GetInputForConversionMode(const NTV2ConversionMode conversionMode)
Definition: ntv2utils.cpp:5625
NTV2OutputCrosspointIDs::const_iterator NTV2OutputCrosspointIDsConstIter
A convenient const iterator for NTV2OutputCrosspointIDs.
Definition: ntv2utils.h:1069
NTV2Standard GetNTV2StandardFromVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:2375
NTV2AudioRate
Definition: ntv2enums.h:1931
bool Is4KFormat(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5436
void ConvertLineTo8BitYCbCr(const uint16_t *ycbcr10BitBuffer, uint8_t *ycbcr8BitBuffer, const uint32_t numPixels)
Definition: ntv2utils.cpp:244
std::string SerialNum64ToString(const uint64_t &inSerNum)
Definition: ntv2utils.cpp:8228
std::string NTV2BitfileTypeToString(const NTV2BitfileType inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:7934
ULWord GetVaricamRepeatCount(const NTV2FrameRate inSequenceRate, const NTV2FrameRate inPlayRate, const ULWord inCadenceFrame=0)
Definition: ntv2utils.cpp:3315
NTV2ConversionMode
Definition: ntv2enums.h:3717
std::string NTV2AudioLoopBackToString(const NTV2AudioLoopBack inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5783
bool Fill10BitYCbCrVideoFrame(void *pBaseVideoAddress, const NTV2Standard inStandard, const NTV2FrameBufferFormat inPixelFormat, const YCbCr10BitPixel inPixelColor, const NTV2VANCMode inVancMode=NTV2_VANCMODE_OFF)
Definition: ntv2utils.cpp:842
std::string NTV2OutputCrosspointIDToString(const NTV2OutputCrosspointID inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5959
std::set< NTV2DeviceID > NTV2DeviceIDSet
A set of NTV2DeviceIDs.
Definition: ntv2utils.h:1044
NTV2ConversionMode GetConversionMode(const NTV2VideoFormat inFormat, const NTV2VideoFormat outFormat)
Definition: ntv2utils.cpp:5477
NTV2AudioSource NTV2InputSourceToAudioSource(const NTV2InputSource inInputSource)
Definition: ntv2utils.cpp:4903
Identifies the first field in time for an interlaced video frame, or the first and only field in a pr...
Definition: ntv2enums.h:1845
INTERRUPT_ENUMS NTV2ChannelToOutputInterrupt(const NTV2Channel inChannel)
Converts the given NTV2Channel value into the equivalent output INTERRUPT_ENUMS value.
Definition: ntv2utils.cpp:4949
std::string NTV2VideoLimitingToString(const NTV2VideoLimiting inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6547
NTV2Audio4ChannelSelect
Identifies a contiguous, adjacent group of four audio channels.
Definition: ntv2enums.h:3274
UWord lastFrame(void) const
Definition: ntv2utils.h:986
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:123
bool valid(void) const
Definition: ntv2utils.h:988
std::string NTV2ChannelToString(const NTV2Channel inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5729
NTV2IpError
Definition: ntv2enums.h:4316
std::string NTV2EmbeddedAudioInputToString(const NTV2EmbeddedAudioInput inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6715
Declares enums and structs used by all platform drivers and the SDK.
bool IsPSF(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5387
NTV2RegisterReads FromRegNumSet(const NTV2RegNumSet &inRegNumSet)
Definition: ntv2utils.cpp:8078
std::vector< NTV2DeviceID > NTV2DeviceIDList
An ordered list of NTV2DeviceIDs.
Definition: ntv2utils.h:1037
bool IsYCbCrFormat(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5418
NTV2FrameGeometry GetGeometryFromStandard(const NTV2Standard inStandard)
Definition: ntv2utils.cpp:4068
NTV2DeviceIDList::const_iterator NTV2DeviceIDListConstIter
A convenient const iterator for NTV2DeviceIDList.
Definition: ntv2utils.h:1039
double GetFrameTime(const NTV2FrameRate inFrameRate)
Definition: ntv2utils.h:350
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:1118
NTV2EmbeddedAudioInput
This enum value determines/states which SDI video input will be used to supply audio samples to an au...
Definition: ntv2enums.h:1970
ULWord GetIndexForNTV2CrosspointInput(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4786
NTV2HDMIBitDepth
Indicates or specifies the HDMI video bit depth.
Definition: ntv2enums.h:3695
NTV2VideoFormat GetQuadSizedVideoFormat(const NTV2VideoFormat inVideoFormat, const bool isSquareDivision=true)
Definition: ntv2utils.cpp:2129
bool Is2KFormat(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5430
#define NTV2_DEPRECATED_16_1(__f__)
Definition: ajatypes.h:546
ULWord GetIndexForNTV2CrosspointChannel(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4754
NTV2Channel NTV2CrosspointToNTV2Channel(const NTV2Crosspoint inCrosspointChannel)
Definition: ntv2utils.cpp:4710
NTV2MixerKeyerMode
These enum values identify the mixer mode.
Definition: ntv2enums.h:1794
NTV2Audio8ChannelSelect
Identifies a contiguous, adjacent group of eight audio channels.
Definition: ntv2enums.h:3323
This identifies the mode in which there are no VANC lines in the frame buffer.
Definition: ntv2enums.h:3802
NTV2Standard GetStandardFromGeometry(const NTV2FrameGeometry inGeometry, const bool inIsProgressive=true)
Definition: ntv2utils.cpp:4104
std::string NTV2FrameRateToString(const NTV2FrameRate inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7348
ULWord AddAudioTestPattern(ULWord *pAudioBuffer, ULWord &inOutCurrentSample, const ULWord inNumSamples, const ULWord inModulus, const bool inEndianConvert, const ULWord inNumChannels)
Definition: ntv2utils.cpp:4587
NTV2VideoFormat GetOutputForConversionMode(const NTV2ConversionMode conversionMode)
Definition: ntv2utils.cpp:5669
enum NTV2TCIndex NTV2TimecodeIndex
bool GetRegNumChanges(const NTV2RegNumSet &inBefore, const NTV2RegNumSet &inAfter, NTV2RegNumSet &outGone, NTV2RegNumSet &outSame, NTV2RegNumSet &outAdded)
Definition: ntv2utils.cpp:8094
NTV2ReferenceSource NTV2InputSourceToReferenceSource(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2ReferenceSource value.
Definition: ntv2utils.cpp:5025
ULWord NTV2IOKinds
Definition: ntv2enums.h:1312
See 8-Bit YCbCr Format.
Definition: ntv2enums.h:225
ULWord GetScaleFromFrameRate(const NTV2FrameRate inFrameRate)
Definition: ntv2utils.cpp:3454
NTV2FrameGeometry GetNTV2FrameGeometryFromVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:2644
bool isCountOnly(void) const
Definition: ntv2utils.h:982
NTV2InputSource GetNTV2HDMIInputSourceForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:5270
NTV2DieTempScale
Definition: ntv2enums.h:4213