Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(282)

Side by Side Diff: content/common/gpu/media/dxva_video_decode_accelerator.cc

Issue 795633005: Add VDA supported profile to GPUInfo. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
(...skipping 740 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 } 751 }
752 752
753 bool DXVAVideoDecodeAccelerator::CanDecodeOnIOThread() { 753 bool DXVAVideoDecodeAccelerator::CanDecodeOnIOThread() {
754 return false; 754 return false;
755 } 755 }
756 756
757 GLenum DXVAVideoDecodeAccelerator::GetSurfaceInternalFormat() const { 757 GLenum DXVAVideoDecodeAccelerator::GetSurfaceInternalFormat() const {
758 return GL_BGRA_EXT; 758 return GL_BGRA_EXT;
759 } 759 }
760 760
761 // static
762 media::VideoDecodeAccelerator::SupportedResolution
763 DXVAVideoDecodeAccelerator::GetSupportedResolution() {
764 media::VideoDecodeAccelerator::SupportedResolution resolution;
765 // Windows Media Foundation H.264 decoding does not support decoding videos
766 // with any dimension smaller than 48 pixels:
767 // http://msdn.microsoft.com/en-us/library/windows/desktop/dd797815
768 resolution.min.SetSize(48, 48);
769 // Use 1088 to account for 16x16 macroblocks.
770 resolution.max.SetSize(1920, 1088);
771 return resolution;
772 }
773
761 bool DXVAVideoDecodeAccelerator::InitDecoder(media::VideoCodecProfile profile) { 774 bool DXVAVideoDecodeAccelerator::InitDecoder(media::VideoCodecProfile profile) {
762 HMODULE decoder_dll = NULL; 775 HMODULE decoder_dll = NULL;
763 776
764 // Profile must fall within the valid range for one of the supported codecs. 777 // Profile must fall within the valid range for one of the supported codecs.
765 if (profile >= media::H264PROFILE_MIN && profile <= media::H264PROFILE_MAX) { 778 if (profile >= media::H264PROFILE_MIN && profile <= media::H264PROFILE_MAX) {
766 // We mimic the steps CoCreateInstance uses to instantiate the object. This 779 // We mimic the steps CoCreateInstance uses to instantiate the object. This
767 // was previously done because it failed inside the sandbox, and now is done 780 // was previously done because it failed inside the sandbox, and now is done
768 // as a more minimal approach to avoid other side-effects CCI might have (as 781 // as a more minimal approach to avoid other side-effects CCI might have (as
769 // we are still in a reduced sandbox). 782 // we are still in a reduced sandbox).
770 decoder_dll = ::LoadLibrary(L"msmpeg2vdec.dll"); 783 decoder_dll = ::LoadLibrary(L"msmpeg2vdec.dll");
(...skipping 853 matching lines...) Expand 10 before | Expand all | Expand 10 after
1624 FROM_HERE, 1637 FROM_HERE,
1625 base::Bind(&DXVAVideoDecodeAccelerator::CopySurfaceComplete, 1638 base::Bind(&DXVAVideoDecodeAccelerator::CopySurfaceComplete,
1626 weak_this_factory_.GetWeakPtr(), 1639 weak_this_factory_.GetWeakPtr(),
1627 src_surface, 1640 src_surface,
1628 dest_surface, 1641 dest_surface,
1629 picture_buffer_id, 1642 picture_buffer_id,
1630 input_buffer_id)); 1643 input_buffer_id));
1631 } 1644 }
1632 1645
1633 } // namespace content 1646 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698