Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: webrtc/video/full_stack_tests.cc

Issue 2936393002: Add cropping to VIEEncoder to match simulcast streams resolution (Closed)
Patch Set: Fix typo Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/video/BUILD.gn ('k') | webrtc/video/video_quality_test.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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>
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 2500000, false, "VP8", 3, 0, 400000, 324 2500000, false, "VP8", 3, 0, 400000,
325 false, false, "", ""}; 325 false, false, "", ""};
326 VideoQualityTest::Params screenshare_params_low; 326 VideoQualityTest::Params screenshare_params_low;
327 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000, 327 screenshare_params_low.video = {true, 1850, 1110, 5, 50000, 200000,
328 2000000, false, "VP8", 2, 0, 400000, 328 2000000, false, "VP8", 2, 0, 400000,
329 false, false, "", ""}; 329 false, false, "", ""};
330 330
331 std::vector<VideoStream> streams = { 331 std::vector<VideoStream> streams = {
332 DefaultVideoStream(screenshare_params_low), 332 DefaultVideoStream(screenshare_params_low),
333 DefaultVideoStream(screenshare_params_high)}; 333 DefaultVideoStream(screenshare_params_high)};
334 screenshare.ss = {streams, 1, 1, 0}; 334 screenshare.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false};
335 RunTest(screenshare); 335 RunTest(screenshare);
336 } 336 }
337 337
338 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) { 338 TEST_F(FullStackTest, ScreenshareSlidesVP8_2TL_Scroll) {
339 VideoQualityTest::Params config; 339 VideoQualityTest::Params config;
340 config.call.send_side_bwe = true; 340 config.call.send_side_bwe = true;
341 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false, 341 config.video = {true, 1850, 1110 / 2, 5, 50000, 200000, 2000000, false,
342 "VP8", 2, 1, 400000, false, false, "", ""}; 342 "VP8", 2, 1, 400000, false, false, "", ""};
343 config.screenshare = {true, 10, 2}; 343 config.screenshare = {true, 10, 2};
344 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0, 344 config.analyzer = {"screenshare_slides_scrolling", 0.0, 0.0,
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 #if !defined(RTC_DISABLE_VP9) 416 #if !defined(RTC_DISABLE_VP9)
417 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) { 417 TEST_F(FullStackTest, ScreenshareSlidesVP9_2SL) {
418 VideoQualityTest::Params screenshare; 418 VideoQualityTest::Params screenshare;
419 screenshare.call.send_side_bwe = true; 419 screenshare.call.send_side_bwe = true;
420 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false, 420 screenshare.video = {true, 1850, 1110, 5, 50000, 200000, 2000000, false,
421 "VP9", 1, 0, 400000, false, false, "", ""}; 421 "VP9", 1, 0, 400000, false, false, "", ""};
422 screenshare.screenshare = {true, 10}; 422 screenshare.screenshare = {true, 10};
423 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0, 423 screenshare.analyzer = {"screenshare_slides_vp9_2sl", 0.0, 0.0,
424 kFullStackTestDurationSecs}; 424 kFullStackTestDurationSecs};
425 screenshare.logs = false; 425 screenshare.logs = false;
426 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1}; 426 screenshare.ss = {std::vector<VideoStream>(), 0, 2, 1,
427 std::vector<SpatialLayer>(), false};
427 RunTest(screenshare); 428 RunTest(screenshare);
428 } 429 }
429 430
430 TEST_F(FullStackTest, VP9SVC_3SL_High) { 431 TEST_F(FullStackTest, VP9SVC_3SL_High) {
431 VideoQualityTest::Params simulcast; 432 VideoQualityTest::Params simulcast;
432 simulcast.call.send_side_bwe = true; 433 simulcast.call.send_side_bwe = true;
433 simulcast.video = kSvcVp9Video; 434 simulcast.video = kSvcVp9Video;
434 simulcast.analyzer = {"vp9svc_3sl_high", 0.0, 0.0, 435 simulcast.analyzer = {"vp9svc_3sl_high", 0.0, 0.0,
435 kFullStackTestDurationSecs}; 436 kFullStackTestDurationSecs};
436 simulcast.logs = false; 437 simulcast.logs = false;
437 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 2}; 438 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 2,
439 std::vector<SpatialLayer>(), false};
438 RunTest(simulcast); 440 RunTest(simulcast);
439 } 441 }
440 442
441 TEST_F(FullStackTest, VP9SVC_3SL_Medium) { 443 TEST_F(FullStackTest, VP9SVC_3SL_Medium) {
442 VideoQualityTest::Params simulcast; 444 VideoQualityTest::Params simulcast;
443 simulcast.call.send_side_bwe = true; 445 simulcast.call.send_side_bwe = true;
444 simulcast.video = kSvcVp9Video; 446 simulcast.video = kSvcVp9Video;
445 simulcast.analyzer = {"vp9svc_3sl_medium", 0.0, 0.0, 447 simulcast.analyzer = {"vp9svc_3sl_medium", 0.0, 0.0,
446 kFullStackTestDurationSecs}; 448 kFullStackTestDurationSecs};
447 simulcast.logs = false; 449 simulcast.logs = false;
448 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 1}; 450 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 1,
451 std::vector<SpatialLayer>(), false};
449 RunTest(simulcast); 452 RunTest(simulcast);
450 } 453 }
451 454
452 TEST_F(FullStackTest, VP9SVC_3SL_Low) { 455 TEST_F(FullStackTest, VP9SVC_3SL_Low) {
453 VideoQualityTest::Params simulcast; 456 VideoQualityTest::Params simulcast;
454 simulcast.call.send_side_bwe = true; 457 simulcast.call.send_side_bwe = true;
455 simulcast.video = kSvcVp9Video; 458 simulcast.video = kSvcVp9Video;
456 simulcast.analyzer = {"vp9svc_3sl_low", 0.0, 0.0, kFullStackTestDurationSecs}; 459 simulcast.analyzer = {"vp9svc_3sl_low", 0.0, 0.0, kFullStackTestDurationSecs};
457 simulcast.logs = false; 460 simulcast.logs = false;
458 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 0}; 461 simulcast.ss = {std::vector<VideoStream>(), 0, 3, 0,
462 std::vector<SpatialLayer>(), false};
459 RunTest(simulcast); 463 RunTest(simulcast);
460 } 464 }
461 #endif // !defined(RTC_DISABLE_VP9) 465 #endif // !defined(RTC_DISABLE_VP9)
462 466
467 // Android bots can't handle FullHD, so disable the test.
468 #if defined(WEBRTC_ANDROID)
469 #define MAYBE_SimulcastFullHdOveruse DISABLED_SimulcastFullHdOveruse
470 #else
471 #define MAYBE_SimulcastFullHdOveruse SimulcastFullHdOveruse
472 #endif
473
474 TEST_F(FullStackTest, MAYBE_SimulcastFullHdOveruse) {
475 VideoQualityTest::Params simulcast;
476 simulcast.call.send_side_bwe = true;
477 simulcast.video = {true, 1920, 1080, 30, 800000, 2500000,
478 2500000, false, "VP8", 3, 2, 400000,
479 false, false, "", "Generator"};
480 simulcast.analyzer = {"simulcast_HD_high", 0.0, 0.0,
481 kFullStackTestDurationSecs};
482 simulcast.pipe.loss_percent = 0;
483 simulcast.pipe.queue_delay_ms = 100;
484 std::vector<VideoStream> streams = {DefaultVideoStream(simulcast),
485 DefaultVideoStream(simulcast),
486 DefaultVideoStream(simulcast)};
487 simulcast.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), true};
488 webrtc::test::ScopedFieldTrials override_trials(
489 "WebRTC-ForceSimulatedOveruseIntervalMs/1000-50000-300/");
490 RunTest(simulcast);
491 }
492
463 TEST_F(FullStackTest, SimulcastVP8_3SL_High) { 493 TEST_F(FullStackTest, SimulcastVP8_3SL_High) {
464 VideoQualityTest::Params simulcast; 494 VideoQualityTest::Params simulcast;
465 simulcast.call.send_side_bwe = true; 495 simulcast.call.send_side_bwe = true;
466 simulcast.video = kSimulcastVp8VideoHigh; 496 simulcast.video = kSimulcastVp8VideoHigh;
467 simulcast.analyzer = {"simulcast_vp8_3sl_high", 0.0, 0.0, 497 simulcast.analyzer = {"simulcast_vp8_3sl_high", 0.0, 0.0,
468 kFullStackTestDurationSecs}; 498 kFullStackTestDurationSecs};
469 simulcast.pipe.loss_percent = 0; 499 simulcast.pipe.loss_percent = 0;
470 simulcast.pipe.queue_delay_ms = 100; 500 simulcast.pipe.queue_delay_ms = 100;
471 VideoQualityTest::Params video_params_high; 501 VideoQualityTest::Params video_params_high;
472 video_params_high.video = kSimulcastVp8VideoHigh; 502 video_params_high.video = kSimulcastVp8VideoHigh;
473 VideoQualityTest::Params video_params_medium; 503 VideoQualityTest::Params video_params_medium;
474 video_params_medium.video = kSimulcastVp8VideoMedium; 504 video_params_medium.video = kSimulcastVp8VideoMedium;
475 VideoQualityTest::Params video_params_low; 505 VideoQualityTest::Params video_params_low;
476 video_params_low.video = kSimulcastVp8VideoLow; 506 video_params_low.video = kSimulcastVp8VideoLow;
477 507
478 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), 508 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low),
479 DefaultVideoStream(video_params_medium), 509 DefaultVideoStream(video_params_medium),
480 DefaultVideoStream(video_params_high)}; 510 DefaultVideoStream(video_params_high)};
481 simulcast.ss = {streams, 2, 1, 0}; 511 simulcast.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false};
482 RunTest(simulcast); 512 RunTest(simulcast);
483 } 513 }
484 514
485 TEST_F(FullStackTest, SimulcastVP8_3SL_Medium) { 515 TEST_F(FullStackTest, SimulcastVP8_3SL_Medium) {
486 VideoQualityTest::Params simulcast; 516 VideoQualityTest::Params simulcast;
487 simulcast.call.send_side_bwe = true; 517 simulcast.call.send_side_bwe = true;
488 simulcast.video = kSimulcastVp8VideoHigh; 518 simulcast.video = kSimulcastVp8VideoHigh;
489 simulcast.analyzer = {"simulcast_vp8_3sl_medium", 0.0, 0.0, 519 simulcast.analyzer = {"simulcast_vp8_3sl_medium", 0.0, 0.0,
490 kFullStackTestDurationSecs}; 520 kFullStackTestDurationSecs};
491 simulcast.pipe.loss_percent = 0; 521 simulcast.pipe.loss_percent = 0;
492 simulcast.pipe.queue_delay_ms = 100; 522 simulcast.pipe.queue_delay_ms = 100;
493 VideoQualityTest::Params video_params_high; 523 VideoQualityTest::Params video_params_high;
494 video_params_high.video = kSimulcastVp8VideoHigh; 524 video_params_high.video = kSimulcastVp8VideoHigh;
495 VideoQualityTest::Params video_params_medium; 525 VideoQualityTest::Params video_params_medium;
496 video_params_medium.video = kSimulcastVp8VideoMedium; 526 video_params_medium.video = kSimulcastVp8VideoMedium;
497 VideoQualityTest::Params video_params_low; 527 VideoQualityTest::Params video_params_low;
498 video_params_low.video = kSimulcastVp8VideoLow; 528 video_params_low.video = kSimulcastVp8VideoLow;
499 529
500 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), 530 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low),
501 DefaultVideoStream(video_params_medium), 531 DefaultVideoStream(video_params_medium),
502 DefaultVideoStream(video_params_high)}; 532 DefaultVideoStream(video_params_high)};
503 simulcast.ss = {streams, 1, 1, 0}; 533 simulcast.ss = {streams, 1, 1, 0, std::vector<SpatialLayer>(), false};
504 RunTest(simulcast); 534 RunTest(simulcast);
505 } 535 }
506 536
507 TEST_F(FullStackTest, SimulcastVP8_3SL_Low) { 537 TEST_F(FullStackTest, SimulcastVP8_3SL_Low) {
508 VideoQualityTest::Params simulcast; 538 VideoQualityTest::Params simulcast;
509 simulcast.call.send_side_bwe = true; 539 simulcast.call.send_side_bwe = true;
510 simulcast.video = kSimulcastVp8VideoHigh; 540 simulcast.video = kSimulcastVp8VideoHigh;
511 simulcast.analyzer = {"simulcast_vp8_3sl_low", 0.0, 0.0, 541 simulcast.analyzer = {"simulcast_vp8_3sl_low", 0.0, 0.0,
512 kFullStackTestDurationSecs}; 542 kFullStackTestDurationSecs};
513 simulcast.pipe.loss_percent = 0; 543 simulcast.pipe.loss_percent = 0;
514 simulcast.pipe.queue_delay_ms = 100; 544 simulcast.pipe.queue_delay_ms = 100;
515 VideoQualityTest::Params video_params_high; 545 VideoQualityTest::Params video_params_high;
516 video_params_high.video = kSimulcastVp8VideoHigh; 546 video_params_high.video = kSimulcastVp8VideoHigh;
517 VideoQualityTest::Params video_params_medium; 547 VideoQualityTest::Params video_params_medium;
518 video_params_medium.video = kSimulcastVp8VideoMedium; 548 video_params_medium.video = kSimulcastVp8VideoMedium;
519 VideoQualityTest::Params video_params_low; 549 VideoQualityTest::Params video_params_low;
520 video_params_low.video = kSimulcastVp8VideoLow; 550 video_params_low.video = kSimulcastVp8VideoLow;
521 551
522 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), 552 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low),
523 DefaultVideoStream(video_params_medium), 553 DefaultVideoStream(video_params_medium),
524 DefaultVideoStream(video_params_high)}; 554 DefaultVideoStream(video_params_high)};
525 simulcast.ss = {streams, 0, 1, 0}; 555 simulcast.ss = {streams, 0, 1, 0, std::vector<SpatialLayer>(), false};
526 RunTest(simulcast); 556 RunTest(simulcast);
527 } 557 }
528 558
529 TEST_F(FullStackTest, LargeRoomVP8_5thumb) { 559 TEST_F(FullStackTest, LargeRoomVP8_5thumb) {
530 VideoQualityTest::Params large_room; 560 VideoQualityTest::Params large_room;
531 large_room.call.send_side_bwe = true; 561 large_room.call.send_side_bwe = true;
532 large_room.video = kSimulcastVp8VideoHigh; 562 large_room.video = kSimulcastVp8VideoHigh;
533 large_room.analyzer = {"largeroom_5thumb", 0.0, 0.0, 563 large_room.analyzer = {"largeroom_5thumb", 0.0, 0.0,
534 kFullStackTestDurationSecs}; 564 kFullStackTestDurationSecs};
535 large_room.pipe.loss_percent = 0; 565 large_room.pipe.loss_percent = 0;
536 large_room.pipe.queue_delay_ms = 100; 566 large_room.pipe.queue_delay_ms = 100;
537 VideoQualityTest::Params video_params_high; 567 VideoQualityTest::Params video_params_high;
538 video_params_high.video = kSimulcastVp8VideoHigh; 568 video_params_high.video = kSimulcastVp8VideoHigh;
539 VideoQualityTest::Params video_params_medium; 569 VideoQualityTest::Params video_params_medium;
540 video_params_medium.video = kSimulcastVp8VideoMedium; 570 video_params_medium.video = kSimulcastVp8VideoMedium;
541 VideoQualityTest::Params video_params_low; 571 VideoQualityTest::Params video_params_low;
542 video_params_low.video = kSimulcastVp8VideoLow; 572 video_params_low.video = kSimulcastVp8VideoLow;
543 573
544 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), 574 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low),
545 DefaultVideoStream(video_params_medium), 575 DefaultVideoStream(video_params_medium),
546 DefaultVideoStream(video_params_high)}; 576 DefaultVideoStream(video_params_high)};
547 large_room.num_thumbnails = 5; 577 large_room.num_thumbnails = 5;
548 large_room.ss = {streams, 2, 1, 0}; 578 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false};
549 RunTest(large_room); 579 RunTest(large_room);
550 } 580 }
551 581
552 #if defined(WEBRTC_ANDROID) 582 #if defined(WEBRTC_ANDROID)
553 // Fails on Android: 583 // Fails on Android:
554 // https://bugs.chromium.org/p/webrtc/issues/detail?id=7301 584 // https://bugs.chromium.org/p/webrtc/issues/detail?id=7301
555 #define MAYBE_LargeRoomVP8_50thumb DISABLED_LargeRoomVP8_50thumb 585 #define MAYBE_LargeRoomVP8_50thumb DISABLED_LargeRoomVP8_50thumb
556 #define MAYBE_LargeRoomVP8_15thumb DISABLED_LargeRoomVP8_15thumb 586 #define MAYBE_LargeRoomVP8_15thumb DISABLED_LargeRoomVP8_15thumb
557 #else 587 #else
558 #define MAYBE_LargeRoomVP8_50thumb LargeRoomVP8_50thumb 588 #define MAYBE_LargeRoomVP8_50thumb LargeRoomVP8_50thumb
(...skipping 12 matching lines...) Expand all
571 video_params_high.video = kSimulcastVp8VideoHigh; 601 video_params_high.video = kSimulcastVp8VideoHigh;
572 VideoQualityTest::Params video_params_medium; 602 VideoQualityTest::Params video_params_medium;
573 video_params_medium.video = kSimulcastVp8VideoMedium; 603 video_params_medium.video = kSimulcastVp8VideoMedium;
574 VideoQualityTest::Params video_params_low; 604 VideoQualityTest::Params video_params_low;
575 video_params_low.video = kSimulcastVp8VideoLow; 605 video_params_low.video = kSimulcastVp8VideoLow;
576 606
577 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), 607 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low),
578 DefaultVideoStream(video_params_medium), 608 DefaultVideoStream(video_params_medium),
579 DefaultVideoStream(video_params_high)}; 609 DefaultVideoStream(video_params_high)};
580 large_room.num_thumbnails = 15; 610 large_room.num_thumbnails = 15;
581 large_room.ss = {streams, 2, 1, 0}; 611 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false};
582 RunTest(large_room); 612 RunTest(large_room);
583 } 613 }
584 614
585 TEST_F(FullStackTest, MAYBE_LargeRoomVP8_50thumb) { 615 TEST_F(FullStackTest, MAYBE_LargeRoomVP8_50thumb) {
586 VideoQualityTest::Params large_room; 616 VideoQualityTest::Params large_room;
587 large_room.call.send_side_bwe = true; 617 large_room.call.send_side_bwe = true;
588 large_room.video = kSimulcastVp8VideoHigh; 618 large_room.video = kSimulcastVp8VideoHigh;
589 large_room.analyzer = {"largeroom_50thumb", 0.0, 0.0, 619 large_room.analyzer = {"largeroom_50thumb", 0.0, 0.0,
590 kFullStackTestDurationSecs}; 620 kFullStackTestDurationSecs};
591 large_room.pipe.loss_percent = 0; 621 large_room.pipe.loss_percent = 0;
592 large_room.pipe.queue_delay_ms = 100; 622 large_room.pipe.queue_delay_ms = 100;
593 VideoQualityTest::Params video_params_high; 623 VideoQualityTest::Params video_params_high;
594 video_params_high.video = kSimulcastVp8VideoHigh; 624 video_params_high.video = kSimulcastVp8VideoHigh;
595 VideoQualityTest::Params video_params_medium; 625 VideoQualityTest::Params video_params_medium;
596 video_params_medium.video = kSimulcastVp8VideoMedium; 626 video_params_medium.video = kSimulcastVp8VideoMedium;
597 VideoQualityTest::Params video_params_low; 627 VideoQualityTest::Params video_params_low;
598 video_params_low.video = kSimulcastVp8VideoLow; 628 video_params_low.video = kSimulcastVp8VideoLow;
599 629
600 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low), 630 std::vector<VideoStream> streams = {DefaultVideoStream(video_params_low),
601 DefaultVideoStream(video_params_medium), 631 DefaultVideoStream(video_params_medium),
602 DefaultVideoStream(video_params_high)}; 632 DefaultVideoStream(video_params_high)};
603 large_room.num_thumbnails = 50; 633 large_room.num_thumbnails = 50;
604 large_room.ss = {streams, 2, 1, 0}; 634 large_room.ss = {streams, 2, 1, 0, std::vector<SpatialLayer>(), false};
605 RunTest(large_room); 635 RunTest(large_room);
606 } 636 }
607 637
608 638
609 } // namespace webrtc 639 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/video/BUILD.gn ('k') | webrtc/video/video_quality_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698