AJA NTV2 SDK  17.1.3.1410
NTV2 SDK 17.1.3.1410
ntv2democommon.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
9 #ifndef _NTV2DEMOCOMMON_H
10 #define _NTV2DEMOCOMMON_H
11 
12 #include "ntv2rp188.h"
13 #include "ntv2publicinterface.h"
14 #include "ntv2card.h"
15 #include "ntv2utils.h" // for NTV2ACFrameRange
20 #include "ajabase/system/debug.h"
21 #include "ajabase/system/info.h"
22 #include "ajabase/system/systemtime.h" // convenience to get AJATime
23 #include "ajabase/common/common.h" // convenience to get aja::strip & etc.
24 #include <algorithm>
25 #include <string>
26 
27 // Convenience macros for EZ logging:
28 #define CAPFAIL(_expr_) AJA_sERROR (AJA_DebugUnit_DemoCapture, AJAFUNC << ": " << _expr_)
29 #define CAPWARN(_expr_) AJA_sWARNING(AJA_DebugUnit_DemoCapture, AJAFUNC << ": " << _expr_)
30 #define CAPDBG(_expr_) AJA_sDEBUG (AJA_DebugUnit_DemoCapture, AJAFUNC << ": " << _expr_)
31 #define CAPNOTE(_expr_) AJA_sNOTICE (AJA_DebugUnit_DemoCapture, AJAFUNC << ": " << _expr_)
32 #define CAPINFO(_expr_) AJA_sINFO (AJA_DebugUnit_DemoCapture, AJAFUNC << ": " << _expr_)
33 
34 #define PLFAIL(_xpr_) AJA_sERROR (AJA_DebugUnit_DemoPlayout, AJAFUNC << ": " << _xpr_)
35 #define PLWARN(_xpr_) AJA_sWARNING(AJA_DebugUnit_DemoPlayout, AJAFUNC << ": " << _xpr_)
36 #define PLNOTE(_xpr_) AJA_sNOTICE (AJA_DebugUnit_DemoPlayout, AJAFUNC << ": " << _xpr_)
37 #define PLINFO(_xpr_) AJA_sINFO (AJA_DebugUnit_DemoPlayout, AJAFUNC << ": " << _xpr_)
38 #define PLDBG(_xpr_) AJA_sDEBUG (AJA_DebugUnit_DemoPlayout, AJAFUNC << ": " << _xpr_)
39 
40 #define BURNFAIL(_expr_) AJA_sERROR (AJA_DebugUnit_Application, AJAFUNC << ": " << _expr_)
41 #define BURNWARN(_expr_) AJA_sWARNING(AJA_DebugUnit_Application, AJAFUNC << ": " << _expr_)
42 #define BURNDBG(_expr_) AJA_sDEBUG (AJA_DebugUnit_Application, AJAFUNC << ": " << _expr_)
43 #define BURNNOTE(_expr_) AJA_sNOTICE (AJA_DebugUnit_Application, AJAFUNC << ": " << _expr_)
44 #define BURNINFO(_expr_) AJA_sINFO (AJA_DebugUnit_Application, AJAFUNC << ": " << _expr_)
45 
46 #define NTV2_AUDIOSIZE_MAX (401 * 1024)
47 #define NTV2_ANCSIZE_MAX (0x2000) // 8K
48 
49 
55 typedef struct
56 {
57  uint32_t * fVideoBuffer;
58  uint32_t * fVideoBuffer2;
59  uint32_t fVideoBufferSize;
60  uint32_t * fAudioBuffer;
61  uint32_t fAudioBufferSize;
62  uint32_t * fAncBuffer;
63  uint32_t fAncBufferSize;
64  uint32_t * fAncF2Buffer;
65  uint32_t fAncF2BufferSize;
66  uint32_t fAudioRecordSize;
67  uint32_t fAncRecordSize;
71  uint32_t fFrameFlags;
72 } AVDataBuffer;
73 
74 
80 {
81  public:
91  uint32_t fFrameFlags;
92  public:
93  explicit inline NTV2FrameData()
94  : fVideoBuffer (0),
95  fVideoBuffer2 (0),
96  fAudioBuffer (0),
97  fAncBuffer (0),
98  fAncBuffer2 (0),
99  fTimecodes (),
100  fNumAudioBytes (0),
101  fNumAncBytes (0),
102  fNumAnc2Bytes (0),
103  fFrameFlags(0) {}
104 
105  // Inquiry Methods
106  inline NTV2Buffer & VideoBuffer (void) {return fVideoBuffer;}
107  inline ULWord VideoBufferSize (void) const {return fVideoBuffer.GetByteCount();}
108 
109  inline NTV2Buffer & AudioBuffer (void) {return fAudioBuffer;}
110  inline ULWord AudioBufferSize (void) const {return fAudioBuffer.GetByteCount();}
111  inline ULWord NumCapturedAudioBytes (void) const {return fNumAudioBytes;}
112 
113  inline NTV2Buffer & AncBuffer (void) {return fAncBuffer;}
114  inline ULWord AncBufferSize (void) const {return fAncBuffer.GetByteCount();}
115  inline ULWord NumCapturedAncBytes (void) const {return fNumAncBytes;}
116 
117  inline NTV2Buffer & AncBuffer2 (void) {return fAncBuffer2;}
118  inline ULWord AncBuffer2Size (void) const {return fAncBuffer2.GetByteCount();}
119  inline ULWord NumCapturedAnc2Bytes (void) const {return fNumAnc2Bytes;}
120 
121  inline NTV2Buffer & VideoBuffer2 (void) {return fVideoBuffer2;}
122  inline ULWord VideoBufferSize2 (void) const {return fVideoBuffer2.GetByteCount();}
123 
124  inline bool IsNULL (void) const {return fVideoBuffer.IsNULL() && fVideoBuffer2.IsNULL()
125  && fAudioBuffer.IsNULL() && fAncBuffer.IsNULL()
126  && fAncBuffer2.IsNULL();}
127  inline bool HasTimecode (const NTV2TCIndex inTCNdx) const {return fTimecodes.find(inTCNdx) != fTimecodes.end();}
128  NTV2_RP188 Timecode (const NTV2TCIndex inTCNdx) const;
129  inline bool HasValidTimecode (const NTV2TCIndex inTCNdx) const {return Timecode(inTCNdx).IsValid();}
130 
131  // Modifier Methods
132  inline void ZeroBuffers (void) { if (fVideoBuffer)
133  fVideoBuffer.Fill(ULWord(0));
134  if (fVideoBuffer2)
135  fVideoBuffer2.Fill(ULWord(0));
136  if (fAudioBuffer)
137  fAudioBuffer.Fill(ULWord(0));
138  if (fAncBuffer)
139  fAncBuffer.Fill(ULWord(0));
140  if (fAncBuffer2)
141  fAncBuffer2.Fill(ULWord(0));
142  fNumAudioBytes = fNumAncBytes = fNumAnc2Bytes = 0;
143  }
144  bool LockAll (CNTV2Card & inDevice);
145  bool UnlockAll (CNTV2Card & inDevice);
146 
147  bool Reset (void) {return fVideoBuffer.Allocate(0) && fVideoBuffer2.Allocate(0)
148  && fAudioBuffer.Allocate(0) && fAncBuffer.Allocate(0)
149  && fAncBuffer2.Allocate(0);}
150 }; // NTV2FrameData
151 
152 typedef std::vector<NTV2FrameData> NTV2FrameDataArray;
153 typedef NTV2FrameDataArray::iterator NTV2FrameDataArrayIter;
154 typedef NTV2FrameDataArray::const_iterator NTV2FrameDataArrayConstIter;
156 
157 
158 
159 static const size_t CIRCULAR_BUFFER_SIZE (10);
160 static const ULWord kDemoAppSignature NTV2_FOURCC('D','E','M','O');
161 
162 
167 template <typename T> class Bouncer
168 {
169  public:
170  inline Bouncer (const T inUpperLimit, const T inLowerLimit = T(0), const T inStartValue = T(0), const bool inStartAscend = true)
171  : mMin (inLowerLimit),
172  mMax (inUpperLimit),
173  mValue (inStartValue),
174  mIncrement (T(1)),
175  mAscend (inStartAscend)
176  {
177  if (mMin > mMax)
178  std::swap (mMin, mMax);
179  else if (mMin == mMax)
180  mMax = mMin + mIncrement;
181  if (mValue < mMin)
182  {
183  mValue = mMin;
184  mAscend = true;
185  }
186  if (mValue > mMax)
187  {
188  mValue = mMax;
189  mAscend = false;
190  }
191  }
192 
193  inline T Next (void)
194  {
195  if (mAscend)
196  {
197  if (mValue < mMax)
198  mValue += mIncrement;
199  else
200  mAscend = false;
201  }
202  else
203  {
204  if (mValue > mMin)
205  mValue -= mIncrement;
206  else
207  mAscend = true;
208  }
209  return mValue;
210  }
211 
212  inline void SetIncrement (const T inValue) {mIncrement = inValue;}
213  inline T Value (void) const {return mValue;}
214 
215  private:
216  T mMin, mMax, mValue, mIncrement;
217  bool mAscend;
218 
219 }; // Bouncer
220 
221 
223 {
229  // Deprecated old ones:
234 
236 
237 
239 {
248 
249 
250 typedef enum _NTV2TCIndexKinds
251 {
260 
261 
266 {
267  public:
268  std::string fDeviceSpec;
269  std::string fAncDataFilePath;
277  bool fWithAnc;
278  bool fWithAudio;
280 
284  inline explicit CaptureConfig (const std::string & inDeviceSpec = "0")
285  : fDeviceSpec (inDeviceSpec),
286  fAncDataFilePath (),
287  fInputChannel (NTV2_CHANNEL_INVALID),
288  fInputSource (NTV2_INPUTSOURCE_INVALID),
289  fFrames (7),
290  fPixelFormat (NTV2_FBF_8BIT_YCBCR),
291  fNumAudioLinks (1),
292  fDoABConversion (false),
293  fDoMultiFormat (false),
294  fWithAnc (false),
295  fWithAudio (true),
296  fDoTSIRouting (true)
297  {
298  }
299 
300  AJALabelValuePairs Get (const bool inCompact = false) const;
301 
302 }; // CaptureConfig
303 
304 AJAExport std::ostream & operator << (std::ostream & ioStrm, const CaptureConfig & inObj);
305 
306 
310 typedef struct PlayerConfig
311 {
312  public:
313  std::string fDeviceSpec;
314  std::string fAncDataFilePath;
332 
336  inline explicit PlayerConfig (const std::string & inDeviceSpecifier = "0")
337  : fDeviceSpec (inDeviceSpecifier),
338  fAncDataFilePath (),
341  fFrames (7),
346  fNumAudioLinks (1),
356  {
357  }
358 
359  inline bool WithAudio(void) const {return !fSuppressAudio && fNumAudioLinks > 0;}
360  inline bool WithVideo(void) const {return !fSuppressVideo;}
361 
367  AJALabelValuePairs Get (const bool inCompact = false) const;
368 
369 } PlayerConfig;
370 
371 AJAExport std::ostream & operator << (std::ostream & ioStrm, const PlayerConfig & inObj);
372 
376 typedef struct BurnConfig
377 {
378  public:
379  std::string fDeviceSpec;
380  std::string fDeviceSpec2;
392  bool fWithAnc;
393  bool fWithHanc;
394 
398  inline explicit BurnConfig (const std::string & inDeviceSpecifier = "0")
399  : fDeviceSpec (inDeviceSpecifier),
400  fDeviceSpec2 (),
404  fInputFrames (7),
405  fOutputFrames (7),
412  fWithAnc (false),
413  fWithHanc (false)
414  {
415  }
416 
417  inline bool WithAudio(void) const {return !fSuppressAudio;}
418  inline bool WithVideo(void) const {return !fSuppressVideo;}
419  inline bool WithAnc(void) const {return fWithAnc;}
420  inline bool WithHanc(void) const {return fWithHanc;}
421  inline bool WithTimecode(void) const {return NTV2_IS_VALID_TIMECODE_INDEX(fTimecodeSource);}
422  inline bool FieldMode(void) const {return fIsFieldMode;}
423 
429  AJALabelValuePairs Get (const bool inCompact = false) const;
430 
431 } BurnConfig;
432 
439 inline std::ostream & operator << (std::ostream & strm, const BurnConfig & inObj) {return strm << AJASystemInfo::ToString(inObj.Get());}
440 
441 
442 
449 {
450  public:
454 
459  static bool IsValidDevice (const std::string & inDeviceSpec);
460 
467  static std::string GetDeviceStrings (const NTV2DeviceKinds inKinds = NTV2_DEVICEKIND_ALL);
469 
473 
478  static const NTV2VideoFormatSet & GetSupportedVideoFormats (const NTV2VideoFormatKinds inKinds = VIDEO_FORMATS_NON_4KUHD);
479 
488  static std::string GetVideoFormatStrings (const NTV2VideoFormatKinds inKinds = VIDEO_FORMATS_NON_4KUHD,
489  const std::string inDeviceSpecifier = std::string ());
490 
498  static NTV2VideoFormat GetVideoFormatFromString (const std::string & inStr, const NTV2VideoFormatKinds inKinds = VIDEO_FORMATS_NON_4KUHD);
499 
505  static bool Get4KInputFormat (NTV2VideoFormat & inOutVideoFormat);
506 
512  static bool Get8KInputFormat (NTV2VideoFormat & inOutVideoFormat);
514 
518 
523  static NTV2FrameBufferFormatSet GetSupportedPixelFormats (const NTV2PixelFormatKinds inKinds = PIXEL_FORMATS_ALL);
524 
533  static std::string GetPixelFormatStrings (const NTV2PixelFormatKinds inKinds = PIXEL_FORMATS_ALL,
534  const std::string inDeviceSpecifier = std::string ());
535 
541  static NTV2FrameBufferFormat GetPixelFormatFromString (const std::string & inStr);
542 
547  static AJA_PixelFormat GetAJAPixelFormat (const NTV2FrameBufferFormat inFormat);
549 
553 
558  static const NTV2InputSourceSet GetSupportedInputSources (const NTV2IOKinds inKinds = NTV2_IOKINDS_ALL);
559 
568  static std::string GetInputSourceStrings (const NTV2IOKinds inKinds = NTV2_IOKINDS_ALL,
569  const std::string inDeviceSpecifier = std::string ());
570 
576  static NTV2InputSource GetInputSourceFromString (const std::string & inStr);
578 
582 
590  static std::string GetOutputDestinationStrings (const std::string inDeviceSpecifier = std::string ());
591 
597  static NTV2OutputDestination GetOutputDestinationFromString (const std::string & inStr);
599 
603 
608  static const NTV2TCIndexes GetSupportedTCIndexes (const NTV2TCIndexKinds inKinds);
609 
622  static std::string GetTCIndexStrings (const NTV2TCIndexKinds inKinds = TC_INDEXES_ALL,
623  const std::string inDeviceSpecifier = std::string(),
624  const bool inIsInputOnly = true);
625 
631  static NTV2TCIndex GetTCIndexFromString (const std::string & inStr);
633 
637 
645  static std::string GetAudioSystemStrings (const std::string inDeviceSpecifier = std::string ());
646 
652  static NTV2AudioSystem GetAudioSystemFromString (const std::string & inStr);
654 
658 
664  static std::string GetTestPatternStrings (void);
665 
670  static std::string GetTestPatternNameFromString (const std::string & inStr);
672 
676 
682  static std::string GetVANCModeStrings (void);
683 
688  static NTV2VANCMode GetVANCModeFromString (const std::string & inStr);
690 
694 
701  static bool GetInputRouting (NTV2XptConnections & outConnections,
702  const CaptureConfig & inConfig,
703  const bool isInputRGB = false);
704 
712  static bool GetInputRouting4K ( NTV2XptConnections & outConnections,
713  const CaptureConfig & inConfig,
714  const NTV2DeviceID inDevID = DEVICE_ID_INVALID,
715  const bool isInputRGB = false);
716 
724  static bool GetInputRouting8K ( NTV2XptConnections & outConnections,
725  const CaptureConfig & inConfig,
726  const NTV2VideoFormat inVidFormat,
727  const NTV2DeviceID inDevID = DEVICE_ID_INVALID,
728  const bool isInputRGB = false);
730 
734 
741  static std::string ToLower (const std::string & inStr);
742 
748  static std::string StripFormatString (const std::string & inStr);
749 
754  static char ReadCharacterPress (void);
755 
759  static void WaitForEnterKeyPress (void);
760 
765  static TimecodeFormat NTV2FrameRate2TimecodeFormat(const NTV2FrameRate inFrameRate);
766 
771  static AJA_FrameRate GetAJAFrameRate (const NTV2FrameRate inFrameRate);
772 
776  static const char * GetGlobalMutexName (void);
777 
784  static NTV2ChannelList GetTSIMuxesForFrameStore (CNTV2Card & inDevice, const NTV2Channel in1stFrameStore, const UWord inCount);
785 
793  static bool ConfigureAudioSystems (CNTV2Card & inDevice, const CaptureConfig & inConfig, const NTV2AudioSystemSet inAudioSystems);
794 
795  static size_t SetDefaultPageSize (void);
797 
799 
800  typedef struct poptOption PoptOpts;
802  {
803  public:
804  Popt (const int inArgc, const char ** pArgs, const PoptOpts * pInOptionsTable);
805  virtual ~Popt();
806  virtual inline int parseResult(void) const {return mResult;}
807  virtual inline bool isGood (void) const {return parseResult() == -1;}
808  virtual inline operator bool() const {return isGood();}
809  virtual inline const std::string & errorStr (void) const {return mError;}
810  virtual inline const NTV2StringList & otherArgs (void) const {return mOtherArgs;}
811  private:
812  poptContext mContext;
813  int mResult;
814  std::string mError;
815  NTV2StringList mOtherArgs;
816  };
817 
818  static bool BFT(void);
819 
820 }; // CNTV2DemoCommon
821 
822 
823 // These AJA_NTV2_AUDIO_RECORD* macros can, if enabled, record audio samples into a file in the current directory.
824 // Optionally used in the CNTV2Capture demo.
825 #if defined(AJA_RAW_AUDIO_RECORD)
826  #include "ntv2debug.h" // For NTV2DeviceString
827  #include <fstream> // For ofstream
828  // To open the raw audio file in Audacity -- see http://audacity.sourceforge.net/ ...
829  // 1) Choose File => Import => Raw Data...
830  // 2) Select "Signed 32 bit PCM", Little/No/Default Endian, "16 Channels" (or 8 if applicable), "48000" sample rate.
831  // 3) Click "Import"
832  #define AJA_NTV2_AUDIO_RECORD_BEGIN ostringstream _filename; \
833  _filename << ::NTV2DeviceString(mDeviceID) << "-" << mDevice.GetIndexNumber() \
834  << "." << ::NTV2ChannelToString(mConfig.fInputChannel,true) \
835  << "." << ::NTV2InputSourceToString(mConfig.fInputSource, true) \
836  << "." << ::NTV2VideoFormatToString(mVideoFormat) \
837  << "." << ::NTV2AudioSystemToString(mAudioSystem, true) \
838  << "." << AJAProcess::GetPid() \
839  << ".raw"; \
840  ofstream _ostrm(_filename.str(), ios::binary);
841 
842  #define AJA_NTV2_AUDIO_RECORD_DO if (NTV2_IS_VALID_AUDIO_SYSTEM(mAudioSystem)) \
843  if (pFrameData->fAudioBuffer) \
844  _ostrm.write(pFrameData->AudioBuffer(), \
845  streamsize(pFrameData->NumCapturedAudioBytes()));
846 
847  #define AJA_NTV2_AUDIO_RECORD_END
848 #elif defined(AJA_WAV_AUDIO_RECORD)
849  #include "ntv2debug.h" // For NTV2DeviceString
850  #include "ajabase/common/wavewriter.h" // For AJAWavWriter
851  #define AJA_NTV2_AUDIO_RECORD_BEGIN ostringstream _wavfilename; \
852  _wavfilename << ::NTV2DeviceString(mDeviceID) << "-" << mDevice.GetIndexNumber() \
853  << "." << ::NTV2ChannelToString(mConfig.fInputChannel,true) \
854  << "." << ::NTV2InputSourceToString(mConfig.fInputSource, true) \
855  << "." << ::NTV2VideoFormatToString(mVideoFormat) \
856  << "." << ::NTV2AudioSystemToString(mAudioSystem, true) \
857  << "." << AJAProcess::GetPid() \
858  << ".wav"; \
859  const int _wavMaxNumAudChls(mDevice.features().GetMaxAudioChannels()); \
860  AJAWavWriter _wavWriter (_wavfilename.str(), \
861  AJAWavWriterAudioFormat(_wavMaxNumAudChls, 48000, 32)); \
862  _wavWriter.open();
863 
864  #define AJA_NTV2_AUDIO_RECORD_DO if (NTV2_IS_VALID_AUDIO_SYSTEM(mAudioSystem)) \
865  if (pFrameData->fAudioBuffer) \
866  if (_wavWriter.IsOpen()) \
867  _wavWriter.write(pFrameData->AudioBuffer(), pFrameData->NumCapturedAudioBytes());
868 
869  #define AJA_NTV2_AUDIO_RECORD_END if (_wavWriter.IsOpen()) \
870  _wavWriter.close();
871 #else
872  #define AJA_NTV2_AUDIO_RECORD_BEGIN
873  #define AJA_NTV2_AUDIO_RECORD_DO
874  #define AJA_NTV2_AUDIO_RECORD_END
875 #endif
876 
877 // Optionally used in the CNTV2Capture4K demo.
878 #if defined(AJA_RECORD_MLAUDIO)
879  #include <fstream>
880  #define AJA_NTV2_MLAUDIO_RECORD_BEGIN ofstream ofs1, ofs2; \
881  if (mConfig.fNumAudioLinks > 1) \
882  { \
883  ofs1.open("temp1.raw", ios::out | ios::trunc | ios::binary); \
884  ofs2.open("temp2.raw", ios::out | ios::trunc | ios::binary); \
885  }
886 
887  #define AJA_NTV2_MLAUDIO_RECORD_DO if (mConfig.fNumAudioLinks > 1) \
888  { const ULWord halfBytes (pFrameData->NumCapturedAudioBytes() / 2); \
889  ofs1.write(pFrameData->AudioBuffer(), halfBytes); \
890  NTV2Buffer lastHalf (pFrameData->fAudioBuffer.GetHostAddress(halfBytes), halfBytes); \
891  ofs2.write(lastHalf, lastHalf.GetByteCount()); \
892  }
893 
894  #define AJA_NTV2_MLAUDIO_RECORD_END if (mConfig.fNumAudioLinks > 1) \
895  { \
896  ofs1.close(); \
897  ofs2.close(); \
898  }
899 #else
900  #define AJA_NTV2_MLAUDIO_RECORD_BEGIN
901  #define AJA_NTV2_MLAUDIO_RECORD_DO
902  #define AJA_NTV2_MLAUDIO_RECORD_END
903 #endif
904 
905 #endif // _NTV2DEMOCOMMON_H
NTV2InputSourceSet
std::set< NTV2InputSource > NTV2InputSourceSet
A set of distinct NTV2InputSource values.
Definition: ntv2publicinterface.h:8783
NTV2FrameData::NumCapturedAnc2Bytes
ULWord NumCapturedAnc2Bytes(void) const
Definition: ntv2democommon.h:119
NTV2FrameData::fFrameFlags
uint32_t fFrameFlags
Frame data flags.
Definition: ntv2democommon.h:91
CaptureConfig::fDoMultiFormat
bool fDoMultiFormat
If true, use multi-format/multi-channel mode, if device supports it; otherwise normal mode.
Definition: ntv2democommon.h:276
AVDataBuffer::fFrameFlags
uint32_t fFrameFlags
Frame data flags.
Definition: ntv2democommon.h:71
CNTV2DemoCommon::Popt::otherArgs
virtual const NTV2StringList & otherArgs(void) const
Definition: ntv2democommon.h:810
TC_INDEXES_VITC1
@ TC_INDEXES_VITC1
Definition: ntv2democommon.h:256
PlayerConfig::fDoHDMIOutput
bool fDoHDMIOutput
If true, enable HDMI output; otherwise, disable HDMI output.
Definition: ntv2democommon.h:328
info.h
Declares the AJASystemInfo class.
AVDataBuffer::fRP188Data2
RP188_STRUCT fRP188Data2
For future use.
Definition: ntv2democommon.h:69
PlayerConfig::PlayerConfig
PlayerConfig(const std::string &inDeviceSpecifier="0")
Constructs a default Player configuration.
Definition: ntv2democommon.h:336
ancillarydata.h
Declares the AJAAncillaryData class.
NTV2FrameBufferFormatSet
std::set< NTV2FrameBufferFormat > NTV2FrameBufferFormatSet
A set of distinct NTV2FrameBufferFormat values.
Definition: ntv2publicinterface.h:8772
NTV2OutputDestination
NTV2OutputDestination
Identifies a specific video output destination.
Definition: ntv2enums.h:1276
NTV2_FOURCC
#define NTV2_FOURCC(_a_, _b_, _c_, _d_)
Definition: ntv2publicinterface.h:5444
poptOption
Definition: options_popt.h:148
_NTV2PixelFormatKinds
_NTV2PixelFormatKinds
Definition: ntv2democommon.h:238
AVDataBuffer::fRP188Data
RP188_STRUCT fRP188Data
For future use.
Definition: ntv2democommon.h:68
AJAAncDataType_Unknown
@ AJAAncDataType_Unknown
Includes data that is valid, but we don't recognize.
Definition: ancillarydata.h:46
BurnConfig::fIsFieldMode
bool fIsFieldMode
True if Field Mode, otherwise Frame Mode.
Definition: ntv2democommon.h:391
PIXEL_FORMATS_NONE
@ PIXEL_FORMATS_NONE
Definition: ntv2democommon.h:246
NTV2TCIndexes
std::set< NTV2TCIndex > NTV2TCIndexes
Definition: ntv2publicinterface.h:6849
NTV2FrameData
I encapsulate the video, audio and anc host buffers used in the AutoCirculate demos....
Definition: ntv2democommon.h:79
NTV2FrameDataArrayConstIter
NTV2FrameDataArray::const_iterator NTV2FrameDataArrayConstIter
Handy const iterator.
Definition: ntv2democommon.h:154
NTV2Channel
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
Definition: ntv2enums.h:1305
NTV2FrameData::fNumAncBytes
ULWord fNumAncBytes
Actual number of captured F1 anc bytes.
Definition: ntv2democommon.h:89
NTV2Buffer
A generic user-space buffer object that has an address and a length. Used most often to share an arbi...
Definition: ntv2publicinterface.h:5993
CNTV2DemoCommon::ACFrameRange
NTV2ACFrameRange ACFrameRange
Definition: ntv2democommon.h:798
NTV2Buffer::GetByteCount
ULWord GetByteCount(void) const
Definition: ntv2publicinterface.h:6066
Bouncer::Value
T Value(void) const
Definition: ntv2democommon.h:213
NTV2VideoFormatSet
std::set< NTV2VideoFormat > NTV2VideoFormatSet
A set of distinct NTV2VideoFormat values.
Definition: ntv2publicinterface.h:8769
AVDataBuffer
This structure encapsulates the video, audio and anc buffers used in the AutoCirculate demos....
Definition: ntv2democommon.h:55
NTV2FrameData::ZeroBuffers
void ZeroBuffers(void)
Definition: ntv2democommon.h:132
NTV2FrameData::AncBuffer2
NTV2Buffer & AncBuffer2(void)
Definition: ntv2democommon.h:117
systemtime.h
Declares the AJATime class.
wavewriter.h
Declares the AJAWavWriter class.
_NTV2VideoFormatKinds
_NTV2VideoFormatKinds
Definition: ntv2democommon.h:222
PIXEL_FORMATS_RGB
@ PIXEL_FORMATS_RGB
Definition: ntv2democommon.h:241
NTV2_OUTPUTDESTINATION_SDI2
@ NTV2_OUTPUTDESTINATION_SDI2
Definition: ntv2enums.h:1281
NTV2_FORMAT_1080i_5994
@ NTV2_FORMAT_1080i_5994
Definition: ntv2enums.h:512
NTV2_IS_VALID_TIMECODE_INDEX
#define NTV2_IS_VALID_TIMECODE_INDEX(__x__)
Definition: ntv2enums.h:3903
BurnConfig::fDoMultiFormat
bool fDoMultiFormat
If true, enables device-sharing; otherwise takes exclusive control of the device.
Definition: ntv2democommon.h:388
BurnConfig::fSuppressAudio
bool fSuppressAudio
If true, suppress audio; otherwise include audio.
Definition: ntv2democommon.h:389
BurnConfig::fTimecodeSource
NTV2TCIndex fTimecodeSource
Timecode source to use.
Definition: ntv2democommon.h:387
CaptureConfig::fPixelFormat
NTV2PixelFormat fPixelFormat
Pixel format to use.
Definition: ntv2democommon.h:273
PIXEL_FORMATS_ALPHA
@ PIXEL_FORMATS_ALPHA
Definition: ntv2democommon.h:245
AJAAncDataType
AJAAncDataType
Identifies the ancillary data types that are known to this module.
Definition: ancillarydata.h:44
NTV2FrameData::NTV2FrameData
NTV2FrameData()
Definition: ntv2democommon.h:93
PIXEL_FORMATS_PACKED
@ PIXEL_FORMATS_PACKED
Definition: ntv2democommon.h:244
NTV2DeviceID
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
Definition: ntv2enums.h:20
UHD_VIDEO_FORMATS
@ UHD_VIDEO_FORMATS
Definition: ntv2democommon.h:233
NTV2FrameData::fAncBuffer2
NTV2Buffer fAncBuffer2
Additional "F2" host anc buffer.
Definition: ntv2democommon.h:86
NTV2FrameBufferFormat
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
Definition: ntv2enums.h:207
CaptureConfig::fAncDataFilePath
std::string fAncDataFilePath
Optional path to Anc binary data file.
Definition: ntv2democommon.h:269
NTV2Buffer::Allocate
bool Allocate(const size_t inByteCount, const bool inPageAligned=false)
Allocates (or re-allocates) my user-space storage using the given byte count. I assume full responsib...
Definition: ntv2publicinterface.cpp:1630
PlayerConfig::fDoMultiFormat
bool fDoMultiFormat
If true, enable device-sharing; otherwise take exclusive control of device.
Definition: ntv2democommon.h:323
BurnConfig::fSuppressVideo
bool fSuppressVideo
If true, suppress video; otherwise include video.
Definition: ntv2democommon.h:390
NTV2IOKinds
enum NTV2InputSourceKinds NTV2IOKinds
NTV2FrameData::fAncBuffer
NTV2Buffer fAncBuffer
Host ancillary data buffer.
Definition: ntv2democommon.h:85
TimecodeFormat
TimecodeFormat
Definition: ntv2rp188.h:27
PlayerConfig::fVancMode
NTV2VANCMode fVancMode
VANC mode to use.
Definition: ntv2democommon.h:320
NTV2_CHANNEL1
@ NTV2_CHANNEL1
Specifies channel or Frame Store 1 (or the first item).
Definition: ntv2enums.h:1307
ntv2debug.h
NTV2FrameData::IsNULL
bool IsNULL(void) const
Definition: ntv2democommon.h:124
PlayerConfig::fDoLinkGrouping
bool fDoLinkGrouping
If true, enables 6/12G output mode on IoX3/Kona5 (4K/8K)
Definition: ntv2democommon.h:331
CNTV2DemoCommon::Popt::parseResult
virtual int parseResult(void) const
Definition: ntv2democommon.h:806
NTV2FrameRate
NTV2FrameRate
Identifies a particular video frame rate.
Definition: ntv2enums.h:396
poptContext_s
Definition: options_popt.cpp:289
NTV2_CHANNEL_INVALID
@ NTV2_CHANNEL_INVALID
Definition: ntv2enums.h:1316
TC_INDEXES_ATCLTC
@ TC_INDEXES_ATCLTC
Definition: ntv2democommon.h:255
NTV2OutputDest
enum NTV2OutputDestination NTV2OutputDest
CaptureConfig::fWithAnc
bool fWithAnc
If true, also capture Anc.
Definition: ntv2democommon.h:277
NTV2FrameData::VideoBuffer
NTV2Buffer & VideoBuffer(void)
Definition: ntv2democommon.h:106
PlayerConfig::fDoTsiRouting
bool fDoTsiRouting
If true, enable TSI routing; otherwise route for square division (4K/8K)
Definition: ntv2democommon.h:329
PIXEL_FORMATS_RAW
@ PIXEL_FORMATS_RAW
Definition: ntv2democommon.h:243
PlayerConfig::fTransmitHDRType
AJAAncDataType fTransmitHDRType
Specifies the HDR anc data packet to transmit, if any.
Definition: ntv2democommon.h:321
VIDEO_FORMATS_ALL
@ VIDEO_FORMATS_ALL
Definition: ntv2democommon.h:224
AJA_FrameRate
AJA_FrameRate
Definition: videotypes.h:210
BurnConfig::fPixelFormat
NTV2PixelFormat fPixelFormat
The pixel format to use.
Definition: ntv2democommon.h:386
Bouncer::Bouncer
Bouncer(const T inUpperLimit, const T inLowerLimit=T(0), const T inStartValue=T(0), const bool inStartAscend=(!(0)))
Definition: ntv2democommon.h:170
TC_INDEXES_VITC2
@ TC_INDEXES_VITC2
Definition: ntv2democommon.h:257
BurnConfig::fOutputFrames
NTV2ACFrameRange fOutputFrames
Playout frame count or range.
Definition: ntv2democommon.h:385
NTV2FrameData::NumCapturedAncBytes
ULWord NumCapturedAncBytes(void) const
Definition: ntv2democommon.h:115
NTV2_INPUTSOURCE_SDI1
@ NTV2_INPUTSOURCE_SDI1
Identifies the 1st SDI video input.
Definition: ntv2enums.h:1228
AVDataBuffer::fAudioRecordSize
uint32_t fAudioRecordSize
For future use.
Definition: ntv2democommon.h:66
PlayerConfig::fFrames
NTV2ACFrameRange fFrames
AutoCirculate frame count or range.
Definition: ntv2democommon.h:317
NTV2_TCINDEX_SDI1
@ NTV2_TCINDEX_SDI1
SDI 1 embedded VITC.
Definition: ntv2enums.h:3873
NTV2DeviceKinds
enum _NTV2DeviceKinds NTV2DeviceKinds
These enum values are used for device selection/filtering.
VIDEO_FORMATS_UHD2
@ VIDEO_FORMATS_UHD2
Definition: ntv2democommon.h:230
NTV2_VANCMODE_OFF
@ NTV2_VANCMODE_OFF
This identifies the mode in which there are no VANC lines in the frame buffer.
Definition: ntv2enums.h:3718
NTV2FrameData::HasValidTimecode
bool HasValidTimecode(const NTV2TCIndex inTCNdx) const
Definition: ntv2democommon.h:129
NTV2Buffer::IsNULL
bool IsNULL(void) const
Definition: ntv2publicinterface.h:6088
ULWord
uint32_t ULWord
Definition: ajatypes.h:253
NTV2FrameData::NumCapturedAudioBytes
ULWord NumCapturedAudioBytes(void) const
Definition: ntv2democommon.h:111
NTV2FrameData::fVideoBuffer
NTV2Buffer fVideoBuffer
Host video buffer.
Definition: ntv2democommon.h:82
CaptureConfig
This class is used to configure an NTV2Capture instance.
Definition: ntv2democommon.h:265
AVDataBuffer::fVideoBufferUnaligned
uint8_t * fVideoBufferUnaligned
For future use.
Definition: ntv2democommon.h:70
NTV2FrameData::VideoBufferSize
ULWord VideoBufferSize(void) const
Definition: ntv2democommon.h:107
PlayerConfig::fSuppressAudio
bool fSuppressAudio
If true, suppress audio; otherwise generate audio tone.
Definition: ntv2democommon.h:324
BurnConfig
struct BurnConfig BurnConfig
Configures an NTV2Burn or NTV2FieldBurn instance.
NTV2ACFrameRange
AutoCirculate Frame Range.
Definition: ntv2utils.h:961
BurnConfig::fWithHanc
bool fWithHanc
If true, capture & play HANC data, including audio (LLBurn). Defaults to false.
Definition: ntv2democommon.h:393
NTV2_INPUTSOURCE_INVALID
@ NTV2_INPUTSOURCE_INVALID
The invalid video input.
Definition: ntv2enums.h:1236
NTV2AudioSystemSet
std::set< NTV2AudioSystem > NTV2AudioSystemSet
A set of distinct NTV2AudioSystem values. New in SDK 16.2.
Definition: ntv2publicinterface.h:3900
ntv2card.h
Declares the CNTV2Card class.
AVDataBuffer::fAudioBufferSize
uint32_t fAudioBufferSize
Size of host audio buffer, in bytes.
Definition: ntv2democommon.h:61
NTV2TCIndex
NTV2TCIndex
These enum values are indexes into the capture/playout AutoCirculate timecode arrays.
Definition: ntv2enums.h:3870
PlayerConfig::fSuppressVideo
bool fSuppressVideo
If true, suppress video; otherwise generate test patterns.
Definition: ntv2democommon.h:325
AJASystemInfo::ToString
virtual void ToString(std::string &outAllLabelsAndValues) const
Answers with a multi-line string that contains the complete host system info table.
BOTH_VIDEO_FORMATS
@ BOTH_VIDEO_FORMATS
Definition: ntv2democommon.h:231
NTV2FrameData::AncBufferSize
ULWord AncBufferSize(void) const
Definition: ntv2democommon.h:114
PlayerConfig::fNumAudioLinks
UWord fNumAudioLinks
The number of audio systems to control for multi-link audio (4K/8K)
Definition: ntv2democommon.h:322
PIXEL_FORMATS_ALL
@ PIXEL_FORMATS_ALL
Definition: ntv2democommon.h:240
NTV2_CHANNEL3
@ NTV2_CHANNEL3
Specifies channel or Frame Store 3 (or the 3rd item).
Definition: ntv2enums.h:1309
UWord
uint16_t UWord
Definition: ajatypes.h:251
PlayerConfig::fVideoFormat
NTV2VideoFormat fVideoFormat
The video format to use.
Definition: ntv2democommon.h:319
NTV2FrameData::AudioBufferSize
ULWord AudioBufferSize(void) const
Definition: ntv2democommon.h:110
options_popt.h
NTV2FrameData::AncBuffer2Size
ULWord AncBuffer2Size(void) const
Definition: ntv2democommon.h:118
NTV2FrameData::fNumAudioBytes
ULWord fNumAudioBytes
Actual number of captured audio bytes.
Definition: ntv2democommon.h:88
NTV2_FBF_8BIT_YCBCR
@ NTV2_FBF_8BIT_YCBCR
See 8-Bit YCbCr Format.
Definition: ntv2enums.h:211
CNTV2DemoCommon::Popt
Definition: ntv2democommon.h:801
PlayerConfig::fOutputChannel
NTV2Channel fOutputChannel
The device channel to use.
Definition: ntv2democommon.h:315
CaptureConfig::fDeviceSpec
std::string fDeviceSpec
The AJA device to use.
Definition: ntv2democommon.h:268
ntv2utils.h
Declares numerous NTV2 utility functions.
PlayerConfig::Get
AJALabelValuePairs Get(const bool inCompact=(0)) const
Renders a human-readable representation of me.
Definition: ntv2democommon.cpp:1694
CNTV2DemoCommon::Popt::errorStr
virtual const std::string & errorStr(void) const
Definition: ntv2democommon.h:809
PlayerConfig::fAncDataFilePath
std::string fAncDataFilePath
Optional path to Anc binary data file to playout.
Definition: ntv2democommon.h:314
NTV2FrameData::AudioBuffer
NTV2Buffer & AudioBuffer(void)
Definition: ntv2democommon.h:109
CNTV2Card
I interrogate and control an AJA video/audio capture/playout device.
Definition: ntv2card.h:28
NTV2_DEVICEKIND_ALL
@ NTV2_DEVICEKIND_ALL
Specifies any/all devices.
Definition: ntv2enums.h:1328
AVDataBuffer::fAncF2BufferSize
uint32_t fAncF2BufferSize
Size of "Field 2" ANC buffer, in bytes.
Definition: ntv2democommon.h:65
DEVICE_ID_INVALID
@ DEVICE_ID_INVALID
Definition: ntv2enums.h:91
PIXEL_FORMATS_PLANAR
@ PIXEL_FORMATS_PLANAR
Definition: ntv2democommon.h:242
RP188_STRUCT
Definition: ntv2publicinterface.h:4083
kDemoAppSignature
static const ULWord kDemoAppSignature((((uint32_t)( 'D'))<< 24)|(((uint32_t)( 'E'))<< 16)|(((uint32_t)( 'M'))<< 8)|(((uint32_t)( 'O'))<< 0))
NTV2FrameData::fVideoBuffer2
NTV2Buffer fVideoBuffer2
Additional host video buffer, usually F2.
Definition: ntv2democommon.h:83
BurnConfig::fWithAnc
bool fWithAnc
If true, capture & play anc data (LLBurn). Defaults to false.
Definition: ntv2democommon.h:392
BurnConfig::fDeviceSpec2
std::string fDeviceSpec2
Second AJA device to use (Burn4KQuadrant or BurnBoardToBoard only)
Definition: ntv2democommon.h:380
NTV2FrameDataArray
std::vector< NTV2FrameData > NTV2FrameDataArray
A vector of NTV2FrameData elements.
Definition: ntv2democommon.h:152
CaptureConfig::fDoABConversion
bool fDoABConversion
If true, do level-A/B conversion; otherwise don't.
Definition: ntv2democommon.h:275
NTV2PixelFormatKinds
enum _NTV2PixelFormatKinds NTV2PixelFormatKinds
NTV2StringList
std::vector< std::string > NTV2StringList
Definition: ntv2utils.h:1134
NTV2VANCMode
NTV2VANCMode
These enum values identify the available VANC modes.
Definition: ntv2enums.h:3716
NTV2FrameData::HasTimecode
bool HasTimecode(const NTV2TCIndex inTCNdx) const
Definition: ntv2democommon.h:127
CaptureConfig::fFrames
NTV2ACFrameRange fFrames
AutoCirculate frame count or range.
Definition: ntv2democommon.h:272
AVDataBuffer::fAudioBuffer
uint32_t * fAudioBuffer
Pointer to host audio buffer.
Definition: ntv2democommon.h:60
BurnConfig::fInputChannel
NTV2Channel fInputChannel
The input channel to use.
Definition: ntv2democommon.h:381
CaptureConfig::fInputChannel
NTV2Channel fInputChannel
The device channel to use.
Definition: ntv2democommon.h:270
AVDataBuffer::fVideoBuffer
uint32_t * fVideoBuffer
Pointer to host video buffer.
Definition: ntv2democommon.h:57
CNTV2DemoCommon
A set of common convenience functions used by the NTV2 Demonstration Applications....
Definition: ntv2democommon.h:448
NTV2ChannelList
std::vector< NTV2Channel > NTV2ChannelList
An ordered sequence of NTV2Channel values.
Definition: ntv2publicinterface.h:3835
BurnConfig::fDeviceSpec
std::string fDeviceSpec
The AJA device to use.
Definition: ntv2democommon.h:379
NTV2InputSource
NTV2InputSource
Identifies a specific video input source.
Definition: ntv2enums.h:1221
BurnConfig::fInputSource
NTV2InputSource fInputSource
The device input connector to use.
Definition: ntv2democommon.h:383
NTV2FrameData::fAudioBuffer
NTV2Buffer fAudioBuffer
Host audio buffer.
Definition: ntv2democommon.h:84
AVDataBuffer::fVideoBuffer2
uint32_t * fVideoBuffer2
Pointer to an additional host video buffer, usually field 2.
Definition: ntv2democommon.h:58
PlayerConfig::fTransmitLTC
bool fTransmitLTC
If true, embed LTC; otherwise embed VITC.
Definition: ntv2democommon.h:326
AVDataBuffer::fAncBufferSize
uint32_t fAncBufferSize
Size of ANC buffer, in bytes.
Definition: ntv2democommon.h:63
NTV2FrameData::VideoBuffer2
NTV2Buffer & VideoBuffer2(void)
Definition: ntv2democommon.h:121
VIDEO_FORMATS_NON_4KUHD
@ VIDEO_FORMATS_NON_4KUHD
Definition: ntv2democommon.h:225
PlayerConfig::fDoRGBOnWire
bool fDoRGBOnWire
If true, produce RGB on the wire; otherwise output YUV.
Definition: ntv2democommon.h:330
PlayerConfig::fOutputDest
NTV2OutputDest fOutputDest
The desired output connector to use.
Definition: ntv2democommon.h:316
false
#define false
Definition: ntv2devicefeatures.h:25
common.h
Private include file for all ajabase sources.
FrameDataRingBuffer
AJACircularBuffer< NTV2FrameData * > FrameDataRingBuffer
Buffer ring of NTV2FrameData's.
Definition: ntv2democommon.h:155
PlayerConfig::fDeviceSpec
std::string fDeviceSpec
The AJA device to use.
Definition: ntv2democommon.h:313
TC_INDEXES_SDI
@ TC_INDEXES_SDI
Definition: ntv2democommon.h:253
AVDataBuffer::fAncF2Buffer
uint32_t * fAncF2Buffer
Pointer to "Field 2" ANC buffer.
Definition: ntv2democommon.h:64
videotypes.h
Declares the enumeration constants used in the ajabase library.
CaptureConfig::fDoTSIRouting
bool fDoTSIRouting
If true, do TSI routing; otherwise squares.
Definition: ntv2democommon.h:279
NTV2XptConnections
std::map< NTV2InputXptID, NTV2OutputXptID > NTV2XptConnections
Definition: ntv2signalrouter.h:39
NTV2TimeCodes
std::map< NTV2TCIndex, NTV2_RP188 > NTV2TimeCodes
A mapping of NTV2TCIndex enum values to NTV2_RP188 structures.
Definition: ntv2publicinterface.h:6846
NTV2FrameData::VideoBufferSize2
ULWord VideoBufferSize2(void) const
Definition: ntv2democommon.h:122
NTV2FrameDataArrayIter
NTV2FrameDataArray::iterator NTV2FrameDataArrayIter
Handy non-const iterator.
Definition: ntv2democommon.h:153
CNTV2DemoCommon::Popt::isGood
virtual bool isGood(void) const
Definition: ntv2democommon.h:807
NTV2_RP188
This struct replaces the old RP188_STRUCT.
Definition: ntv2publicinterface.h:6760
BurnConfig::Get
AJALabelValuePairs Get(const bool inCompact=(0)) const
Renders a human-readable representation of me.
Definition: ntv2democommon.cpp:1731
VIDEO_FORMATS_8KUHD2
@ VIDEO_FORMATS_8KUHD2
Definition: ntv2democommon.h:227
NTV2FrameData::Reset
bool Reset(void)
Definition: ntv2democommon.h:147
AVDataBuffer::fVideoBufferSize
uint32_t fVideoBufferSize
Size of host video buffer, in bytes.
Definition: ntv2democommon.h:59
AJAExport
#define AJAExport
Definition: export.h:33
NTV2VideoFormat
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
NTV2FrameData::fNumAnc2Bytes
ULWord fNumAnc2Bytes
Actual number of captured F2 anc bytes.
Definition: ntv2democommon.h:90
Bouncer
A handy class that makes it easy to "bounce" an unsigned integer value between a minimum and maximum ...
Definition: ntv2democommon.h:167
CIRCULAR_BUFFER_SIZE
static const size_t CIRCULAR_BUFFER_SIZE(10)
Number of NTV2FrameData's in our ring.
NTV2_IOKINDS_ALL
@ NTV2_IOKINDS_ALL
Specifies any/all input/output kinds.
Definition: ntv2enums.h:1250
ntv2rp188.h
Declares the CRP188 class. See SMPTE RP188 standard for details.
std::swap
void swap(nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass > &j1, nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass > &j2) noexcept(//NOLINT(readability-inconsistent-declaration-parameter-name, cert-dcl58-cpp) is_nothrow_move_constructible< nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass > >::value &&//NOLINT(misc-redundant-expression, cppcoreguidelines-noexcept-swap, performance-noexcept-swap) is_nothrow_move_assignable< nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass > >::value)
exchanges the values of two JSON objects
Definition: json.hpp:24538
true
#define true
Definition: ntv2devicefeatures.h:26
AVDataBuffer::fAncRecordSize
uint32_t fAncRecordSize
For future use.
Definition: ntv2democommon.h:67
Bouncer::SetIncrement
void SetIncrement(const T inValue)
Definition: ntv2democommon.h:212
AVDataBuffer::fAncBuffer
uint32_t * fAncBuffer
Pointer to ANC buffer.
Definition: ntv2democommon.h:62
VIDEO_FORMATS_4KUHD
@ VIDEO_FORMATS_4KUHD
Definition: ntv2democommon.h:226
CaptureConfig::fNumAudioLinks
UWord fNumAudioLinks
Number of audio links to capture.
Definition: ntv2democommon.h:274
AJA_PixelFormat
AJA_PixelFormat
Definition: videotypes.h:121
NON_UHD_VIDEO_FORMATS
@ NON_UHD_VIDEO_FORMATS
Definition: ntv2democommon.h:232
CaptureConfig::CaptureConfig
CaptureConfig(const std::string &inDeviceSpec="0")
Constructs a default NTV2Capture configuration.
Definition: ntv2democommon.h:284
PlayerConfig
Configures an NTV2Player instance.
Definition: ntv2democommon.h:310
PlayerConfig::fDoABConversion
bool fDoABConversion
If true, do level-A/B conversion; otherwise don't.
Definition: ntv2democommon.h:327
PlayerConfig::fPixelFormat
NTV2PixelFormat fPixelFormat
The pixel format to use.
Definition: ntv2democommon.h:318
NTV2Buffer::Fill
bool Fill(const T &inValue)
Fills me with the given scalar value.
Definition: ntv2publicinterface.h:6218
ntv2publicinterface.h
Declares enums and structs used by all platform drivers and the SDK.
operator<<
std::ostream & operator<<(std::ostream &ioStrm, const CaptureConfig &inObj)
Definition: ntv2democommon.cpp:1684
Bouncer::Next
T Next(void)
Definition: ntv2democommon.h:193
circularbuffer.h
Declaration of AJACircularBuffer template class.
VIDEO_FORMATS_NONE
@ VIDEO_FORMATS_NONE
Definition: ntv2democommon.h:228
AJALabelValuePairs
std::vector< AJALabelValuePair > AJALabelValuePairs
An ordered sequence of label/value pairs.
Definition: info.h:69
NTV2AudioSystem
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information.
Definition: ntv2enums.h:3814
BurnConfig::fInputFrames
NTV2ACFrameRange fInputFrames
Ingest frame count or range.
Definition: ntv2democommon.h:384
TC_INDEXES_NONE
@ TC_INDEXES_NONE
Definition: ntv2democommon.h:258
TC_INDEXES_ANALOG
@ TC_INDEXES_ANALOG
Definition: ntv2democommon.h:254
BurnConfig
Configures an NTV2Burn or NTV2FieldBurn instance.
Definition: ntv2democommon.h:376
NTV2FrameData::AncBuffer
NTV2Buffer & AncBuffer(void)
Definition: ntv2democommon.h:113
NTV2VideoFormatKinds
enum _NTV2VideoFormatKinds NTV2VideoFormatKinds
PlayerConfig
struct PlayerConfig PlayerConfig
Configures an NTV2Player instance.
NTV2TCIndexKinds
enum _NTV2TCIndexKinds NTV2TCIndexKinds
BurnConfig::BurnConfig
BurnConfig(const std::string &inDeviceSpecifier="0")
Constructs a default Player configuration.
Definition: ntv2democommon.h:398
CaptureConfig::fInputSource
NTV2InputSource fInputSource
The device input connector to use.
Definition: ntv2democommon.h:271
BurnConfig::fOutputChannel
NTV2Channel fOutputChannel
The output channel to use.
Definition: ntv2democommon.h:382
debug.h
Declares the AJADebug class.
TC_INDEXES_ALL
@ TC_INDEXES_ALL
Definition: ntv2democommon.h:252
AJACircularBuffer< NTV2FrameData * >
_NTV2TCIndexKinds
_NTV2TCIndexKinds
Definition: ntv2democommon.h:250
NTV2FrameData::fTimecodes
NTV2TimeCodes fTimecodes
Map of TC indexes to NTV2_RP188 values.
Definition: ntv2democommon.h:87
CaptureConfig::fWithAudio
bool fWithAudio
If true, also capture Audio.
Definition: ntv2democommon.h:278