Video::VideoDecoder Class Referencefinal
Inheritance diagram for Video::VideoDecoder:
Video::VideoInterface Video::LibAVDecoder Video::VideoMetadata Video::ImageFormat

Public Member Functions

 VideoDecoder (DecoderConfiguration) noexcept
 
bool open (const std::string &inputFile) noexcept
 
bool load (const std::string &inputFile) noexcept
 
const std::string & file () const noexcept
 
int64_t duration () const noexcept
 
void seek (int64_t flicks)
 
AVFrame * dequeue_frame () noexcept override
 
void release_frame (AVFrame *) noexcept override
 
- 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::ImageFormat
int width {}
 
int height {}
 
AVPixelFormat pixel_format = AVPixelFormat(-1)
 
AVColorRange color_range = AVColorRange(-1)
 
AVColorPrimaries color_primaries = AVColorPrimaries(-1)
 
AVColorTransferCharacteristic color_trc = AVColorTransferCharacteristic(-1)
 
AVColorSpace color_space = AVColorSpace(-1)
 
AVChromaLocation chroma_location = AVChromaLocation(-1)
 
- 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
 
bool m_finished {}
 

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