|
AJA NTV2 SDK
17.1.3.1410
NTV2 SDK 17.1.3.1410
|
Go to the documentation of this file.
9 #ifndef _NTV2ENCODEHEVC_H
10 #define _NTV2ENCODEHEVC_H
28 #define VIDEO_RING_SIZE 60
29 #define AUDIO_RING_SIZE (3*VIDEO_RING_SIZE)
69 const bool inQuadMode =
false,
70 const uint32_t inAudioChannels = 0,
71 const bool inTimeCodeBurn =
false,
72 const bool inInfoMode =
false,
73 const bool inTsiMode =
false,
74 const uint32_t inMaxFrames = 0xffffffff);
92 virtual void Quit (
void);
266 const std::string mDeviceSpecifier;
285 uint32_t mNumAudioChannels;
286 uint32_t mFileAudioChannels;
290 bool mLastFrameInput;
293 bool mLastFrameVideo;
294 bool mLastFrameAudio;
297 uint32_t mVideoBufferSize;
298 uint32_t mPicInfoBufferSize;
299 uint32_t mEncInfoBufferSize;
300 uint32_t mAudioBufferSize;
314 uint32_t mVideoInputFrameCount;
315 uint32_t mVideoProcessFrameCount;
316 uint32_t mCodecRawFrameCount;
317 uint32_t mCodecHevcFrameCount;
318 uint32_t mVideoFileFrameCount;
319 uint32_t mAudioFileFrameCount;
327 #endif // _NTV2ENCODEHEVC_H
@ NTV2_FBF_10BIT_YCBCR_420PL2
10-Bit 4:2:0 2-Plane YCbCr
static void VideoFileThreadStatic(AJAThread *pThread, void *pContext)
This is the video file writer thread's static callback function that gets called when the thread star...
virtual void VideoInputWorker(void)
Repeatedly captures video frames using AutoCirculate and add them to the video input ring.
Declares device capability functions.
virtual void StartVideoFileThread(void)
Start the video file writer thread.
virtual AJAStatus ProcessVideoFrame(AVHevcDataBuffer *pSrcFrame, AVHevcDataBuffer *pDstFrame, uint32_t frameNumber)
Default do-nothing function for processing the captured frames.
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
This file contains some structures, constants, classes and functions that are used in some of the hev...
static void CodecRawThreadStatic(AJAThread *pThread, void *pContext)
This is the codec raw thread's static callback function that gets called when the thread starts....
virtual void StartAudioFileThread(void)
Start the audio file writer thread.
virtual void CodecHevcWorker(void)
Repeatedly transfers hevc frames from the codec and adds them to the hevc ring.
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
virtual AJAStatus SetupAudio(void)
Sets up everything I need for capturing audio.
static void VideoInputThreadStatic(AJAThread *pThread, void *pContext)
This is the video input thread's static callback function that gets called when the thread starts....
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
Declares the AJATimeCode class.
static void VideoProcessThreadStatic(AJAThread *pThread, void *pContext)
This is the video process thread's static callback function that gets called when the thread starts....
@ NTV2_CHANNEL1
Specifies channel or Frame Store 1 (or the first item).
Instances of me capture frames in real time from a video signal provided to an input of an AJA device...
virtual void SetupHostBuffers(void)
Sets up my circular buffers.
Declares the AJATimeCodeBurn class.
virtual void VideoProcessWorker(void)
Repeatedly removes video frames from the video input ring, calls a custom video process method and ad...
static void CodecHevcThreadStatic(AJAThread *pThread, void *pContext)
This is the codec hevc thread's static callback function that gets called when the thread starts....
virtual void StartCodecRawThread(void)
Start the codec raw thread.
static void AudioFileThreadStatic(AJAThread *pThread, void *pContext)
This is the audio file writer thread's static callback function that gets called when the thread star...
Declares the CNTV2DeviceScanner class.
virtual void StartVideoInputThread(void)
Start the video input thread.
virtual void AudioFileWorker(void)
Repeatedly removes audio samples from the audio input ring and writes them to the audio output file.
NTV2EncodeHEVC(const std::string inDeviceSpecifier="0", const NTV2Channel inChannel=NTV2_CHANNEL1, const M31VideoPreset inM31Preset=M31_FILE_1280X720_420_8_5994p, const NTV2FrameBufferFormat inPixelFormat=NTV2_FBF_10BIT_YCBCR_420PL2, const bool inQuadMode=(0), const uint32_t inAudioChannels=0, const bool inTimeCodeBurn=(0), const bool inInfoMode=(0), const bool inTsiMode=(0), const uint32_t inMaxFrames=0xffffffff)
Constructs me using the given settings.
Enumerations for controlling NTV2 devices.
virtual AJAStatus Run(void)
Runs me.
I interrogate and control an AJA video/audio capture/playout device.
@ M31_FILE_1280X720_420_8_5994p
virtual ~NTV2EncodeHEVC()
virtual void RouteInputSignal(void)
Sets up device routing for capture.
NTV2InputSource
Identifies a specific video input source.
Declares the enumeration constants used in the ajabase library.
Enumerations for controlling NTV2 devices with m31 HEVC encoders.
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
virtual AJAStatus Init(void)
Initializes me and prepares me to Run.
NTV2EveryFrameTaskMode
Describes the task mode state. See also: Sharing AJA Devices With Other Applications.
virtual void Quit(void)
Gracefully stops me from running.
virtual void GetStatus(AVHevcStatus &outStatus)
Provides status information about my input (capture) process.
virtual M31VideoPreset GetCodecPreset(void)
Get the codec preset.
virtual void StartCodecHevcThread(void)
Start the codec hevc thread.
Declaration of AJACircularBuffer template class.
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information.
This structure encapsulates the video and audio buffers used by the HEVC demo applications....
virtual void SetupAutoCirculate(void)
Initializes AutoCirculate.
Declares the AJAThread class.
virtual AJAStatus SetupVideo(void)
Sets up everything I need for capturing video.
virtual void StartVideoProcessThread(void)
Start the video process thread.
virtual void VideoFileWorker(void)
Repeatedly removes hevc frame from the hevc ring and writes them to the hevc output file.
virtual void CodecRawWorker(void)
Repeatedly removes video frames from the raw video ring and transfers them to the codec.
Utility class for timecodes.
Declares the AJATimeBase class.