AJA NTV2 SDK  18.1.0.2262
NTV2 SDK 18.1.0.2262
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 <string>
18 #include <iostream>
19 #include <vector>
20 #if defined (AJALinux)
21  #include <stdint.h>
22 #endif
23 
24 #define Enum2Str(e) {e, #e},
25 // BEGIN SECTION MOVED FROM 'videoutilities.h'
28 #define DEFAULT_PATT_GAIN 0.9 // some patterns pay attention to this...
29 #define HD_NUMCOMPONENTPIXELS_2K 2048
30 #define HD_NUMCOMPONENTPIXELS_1080_2K 2048
31 #define HD_NUMCOMPONENTPIXELS_1080 1920
32 
33 #define CCIR601_10BIT_BLACK 64 // 0x040
34 #define CCIR601_10BIT_WHITE 940 // 0x3AC
35 #define CCIR601_10BIT_CHROMAOFFSET 512 // 0x200
36 
37 #define CCIR601_8BIT_BLACK 16 // 0x10
38 #define CCIR601_8BIT_WHITE 235 // 0xEB
39 #define CCIR601_8BIT_CHROMAOFFSET 128 // 0x80
40 
41 // line pitch is in bytes.
42 #define FRAME_0_BASE (0x0)
43 #define FRAME_1080_10BIT_LINEPITCH (1280*4)
44 #define FRAME_1080_8BIT_LINEPITCH (1920*2)
45 #define FRAME_QUADHD_10BIT_SIZE (FRAME_1080_10BIT_LINEPITCH*2160)
46 #define FRAME_QUADHD_8BIT_SIZE (FRAME_1080_8BIT_LINEPITCH*2160)
47 #define FRAME_BASE(__frameNum__,__frameSize__) ((__frameNum__)*(__frameSize__))
48 
49 AJAExport NTV2_SHOULD_BE_DEPRECATED(uint32_t CalcRowBytesForFormat (const NTV2FrameBufferFormat inPF, const uint32_t pixWidth));
50 AJAExport void UnPack10BitYCbCrBuffer (uint32_t* packedBuffer, uint16_t* ycbcrBuffer, uint32_t numPixels);
51 AJAExport void PackTo10BitYCbCrBuffer (const uint16_t *ycbcrBuffer, uint32_t *packedBuffer, const uint32_t numPixels);
52 AJAExport void MakeUnPacked10BitYCbCrBuffer (uint16_t* buffer, uint16_t Y , uint16_t Cb , uint16_t Cr,uint32_t numPixels);
53 AJAExport void ConvertLineTo8BitYCbCr (const uint16_t * ycbcr10BitBuffer, uint8_t * ycbcr8BitBuffer, const uint32_t numPixels);
54 AJAExport void ConvertUnpacked10BitYCbCrToPixelFormat (uint16_t *unPackedBuffer, uint32_t *packedBuffer, uint32_t numPixels, NTV2FrameBufferFormat pixelFormat,
55  bool bUseSmpteRange=false, bool bAlphaFromLuma=false);
56 AJAExport void MaskUnPacked10BitYCbCrBuffer (uint16_t* ycbcrUnPackedBuffer, uint16_t signalMask , uint32_t numPixels);
57 AJAExport void StackQuadrants (uint8_t* pSrc, uint32_t srcWidth, uint32_t srcHeight, uint32_t srcRowBytes, uint8_t* pDst);
58 AJAExport void CopyFromQuadrant (uint8_t* srcBuffer, uint32_t srcHeight, uint32_t srcRowBytes, uint32_t srcQuadrant, uint8_t* dstBuffer, uint32_t quad13Offset=0);
59 AJAExport void CopyToQuadrant (uint8_t* srcBuffer, uint32_t srcHeight, uint32_t srcRowBytes, uint32_t dstQuadrant, uint8_t* dstBuffer, uint32_t quad13Offset=0);
61 // END SECTION MOVED FROM 'videoutilities.h'
63 
73 AJAExport bool UnpackLine_10BitYUVtoUWordSequence (const void * pIn10BitYUVLine, UWordSequence & out16BitYUVLine, ULWord inNumPixels);
74 
83 AJAExport bool PackLine_UWordSequenceTo10BitYUV (const UWordSequence & in16BitYUVLine, ULWord * pOut10BitYUVLine, const ULWord inNumPixels);
84 
95 AJAExport bool YUVComponentsTo10BitYUVPackedBuffer (const std::vector<uint16_t> & inYCbCrLine, NTV2Buffer & inFrameBuffer,
96  const NTV2FormatDescriptor & inDescriptor, const UWord inLineOffset);
97 
109 AJAExport bool UnpackLine_10BitYUVtoU16s (std::vector<uint16_t> & outYCbCrLine, const NTV2Buffer & inFrameBuffer,
110  const NTV2FormatDescriptor & inDescriptor, const UWord inLineOffset);
111 
119 AJAExport void UnpackLine_10BitYUVto16BitYUV (const ULWord * pIn10BitYUVLine, UWord * pOut16BitYUVLine, const ULWord inNumPixels);
120 
128 AJAExport void PackLine_16BitYUVto10BitYUV (const UWord * pIn16BitYUVLine, ULWord * pOut10BitYUVLine, const ULWord inNumPixels);
129 
130 AJAExport void RePackLineDataForYCbCrDPX (ULWord *packedycbcrLine, ULWord numULWords);
131 AJAExport void UnPack10BitDPXtoRGBAlpha10BitPixel (RGBAlpha10BitPixel* rgba10BitBuffer, const ULWord * DPXLinebuffer, ULWord numPixels, bool bigEndian);
132 AJAExport void UnPack10BitDPXtoForRP215withEndianSwap(UWord* rawrp215Buffer,ULWord* DPXLinebuffer ,ULWord numPixels);
133 AJAExport void UnPack10BitDPXtoForRP215(UWord* rawrp215Buffer,ULWord* DPXLinebuffer ,ULWord numPixels);
134 AJAExport void MaskYCbCrLine(UWord* ycbcrLine, UWord signalMask , ULWord numPixels);
135 
146 AJAExport void Make10BitBlackLine (UWord * pOutLineData, const ULWord inNumPixels = 1920);
147 
158 AJAExport void Make10BitWhiteLine (UWord * pOutLineData, const ULWord inNumPixels = 1920);
159 
163 AJAExport bool Fill10BitYCbCrVideoFrame (void * pBaseVideoAddress,
164  const NTV2Standard inStandard,
165  const NTV2FrameBufferFormat inPixelFormat,
166  const YCbCr10BitPixel inPixelColor,
167  const NTV2VANCMode inVancMode = NTV2_VANCMODE_OFF);
168 
171 AJAExport void Make10BitLine(UWord* lineData, const UWord Y, const UWord Cb, const UWord Cr, const ULWord numPixels = 1920);
172 AJAExport void Make8BitLine(UByte* lineData, UByte Y , UByte Cb , UByte Cr,ULWord numPixels=1920,NTV2FrameBufferFormat=NTV2_FBF_8BIT_YCBCR);
173 AJAExport bool Fill8BitYCbCrVideoFrame (void * pBaseVideoAddress, const NTV2Standard inStandard, const NTV2FrameBufferFormat inFBF,
174  const YCbCrPixel inPixelColor, const NTV2VANCMode inVancMode = NTV2_VANCMODE_OFF);
175 AJAExport void Fill4k8BitYCbCrVideoFrame(PULWord _baseVideoAddress,
176  NTV2FrameBufferFormat frameBufferFormat,
177  YCbCrPixel color,
178  bool vancEnabled=false,
179  bool b4k=false,
180  bool wideVANC=false);
181 AJAExport void CopyRGBAImageToFrame(ULWord* pSrcBuffer, ULWord srcHeight, ULWord srcWidth,
182  ULWord* pDstBuffer, ULWord dstHeight, ULWord dstWidth);
183 
198 AJAExport bool SetRasterLinesBlack (const NTV2PixelFormat inPixelFormat,
199  UByte * pDstBuffer,
200  const ULWord inDstBytesPerLine,
201  const UWord inDstTotalLines);
202 
217 AJAExport bool SetRasterLinesWhite (const NTV2PixelFormat inPixelFormat,
218  UByte * pDstBuffer,
219  const ULWord inDstBytesPerLine,
220  const UWord inDstTotalLines);
221 
275 AJAExport bool CopyRaster (const NTV2PixelFormat inPixelFormat,
276  UByte * pDstBuffer,
277  const ULWord inDstBytesPerLine,
278  const UWord inDstTotalLines,
279  const UWord inDstVertLineOffset,
280  const UWord inDstHorzPixelOffset,
281  const UByte * pSrcBuffer,
282  const ULWord inSrcBytesPerLine,
283  const UWord inSrcTotalLines,
284  const UWord inSrcVertLineOffset,
285  const UWord inSrcVertLinesToCopy,
286  const UWord inSrcHorzPixelOffset,
287  const UWord inSrcHorzPixelsToCopy);
288 
289 AJAExport NTV2Standard GetNTV2StandardFromScanGeometry (const UByte inScanGeometry, const bool inIsProgressiveTransport);
290 
296 
303 
310 
311 #define GetHdmiV2StandardFromVideoFormat(__vf__) ::GetNTV2StandardFromVideoFormat (__vf__)
312 
321  const NTV2FrameBufferFormat inFBFormat,
322  const NTV2VANCMode inVancMode = NTV2_VANCMODE_OFF);
323 
324 
338  const NTV2FrameBufferFormat inFBFormat,
339  const NTV2VANCMode inVancMode = NTV2_VANCMODE_OFF);
340 
342 AJAExport NTV2VideoFormat GetQuadSizedVideoFormat (const NTV2VideoFormat inVideoFormat, const bool isSquareDivision = true);
346 AJAExport NTV2Standard Get4xSizedStandard (const NTV2Standard inGeometry, const bool bIs4k = false);
347 
348 AJAExport double GetFramesPerSecond (const NTV2FrameRate inFrameRate);
349 inline double GetFrameTime (const NTV2FrameRate inFrameRate) {return double(1.0) / GetFramesPerSecond(inFrameRate);}
350 
362  const UWord inHeightLines,
363  const UWord inWidthPixels,
364  const bool inIsInterlaced,
365  const bool inIsLevelB,
366  const bool inIsPSF);
367 
379 AJAExport bool GetFramesPerSecond (const NTV2FrameRate inFrameRate, ULWord & outFractionNumerator, ULWord & outFractionDenominator);
380 
391 
407 AJAExport ULWord GetAudioSamplesPerFrame (const NTV2FrameRate inFrameRate, const NTV2AudioRate inAudioRate, ULWord inCadenceFrame = 0, bool inIsSMPTE372Enabled = false);
409 
416 AJAExport double GetAudioSamplesPerSecond (const NTV2AudioRate inAudioRate); // New in SDK 16.2
417 
418 AJAExport NTV2_SHOULD_BE_DEPRECATED(ULWord GetVaricamRepeatCount (const NTV2FrameRate inSequenceRate, const NTV2FrameRate inPlayRate, const ULWord inCadenceFrame = 0));
420 AJAExport NTV2FrameRate GetFrameRateFromScale (long scale, long duration, NTV2FrameRate playFrameRate);
421 AJAExport NTV2FrameRate GetNTV2FrameRateFromNumeratorDenominator (const ULWord inNumerator, const ULWord inDenominator); // New in SDK 16.0
422 
431 
438 
445 AJAExport NTV2FrameGeometry GetVANCFrameGeometry (const NTV2FrameGeometry inFrameGeometry, const NTV2VANCMode inVancMode);
446 
453 
460 AJAExport bool HasVANCGeometries (const NTV2FrameGeometry inFrameGeometry);
461 
471 
478 
485 
492 
498 
505 AJAExport NTV2Standard GetStandardFromGeometry (const NTV2FrameGeometry inGeometry, const bool inIsProgressive = true);
506 
507 AJAExport ULWord GetDisplayWidth (const NTV2VideoFormat videoFormat);
512 
515 
529 
531 AJAExport bool IsTransportCompatibleFormat (const NTV2VideoFormat inFormat1, const NTV2VideoFormat inFormat2);
532 
540 
546 AJAExport ULWord GetIndexForNTV2InputSource (const NTV2InputSource inValue); // 0-based index
547 
554 
561 
569 AJAExport NTV2TCIndex NTV2ChannelToTimecodeIndex (const NTV2Channel inChannel, const bool inEmbeddedLTC = false, const bool inIsF2 = false);
570 
576 
583 
590 
591 
592 #define GetTCIndexesForSDIInput GetTCIndexesForSDIConnector
593 #define NTV2ChannelToCaptureCrosspoint NTV2ChannelToInputCrosspoint
594 #define NTV2ChannelToIngestCrosspoint NTV2ChannelToInputCrosspoint
595 #define NTV2ChannelToInputChannelSpec NTV2ChannelToInputCrosspoint
596 #define NTV2ChannelToPlayoutCrosspoint NTV2ChannelToOutputCrosspoint
597 #define NTV2ChannelToOutputChannelSpec NTV2ChannelToOutputCrosspoint
598 
599 
606 
615 
622 
629 
635 
642 
649 
656 
663 
670 AJAExport NTV2TimecodeIndex NTV2InputSourceToTimecodeIndex (const NTV2InputSource inInputSource, const bool inEmbeddedLTC = false);
671 
678 
686 
693 
702 
709 
715 AJAExport bool IsMultiFormatCompatible (const NTV2FrameRate inFrameRate1, const NTV2FrameRate inFrameRate2);
716 
722 AJAExport bool IsMultiFormatCompatible (const NTV2VideoFormat inFormat1, const NTV2VideoFormat inFormat2);
723 
724 AJAExport bool IsPSF (const NTV2VideoFormat format);
727 AJAExport bool IsProgressiveTransport (const NTV2Standard format);
728 AJAExport bool IsRGBFormat (const NTV2FrameBufferFormat format);
729 AJAExport bool IsYCbCrFormat (const NTV2FrameBufferFormat format);
731 AJAExport bool Is2KFormat (const NTV2VideoFormat format);
732 AJAExport bool Is4KFormat (const NTV2VideoFormat format);
733 AJAExport bool Is8KFormat (const NTV2VideoFormat format);
734 AJAExport bool IsRaw (const NTV2FrameBufferFormat format);
736 AJAExport bool IsVideoFormatA (const NTV2VideoFormat format);
737 AJAExport bool IsVideoFormatB (const NTV2VideoFormat format);
739 
740 
741 AJAExport int RecordCopyAudio (PULWord pAja, PULWord pSR, int iStartSample, int iNumBytes, int iChan0,
742  int iNumChans, bool bKeepAudio24Bits);
743 
761 AJAExport bool AddAudioTone ( ULWord & outNumBytesWritten,
762  NTV2Buffer & inAudioBuffer,
763  ULWord & inOutCurrentSample,
764  const ULWord inNumSamples,
765  const double inSampleRate,
766  const double inAmplitude,
767  const double inFrequency,
768  const ULWord inNumBits,
769  const bool inByteSwap,
770  const ULWord inNumChannels);
771 
790 AJAExport ULWord AddAudioTone ( ULWord * pAudioBuffer,
791  ULWord & inOutCurrentSample,
792  const ULWord inNumSamples,
793  const double inSampleRate,
794  const double inAmplitude,
795  const double inFrequency,
796  const ULWord inNumBits,
797  const bool inByteSwap,
798  const ULWord inNumChannels);
799 
820 AJAExport ULWord AddAudioTone ( ULWord * pAudioBuffer,
821  ULWord & inOutCurrentSample,
822  const ULWord inNumSamples,
823  const double inSampleRate,
824  const double * pInAmplitudes,
825  const double * pInFrequencies,
826  const ULWord inNumBits,
827  const bool inByteSwap,
828  const ULWord inNumChannels);
829 
848 AJAExport ULWord AddAudioTone ( UWord * pAudioBuffer,
849  ULWord & inOutCurrentSample,
850  const ULWord inNumSamples,
851  const double inSampleRate,
852  const double inAmplitude,
853  const double inFrequency,
854  const ULWord inNumBits,
855  const bool inByteSwap,
856  const ULWord inNumChannels);
857 
859  ULWord & inOutCurrentSample,
860  const ULWord inNumSamples,
861  const ULWord inModulus,
862  const bool inEndianConvert,
863  const ULWord inNumChannels);
864 
871 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2FrameSize & inFrameDimensions);
872 
873 
879 {
883 private:
884  NTV2Standard mStandard;
885 
886 public:
891  explicit NTV2SmpteLineNumber (const NTV2Standard inStandard = NTV2_STANDARD_INVALID);
892 
896  inline bool IsValid (void) const {return NTV2_IS_VALID_STANDARD (mStandard) && smpteFirstActiveLine;}
897 
904  ULWord GetFirstActiveLine (const NTV2FieldID inRasterFieldID = NTV2_FIELD0) const;
905 
912  ULWord GetLastLine (const NTV2FieldID inRasterFieldID = NTV2_FIELD0) const;
913 
918  bool operator == (const NTV2SmpteLineNumber & inRHS) const;
919 
925  std::ostream & Print (std::ostream & inOutStream) const;
926 
934  std::string PrintLineNumber (const ULWord inLineOffset = 0, const NTV2FieldID inRasterFieldID = NTV2_FIELD0) const;
935 
936 private:
937  explicit inline NTV2SmpteLineNumber (const ULWord inFirstActiveLine,
938  const ULWord inSecondActiveLine,
939  const bool inFirstFieldTop,
940  const NTV2Standard inStandard)
941  : smpteFirstActiveLine (inFirstActiveLine),
942  smpteSecondActiveLine (inSecondActiveLine),
943  firstFieldTop (inFirstFieldTop),
944  mStandard (inStandard) { }
945 
947 
948 
955 AJAExport std::ostream & operator << (std::ostream & inOutStream, const NTV2SmpteLineNumber & inSmpteLineNumber);
956 
957 
964 inline NTV2SmpteLineNumber GetSmpteLineNumber (const NTV2Standard inStandard) {return NTV2SmpteLineNumber (inStandard);}
965 
966 
971 {
972  public:
973  explicit inline NTV2ACFrameRange (const UWord inFrameCount = 0)
974  {
975  setCountOnly(inFrameCount);
976  }
977  explicit inline NTV2ACFrameRange (const UWord inFirstFrame, const UWord inLastFrame)
978  {
979  setExactRange (inFirstFrame, inLastFrame);
980  }
981  inline bool isCountOnly (void) const {return mIsCountOnly;}
982  inline bool isFrameRange (void) const {return !isCountOnly();}
983  inline UWord count (void) const {return isCountOnly() ? mFrameCount : 0;}
984  inline UWord firstFrame (void) const {return mFirstFrame;}
985  inline UWord lastFrame (void) const {return mLastFrame;}
986  inline operator bool() const {return valid();}
987  inline bool valid (void) const
988  {
989  if (isCountOnly())
990  return count() > 0;
991  return lastFrame() >= firstFrame();
992  }
994  {
995  mIsCountOnly = true;
996  mFrameCount = mFirstFrame = mLastFrame = 0;
997  return *this;
998  }
999  inline bool setExactRange (const UWord inFirstFrame, const UWord inLastFrame)
1000  {
1001  mIsCountOnly = false;
1002  mFrameCount = 0;
1003  mFirstFrame = inFirstFrame;
1004  mLastFrame = inLastFrame;
1005  return valid();
1006  }
1007  inline bool setRangeWithCount (const UWord inCount, const UWord inFirstFrame)
1008  {
1009  mIsCountOnly = false;
1010  mFrameCount = 0;
1011  mFirstFrame = inFirstFrame;
1012  mLastFrame = mFirstFrame + inCount - 1;
1013  return valid();
1014  }
1015  inline bool setCountOnly (const UWord inCount)
1016  {
1017  mIsCountOnly = true;
1018  mFrameCount = inCount;
1019  mFirstFrame = mLastFrame = 0;
1020  return valid();
1021  }
1022  std::string setFromString (const std::string & inStr);
1023  std::string toString (const bool inNormalized = false) const;
1024 
1025  private:
1026  bool mIsCountOnly;
1027  UWord mFrameCount;
1028  UWord mFirstFrame;
1029  UWord mLastFrame;
1030 
1031 }; // NTV2ACFrameRange
1032 
1033 inline std::ostream & operator << (std::ostream & oss, const NTV2ACFrameRange & inObj) {return oss << inObj.toString();}
1034 
1035 
1036 typedef std::vector <NTV2DeviceID> NTV2DeviceIDList;
1037 typedef NTV2DeviceIDList::iterator NTV2DeviceIDListIter;
1038 typedef NTV2DeviceIDList::const_iterator NTV2DeviceIDListConstIter;
1039 
1040 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2DeviceIDList & inSet);
1041 
1042 
1043 typedef std::set <NTV2DeviceID> NTV2DeviceIDSet;
1044 typedef NTV2DeviceIDSet::iterator NTV2DeviceIDSetIter;
1045 typedef NTV2DeviceIDSet::const_iterator NTV2DeviceIDSetConstIter;
1046 
1053 
1054 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2DeviceIDSet & inSet);
1055 
1063 AJAExport UWord NTV2GetSDKVersionComponent (const int inVersionComponent = 0); // New in SDK 16.1
1064 
1065 
1066 typedef std::vector <NTV2OutputCrosspointID> NTV2OutputCrosspointIDs;
1067 typedef NTV2OutputCrosspointIDs::iterator NTV2OutputCrosspointIDsIter;
1068 typedef NTV2OutputCrosspointIDs::const_iterator NTV2OutputCrosspointIDsConstIter;
1069 
1070 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2OutputCrosspointIDs & inList);
1071 
1072 
1073 typedef std::vector <NTV2InputCrosspointID> NTV2InputCrosspointIDs;
1074 typedef NTV2InputCrosspointIDs::iterator NTV2InputCrosspointIDsIter;
1075 typedef NTV2InputCrosspointIDs::const_iterator NTV2InputCrosspointIDsConstIter;
1076 
1077 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2OutputCrosspointIDs & inList);
1078 
1079 
1080 AJAExport std::string NTV2DeviceIDToString (const NTV2DeviceID inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1081 AJAExport std::string NTV2VideoFormatToString (const NTV2VideoFormat inValue, const bool inUseFrameRate = false); // New in SDK 12.0
1082 AJAExport std::string NTV2StandardToString (const NTV2Standard inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1083 AJAExport std::string NTV2FrameBufferFormatToString (const NTV2FrameBufferFormat inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1084 AJAExport std::string NTV2FrameGeometryToString (const NTV2FrameGeometry inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1085 AJAExport std::string NTV2FrameRateToString (const NTV2FrameRate inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1086 AJAExport std::string NTV2InputSourceToString (const NTV2InputSource inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1087 AJAExport std::string NTV2OutputDestinationToString (const NTV2OutputDestination inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1088 AJAExport std::string NTV2ReferenceSourceToString (const NTV2ReferenceSource inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1089 AJAExport std::string NTV2RegisterWriteModeToString (const NTV2RegisterWriteMode inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1090 AJAExport std::string NTV2InterruptEnumToString (const INTERRUPT_ENUMS inInterruptEnumValue);
1091 AJAExport std::string NTV2IpErrorEnumToString (const NTV2IpError inIpErrorEnumValue);
1092 AJAExport std::string NTV2ChannelToString (const NTV2Channel inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1093 AJAExport std::string NTV2AudioSystemToString (const NTV2AudioSystem inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1094 AJAExport std::string NTV2AudioRateToString (const NTV2AudioRate inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1095 AJAExport std::string NTV2AudioBufferSizeToString (const NTV2AudioBufferSize inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1096 AJAExport std::string NTV2AudioLoopBackToString (const NTV2AudioLoopBack inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1097 AJAExport std::string NTV2EmbeddedAudioClockToString (const NTV2EmbeddedAudioClock inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1098 AJAExport std::string NTV2GetBitfileName (const NTV2DeviceID inValue);
1099 AJAExport bool NTV2IsCompatibleBitfileName (const std::string & inBitfileName, const NTV2DeviceID inDeviceID);
1100 AJAExport NTV2DeviceID NTV2GetDeviceIDFromBitfileName (const std::string & inBitfileName);
1101 AJAExport std::string NTV2GetFirmwareFolderPath (const bool inAddTrailingPathDelim = false);
1102 AJAExport std::string NTV2GetPluginsFolderPath (const bool inAddTrailingPathDelim = false); // New in SDK 18.0
1103 AJAExport std::string NTV2GetVDevFolderPath (const bool inAddTrailingPathDelim = false); // New in SDK 18.0
1104 AJAExport std::ostream & operator << (std::ostream & inOutStream, const RP188_STRUCT & inObj);
1105 AJAExport std::string NTV2GetVersionString (const bool inDetailed = false);
1106 AJAExport std::string NTV2RegisterNumberToString (const NTV2RegisterNumber inValue); // New in SDK 12.0
1107 AJAExport std::string AutoCircVidProcModeToString (const AutoCircVidProcMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1108 AJAExport std::string NTV2ColorCorrectionModeToString (const NTV2ColorCorrectionMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1109 AJAExport std::string NTV2InputCrosspointIDToString (const NTV2InputCrosspointID inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1110 AJAExport std::string NTV2OutputCrosspointIDToString (const NTV2OutputCrosspointID inValue, const bool inForRetailDisplay = false); // New in SDK 12.0
1111 AJAExport std::string NTV2WidgetIDToString (const NTV2WidgetID inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1112 AJAExport std::string NTV2WidgetTypeToString (const NTV2WidgetType inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1113 AJAExport std::string NTV2TaskModeToString (const NTV2TaskMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1114 AJAExport std::string NTV2RegNumSetToString (const NTV2RegisterNumberSet & inValue); // New in SDK 12.0
1115 AJAExport std::string NTV2TCIndexToString (const NTV2TCIndex inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1116 AJAExport std::string NTV2AudioChannelPairToString (const NTV2AudioChannelPair inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1117 AJAExport std::string NTV2AudioChannelQuadToString (const NTV2Audio4ChannelSelect inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1118 AJAExport std::string NTV2AudioChannelOctetToString (const NTV2Audio8ChannelSelect inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1119 AJAExport std::string NTV2FramesizeToString (const NTV2Framesize inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1120 AJAExport std::string NTV2ModeToString (const NTV2Mode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1121 AJAExport std::string NTV2VANCModeToString (const NTV2VANCMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1122 AJAExport std::string NTV2MixerKeyerModeToString (const NTV2MixerKeyerMode inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1123 AJAExport std::string NTV2MixerInputControlToString (const NTV2MixerKeyerInputControl inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1124 AJAExport std::string NTV2VideoLimitingToString (const NTV2VideoLimiting inValue, const bool inCompactDisplay = false); // New in SDK 12.0
1125 AJAExport std::string NTV2EmbeddedAudioInputToString (const NTV2EmbeddedAudioInput inValue, const bool inCompactDisplay = false); // New in SDK 13.0
1126 AJAExport std::string NTV2AudioSourceToString (const NTV2AudioSource inValue, const bool inCompactDisplay = false); // New in SDK 13.0
1127 AJAExport std::string NTV2BreakoutTypeToString (const NTV2BreakoutType inValue, const bool inCompactDisplay = false); // New in SDK 15.5
1128 AJAExport std::string NTV2AncDataRgnToStr (const NTV2AncDataRgn inValue, const bool inCompactDisplay = false); // New in SDK 15.5
1129 AJAExport std::string NTV2UpConvertModeToString (const NTV2UpConvertMode inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1130 AJAExport std::string NTV2DownConvertModeToString (const NTV2DownConvertMode inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1131 AJAExport std::string NTV2IsoConvertModeToString (const NTV2IsoConvertMode inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1132 AJAExport std::string NTV2ScanMethodToString (const NTV2ScanMethod inValue, const bool inCompactDisplay = false); // New in SDK 17.5
1133 
1134 AJAExport std::string NTV2HDMIBitDepthToString (const NTV2HDMIBitDepth inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1135 AJAExport std::string NTV2HDMIAudioChannelsToString (const NTV2HDMIAudioChannels inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1136 AJAExport std::string NTV2HDMIProtocolToString (const NTV2HDMIProtocol inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1137 AJAExport std::string NTV2HDMIRangeToString (const NTV2HDMIRange inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1138 AJAExport std::string NTV2HDMIColorSpaceToString (const NTV2HDMIColorSpace inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1139 AJAExport std::string NTV2AudioFormatToString (const NTV2AudioFormat inValue, const bool inCompactDisplay = false); // New in SDK 16.1
1140 
1141 AJAExport std::string NTV2BitfileTypeToString (const NTV2BitfileType inValue, const bool inCompactDisplay = false); // New in SDK 16.2
1142 AJAExport std::string NTV2DieTempScaleToString (const NTV2DieTempScale inValue, const bool inUseUTF8 = false); // New in SDK 17.6
1143 
1146 AJAExport bool GetRegNumChanges (const NTV2RegNumSet & inBefore, const NTV2RegNumSet & inAfter, NTV2RegNumSet & outGone, NTV2RegNumSet & outSame, NTV2RegNumSet & outAdded);
1147 AJAExport bool GetChangedRegisters (const NTV2RegisterReads & inBefore, const NTV2RegisterReads & inAfter, NTV2RegNumSet & outChanged); // New in SDK 16.0
1148 
1149 AJAExport std::string PercentEncode (const std::string & inStr);
1150 AJAExport std::string PercentDecode (const std::string & inStr);
1151 AJAExport bool StringToSerialNum64 (const std::string & inSerNumStr, uint64_t & outSerNum); // New in SDK 16.3
1152 AJAExport std::string SerialNum64ToString (const uint64_t & inSerNum); // New in SDK 16.3
1153 
1154 #if !defined(NTV2_DEPRECATE_16_1)
1155  inline NTV2_DEPRECATED_16_1(std::string NTV2AudioMonitorSelectToString (const NTV2AudioMonitorSelect v, const bool b = false)) {return NTV2AudioChannelPairToString(v, b);}
1156 #endif // !defined(NTV2_DEPRECATE_16_1)
1157 #if !defined(NTV2_DEPRECATE_17_6)
1158  #define NTV2M31VideoPresetToString(...) std::string() // deprecated New in SDK 12.0, removed in SDK 17.6
1163  #if defined(AJAMac)
1164  AJAExport NTV2_DEPRECATED_17_6(bool GetInstalledMacDriverVersion (UWord & outMaj, UWord & outMin, UWord & outPt, UWord & outBld, UWord & outType));
1165  #endif // AJAMac
1166 #endif // !defined(NTV2_DEPRECATE_17_6)
1167 #if !defined(NTV2_DEPRECATE_18_0)
1168  #define NTV2CrosspointIDToString NTV2OutputCrosspointIDToString
1169 #endif// !defined(NTV2_DEPRECATE_18_0)
1170 
1171 #endif // NTV2UTILS_H
NTV2Channel NTV2InputSourceToChannel(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2Channel value.
Definition: ntv2utils.cpp:5050
Declares common video macros and structs used in the SDK.
bool isFrameRange(void) const
Definition: ntv2utils.h:982
NTV2TCIndexes GetTCIndexesForSDIConnector(const NTV2Channel inSDIConnector)
Definition: ntv2utils.cpp:4973
std::string NTV2AudioBufferSizeToString(const NTV2AudioBufferSize inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5772
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:5360
uint32_t CalcRowBytesForFormat(const NTV2FrameBufferFormat inPF, const uint32_t pixWidth)
Definition: ntv2utils.cpp:46
std::string NTV2FrameGeometryToString(const NTV2FrameGeometry inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:6981
std::string NTV2AudioSystemToString(const NTV2AudioSystem inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:5748
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:6648
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:7935
std::string NTV2IpErrorEnumToString(const NTV2IpError inIpErrorEnumValue)
Definition: ntv2utils.cpp:7177
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:6496
NTV2Channel NTV2TimecodeIndexToChannel(const NTV2TCIndex inTCIndex)
Converts the given NTV2TCIndex value into the appropriate NTV2Channel value.
Definition: ntv2utils.cpp:4982
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:7550
bool firstFieldTop
True if the first field on the wire is the top-most field in the raster (field dominance) ...
Definition: ntv2utils.h:882
std::string NTV2WidgetIDToString(const NTV2WidgetID inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6165
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:5098
bool Is8BitFrameBufferFormat(const NTV2FrameBufferFormat fbFormat)
Definition: ntv2utils.cpp:5455
NTV2DeviceIDSet NTV2GetSupportedDevices(const NTV2DeviceKinds inKinds=NTV2_DEVICEKIND_ALL)
Returns an NTV2DeviceIDSet of devices supported by the SDK.
Definition: ntv2utils.cpp:7396
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:4700
NTV2FrameGeometry GetQuarterSizedGeometry(const NTV2FrameGeometry inGeometry)
Definition: ntv2utils.cpp:2315
bool setCountOnly(const UWord inCount)
Definition: ntv2utils.h:1015
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: NTV2 Device Sharing.
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:7065
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:878
NTV2OutputDestination NTV2ChannelToOutputDestination(const NTV2Channel inChannel, const NTV2IOKinds inKinds=NTV2_IOKINDS_SDI)
Converts the given NTV2Channel value into its ordinary equivalent NTV2OutputDestination.
Definition: ntv2utils.cpp:5170
double GetFramesPerSecond(const NTV2FrameRate inFrameRate)
Definition: ntv2utils.cpp:1833
NTV2OutputCrosspointIDs::iterator NTV2OutputCrosspointIDsIter
A convenient non-const iterator for NTV2OutputCrosspointIDs.
Definition: ntv2utils.h:1067
NTV2ACFrameRange & makeInvalid(void)
Definition: ntv2utils.h:993
UWord count(void) const
Definition: ntv2utils.h:983
ULWord GetIndexForNTV2Channel(const NTV2Channel inChannel)
Definition: ntv2utils.cpp:4705
std::string NTV2AncDataRgnToStr(const NTV2AncDataRgn inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6580
AutoCircVidProcMode
bool IsAlphaChannelFormat(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5425
NTV2EmbeddedAudioInput NTV2InputSourceToEmbeddedAudioInput(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2EmbeddedAudioInput value.
Definition: ntv2utils.cpp:4880
NTV2InputSource NTV2ChannelToInputSource(const NTV2Channel inChannel, const NTV2IOKinds inKinds=NTV2_IOKINDS_SDI)
Definition: ntv2utils.cpp:5135
#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:5074
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:7382
std::string NTV2RegisterNumberToString(const NTV2RegisterNumber inValue)
Definition: ntv2utils.cpp:7564
void setHDRDefaultsForBT2020(HDRRegValues &outRegVals)
Definition: ntv2utils.cpp:7698
std::string NTV2DownConvertModeToString(const NTV2DownConvertMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6608
std::string NTV2RegNumSetToString(const NTV2RegisterNumberSet &inValue)
Definition: ntv2utils.cpp:6369
bool IsProgressiveTransport(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5400
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:7584
INTERRUPT_ENUMS NTV2ChannelToInputInterrupt(const NTV2Channel inChannel)
Converts the given NTV2Channel value into the equivalent input INTERRUPT_ENUMS value.
Definition: ntv2utils.cpp:4940
NTV2FrameGeometry GetNormalizedFrameGeometry(const NTV2FrameGeometry inFrameGeometry)
Definition: ntv2utils.cpp:3856
NTV2DeviceIDSet::iterator NTV2DeviceIDSetIter
A convenient non-const iterator for NTV2DeviceIDSet.
Definition: ntv2utils.h:1044
UWord firstFrame(void) const
Definition: ntv2utils.h:984
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:6561
ULWord smpteSecondActiveLine
SMPTE line number of second active line of video.
Definition: ntv2utils.h:881
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:5305
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:7678
std::string NTV2InterruptEnumToString(const INTERRUPT_ENUMS inInterruptEnumValue)
Definition: ntv2utils.cpp:7127
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:4864
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:6705
NTV2WidgetType
Definition: ntv2enums.h:3050
NTV2Crosspoint GetNTV2CrosspointInputForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4771
NTV2FrameGeometry GetGeometryFromFrameDimensions(const NTV2FrameSize &inFD)
Definition: ntv2utils.cpp:3957
void setHDRDefaultsForDCIP3(HDRRegValues &outRegVals)
Definition: ntv2utils.cpp:7703
bool GetChangedRegisters(const NTV2RegisterReads &inBefore, const NTV2RegisterReads &inAfter, NTV2RegNumSet &outChanged)
Definition: ntv2utils.cpp:7766
bool IsProgressivePicture(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5394
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:4965
NTV2Crosspoint GetNTV2CrosspointChannelForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4739
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:6535
NTV2FrameRate GetFrameRateFamily(const NTV2FrameRate inFrameRate)
Definition: ntv2utils.cpp:5346
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:1075
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:970
ULWord smpteFirstActiveLine
SMPTE line number of first (top-most) active line of video.
Definition: ntv2utils.h:880
std::string NTV2InputSourceToString(const NTV2InputSource inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7042
NTV2Channel NTV2OutputDestinationToChannel(const NTV2OutputDestination inOutputDest)
Converts a given NTV2OutputDestination to its equivalent NTV2Channel value.
Definition: ntv2utils.cpp:5158
std::string AutoCircVidProcModeToString(const AutoCircVidProcMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:7570
NTV2FrameRate
Identifies a particular video frame rate.
Definition: ntv2enums.h:414
std::string NTV2StandardToString(const NTV2Standard inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:6913
std::string NTV2InputCrosspointIDToString(const NTV2InputCrosspointID inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5817
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:6446
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:7232
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:5259
bool IsVideoFormatB(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5467
std::string NTV2ScanMethodToString(const NTV2ScanMethod inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6621
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:1045
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:6356
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:5002
bool convertHDRRegisterToFloatValues(const HDRRegValues &inRegVals, HDRFloatValues &outFloatVals)
Definition: ntv2utils.cpp:7693
NTV2InputCrosspointIDs::iterator NTV2InputCrosspointIDsIter
A convenient non-const iterator for NTV2InputCrosspointIDs.
Definition: ntv2utils.h:1074
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:5796
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:5197
NTV2VideoFormat GetQuarterSizedVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:1940
std::string NTV2HDMIProtocolToString(const NTV2HDMIProtocol inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6671
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:5209
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:7538
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:5290
NTV2ACFrameRange(const UWord inFrameCount=0)
Definition: ntv2utils.h:973
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:6508
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:5443
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:5227
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:5277
NTV2Crosspoint GetNTV2CrosspointForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:4803
std::set< NTV2FrameGeometry > NTV2GeometrySet
A set of distinct NTV2FrameGeometry values.
bool IsVideoFormatJ2KSupported(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5472
std::string NTV2HDMIAudioChannelsToString(const NTV2HDMIAudioChannels inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6660
std::string NTV2VideoFormatToString(const NTV2VideoFormat inValue, const bool inUseFrameRate=false)
Definition: ntv2utils.cpp:6749
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:7370
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:5461
std::string NTV2IsoConvertModeToString(const NTV2IsoConvertMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6633
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:6397
NTV2BitfileType
Definition: ntv2enums.h:3371
std::string NTV2AudioChannelOctetToString(const NTV2Audio8ChannelSelect inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6458
std::vector< NTV2InputCrosspointID > NTV2InputCrosspointIDs
An ordered sequence of NTV2InputCrosspointID values.
Definition: ntv2utils.h:1073
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:6434
std::string NTV2UpConvertModeToString(const NTV2UpConvertMode inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6594
bool IsValid(void) const
Definition: ntv2utils.h:896
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:4827
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:977
bool convertHDRFloatToRegisterValues(const HDRFloatValues &inFVals, HDRRegValues &outRegVals)
Definition: ntv2utils.cpp:7688
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:6682
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:1037
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:5413
NTV2RegNumSet ToRegNumSet(const NTV2RegisterReads &inRegReads)
Definition: ntv2utils.cpp:7749
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:6693
std::string NTV2GetFirmwareFolderPath(const bool inAddTrailingPathDelim=false)
Definition: ntv2utils.cpp:7358
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:964
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:5808
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:6304
std::string NTV2FramesizeToString(const NTV2Framesize inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6470
bool setRangeWithCount(const UWord inCount, const UWord inFirstFrame)
Definition: ntv2utils.h:1007
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:4918
bool IsRaw(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5449
NTV2Crosspoint NTV2ChannelToOutputCrosspoint(const NTV2Channel inChannel)
Definition: ntv2utils.cpp:4929
NTV2WidgetID
Definition: ntv2enums.h:2912
std::string NTV2AudioRateToString(const NTV2AudioRate inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5759
bool IsNTV2CrosspointOutput(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4858
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:7114
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:999
std::string NTV2ReferenceSourceToString(const NTV2ReferenceSource inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:7085
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:6734
std::string NTV2AudioMonitorSelectToString(const NTV2AudioMonitorSelect v, const bool b=false)
Definition: ntv2utils.h:1155
std::vector< NTV2OutputCrosspointID > NTV2OutputCrosspointIDs
An ordered sequence of NTV2OutputCrosspointID values.
Definition: ntv2utils.h:1066
ULWord GetDisplayWidth(const NTV2VideoFormat videoFormat)
Definition: ntv2utils.cpp:4199
std::string NTV2FrameBufferFormatToString(const NTV2FrameBufferFormat inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:6939
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:6521
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:4872
NTV2InputSource NTV2TimecodeIndexToInputSource(const NTV2TCIndex inTCIndex)
Converts the given NTV2TCIndex value into the appropriate NTV2InputSource value.
Definition: ntv2utils.cpp:4991
bool IsNTV2CrosspointInput(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4852
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:5626
NTV2OutputCrosspointIDs::const_iterator NTV2OutputCrosspointIDsConstIter
A convenient const iterator for NTV2OutputCrosspointIDs.
Definition: ntv2utils.h:1068
NTV2Standard GetNTV2StandardFromVideoFormat(const NTV2VideoFormat inVideoFormat)
Definition: ntv2utils.cpp:2375
NTV2AudioRate
Definition: ntv2enums.h:1931
bool Is4KFormat(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5437
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:7891
std::string NTV2BitfileTypeToString(const NTV2BitfileType inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:7597
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:5784
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:5960
std::set< NTV2DeviceID > NTV2DeviceIDSet
A set of NTV2DeviceIDs.
Definition: ntv2utils.h:1043
NTV2ConversionMode GetConversionMode(const NTV2VideoFormat inFormat, const NTV2VideoFormat outFormat)
Definition: ntv2utils.cpp:5478
NTV2AudioSource NTV2InputSourceToAudioSource(const NTV2InputSource inInputSource)
Definition: ntv2utils.cpp:4904
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:4950
std::string NTV2VideoLimitingToString(const NTV2VideoLimiting inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6548
NTV2Audio4ChannelSelect
Identifies a contiguous, adjacent group of four audio channels.
Definition: ntv2enums.h:3274
UWord lastFrame(void) const
Definition: ntv2utils.h:985
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:987
std::string NTV2ChannelToString(const NTV2Channel inValue, const bool inForRetailDisplay=false)
Definition: ntv2utils.cpp:5730
NTV2IpError
Definition: ntv2enums.h:4320
std::string NTV2EmbeddedAudioInputToString(const NTV2EmbeddedAudioInput inValue, const bool inCompactDisplay=false)
Definition: ntv2utils.cpp:6716
Declares enums and structs used by all platform drivers and the SDK.
bool IsPSF(const NTV2VideoFormat format)
Definition: ntv2utils.cpp:5388
NTV2RegisterReads FromRegNumSet(const NTV2RegNumSet &inRegNumSet)
Definition: ntv2utils.cpp:7741
std::vector< NTV2DeviceID > NTV2DeviceIDList
An ordered list of NTV2DeviceIDs.
Definition: ntv2utils.h:1036
bool IsYCbCrFormat(const NTV2FrameBufferFormat format)
Definition: ntv2utils.cpp:5419
NTV2FrameGeometry GetGeometryFromStandard(const NTV2Standard inStandard)
Definition: ntv2utils.cpp:4068
NTV2DeviceIDList::const_iterator NTV2DeviceIDListConstIter
A convenient const iterator for NTV2DeviceIDList.
Definition: ntv2utils.h:1038
double GetFrameTime(const NTV2FrameRate inFrameRate)
Definition: ntv2utils.h:349
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:4787
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:5431
#define NTV2_DEPRECATED_16_1(__f__)
Definition: ajatypes.h:546
ULWord GetIndexForNTV2CrosspointChannel(const NTV2Crosspoint inChannel)
Definition: ntv2utils.cpp:4755
NTV2Channel NTV2CrosspointToNTV2Channel(const NTV2Crosspoint inCrosspointChannel)
Definition: ntv2utils.cpp:4711
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:7011
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:5670
enum NTV2TCIndex NTV2TimecodeIndex
bool GetRegNumChanges(const NTV2RegNumSet &inBefore, const NTV2RegNumSet &inAfter, NTV2RegNumSet &outGone, NTV2RegNumSet &outSame, NTV2RegNumSet &outAdded)
Definition: ntv2utils.cpp:7757
NTV2ReferenceSource NTV2InputSourceToReferenceSource(const NTV2InputSource inInputSource)
Converts a given NTV2InputSource to its equivalent NTV2ReferenceSource value.
Definition: ntv2utils.cpp:5026
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:981
NTV2InputSource GetNTV2HDMIInputSourceForIndex(const ULWord inIndex0)
Definition: ntv2utils.cpp:5271
NTV2DieTempScale
Definition: ntv2enums.h:4213