xbmc
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
DXVA::CDecoder Class Reference
Inheritance diagram for DXVA::CDecoder:
Inheritance graph
[legend]
Collaboration diagram for DXVA::CDecoder:
Collaboration graph
[legend]

Public Member Functions

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
 
CDVDVideoCodec::VCReturn Check (AVCodecContext *avctx) override
 
const std::string Name () override
 
unsigned GetAllowedReferences () override
 
void Reset () override
 
bool OpenDecoder ()
 
int GetBuffer (AVCodecContext *avctx, AVFrame *pic)
 
void ReleaseBuffer (uint8_t *data)
 
void Close ()
 
void CloseDXVADecoder ()
 
- Public Member Functions inherited from IHardwareDecoder
virtual bool CanSkipDeint ()
 
virtual void SetCodecControl (int flags)
 
- Public Member Functions inherited from IDVDResourceCounted< IHardwareDecoder >
 IDVDResourceCounted (const IDVDResourceCounted &)=delete
 
IDVDResourceCountedoperator= (const IDVDResourceCounted &)=delete
 
virtual IHardwareDecoderAcquire ()
 
virtual long Release ()
 

Static Public Member Functions

static IHardwareDecoderCreate (CDVDStreamInfo &hint, CProcessInfo &processInfo, AVPixelFormat fmt)
 
static bool Register ()
 
static bool Supports (enum AVPixelFormat fmt)
 
static int FFGetBuffer (AVCodecContext *avctx, AVFrame *pic, int flags)
 
static void FFReleaseBuffer (void *opaque, uint8_t *data)
 

Protected Types

enum  EDeviceState { DXVA_OPEN, DXVA_RESET, DXVA_LOST }
 

Protected Member Functions

 CDecoder (CProcessInfo &processInfo)
 
void OnCreateDevice () override
 
void OnDestroyDevice (bool fatal) override
 
- Protected Member Functions inherited from ID3DResource
void Register ()
 
void Unregister ()
 

Protected Attributes

friend CVideoBuffer
 
friend CVideoBufferShared
 
friend CVideoBufferCopy
 
enum DXVA::CDecoder::EDeviceState m_state = DXVA_OPEN
 
CEvent m_event
 
CCriticalSection m_section
 
CProcessInfom_processInfo
 
Microsoft::WRL::ComPtr< ID3D11VideoDecoder > m_pD3D11Decoder
 
Microsoft::WRL::ComPtr< ID3D11VideoContext > m_pD3D11Context
 
CVideoBufferPool::shared_ptr m_bufferPool
 
CContext::shared_ptr m_dxvaContext
 
CVideoBufferm_videoBuffer = nullptr
 
struct AVD3D11VAContext * m_avD3D11Context = nullptr
 
int m_refs = 0
 
unsigned int m_shared = 0
 
unsigned int m_surface_alignment = 0
 
HANDLE m_sharedHandle = INVALID_HANDLE_VALUE
 
D3D11_VIDEO_DECODER_DESC m_format = {}
 
bool m_DVDWorkaround = false
 
- Protected Attributes inherited from ID3DResource
bool m_bRegistered = false
 

Additional Inherited Members

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

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