AJA NTV2 SDK  18.0.0.2122
NTV2 SDK 18.0.0.2122
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 
1155 typedef std::vector <std::string> NTV2StringList; // New in SDK 12.5
1156 typedef NTV2StringList::iterator NTV2StringListIter; // New in SDK 16.0
1157 typedef NTV2StringList::const_iterator NTV2StringListConstIter;// New in SDK 12.5
1158 typedef std::set <std::string> NTV2StringSet; // New in SDK 12.5
1159 typedef NTV2StringSet::const_iterator NTV2StringSetConstIter; // New in SDK 12.5
1160 
1161 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2StringList & inData); // New in SDK 15.5
1162 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2StringSet & inData);
1163 
1166 AJAExport bool GetRegNumChanges (const NTV2RegNumSet & inBefore, const NTV2RegNumSet & inAfter, NTV2RegNumSet & outGone, NTV2RegNumSet & outSame, NTV2RegNumSet & outAdded);
1167 AJAExport bool GetChangedRegisters (const NTV2RegisterReads & inBefore, const NTV2RegisterReads & inAfter, NTV2RegNumSet & outChanged); // New in SDK 16.0
1168 
1169 AJAExport std::string PercentEncode (const std::string & inStr);
1170 AJAExport std::string PercentDecode (const std::string & inStr);
1171 AJAExport bool StringToSerialNum64 (const std::string & inSerNumStr, uint64_t & outSerNum); // New in SDK 16.3
1172 AJAExport std::string SerialNum64ToString (const uint64_t & inSerNum); // New in SDK 16.3
1173 
1174 
1175 // FUTURE ** THESE WILL BE DISAPPEARING ** Deprecate in favor of the new "NTV2xxxxxxToString" functions...
1176 #define NTV2CrosspointIDToString NTV2OutputCrosspointIDToString
1177 #if defined (AJAMac)
1178  AJAExport bool GetInstalledMacDriverVersion (UWord & outMaj, UWord & outMin, UWord & outPt, UWord & outBld, UWord & outType);
1179 #endif // AJAMac
1180 
1181 #endif // NTV2UTILS_H
NTV2Channel NTV2InputSourceToChannel(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2Channel value.
Definition: ntv2utils.cpp:5047
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:4970
std::string NTV2AudioBufferSizeToString(const NTV2AudioBufferSize inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5769
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:5357
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:7316
std::string NTV2AudioSystemToString(const NTV2AudioSystem inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:5745
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:6645
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information...
Definition: ntv2enums.h:3895
bool GetInstalledMacDriverVersion(UWord &outMaj, UWord &outMin, UWord &outPt, UWord &outBld, UWord &outType)
Definition: ntv2utils.cpp:8286
std::string NTV2IpErrorEnumToString(const NTV2IpError inIpErrorEnumValue)
Definition: ntv2utils.cpp:7512
Specifies SDI input/output kinds.
Definition: ntv2enums.h:1292
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:6493
NTV2Channel NTV2TimecodeIndexToChannel(const NTV2TCIndex inTCIndex)
Converts the given NTV2TCIndex value into the appropriate NTV2Channel value.
Definition: ntv2utils.cpp:4979
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:7880
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:6162
NTV2Crosspoint
Logically, these are an NTV2Channel combined with an NTV2Mode.
Definition: ntv2enums.h:1700
NTV2TimecodeIndex NTV2InputSourceToTimecodeIndex(const NTV2InputSource inInputSource, const bool inEmbeddedLTC=false)
Converts a given NTV2InputSource to its equivalent NTV2TimecodeIndex value.
Definition: ntv2utils.cpp:5095
bool Is8BitFrameBufferFormat(const NTV2FrameBufferFormat fbFormat)
Definition: ntv2utils.cpp:5452
NTV2DeviceIDSet NTV2GetSupportedDevices(const NTV2DeviceKinds inKinds=NTV2_DEVICEKIND_ALL)
Returns an NTV2DeviceIDSet of devices supported by the SDK.
Definition: ntv2utils.cpp:7730
NTV2AudioBufferSize
Represents the size of the audio buffer used by a device audio system for storing captured samples or...
Definition: ntv2enums.h:1914
NTV2HDMIColorSpace
Indicates or specifies HDMI Color Space.
Definition: ntv2enums.h:3605
ULWordSet NTV2RegisterNumberSet
A set of distinct ULWord values.
NTV2Channel GetNTV2ChannelForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4697
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:1840
NTV2FrameBufferFormat
Identifies a particular video frame buffer pixel format. See Device Frame Buffer Formats for details...
Definition: ntv2enums.h:219
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:224
NTV2VANCMode GetVANCModeForGeometry(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:4056
NTV2OutputDestination
Identifies a specific video output destination.
Definition: ntv2enums.h:1324
enum _NTV2ScanMethod NTV2ScanMethod
Identifies a particular scan method.
std::string NTV2OutputDestinationToString(const NTV2OutputDestination inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7400
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:5167
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:4702
std::string NTV2AncDataRgnToStr(const NTV2AncDataRgn inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6577
AutoCircVidProcMode
bool IsAlphaChannelFormat(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5422
NTV2EmbeddedAudioInput NTV2InputSourceToEmbeddedAudioInput(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2EmbeddedAudioInput value.
Definition: ntv2utils.cpp:4877
NTV2InputSource NTV2ChannelToInputSource(const NTV2Channel inChannel, const NTV2IOKinds inKinds=NTV2_IOKINDS_SDI)
Definition: ntv2utils.cpp:5132
#define NTV2_DEPRECATED_17_6(__f__)
Definition: ajatypes.h:568
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:5071
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:7717
std::string NTV2RegisterNumberToString(const NTV2RegisterNumber inValue)
Definition: ntv2utils.cpp:7894
void setHDRDefaultsForBT2020(HDRRegValues &outRegVals)
Definition: ntv2utils.cpp:8028
std::string NTV2DownConvertModeToString(const NTV2DownConvertMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6605
std::string NTV2RegNumSetToString(const NTV2RegisterNumberSet &inValue)
Definition: ntv2utils.cpp:6366
bool IsProgressiveTransport(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5397
NTV2EmbeddedAudioClock
This enum value determines/states the device audio clock reference source. It was important to set th...
Definition: ntv2enums.h:1990
std::string NTV2ColorCorrectionModeToString(const NTV2ColorCorrectionMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:7914
NTV2StringList::iterator NTV2StringListIter
Definition: ntv2utils.h:1156
INTERRUPT_ENUMS NTV2ChannelToInputInterrupt(const NTV2Channel inChannel)
Converts the given NTV2Channel value into the equivalent input INTERRUPT_ENUMS value.
Definition: ntv2utils.cpp:4937
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:6558
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:3667
ULWord NTV2AudioBufferSizeToByteCount(const NTV2AudioBufferSize inBufferSize)
Converts the given NTV2BufferSize value into its exact byte count.
Definition: ntv2utils.cpp:5302
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:8008
std::string NTV2InterruptEnumToString(const INTERRUPT_ENUMS inInterruptEnumValue)
Definition: ntv2utils.cpp:7462
NTV2HDMIRange
Indicates or specifies the HDMI RGB range.
Definition: ntv2enums.h:3635
uint32_t ULWord
Definition: ajatypes.h:223
bool HasVANCGeometries(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:3966
NTV2AudioFormat
Definition: ntv2enums.h:1951
NTV2EmbeddedAudioInput NTV2ChannelToEmbeddedAudioInput(const NTV2Channel inChannel)
Converts the given NTV2Channel value into its equivalent NTV2EmbeddedAudioInput.
Definition: ntv2utils.cpp:4861
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They&#39;re also commonly use...
Definition: ntv2enums.h:1357
std::string NTV2AudioFormatToString(const NTV2AudioFormat inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6702
NTV2WidgetType
Definition: ntv2enums.h:3047
NTV2Crosspoint GetNTV2CrosspointInputForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4768
NTV2FrameGeometry GetGeometryFromFrameDimensions(const NTV2FrameSize &inFD)
Definition: ntv2utils.cpp:3957
void setHDRDefaultsForDCIP3(HDRRegValues &outRegVals)
Definition: ntv2utils.cpp:8033
bool GetChangedRegisters(const NTV2RegisterReads &inBefore, const NTV2RegisterReads &inAfter, NTV2RegNumSet &outChanged)
Definition: ntv2utils.cpp:8118
bool IsProgressivePicture(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5391
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:4962
M31VideoPreset
Definition: ntv2m31enums.h:13
NTV2Crosspoint GetNTV2CrosspointChannelForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4736
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:6532
NTV2FrameRate GetFrameRateFamily(const NTV2FrameRate inFrameRate)
Definition: ntv2utils.cpp:5343
NTV2TCIndex
These enum values are indexes into the capture/playout AutoCirculate timecode arrays.
Definition: ntv2enums.h:3951
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:7377
NTV2Channel NTV2OutputDestinationToChannel(const NTV2OutputDestination inOutputDest)
Converts a given NTV2OutputDestination to its equivalent NTV2Channel value.
Definition: ntv2utils.cpp:5155
std::string AutoCircVidProcModeToString(const AutoCircVidProcMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:7900
NTV2FrameRate
Identifies a particular video frame rate.
Definition: ntv2enums.h:412
std::string NTV2StandardToString(const NTV2Standard inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:6910
std::string NTV2InputCrosspointIDToString(const NTV2InputCrosspointID inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5814
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:6443
NTV2Standard
Identifies a particular video standard.
Definition: ntv2enums.h:165
ULWord GetDisplayHeight(const NTV2VideoFormat videoFormat)
Definition: ntv2utils.cpp:4207
std::string NTV2GetBitfileName(const NTV2DeviceID inValue)
Definition: ntv2utils.cpp:7567
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:5256
bool IsVideoFormatB(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5464
std::string NTV2ScanMethodToString(const NTV2ScanMethod inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6618
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:1454
NTV2BreakoutType
Identifies the Breakout Boxes and Cables that may be attached to an AJA NTV2 device.
Definition: ntv2enums.h:3103
std::string NTV2TaskModeToString(const NTV2TaskMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6353
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:4999
bool convertHDRRegisterToFloatValues(const HDRRegValues &inRegVals, HDRFloatValues &outFloatVals)
Definition: ntv2utils.cpp:8023
NTV2InputCrosspointIDs::iterator NTV2InputCrosspointIDsIter
A convenient non-const iterator for NTV2InputCrosspointIDs.
Definition: ntv2utils.h:1075
enum NTV2AncillaryDataRegion NTV2AncDataRgn
NTV2StringSet::const_iterator NTV2StringSetConstIter
Definition: ntv2utils.h:1159
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:5793
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:2028
NTV2VideoFormat GetTransportCompatibleFormat(const NTV2VideoFormat inFormat, const NTV2VideoFormat inTargetFormat)
Definition: ntv2utils.cpp:5194
NTV2VideoFormat GetQuarterSizedVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:1940
std::string NTV2HDMIProtocolToString(const NTV2HDMIProtocol inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6668
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:5206
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:7868
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:2079
ULWord NTV2FramesizeToByteCount(const NTV2Framesize inFrameSize)
Converts the given NTV2Framesize value into an exact byte count.
Definition: ntv2utils.cpp:5287
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:3131
std::vector< std::string > NTV2StringList
Definition: ntv2utils.h:1155
void MaskUnPacked10BitYCbCrBuffer(uint16_t *ycbcrUnPackedBuffer, uint16_t signalMask, uint32_t numPixels)
Definition: ntv2utils.cpp:367
Specifies any/all devices.
Definition: ntv2enums.h:1380
NTV2MixerKeyerInputControl
These enum values identify the Mixer/Keyer foreground and background input control values...
Definition: ntv2enums.h:1776
std::string NTV2VANCModeToString(const NTV2VANCMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6505
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:5440
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:491
int64_t LWord64
Definition: ajatypes.h:225
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:5224
std::vector< uint16_t > UWordSequence
An ordered sequence of UWord (uint16_t) values.
NTV2UpConvertMode
Definition: ntv2enums.h:2219
ULWord GetIndexForNTV2InputSource(const NTV2InputSource inValue)
Definition: ntv2utils.cpp:5274
NTV2Crosspoint GetNTV2CrosspointForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4800
std::set< NTV2FrameGeometry > NTV2GeometrySet
A set of distinct NTV2FrameGeometry values.
bool IsVideoFormatJ2KSupported(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5469
std::string NTV2HDMIAudioChannelsToString(const NTV2HDMIAudioChannels inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6657
std::string NTV2VideoFormatToString(const NTV2VideoFormat inValue, const bool inUseFrameRate=false)
Definition: ntv2utils.cpp:6746
NTV2HDMIProtocol
Indicates or specifies the HDMI protocol.
Definition: ntv2enums.h:3621
#define NTV2_IS_VALID_STANDARD(__s__)
Definition: ntv2enums.h:188
std::string NTV2GetPluginsFolderPath(const bool inAddTrailingPathDelim=false)
Definition: ntv2utils.cpp:7705
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:2242
bool IsVideoFormatA(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5458
std::string NTV2IsoConvertModeToString(const NTV2IsoConvertMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6630
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:6394
NTV2BitfileType
Definition: ntv2enums.h:3368
std::string NTV2AudioChannelOctetToString(const NTV2Audio8ChannelSelect inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6455
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:218
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:6431
std::string NTV2UpConvertModeToString(const NTV2UpConvertMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6591
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:4824
void UnPack10BitDPXtoRGBAlpha10BitPixel(RGBAlpha10BitPixel *rgba10BitBuffer, const ULWord *DPXLinebuffer, ULWord numPixels, bool bigEndian)
Definition: ntv2utils.cpp:685
NTV2Framesize
Kona2/Xena2 specific enums.
Definition: ntv2enums.h:2116
NTV2ACFrameRange(const UWord inFirstFrame, const UWord inLastFrame)
Definition: ntv2utils.h:978
bool convertHDRFloatToRegisterValues(const HDRFloatValues &inFVals, HDRRegValues &outRegVals)
Definition: ntv2utils.cpp:8018
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:6679
NTV2Mode
Used to identify the mode of a widget_framestore, or the direction of an AutoCirculate stream: either...
Definition: ntv2enums.h:1239
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:1262
std::string NTV2DeviceIDToString(const NTV2DeviceID inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:4608
bool IsRGBFormat(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5410
NTV2RegNumSet ToRegNumSet(const NTV2RegisterReads &inRegReads)
Definition: ntv2utils.cpp:8101
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:348
std::string NTV2HDMIColorSpaceToString(const NTV2HDMIColorSpace inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6690
std::string NTV2GetFirmwareFolderPath(const bool inAddTrailingPathDelim=false)
Definition: ntv2utils.cpp:7693
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:7144
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:5805
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:6301
std::string NTV2FramesizeToString(const NTV2Framesize inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6467
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:2527
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:2253
NTV2InputCrosspointID
Identifies a widget input that potentially can accept a signal emitted from another widget&#39;s output (...
Definition: ntv2enums.h:2752
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:1401
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:4915
bool IsRaw(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5446
NTV2Crosspoint NTV2ChannelToOutputCrosspoint(const NTV2Channel inChannel)
Definition: ntv2utils.cpp:4926
NTV2WidgetID
Definition: ntv2enums.h:2909
std::string NTV2AudioRateToString(const NTV2AudioRate inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5756
bool IsNTV2CrosspointOutput(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4855
uint16_t UWord
Definition: ajatypes.h:221
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:7449
NTV2VideoLimiting
These enum values identify the available SDI video output limiting modes.
Definition: ntv2enums.h:3778
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:7420
void RePackLineDataForYCbCrDPX(ULWord *packedycbcrLine, ULWord numULWords)
Definition: ntv2utils.cpp:674
NTV2VANCMode
These enum values identify the available VANC modes.
Definition: ntv2enums.h:3797
std::string NTV2AudioSourceToString(const NTV2AudioSource inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6731
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:6936
NTV2RegisterWriteMode
These values are used to determine when certain register writes actually take effect. See CNTV2Card::SetRegisterWriteMode or Field/Frame Interrupts.
Definition: ntv2enums.h:1679
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:6518
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:2005
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:4869
NTV2InputSource NTV2TimecodeIndexToInputSource(const NTV2TCIndex inTCIndex)
Converts the given NTV2TCIndex value into the appropriate NTV2InputSource value.
Definition: ntv2utils.cpp:4988
bool IsNTV2CrosspointInput(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4849
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:5623
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:1928
bool Is4KFormat(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5434
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:8243
std::string NTV2BitfileTypeToString(const NTV2BitfileType inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:7927
ULWord GetVaricamRepeatCount(const NTV2FrameRate inSequenceRate, const NTV2FrameRate inPlayRate, const ULWord inCadenceFrame=0)
Definition: ntv2utils.cpp:3315
NTV2ConversionMode
Definition: ntv2enums.h:3714
std::string NTV2AudioLoopBackToString(const NTV2AudioLoopBack inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5781
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:5957
std::set< NTV2DeviceID > NTV2DeviceIDSet
A set of NTV2DeviceIDs.
Definition: ntv2utils.h:1044
NTV2ConversionMode GetConversionMode(const NTV2VideoFormat inFormat, const NTV2VideoFormat outFormat)
Definition: ntv2utils.cpp:5475
NTV2AudioSource NTV2InputSourceToAudioSource(const NTV2InputSource inInputSource)
Definition: ntv2utils.cpp:4901
Identifies the first field in time for an interlaced video frame, or the first and only field in a pr...
Definition: ntv2enums.h:1842
INTERRUPT_ENUMS NTV2ChannelToOutputInterrupt(const NTV2Channel inChannel)
Converts the given NTV2Channel value into the equivalent output INTERRUPT_ENUMS value.
Definition: ntv2utils.cpp:4947
std::string NTV2VideoLimitingToString(const NTV2VideoLimiting inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6545
NTV2Audio4ChannelSelect
Identifies a contiguous, adjacent group of four audio channels.
Definition: ntv2enums.h:3271
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:5727
NTV2IpError
Definition: ntv2enums.h:4313
std::string NTV2EmbeddedAudioInputToString(const NTV2EmbeddedAudioInput inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6713
Declares enums and structs used by all platform drivers and the SDK.
bool IsPSF(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5385
NTV2RegisterReads FromRegNumSet(const NTV2RegNumSet &inRegNumSet)
Definition: ntv2utils.cpp:8093
std::vector< NTV2DeviceID > NTV2DeviceIDList
An ordered list of NTV2DeviceIDs.
Definition: ntv2utils.h:1037
bool IsYCbCrFormat(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5416
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:1967
ULWord GetIndexForNTV2CrosspointInput(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4784
NTV2HDMIBitDepth
Indicates or specifies the HDMI video bit depth.
Definition: ntv2enums.h:3692
NTV2VideoFormat GetQuadSizedVideoFormat(const NTV2VideoFormat inVideoFormat, const bool isSquareDivision=true)
Definition: ntv2utils.cpp:2129
bool Is2KFormat(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5428
#define NTV2_DEPRECATED_16_1(__f__)
Definition: ajatypes.h:533
ULWord GetIndexForNTV2CrosspointChannel(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4752
NTV2Channel NTV2CrosspointToNTV2Channel(const NTV2Crosspoint inCrosspointChannel)
Definition: ntv2utils.cpp:4708
NTV2MixerKeyerMode
These enum values identify the mixer mode.
Definition: ntv2enums.h:1791
NTV2Audio8ChannelSelect
Identifies a contiguous, adjacent group of eight audio channels.
Definition: ntv2enums.h:3320
This identifies the mode in which there are no VANC lines in the frame buffer.
Definition: ntv2enums.h:3799
NTV2StringList::const_iterator NTV2StringListConstIter
Definition: ntv2utils.h:1157
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:7346
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:5667
std::set< std::string > NTV2StringSet
Definition: ntv2utils.h:1158
enum NTV2TCIndex NTV2TimecodeIndex
bool GetRegNumChanges(const NTV2RegNumSet &inBefore, const NTV2RegNumSet &inAfter, NTV2RegNumSet &outGone, NTV2RegNumSet &outSame, NTV2RegNumSet &outAdded)
Definition: ntv2utils.cpp:8109
NTV2ReferenceSource NTV2InputSourceToReferenceSource(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2ReferenceSource value.
Definition: ntv2utils.cpp:5023
ULWord NTV2IOKinds
Definition: ntv2enums.h:1310
See 8-Bit YCbCr Format.
Definition: ntv2enums.h:223
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:5268
NTV2DieTempScale
Definition: ntv2enums.h:4210