OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 #include <stdio.h> | 10 #include <stdio.h> |
11 | 11 |
12 #include "webrtc/test/gtest.h" | 12 #include "webrtc/test/gtest.h" |
13 #include "webrtc/video/video_quality_test.h" | 13 #include "webrtc/video/video_quality_test.h" |
14 | 14 |
15 namespace webrtc { | 15 namespace webrtc { |
16 | 16 |
17 #if defined(WEBRTC_ANDROID) || defined(WEBRTC_WIN) | |
18 // Fails on Android and win | |
kjellander_webrtc
2017/03/07 09:39:27
Please track fixing this in a bug that you add a r
ilnik
2017/03/07 09:54:07
50 thumbnails will be too large even without main
| |
19 #define MAYBE_FullStackTest DISABLED_FullStackTest | |
20 #else | |
21 #define MAYBE_FullStackTest FullStackTest | |
kjellander_webrtc
2017/03/07 09:39:27
If you're only looking for disabling a single test
ilnik
2017/03/07 09:54:07
Done.
| |
22 #endif | |
23 | |
17 static const int kFullStackTestDurationSecs = 45; | 24 static const int kFullStackTestDurationSecs = 45; |
18 | 25 |
19 class FullStackTest : public VideoQualityTest { | 26 class FullStackTest : public VideoQualityTest { |
20 public: | 27 public: |
21 void RunTest(const VideoQualityTest::Params ¶ms) { | 28 void RunTest(const VideoQualityTest::Params ¶ms) { |
22 RunWithAnalyzer(params); | 29 RunWithAnalyzer(params); |
23 } | 30 } |
24 }; | 31 }; |
25 | 32 |
26 // VideoQualityTest::Params params = { | 33 // VideoQualityTest::Params params = { |
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
357 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, | 364 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, |
358 kFullStackTestDurationSecs}; | 365 kFullStackTestDurationSecs}; |
359 screenshare.logs = false; | 366 screenshare.logs = false; |
360 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1}; | 367 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1}; |
361 RunTest(screenshare); | 368 RunTest(screenshare); |
362 } | 369 } |
363 | 370 |
364 TEST_F(FullStackTest, VP9SVC_3SL_High) { | 371 TEST_F(FullStackTest, VP9SVC_3SL_High) { |
365 VideoQualityTest::Params simulcast; | 372 VideoQualityTest::Params simulcast; |
366 simulcast.call.send_side_bwe = true; | 373 simulcast.call.send_side_bwe = true; |
367 simulcast.video = {true, 1280, 720, 50, | 374 simulcast.video = {true, 1280, 720, 30, |
368 800000, 2500000, 2500000, false, | 375 800000, 2500000, 2500000, false, |
369 "VP9", 1, 0, 400000, | 376 "VP9", 1, 0, 400000, |
370 false, false, "", "ConferenceMotion_1280_720_50"}; | 377 false, false, "", "ConferenceMotion_1280_720_50"}; |
371 simulcast.analyzer = {"vp9svc_3sl_high", 0.0, 0.0, | 378 simulcast.analyzer = {"vp9svc_3sl_high", 0.0, 0.0, |
372 kFullStackTestDurationSecs}; | 379 kFullStackTestDurationSecs}; |
373 simulcast.logs = false; | 380 simulcast.logs = false; |
374 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 2}; | 381 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 2}; |
375 RunTest(simulcast); | 382 RunTest(simulcast); |
376 } | 383 } |
377 | 384 |
378 TEST_F(FullStackTest, VP9SVC_3SL_Medium) { | 385 TEST_F(FullStackTest, VP9SVC_3SL_Medium) { |
379 VideoQualityTest::Params simulcast; | 386 VideoQualityTest::Params simulcast; |
380 simulcast.call.send_side_bwe = true; | 387 simulcast.call.send_side_bwe = true; |
381 simulcast.video = {true, 1280, 720, 50, | 388 simulcast.video = {true, 1280, 720, 30, |
382 800000, 2500000, 2500000, false, | 389 800000, 2500000, 2500000, false, |
383 "VP9", 1, 0, 400000, | 390 "VP9", 1, 0, 400000, |
384 false, false, "", "ConferenceMotion_1280_720_50"}; | 391 false, false, "", "ConferenceMotion_1280_720_50"}; |
385 simulcast.analyzer = {"vp9svc_3sl_medium", 0.0, 0.0, | 392 simulcast.analyzer = {"vp9svc_3sl_medium", 0.0, 0.0, |
386 kFullStackTestDurationSecs}; | 393 kFullStackTestDurationSecs}; |
387 simulcast.logs = false; | 394 simulcast.logs = false; |
388 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 1}; | 395 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 1}; |
389 RunTest(simulcast); | 396 RunTest(simulcast); |
390 } | 397 } |
391 | 398 |
392 TEST_F(FullStackTest, VP9SVC_3SL_Low) { | 399 TEST_F(FullStackTest, VP9SVC_3SL_Low) { |
393 VideoQualityTest::Params simulcast; | 400 VideoQualityTest::Params simulcast; |
394 simulcast.call.send_side_bwe = true; | 401 simulcast.call.send_side_bwe = true; |
395 simulcast.video = {true, 1280, 720, 50, | 402 simulcast.video = {true, 1280, 720, 30, |
396 800000, 2500000, 2500000, false, | 403 800000, 2500000, 2500000, false, |
397 "VP9", 1, 0, 400000, | 404 "VP9", 1, 0, 400000, |
398 false, false, "", "ConferenceMotion_1280_720_50"}; | 405 false, false, "", "ConferenceMotion_1280_720_50"}; |
399 simulcast.analyzer = {"vp9svc_3sl_low", 0.0, 0.0, kFullStackTestDurationSecs}; | 406 simulcast.analyzer = {"vp9svc_3sl_low", 0.0, 0.0, kFullStackTestDurationSecs}; |
400 simulcast.logs = false; | 407 simulcast.logs = false; |
401 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 0}; | 408 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 0}; |
402 RunTest(simulcast); | 409 RunTest(simulcast); |
403 } | 410 } |
404 #endif // !defined(RTC_DISABLE_VP9) | 411 #endif // !defined(RTC_DISABLE_VP9) |
405 | 412 |
406 TEST_F(FullStackTest, SimulcastVP8_3SL_High) { | 413 TEST_F(FullStackTest, SimulcastVP8_3SL_High) { |
407 VideoQualityTest::Params simulcast; | 414 VideoQualityTest::Params simulcast; |
408 simulcast.call.send_side_bwe = true; | 415 simulcast.call.send_side_bwe = true; |
409 simulcast.video = {true, 1280, 720, 50, | 416 simulcast.video = {true, 1280, 720, 30, |
410 800000, 2500000, 2500000, false, | 417 800000, 2500000, 2500000, false, |
411 "VP8", 1, 0, 400000, | 418 "VP8", 1, 0, 400000, |
412 false, false, "", "ConferenceMotion_1280_720_50"}; | 419 false, false, "", "ConferenceMotion_1280_720_50"}; |
413 simulcast.analyzer = {"simulcast_vp8_3sl_high", 0.0, 0.0, | 420 simulcast.analyzer = {"simulcast_vp8_3sl_high", 0.0, 0.0, |
414 kFullStackTestDurationSecs}; | 421 kFullStackTestDurationSecs}; |
415 simulcast.pipe.loss_percent = 0; | 422 simulcast.pipe.loss_percent = 0; |
416 simulcast.pipe.queue_delay_ms = 100; | 423 simulcast.pipe.queue_delay_ms = 100; |
417 VideoQualityTest::Params video_params_high; | 424 VideoQualityTest::Params video_params_high; |
418 video_params_high.video = { | 425 video_params_high.video = { |
419 true, 1280, 720, 50, | 426 true, 1280, 720, 30, |
420 800000, 2500000, 2500000, false, | 427 800000, 2500000, 2500000, false, |
421 "VP8", 1, 0, 400000, | 428 "VP8", 1, 0, 400000, |
422 false, false, "", "ConferenceMotion_1280_720_50"}; | 429 false, false, "", "ConferenceMotion_1280_720_50"}; |
423 VideoQualityTest::Params video_params_medium; | 430 VideoQualityTest::Params video_params_medium; |
424 video_params_medium.video = { | 431 video_params_medium.video = { |
425 true, 640, 360, 50, | 432 true, 640, 360, 30, |
426 150000, 500000, 700000, false, | 433 150000, 500000, 700000, false, |
427 "VP8", 1, 0, 400000, | 434 "VP8", 1, 0, 400000, |
428 false, false, "", "ConferenceMotion_1280_720_50"}; | 435 false, false, "", "ConferenceMotion_1280_720_50"}; |
429 VideoQualityTest::Params video_params_low; | 436 VideoQualityTest::Params video_params_low; |
430 video_params_low.video = { | 437 video_params_low.video = { |
431 true, 320, 180, 50, | 438 true, 320, 180, 30, |
432 30000, 150000, 200000, false, | 439 30000, 150000, 200000, false, |
433 "VP8", 1, 0, 400000, | 440 "VP8", 1, 0, 400000, |
434 false, false, "", "ConferenceMotion_1280_720_50"}; | 441 false, false, "", "ConferenceMotion_1280_720_50"}; |
435 | 442 |
436 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 443 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
437 DefaultVideoStream(video_params_medium), | 444 DefaultVideoStream(video_params_medium), |
438 DefaultVideoStream(video_params_high)}; | 445 DefaultVideoStream(video_params_high)}; |
439 simulcast.ss = {streams, 2, 1, 0}; | 446 simulcast.ss = {streams, 2, 1, 0}; |
440 RunTest(simulcast); | 447 RunTest(simulcast); |
441 } | 448 } |
442 | 449 |
443 TEST_F(FullStackTest, SimulcastVP8_3SL_Medium) { | 450 TEST_F(FullStackTest, SimulcastVP8_3SL_Medium) { |
444 VideoQualityTest::Params simulcast; | 451 VideoQualityTest::Params simulcast; |
445 simulcast.call.send_side_bwe = true; | 452 simulcast.call.send_side_bwe = true; |
446 simulcast.video = {true, 1280, 720, 50, | 453 simulcast.video = {true, 1280, 720, 30, |
447 800000, 2500000, 2500000, false, | 454 800000, 2500000, 2500000, false, |
448 "VP8", 1, 0, 400000, | 455 "VP8", 1, 0, 400000, |
449 false, false, "", "ConferenceMotion_1280_720_50"}; | 456 false, false, "", "ConferenceMotion_1280_720_50"}; |
450 simulcast.analyzer = {"simulcast_vp8_3sl_medium", 0.0, 0.0, | 457 simulcast.analyzer = {"simulcast_vp8_3sl_medium", 0.0, 0.0, |
451 kFullStackTestDurationSecs}; | 458 kFullStackTestDurationSecs}; |
452 simulcast.pipe.loss_percent = 0; | 459 simulcast.pipe.loss_percent = 0; |
453 simulcast.pipe.queue_delay_ms = 100; | 460 simulcast.pipe.queue_delay_ms = 100; |
454 VideoQualityTest::Params video_params_high; | 461 VideoQualityTest::Params video_params_high; |
455 video_params_high.video = { | 462 video_params_high.video = { |
456 true, 1280, 720, 50, | 463 true, 1280, 720, 30, |
457 800000, 2500000, 2500000, false, | 464 800000, 2500000, 2500000, false, |
458 "VP8", 1, 0, 400000, | 465 "VP8", 1, 0, 400000, |
459 false, false, "", "ConferenceMotion_1280_720_50"}; | 466 false, false, "", "ConferenceMotion_1280_720_50"}; |
460 VideoQualityTest::Params video_params_medium; | 467 VideoQualityTest::Params video_params_medium; |
461 video_params_medium.video = { | 468 video_params_medium.video = { |
462 true, 640, 360, 50, | 469 true, 640, 360, 30, |
463 150000, 500000, 700000, false, | 470 150000, 500000, 700000, false, |
464 "VP8", 1, 0, 400000, | 471 "VP8", 1, 0, 400000, |
465 false, false, "", "ConferenceMotion_1280_720_50"}; | 472 false, false, "", "ConferenceMotion_1280_720_50"}; |
466 VideoQualityTest::Params video_params_low; | 473 VideoQualityTest::Params video_params_low; |
467 video_params_low.video = { | 474 video_params_low.video = { |
468 true, 320, 180, 50, | 475 true, 320, 180, 30, |
469 30000, 150000, 200000, false, | 476 30000, 150000, 200000, false, |
470 "VP8", 1, 0, 400000, | 477 "VP8", 1, 0, 400000, |
471 false, false, "", "ConferenceMotion_1280_720_50"}; | 478 false, false, "", "ConferenceMotion_1280_720_50"}; |
472 | 479 |
473 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 480 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
474 DefaultVideoStream(video_params_medium), | 481 DefaultVideoStream(video_params_medium), |
475 DefaultVideoStream(video_params_high)}; | 482 DefaultVideoStream(video_params_high)}; |
476 simulcast.ss = {streams, 1, 1, 0}; | 483 simulcast.ss = {streams, 1, 1, 0}; |
477 RunTest(simulcast); | 484 RunTest(simulcast); |
478 } | 485 } |
479 | 486 |
480 TEST_F(FullStackTest, SimulcastVP8_3SL_Low) { | 487 TEST_F(FullStackTest, SimulcastVP8_3SL_Low) { |
481 VideoQualityTest::Params simulcast; | 488 VideoQualityTest::Params simulcast; |
482 simulcast.call.send_side_bwe = true; | 489 simulcast.call.send_side_bwe = true; |
483 simulcast.video = {true, 1280, 720, 50, | 490 simulcast.video = {true, 1280, 720, 30, |
484 800000, 2500000, 2500000, false, | 491 800000, 2500000, 2500000, false, |
485 "VP8", 1, 0, 400000, | 492 "VP8", 1, 0, 400000, |
486 false, false, "", "ConferenceMotion_1280_720_50"}; | 493 false, false, "", "ConferenceMotion_1280_720_50"}; |
487 simulcast.analyzer = {"simulcast_vp8_3sl_low", 0.0, 0.0, | 494 simulcast.analyzer = {"simulcast_vp8_3sl_low", 0.0, 0.0, |
488 kFullStackTestDurationSecs}; | 495 kFullStackTestDurationSecs}; |
489 simulcast.pipe.loss_percent = 0; | 496 simulcast.pipe.loss_percent = 0; |
490 simulcast.pipe.queue_delay_ms = 100; | 497 simulcast.pipe.queue_delay_ms = 100; |
491 VideoQualityTest::Params video_params_high; | 498 VideoQualityTest::Params video_params_high; |
492 video_params_high.video = { | 499 video_params_high.video = { |
493 true, 1280, 720, 50, | 500 true, 1280, 720, 30, |
494 800000, 2500000, 2500000, false, | 501 800000, 2500000, 2500000, false, |
495 "VP8", 1, 0, 400000, | 502 "VP8", 1, 0, 400000, |
496 false, false, "", "ConferenceMotion_1280_720_50"}; | 503 false, false, "", "ConferenceMotion_1280_720_50"}; |
497 VideoQualityTest::Params video_params_medium; | 504 VideoQualityTest::Params video_params_medium; |
498 video_params_medium.video = { | 505 video_params_medium.video = { |
499 true, 640, 360, 50, | 506 true, 640, 360, 30, |
500 150000, 500000, 700000, false, | 507 150000, 500000, 700000, false, |
501 "VP8", 1, 0, 400000, | 508 "VP8", 1, 0, 400000, |
502 false, false, "", "ConferenceMotion_1280_720_50"}; | 509 false, false, "", "ConferenceMotion_1280_720_50"}; |
503 VideoQualityTest::Params video_params_low; | 510 VideoQualityTest::Params video_params_low; |
504 video_params_low.video = { | 511 video_params_low.video = { |
505 true, 320, 180, 50, | 512 true, 320, 180, 30, |
506 30000, 150000, 200000, false, | 513 30000, 150000, 200000, false, |
507 "VP8", 1, 0, 400000, | 514 "VP8", 1, 0, 400000, |
508 false, false, "", "ConferenceMotion_1280_720_50"}; | 515 false, false, "", "ConferenceMotion_1280_720_50"}; |
509 | 516 |
510 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | 517 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), |
511 DefaultVideoStream(video_params_medium), | 518 DefaultVideoStream(video_params_medium), |
512 DefaultVideoStream(video_params_high)}; | 519 DefaultVideoStream(video_params_high)}; |
513 simulcast.ss = {streams, 0, 1, 0}; | 520 simulcast.ss = {streams, 0, 1, 0}; |
514 RunTest(simulcast); | 521 RunTest(simulcast); |
515 } | 522 } |
516 | 523 |
524 TEST_F(FullStackTest, LargeRoomVP8_5thumb) { | |
525 VideoQualityTest::Params large_room; | |
526 large_room.call.send_side_bwe = true; | |
527 large_room.video = {true, 1280, 720, 30, | |
528 800000, 2500000, 2500000, false, | |
529 "VP8", 3, 2, 400000, | |
530 false, false, "", "ConferenceMotion_1280_720_50"}; | |
531 large_room.analyzer = {"largeroom_5thumb", 0.0, 0.0, | |
532 kFullStackTestDurationSecs}; | |
533 large_room.pipe.loss_percent = 0; | |
534 large_room.pipe.queue_delay_ms = 100; | |
535 VideoQualityTest::Params video_params_high; | |
536 video_params_high.video = { | |
537 true, 1280, 720, 30, | |
538 800000, 2500000, 2500000, false, | |
539 "VP8", 3, 2, 400000, | |
540 false, false, "", "ConferenceMotion_1280_720_50"}; | |
541 VideoQualityTest::Params video_params_medium; | |
542 video_params_medium.video = { | |
543 true, 640, 360, 30, | |
544 150000, 500000, 700000, false, | |
545 "VP8", 3, 2, 400000, | |
546 false, false, "", "ConferenceMotion_1280_720_50"}; | |
547 VideoQualityTest::Params video_params_low; | |
548 video_params_low.video = { | |
549 true, 320, 180, 30, | |
550 30000, 150000, 200000, false, | |
551 "VP8", 3, 2, 400000, | |
552 false, false, "", "ConferenceMotion_1280_720_50"}; | |
553 | |
554 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | |
555 DefaultVideoStream(video_params_medium), | |
556 DefaultVideoStream(video_params_high)}; | |
557 large_room.num_thumbnails = 5; | |
558 large_room.ss = {streams, 2, 1, 0}; | |
559 RunTest(large_room); | |
560 } | |
561 | |
562 TEST_F(FullStackTest, LargeRoomVP8_15thumb) { | |
563 VideoQualityTest::Params large_room; | |
564 large_room.call.send_side_bwe = true; | |
565 large_room.video = {true, 1280, 720, 30, | |
566 800000, 2500000, 2500000, false, | |
567 "VP8", 3, 2, 400000, | |
568 false, false, "", "ConferenceMotion_1280_720_50"}; | |
569 large_room.analyzer = {"largeroom_15thumb", 0.0, 0.0, | |
570 kFullStackTestDurationSecs}; | |
571 large_room.pipe.loss_percent = 0; | |
572 large_room.pipe.queue_delay_ms = 100; | |
573 VideoQualityTest::Params video_params_high; | |
574 video_params_high.video = { | |
575 true, 1280, 720, 30, | |
576 800000, 2500000, 2500000, false, | |
577 "VP8", 3, 2, 400000, | |
578 false, false, "", "ConferenceMotion_1280_720_50"}; | |
579 VideoQualityTest::Params video_params_medium; | |
580 video_params_medium.video = { | |
581 true, 640, 360, 30, | |
582 150000, 500000, 700000, false, | |
583 "VP8", 3, 2, 400000, | |
584 false, false, "", "ConferenceMotion_1280_720_50"}; | |
585 VideoQualityTest::Params video_params_low; | |
586 video_params_low.video = { | |
587 true, 320, 180, 30, | |
588 30000, 150000, 200000, false, | |
589 "VP8", 3, 2, 400000, | |
590 false, false, "", "ConferenceMotion_1280_720_50"}; | |
591 | |
592 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | |
593 DefaultVideoStream(video_params_medium), | |
594 DefaultVideoStream(video_params_high)}; | |
595 large_room.num_thumbnails = 15; | |
596 large_room.ss = {streams, 2, 1, 0}; | |
597 RunTest(large_room); | |
598 } | |
599 | |
600 TEST_F(MAYBE_FullStackTest, LargeRoomVP8_50thumb) { | |
601 VideoQualityTest::Params large_room; | |
602 large_room.call.send_side_bwe = true; | |
603 large_room.video = {true, 1280, 720, 30, | |
604 800000, 2500000, 2500000, false, | |
605 "VP8", 3, 2, 400000, | |
606 false, false, "", "ConferenceMotion_1280_720_50"}; | |
607 large_room.analyzer = {"largeroom_50thumb", 0.0, 0.0, | |
608 kFullStackTestDurationSecs}; | |
609 large_room.pipe.loss_percent = 0; | |
610 large_room.pipe.queue_delay_ms = 100; | |
611 VideoQualityTest::Params video_params_high; | |
612 video_params_high.video = { | |
613 true, 1280, 720, 30, | |
614 800000, 2500000, 2500000, false, | |
615 "VP8", 3, 2, 400000, | |
616 false, false, "", "ConferenceMotion_1280_720_50"}; | |
617 VideoQualityTest::Params video_params_medium; | |
618 video_params_medium.video = { | |
619 true, 640, 360, 30, | |
620 150000, 500000, 700000, false, | |
621 "VP8", 3, 2, 400000, | |
622 false, false, "", "ConferenceMotion_1280_720_50"}; | |
623 VideoQualityTest::Params video_params_low; | |
624 video_params_low.video = { | |
625 true, 320, 180, 30, | |
626 30000, 150000, 200000, false, | |
627 "VP8", 3, 2, 400000, | |
628 false, false, "", "ConferenceMotion_1280_720_50"}; | |
629 | |
630 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), | |
631 DefaultVideoStream(video_params_medium), | |
632 DefaultVideoStream(video_params_high)}; | |
633 large_room.num_thumbnails = 50; | |
634 large_room.ss = {streams, 2, 1, 0}; | |
635 RunTest(large_room); | |
636 } | |
637 | |
638 | |
517 } // namespace webrtc | 639 } // namespace webrtc |
OLD | NEW |