Twitch SDK (Internal)
inteld3dallocator.h
Go to the documentation of this file.
1 /********************************************************************************************
2 * Twitch Broadcasting SDK
3 *
4 * This software is supplied under the terms of a license agreement with Twitch Interactive, Inc. and
5 * may not be copied or used except in accordance with the terms of that agreement
6 * Copyright (c) 2012-2016 Twitch Interactive, Inc.
7 *********************************************************************************************/
8 
9 
10 /* ****************************************************************************** *\
11 
12 INTEL CORPORATION PROPRIETARY INFORMATION
13 This software is supplied under the terms of a license agreement or nondisclosure
14 agreement with Intel Corporation and may not be copied or disclosed except in
15 accordance with the terms of that agreement
16 Copyright(c) 2008-2011 Intel Corporation. All Rights Reserved.
17 
18 \* ****************************************************************************** */
19 
20 #pragma once
21 
23 #include <atlbase.h>
24 #include <dxva2api.h>
25 
26 namespace ttv
27 {
28  namespace broadcast
29  {
30  struct D3DAllocatorParams;
31  class D3DFrameAllocator;
32 
34  {
37  };
38  }
39 }
40 
41 
43 {
44  IDirect3DDeviceManager9 *pManager;
45 };
46 
48 {
49 public:
51  virtual ~D3DFrameAllocator();
52 
53  virtual mfxStatus Init(mfxAllocatorParams *pParams);
54  virtual mfxStatus Close();
55 
56  virtual IDirect3DDeviceManager9* GetDeviceManager()
57  {
58  return m_manager;
59  };
60 
61 protected:
62  virtual mfxStatus LockFrame(mfxMemId mid, mfxFrameData *ptr);
63  virtual mfxStatus UnlockFrame(mfxMemId mid, mfxFrameData *ptr);
64  virtual mfxStatus GetFrameHDL(mfxMemId mid, mfxHDL *handle);
65 
66  virtual mfxStatus CheckRequestType(mfxFrameAllocRequest *request);
67  virtual mfxStatus ReleaseResponse(mfxFrameAllocResponse *response);
68  virtual mfxStatus AllocImpl(mfxFrameAllocRequest *request, mfxFrameAllocResponse *response);
69 
70  CComPtr<IDirect3DDeviceManager9> m_manager;
71  CComPtr<IDirectXVideoDecoderService> m_decoderService;
72  CComPtr<IDirectXVideoProcessorService> m_processorService;
73  HANDLE m_hDecoder;
74  HANDLE m_hProcessor;
75 };
IDirect3DDeviceManager9 * pManager
Definition: inteld3dallocator.h:44
Definition: intelbaseallocator.h:36
CComPtr< IDirectXVideoProcessorService > m_processorService
Definition: inteld3dallocator.h:72
HANDLE m_hProcessor
Definition: inteld3dallocator.h:74
Definition: inteld3dallocator.h:36
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
CComPtr< IDirect3DDeviceManager9 > m_manager
Definition: inteld3dallocator.h:70
Definition: inteld3dallocator.h:35
Definition: inteld3dallocator.h:42
CComPtr< IDirectXVideoDecoderService > m_decoderService
Definition: inteld3dallocator.h:71
HANDLE m_hDecoder
Definition: inteld3dallocator.h:73
Definition: intelbaseallocator.h:76
virtual IDirect3DDeviceManager9 * GetDeviceManager()
Definition: inteld3dallocator.h:56
eTypeHandle
Definition: inteld3dallocator.h:33
Definition: inteld3dallocator.h:47