Loading...
Searching...
No Matches
Video::CameraInput Class Referencefinal
Inheritance diagram for Video::CameraInput:
Video::ExternalInput Video::LibAVDecoder Video::VideoInterface Video::VideoMetadata Video::ImageFormat

Public Member Functions

bool load (const std::string &inputDevice, const std::string &format, int w, int h, double fps, int codec, int pixelfmt) noexcept
 
bool start () noexcept override
 
void stop () noexcept override
 
AVFrame * dequeue_frame () noexcept override
 
void release_frame (AVFrame *frame) noexcept override
 
bool notifyFormatChange (int new_w, int new_h, AVPixelFormat new_pixfmt) noexcept override
 
- Public Member Functions inherited from Video::VideoInterface
virtual void seek (int64_t flicks)
 
- Public Member Functions inherited from Video::LibAVDecoder
ReadFrame enqueue_frame (const AVPacket *pkt) noexcept
 
std::pair< AVBufferRef *, const AVCodec * > open_hwdec (const AVCodec &) noexcept
 
int init_codec_context (const AVCodec *codec, AVBufferRef *hw_dev_ctx, const AVStream *stream, std::function< void(AVCodecContext &)> setup)
 
bool open_codec_context (VideoInterface &self, const AVStream *stream, std::function< void(AVCodecContext &)> setup)
 
void init_scaler (VideoInterface &self) noexcept
 
void load_packet_in_frame (const AVPacket &packet, AVFrame &frame)
 
ReadFrame read_one_frame (AVPacket &packet)
 
ReadFrame read_one_frame_raw (AVPacket &packet)
 
ReadFrame read_one_frame_avcodec (AVPacket &packet)
 

Additional Inherited Members

- Public Attributes inherited from Video::VideoInterface
std::atomic_int seek_generation {}
 
- Public Attributes inherited from Video::ImageFormat
int width {}
 
int height {}
 
AVPixelFormat pixel_format = AVPixelFormat(-1)
 
AVPixelFormat hwaccel_sw_format = AVPixelFormat(-1)
 
VideoPixelFormat native_format = VideoPixelFormat::Unknown
 
AVColorRange color_range = AVCOL_RANGE_UNSPECIFIED
 
AVColorPrimaries color_primaries = AVCOL_PRI_UNSPECIFIED
 
AVColorTransferCharacteristic color_trc = AVCOL_TRC_UNSPECIFIED
 
AVColorSpace color_space = AVCOL_SPC_UNSPECIFIED
 
AVChromaLocation chroma_location = AVCHROMA_LOC_UNSPECIFIED
 
AVMasteringDisplayMetadata mastering_display {}
 
std::optional< AVContentLightMetadata > content_light {}
 
Interlacing interlacing = ::Video::Interlacing::None
 
OutputFormat output_format = ::Video::OutputFormat::SDR
 
Tonemap tonemap = ::Video::Tonemap::Auto
 
Deinterlace deinterlace = ::Video::Deinterlace::Weave
 
- Public Attributes inherited from Video::LibAVDecoder
DecoderConfiguration m_conf
 
AVFormatContext * m_formatContext {}
 
AVStream * m_avstream {}
 
const AVCodec * m_codec {}
 
AVCodecContext * m_codecContext {}
 
FrameQueue m_frames
 
Rescale m_rescale
 
MissingTimestamps m_missingTimestamps
 
int64_t m_ptsLead {}
 
std::atomic_bool m_finished {}
 Set by the decoding thread, polled by the owner waiting for the end.
 

Member Function Documentation

◆ dequeue_frame()

AVFrame * Video::CameraInput::dequeue_frame ( )
overridevirtualnoexcept

Implements Video::VideoInterface.

◆ notifyFormatChange()

bool Video::CameraInput::notifyFormatChange ( int  new_w,
int  new_h,
AVPixelFormat  new_pixfmt 
)
overridevirtualnoexcept

Reimplemented from Video::ExternalInput.

◆ release_frame()

void Video::CameraInput::release_frame ( AVFrame *  frame)
overridevirtualnoexcept

Implements Video::VideoInterface.

◆ start()

bool Video::CameraInput::start ( )
overridevirtualnoexcept

Implements Video::ExternalInput.

◆ stop()

void Video::CameraInput::stop ( )
overridevirtualnoexcept

Implements Video::ExternalInput.


The documentation for this class was generated from the following files: