| // Copyright 2015 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/base/limits.h" |
| #include "media/base/media_util.h" |
| #include "media/base/video_decoder_config.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace media { |
| |
| static const gfx::Size kCodedSize(320, 240); |
| static const gfx::Rect kVisibleRect(320, 240); |
| static const gfx::Size kNaturalSize(320, 240); |
| |
| TEST(VideoDecoderConfigTest, AlphaModeSetCorrectly) { |
| VideoDecoderConfig config(VideoCodec::kVP8, VIDEO_CODEC_PROFILE_UNKNOWN, |
| VideoDecoderConfig::AlphaMode::kIsOpaque, |
| VideoColorSpace(), kNoTransformation, kCodedSize, |
| kVisibleRect, kNaturalSize, EmptyExtraData(), |
| EncryptionScheme::kUnencrypted); |
| EXPECT_TRUE(config.IsValidConfig()); |
| EXPECT_EQ(config.alpha_mode(), VideoDecoderConfig::AlphaMode::kIsOpaque); |
| |
| config.Initialize(VideoCodec::kVP8, VIDEO_CODEC_PROFILE_UNKNOWN, |
| VideoDecoderConfig::AlphaMode::kHasAlpha, VideoColorSpace(), |
| kNoTransformation, kCodedSize, kVisibleRect, kNaturalSize, |
| EmptyExtraData(), EncryptionScheme::kUnencrypted); |
| EXPECT_EQ(config.alpha_mode(), VideoDecoderConfig::AlphaMode::kHasAlpha); |
| } |
| |
| TEST(VideoDecoderConfigTest, SetProfile) { |
| VideoDecoderConfig config(VideoCodec::kVP9, VP9PROFILE_PROFILE0, |
| VideoDecoderConfig::AlphaMode::kIsOpaque, |
| VideoColorSpace(), kNoTransformation, kCodedSize, |
| kVisibleRect, kNaturalSize, EmptyExtraData(), |
| EncryptionScheme::kUnencrypted); |
| config.set_profile(VP9PROFILE_PROFILE2); |
| EXPECT_EQ(config.profile(), VP9PROFILE_PROFILE2); |
| } |
| |
| } // namespace media |