1 /*
2  *  Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 #include <stddef.h>
12 
13 #include "api/test/videocodec_test_fixture.h"
14 #include "api/video_codecs/video_codec.h"
15 #include "test/gmock.h"
16 #include "test/gtest.h"
17 #include "test/video_codec_settings.h"
18 
19 using ::testing::ElementsAre;
20 
21 namespace webrtc {
22 namespace test {
23 
24 using Config = VideoCodecTestFixture::Config;
25 
26 namespace {
27 const size_t kNumTemporalLayers = 2;
28 }  // namespace
29 
TEST(Config,NumberOfCoresWithUseSingleCore)30 TEST(Config, NumberOfCoresWithUseSingleCore) {
31   Config config;
32   config.use_single_core = true;
33   EXPECT_EQ(1u, config.NumberOfCores());
34 }
35 
TEST(Config,NumberOfCoresWithoutUseSingleCore)36 TEST(Config, NumberOfCoresWithoutUseSingleCore) {
37   Config config;
38   config.use_single_core = false;
39   EXPECT_GE(config.NumberOfCores(), 1u);
40 }
41 
TEST(Config,NumberOfTemporalLayersIsOne)42 TEST(Config, NumberOfTemporalLayersIsOne) {
43   Config config;
44   webrtc::test::CodecSettings(kVideoCodecH264, &config.codec_settings);
45   EXPECT_EQ(1u, config.NumberOfTemporalLayers());
46 }
47 
TEST(Config,NumberOfTemporalLayers_Vp8)48 TEST(Config, NumberOfTemporalLayers_Vp8) {
49   Config config;
50   webrtc::test::CodecSettings(kVideoCodecVP8, &config.codec_settings);
51   config.codec_settings.VP8()->numberOfTemporalLayers = kNumTemporalLayers;
52   EXPECT_EQ(kNumTemporalLayers, config.NumberOfTemporalLayers());
53 }
54 
TEST(Config,NumberOfTemporalLayers_Vp9)55 TEST(Config, NumberOfTemporalLayers_Vp9) {
56   Config config;
57   webrtc::test::CodecSettings(kVideoCodecVP9, &config.codec_settings);
58   config.codec_settings.VP9()->numberOfTemporalLayers = kNumTemporalLayers;
59   EXPECT_EQ(kNumTemporalLayers, config.NumberOfTemporalLayers());
60 }
61 
62 }  // namespace test
63 }  // namespace webrtc
64