|
AJA NTV2 SDK
17.0.1.1246
NTV2 SDK 17.0.1.1246
|
Go to the documentation of this file.
9 #ifndef _NTV2DOLBYPLAYER_H
10 #define _NTV2DOLBYPLAYER_H
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.
47 const bool inWithAudio =
true,
51 const bool inDoMultiFormat =
false,
52 const bool inDoRamp =
false,
71 virtual void Quit (
void);
76 virtual bool IsRunning (
void)
const {
return !mGlobalQuit;}
259 #ifdef DOLBY_FULL_PARSER
267 virtual bool GetDolbyFrame (uint16_t * pInDolbyBuffer, uint32_t & numSamples);
285 virtual void SetBitBuffer (uint8_t * pBuffer, uint32_t size);
293 virtual bool GetBits (uint32_t & data, uint32_t inBitCount);
331 uint32_t mCurrentFrame;
333 double mToneFrequency;
335 uint16_t mRampSample;
337 const std::string mDeviceSpecifier;
346 const bool mWithAudio;
348 bool mDoMultiChannel;
351 uint32_t mVideoBufferSize;
352 uint32_t mAudioBufferSize;
354 uint8_t ** mTestPatternVideoBuffers;
355 uint32_t mNumTestPatterns;
360 uint32_t mBurstIndex;
361 uint32_t mBurstSamples;
363 uint16_t * mBurstBuffer;
365 uint32_t mBurstOffset;
369 uint16_t * mDolbyBuffer;
371 uint32_t mDolbyBlocks;
373 uint8_t * mBitBuffer;
378 #endif // _NTV2DOLBY_H
virtual uint32_t AddTone(ULWord *audioBuffer)
Inserts audio tone (based on my current tone frequency) into the given audio buffer.
virtual ~NTV2DolbyPlayer(void)
virtual AJAStatus SetUpTestPatternVideoBuffers(void)
Creates my test pattern buffers.
virtual bool IsRunning(void) const
NTV2OutputDestination
Identifies a specific video output destination.
virtual void RouteOutputSignal(void)
Sets up device routing for playout.
NTV2Channel
These enum values are mostly used to identify a specific Frame Store. They're also commonly used to i...
This structure encapsulates the video, audio and anc buffers used in the AutoCirculate demos....
virtual void PlayFrames(void)
Repeatedly plays out frames using AutoCirculate (until quit).
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
uint8_t mixdatabuffer[64]
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.
virtual AJAStatus Run(void)
Runs me.
@ NTV2_CHANNEL1
Specifies channel or Frame Store 1 (or the first item).
virtual void SetBitBuffer(uint8_t *pBuffer, uint32_t size)
Set the bitstream buffer for bit retrieval.
virtual uint32_t AddDolby(ULWord *audioBuffer)
Inserts dolby audio into the given audio buffer.
virtual AJAStatus SetUpAudio(void)
Sets up everything I need to play audio.
Declares the AJATimeCodeBurn class.
I am an object that can play out a test pattern (with timecode) to an output of an AJA device with or...
virtual AJAStatus SetUpVideo(void)
Sets up everything I need to play video.
virtual void SetUpHostBuffers(void)
Sets up my circular buffers.
Enumerations for controlling NTV2 devices.
@ NTV2_FBF_8BIT_YCBCR
See 8-Bit YCbCr Format.
uint32_t blkmixcfginfo[6]
I interrogate and control an AJA video/audio capture/playout device.
virtual void ProduceFrames(void)
Repeatedly produces test pattern frames (until global quit flag set).
Declares the AJAFileIO class.
virtual void Quit(void)
Gracefully stops me from running.
This file contains some structures, constants, classes and functions that are used in some of the dem...
virtual bool GetDolbyFrame(uint16_t *pInDolbyBuffer, uint32_t &numSamples)
Get a dolby audio audio frame from the input file.
virtual bool GetBits(uint32_t &data, uint32_t inBitCount)
Retreive the specified number of bits from the bitstream buffer.
virtual uint32_t AddRamp(ULWord *audioBuffer)
Inserts audio test ramp into the given audio buffer.
virtual bool ParseBSI(uint16_t *pInDolbyBuffer, uint32_t numSamples, NTV2DolbyBSI *pBsi)
Parse the dolby audio bit stream information block.
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
static const size_t CIRCULAR_BUFFER_SIZE(10)
Number of NTV2FrameData's in our ring.
NTV2EveryFrameTaskMode
Describes the task mode state. See also: Sharing AJA Devices With Other Applications.
static void ProducerThreadStatic(AJAThread *pThread, void *pContext)
This is the producer thread's static callback function that gets called when the producer thread star...
virtual AJAStatus Init(void)
Initializes me and prepares me to Run.
virtual void StartProducerThread(void)
Starts my test pattern producer thread.
virtual void GetACStatus(ULWord &outGoodFrames, ULWord &outDroppedFrames, ULWord &outBufferLevel)
Provides status information about my output (playout) process.
virtual void StartConsumerThread(void)
Starts my playout thread.
Declaration of AJACircularBuffer template class.
static ULWord GetRP188RegisterForOutput(const NTV2OutputDestination inOutputSource)
Returns the RP188 DBB register number to use for the given NTV2OutputDestination.
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information.
Declares the AJAThread class.
static void ConsumerThreadStatic(AJAThread *pThread, void *pContext)
This is the consumer thread's static callback function that gets called when the consumer thread star...