8 #ifndef NTV2FRAMEGRABBER_H 9 #define NTV2FRAMEGRABBER_H 11 #include <QBasicTimer> 13 #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 19 #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) 20 #include <QtMultimedia> 22 #include <QAudioOutput> 30 #if defined (INCLUDE_AJACC) 33 #endif // INCLUDE_AJACC 35 #define QTPREVIEW_WIDGET_X (960) 36 #define QTPREVIEW_WIDGET_Y (540) 70 inline void SetWithAudio (
const bool inWithAudio) {mbWithAudio = inWithAudio; mRestart =
true;}
86 inline void CheckFor4kInput (
const bool inCheckFor4K) {mCheckFor4K = inCheckFor4K;}
110 void newFrame (
const QImage &inImage,
const bool inClear);
125 void changeCaptionChannel (
int id);
129 virtual void run (
void);
165 bool mbFixedReference;
177 bool mFormatIsProgressive;
183 bool mDoMultiChannel;
186 #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) 187 QAudioOutput * mAudioOutput;
189 QAudioSink * mAudioOutput;
191 QAudioFormat mFormat;
192 QIODevice * mAudioDevice;
196 std::string mTimeCode;
198 #if defined (INCLUDE_AJACC) 201 ushort mScreenBuffer [15][32];
205 #endif // defined (INCLUDE_AJACC) 210 #endif // NTV2FRAMEGRABBER_H virtual void run(void)
My thread function.
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information...
Declares common types used in the ajabase library.
This class is used to respond to dynamic events that occur during CEA-608 caption decoding...
void SetFixedReference(bool fixed)
I interrogate and control an AJA video/audio capture/playout device.
NTV2FrameBufferFormat
Identifies a particular video frame buffer pixel format. See Device Frame Buffer Formats for details...
NTV2TaskMode
Describes the task mode state. See also: Sharing AJA Devices With Other Applications.
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
void SetInputSource(const NTV2InputSource inInputSource)
Sets the input to be used for capture on the AJA device being used.
void CheckFor4kInput(const bool inCheckFor4K)
Enables or disables checking for 4K/UHD video (on devices that supported 4K/UHD). ...
void SetTimeCodeSource(const NTV2TCIndex inTCSource)
void ClearCaptionBuffer(const bool inSignalClients=(0))
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
NTV2TCIndex
These enum values are indexes into the capture/playout AutoCirculate timecode arrays.
bool IsInput3Gb(const NTV2InputSource inputSource)
bool GetDeinterlaceNonProgressiveVideo(void) const
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
Enumerations for controlling NTV2 devices.
UWord GetDeviceIndex(void) const
Declares the CNTV2CaptionDecoder708 class.
Declares the CRP188 class. See SMPTE RP188 standard for details.
void SetDeviceIndex(const UWord inDeviceIndex)
Sets the AJA device to be used for capture.
NTV2VideoFormat GetVideoFormatFromInputSource(void)
void SetWithAudio(const bool inWithAudio)
Enables or disables host audio playback.
void GrabCaptions(void)
Performs caption data extraction & decoding.
void newFrame(const QImage &inImage, const bool inClear)
This is signaled (called) when a new frame has been captured and is available for display...
Declares the AJAProcess class.
NTV2InputSource
Identifies a specific video input source.
A QThread that captures audio/video from NTV2-compatible AJA devices and uses Qt signals to emit ARGB...
Declares the CNTV2Task class (deprecated).
bool CheckForValidInput(void)
This object specifies the information that will be transferred to or from the AJA device in the CNTV2...
bool SetupInput(void)
Configures my AJA device for capture.
void SetupAudio(void)
Performs audio configuration.
NTV2LHIHDMIColorSpace GetColorSpaceFromInputSource(void)
Describes the horizontal and vertical size dimensions of a raster, bitmap, frame or image...
void StopAutoCirculate(void)
Stops capturing.
void SetDeinterlaceNonProgressiveVideo(const bool inDeinterlace)
Enables or disables deinterlacing of non-progressive video.
void captionScreenChanged(const ushort *pInScreen)
This is signaled (called) when my caption screen buffer changes.
void newStatusString(const QString &inStatus)
This is signaled (called) when my status string changes.
Declares the CNTV2Card class.
NTV2FrameGrabber(QObject *pInParentObject=NULL)
Constructs me.
Declares the CNTV2CaptionDecoder608 class.
void OutputAudio(ULWord *pInOutAudioBuffer, const ULWord inNumValidBytes)
Writes audio samples for channels 1 and 2 that are in the given audio buffer to my QAudioOutput devic...
virtual ~NTV2FrameGrabber()
My destructor.