Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
VTB::CDecoder Class Reference

#include <VTB.h>

Inheritance diagram for VTB::CDecoder:
IHardwareDecoder IDVDResourceCounted< IHardwareDecoder >

Public Member Functions

 CDecoder (CProcessInfo &processInfo)
 
virtual ~CDecoder ()
 
virtual bool Open (AVCodecContext *avctx, AVCodecContext *mainctx, const enum AVPixelFormat) override
 
virtual CDVDVideoCodec::VCReturn Decode (AVCodecContext *avctx, AVFrame *frame) override
 
virtual bool GetPicture (AVCodecContext *avctx, VideoPicture *picture) override
 
virtual CDVDVideoCodec::VCReturn Check (AVCodecContext *avctx) override
 
virtual const std::string Name () override
 
virtual unsigned GetAllowedReferences () override
 
void Close ()
 
- Public Member Functions inherited from IHardwareDecoder
 IHardwareDecoder ()=default
 
 ~IHardwareDecoder () override=default
 
virtual void Reset ()
 
virtual bool CanSkipDeint ()
 
virtual void SetCodecControl (int flags)
 
- Public Member Functions inherited from IDVDResourceCounted< IHardwareDecoder >
 IDVDResourceCounted ()
 
 IDVDResourceCounted (const IDVDResourceCounted &)=delete
 
virtual ~IDVDResourceCounted ()=default
 
IDVDResourceCountedoperator= (const IDVDResourceCounted &)=delete
 
virtual IHardwareDecoderAcquire ()
 
virtual long Release ()
 

Static Public Member Functions

static IHardwareDecoderCreate (CDVDStreamInfo &hint, CProcessInfo &processInfo, AVPixelFormat fmt)
 
static bool Register ()
 

Protected Attributes

unsigned m_renderbuffers_count
 
AVCodecContext * m_avctx
 
CProcessInfom_processInfo
 
CVideoBufferVTBm_renderBuffer = nullptr
 
std::shared_ptr< CVideoBufferPoolVTBm_videoBufferPool
 

Additional Inherited Members

- Public Attributes inherited from IDVDResourceCounted< IHardwareDecoder >
std::atomic< long > m_refs
 

Constructor & Destructor Documentation

◆ CDecoder()

CDecoder::CDecoder ( CProcessInfo processInfo)

◆ ~CDecoder()

CDecoder::~CDecoder ( )
virtual

Member Function Documentation

◆ Check()

CDVDVideoCodec::VCReturn CDecoder::Check ( AVCodecContext *  avctx)
overridevirtual

Implements IHardwareDecoder.

◆ Close()

void CDecoder::Close ( void  )

◆ Create()

IHardwareDecoder * CDecoder::Create ( CDVDStreamInfo hint,
CProcessInfo processInfo,
AVPixelFormat  fmt 
)
static

◆ Decode()

CDVDVideoCodec::VCReturn CDecoder::Decode ( AVCodecContext *  avctx,
AVFrame *  frame 
)
overridevirtual

Implements IHardwareDecoder.

◆ GetAllowedReferences()

unsigned CDecoder::GetAllowedReferences ( )
overridevirtual

Reimplemented from IHardwareDecoder.

◆ GetPicture()

bool CDecoder::GetPicture ( AVCodecContext *  avctx,
VideoPicture picture 
)
overridevirtual

Implements IHardwareDecoder.

◆ Name()

virtual const std::string VTB::CDecoder::Name ( )
inlineoverridevirtual

Implements IHardwareDecoder.

◆ Open()

bool CDecoder::Open ( AVCodecContext *  avctx,
AVCodecContext *  mainctx,
const enum AVPixelFormat  fmt 
)
overridevirtual

Implements IHardwareDecoder.

◆ Register()

bool CDecoder::Register ( )
static

Member Data Documentation

◆ m_avctx

AVCodecContext* VTB::CDecoder::m_avctx
protected

◆ m_processInfo

CProcessInfo& VTB::CDecoder::m_processInfo
protected

◆ m_renderBuffer

CVideoBufferVTB* VTB::CDecoder::m_renderBuffer = nullptr
protected

◆ m_renderbuffers_count

unsigned VTB::CDecoder::m_renderbuffers_count
protected

◆ m_videoBufferPool

std::shared_ptr<CVideoBufferPoolVTB> VTB::CDecoder::m_videoBufferPool
protected

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