2 * Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
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.
10 #ifndef TEST_VIDEO_CODEC_SETTINGS_H_
11 #define TEST_VIDEO_CODEC_SETTINGS_H_
13 #include "api/video_codecs/video_encoder.h"
18 const uint16_t kTestWidth
= 352;
19 const uint16_t kTestHeight
= 288;
20 const uint32_t kTestFrameRate
= 30;
21 const unsigned int kTestMinBitrateKbps
= 30;
22 const unsigned int kTestStartBitrateKbps
= 300;
23 const uint8_t kTestPayloadType
= 100;
24 const int64_t kTestTimingFramesDelayMs
= 200;
25 const uint16_t kTestOutlierFrameSizePercent
= 250;
27 static void CodecSettings(VideoCodecType codec_type
, VideoCodec
* settings
) {
30 settings
->width
= kTestWidth
;
31 settings
->height
= kTestHeight
;
33 settings
->startBitrate
= kTestStartBitrateKbps
;
34 settings
->maxBitrate
= 0;
35 settings
->minBitrate
= kTestMinBitrateKbps
;
37 settings
->maxFramerate
= kTestFrameRate
;
39 settings
->active
= true;
41 settings
->qpMax
= 56; // See webrtcvideoengine.h.
42 settings
->numberOfSimulcastStreams
= 0;
44 settings
->timing_frame_thresholds
= {
45 kTestTimingFramesDelayMs
,
46 kTestOutlierFrameSizePercent
,
49 settings
->codecType
= codec_type
;
52 *(settings
->VP8()) = VideoEncoder::GetDefaultVp8Settings();
55 *(settings
->VP9()) = VideoEncoder::GetDefaultVp9Settings();
58 // TODO(brandtr): Set `qpMax` here, when the OpenH264 wrapper supports it.
59 *(settings
->H264()) = VideoEncoder::GetDefaultH264Settings();
68 #endif // TEST_VIDEO_CODEC_SETTINGS_H_