AJA NTV2 SDK  17.1.1.1245
NTV2 SDK 17.1.1.1245
ntv2dolbyplayer.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
9 #ifndef _NTV2DOLBYPLAYER_H
10 #define _NTV2DOLBYPLAYER_H
11 
12 
13 #include "ntv2democommon.h"
14 #include "ajabase/system/thread.h"
16 #include "ajabase/system/file_io.h"
17 
18 
19 #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.
20 
21 
25 typedef struct DolbyPlayerConfig : public PlayerConfig
26 {
27  public:
28  bool fDoRamp;
29  std::string fDolbyFilePath;
30 
34  inline explicit DolbyPlayerConfig (const std::string & inDeviceSpecifier = "0")
35  : PlayerConfig (inDeviceSpecifier),
36  fDoRamp (false)
37  {
38  }
39 
40  AJALabelValuePairs Get (const bool inCompact = false) const;
41 
43 
44 // Takes DolbyPlayerConfig << operator overload takes precedence over the PlayConfig one declared in ntv2democommon.h
45 AJAExport std::ostream & operator << (std::ostream & ioStrm, const DolbyPlayerConfig & inObj);
46 
53 {
54  // Public Instance Methods
55  public:
56 
62  NTV2DolbyPlayer (const DolbyPlayerConfig & inConfigData);
63 
64  virtual ~NTV2DolbyPlayer (void);
65 
66  virtual AJAStatus Init (void);
67 
72  virtual AJAStatus Run (void);
73 
74  virtual void Quit (void);
75 
76  virtual bool IsRunning (void) const {return !mGlobalQuit;}
77 
82  virtual void GetACStatus (AUTOCIRCULATE_STATUS & outStatus);
83 
84 
85  // Protected Instance Methods
86  protected:
87  struct NTV2DolbyBSI
88  {
89  uint32_t strmtyp;
90  uint32_t substreamid;
91  uint32_t frmsiz;
92  uint32_t fscod;
93  uint32_t numblkscod;
94  uint32_t acmod;
95  uint32_t lfeon;
96  uint32_t bsid;
97  uint32_t dialnorm;
98  uint32_t compre;
99  uint32_t compr;
100  uint32_t dialnorm2;
101  uint32_t compr2e;
102  uint32_t compr2;
103  uint32_t chanmape;
104  uint32_t chanmap;
105  uint32_t mixmdate;
106  uint32_t dmixmod;
107  uint32_t ltrtcmixlev;
108  uint32_t lorocmixlev;
109  uint32_t ltrtsurmixlev;
110  uint32_t lorosurmixlev;
111  uint32_t lfemixlevcode;
112  uint32_t lfemixlevcod;
113  uint32_t pgmscle;
114  uint32_t pgmscl;
115  uint32_t pgmscl2e;
116  uint32_t pgmscl2;
117  uint32_t extpgmscle;
118  uint32_t extpgmscl;
119  uint32_t mixdef;
120  uint32_t premixcmpsel;
121  uint32_t drcsrc;
122  uint32_t premixcmpscl;
123  uint32_t mixdata;
124  uint32_t mixdeflen;
125  uint32_t mixdata2e;
126  uint32_t extpgmlscle;
127  uint32_t extpgmlscl;
128  uint32_t extpgmcscle;
129  uint32_t extpgmcscl;
130  uint32_t extpgmrscle;
131  uint32_t extpgmrscl;
132  uint32_t extpgmlsscle;
133  uint32_t extpgmlsscl;
134  uint32_t extpgmrsscle;
135  uint32_t extpgmrsscl;
136  uint32_t extpgmlfescle;
137  uint32_t extpgmlfescl;
138  uint32_t dmixscle;
139  uint32_t dmixscl;
140  uint32_t addche;
141  uint32_t extpgmaux1scle;
142  uint32_t extpgmaux1scl;
143  uint32_t extpgmaux2scle;
144  uint32_t extpgmaux2scl;
145  uint32_t mixdata3e;
146  uint32_t spchdat;
147  uint32_t addspchdate;
148  uint32_t spchdat1;
149  uint32_t spchan1att;
150  uint32_t addspchdat1e;
151  uint32_t addspdat1e;
152  uint32_t spchdat2;
153  uint32_t spchan2att;
154  uint8_t mixdatabuffer[64];
155  uint32_t paninfoe;
156  uint32_t panmean;
157  uint32_t paninfo;
158  uint32_t paninfo2e;
159  uint32_t panmean2;
160  uint32_t paninfo2;
161  uint32_t frmmixcfginfoe;
162  uint32_t blkmixcfginfo[6];
163  uint32_t blkmixcfginfoe;
164  uint32_t infomdate;
165  uint32_t bsmod;
166  uint32_t copyrightb;
167  uint32_t origbs;
168  uint32_t dsurmod;
169  uint32_t dheadphonmod;
170  uint32_t dsurexmod;
171  uint32_t audprodie;
172  uint32_t mixlevel;
173  uint32_t roomtyp;
174  uint32_t adconvtyp;
175  uint32_t audprodi2e;
176  uint32_t mixlevel2;
177  uint32_t roomtyp2;
178  uint32_t adconvtyp2;
179  uint32_t sourcefscod;
180  uint32_t convsync;
181  uint32_t blkid;
182  uint32_t frmsizecod;
183  uint32_t addbsie;
184  uint32_t addbsil;
185  uint8_t addbsibuffer[64];
186  };
187 
188  virtual AJAStatus SetUpVideo (void);
189  virtual AJAStatus SetUpAudio (void);
190  virtual bool RouteOutputSignal (void);
191  virtual AJAStatus SetUpHostBuffers (void);
192  virtual AJAStatus SetUpTestPatternBuffers (void);
193  virtual void StartConsumerThread (void);
194  virtual void ConsumeFrames (void);
195  virtual void StartProducerThread (void);
196  virtual void ProduceFrames (void);
197 
203  virtual uint32_t AddTone (NTV2FrameData & inFrameData);
204 
211  virtual uint32_t AddRamp (NTV2FrameData & inFrameData);
212 
219  virtual uint32_t AddDolby (NTV2FrameData & inFrameData);
220 
221 #ifdef DOLBY_FULL_PARSER
222 
229  virtual bool GetDolbyFrame (uint16_t * pInDolbyBuffer, uint32_t & numSamples);
230 
239  virtual bool ParseBSI (uint16_t * pInDolbyBuffer, uint32_t numSamples, NTV2DolbyBSI * pBsi);
240 
241 
247  virtual void SetBitBuffer (uint8_t * pBuffer, uint32_t size);
248 
255  virtual bool GetBits (uint32_t & data, uint32_t inBitCount);
256 #endif
257 
258  // Protected Class Methods
259  protected:
267  static void ConsumerThreadStatic (AJAThread * pThread, void * pContext);
268 
276  static void ProducerThreadStatic (AJAThread * pThread, void * pContext);
277 
278 
279  // Private Member Data
280  private:
281  //typedef AJACircularBuffer <AVDataBuffer *> MyCirculateBuffer;
282  typedef std::vector<NTV2Buffer> NTV2Buffers;
283 
284  DolbyPlayerConfig mConfig;
285  AJAThread mConsumerThread;
286  AJAThread mProducerThread;
287  CNTV2Card mDevice;
288  NTV2TaskMode mSavedTaskMode;
289  ULWord mCurrentFrame;
290  ULWord mCurrentSample;
291  double mToneFrequency;
292  NTV2AudioSystem mAudioSystem;
293  NTV2FormatDesc mFormatDesc;
294  NTV2TCIndexes mTCIndexes;
295  bool mGlobalQuit;
296  AJATimeCodeBurn mTCBurner;
297  NTV2FrameDataArray mHostBuffers;
298  FrameDataRingBuffer mFrameDataRing;
299  NTV2Buffers mTestPatRasters;
300  AJAFileIO mDolbyFileIO;
301  NTV2AudioRate mAudioRate;
302  uint16_t mRampSample;
303  uint32_t mBurstIndex;
304  uint32_t mBurstSamples;
305  uint16_t * mBurstBuffer;
306  uint32_t mBurstSize;
307  uint32_t mBurstOffset;
308  uint32_t mBurstMax;
309  uint16_t * mDolbyBuffer;
310  uint32_t mDolbySize;
311  uint32_t mDolbyBlocks;
312  uint8_t * mBitBuffer;
313  ULWord mBitSize;
314  ULWord mBitIndex;
315 }; // NTV2DolbyPlayer
316 
317 #endif // _NTV2DOLBY_H
NTV2DolbyPlayer::NTV2DolbyBSI::audprodie
uint32_t audprodie
Definition: ntv2dolbyplayer.h:171
NTV2DolbyPlayer::NTV2DolbyBSI::premixcmpscl
uint32_t premixcmpscl
Definition: ntv2dolbyplayer.h:122
NTV2DolbyPlayer::NTV2DolbyBSI::spchdat1
uint32_t spchdat1
Definition: ntv2dolbyplayer.h:148
NTV2TaskMode
enum NTV2EveryFrameTaskMode NTV2TaskMode
NTV2DolbyPlayer::NTV2DolbyBSI::bsid
uint32_t bsid
Definition: ntv2dolbyplayer.h:96
NTV2DolbyPlayer::~NTV2DolbyPlayer
virtual ~NTV2DolbyPlayer(void)
Definition: ntv2dolbyplayer.cpp:85
NTV2DolbyPlayer::NTV2DolbyBSI::audprodi2e
uint32_t audprodi2e
Definition: ntv2dolbyplayer.h:175
NTV2DolbyPlayer::NTV2DolbyBSI::chanmape
uint32_t chanmape
Definition: ntv2dolbyplayer.h:103
NTV2DolbyPlayer::NTV2DolbyBSI::mixdata3e
uint32_t mixdata3e
Definition: ntv2dolbyplayer.h:145
NTV2DolbyPlayer::RouteOutputSignal
virtual bool RouteOutputSignal(void)
Performs all widget/signal routing for playout.
Definition: ntv2dolbyplayer.cpp:408
NTV2DolbyPlayer::NTV2DolbyBSI::mixdata2e
uint32_t mixdata2e
Definition: ntv2dolbyplayer.h:125
NTV2DolbyPlayer::NTV2DolbyBSI::frmsiz
uint32_t frmsiz
Definition: ntv2dolbyplayer.h:91
NTV2DolbyPlayer::NTV2DolbyBSI::addspdat1e
uint32_t addspdat1e
Definition: ntv2dolbyplayer.h:151
NTV2DolbyPlayer::NTV2DolbyBSI::frmmixcfginfoe
uint32_t frmmixcfginfoe
Definition: ntv2dolbyplayer.h:161
DolbyPlayerConfig::fDolbyFilePath
std::string fDolbyFilePath
Optional path to Dolby audio source file.
Definition: ntv2dolbyplayer.h:29
NTV2FormatDescriptor
Describes a video frame for a given video standard or format and pixel format, including the total nu...
Definition: ntv2formatdescriptor.h:41
NTV2DolbyPlayer::NTV2DolbyBSI::lorosurmixlev
uint32_t lorosurmixlev
Definition: ntv2dolbyplayer.h:110
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
NTV2DolbyPlayer::NTV2DolbyBSI::lfeon
uint32_t lfeon
Definition: ntv2dolbyplayer.h:95
NTV2DolbyPlayer::NTV2DolbyBSI::addche
uint32_t addche
Definition: ntv2dolbyplayer.h:140
DolbyPlayerConfig::Get
AJALabelValuePairs Get(const bool inCompact=(0)) const
Definition: ntv2dolbyplayer.cpp:1420
NTV2DolbyPlayer::NTV2DolbyBSI::roomtyp
uint32_t roomtyp
Definition: ntv2dolbyplayer.h:173
NTV2DolbyPlayer::NTV2DolbyBSI::compr2
uint32_t compr2
Definition: ntv2dolbyplayer.h:102
NTV2DolbyPlayer::NTV2DolbyBSI::addspchdat1e
uint32_t addspchdat1e
Definition: ntv2dolbyplayer.h:150
NTV2DolbyPlayer::NTV2DolbyBSI::infomdate
uint32_t infomdate
Definition: ntv2dolbyplayer.h:164
NTV2DolbyPlayer::NTV2DolbyBSI::adconvtyp
uint32_t adconvtyp
Definition: ntv2dolbyplayer.h:174
NTV2DolbyPlayer::ConsumeFrames
virtual void ConsumeFrames(void)
My consumer thread that repeatedly plays frames using AutoCirculate (until quit).
Definition: ntv2dolbyplayer.cpp:457
NTV2DolbyPlayer::NTV2DolbyBSI::lorocmixlev
uint32_t lorocmixlev
Definition: ntv2dolbyplayer.h:108
NTV2DolbyPlayer::NTV2DolbyBSI::pgmscle
uint32_t pgmscle
Definition: ntv2dolbyplayer.h:113
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmscle
uint32_t extpgmscle
Definition: ntv2dolbyplayer.h:117
NTV2DolbyPlayer::NTV2DolbyBSI::drcsrc
uint32_t drcsrc
Definition: ntv2dolbyplayer.h:121
NTV2DolbyPlayer::SetUpHostBuffers
virtual AJAStatus SetUpHostBuffers(void)
Sets up my host video & audio buffers.
Definition: ntv2dolbyplayer.cpp:301
NTV2DolbyPlayer::NTV2DolbyBSI::mixdatabuffer
uint8_t mixdatabuffer[64]
Definition: ntv2dolbyplayer.h:154
NTV2DolbyPlayer::NTV2DolbyBSI::paninfo2e
uint32_t paninfo2e
Definition: ntv2dolbyplayer.h:158
NTV2DolbyPlayer::Run
virtual AJAStatus Run(void)
Runs me.
Definition: ntv2dolbyplayer.cpp:421
NTV2DolbyPlayer::NTV2DolbyBSI::numblkscod
uint32_t numblkscod
Definition: ntv2dolbyplayer.h:93
NTV2DolbyPlayer::NTV2DolbyBSI::copyrightb
uint32_t copyrightb
Definition: ntv2dolbyplayer.h:166
NTV2DolbyPlayer::SetBitBuffer
virtual void SetBitBuffer(uint8_t *pBuffer, uint32_t size)
Set the bitstream buffer for bit retrieval.
Definition: ntv2dolbyplayer.cpp:1262
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmscl
uint32_t extpgmscl
Definition: ntv2dolbyplayer.h:118
NTV2DolbyPlayer::NTV2DolbyBSI::compre
uint32_t compre
Definition: ntv2dolbyplayer.h:98
NTV2DolbyPlayer::NTV2DolbyBSI::addbsibuffer
uint8_t addbsibuffer[64]
Definition: ntv2dolbyplayer.h:185
NTV2DolbyPlayer::NTV2DolbyBSI::dmixscle
uint32_t dmixscle
Definition: ntv2dolbyplayer.h:138
NTV2DolbyPlayer::NTV2DolbyBSI::spchdat
uint32_t spchdat
Definition: ntv2dolbyplayer.h:146
NTV2DolbyPlayer::NTV2DolbyBSI::lfemixlevcode
uint32_t lfemixlevcode
Definition: ntv2dolbyplayer.h:111
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmlsscl
uint32_t extpgmlsscl
Definition: ntv2dolbyplayer.h:133
AJAThread
Definition: thread.h:69
NTV2DolbyPlayer::NTV2DolbyBSI::blkid
uint32_t blkid
Definition: ntv2dolbyplayer.h:181
NTV2DolbyPlayer::SetUpAudio
virtual AJAStatus SetUpAudio(void)
Performs all audio setup.
Definition: ntv2dolbyplayer.cpp:265
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmcscle
uint32_t extpgmcscle
Definition: ntv2dolbyplayer.h:128
timecodeburn.h
Declares the AJATimeCodeBurn class.
NTV2DolbyPlayer::NTV2DolbyPlayer
NTV2DolbyPlayer(const DolbyPlayerConfig &inConfigData)
Constructs me using the given configuration settings.
Definition: ntv2dolbyplayer.cpp:54
AJAStatus
AJAStatus
Definition: types.h:378
NTV2DolbyPlayer
I am similar to NTV2Player, but I demonstrate how to play/output 8 channels of audio tone (or ramp da...
Definition: ntv2dolbyplayer.h:52
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmaux2scle
uint32_t extpgmaux2scle
Definition: ntv2dolbyplayer.h:143
NTV2DolbyPlayer::NTV2DolbyBSI::mixlevel
uint32_t mixlevel
Definition: ntv2dolbyplayer.h:172
NTV2DolbyPlayer::NTV2DolbyBSI::ltrtcmixlev
uint32_t ltrtcmixlev
Definition: ntv2dolbyplayer.h:107
NTV2DolbyPlayer::SetUpVideo
virtual AJAStatus SetUpVideo(void)
Performs all video setup.
Definition: ntv2dolbyplayer.cpp:218
ULWord
uint32_t ULWord
Definition: ajatypes.h:253
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmlfescle
uint32_t extpgmlfescle
Definition: ntv2dolbyplayer.h:136
AUTOCIRCULATE_STATUS
This is returned from the CNTV2Card::AutoCirculateGetStatus function.
Definition: ntv2publicinterface.h:7160
NTV2DolbyPlayer::NTV2DolbyBSI::dialnorm2
uint32_t dialnorm2
Definition: ntv2dolbyplayer.h:100
operator<<
std::ostream & operator<<(std::ostream &ioStrm, const DolbyPlayerConfig &inObj)
Definition: ntv2dolbyplayer.cpp:1428
NTV2DolbyPlayer::NTV2DolbyBSI::frmsizecod
uint32_t frmsizecod
Definition: ntv2dolbyplayer.h:182
NTV2DolbyPlayer::NTV2DolbyBSI::paninfo
uint32_t paninfo
Definition: ntv2dolbyplayer.h:157
NTV2DolbyPlayer::NTV2DolbyBSI::mixdata
uint32_t mixdata
Definition: ntv2dolbyplayer.h:123
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmrscle
uint32_t extpgmrscle
Definition: ntv2dolbyplayer.h:130
NTV2DolbyPlayer::NTV2DolbyBSI::ltrtsurmixlev
uint32_t ltrtsurmixlev
Definition: ntv2dolbyplayer.h:109
NTV2DolbyPlayer::NTV2DolbyBSI::pgmscl2
uint32_t pgmscl2
Definition: ntv2dolbyplayer.h:116
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmlfescl
uint32_t extpgmlfescl
Definition: ntv2dolbyplayer.h:137
NTV2DolbyPlayer::NTV2DolbyBSI::fscod
uint32_t fscod
Definition: ntv2dolbyplayer.h:92
NTV2DolbyPlayer::NTV2DolbyBSI::dsurmod
uint32_t dsurmod
Definition: ntv2dolbyplayer.h:168
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmaux2scl
uint32_t extpgmaux2scl
Definition: ntv2dolbyplayer.h:144
DolbyPlayerConfig
Configures an NTV2DolbyPlayer instance.
Definition: ntv2dolbyplayer.h:25
NTV2DolbyPlayer::NTV2DolbyBSI::blkmixcfginfo
uint32_t blkmixcfginfo[6]
Definition: ntv2dolbyplayer.h:162
NTV2DolbyPlayer::NTV2DolbyBSI::spchdat2
uint32_t spchdat2
Definition: ntv2dolbyplayer.h:152
NTV2DolbyPlayer::NTV2DolbyBSI::compr2e
uint32_t compr2e
Definition: ntv2dolbyplayer.h:101
NTV2DolbyPlayer::NTV2DolbyBSI::chanmap
uint32_t chanmap
Definition: ntv2dolbyplayer.h:104
CNTV2Card
I interrogate and control an AJA video/audio capture/playout device.
Definition: ntv2card.h:28
NTV2DolbyPlayer::AddRamp
virtual uint32_t AddRamp(NTV2FrameData &inFrameData)
Inserts audio test ramp into the given NTV2FrameData's audio buffer.
Definition: ntv2dolbyplayer.cpp:674
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmlscl
uint32_t extpgmlscl
Definition: ntv2dolbyplayer.h:127
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmaux1scle
uint32_t extpgmaux1scle
Definition: ntv2dolbyplayer.h:141
NTV2DolbyPlayer::NTV2DolbyBSI::dmixmod
uint32_t dmixmod
Definition: ntv2dolbyplayer.h:106
NTV2DolbyPlayer::NTV2DolbyBSI::panmean2
uint32_t panmean2
Definition: ntv2dolbyplayer.h:159
NTV2FrameDataArray
std::vector< NTV2FrameData > NTV2FrameDataArray
A vector of NTV2FrameData elements.
Definition: ntv2democommon.h:152
NTV2DolbyPlayer::NTV2DolbyBSI::spchan1att
uint32_t spchan1att
Definition: ntv2dolbyplayer.h:149
NTV2DolbyPlayer::NTV2DolbyBSI::dheadphonmod
uint32_t dheadphonmod
Definition: ntv2dolbyplayer.h:169
NTV2DolbyPlayer::NTV2DolbyBSI::mixdef
uint32_t mixdef
Definition: ntv2dolbyplayer.h:119
NTV2DolbyPlayer::NTV2DolbyBSI::pgmscl
uint32_t pgmscl
Definition: ntv2dolbyplayer.h:114
NTV2DolbyPlayer::ProduceFrames
virtual void ProduceFrames(void)
My producer thread that repeatedly produces video frames.
Definition: ntv2dolbyplayer.cpp:559
NTV2DolbyPlayer::AddDolby
virtual uint32_t AddDolby(NTV2FrameData &inFrameData)
Inserts dolby audio into the given NTV2FrameData's audio buffer.
Definition: ntv2dolbyplayer.cpp:705
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmlsscle
uint32_t extpgmlsscle
Definition: ntv2dolbyplayer.h:132
NTV2DolbyPlayer::NTV2DolbyBSI::mixlevel2
uint32_t mixlevel2
Definition: ntv2dolbyplayer.h:176
NTV2DolbyPlayer::NTV2DolbyBSI
Definition: ntv2dolbyplayer.h:87
NTV2DolbyPlayer::NTV2DolbyBSI::pgmscl2e
uint32_t pgmscl2e
Definition: ntv2dolbyplayer.h:115
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmrsscl
uint32_t extpgmrsscl
Definition: ntv2dolbyplayer.h:135
file_io.h
Declares the AJAFileIO class.
NTV2AudioRate
NTV2AudioRate
Definition: ntv2enums.h:1873
NTV2DolbyPlayer::NTV2DolbyBSI::spchan2att
uint32_t spchan2att
Definition: ntv2dolbyplayer.h:153
NTV2DolbyPlayer::NTV2DolbyBSI::addspchdate
uint32_t addspchdate
Definition: ntv2dolbyplayer.h:147
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmaux1scl
uint32_t extpgmaux1scl
Definition: ntv2dolbyplayer.h:142
NTV2DolbyPlayer::NTV2DolbyBSI::panmean
uint32_t panmean
Definition: ntv2dolbyplayer.h:156
NTV2DolbyPlayer::Quit
virtual void Quit(void)
Gracefully stops me from running.
Definition: ntv2dolbyplayer.cpp:107
DolbyPlayerConfig
DolbyPlayerConfig DolbyPlayerConfig
Configures an NTV2DolbyPlayer instance.
false
#define false
Definition: ntv2devicefeatures.h:25
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:178
NTV2DolbyPlayer::GetDolbyFrame
virtual bool GetDolbyFrame(uint16_t *pInDolbyBuffer, uint32_t &numSamples)
Get a dolby audio frame from the input file.
Definition: ntv2dolbyplayer.cpp:909
NTV2DolbyPlayer::NTV2DolbyBSI::lfemixlevcod
uint32_t lfemixlevcod
Definition: ntv2dolbyplayer.h:112
NTV2DolbyPlayer::NTV2DolbyBSI::bsmod
uint32_t bsmod
Definition: ntv2dolbyplayer.h:165
NTV2DolbyPlayer::AddTone
virtual uint32_t AddTone(NTV2FrameData &inFrameData)
Inserts audio tone (based on my current tone frequency) into the given NTV2FrameData's audio buffer.
Definition: ntv2dolbyplayer.cpp:639
NTV2DolbyPlayer::NTV2DolbyBSI::paninfoe
uint32_t paninfoe
Definition: ntv2dolbyplayer.h:155
NTV2DolbyPlayer::GetBits
virtual bool GetBits(uint32_t &data, uint32_t inBitCount)
Retreive the specified number of bits from the bitstream buffer.
Definition: ntv2dolbyplayer.cpp:1269
NTV2DolbyPlayer::NTV2DolbyBSI::dmixscl
uint32_t dmixscl
Definition: ntv2dolbyplayer.h:139
NTV2DolbyPlayer::NTV2DolbyBSI::addbsil
uint32_t addbsil
Definition: ntv2dolbyplayer.h:184
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmrscl
uint32_t extpgmrscl
Definition: ntv2dolbyplayer.h:131
AJAExport
#define AJAExport
Definition: export.h:33
NTV2DolbyPlayer::ParseBSI
virtual bool ParseBSI(uint16_t *pInDolbyBuffer, uint32_t numSamples, NTV2DolbyBSI *pBsi)
Parse the dolby audio bit stream information block.
Definition: ntv2dolbyplayer.cpp:952
NTV2DolbyPlayer::NTV2DolbyBSI::blkmixcfginfoe
uint32_t blkmixcfginfoe
Definition: ntv2dolbyplayer.h:163
NTV2DolbyPlayer::NTV2DolbyBSI::paninfo2
uint32_t paninfo2
Definition: ntv2dolbyplayer.h:160
NTV2DolbyPlayer::NTV2DolbyBSI::compr
uint32_t compr
Definition: ntv2dolbyplayer.h:99
NTV2DolbyPlayer::NTV2DolbyBSI::acmod
uint32_t acmod
Definition: ntv2dolbyplayer.h:94
AJAFileIO
Definition: file_io.h:64
NTV2DolbyPlayer::NTV2DolbyBSI::convsync
uint32_t convsync
Definition: ntv2dolbyplayer.h:180
NTV2DolbyPlayer::NTV2DolbyBSI::roomtyp2
uint32_t roomtyp2
Definition: ntv2dolbyplayer.h:177
NTV2DolbyPlayer::NTV2DolbyBSI::premixcmpsel
uint32_t premixcmpsel
Definition: ntv2dolbyplayer.h:120
NTV2DolbyPlayer::NTV2DolbyBSI::substreamid
uint32_t substreamid
Definition: ntv2dolbyplayer.h:90
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:549
NTV2DolbyPlayer::NTV2DolbyBSI::dialnorm
uint32_t dialnorm
Definition: ntv2dolbyplayer.h:97
DolbyPlayerConfig::DolbyPlayerConfig
DolbyPlayerConfig(const std::string &inDeviceSpecifier="0")
Constructs a default DolbyPlayer configuration.
Definition: ntv2dolbyplayer.h:34
NTV2DolbyPlayer::NTV2DolbyBSI::strmtyp
uint32_t strmtyp
Definition: ntv2dolbyplayer.h:89
NTV2DolbyPlayer::Init
virtual AJAStatus Init(void)
Initializes me and prepares me to Run.
Definition: ntv2dolbyplayer.cpp:134
NTV2DolbyPlayer::NTV2DolbyBSI::addbsie
uint32_t addbsie
Definition: ntv2dolbyplayer.h:183
PlayerConfig
Configures an NTV2Player instance.
Definition: ntv2democommon.h:310
NTV2DolbyPlayer::StartProducerThread
virtual void StartProducerThread(void)
Starts my producer thread.
Definition: ntv2dolbyplayer.cpp:539
NTV2DolbyPlayer::NTV2DolbyBSI::mixmdate
uint32_t mixmdate
Definition: ntv2dolbyplayer.h:105
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmlscle
uint32_t extpgmlscle
Definition: ntv2dolbyplayer.h:126
NTV2DolbyPlayer::NTV2DolbyBSI::sourcefscod
uint32_t sourcefscod
Definition: ntv2dolbyplayer.h:179
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmcscl
uint32_t extpgmcscl
Definition: ntv2dolbyplayer.h:129
NTV2DolbyPlayer::StartConsumerThread
virtual void StartConsumerThread(void)
Starts my consumer thread.
Definition: ntv2dolbyplayer.cpp:435
NTV2DolbyPlayer::NTV2DolbyBSI::origbs
uint32_t origbs
Definition: ntv2dolbyplayer.h:167
NTV2DolbyPlayer::SetUpTestPatternBuffers
virtual AJAStatus SetUpTestPatternBuffers(void)
Creates my test pattern buffers.
Definition: ntv2dolbyplayer.cpp:357
NTV2DolbyPlayer::NTV2DolbyBSI::mixdeflen
uint32_t mixdeflen
Definition: ntv2dolbyplayer.h:124
AJALabelValuePairs
std::vector< AJALabelValuePair > AJALabelValuePairs
An ordered sequence of label/value pairs.
Definition: info.h:69
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:3814
NTV2DolbyPlayer::NTV2DolbyBSI::extpgmrsscle
uint32_t extpgmrsscle
Definition: ntv2dolbyplayer.h:134
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:446
NTV2DolbyPlayer::NTV2DolbyBSI::dsurexmod
uint32_t dsurexmod
Definition: ntv2dolbyplayer.h:170
NTV2DolbyPlayer::GetACStatus
virtual void GetACStatus(AUTOCIRCULATE_STATUS &outStatus)
Provides status information about my output (playout) process.
Definition: ntv2dolbyplayer.cpp:633
AJACircularBuffer< NTV2FrameData * >
DolbyPlayerConfig::fDoRamp
bool fDoRamp
If true, use audio ramp pattern instead of tone.
Definition: ntv2dolbyplayer.h:28