aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Fedchin <afedchin@ruswizards.com>2016-04-24 23:29:38 +0300
committerAnton Fedchin <afedchin@ruswizards.com>2016-04-24 23:29:38 +0300
commit49e0ddebe5945685929501c1740a5540fb64029b (patch)
tree177359818355c8aba6ec0714c9242d6e9e17d3d3
parent39542765368b2f913f49d0a6e4fe91e159b2df74 (diff)
[dxva] cosmetics.
-rw-r--r--xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.cpp2
-rw-r--r--xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.h73
2 files changed, 40 insertions, 35 deletions
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.cpp
index 2b959135f3..f8730c5abf 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.cpp
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.cpp
@@ -671,7 +671,7 @@ bool CSurfaceContext::HasRefs()
}
//-----------------------------------------------------------------------------
-// DXVA RednerPictures
+// DXVA RenderPictures
//-----------------------------------------------------------------------------
CRenderPicture::CRenderPicture(CSurfaceContext *context)
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.h b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.h
index 5cf14ae6e6..ab756f74c1 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.h
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.h
@@ -72,6 +72,7 @@ public:
CRenderPicture(CSurfaceContext *context);
~CRenderPicture();
ID3D11View* view;
+
protected:
CSurfaceContext *surface_context;
};
@@ -87,6 +88,7 @@ public:
bool CreateDecoder(D3D11_VIDEO_DECODER_DESC *format, const D3D11_VIDEO_DECODER_CONFIG *config, ID3D11VideoDecoder **decoder, ID3D11VideoContext **context);
void Release(CDecoder *decoder);
ID3D11VideoContext* GetVideoContext() { return m_vcontext; }
+
private:
CDXVAContext();
void Close();
@@ -94,8 +96,10 @@ private:
void DestroyContext();
void QueryCaps();
bool IsValidDecoder(CDecoder *decoder);
+
static CDXVAContext *m_context;
static CCriticalSection m_section;
+
ID3D11VideoContext* m_vcontext;
ID3D11VideoDevice* m_service;
int m_refCount;
@@ -112,23 +116,26 @@ class CDecoder
public:
CDecoder();
~CDecoder();
- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces);
- virtual int Decode (AVCodecContext* avctx, AVFrame* frame);
- virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
- virtual int Check (AVCodecContext* avctx);
- virtual void Close();
- virtual const std::string Name() { return "d3d11va"; }
- virtual unsigned GetAllowedReferences();
- virtual long Release();
- bool OpenDecoder();
- int GetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags);
- void RelBuffer(uint8_t *data);
+ // IHardwareDecoder overrides
+ bool Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces) override;
+ int Decode(AVCodecContext* avctx, AVFrame* frame) override;
+ bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture) override;
+ int Check(AVCodecContext* avctx) override;
+ const std::string Name() override { return "d3d11va"; }
+ unsigned GetAllowedReferences() override;
- static bool Supports(enum AVPixelFormat fmt);
+ // IDVDResourceCounted overrides
+ long Release() override;
+ bool OpenDecoder();
+ int GetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags);
+ void RelBuffer(uint8_t *data);
+ void Close();
void CloseDXVADecoder();
+ static bool Supports(enum AVPixelFormat fmt);
+
protected:
enum EDeviceState
{ DXVA_OPEN
@@ -136,28 +143,26 @@ protected:
, DXVA_LOST
} m_state;
- virtual void OnCreateDevice() {}
- virtual void OnDestroyDevice() { CSingleLock lock(m_section); m_state = DXVA_LOST; m_event.Reset(); }
- virtual void OnLostDevice() { CSingleLock lock(m_section); m_state = DXVA_LOST; m_event.Reset(); }
- virtual void OnResetDevice() { CSingleLock lock(m_section); m_state = DXVA_RESET; m_event.Set(); }
-
- ID3D11VideoDecoder* m_decoder;
- ID3D11VideoContext* m_vcontext;
- HANDLE m_device;
- D3D11_VIDEO_DECODER_DESC m_format;
- int m_refs;
- CRenderPicture *m_presentPicture;
-
- struct AVD3D11VAContext* m_context;
-
- CSurfaceContext* m_surface_context;
- CDXVAContext* m_dxva_context;
- AVCodecContext* m_avctx;
-
- unsigned int m_shared;
- unsigned int m_surface_alignment;
- CCriticalSection m_section;
- CEvent m_event;
+ // ID3DResource overrides
+ void OnCreateDevice() override {}
+ void OnDestroyDevice() override { CSingleLock lock(m_section); m_state = DXVA_LOST; m_event.Reset(); }
+ void OnLostDevice() override { CSingleLock lock(m_section); m_state = DXVA_LOST; m_event.Reset(); }
+ void OnResetDevice() override { CSingleLock lock(m_section); m_state = DXVA_RESET; m_event.Set(); }
+
+ int m_refs;
+ HANDLE m_device;
+ ID3D11VideoDecoder *m_decoder;
+ ID3D11VideoContext *m_vcontext;
+ D3D11_VIDEO_DECODER_DESC m_format;
+ CRenderPicture *m_presentPicture;
+ struct AVD3D11VAContext *m_context;
+ CSurfaceContext *m_surface_context;
+ CDXVAContext *m_dxva_context;
+ AVCodecContext *m_avctx;
+ unsigned int m_shared;
+ unsigned int m_surface_alignment;
+ CCriticalSection m_section;
+ CEvent m_event;
};
};