xbmc
Classes | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
VDPAU::CDecoder Class Reference

VDPAU main class. More...

#include <VDPAU.h>

Inheritance diagram for VDPAU::CDecoder:
Inheritance graph
[legend]
Collaboration diagram for VDPAU::CDecoder:
Collaboration graph
[legend]

Classes

struct  Desc
 

Public Member Functions

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

Static Public Member Functions

static bool IsVDPAUFormat (AVPixelFormat fmt)
 
static void FFReleaseBuffer (void *opaque, uint8_t *data)
 
static int FFGetBuffer (AVCodecContext *avctx, AVFrame *pic, int flags)
 
static int Render (struct AVCodecContext *s, struct AVFrame *src, const VdpPictureInfo *info, uint32_t buffers_used, const VdpBitstreamBuffer *buffers)
 
static IHardwareDecoderCreate (CDVDStreamInfo &hint, CProcessInfo &processInfo, AVPixelFormat fmt)
 
static void Register ()
 

Protected Types

enum  EDisplayState { VDPAU_OPEN, VDPAU_RESET, VDPAU_LOST, VDPAU_ERROR }
 

Protected Member Functions

void SetWidthHeight (int width, int height)
 
bool ConfigVDPAU (AVCodecContext *avctx, int ref_frames)
 
bool CheckStatus (VdpStatus vdp_st, int line)
 
void FiniVDPAUOutput ()
 
void ReturnRenderPicture (CVdpauRenderPicture *renderPic)
 
long ReleasePicReference ()
 

Static Protected Member Functions

static void ReadFormatOf (AVCodecID codec, VdpDecoderProfile &decoder_profile, VdpChromaType &chroma_type)
 

Protected Attributes

enum VDPAU::CDecoder::EDisplayState m_DisplayState
 
CCriticalSection m_DecoderSection
 
CEvent m_DisplayEvent
 
int m_ErrorCount
 
bool m_vdpauConfigured
 
CVdpauConfig m_vdpauConfig
 
CVideoSurfaces m_videoSurfaces
 
AVVDPAUContext m_hwContext
 
AVCodecContext * m_avctx = nullptr
 
COutput m_vdpauOutput
 
CVdpauBufferStats m_bufferStats
 
CEvent m_inMsgEvent
 
CVdpauRenderPicturem_presentPicture = nullptr
 
int m_codecControl
 
CProcessInfom_processInfo
 

Static Protected Attributes

static bool m_capGeneral = false
 

Friends

class CVdpauBufferPool
 

Additional Inherited Members

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

Detailed Description

VDPAU main class.


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