Chromium Code Reviews| 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; |