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

Unified Diff: webrtc/media/base/videoframe_unittest.h

Issue 2287233002: Delete cricket::VideoFrame::ConvertToRgbBuffer. (Closed)
Patch Set: Convert non-linux renderers. Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/media/base/videoframe_unittest.h
diff --git a/webrtc/media/base/videoframe_unittest.h b/webrtc/media/base/videoframe_unittest.h
index 13fb790c1a71dc2606516e0f8dd9538652d549b6..8040804f83bfe9da6fe64b01e38f6f122d4661da 100644
--- a/webrtc/media/base/videoframe_unittest.h
+++ b/webrtc/media/base/videoframe_unittest.h
@@ -768,54 +768,6 @@ class VideoFrameTest : public testing::Test {
EXPECT_TRUE(IsEqual(*frame1, frame2, 2));
}
- // Test constructing an image from a RGB565 buffer
- void ConstructRGB565() {
- T frame1, frame2;
- size_t out_size = kWidth * kHeight * 2;
- std::unique_ptr<uint8_t[]> outbuf(new uint8_t[out_size + kAlignment]);
- uint8_t* out = ALIGNP(outbuf.get(), kAlignment);
- T frame;
- ASSERT_TRUE(LoadFrameNoRepeat(&frame1));
- EXPECT_EQ(out_size, frame1.ConvertToRgbBuffer(cricket::FOURCC_RGBP,
- out,
- out_size, kWidth * 2));
- EXPECT_TRUE(LoadFrame(out, out_size, cricket::FOURCC_RGBP,
- kWidth, kHeight, &frame2));
- EXPECT_TRUE(IsEqual(frame1, frame2, 20));
- }
-
- // Test constructing an image from a ARGB1555 buffer
- void ConstructARGB1555() {
- T frame1, frame2;
- size_t out_size = kWidth * kHeight * 2;
- std::unique_ptr<uint8_t[]> outbuf(new uint8_t[out_size + kAlignment]);
- uint8_t* out = ALIGNP(outbuf.get(), kAlignment);
- T frame;
- ASSERT_TRUE(LoadFrameNoRepeat(&frame1));
- EXPECT_EQ(out_size, frame1.ConvertToRgbBuffer(cricket::FOURCC_RGBO,
- out,
- out_size, kWidth * 2));
- EXPECT_TRUE(LoadFrame(out, out_size, cricket::FOURCC_RGBO,
- kWidth, kHeight, &frame2));
- EXPECT_TRUE(IsEqual(frame1, frame2, 20));
- }
-
- // Test constructing an image from a ARGB4444 buffer
- void ConstructARGB4444() {
- T frame1, frame2;
- size_t out_size = kWidth * kHeight * 2;
- std::unique_ptr<uint8_t[]> outbuf(new uint8_t[out_size + kAlignment]);
- uint8_t* out = ALIGNP(outbuf.get(), kAlignment);
- T frame;
- ASSERT_TRUE(LoadFrameNoRepeat(&frame1));
- EXPECT_EQ(out_size, frame1.ConvertToRgbBuffer(cricket::FOURCC_R444,
- out,
- out_size, kWidth * 2));
- EXPECT_TRUE(LoadFrame(out, out_size, cricket::FOURCC_R444,
- kWidth, kHeight, &frame2));
- EXPECT_TRUE(IsEqual(frame1, frame2, 20));
- }
-
// Macro to help test different rotations
#define TEST_MIRROR(FOURCC, BPP) \
void Construct##FOURCC##Mirror() { \
@@ -1011,66 +963,6 @@ class VideoFrameTest : public testing::Test {
EXPECT_EQ(3, frame.video_frame_buffer()->StrideV());
}
- // Test 1 pixel edge case image ARGB buffer.
- void ConstructARGB1Pixel() {
- T frame;
- uint8_t pixel[4] = {64, 128, 192, 255};
- for (int i = 0; i < repeat_; ++i) {
- EXPECT_TRUE(frame.Init(cricket::FOURCC_ARGB, 1, 1, 1, 1, pixel,
- sizeof(pixel), 0,
- webrtc::kVideoRotation_0));
- }
- // Convert back to ARGB.
- size_t out_size = 4;
- std::unique_ptr<uint8_t[]> outbuf(new uint8_t[out_size + kAlignment]);
- uint8_t* out = ALIGNP(outbuf.get(), kAlignment);
-
- EXPECT_EQ(out_size, frame.ConvertToRgbBuffer(cricket::FOURCC_ARGB,
- out,
- out_size, // buffer size
- out_size)); // stride
- #ifdef USE_LMI_CONVERT
- // TODO(fbarchard): Expected to fail, but not crash.
- EXPECT_FALSE(IsPlaneEqual("argb", pixel, 4, out, 4, 3, 1, 2));
- #else
- // TODO(fbarchard): Check for overwrite.
- EXPECT_TRUE(IsPlaneEqual("argb", pixel, 4, out, 4, 3, 1, 2));
- #endif
- }
-
- // Test Black, White and Grey pixels.
- void ConstructARGBBlackWhitePixel() {
- T frame;
- uint8_t pixel[10 * 4] = {0, 0, 0, 255, // Black.
- 0, 0, 0, 255, // Black.
- 64, 64, 64, 255, // Dark Grey.
- 64, 64, 64, 255, // Dark Grey.
- 128, 128, 128, 255, // Grey.
- 128, 128, 128, 255, // Grey.
- 196, 196, 196, 255, // Light Grey.
- 196, 196, 196, 255, // Light Grey.
- 255, 255, 255, 255, // White.
- 255, 255, 255, 255}; // White.
-
- for (int i = 0; i < repeat_; ++i) {
- EXPECT_TRUE(frame.Init(cricket::FOURCC_ARGB, 10, 1, 10, 1, pixel,
- sizeof(pixel), 1, 1, 0,
- webrtc::kVideoRotation_0));
- }
- // Convert back to ARGB
- size_t out_size = 10 * 4;
- std::unique_ptr<uint8_t[]> outbuf(new uint8_t[out_size + kAlignment]);
- uint8_t* out = ALIGNP(outbuf.get(), kAlignment);
-
- EXPECT_EQ(out_size, frame.ConvertToRgbBuffer(cricket::FOURCC_ARGB,
- out,
- out_size, // buffer size.
- out_size)); // stride.
- EXPECT_TRUE(IsPlaneEqual("argb", pixel, out_size,
- out, out_size,
- out_size, 1, 2));
- }
-
// Test constructing an image from an I420 buffer with horizontal cropping.
void ConstructI420CropHorizontal() {
T frame1, frame2;
@@ -1439,348 +1331,6 @@ class VideoFrameTest : public testing::Test {
// Conversion tests //
//////////////////////
- enum ToFrom { TO, FROM };
-
- // Helper function for test converting from I420 to packed formats.
- inline void ConvertToBuffer(int bpp,
- int rowpad,
- bool invert,
- ToFrom to_from,
- int error,
- uint32_t fourcc,
- int (*RGBToI420)(const uint8_t* src_frame,
- int src_stride_frame,
- uint8_t* dst_y,
- int dst_stride_y,
- uint8_t* dst_u,
- int dst_stride_u,
- uint8_t* dst_v,
- int dst_stride_v,
- int width,
- int height)) {
- T frame1, frame2;
- int repeat_to = (to_from == TO) ? repeat_ : 1;
- int repeat_from = (to_from == FROM) ? repeat_ : 1;
-
- int astride = kWidth * bpp + rowpad;
- size_t out_size = astride * kHeight;
- std::unique_ptr<uint8_t[]> outbuf(new uint8_t[out_size + kAlignment + 1]);
- memset(outbuf.get(), 0, out_size + kAlignment + 1);
- uint8_t* outtop = ALIGNP(outbuf.get(), kAlignment);
- uint8_t* out = outtop;
- int stride = astride;
- if (invert) {
- out += (kHeight - 1) * stride; // Point to last row.
- stride = -stride;
- }
- ASSERT_TRUE(LoadFrameNoRepeat(&frame1));
-
- for (int i = 0; i < repeat_to; ++i) {
- EXPECT_EQ(out_size, frame1.ConvertToRgbBuffer(fourcc,
- out,
- out_size, stride));
- }
- frame2.InitToEmptyBuffer(kWidth, kHeight);
- for (int i = 0; i < repeat_from; ++i) {
- EXPECT_EQ(0, RGBToI420(out, stride,
- frame2.video_frame_buffer()->MutableDataY(),
- frame2.video_frame_buffer()->StrideY(),
- frame2.video_frame_buffer()->MutableDataU(),
- frame2.video_frame_buffer()->StrideU(),
- frame2.video_frame_buffer()->MutableDataV(),
- frame2.video_frame_buffer()->StrideV(),
- kWidth, kHeight));
- }
- if (rowpad) {
- EXPECT_EQ(0, outtop[kWidth * bpp]); // Ensure stride skipped end of row.
- EXPECT_NE(0, outtop[astride]); // Ensure pixel at start of 2nd row.
- } else {
- EXPECT_NE(0, outtop[kWidth * bpp]); // Expect something to be here.
- }
- EXPECT_EQ(0, outtop[out_size]); // Ensure no overrun.
- EXPECT_TRUE(IsEqual(frame1, frame2, error));
- }
-
- static const int kError = 20;
- static const int kErrorHigh = 40;
- static const int kOddStride = 23;
-
- // Tests ConvertToRGBBuffer formats.
- void ConvertToARGBBuffer() {
- ConvertToBuffer(4, 0, false, TO, kError,
- cricket::FOURCC_ARGB, libyuv::ARGBToI420);
- }
- void ConvertToBGRABuffer() {
- ConvertToBuffer(4, 0, false, TO, kError,
- cricket::FOURCC_BGRA, libyuv::BGRAToI420);
- }
- void ConvertToABGRBuffer() {
- ConvertToBuffer(4, 0, false, TO, kError,
- cricket::FOURCC_ABGR, libyuv::ABGRToI420);
- }
- void ConvertToRGB24Buffer() {
- ConvertToBuffer(3, 0, false, TO, kError,
- cricket::FOURCC_24BG, libyuv::RGB24ToI420);
- }
- void ConvertToRAWBuffer() {
- ConvertToBuffer(3, 0, false, TO, kError,
- cricket::FOURCC_RAW, libyuv::RAWToI420);
- }
- void ConvertToRGB565Buffer() {
- ConvertToBuffer(2, 0, false, TO, kError,
- cricket::FOURCC_RGBP, libyuv::RGB565ToI420);
- }
- void ConvertToARGB1555Buffer() {
- ConvertToBuffer(2, 0, false, TO, kError,
- cricket::FOURCC_RGBO, libyuv::ARGB1555ToI420);
- }
- void ConvertToARGB4444Buffer() {
- ConvertToBuffer(2, 0, false, TO, kError,
- cricket::FOURCC_R444, libyuv::ARGB4444ToI420);
- }
- void ConvertToI400Buffer() {
- ConvertToBuffer(1, 0, false, TO, 128,
- cricket::FOURCC_I400, libyuv::I400ToI420);
- }
- void ConvertToYUY2Buffer() {
- ConvertToBuffer(2, 0, false, TO, kError,
- cricket::FOURCC_YUY2, libyuv::YUY2ToI420);
- }
- void ConvertToUYVYBuffer() {
- ConvertToBuffer(2, 0, false, TO, kError,
- cricket::FOURCC_UYVY, libyuv::UYVYToI420);
- }
-
- // Tests ConvertToRGBBuffer formats with odd stride.
- void ConvertToARGBBufferStride() {
- ConvertToBuffer(4, kOddStride, false, TO, kError,
- cricket::FOURCC_ARGB, libyuv::ARGBToI420);
- }
- void ConvertToBGRABufferStride() {
- ConvertToBuffer(4, kOddStride, false, TO, kError,
- cricket::FOURCC_BGRA, libyuv::BGRAToI420);
- }
- void ConvertToABGRBufferStride() {
- ConvertToBuffer(4, kOddStride, false, TO, kError,
- cricket::FOURCC_ABGR, libyuv::ABGRToI420);
- }
- void ConvertToRGB24BufferStride() {
- ConvertToBuffer(3, kOddStride, false, TO, kError,
- cricket::FOURCC_24BG, libyuv::RGB24ToI420);
- }
- void ConvertToRAWBufferStride() {
- ConvertToBuffer(3, kOddStride, false, TO, kError,
- cricket::FOURCC_RAW, libyuv::RAWToI420);
- }
- void ConvertToRGB565BufferStride() {
- ConvertToBuffer(2, kOddStride, false, TO, kError,
- cricket::FOURCC_RGBP, libyuv::RGB565ToI420);
- }
- void ConvertToARGB1555BufferStride() {
- ConvertToBuffer(2, kOddStride, false, TO, kError,
- cricket::FOURCC_RGBO, libyuv::ARGB1555ToI420);
- }
- void ConvertToARGB4444BufferStride() {
- ConvertToBuffer(2, kOddStride, false, TO, kError,
- cricket::FOURCC_R444, libyuv::ARGB4444ToI420);
- }
- void ConvertToI400BufferStride() {
- ConvertToBuffer(1, kOddStride, false, TO, 128,
- cricket::FOURCC_I400, libyuv::I400ToI420);
- }
- void ConvertToYUY2BufferStride() {
- ConvertToBuffer(2, kOddStride, false, TO, kError,
- cricket::FOURCC_YUY2, libyuv::YUY2ToI420);
- }
- void ConvertToUYVYBufferStride() {
- ConvertToBuffer(2, kOddStride, false, TO, kError,
- cricket::FOURCC_UYVY, libyuv::UYVYToI420);
- }
-
- // Tests ConvertToRGBBuffer formats with negative stride to invert image.
- void ConvertToARGBBufferInverted() {
- ConvertToBuffer(4, 0, true, TO, kError,
- cricket::FOURCC_ARGB, libyuv::ARGBToI420);
- }
- void ConvertToBGRABufferInverted() {
- ConvertToBuffer(4, 0, true, TO, kError,
- cricket::FOURCC_BGRA, libyuv::BGRAToI420);
- }
- void ConvertToABGRBufferInverted() {
- ConvertToBuffer(4, 0, true, TO, kError,
- cricket::FOURCC_ABGR, libyuv::ABGRToI420);
- }
- void ConvertToRGB24BufferInverted() {
- ConvertToBuffer(3, 0, true, TO, kError,
- cricket::FOURCC_24BG, libyuv::RGB24ToI420);
- }
- void ConvertToRAWBufferInverted() {
- ConvertToBuffer(3, 0, true, TO, kError,
- cricket::FOURCC_RAW, libyuv::RAWToI420);
- }
- void ConvertToRGB565BufferInverted() {
- ConvertToBuffer(2, 0, true, TO, kError,
- cricket::FOURCC_RGBP, libyuv::RGB565ToI420);
- }
- void ConvertToARGB1555BufferInverted() {
- ConvertToBuffer(2, 0, true, TO, kError,
- cricket::FOURCC_RGBO, libyuv::ARGB1555ToI420);
- }
- void ConvertToARGB4444BufferInverted() {
- ConvertToBuffer(2, 0, true, TO, kError,
- cricket::FOURCC_R444, libyuv::ARGB4444ToI420);
- }
- void ConvertToI400BufferInverted() {
- ConvertToBuffer(1, 0, true, TO, 128,
- cricket::FOURCC_I400, libyuv::I400ToI420);
- }
- void ConvertToYUY2BufferInverted() {
- ConvertToBuffer(2, 0, true, TO, kError,
- cricket::FOURCC_YUY2, libyuv::YUY2ToI420);
- }
- void ConvertToUYVYBufferInverted() {
- ConvertToBuffer(2, 0, true, TO, kError,
- cricket::FOURCC_UYVY, libyuv::UYVYToI420);
- }
-
- // Tests ConvertFrom formats.
- void ConvertFromARGBBuffer() {
- ConvertToBuffer(4, 0, false, FROM, kError,
- cricket::FOURCC_ARGB, libyuv::ARGBToI420);
- }
- void ConvertFromBGRABuffer() {
- ConvertToBuffer(4, 0, false, FROM, kError,
- cricket::FOURCC_BGRA, libyuv::BGRAToI420);
- }
- void ConvertFromABGRBuffer() {
- ConvertToBuffer(4, 0, false, FROM, kError,
- cricket::FOURCC_ABGR, libyuv::ABGRToI420);
- }
- void ConvertFromRGB24Buffer() {
- ConvertToBuffer(3, 0, false, FROM, kError,
- cricket::FOURCC_24BG, libyuv::RGB24ToI420);
- }
- void ConvertFromRAWBuffer() {
- ConvertToBuffer(3, 0, false, FROM, kError,
- cricket::FOURCC_RAW, libyuv::RAWToI420);
- }
- void ConvertFromRGB565Buffer() {
- ConvertToBuffer(2, 0, false, FROM, kError,
- cricket::FOURCC_RGBP, libyuv::RGB565ToI420);
- }
- void ConvertFromARGB1555Buffer() {
- ConvertToBuffer(2, 0, false, FROM, kError,
- cricket::FOURCC_RGBO, libyuv::ARGB1555ToI420);
- }
- void ConvertFromARGB4444Buffer() {
- ConvertToBuffer(2, 0, false, FROM, kError,
- cricket::FOURCC_R444, libyuv::ARGB4444ToI420);
- }
- void ConvertFromI400Buffer() {
- ConvertToBuffer(1, 0, false, FROM, 128,
- cricket::FOURCC_I400, libyuv::I400ToI420);
- }
- void ConvertFromYUY2Buffer() {
- ConvertToBuffer(2, 0, false, FROM, kError,
- cricket::FOURCC_YUY2, libyuv::YUY2ToI420);
- }
- void ConvertFromUYVYBuffer() {
- ConvertToBuffer(2, 0, false, FROM, kError,
- cricket::FOURCC_UYVY, libyuv::UYVYToI420);
- }
-
- // Tests ConvertFrom formats with odd stride.
- void ConvertFromARGBBufferStride() {
- ConvertToBuffer(4, kOddStride, false, FROM, kError,
- cricket::FOURCC_ARGB, libyuv::ARGBToI420);
- }
- void ConvertFromBGRABufferStride() {
- ConvertToBuffer(4, kOddStride, false, FROM, kError,
- cricket::FOURCC_BGRA, libyuv::BGRAToI420);
- }
- void ConvertFromABGRBufferStride() {
- ConvertToBuffer(4, kOddStride, false, FROM, kError,
- cricket::FOURCC_ABGR, libyuv::ABGRToI420);
- }
- void ConvertFromRGB24BufferStride() {
- ConvertToBuffer(3, kOddStride, false, FROM, kError,
- cricket::FOURCC_24BG, libyuv::RGB24ToI420);
- }
- void ConvertFromRAWBufferStride() {
- ConvertToBuffer(3, kOddStride, false, FROM, kError,
- cricket::FOURCC_RAW, libyuv::RAWToI420);
- }
- void ConvertFromRGB565BufferStride() {
- ConvertToBuffer(2, kOddStride, false, FROM, kError,
- cricket::FOURCC_RGBP, libyuv::RGB565ToI420);
- }
- void ConvertFromARGB1555BufferStride() {
- ConvertToBuffer(2, kOddStride, false, FROM, kError,
- cricket::FOURCC_RGBO, libyuv::ARGB1555ToI420);
- }
- void ConvertFromARGB4444BufferStride() {
- ConvertToBuffer(2, kOddStride, false, FROM, kError,
- cricket::FOURCC_R444, libyuv::ARGB4444ToI420);
- }
- void ConvertFromI400BufferStride() {
- ConvertToBuffer(1, kOddStride, false, FROM, 128,
- cricket::FOURCC_I400, libyuv::I400ToI420);
- }
- void ConvertFromYUY2BufferStride() {
- ConvertToBuffer(2, kOddStride, false, FROM, kError,
- cricket::FOURCC_YUY2, libyuv::YUY2ToI420);
- }
- void ConvertFromUYVYBufferStride() {
- ConvertToBuffer(2, kOddStride, false, FROM, kError,
- cricket::FOURCC_UYVY, libyuv::UYVYToI420);
- }
-
- // Tests ConvertFrom formats with negative stride to invert image.
- void ConvertFromARGBBufferInverted() {
- ConvertToBuffer(4, 0, true, FROM, kError,
- cricket::FOURCC_ARGB, libyuv::ARGBToI420);
- }
- void ConvertFromBGRABufferInverted() {
- ConvertToBuffer(4, 0, true, FROM, kError,
- cricket::FOURCC_BGRA, libyuv::BGRAToI420);
- }
- void ConvertFromABGRBufferInverted() {
- ConvertToBuffer(4, 0, true, FROM, kError,
- cricket::FOURCC_ABGR, libyuv::ABGRToI420);
- }
- void ConvertFromRGB24BufferInverted() {
- ConvertToBuffer(3, 0, true, FROM, kError,
- cricket::FOURCC_24BG, libyuv::RGB24ToI420);
- }
- void ConvertFromRAWBufferInverted() {
- ConvertToBuffer(3, 0, true, FROM, kError,
- cricket::FOURCC_RAW, libyuv::RAWToI420);
- }
- void ConvertFromRGB565BufferInverted() {
- ConvertToBuffer(2, 0, true, FROM, kError,
- cricket::FOURCC_RGBP, libyuv::RGB565ToI420);
- }
- void ConvertFromARGB1555BufferInverted() {
- ConvertToBuffer(2, 0, true, FROM, kError,
- cricket::FOURCC_RGBO, libyuv::ARGB1555ToI420);
- }
- void ConvertFromARGB4444BufferInverted() {
- ConvertToBuffer(2, 0, true, FROM, kError,
perkj_webrtc 2016/08/30 07:13:39 these are all tested as part of libyuv instead?
nisse-webrtc 2016/08/30 07:46:07 I can't say if they have the same coverage, but th
- cricket::FOURCC_R444, libyuv::ARGB4444ToI420);
- }
- void ConvertFromI400BufferInverted() {
- ConvertToBuffer(1, 0, true, FROM, 128,
- cricket::FOURCC_I400, libyuv::I400ToI420);
- }
- void ConvertFromYUY2BufferInverted() {
- ConvertToBuffer(2, 0, true, FROM, kError,
- cricket::FOURCC_YUY2, libyuv::YUY2ToI420);
- }
- void ConvertFromUYVYBufferInverted() {
- ConvertToBuffer(2, 0, true, FROM, kError,
- cricket::FOURCC_UYVY, libyuv::UYVYToI420);
- }
-
// Test converting from I420 to I422.
void ConvertToI422Buffer() {
T frame1, frame2;

Powered by Google App Engine
This is Rietveld 408576698