OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 helper_->factory()->encoders()[stream_index]->codec(); | 277 helper_->factory()->encoders()[stream_index]->codec(); |
278 EXPECT_EQ(ref.codecType, target.codecType); | 278 EXPECT_EQ(ref.codecType, target.codecType); |
279 EXPECT_EQ(0, strcmp(ref.plName, target.plName)); | 279 EXPECT_EQ(0, strcmp(ref.plName, target.plName)); |
280 EXPECT_EQ(ref.plType, target.plType); | 280 EXPECT_EQ(ref.plType, target.plType); |
281 EXPECT_EQ(ref.width, target.width); | 281 EXPECT_EQ(ref.width, target.width); |
282 EXPECT_EQ(ref.height, target.height); | 282 EXPECT_EQ(ref.height, target.height); |
283 EXPECT_EQ(ref.startBitrate, target.startBitrate); | 283 EXPECT_EQ(ref.startBitrate, target.startBitrate); |
284 EXPECT_EQ(ref.maxBitrate, target.maxBitrate); | 284 EXPECT_EQ(ref.maxBitrate, target.maxBitrate); |
285 EXPECT_EQ(ref.minBitrate, target.minBitrate); | 285 EXPECT_EQ(ref.minBitrate, target.minBitrate); |
286 EXPECT_EQ(ref.maxFramerate, target.maxFramerate); | 286 EXPECT_EQ(ref.maxFramerate, target.maxFramerate); |
287 EXPECT_EQ(ref.codecSpecific.VP8.pictureLossIndicationOn, | 287 EXPECT_EQ(ref.VP8().pictureLossIndicationOn, |
288 target.codecSpecific.VP8.pictureLossIndicationOn); | 288 target.VP8().pictureLossIndicationOn); |
289 EXPECT_EQ(ref.codecSpecific.VP8.feedbackModeOn, | 289 EXPECT_EQ(ref.VP8().feedbackModeOn, target.VP8().feedbackModeOn); |
290 target.codecSpecific.VP8.feedbackModeOn); | 290 EXPECT_EQ(ref.VP8().complexity, target.VP8().complexity); |
291 EXPECT_EQ(ref.codecSpecific.VP8.complexity, | 291 EXPECT_EQ(ref.VP8().resilience, target.VP8().resilience); |
292 target.codecSpecific.VP8.complexity); | 292 EXPECT_EQ(ref.VP8().numberOfTemporalLayers, |
293 EXPECT_EQ(ref.codecSpecific.VP8.resilience, | 293 target.VP8().numberOfTemporalLayers); |
294 target.codecSpecific.VP8.resilience); | 294 EXPECT_EQ(ref.VP8().denoisingOn, target.VP8().denoisingOn); |
295 EXPECT_EQ(ref.codecSpecific.VP8.numberOfTemporalLayers, | 295 EXPECT_EQ(ref.VP8().errorConcealmentOn, target.VP8().errorConcealmentOn); |
296 target.codecSpecific.VP8.numberOfTemporalLayers); | 296 EXPECT_EQ(ref.VP8().automaticResizeOn, target.VP8().automaticResizeOn); |
297 EXPECT_EQ(ref.codecSpecific.VP8.denoisingOn, | 297 EXPECT_EQ(ref.VP8().frameDroppingOn, target.VP8().frameDroppingOn); |
298 target.codecSpecific.VP8.denoisingOn); | 298 EXPECT_EQ(ref.VP8().keyFrameInterval, target.VP8().keyFrameInterval); |
299 EXPECT_EQ(ref.codecSpecific.VP8.errorConcealmentOn, | 299 EXPECT_EQ(ref.VP8().tl_factory, target.VP8().tl_factory); |
300 target.codecSpecific.VP8.errorConcealmentOn); | |
301 EXPECT_EQ(ref.codecSpecific.VP8.automaticResizeOn, | |
302 target.codecSpecific.VP8.automaticResizeOn); | |
303 EXPECT_EQ(ref.codecSpecific.VP8.frameDroppingOn, | |
304 target.codecSpecific.VP8.frameDroppingOn); | |
305 EXPECT_EQ(ref.codecSpecific.VP8.keyFrameInterval, | |
306 target.codecSpecific.VP8.keyFrameInterval); | |
307 EXPECT_EQ(ref.codecSpecific.VP8.tl_factory, | |
308 target.codecSpecific.VP8.tl_factory); | |
309 EXPECT_EQ(ref.qpMax, target.qpMax); | 300 EXPECT_EQ(ref.qpMax, target.qpMax); |
310 EXPECT_EQ(0, target.numberOfSimulcastStreams); | 301 EXPECT_EQ(0, target.numberOfSimulcastStreams); |
311 EXPECT_EQ(ref.mode, target.mode); | 302 EXPECT_EQ(ref.mode, target.mode); |
312 | 303 |
313 // No need to compare simulcastStream as numberOfSimulcastStreams should | 304 // No need to compare simulcastStream as numberOfSimulcastStreams should |
314 // always be 0. | 305 // always be 0. |
315 } | 306 } |
316 | 307 |
317 void InitRefCodec(int stream_index, VideoCodec* ref_codec) { | 308 void InitRefCodec(int stream_index, VideoCodec* ref_codec) { |
318 *ref_codec = codec_; | 309 *ref_codec = codec_; |
319 ref_codec->codecSpecific.VP8.numberOfTemporalLayers = | 310 ref_codec->VP8()->numberOfTemporalLayers = |
320 kTestTemporalLayerProfile[stream_index]; | 311 kTestTemporalLayerProfile[stream_index]; |
321 ref_codec->width = codec_.simulcastStream[stream_index].width; | 312 ref_codec->width = codec_.simulcastStream[stream_index].width; |
322 ref_codec->height = codec_.simulcastStream[stream_index].height; | 313 ref_codec->height = codec_.simulcastStream[stream_index].height; |
323 ref_codec->maxBitrate = codec_.simulcastStream[stream_index].maxBitrate; | 314 ref_codec->maxBitrate = codec_.simulcastStream[stream_index].maxBitrate; |
324 ref_codec->minBitrate = codec_.simulcastStream[stream_index].minBitrate; | 315 ref_codec->minBitrate = codec_.simulcastStream[stream_index].minBitrate; |
325 ref_codec->qpMax = codec_.simulcastStream[stream_index].qpMax; | 316 ref_codec->qpMax = codec_.simulcastStream[stream_index].qpMax; |
326 } | 317 } |
327 | 318 |
328 void VerifyCodecSettings() { | 319 void VerifyCodecSettings() { |
329 EXPECT_EQ(3u, helper_->factory()->encoders().size()); | 320 EXPECT_EQ(3u, helper_->factory()->encoders().size()); |
330 VideoCodec ref_codec; | 321 VideoCodec ref_codec; |
331 | 322 |
332 // stream 0, the lowest resolution stream. | 323 // stream 0, the lowest resolution stream. |
333 InitRefCodec(0, &ref_codec); | 324 InitRefCodec(0, &ref_codec); |
334 ref_codec.qpMax = 45; | 325 ref_codec.qpMax = 45; |
335 ref_codec.codecSpecific.VP8.complexity = webrtc::kComplexityHigher; | 326 ref_codec.VP8()->complexity = webrtc::kComplexityHigher; |
336 ref_codec.codecSpecific.VP8.denoisingOn = false; | 327 ref_codec.VP8()->denoisingOn = false; |
337 ref_codec.startBitrate = 100; // Should equal to the target bitrate. | 328 ref_codec.startBitrate = 100; // Should equal to the target bitrate. |
338 VerifyCodec(ref_codec, 0); | 329 VerifyCodec(ref_codec, 0); |
339 | 330 |
340 // stream 1 | 331 // stream 1 |
341 InitRefCodec(1, &ref_codec); | 332 InitRefCodec(1, &ref_codec); |
342 ref_codec.codecSpecific.VP8.denoisingOn = false; | 333 ref_codec.VP8()->denoisingOn = false; |
343 // The start bitrate (300kbit) minus what we have for the lower layers | 334 // The start bitrate (300kbit) minus what we have for the lower layers |
344 // (100kbit). | 335 // (100kbit). |
345 ref_codec.startBitrate = 200; | 336 ref_codec.startBitrate = 200; |
346 VerifyCodec(ref_codec, 1); | 337 VerifyCodec(ref_codec, 1); |
347 | 338 |
348 // stream 2, the biggest resolution stream. | 339 // stream 2, the biggest resolution stream. |
349 InitRefCodec(2, &ref_codec); | 340 InitRefCodec(2, &ref_codec); |
350 // We don't have enough bits to send this, so the adapter should have | 341 // We don't have enough bits to send this, so the adapter should have |
351 // configured it to use the min bitrate for this layer (600kbit) but turn | 342 // configured it to use the min bitrate for this layer (600kbit) but turn |
352 // off sending. | 343 // off sending. |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 EXPECT_EQ(0, adapter_->InitEncode(&codec_, 1, 1200)); | 446 EXPECT_EQ(0, adapter_->InitEncode(&codec_, 1, 1200)); |
456 adapter_->RegisterEncodeCompleteCallback(this); | 447 adapter_->RegisterEncodeCompleteCallback(this); |
457 ASSERT_EQ(3u, helper_->factory()->encoders().size()); | 448 ASSERT_EQ(3u, helper_->factory()->encoders().size()); |
458 for (MockVideoEncoder* encoder : helper_->factory()->encoders()) | 449 for (MockVideoEncoder* encoder : helper_->factory()->encoders()) |
459 encoder->set_supports_native_handle(true); | 450 encoder->set_supports_native_handle(true); |
460 EXPECT_FALSE(adapter_->SupportsNativeHandle()); | 451 EXPECT_FALSE(adapter_->SupportsNativeHandle()); |
461 } | 452 } |
462 | 453 |
463 } // namespace testing | 454 } // namespace testing |
464 } // namespace webrtc | 455 } // namespace webrtc |
OLD | NEW |