AJA NTV2 SDK  17.0.1.1246
NTV2 SDK 17.0.1.1246
ntv2dolbyplayer.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
9 #ifndef _NTV2DOLBYPLAYER_H
10 #define _NTV2DOLBYPLAYER_H
11 
12 #include "ntv2enums.h"
13 #include "ntv2democommon.h"
16 #include "ajabase/system/thread.h"
17 #include "ajabase/system/file_io.h"
18 
19 
20 #define DOLBY_FULL_PARSER // If defined, parse EC3 files with multiple sync frames per HDMI burst; otherwise parse with single sync frame per HDMI burst.
21 
31 {
32  // Public Instance Methods
33  public:
46  NTV2DolbyPlayer (const std::string & inDeviceSpecifier = "0",
47  const bool inWithAudio = true,
48  const NTV2Channel inChannel = NTV2_CHANNEL1,
49  const NTV2FrameBufferFormat inPixelFormat = NTV2_FBF_8BIT_YCBCR,
50  const NTV2VideoFormat inVideoFormat = NTV2_FORMAT_1080i_5994,
51  const bool inDoMultiFormat = false,
52  const bool inDoRamp = false,
53  AJAFileIO* inDolbyFile = NULL);
54 
55  virtual ~NTV2DolbyPlayer (void);
56 
60  virtual AJAStatus Init (void);
61 
66  virtual AJAStatus Run (void);
67 
71  virtual void Quit (void);
72 
76  virtual bool IsRunning (void) const {return !mGlobalQuit;}
77 
84  virtual void GetACStatus (ULWord & outGoodFrames, ULWord & outDroppedFrames, ULWord & outBufferLevel);
85 
86 
87  // Protected Instance Methods
88  protected:
89  struct NTV2DolbyBSI
90  {
91  uint32_t strmtyp;
92  uint32_t substreamid;
93  uint32_t frmsiz;
94  uint32_t fscod;
95  uint32_t numblkscod;
96  uint32_t acmod;
97  uint32_t lfeon;
98  uint32_t bsid;
99  uint32_t dialnorm;
100  uint32_t compre;
101  uint32_t compr;
102  uint32_t dialnorm2;
103  uint32_t compr2e;
104  uint32_t compr2;
105  uint32_t chanmape;
106  uint32_t chanmap;
107  uint32_t mixmdate;
108  uint32_t dmixmod;
109  uint32_t ltrtcmixlev;
110  uint32_t lorocmixlev;
111  uint32_t ltrtsurmixlev;
112  uint32_t lorosurmixlev;
113  uint32_t lfemixlevcode;
114  uint32_t lfemixlevcod;
115  uint32_t pgmscle;
116  uint32_t pgmscl;
117  uint32_t pgmscl2e;
118  uint32_t pgmscl2;
119  uint32_t extpgmscle;
120  uint32_t extpgmscl;
121  uint32_t mixdef;
122  uint32_t premixcmpsel;
123  uint32_t drcsrc;
124  uint32_t premixcmpscl;
125  uint32_t mixdata;
126  uint32_t mixdeflen;
127  uint32_t mixdata2e;
128  uint32_t extpgmlscle;
129  uint32_t extpgmlscl;
130  uint32_t extpgmcscle;
131  uint32_t extpgmcscl;
132  uint32_t extpgmrscle;
133  uint32_t extpgmrscl;
134  uint32_t extpgmlsscle;
135  uint32_t extpgmlsscl;
136  uint32_t extpgmrsscle;
137  uint32_t extpgmrsscl;
138  uint32_t extpgmlfescle;
139  uint32_t extpgmlfescl;
140  uint32_t dmixscle;
141  uint32_t dmixscl;
142  uint32_t addche;
143  uint32_t extpgmaux1scle;
144  uint32_t extpgmaux1scl;
145  uint32_t extpgmaux2scle;
146  uint32_t extpgmaux2scl;
147  uint32_t mixdata3e;
148  uint32_t spchdat;
149  uint32_t addspchdate;
150  uint32_t spchdat1;
151  uint32_t spchan1att;
152  uint32_t addspchdat1e;
153  uint32_t addspdat1e;
154  uint32_t spchdat2;
155  uint32_t spchan2att;
156  uint8_t mixdatabuffer[64];
157  uint32_t paninfoe;
158  uint32_t panmean;
159  uint32_t paninfo;
160  uint32_t paninfo2e;
161  uint32_t panmean2;
162  uint32_t paninfo2;
163  uint32_t frmmixcfginfoe;
164  uint32_t blkmixcfginfo[6];
165  uint32_t blkmixcfginfoe;
166  uint32_t infomdate;
167  uint32_t bsmod;
168  uint32_t copyrightb;
169  uint32_t origbs;
170  uint32_t dsurmod;
171  uint32_t dheadphonmod;
172  uint32_t dsurexmod;
173  uint32_t audprodie;
174  uint32_t mixlevel;
175  uint32_t roomtyp;
176  uint32_t adconvtyp;
177  uint32_t audprodi2e;
178  uint32_t mixlevel2;
179  uint32_t roomtyp2;
180  uint32_t adconvtyp2;
181  uint32_t sourcefscod;
182  uint32_t convsync;
183  uint32_t blkid;
184  uint32_t frmsizecod;
185  uint32_t addbsie;
186  uint32_t addbsil;
187  uint8_t addbsibuffer[64];
188  };
189 
193  virtual AJAStatus SetUpVideo (void);
194 
198  virtual AJAStatus SetUpAudio (void);
199 
203  virtual void RouteOutputSignal (void);
204 
208  virtual void SetUpHostBuffers (void);
209 
214 
218  virtual void StartConsumerThread (void);
219 
223  virtual void PlayFrames (void);
224 
228  virtual void StartProducerThread (void);
229 
233  virtual void ProduceFrames (void);
234 
241  virtual uint32_t AddTone (ULWord * audioBuffer);
242 
249  virtual uint32_t AddRamp (ULWord * audioBuffer);
250 
257  virtual uint32_t AddDolby (ULWord * audioBuffer);
258 
259 #ifdef DOLBY_FULL_PARSER
260 
267  virtual bool GetDolbyFrame (uint16_t * pInDolbyBuffer, uint32_t & numSamples);
268 
277  virtual bool ParseBSI (uint16_t * pInDolbyBuffer, uint32_t numSamples, NTV2DolbyBSI * pBsi);
278 
279 
285  virtual void SetBitBuffer (uint8_t * pBuffer, uint32_t size);
286 
293  virtual bool GetBits (uint32_t & data, uint32_t inBitCount);
294 #endif
295 
296  // Protected Class Methods
297  protected:
305  static void ConsumerThreadStatic (AJAThread * pThread, void * pContext);
306 
314  static void ProducerThreadStatic (AJAThread * pThread, void * pContext);
315 
321  static ULWord GetRP188RegisterForOutput (const NTV2OutputDestination inOutputSource);
322 
323 
324  // Private Member Data
325  private:
327 
328  AJAThread * mConsumerThread;
329  AJAThread * mProducerThread;
330 
331  uint32_t mCurrentFrame;
332  ULWord mCurrentSample;
333  double mToneFrequency;
334 
335  uint16_t mRampSample;
336 
337  const std::string mDeviceSpecifier;
338  CNTV2Card mDevice;
339  NTV2DeviceID mDeviceID;
340  NTV2Channel mOutputChannel;
341  NTV2VideoFormat mVideoFormat;
342  NTV2FrameBufferFormat mPixelFormat;
343  NTV2EveryFrameTaskMode mSavedTaskMode;
344  NTV2AudioSystem mAudioSystem;
345  NTV2AudioRate mAudioRate;
346  const bool mWithAudio;
347  bool mGlobalQuit;
348  bool mDoMultiChannel;
349  bool mDoRamp;
350  AJATimeCodeBurn mTCBurner;
351  uint32_t mVideoBufferSize;
352  uint32_t mAudioBufferSize;
353 
354  uint8_t ** mTestPatternVideoBuffers;
355  uint32_t mNumTestPatterns;
356 
357  AVDataBuffer mAVHostBuffer [CIRCULAR_BUFFER_SIZE];
358  MyCirculateBuffer mAVCircularBuffer;
359 
360  uint32_t mBurstIndex;
361  uint32_t mBurstSamples;
362 
363  uint16_t * mBurstBuffer;
364  uint32_t mBurstSize;
365  uint32_t mBurstOffset;
366  uint32_t mBurstMax;
367 
368  AJAFileIO * mDolbyFile;
369  uint16_t * mDolbyBuffer;
370  uint32_t mDolbySize;
371  uint32_t mDolbyBlocks;
372 
373  uint8_t * mBitBuffer;
374  ULWord mBitSize;
375  ULWord mBitIndex;
376 }; // NTV2DolbyPlayer
377 
378 #endif // _NTV2DOLBY_H
NTV2DolbyPlayer::NTV2DolbyBSI::audprodie
uint32_t audprodie
Definition: ntv2dolbyplayer.h:173
NTV2DolbyPlayer::NTV2DolbyBSI::premixcmpscl
uint32_t premixcmpscl
Definition: ntv2dolbyplayer.h:124
NTV2DolbyPlayer::NTV2DolbyBSI::spchdat1
uint32_t spchdat1
Definition: ntv2dolbyplayer.h:150
NTV2DolbyPlayer::AddTone
virtual uint32_t AddTone(ULWord *audioBuffer)
Inserts audio tone (based on my current tone frequency) into the given audio buffer.
Definition: ntv2dolbyplayer.cpp:610
NTV2DolbyPlayer::NTV2DolbyBSI::bsid
uint32_t bsid
Definition: ntv2dolbyplayer.h:98
NTV2DolbyPlayer::~NTV2DolbyPlayer
virtual ~NTV2DolbyPlayer(void)
Definition: ntv2dolbyplayer.cpp:99
NTV2DolbyPlayer::SetUpTestPatternVideoBuffers
virtual AJAStatus SetUpTestPatternVideoBuffers(void)
Creates my test pattern buffers.
Definition: ntv2dolbyplayer.cpp:485
NTV2DolbyPlayer::NTV2DolbyBSI::audprodi2e
uint32_t audprodi2e
Definition: ntv2dolbyplayer.h:177
NTV2DolbyPlayer::NTV2DolbyBSI::chanmape
uint32_t chanmape
Definition: ntv2dolbyplayer.h:105
NTV2DolbyPlayer::NTV2DolbyBSI::mixdata3e
uint32_t mixdata3e
Definition: ntv2dolbyplayer.h:147
NTV2DolbyPlayer::NTV2DolbyBSI::mixdata2e
uint32_t mixdata2e
Definition: ntv2dolbyplayer.h:127
NTV2DolbyPlayer::IsRunning
virtual bool IsRunning(void) const
Definition: ntv2dolbyplayer.h:76
NTV2OutputDestination
NTV2OutputDestination
Identifies a specific video output destination.
Definition: ntv2enums.h:1276
NTV2DolbyPlayer::NTV2DolbyBSI::frmsiz
uint32_t frmsiz
Definition: ntv2dolbyplayer.h:93
NTV2DolbyPlayer::RouteOutputSignal
virtual void RouteOutputSignal(void)
Sets up device routing for playout.
Definition: ntv2dolbyplayer.cpp:349
NTV2DolbyPlayer::NTV2DolbyBSI::addspdat1e
uint32_t addspdat1e
Definition: ntv2dolbyplayer.h:153
NTV2DolbyPlayer::NTV2DolbyBSI::frmmixcfginfoe
uint32_t frmmixcfginfoe
Definition: ntv2dolbyplayer.h:163
NTV2DolbyPlayer::NTV2DolbyBSI::lorosurmixlev
uint32_t lorosurmixlev
Definition: ntv2dolbyplayer.h:112
NULL
#define NULL
Definition: ntv2caption608types.h:19
NTV2Channel
NTV2Channel
These enum values are mostly used to identify a specific Frame Store. They're also commonly used to i...
Definition: ntv2enums.h:1305
NTV2DolbyPlayer::NTV2DolbyBSI::lfeon
uint32_t lfeon
Definition: ntv2dolbyplayer.h:97
NTV2DolbyPlayer::NTV2DolbyBSI::addche
uint32_t addche
Definition: ntv2dolbyplayer.h:142
AVDataBuffer
This structure encapsulates the video, audio and anc buffers used in the AutoCirculate demos....
Definition: ntv2democommon.h:55
NTV2DolbyPlayer::NTV2DolbyBSI::roomtyp
uint32_t roomtyp
Definition: ntv2dolbyplayer.h:175
NTV2DolbyPlayer::NTV2DolbyBSI::compr2
uint32_t compr2
Definition: ntv2dolbyplayer.h:104
NTV2DolbyPlayer::NTV2DolbyBSI::addspchdat1e
uint32_t addspchdat1e
Definition: ntv2dolbyplayer.h:152
NTV2DolbyPlayer::NTV2DolbyBSI::infomdate
uint32_t infomdate
Definition: ntv2dolbyplayer.h:166
NTV2DolbyPlayer::NTV2DolbyBSI::adconvtyp
uint32_t adconvtyp
Definition: ntv2dolbyplayer.h:176
NTV2DolbyPlayer::NTV2DolbyBSI::lorocmixlev
uint32_t lorocmixlev
Definition: ntv2dolbyplayer.h:110
NTV2_FORMAT_1080i_5994
@ NTV2_FORMAT_1080i_5994
Definition: ntv2enums.h:512
NTV2DolbyPlayer::NTV2DolbyBSI::pgmscle
uint32_t pgmscle
Definition: ntv2dolbyplayer.h:115
NTV2DolbyPlayer::PlayFrames
virtual void PlayFrames(void)
Repeatedly plays out frames using AutoCirculate (until quit).
Definition: ntv2dolbyplayer.cpp:403
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmscle
uint32_t extpgmscle
Definition: ntv2dolbyplayer.h:119
NTV2DeviceID
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
Definition: ntv2enums.h:20
NTV2FrameBufferFormat
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
Definition: ntv2enums.h:207
NTV2DolbyPlayer::NTV2DolbyBSI::drcsrc
uint32_t drcsrc
Definition: ntv2dolbyplayer.h:123
NTV2DolbyPlayer::NTV2DolbyBSI::mixdatabuffer
uint8_t mixdatabuffer[64]
Definition: ntv2dolbyplayer.h:156
NTV2DolbyPlayer::NTV2DolbyBSI::paninfo2e
uint32_t paninfo2e
Definition: ntv2dolbyplayer.h:160
NTV2DolbyPlayer::NTV2DolbyPlayer
NTV2DolbyPlayer(const std::string &inDeviceSpecifier="0", const bool inWithAudio=true, const NTV2Channel inChannel=NTV2_CHANNEL1, const NTV2FrameBufferFormat inPixelFormat=NTV2_FBF_8BIT_YCBCR, const NTV2VideoFormat inVideoFormat=NTV2_FORMAT_1080i_5994, const bool inDoMultiFormat=false, const bool inDoRamp=false, AJAFileIO *inDolbyFile=NULL)
Constructs me using the given configuration settings.
Definition: ntv2dolbyplayer.cpp:53
NTV2DolbyPlayer::Run
virtual AJAStatus Run(void)
Runs me.
Definition: ntv2dolbyplayer.cpp:363
NTV2DolbyPlayer::NTV2DolbyBSI::numblkscod
uint32_t numblkscod
Definition: ntv2dolbyplayer.h:95
NTV2DolbyPlayer::NTV2DolbyBSI::copyrightb
uint32_t copyrightb
Definition: ntv2dolbyplayer.h:168
NTV2_CHANNEL1
@ NTV2_CHANNEL1
Specifies channel or Frame Store 1 (or the first item).
Definition: ntv2enums.h:1307
NTV2DolbyPlayer::SetBitBuffer
virtual void SetBitBuffer(uint8_t *pBuffer, uint32_t size)
Set the bitstream buffer for bit retrieval.
Definition: ntv2dolbyplayer.cpp:1232
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmscl
uint32_t extpgmscl
Definition: ntv2dolbyplayer.h:120
NTV2DolbyPlayer::NTV2DolbyBSI::compre
uint32_t compre
Definition: ntv2dolbyplayer.h:100
NTV2DolbyPlayer::NTV2DolbyBSI::addbsibuffer
uint8_t addbsibuffer[64]
Definition: ntv2dolbyplayer.h:187
NTV2DolbyPlayer::NTV2DolbyBSI::dmixscle
uint32_t dmixscle
Definition: ntv2dolbyplayer.h:140
NTV2DolbyPlayer::NTV2DolbyBSI::spchdat
uint32_t spchdat
Definition: ntv2dolbyplayer.h:148
NTV2DolbyPlayer::NTV2DolbyBSI::lfemixlevcode
uint32_t lfemixlevcode
Definition: ntv2dolbyplayer.h:113
NTV2DolbyPlayer::AddDolby
virtual uint32_t AddDolby(ULWord *audioBuffer)
Inserts dolby audio into the given audio buffer.
Definition: ntv2dolbyplayer.cpp:676
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmlsscl
uint32_t extpgmlsscl
Definition: ntv2dolbyplayer.h:135
AJAThread
Definition: thread.h:69
NTV2DolbyPlayer::NTV2DolbyBSI::blkid
uint32_t blkid
Definition: ntv2dolbyplayer.h:183
NTV2DolbyPlayer::SetUpAudio
virtual AJAStatus SetUpAudio(void)
Sets up everything I need to play audio.
Definition: ntv2dolbyplayer.cpp:280
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmcscle
uint32_t extpgmcscle
Definition: ntv2dolbyplayer.h:130
timecodeburn.h
Declares the AJATimeCodeBurn class.
AJAStatus
AJAStatus
Definition: types.h:365
NTV2DolbyPlayer
I am an object that can play out a test pattern (with timecode) to an output of an AJA device with or...
Definition: ntv2dolbyplayer.h:30
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmaux2scle
uint32_t extpgmaux2scle
Definition: ntv2dolbyplayer.h:145
NTV2DolbyPlayer::NTV2DolbyBSI::mixlevel
uint32_t mixlevel
Definition: ntv2dolbyplayer.h:174
NTV2DolbyPlayer::NTV2DolbyBSI::ltrtcmixlev
uint32_t ltrtcmixlev
Definition: ntv2dolbyplayer.h:109
NTV2DolbyPlayer::SetUpVideo
virtual AJAStatus SetUpVideo(void)
Sets up everything I need to play video.
Definition: ntv2dolbyplayer.cpp:239
ULWord
uint32_t ULWord
Definition: ajatypes.h:246
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmlfescle
uint32_t extpgmlfescle
Definition: ntv2dolbyplayer.h:138
NTV2DolbyPlayer::NTV2DolbyBSI::dialnorm2
uint32_t dialnorm2
Definition: ntv2dolbyplayer.h:102
NTV2DolbyPlayer::NTV2DolbyBSI::frmsizecod
uint32_t frmsizecod
Definition: ntv2dolbyplayer.h:184
NTV2DolbyPlayer::NTV2DolbyBSI::paninfo
uint32_t paninfo
Definition: ntv2dolbyplayer.h:159
NTV2DolbyPlayer::SetUpHostBuffers
virtual void SetUpHostBuffers(void)
Sets up my circular buffers.
Definition: ntv2dolbyplayer.cpp:312
NTV2DolbyPlayer::NTV2DolbyBSI::mixdata
uint32_t mixdata
Definition: ntv2dolbyplayer.h:125
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmrscle
uint32_t extpgmrscle
Definition: ntv2dolbyplayer.h:132
NTV2DolbyPlayer::NTV2DolbyBSI::ltrtsurmixlev
uint32_t ltrtsurmixlev
Definition: ntv2dolbyplayer.h:111
NTV2DolbyPlayer::NTV2DolbyBSI::pgmscl2
uint32_t pgmscl2
Definition: ntv2dolbyplayer.h:118
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmlfescl
uint32_t extpgmlfescl
Definition: ntv2dolbyplayer.h:139
ntv2enums.h
Enumerations for controlling NTV2 devices.
NTV2DolbyPlayer::NTV2DolbyBSI::fscod
uint32_t fscod
Definition: ntv2dolbyplayer.h:94
NTV2DolbyPlayer::NTV2DolbyBSI::dsurmod
uint32_t dsurmod
Definition: ntv2dolbyplayer.h:170
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmaux2scl
uint32_t extpgmaux2scl
Definition: ntv2dolbyplayer.h:146
NTV2_FBF_8BIT_YCBCR
@ NTV2_FBF_8BIT_YCBCR
See 8-Bit YCbCr Format.
Definition: ntv2enums.h:211
NTV2DolbyPlayer::NTV2DolbyBSI::blkmixcfginfo
uint32_t blkmixcfginfo[6]
Definition: ntv2dolbyplayer.h:164
NTV2DolbyPlayer::NTV2DolbyBSI::spchdat2
uint32_t spchdat2
Definition: ntv2dolbyplayer.h:154
NTV2DolbyPlayer::NTV2DolbyBSI::compr2e
uint32_t compr2e
Definition: ntv2dolbyplayer.h:103
NTV2DolbyPlayer::NTV2DolbyBSI::chanmap
uint32_t chanmap
Definition: ntv2dolbyplayer.h:106
CNTV2Card
I interrogate and control an AJA video/audio capture/playout device.
Definition: ntv2card.h:262
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmlscl
uint32_t extpgmlscl
Definition: ntv2dolbyplayer.h:129
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmaux1scle
uint32_t extpgmaux1scle
Definition: ntv2dolbyplayer.h:143
NTV2DolbyPlayer::NTV2DolbyBSI::dmixmod
uint32_t dmixmod
Definition: ntv2dolbyplayer.h:108
NTV2DolbyPlayer::NTV2DolbyBSI::panmean2
uint32_t panmean2
Definition: ntv2dolbyplayer.h:161
NTV2DolbyPlayer::NTV2DolbyBSI::spchan1att
uint32_t spchan1att
Definition: ntv2dolbyplayer.h:151
NTV2DolbyPlayer::NTV2DolbyBSI::dheadphonmod
uint32_t dheadphonmod
Definition: ntv2dolbyplayer.h:171
NTV2DolbyPlayer::NTV2DolbyBSI::mixdef
uint32_t mixdef
Definition: ntv2dolbyplayer.h:121
NTV2DolbyPlayer::NTV2DolbyBSI::pgmscl
uint32_t pgmscl
Definition: ntv2dolbyplayer.h:116
NTV2DolbyPlayer::ProduceFrames
virtual void ProduceFrames(void)
Repeatedly produces test pattern frames (until global quit flag set).
Definition: ntv2dolbyplayer.cpp:530
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmlsscle
uint32_t extpgmlsscle
Definition: ntv2dolbyplayer.h:134
NTV2DolbyPlayer::NTV2DolbyBSI::mixlevel2
uint32_t mixlevel2
Definition: ntv2dolbyplayer.h:178
NTV2DolbyPlayer::NTV2DolbyBSI
Definition: ntv2dolbyplayer.h:89
NTV2DolbyPlayer::NTV2DolbyBSI::pgmscl2e
uint32_t pgmscl2e
Definition: ntv2dolbyplayer.h:117
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmrsscl
uint32_t extpgmrsscl
Definition: ntv2dolbyplayer.h:137
file_io.h
Declares the AJAFileIO class.
NTV2AudioRate
NTV2AudioRate
Definition: ntv2enums.h:1873
NTV2DolbyPlayer::NTV2DolbyBSI::spchan2att
uint32_t spchan2att
Definition: ntv2dolbyplayer.h:155
NTV2DolbyPlayer::NTV2DolbyBSI::addspchdate
uint32_t addspchdate
Definition: ntv2dolbyplayer.h:149
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmaux1scl
uint32_t extpgmaux1scl
Definition: ntv2dolbyplayer.h:144
NTV2DolbyPlayer::NTV2DolbyBSI::panmean
uint32_t panmean
Definition: ntv2dolbyplayer.h:158
NTV2DolbyPlayer::Quit
virtual void Quit(void)
Gracefully stops me from running.
Definition: ntv2dolbyplayer.cpp:155
ntv2democommon.h
This file contains some structures, constants, classes and functions that are used in some of the dem...
NTV2DolbyPlayer::NTV2DolbyBSI::adconvtyp2
uint32_t adconvtyp2
Definition: ntv2dolbyplayer.h:180
NTV2DolbyPlayer::GetDolbyFrame
virtual bool GetDolbyFrame(uint16_t *pInDolbyBuffer, uint32_t &numSamples)
Get a dolby audio audio frame from the input file.
Definition: ntv2dolbyplayer.cpp:879
NTV2DolbyPlayer::NTV2DolbyBSI::lfemixlevcod
uint32_t lfemixlevcod
Definition: ntv2dolbyplayer.h:114
NTV2DolbyPlayer::NTV2DolbyBSI::bsmod
uint32_t bsmod
Definition: ntv2dolbyplayer.h:167
NTV2DolbyPlayer::NTV2DolbyBSI::paninfoe
uint32_t paninfoe
Definition: ntv2dolbyplayer.h:157
NTV2DolbyPlayer::GetBits
virtual bool GetBits(uint32_t &data, uint32_t inBitCount)
Retreive the specified number of bits from the bitstream buffer.
Definition: ntv2dolbyplayer.cpp:1239
NTV2DolbyPlayer::NTV2DolbyBSI::dmixscl
uint32_t dmixscl
Definition: ntv2dolbyplayer.h:141
NTV2DolbyPlayer::NTV2DolbyBSI::addbsil
uint32_t addbsil
Definition: ntv2dolbyplayer.h:186
NTV2DolbyPlayer::AddRamp
virtual uint32_t AddRamp(ULWord *audioBuffer)
Inserts audio test ramp into the given audio buffer.
Definition: ntv2dolbyplayer.cpp:645
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmrscl
uint32_t extpgmrscl
Definition: ntv2dolbyplayer.h:133
NTV2DolbyPlayer::ParseBSI
virtual bool ParseBSI(uint16_t *pInDolbyBuffer, uint32_t numSamples, NTV2DolbyBSI *pBsi)
Parse the dolby audio bit stream information block.
Definition: ntv2dolbyplayer.cpp:922
NTV2VideoFormat
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
NTV2DolbyPlayer::NTV2DolbyBSI::blkmixcfginfoe
uint32_t blkmixcfginfoe
Definition: ntv2dolbyplayer.h:165
CIRCULAR_BUFFER_SIZE
static const size_t CIRCULAR_BUFFER_SIZE(10)
Number of NTV2FrameData's in our ring.
NTV2DolbyPlayer::NTV2DolbyBSI::paninfo2
uint32_t paninfo2
Definition: ntv2dolbyplayer.h:162
NTV2EveryFrameTaskMode
NTV2EveryFrameTaskMode
Describes the task mode state. See also: Sharing AJA Devices With Other Applications.
Definition: ntv2publicinterface.h:4257
NTV2DolbyPlayer::NTV2DolbyBSI::compr
uint32_t compr
Definition: ntv2dolbyplayer.h:101
NTV2DolbyPlayer::NTV2DolbyBSI::acmod
uint32_t acmod
Definition: ntv2dolbyplayer.h:96
AJAFileIO
Definition: file_io.h:64
NTV2DolbyPlayer::NTV2DolbyBSI::convsync
uint32_t convsync
Definition: ntv2dolbyplayer.h:182
NTV2DolbyPlayer::NTV2DolbyBSI::roomtyp2
uint32_t roomtyp2
Definition: ntv2dolbyplayer.h:179
NTV2DolbyPlayer::NTV2DolbyBSI::premixcmpsel
uint32_t premixcmpsel
Definition: ntv2dolbyplayer.h:122
NTV2DolbyPlayer::NTV2DolbyBSI::substreamid
uint32_t substreamid
Definition: ntv2dolbyplayer.h:92
NTV2DolbyPlayer::ProducerThreadStatic
static void ProducerThreadStatic(AJAThread *pThread, void *pContext)
This is the producer thread's static callback function that gets called when the producer thread star...
Definition: ntv2dolbyplayer.cpp:474
NTV2DolbyPlayer::NTV2DolbyBSI::dialnorm
uint32_t dialnorm
Definition: ntv2dolbyplayer.h:99
NTV2DolbyPlayer::NTV2DolbyBSI::strmtyp
uint32_t strmtyp
Definition: ntv2dolbyplayer.h:91
NTV2DolbyPlayer::Init
virtual AJAStatus Init(void)
Initializes me and prepares me to Run.
Definition: ntv2dolbyplayer.cpp:174
NTV2DolbyPlayer::NTV2DolbyBSI::addbsie
uint32_t addbsie
Definition: ntv2dolbyplayer.h:185
NTV2DolbyPlayer::StartProducerThread
virtual void StartProducerThread(void)
Starts my test pattern producer thread.
Definition: ntv2dolbyplayer.cpp:463
NTV2DolbyPlayer::NTV2DolbyBSI::mixmdate
uint32_t mixmdate
Definition: ntv2dolbyplayer.h:107
NTV2DolbyPlayer::GetACStatus
virtual void GetACStatus(ULWord &outGoodFrames, ULWord &outDroppedFrames, ULWord &outBufferLevel)
Provides status information about my output (playout) process.
Definition: ntv2dolbyplayer.cpp:600
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmlscle
uint32_t extpgmlscle
Definition: ntv2dolbyplayer.h:128
NTV2DolbyPlayer::NTV2DolbyBSI::sourcefscod
uint32_t sourcefscod
Definition: ntv2dolbyplayer.h:181
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmcscl
uint32_t extpgmcscl
Definition: ntv2dolbyplayer.h:131
NTV2DolbyPlayer::StartConsumerThread
virtual void StartConsumerThread(void)
Starts my playout thread.
Definition: ntv2dolbyplayer.cpp:378
NTV2DolbyPlayer::NTV2DolbyBSI::origbs
uint32_t origbs
Definition: ntv2dolbyplayer.h:169
circularbuffer.h
Declaration of AJACircularBuffer template class.
NTV2DolbyPlayer::GetRP188RegisterForOutput
static ULWord GetRP188RegisterForOutput(const NTV2OutputDestination inOutputSource)
Returns the RP188 DBB register number to use for the given NTV2OutputDestination.
NTV2DolbyPlayer::NTV2DolbyBSI::mixdeflen
uint32_t mixdeflen
Definition: ntv2dolbyplayer.h:126
AJATimeCodeBurn
Definition: timecodeburn.h:19
NTV2AudioSystem
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information.
Definition: ntv2enums.h:3809
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmrsscle
uint32_t extpgmrsscle
Definition: ntv2dolbyplayer.h:136
thread.h
Declares the AJAThread class.
NTV2DolbyPlayer::ConsumerThreadStatic
static void ConsumerThreadStatic(AJAThread *pThread, void *pContext)
This is the consumer thread's static callback function that gets called when the consumer thread star...
Definition: ntv2dolbyplayer.cpp:390
NTV2DolbyPlayer::NTV2DolbyBSI::dsurexmod
uint32_t dsurexmod
Definition: ntv2dolbyplayer.h:172
AJACircularBuffer< AVDataBuffer * >