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