| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/common/gpu/media/dxva_video_decode_accelerator.h" | 5 #include "content/common/gpu/media/dxva_video_decode_accelerator.h" |
| 6 | 6 |
| 7 #if !defined(OS_WIN) | 7 #if !defined(OS_WIN) |
| 8 #error This file should only be built on Windows. | 8 #error This file should only be built on Windows. |
| 9 #endif // !defined(OS_WIN) | 9 #endif // !defined(OS_WIN) |
| 10 | 10 |
| 11 #include <ks.h> | 11 #include <ks.h> |
| 12 #include <codecapi.h> | 12 #include <codecapi.h> |
| 13 #include <dxgi1_2.h> | 13 #include <dxgi1_2.h> |
| 14 #include <mfapi.h> | 14 #include <mfapi.h> |
| 15 #include <mferror.h> | 15 #include <mferror.h> |
| 16 #include <ntverp.h> |
| 16 #include <wmcodecdsp.h> | 17 #include <wmcodecdsp.h> |
| 17 | 18 |
| 18 #include "base/base_paths_win.h" | 19 #include "base/base_paths_win.h" |
| 19 #include "base/bind.h" | 20 #include "base/bind.h" |
| 20 #include "base/callback.h" | 21 #include "base/callback.h" |
| 21 #include "base/command_line.h" | 22 #include "base/command_line.h" |
| 22 #include "base/debug/alias.h" | 23 #include "base/debug/alias.h" |
| 23 #include "base/file_version_info.h" | 24 #include "base/file_version_info.h" |
| 24 #include "base/files/file_path.h" | 25 #include "base/files/file_path.h" |
| 25 #include "base/logging.h" | 26 #include "base/logging.h" |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 | 83 |
| 83 const CLSID MEDIASUBTYPE_VP90 = { | 84 const CLSID MEDIASUBTYPE_VP90 = { |
| 84 0x30395056, | 85 0x30395056, |
| 85 0x0000, | 86 0x0000, |
| 86 0x0010, | 87 0x0010, |
| 87 { 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71 } | 88 { 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71 } |
| 88 }; | 89 }; |
| 89 | 90 |
| 90 // The CLSID of the video processor media foundation transform which we use for | 91 // The CLSID of the video processor media foundation transform which we use for |
| 91 // texture color conversion in DX11. | 92 // texture color conversion in DX11. |
| 93 // Defined in mfidl.h in the Windows 10 SDK. ntverp.h provides VER_PRODUCTBUILD |
| 94 // to detect which SDK we are compiling with. |
| 95 #if VER_PRODUCTBUILD < 10011 // VER_PRODUCTBUILD for 10.0.10158.0 SDK. |
| 92 DEFINE_GUID(CLSID_VideoProcessorMFT, | 96 DEFINE_GUID(CLSID_VideoProcessorMFT, |
| 93 0x88753b26, 0x5b24, 0x49bd, 0xb2, 0xe7, 0xc, 0x44, 0x5c, 0x78, | 97 0x88753b26, 0x5b24, 0x49bd, 0xb2, 0xe7, 0xc, 0x44, 0x5c, 0x78, |
| 94 0xc9, 0x82); | 98 0xc9, 0x82); |
| 99 #endif |
| 95 | 100 |
| 96 // MF_XVP_PLAYBACK_MODE | 101 // MF_XVP_PLAYBACK_MODE |
| 97 // Data type: UINT32 (treat as BOOL) | 102 // Data type: UINT32 (treat as BOOL) |
| 98 // If this attribute is TRUE, the video processor will run in playback mode | 103 // If this attribute is TRUE, the video processor will run in playback mode |
| 99 // where it allows callers to allocate output samples and allows last frame | 104 // where it allows callers to allocate output samples and allows last frame |
| 100 // regeneration (repaint). | 105 // regeneration (repaint). |
| 101 DEFINE_GUID(MF_XVP_PLAYBACK_MODE, 0x3c5d293f, 0xad67, 0x4e29, 0xaf, 0x12, | 106 DEFINE_GUID(MF_XVP_PLAYBACK_MODE, 0x3c5d293f, 0xad67, 0x4e29, 0xaf, 0x12, |
| 102 0xcf, 0x3e, 0x23, 0x8a, 0xcc, 0xe9); | 107 0xcf, 0x3e, 0x23, 0x8a, 0xcc, 0xe9); |
| 103 | 108 |
| 104 } // namespace | 109 } // namespace |
| (...skipping 2093 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2198 D3DSURFACE_DESC surface_desc; | 2203 D3DSURFACE_DESC surface_desc; |
| 2199 hr = surface->GetDesc(&surface_desc); | 2204 hr = surface->GetDesc(&surface_desc); |
| 2200 RETURN_ON_HR_FAILURE(hr, "Failed to get surface description", false); | 2205 RETURN_ON_HR_FAILURE(hr, "Failed to get surface description", false); |
| 2201 *width = surface_desc.Width; | 2206 *width = surface_desc.Width; |
| 2202 *height = surface_desc.Height; | 2207 *height = surface_desc.Height; |
| 2203 } | 2208 } |
| 2204 return true; | 2209 return true; |
| 2205 } | 2210 } |
| 2206 | 2211 |
| 2207 } // namespace content | 2212 } // namespace content |
| OLD | NEW |