summaryrefslogtreecommitdiffstats
path: root/media/mf/d3d_util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'media/mf/d3d_util.cc')
-rw-r--r--media/mf/d3d_util.cc89
1 files changed, 0 insertions, 89 deletions
diff --git a/media/mf/d3d_util.cc b/media/mf/d3d_util.cc
deleted file mode 100644
index a6639e4..0000000
--- a/media/mf/d3d_util.cc
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "media/mf/d3d_util.h"
-
-#include <d3d9.h>
-#include <dxva2api.h>
-
-#include "base/scoped_comptr_win.h"
-
-namespace media {
-
-IDirect3DDeviceManager9* CreateD3DDevManager(HWND video_window,
- IDirect3D9** direct3d,
- IDirect3DDevice9** device) {
- ScopedComPtr<IDirect3DDeviceManager9> dev_manager;
- ScopedComPtr<IDirect3D9> d3d;
- d3d.Attach(Direct3DCreate9(D3D_SDK_VERSION));
- if (d3d == NULL) {
- LOG(ERROR) << "Failed to create D3D9";
- return NULL;
- }
- D3DPRESENT_PARAMETERS present_params = {0};
-
- // Once we know the dimensions, we need to reset using
- // AdjustD3DDeviceBackBufferDimensions().
- present_params.BackBufferWidth = 0;
- present_params.BackBufferHeight = 0;
- present_params.BackBufferFormat = D3DFMT_UNKNOWN;
- present_params.BackBufferCount = 1;
- present_params.SwapEffect = D3DSWAPEFFECT_DISCARD;
- present_params.hDeviceWindow = video_window;
- present_params.Windowed = TRUE;
- present_params.Flags = D3DPRESENTFLAG_VIDEO;
- present_params.FullScreen_RefreshRateInHz = 0;
- present_params.PresentationInterval = 0;
-
- ScopedComPtr<IDirect3DDevice9> temp_device;
-
- // D3DCREATE_HARDWARE_VERTEXPROCESSING specifies hardware vertex processing.
- // (Is it even needed for just video decoding?)
- HRESULT hr = d3d->CreateDevice(D3DADAPTER_DEFAULT,
- D3DDEVTYPE_HAL,
- NULL,
- D3DCREATE_HARDWARE_VERTEXPROCESSING,
- &present_params,
- temp_device.Receive());
- if (FAILED(hr)) {
- LOG(ERROR) << "Failed to create D3D Device";
- return NULL;
- }
- UINT dev_manager_reset_token = 0;
- hr = DXVA2CreateDirect3DDeviceManager9(&dev_manager_reset_token,
- dev_manager.Receive());
- if (FAILED(hr)) {
- LOG(ERROR) << "Couldn't create D3D Device manager";
- return NULL;
- }
- hr = dev_manager->ResetDevice(temp_device.get(), dev_manager_reset_token);
- if (FAILED(hr)) {
- LOG(ERROR) << "Failed to set device to device manager";
- return NULL;
- }
- *direct3d = d3d.Detach();
- *device = temp_device.Detach();
- return dev_manager.Detach();
-}
-
-bool AdjustD3DDeviceBackBufferDimensions(IDirect3DDevice9* device,
- HWND video_window,
- int width,
- int height) {
- D3DPRESENT_PARAMETERS present_params = {0};
- present_params.BackBufferWidth = width;
- present_params.BackBufferHeight = height;
- present_params.BackBufferFormat = D3DFMT_UNKNOWN;
- present_params.BackBufferCount = 1;
- present_params.SwapEffect = D3DSWAPEFFECT_DISCARD;
- present_params.hDeviceWindow = video_window;
- present_params.Windowed = TRUE;
- present_params.Flags = D3DPRESENTFLAG_VIDEO;
- present_params.FullScreen_RefreshRateInHz = 0;
- present_params.PresentationInterval = 0;
-
- return SUCCEEDED(device->Reset(&present_params)) ? true : false;
-}
-
-} // namespace media