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

Side by Side Diff: webrtc/media/base/videoframe_unittest.h

Issue 2278883002: Move MutableDataY{,U,V} methods to I420Buffer only. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Delete unused variable. Created 4 years, 3 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2004 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 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 } 446 }
447 r1 += pitch1; 447 r1 += pitch1;
448 r2 += pitch2; 448 r2 += pitch2;
449 } 449 }
450 return true; 450 return true;
451 } 451 }
452 452
453 static bool IsEqual(const cricket::VideoFrame& frame, 453 static bool IsEqual(const cricket::VideoFrame& frame,
454 int width, 454 int width,
455 int height, 455 int height,
456 int64_t timestamp_us,
457 const uint8_t* y, 456 const uint8_t* y,
458 uint32_t ypitch, 457 uint32_t ypitch,
459 const uint8_t* u, 458 const uint8_t* u,
460 uint32_t upitch, 459 uint32_t upitch,
461 const uint8_t* v, 460 const uint8_t* v,
462 uint32_t vpitch, 461 uint32_t vpitch,
463 int max_error) { 462 int max_error) {
464 return IsSize(frame, width, height) && 463 return IsSize(frame, width, height) &&
465 frame.timestamp_us() == timestamp_us &&
466 IsPlaneEqual("y", frame.video_frame_buffer()->DataY(), 464 IsPlaneEqual("y", frame.video_frame_buffer()->DataY(),
467 frame.video_frame_buffer()->StrideY(), y, ypitch, 465 frame.video_frame_buffer()->StrideY(), y, ypitch,
468 static_cast<uint32_t>(width), 466 static_cast<uint32_t>(width),
469 static_cast<uint32_t>(height), max_error) && 467 static_cast<uint32_t>(height), max_error) &&
470 IsPlaneEqual("u", frame.video_frame_buffer()->DataU(), 468 IsPlaneEqual("u", frame.video_frame_buffer()->DataU(),
471 frame.video_frame_buffer()->StrideU(), u, upitch, 469 frame.video_frame_buffer()->StrideU(), u, upitch,
472 static_cast<uint32_t>((width + 1) / 2), 470 static_cast<uint32_t>((width + 1) / 2),
473 static_cast<uint32_t>((height + 1) / 2), max_error) && 471 static_cast<uint32_t>((height + 1) / 2), max_error) &&
474 IsPlaneEqual("v", frame.video_frame_buffer()->DataV(), 472 IsPlaneEqual("v", frame.video_frame_buffer()->DataV(),
475 frame.video_frame_buffer()->StrideV(), v, vpitch, 473 frame.video_frame_buffer()->StrideV(), v, vpitch,
476 static_cast<uint32_t>((width + 1) / 2), 474 static_cast<uint32_t>((width + 1) / 2),
477 static_cast<uint32_t>((height + 1) / 2), max_error); 475 static_cast<uint32_t>((height + 1) / 2), max_error);
478 } 476 }
479 477
480 static bool IsEqual(const cricket::VideoFrame& frame1, 478 static bool IsEqual(const cricket::VideoFrame& frame1,
481 const cricket::VideoFrame& frame2, 479 const cricket::VideoFrame& frame2,
482 int max_error) { 480 int max_error) {
483 return IsEqual(frame1, 481 return frame1.timestamp_us() == frame2.timestamp_us() &&
482 IsEqual(frame1,
484 frame2.width(), frame2.height(), 483 frame2.width(), frame2.height(),
485 frame2.timestamp_us(),
486 frame2.video_frame_buffer()->DataY(), 484 frame2.video_frame_buffer()->DataY(),
487 frame2.video_frame_buffer()->StrideY(), 485 frame2.video_frame_buffer()->StrideY(),
488 frame2.video_frame_buffer()->DataU(), 486 frame2.video_frame_buffer()->DataU(),
489 frame2.video_frame_buffer()->StrideU(), 487 frame2.video_frame_buffer()->StrideU(),
490 frame2.video_frame_buffer()->DataV(), 488 frame2.video_frame_buffer()->DataV(),
491 frame2.video_frame_buffer()->StrideV(), 489 frame2.video_frame_buffer()->StrideV(), max_error);
490 }
491
492 static bool IsEqual(
493 const cricket::VideoFrame& frame1,
494 const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer,
495 int max_error) {
496 return IsEqual(frame1, buffer->width(), buffer->height(),
497 buffer->DataY(), buffer->StrideY(),
498 buffer->DataU(), buffer->StrideU(),
499 buffer->DataV(), buffer->StrideV(),
492 max_error); 500 max_error);
493 } 501 }
494 502
495 static bool IsEqualWithCrop(const cricket::VideoFrame& frame1, 503 static bool IsEqualWithCrop(const cricket::VideoFrame& frame1,
496 const cricket::VideoFrame& frame2, 504 const cricket::VideoFrame& frame2,
497 int hcrop, int vcrop, int max_error) { 505 int hcrop, int vcrop, int max_error) {
498 return frame1.width() <= frame2.width() && 506 return frame1.width() <= frame2.width() &&
499 frame1.height() <= frame2.height() && 507 frame1.height() <= frame2.height() &&
508 frame1.timestamp_us() == frame2.timestamp_us() &&
500 IsEqual(frame1, 509 IsEqual(frame1,
501 frame2.width() - hcrop * 2, 510 frame2.width() - hcrop * 2,
502 frame2.height() - vcrop * 2, 511 frame2.height() - vcrop * 2,
503 frame2.timestamp_us(),
504 frame2.video_frame_buffer()->DataY() 512 frame2.video_frame_buffer()->DataY()
505 + vcrop * frame2.video_frame_buffer()->StrideY() 513 + vcrop * frame2.video_frame_buffer()->StrideY()
506 + hcrop, 514 + hcrop,
507 frame2.video_frame_buffer()->StrideY(), 515 frame2.video_frame_buffer()->StrideY(),
508 frame2.video_frame_buffer()->DataU() 516 frame2.video_frame_buffer()->DataU()
509 + vcrop * frame2.video_frame_buffer()->StrideU() / 2 517 + vcrop * frame2.video_frame_buffer()->StrideU() / 2
510 + hcrop / 2, 518 + hcrop / 2,
511 frame2.video_frame_buffer()->StrideU(), 519 frame2.video_frame_buffer()->StrideU(),
512 frame2.video_frame_buffer()->DataV() 520 frame2.video_frame_buffer()->DataV()
513 + vcrop * frame2.video_frame_buffer()->StrideV() / 2 521 + vcrop * frame2.video_frame_buffer()->StrideV() / 2
(...skipping 18 matching lines...) Expand all
532 T frame; 540 T frame;
533 EXPECT_TRUE(IsNull(frame)); 541 EXPECT_TRUE(IsNull(frame));
534 std::unique_ptr<rtc::MemoryStream> ms( 542 std::unique_ptr<rtc::MemoryStream> ms(
535 CreateYuvSample(kWidth, kHeight, 12)); 543 CreateYuvSample(kWidth, kHeight, 12));
536 EXPECT_TRUE(LoadFrame(ms.get(), cricket::FOURCC_I420, 544 EXPECT_TRUE(LoadFrame(ms.get(), cricket::FOURCC_I420,
537 kWidth, kHeight, &frame)); 545 kWidth, kHeight, &frame));
538 546
539 const uint8_t* y = reinterpret_cast<uint8_t*>(ms.get()->GetBuffer()); 547 const uint8_t* y = reinterpret_cast<uint8_t*>(ms.get()->GetBuffer());
540 const uint8_t* u = y + kWidth * kHeight; 548 const uint8_t* u = y + kWidth * kHeight;
541 const uint8_t* v = u + kWidth * kHeight / 4; 549 const uint8_t* v = u + kWidth * kHeight / 4;
542 EXPECT_TRUE(IsEqual(frame, kWidth, kHeight, 0, y, kWidth, u, 550 EXPECT_TRUE(IsEqual(frame, kWidth, kHeight, y, kWidth, u, kWidth / 2, v,
543 kWidth / 2, v, kWidth / 2, 0)); 551 kWidth / 2, 0));
544 } 552 }
545 553
546 // Test constructing an image from a YV12 buffer. 554 // Test constructing an image from a YV12 buffer.
547 void ConstructYV12() { 555 void ConstructYV12() {
548 T frame; 556 T frame;
549 std::unique_ptr<rtc::MemoryStream> ms( 557 std::unique_ptr<rtc::MemoryStream> ms(
550 CreateYuvSample(kWidth, kHeight, 12)); 558 CreateYuvSample(kWidth, kHeight, 12));
551 EXPECT_TRUE(LoadFrame(ms.get(), cricket::FOURCC_YV12, 559 EXPECT_TRUE(LoadFrame(ms.get(), cricket::FOURCC_YV12,
552 kWidth, kHeight, &frame)); 560 kWidth, kHeight, &frame));
553 561
554 const uint8_t* y = reinterpret_cast<uint8_t*>(ms.get()->GetBuffer()); 562 const uint8_t* y = reinterpret_cast<uint8_t*>(ms.get()->GetBuffer());
555 const uint8_t* v = y + kWidth * kHeight; 563 const uint8_t* v = y + kWidth * kHeight;
556 const uint8_t* u = v + kWidth * kHeight / 4; 564 const uint8_t* u = v + kWidth * kHeight / 4;
557 EXPECT_TRUE(IsEqual(frame, kWidth, kHeight, 0, y, kWidth, u, 565 EXPECT_TRUE(IsEqual(frame, kWidth, kHeight, y, kWidth, u, kWidth / 2, v,
558 kWidth / 2, v, kWidth / 2, 0)); 566 kWidth / 2, 0));
559 } 567 }
560 568
561 // Test constructing an image from a I422 buffer. 569 // Test constructing an image from a I422 buffer.
562 void ConstructI422() { 570 void ConstructI422() {
563 T frame1, frame2; 571 T frame1, frame2;
564 ASSERT_TRUE(LoadFrameNoRepeat(&frame1)); 572 ASSERT_TRUE(LoadFrameNoRepeat(&frame1));
565 size_t buf_size = kWidth * kHeight * 2; 573 size_t buf_size = kWidth * kHeight * 2;
566 std::unique_ptr<uint8_t[]> buf(new uint8_t[buf_size + kAlignment]); 574 std::unique_ptr<uint8_t[]> buf(new uint8_t[buf_size + kAlignment]);
567 uint8_t* y = ALIGNP(buf.get(), kAlignment); 575 uint8_t* y = ALIGNP(buf.get(), kAlignment);
568 uint8_t* u = y + kWidth * kHeight; 576 uint8_t* u = y + kWidth * kHeight;
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 ASSERT_TRUE(frame1); 773 ASSERT_TRUE(frame1);
766 T frame2; 774 T frame2;
767 EXPECT_TRUE(LoadFrame(ms.get(), cricket::FOURCC_RAW, 775 EXPECT_TRUE(LoadFrame(ms.get(), cricket::FOURCC_RAW,
768 kWidth, kHeight, &frame2)); 776 kWidth, kHeight, &frame2));
769 EXPECT_TRUE(IsEqual(*frame1, frame2, 2)); 777 EXPECT_TRUE(IsEqual(*frame1, frame2, 2));
770 } 778 }
771 779
772 // Macro to help test different rotations 780 // Macro to help test different rotations
773 #define TEST_MIRROR(FOURCC, BPP) \ 781 #define TEST_MIRROR(FOURCC, BPP) \
774 void Construct##FOURCC##Mirror() { \ 782 void Construct##FOURCC##Mirror() { \
775 T frame1, frame2, frame3; \ 783 T frame1, frame2; \
784 rtc::scoped_refptr<webrtc::I420Buffer> res_buffer; \
776 std::unique_ptr<rtc::MemoryStream> ms( \ 785 std::unique_ptr<rtc::MemoryStream> ms( \
777 CreateYuvSample(kWidth, kHeight, BPP)); \ 786 CreateYuvSample(kWidth, kHeight, BPP)); \
778 ASSERT_TRUE(ms.get() != NULL); \ 787 ASSERT_TRUE(ms.get() != NULL); \
779 EXPECT_TRUE(LoadFrame(ms.get(), cricket::FOURCC_##FOURCC, kWidth, \ 788 EXPECT_TRUE(LoadFrame(ms.get(), cricket::FOURCC_##FOURCC, kWidth, \
780 -kHeight, kWidth, kHeight, \ 789 -kHeight, kWidth, kHeight, \
781 webrtc::kVideoRotation_180, &frame1)); \ 790 webrtc::kVideoRotation_180, &frame1)); \
782 size_t data_size; \ 791 size_t data_size; \
783 bool ret = ms->GetSize(&data_size); \ 792 bool ret = ms->GetSize(&data_size); \
784 EXPECT_TRUE(ret); \ 793 EXPECT_TRUE(ret); \
785 EXPECT_TRUE(frame2.Init(cricket::FOURCC_##FOURCC, kWidth, kHeight, kWidth, \ 794 EXPECT_TRUE(frame2.Init(cricket::FOURCC_##FOURCC, kWidth, kHeight, kWidth, \
786 kHeight, \ 795 kHeight, \
787 reinterpret_cast<uint8_t*>(ms->GetBuffer()), \ 796 reinterpret_cast<uint8_t*>(ms->GetBuffer()), \
788 data_size, 0, webrtc::kVideoRotation_0)); \ 797 data_size, 0, webrtc::kVideoRotation_0)); \
789 int width_rotate = frame1.width(); \ 798 int width_rotate = frame1.width(); \
790 int height_rotate = frame1.height(); \ 799 int height_rotate = frame1.height(); \
791 frame3.InitToEmptyBuffer(width_rotate, height_rotate); \ 800 res_buffer = webrtc::I420Buffer::Create(width_rotate, height_rotate); \
792 libyuv::I420Mirror(frame2.video_frame_buffer()->DataY(), \ 801 libyuv::I420Mirror(frame2.video_frame_buffer()->DataY(), \
793 frame2.video_frame_buffer()->StrideY(), \ 802 frame2.video_frame_buffer()->StrideY(), \
794 frame2.video_frame_buffer()->DataU(), \ 803 frame2.video_frame_buffer()->DataU(), \
795 frame2.video_frame_buffer()->StrideU(), \ 804 frame2.video_frame_buffer()->StrideU(), \
796 frame2.video_frame_buffer()->DataV(), \ 805 frame2.video_frame_buffer()->DataV(), \
797 frame2.video_frame_buffer()->StrideV(), \ 806 frame2.video_frame_buffer()->StrideV(), \
798 frame3.video_frame_buffer()->MutableDataY(), \ 807 res_buffer->MutableDataY(), res_buffer->StrideY(), \
799 frame3.video_frame_buffer()->StrideY(), \ 808 res_buffer->MutableDataU(), res_buffer->StrideU(), \
800 frame3.video_frame_buffer()->MutableDataU(), \ 809 res_buffer->MutableDataV(), res_buffer->StrideV(), \
801 frame3.video_frame_buffer()->StrideU(), \ 810 kWidth, kHeight); \
802 frame3.video_frame_buffer()->MutableDataV(), \ 811 EXPECT_TRUE(IsEqual(frame1, res_buffer, 0)); \
803 frame3.video_frame_buffer()->StrideV(), kWidth, \
804 kHeight); \
805 EXPECT_TRUE(IsEqual(frame1, frame3, 0)); \
806 } 812 }
807 813
808 TEST_MIRROR(I420, 420) 814 TEST_MIRROR(I420, 420)
809 815
810 // Macro to help test different rotations 816 // Macro to help test different rotations
811 #define TEST_ROTATE(FOURCC, BPP, ROTATE) \ 817 #define TEST_ROTATE(FOURCC, BPP, ROTATE) \
812 void Construct##FOURCC##Rotate##ROTATE() { \ 818 void Construct##FOURCC##Rotate##ROTATE() { \
813 T frame1, frame2, frame3; \ 819 T frame1, frame2; \
820 rtc::scoped_refptr<webrtc::I420Buffer> res_buffer; \
814 std::unique_ptr<rtc::MemoryStream> ms( \ 821 std::unique_ptr<rtc::MemoryStream> ms( \
815 CreateYuvSample(kWidth, kHeight, BPP)); \ 822 CreateYuvSample(kWidth, kHeight, BPP)); \
816 ASSERT_TRUE(ms.get() != NULL); \ 823 ASSERT_TRUE(ms.get() != NULL); \
817 EXPECT_TRUE(LoadFrame(ms.get(), cricket::FOURCC_##FOURCC, kWidth, kHeight, \ 824 EXPECT_TRUE(LoadFrame(ms.get(), cricket::FOURCC_##FOURCC, kWidth, kHeight, \
818 kWidth, kHeight, webrtc::kVideoRotation_##ROTATE, \ 825 kWidth, kHeight, webrtc::kVideoRotation_##ROTATE, \
819 &frame1)); \ 826 &frame1)); \
820 size_t data_size; \ 827 size_t data_size; \
821 bool ret = ms->GetSize(&data_size); \ 828 bool ret = ms->GetSize(&data_size); \
822 EXPECT_TRUE(ret); \ 829 EXPECT_TRUE(ret); \
823 EXPECT_TRUE(frame2.Init(cricket::FOURCC_##FOURCC, kWidth, kHeight, kWidth, \ 830 EXPECT_TRUE(frame2.Init(cricket::FOURCC_##FOURCC, kWidth, kHeight, kWidth, \
824 kHeight, \ 831 kHeight, \
825 reinterpret_cast<uint8_t*>(ms->GetBuffer()), \ 832 reinterpret_cast<uint8_t*>(ms->GetBuffer()), \
826 data_size, 0, webrtc::kVideoRotation_0)); \ 833 data_size, 0, webrtc::kVideoRotation_0)); \
827 int width_rotate = frame1.width(); \ 834 int width_rotate = frame1.width(); \
828 int height_rotate = frame1.height(); \ 835 int height_rotate = frame1.height(); \
829 frame3.InitToEmptyBuffer(width_rotate, height_rotate); \ 836 res_buffer = webrtc::I420Buffer::Create(width_rotate, height_rotate); \
830 libyuv::I420Rotate(frame2.video_frame_buffer()->DataY(), \ 837 libyuv::I420Rotate(frame2.video_frame_buffer()->DataY(), \
831 frame2.video_frame_buffer()->StrideY(), \ 838 frame2.video_frame_buffer()->StrideY(), \
832 frame2.video_frame_buffer()->DataU(), \ 839 frame2.video_frame_buffer()->DataU(), \
833 frame2.video_frame_buffer()->StrideU(), \ 840 frame2.video_frame_buffer()->StrideU(), \
834 frame2.video_frame_buffer()->DataV(), \ 841 frame2.video_frame_buffer()->DataV(), \
835 frame2.video_frame_buffer()->StrideV(), \ 842 frame2.video_frame_buffer()->StrideV(), \
836 frame3.video_frame_buffer()->MutableDataY(), \ 843 res_buffer->MutableDataY(), res_buffer->StrideY(), \
837 frame3.video_frame_buffer()->StrideY(), \ 844 res_buffer->MutableDataU(), res_buffer->StrideU(), \
838 frame3.video_frame_buffer()->MutableDataU(), \ 845 res_buffer->MutableDataV(), res_buffer->StrideV(), \
839 frame3.video_frame_buffer()->StrideU(), \ 846 kWidth, kHeight, libyuv::kRotate##ROTATE); \
840 frame3.video_frame_buffer()->MutableDataV(), \ 847 EXPECT_TRUE(IsEqual(frame1, res_buffer, 0)); \
841 frame3.video_frame_buffer()->StrideV(), kWidth, \
842 kHeight, libyuv::kRotate##ROTATE); \
843 EXPECT_TRUE(IsEqual(frame1, frame3, 0)); \
844 } 848 }
845 849
846 // Test constructing an image with rotation. 850 // Test constructing an image with rotation.
847 TEST_ROTATE(I420, 12, 0) 851 TEST_ROTATE(I420, 12, 0)
848 TEST_ROTATE(I420, 12, 90) 852 TEST_ROTATE(I420, 12, 90)
849 TEST_ROTATE(I420, 12, 180) 853 TEST_ROTATE(I420, 12, 180)
850 TEST_ROTATE(I420, 12, 270) 854 TEST_ROTATE(I420, 12, 270)
851 TEST_ROTATE(YV12, 12, 0) 855 TEST_ROTATE(YV12, 12, 0)
852 TEST_ROTATE(YV12, 12, 90) 856 TEST_ROTATE(YV12, 12, 90)
853 TEST_ROTATE(YV12, 12, 180) 857 TEST_ROTATE(YV12, 12, 180)
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
937 void ConstructI4201Pixel() { 941 void ConstructI4201Pixel() {
938 T frame; 942 T frame;
939 uint8_t pixel[3] = {1, 2, 3}; 943 uint8_t pixel[3] = {1, 2, 3};
940 for (int i = 0; i < repeat_; ++i) { 944 for (int i = 0; i < repeat_; ++i) {
941 EXPECT_TRUE(frame.Init(cricket::FOURCC_I420, 1, 1, 1, 1, pixel, 945 EXPECT_TRUE(frame.Init(cricket::FOURCC_I420, 1, 1, 1, 1, pixel,
942 sizeof(pixel), 0, webrtc::kVideoRotation_0)); 946 sizeof(pixel), 0, webrtc::kVideoRotation_0));
943 } 947 }
944 const uint8_t* y = pixel; 948 const uint8_t* y = pixel;
945 const uint8_t* u = y + 1; 949 const uint8_t* u = y + 1;
946 const uint8_t* v = u + 1; 950 const uint8_t* v = u + 1;
947 EXPECT_TRUE(IsEqual(frame, 1, 1, 0, y, 1, u, 1, v, 1, 0)); 951 EXPECT_TRUE(IsEqual(frame, 1, 1, y, 1, u, 1, v, 1, 0));
948 } 952 }
949 953
950 // Test 5 pixel edge case image. 954 // Test 5 pixel edge case image.
951 void ConstructI4205Pixel() { 955 void ConstructI4205Pixel() {
952 T frame; 956 T frame;
953 uint8_t pixels5x5[5 * 5 + ((5 + 1) / 2 * (5 + 1) / 2) * 2]; 957 uint8_t pixels5x5[5 * 5 + ((5 + 1) / 2 * (5 + 1) / 2) * 2];
954 memset(pixels5x5, 1, 5 * 5 + ((5 + 1) / 2 * (5 + 1) / 2) * 2); 958 memset(pixels5x5, 1, 5 * 5 + ((5 + 1) / 2 * (5 + 1) / 2) * 2);
955 for (int i = 0; i < repeat_; ++i) { 959 for (int i = 0; i < repeat_; ++i) {
956 EXPECT_TRUE(frame.Init(cricket::FOURCC_I420, 5, 5, 5, 5, pixels5x5, 960 EXPECT_TRUE(frame.Init(cricket::FOURCC_I420, 5, 5, 5, 5, pixels5x5,
957 sizeof(pixels5x5), 0, 961 sizeof(pixels5x5), 0,
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
1356 EXPECT_TRUE(frame2.Init(cricket::FOURCC_I422, kWidth, kHeight, kWidth, 1360 EXPECT_TRUE(frame2.Init(cricket::FOURCC_I422, kWidth, kHeight, kWidth,
1357 kHeight, y, out_size, 1, 1, 0, 1361 kHeight, y, out_size, 1, 1, 0,
1358 webrtc::kVideoRotation_0)); 1362 webrtc::kVideoRotation_0));
1359 EXPECT_TRUE(IsEqual(frame1, frame2, 1)); 1363 EXPECT_TRUE(IsEqual(frame1, frame2, 1));
1360 } 1364 }
1361 1365
1362 int repeat_; 1366 int repeat_;
1363 }; 1367 };
1364 1368
1365 #endif // WEBRTC_MEDIA_BASE_VIDEOFRAME_UNITTEST_H_ 1369 #endif // WEBRTC_MEDIA_BASE_VIDEOFRAME_UNITTEST_H_
OLDNEW
« no previous file with comments | « webrtc/common_video/video_frame_buffer.cc ('k') | webrtc/media/engine/webrtcvideoengine2_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698