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

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: address patch set 9 review comments Created 5 years, 12 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 742 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 } 753 }
754 754
755 bool DXVAVideoDecodeAccelerator::CanDecodeOnIOThread() { 755 bool DXVAVideoDecodeAccelerator::CanDecodeOnIOThread() {
756 return false; 756 return false;
757 } 757 }
758 758
759 GLenum DXVAVideoDecodeAccelerator::GetSurfaceInternalFormat() const { 759 GLenum DXVAVideoDecodeAccelerator::GetSurfaceInternalFormat() const {
760 return GL_BGRA_EXT; 760 return GL_BGRA_EXT;
761 } 761 }
762 762
763 // static
764 media::VideoDecodeAccelerator::SupportedResolution
765 DXVAVideoDecodeAccelerator::GetSupportedResolution() {
766 media::VideoDecodeAccelerator::SupportedResolution resolution;
767 // Windows Media Foundation H.264 decoding does not support decoding videos
768 // with any dimension smaller than 48 pixels:
769 // http://msdn.microsoft.com/en-us/library/windows/desktop/dd797815
770 resolution.min.SetSize(48, 48);
771 // Use 1088 to account for 16x16 macroblocks.
772 resolution.max.SetSize(1920, 1088);
773 return resolution;
774 }
775
763 bool DXVAVideoDecodeAccelerator::InitDecoder(media::VideoCodecProfile profile) { 776 bool DXVAVideoDecodeAccelerator::InitDecoder(media::VideoCodecProfile profile) {
764 HMODULE decoder_dll = NULL; 777 HMODULE decoder_dll = NULL;
765 778
766 // Profile must fall within the valid range for one of the supported codecs. 779 // Profile must fall within the valid range for one of the supported codecs.
767 if (profile >= media::H264PROFILE_MIN && profile <= media::H264PROFILE_MAX) { 780 if (profile >= media::H264PROFILE_MIN && profile <= media::H264PROFILE_MAX) {
768 // We mimic the steps CoCreateInstance uses to instantiate the object. This 781 // We mimic the steps CoCreateInstance uses to instantiate the object. This
769 // was previously done because it failed inside the sandbox, and now is done 782 // was previously done because it failed inside the sandbox, and now is done
770 // as a more minimal approach to avoid other side-effects CCI might have (as 783 // as a more minimal approach to avoid other side-effects CCI might have (as
771 // we are still in a reduced sandbox). 784 // we are still in a reduced sandbox).
772 decoder_dll = ::LoadLibrary(L"msmpeg2vdec.dll"); 785 decoder_dll = ::LoadLibrary(L"msmpeg2vdec.dll");
(...skipping 841 matching lines...) Expand 10 before | Expand all | Expand 10 after
1614 FROM_HERE, 1627 FROM_HERE,
1615 base::Bind(&DXVAVideoDecodeAccelerator::CopySurfaceComplete, 1628 base::Bind(&DXVAVideoDecodeAccelerator::CopySurfaceComplete,
1616 weak_this_factory_.GetWeakPtr(), 1629 weak_this_factory_.GetWeakPtr(),
1617 src_surface, 1630 src_surface,
1618 dest_surface, 1631 dest_surface,
1619 picture_buffer_id, 1632 picture_buffer_id,
1620 input_buffer_id)); 1633 input_buffer_id));
1621 } 1634 }
1622 1635
1623 } // namespace content 1636 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698