|
AJA NTV2 SDK
17.1.3.1410
NTV2 SDK 17.1.3.1410
|
Go to the documentation of this file.
9 #ifndef _NTV2CCGRABBER_H
10 #define _NTV2CCGRABBER_H
42 #define IS_VALID_OutputMode(_x_) ((_x_) >= kOutputMode_CaptionStream && (_x_) < kOutputMode_INVALID)
56 #define IS_VALID_CaptionDataSrc(_x_) ((_x_) >= kCaptionDataSrc_Default && (_x_) < kCaptionDataSrc_INVALID)
147 virtual void Quit (
void);
176 virtual inline void ToggleHUD (
void) {mHeadUpDisplayOn = !mHeadUpDisplayOn;}
318 std::string mLastOutStr;
319 uint32_t mFirstOutFrame;
320 uint32_t mLastOutFrame;
339 bool mHeadUpDisplayOn;
348 #endif // _NTV2CCGRABBER_H
NTV2TCIndex fTimecodeSrc
Timecode source to use (if any)
static OutputMode StringToOutputMode(const std::string &inModeStr)
virtual AJAStatus SetupAudio(void)
Sets up audio for capture (and playout, if burning captions).
Declares the AJASystemInfo class.
OutputMode fOutputMode
Desired output (captionStream, Screen etc)
Declares device capability functions.
NTV2Line21Channel fCaptionChannel
Caption channel to monitor (defaults to CC1)
@ kCaptionDataSrc_608FBVanc
Declares common types used in the ajabase library.
virtual void SetOutputStandards(const NTV2VideoFormat inVideoFormat)
Sets the device output standard based on the given video format.
virtual void ExtractClosedCaptionData(const uint32_t inFrameCount, const NTV2VideoFormat inVideoFormat)
Extracts closed-caption data, if present, and emits it on a character-by-character basis to the stand...
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
Declares the CNTV2Task class (deprecated).
virtual bool IsCaptureThreadRunning(void) const
Returns true if my capture thread is currently running.
Declares the AJATime class.
virtual void SwitchPixelFormat(void)
Switches/rotates –pixelFormat.
AJALabelValuePairs Get(const bool inCompact=(0)) const
@ kOutputMode_CaptionFileMCC
virtual void PlayFrames(void)
Repeatedly updates captions (until global quit flag set).
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
virtual void CaptioningChanged(const NTV2Caption608ChangeInfo &inChangeInfo)
This function gets called whenever caption changes occur.
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
Declares the AJATimeCode class.
@ kCaptionDataSrc_INVALID
virtual AJAStatus Run(void)
Runs me.
CaptionDataSrc fCaptionSrc
Caption data source (Line21? 608 VANC? 608 Anc? etc)
virtual AJAStatus StartCaptureThread(void)
Starts my capture thread.
virtual void ToggleHUD(void)
Toggles the Head-Up-Display.
enum _CaptionDataSrc CaptionDataSrc
virtual void Quit(void)
Gracefully stops me from running.
bool fWithAnc
If true, also capture Anc.
virtual void DoCCOutput(const uint32_t inFrameNum, const CaptionData &inCCData, const NTV2VideoFormat inVideoFormat)
Outputs CC data.
virtual void SwitchOutput(void)
Switches/rotates –output mode.
This class is used to respond to dynamic events that occur during CEA-608 caption decoding.
Declares the AJATimeCodeBurn class.
Declares the AJAProcess class.
virtual AJAStatus SetupOutputVideo(const NTV2VideoFormat inVideoFormat)
Sets up everything I need for capturing video.
Declares the CNTV2DeviceScanner class.
This class is used to configure an NTV2Capture instance.
static std::string GetLine21ChannelNames(std::string inDelimiter=", ")
Returns a string containing a concatenation of human-readable names of every available NTV2Line21Chan...
CCGrabberConfig CCGrabberConfig
This class is used to configure an NTV2CCGrabber instance.
A convenience class that simplifies encoding or decoding the 4-byte VPID payload that can be read or ...
@ kOutputMode_CaptionScreen
NTV2TCIndex
These enum values are indexes into the capture/playout AutoCirculate timecode arrays.
enum _OutputMode OutputMode
Declares the CNTV2CaptionDecoder708 class.
virtual AJAStatus SetupHostBuffers(const NTV2VideoFormat inVideoFormat)
Sets up my circular buffers.
This class is used to configure an NTV2CCGrabber instance.
virtual AJAStatus Init(void)
Initializes me and prepares me to Run.
std::ostream & operator<<(std::ostream &ioStrm, const CCGrabberConfig &inObj)
Enumerations for controlling NTV2 devices.
#define NTV2_IS_VALID_INPUT_SOURCE(_inpSrc_)
This object specifies the information that will be transferred to or from the AJA device in the CNTV2...
Declares numerous NTV2 utility functions.
virtual AJAStatus StartPlayThread(void)
Starts my playout thread.
static std::string CaptionDataSrcToString(const CaptionDataSrc inDataSrc)
I interrogate and control an AJA video/audio capture/playout device.
static std::string GetLegalCaptionDataSources(void)
static std::string GetLegalOutputModes(void)
std::set< NTV2Channel > NTV2ChannelSet
A set of distinct NTV2Channel values.
@ kOutputMode_CaptionFileSCC
std::vector< NTV2FrameData > NTV2FrameDataArray
A vector of NTV2FrameData elements.
NTV2VANCMode
These enum values identify the available VANC modes.
#define NTV2_IS_VALID_CHANNEL(__x__)
static void PlayThreadStatic(AJAThread *pThread, void *pContext)
This is the playout thread's static callback function that gets called when the playout thread runs....
virtual AJAStatus SetupInputVideo(void)
Sets up everything I need for capturing video.
NTV2Channel fInputChannel
The device channel to use.
virtual void ReleaseHostBuffers(void)
Releases my circular buffers.
virtual void CaptureFrames(void)
Repeatedly captures frames using AutoCirculate (until global quit flag set).
Declares the CNTV2VPID class. See SMPTE 352 standard for details.
static void Caption608ChangedStatic(void *pInstance, const NTV2Caption608ChangeInfo &inChangeInfo)
This static function gets called whenever 608 captioning changes.
virtual NTV2VideoFormat WaitForStableInputSignal(void)
Wait for a stable input signal, and return it.
NTV2Line21Mode
The CEA-608 modes: pop-on, roll-up (2, 3 and 4-line), and paint-on.
@ kOutputMode_CaptionStream
This file contains some structures, constants, classes and functions that are used in some of the dem...
virtual bool IsPlayThreadRunning(void) const
Returns true if my play thread is currently running.
@ NTV2_CC608_CC1
Caption channel 1, the primary caption channel.
virtual void SetCaptionDisplayChannel(const NTV2Line21Channel inNewChannel)
Changes the caption channel I'm displaying.
Declares the enumeration constants used in the ajabase library.
I can decode captions from frames captured from an AJA device in real time. I can optionally play the...
std::map< NTV2InputXptID, NTV2OutputXptID > NTV2XptConnections
NTV2Line21Channel
The CEA-608 caption channels: CC1 thru CC4, TX1 thru TX4, plus XDS.
virtual void Switch608Source(void)
Switches/rotates –608src.
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
@ kCaptionDataSrc_Default
NTV2EveryFrameTaskMode
Describes the task mode state. See also: Sharing AJA Devices With Other Applications.
virtual bool RouteInputSignal(const NTV2VideoFormat inVideoFormat)
CCGrabberConfig(const std::string &inDeviceSpecifier="0")
Constructs a default CCPlayer configuration.
static std::string OutputModeToString(const OutputMode inMode)
@ kCaptionDataSrc_708FBVanc
bool fUseVanc
If true, use Vanc, even if the device supports Anc insertion.
This structure encapsulates all possible CEA-608 caption data bytes that may be associated with a giv...
Declaration of AJACircularBuffer template class.
static CaptionDataSrc StringToCaptionDataSrc(const std::string &inDataSrcStr)
std::vector< AJALabelValuePair > AJALabelValuePairs
An ordered sequence of label/value pairs.
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information.
static void CaptureThreadStatic(AJAThread *pThread, void *pContext)
This is the capture thread's static callback function that gets called when the capture thread runs....
Declares the AJAThread class.
NTV2CCGrabber(const CCGrabberConfig &inConfigData)
Constructs me using the given configuration settings.
virtual bool RouteOutputSignal(const NTV2VideoFormat inVideoFormat)
bool fBurnCaptions
If true, burn-in captions on 2nd channel.
unsigned GetNumSourceSpecs(void) const
NTV2InputSource fInputSource
The device input connector to use.
Declares the CNTV2CaptionDecoder608 class.
virtual void ToggleVANC(void)
Toggles the use of VANC. (Debug, experimental)
bool fWithAudio
If true, also capture Audio.