diff --git a/DEPS b/DEPS index 2a4dc3d37e..52d2c74184 100644 --- a/DEPS +++ b/DEPS @@ -6,7 +6,7 @@ vars = { 'extra_gyp_flag': '-Dextra_gyp_flag=0', 'chromium_git': 'https://chromium.googlesource.com', - 'chromium_revision': '8af41b356f3d3f97b7cbde771b039a0a46bff0de', + 'chromium_revision': 'dcb092938514169fb8e285ac0286d2dcddf1ff78', } # NOTE: Prefer revision numbers to tags for svn deps. Use http rather than diff --git a/talk/media/base/videocommon.h b/talk/media/base/videocommon.h index 4e12e19ca7..56e5f14095 100644 --- a/talk/media/base/videocommon.h +++ b/talk/media/base/videocommon.h @@ -83,7 +83,6 @@ enum FourCC { // 2 Secondary YUV formats: row biplanar. FOURCC_M420 = FOURCC('M', '4', '2', '0'), - FOURCC_Q420 = FOURCC('Q', '4', '2', '0'), // 9 Primary RGB formats: 4 32 bpp, 2 24 bpp, 3 16 bpp. FOURCC_ARGB = FOURCC('A', 'R', 'G', 'B'), diff --git a/talk/media/base/videoframe.cc b/talk/media/base/videoframe.cc index aba9449e07..79f52fcb4e 100644 --- a/talk/media/base/videoframe.cc +++ b/talk/media/base/videoframe.cc @@ -276,7 +276,6 @@ bool VideoFrame::Validate(uint32 fourcc, int w, int h, case FOURCC_YU12: case FOURCC_YV12: case FOURCC_M420: - case FOURCC_Q420: case FOURCC_NV21: case FOURCC_NV12: expected_bpp = 12; diff --git a/talk/media/base/videoframe_unittest.h b/talk/media/base/videoframe_unittest.h index 75d144f658..07b3910dc2 100644 --- a/talk/media/base/videoframe_unittest.h +++ b/talk/media/base/videoframe_unittest.h @@ -33,7 +33,6 @@ #include "libyuv/convert.h" #include "libyuv/convert_from.h" -#include "libyuv/format_conversion.h" #include "libyuv/planar_functions.h" #include "libyuv/rotate.h" #include "talk/media/base/testutils.h" @@ -630,15 +629,6 @@ class VideoFrameTest : public testing::Test { kWidth, kHeight, &frame)); } - void ConstructQ420() { - T frame; - rtc::scoped_ptr ms( - CreateYuvSample(kWidth, kHeight, 12)); - ASSERT_TRUE(ms.get() != NULL); - EXPECT_TRUE(LoadFrame(ms.get(), cricket::FOURCC_Q420, - kWidth, kHeight, &frame)); - } - void ConstructNV21() { T frame; rtc::scoped_ptr ms( @@ -789,38 +779,6 @@ class VideoFrameTest : public testing::Test { EXPECT_TRUE(IsEqual(frame1, frame2, 20)); } - // Macro to help test different Bayer formats. - // Error threshold of 60 allows for Bayer format subsampling. - // TODO(fbarchard): Refactor this test to go from Bayer to I420 and - // back to bayer, which would be less lossy. - #define TEST_BYR(NAME, BAYER) \ - void NAME() { \ - size_t bayer_size = kWidth * kHeight; \ - rtc::scoped_ptr bayerbuf(new uint8[ \ - bayer_size + kAlignment]); \ - uint8* bayer = ALIGNP(bayerbuf.get(), kAlignment); \ - T frame1, frame2; \ - rtc::scoped_ptr ms( \ - CreateRgbSample(cricket::FOURCC_ARGB, kWidth, kHeight)); \ - ASSERT_TRUE(ms.get() != NULL); \ - libyuv::ARGBToBayer##BAYER(reinterpret_cast(ms->GetBuffer()), \ - kWidth * 4, \ - bayer, kWidth, \ - kWidth, kHeight); \ - EXPECT_TRUE(LoadFrame(bayer, bayer_size, cricket::FOURCC_##BAYER, \ - kWidth, kHeight, &frame1)); \ - EXPECT_TRUE(ConvertRgb(ms.get(), cricket::FOURCC_ARGB, kWidth, kHeight, \ - &frame2)); \ - EXPECT_TRUE(IsEqual(frame1, frame2, 60)); \ - } - - // Test constructing an image from Bayer formats. - TEST_BYR(ConstructBayerGRBG, GRBG) - TEST_BYR(ConstructBayerGBRG, GBRG) - TEST_BYR(ConstructBayerBGGR, BGGR) - TEST_BYR(ConstructBayerRGGB, RGGB) - - // Macro to help test different rotations #define TEST_MIRROR(FOURCC, BPP) \ void Construct##FOURCC##Mirror() { \ @@ -1547,22 +1505,6 @@ class VideoFrameTest : public testing::Test { ConvertToBuffer(2, 0, false, TO, kError, cricket::FOURCC_R444, libyuv::ARGB4444ToI420); } - void ConvertToBayerBGGRBuffer() { - ConvertToBuffer(1, 0, false, TO, kErrorHigh, - cricket::FOURCC_BGGR, libyuv::BayerBGGRToI420); - } - void ConvertToBayerGBRGBuffer() { - ConvertToBuffer(1, 0, false, TO, kErrorHigh, - cricket::FOURCC_GBRG, libyuv::BayerGBRGToI420); - } - void ConvertToBayerGRBGBuffer() { - ConvertToBuffer(1, 0, false, TO, kErrorHigh, - cricket::FOURCC_GRBG, libyuv::BayerGRBGToI420); - } - void ConvertToBayerRGGBBuffer() { - ConvertToBuffer(1, 0, false, TO, kErrorHigh, - cricket::FOURCC_RGGB, libyuv::BayerRGGBToI420); - } void ConvertToI400Buffer() { ConvertToBuffer(1, 0, false, TO, 128, cricket::FOURCC_I400, libyuv::I400ToI420); @@ -1609,22 +1551,6 @@ class VideoFrameTest : public testing::Test { ConvertToBuffer(2, kOddStride, false, TO, kError, cricket::FOURCC_R444, libyuv::ARGB4444ToI420); } - void ConvertToBayerBGGRBufferStride() { - ConvertToBuffer(1, kOddStride, false, TO, kErrorHigh, - cricket::FOURCC_BGGR, libyuv::BayerBGGRToI420); - } - void ConvertToBayerGBRGBufferStride() { - ConvertToBuffer(1, kOddStride, false, TO, kErrorHigh, - cricket::FOURCC_GBRG, libyuv::BayerGBRGToI420); - } - void ConvertToBayerGRBGBufferStride() { - ConvertToBuffer(1, kOddStride, false, TO, kErrorHigh, - cricket::FOURCC_GRBG, libyuv::BayerGRBGToI420); - } - void ConvertToBayerRGGBBufferStride() { - ConvertToBuffer(1, kOddStride, false, TO, kErrorHigh, - cricket::FOURCC_RGGB, libyuv::BayerRGGBToI420); - } void ConvertToI400BufferStride() { ConvertToBuffer(1, kOddStride, false, TO, 128, cricket::FOURCC_I400, libyuv::I400ToI420); @@ -1671,22 +1597,6 @@ class VideoFrameTest : public testing::Test { ConvertToBuffer(2, 0, true, TO, kError, cricket::FOURCC_R444, libyuv::ARGB4444ToI420); } - void ConvertToBayerBGGRBufferInverted() { - ConvertToBuffer(1, 0, true, TO, kErrorHigh, - cricket::FOURCC_BGGR, libyuv::BayerBGGRToI420); - } - void ConvertToBayerGBRGBufferInverted() { - ConvertToBuffer(1, 0, true, TO, kErrorHigh, - cricket::FOURCC_GBRG, libyuv::BayerGBRGToI420); - } - void ConvertToBayerGRBGBufferInverted() { - ConvertToBuffer(1, 0, true, TO, kErrorHigh, - cricket::FOURCC_GRBG, libyuv::BayerGRBGToI420); - } - void ConvertToBayerRGGBBufferInverted() { - ConvertToBuffer(1, 0, true, TO, kErrorHigh, - cricket::FOURCC_RGGB, libyuv::BayerRGGBToI420); - } void ConvertToI400BufferInverted() { ConvertToBuffer(1, 0, true, TO, 128, cricket::FOURCC_I400, libyuv::I400ToI420); @@ -1733,22 +1643,6 @@ class VideoFrameTest : public testing::Test { ConvertToBuffer(2, 0, false, FROM, kError, cricket::FOURCC_R444, libyuv::ARGB4444ToI420); } - void ConvertFromBayerBGGRBuffer() { - ConvertToBuffer(1, 0, false, FROM, kErrorHigh, - cricket::FOURCC_BGGR, libyuv::BayerBGGRToI420); - } - void ConvertFromBayerGBRGBuffer() { - ConvertToBuffer(1, 0, false, FROM, kErrorHigh, - cricket::FOURCC_GBRG, libyuv::BayerGBRGToI420); - } - void ConvertFromBayerGRBGBuffer() { - ConvertToBuffer(1, 0, false, FROM, kErrorHigh, - cricket::FOURCC_GRBG, libyuv::BayerGRBGToI420); - } - void ConvertFromBayerRGGBBuffer() { - ConvertToBuffer(1, 0, false, FROM, kErrorHigh, - cricket::FOURCC_RGGB, libyuv::BayerRGGBToI420); - } void ConvertFromI400Buffer() { ConvertToBuffer(1, 0, false, FROM, 128, cricket::FOURCC_I400, libyuv::I400ToI420); @@ -1795,22 +1689,6 @@ class VideoFrameTest : public testing::Test { ConvertToBuffer(2, kOddStride, false, FROM, kError, cricket::FOURCC_R444, libyuv::ARGB4444ToI420); } - void ConvertFromBayerBGGRBufferStride() { - ConvertToBuffer(1, kOddStride, false, FROM, kErrorHigh, - cricket::FOURCC_BGGR, libyuv::BayerBGGRToI420); - } - void ConvertFromBayerGBRGBufferStride() { - ConvertToBuffer(1, kOddStride, false, FROM, kErrorHigh, - cricket::FOURCC_GBRG, libyuv::BayerGBRGToI420); - } - void ConvertFromBayerGRBGBufferStride() { - ConvertToBuffer(1, kOddStride, false, FROM, kErrorHigh, - cricket::FOURCC_GRBG, libyuv::BayerGRBGToI420); - } - void ConvertFromBayerRGGBBufferStride() { - ConvertToBuffer(1, kOddStride, false, FROM, kErrorHigh, - cricket::FOURCC_RGGB, libyuv::BayerRGGBToI420); - } void ConvertFromI400BufferStride() { ConvertToBuffer(1, kOddStride, false, FROM, 128, cricket::FOURCC_I400, libyuv::I400ToI420); @@ -1857,22 +1735,6 @@ class VideoFrameTest : public testing::Test { ConvertToBuffer(2, 0, true, FROM, kError, cricket::FOURCC_R444, libyuv::ARGB4444ToI420); } - void ConvertFromBayerBGGRBufferInverted() { - ConvertToBuffer(1, 0, true, FROM, kErrorHigh, - cricket::FOURCC_BGGR, libyuv::BayerBGGRToI420); - } - void ConvertFromBayerGBRGBufferInverted() { - ConvertToBuffer(1, 0, true, FROM, kErrorHigh, - cricket::FOURCC_GBRG, libyuv::BayerGBRGToI420); - } - void ConvertFromBayerGRBGBufferInverted() { - ConvertToBuffer(1, 0, true, FROM, kErrorHigh, - cricket::FOURCC_GRBG, libyuv::BayerGRBGToI420); - } - void ConvertFromBayerRGGBBufferInverted() { - ConvertToBuffer(1, 0, true, FROM, kErrorHigh, - cricket::FOURCC_RGGB, libyuv::BayerRGGBToI420); - } void ConvertFromI400BufferInverted() { ConvertToBuffer(1, 0, true, FROM, 128, cricket::FOURCC_I400, libyuv::I400ToI420); @@ -1910,110 +1772,6 @@ class VideoFrameTest : public testing::Test { EXPECT_TRUE(IsEqual(frame1, frame2, 1)); } - #define TEST_TOBYR(NAME, BAYER) \ - void NAME() { \ - size_t bayer_size = kWidth * kHeight; \ - rtc::scoped_ptr bayerbuf(new uint8[ \ - bayer_size + kAlignment]); \ - uint8* bayer = ALIGNP(bayerbuf.get(), kAlignment); \ - T frame; \ - rtc::scoped_ptr ms( \ - CreateRgbSample(cricket::FOURCC_ARGB, kWidth, kHeight)); \ - ASSERT_TRUE(ms.get() != NULL); \ - for (int i = 0; i < repeat_; ++i) { \ - libyuv::ARGBToBayer##BAYER(reinterpret_cast(ms->GetBuffer()), \ - kWidth * 4, \ - bayer, kWidth, \ - kWidth, kHeight); \ - } \ - rtc::scoped_ptr ms2( \ - CreateRgbSample(cricket::FOURCC_ARGB, kWidth, kHeight)); \ - size_t data_size; \ - bool ret = ms2->GetSize(&data_size); \ - EXPECT_TRUE(ret); \ - libyuv::Bayer##BAYER##ToARGB(bayer, kWidth, \ - reinterpret_cast(ms2->GetBuffer()), \ - kWidth * 4, \ - kWidth, kHeight); \ - EXPECT_TRUE(IsPlaneEqual("argb", \ - reinterpret_cast(ms->GetBuffer()), kWidth * 4, \ - reinterpret_cast(ms2->GetBuffer()), kWidth * 4, \ - kWidth * 4, kHeight, 240)); \ - } \ - void NAME##Unaligned() { \ - size_t bayer_size = kWidth * kHeight; \ - rtc::scoped_ptr bayerbuf(new uint8[ \ - bayer_size + 1 + kAlignment]); \ - uint8* bayer = ALIGNP(bayerbuf.get(), kAlignment) + 1; \ - T frame; \ - rtc::scoped_ptr ms( \ - CreateRgbSample(cricket::FOURCC_ARGB, kWidth, kHeight)); \ - ASSERT_TRUE(ms.get() != NULL); \ - for (int i = 0; i < repeat_; ++i) { \ - libyuv::ARGBToBayer##BAYER(reinterpret_cast(ms->GetBuffer()), \ - kWidth * 4, \ - bayer, kWidth, \ - kWidth, kHeight); \ - } \ - rtc::scoped_ptr ms2( \ - CreateRgbSample(cricket::FOURCC_ARGB, kWidth, kHeight)); \ - size_t data_size; \ - bool ret = ms2->GetSize(&data_size); \ - EXPECT_TRUE(ret); \ - libyuv::Bayer##BAYER##ToARGB(bayer, kWidth, \ - reinterpret_cast(ms2->GetBuffer()), \ - kWidth * 4, \ - kWidth, kHeight); \ - EXPECT_TRUE(IsPlaneEqual("argb", \ - reinterpret_cast(ms->GetBuffer()), kWidth * 4, \ - reinterpret_cast(ms2->GetBuffer()), kWidth * 4, \ - kWidth * 4, kHeight, 240)); \ - } - - // Tests ARGB to Bayer formats. - TEST_TOBYR(ConvertARGBToBayerGRBG, GRBG) - TEST_TOBYR(ConvertARGBToBayerGBRG, GBRG) - TEST_TOBYR(ConvertARGBToBayerBGGR, BGGR) - TEST_TOBYR(ConvertARGBToBayerRGGB, RGGB) - - #define TEST_BYRTORGB(NAME, BAYER) \ - void NAME() { \ - size_t bayer_size = kWidth * kHeight; \ - rtc::scoped_ptr bayerbuf(new uint8[ \ - bayer_size + kAlignment]); \ - uint8* bayer1 = ALIGNP(bayerbuf.get(), kAlignment); \ - for (int i = 0; i < kWidth * kHeight; ++i) { \ - bayer1[i] = static_cast(i * 33u + 183u); \ - } \ - T frame; \ - rtc::scoped_ptr ms( \ - CreateRgbSample(cricket::FOURCC_ARGB, kWidth, kHeight)); \ - ASSERT_TRUE(ms.get() != NULL); \ - for (int i = 0; i < repeat_; ++i) { \ - libyuv::Bayer##BAYER##ToARGB(bayer1, kWidth, \ - reinterpret_cast(ms->GetBuffer()), \ - kWidth * 4, \ - kWidth, kHeight); \ - } \ - rtc::scoped_ptr bayer2buf(new uint8[ \ - bayer_size + kAlignment]); \ - uint8* bayer2 = ALIGNP(bayer2buf.get(), kAlignment); \ - libyuv::ARGBToBayer##BAYER(reinterpret_cast(ms->GetBuffer()), \ - kWidth * 4, \ - bayer2, kWidth, \ - kWidth, kHeight); \ - EXPECT_TRUE(IsPlaneEqual("bayer", \ - bayer1, kWidth, \ - bayer2, kWidth, \ - kWidth, kHeight, 0)); \ - } - - // Tests Bayer formats to ARGB. - TEST_BYRTORGB(ConvertBayerGRBGToARGB, GRBG) - TEST_BYRTORGB(ConvertBayerGBRGToARGB, GBRG) - TEST_BYRTORGB(ConvertBayerBGGRToARGB, BGGR) - TEST_BYRTORGB(ConvertBayerRGGBToARGB, RGGB) - /////////////////// // General tests // /////////////////// diff --git a/talk/media/webrtc/webrtcvideoframe_unittest.cc b/talk/media/webrtc/webrtcvideoframe_unittest.cc index e3c43116f4..7386f51e7b 100644 --- a/talk/media/webrtc/webrtcvideoframe_unittest.cc +++ b/talk/media/webrtc/webrtcvideoframe_unittest.cc @@ -120,7 +120,6 @@ TEST_WEBRTCVIDEOFRAME(ConstructYuy2Wide) TEST_WEBRTCVIDEOFRAME(ConstructYV12) TEST_WEBRTCVIDEOFRAME(ConstructUyvy) TEST_WEBRTCVIDEOFRAME(ConstructM420) -TEST_WEBRTCVIDEOFRAME(ConstructQ420) TEST_WEBRTCVIDEOFRAME(ConstructNV21) TEST_WEBRTCVIDEOFRAME(ConstructNV12) TEST_WEBRTCVIDEOFRAME(ConstructABGR) @@ -217,18 +216,6 @@ TEST_WEBRTCVIDEOFRAME(ConvertToRGB24BufferInverted) TEST_WEBRTCVIDEOFRAME(ConvertToRGB565Buffer) TEST_WEBRTCVIDEOFRAME(ConvertToRGB565BufferStride) TEST_WEBRTCVIDEOFRAME(ConvertToRGB565BufferInverted) -TEST_WEBRTCVIDEOFRAME(ConvertToBayerBGGRBuffer) -TEST_WEBRTCVIDEOFRAME(ConvertToBayerBGGRBufferStride) -TEST_WEBRTCVIDEOFRAME(ConvertToBayerBGGRBufferInverted) -TEST_WEBRTCVIDEOFRAME(ConvertToBayerGRBGBuffer) -TEST_WEBRTCVIDEOFRAME(ConvertToBayerGRBGBufferStride) -TEST_WEBRTCVIDEOFRAME(ConvertToBayerGRBGBufferInverted) -TEST_WEBRTCVIDEOFRAME(ConvertToBayerGBRGBuffer) -TEST_WEBRTCVIDEOFRAME(ConvertToBayerGBRGBufferStride) -TEST_WEBRTCVIDEOFRAME(ConvertToBayerGBRGBufferInverted) -TEST_WEBRTCVIDEOFRAME(ConvertToBayerRGGBBuffer) -TEST_WEBRTCVIDEOFRAME(ConvertToBayerRGGBBufferStride) -TEST_WEBRTCVIDEOFRAME(ConvertToBayerRGGBBufferInverted) TEST_WEBRTCVIDEOFRAME(ConvertToI400Buffer) TEST_WEBRTCVIDEOFRAME(ConvertToI400BufferStride) TEST_WEBRTCVIDEOFRAME(ConvertToI400BufferInverted) @@ -262,18 +249,6 @@ TEST_WEBRTCVIDEOFRAME(ConvertFromRGB24BufferInverted) TEST_WEBRTCVIDEOFRAME(ConvertFromRGB565Buffer) TEST_WEBRTCVIDEOFRAME(ConvertFromRGB565BufferStride) TEST_WEBRTCVIDEOFRAME(ConvertFromRGB565BufferInverted) -TEST_WEBRTCVIDEOFRAME(ConvertFromBayerBGGRBuffer) -TEST_WEBRTCVIDEOFRAME(ConvertFromBayerBGGRBufferStride) -TEST_WEBRTCVIDEOFRAME(ConvertFromBayerBGGRBufferInverted) -TEST_WEBRTCVIDEOFRAME(ConvertFromBayerGRBGBuffer) -TEST_WEBRTCVIDEOFRAME(ConvertFromBayerGRBGBufferStride) -TEST_WEBRTCVIDEOFRAME(ConvertFromBayerGRBGBufferInverted) -TEST_WEBRTCVIDEOFRAME(ConvertFromBayerGBRGBuffer) -TEST_WEBRTCVIDEOFRAME(ConvertFromBayerGBRGBufferStride) -TEST_WEBRTCVIDEOFRAME(ConvertFromBayerGBRGBufferInverted) -TEST_WEBRTCVIDEOFRAME(ConvertFromBayerRGGBBuffer) -TEST_WEBRTCVIDEOFRAME(ConvertFromBayerRGGBBufferStride) -TEST_WEBRTCVIDEOFRAME(ConvertFromBayerRGGBBufferInverted) TEST_WEBRTCVIDEOFRAME(ConvertFromI400Buffer) TEST_WEBRTCVIDEOFRAME(ConvertFromI400BufferStride) TEST_WEBRTCVIDEOFRAME(ConvertFromI400BufferInverted) @@ -284,10 +259,6 @@ TEST_WEBRTCVIDEOFRAME(ConvertFromUYVYBuffer) TEST_WEBRTCVIDEOFRAME(ConvertFromUYVYBufferStride) TEST_WEBRTCVIDEOFRAME(ConvertFromUYVYBufferInverted) // TEST_WEBRTCVIDEOFRAME(ConvertToI422Buffer) -TEST_WEBRTCVIDEOFRAME(ConvertARGBToBayerGRBG) -TEST_WEBRTCVIDEOFRAME(ConvertARGBToBayerGBRG) -TEST_WEBRTCVIDEOFRAME(ConvertARGBToBayerBGGR) -TEST_WEBRTCVIDEOFRAME(ConvertARGBToBayerRGGB) TEST_WEBRTCVIDEOFRAME(CopyToBuffer) TEST_WEBRTCVIDEOFRAME(CopyToFrame) TEST_WEBRTCVIDEOFRAME(Write) diff --git a/talk/session/media/planarfunctions_unittest.cc b/talk/session/media/planarfunctions_unittest.cc index 19b1475c5e..e7a666e0b4 100644 --- a/talk/session/media/planarfunctions_unittest.cc +++ b/talk/session/media/planarfunctions_unittest.cc @@ -30,7 +30,6 @@ #include "libyuv/convert.h" #include "libyuv/convert_from.h" #include "libyuv/convert_from_argb.h" -#include "libyuv/format_conversion.h" #include "libyuv/mjpeg_decoder.h" #include "libyuv/planar_functions.h" #include "talk/media/base/testutils.h" @@ -255,57 +254,6 @@ class PlanarFunctionsTest : public testing::TestWithParam { } return image_pointer; } - // Generate a Red-Green-Blue inter-weaving chessboard-like - // Q420 testing image. - // The pattern looks like c0 c1 c2 c3 ... - // c1 c2 c3 c4 ... - // c2 c3 c4 c5 ... - // ............... - // The size of each chrome block is (block_size) x (block_size). - uint8* CreateFakeQ420TestingImage(int height, int width, int block_size, - uint8* &y_pointer, uint8* &yuy2_pointer) { - if (height <= 0 || width <= 0 || block_size <= 0) { return NULL; } - // Regularize the width of the output to be even. - int awidth = (width + 1) & ~1; - - uint8* image_pointer = new uint8[(height / 2) * awidth * 2 + - ((height + 1) / 2) * width + kAlignment]; - y_pointer = ALIGNP(image_pointer, kAlignment); - yuy2_pointer = y_pointer + ((height + 1) / 2) * width; - uint8* current_yuy2_pointer = yuy2_pointer; - uint8* current_y_pointer = y_pointer; - for (int j = 0; j < height; ++j) { - if (j % 2 == 0) { - for (int i = 0; i < width; ++i) { - int color = ((i / block_size) + (j / block_size)) % - kTestingColorNum; - *(current_y_pointer++) = testing_color_y_[color]; - } - } else { - for (int i = 0; i < awidth; i += 2, current_yuy2_pointer += 4) { - int color1 = ((i / block_size) + (j / block_size)) % - kTestingColorNum; - int color2 = (((i + 1) / block_size) + (j / block_size)) % - kTestingColorNum; - current_yuy2_pointer[0] = testing_color_y_[color1]; - if (i < width) { - current_yuy2_pointer[1] = static_cast( - (static_cast(testing_color_u_[color1]) + - static_cast(testing_color_u_[color2])) / 2); - current_yuy2_pointer[2] = testing_color_y_[color2]; - current_yuy2_pointer[3] = static_cast( - (static_cast(testing_color_v_[color1]) + - static_cast(testing_color_v_[color2])) / 2); - } else { - current_yuy2_pointer[1] = testing_color_u_[color1]; - current_yuy2_pointer[2] = 0; - current_yuy2_pointer[3] = testing_color_v_[color1]; - } - } - } - } - return image_pointer; - } // Generate a Red-Green-Blue inter-weaving chessboard-like // NV12 testing image. @@ -605,53 +553,6 @@ TEST_F(PlanarFunctionsTest, I422ToI420) { if (dump_) { DumpYuvImage(y_output_pointer, kWidth, kHeight); } } -TEST_P(PlanarFunctionsTest, Q420ToI420) { - // Get the unalignment offset - int unalignment = GetParam(); - uint8 *y_pointer = NULL, *yuy2_pointer = NULL; - int y_pitch = kWidth; - int yuy2_pitch = 2 * ((kWidth + 1) & ~1); - int u_pitch = (kWidth + 1) >> 1; - int v_pitch = (kWidth + 1) >> 1; - int y_size = kHeight * kWidth; - int uv_size = ((kHeight + 1) >> 1) * ((kWidth + 1) >> 1); - int block_size = 2; - // Generate a fake input image. - rtc::scoped_ptr yuv_input( - CreateFakeQ420TestingImage(kHeight, kWidth, block_size, - y_pointer, yuy2_pointer)); - // Allocate space for the output image. - rtc::scoped_ptr yuv_output( - new uint8[I420_SIZE(kHeight, kWidth) + kAlignment + unalignment]); - uint8 *y_output_pointer = ALIGNP(yuv_output.get(), kAlignment) + - unalignment; - uint8 *u_output_pointer = y_output_pointer + y_size; - uint8 *v_output_pointer = u_output_pointer + uv_size; - // Generate the expected output. - uint8 *y_expected_pointer = NULL, *u_expected_pointer = NULL, - *v_expected_pointer = NULL; - rtc::scoped_ptr yuv_output_expected( - CreateFakeYuvTestingImage(kHeight, kWidth, block_size, - libyuv::kJpegYuv420, - y_expected_pointer, u_expected_pointer, v_expected_pointer)); - - for (int i = 0; i < repeat_; ++i) { - libyuv::Q420ToI420(y_pointer, y_pitch, - yuy2_pointer, yuy2_pitch, - y_output_pointer, y_pitch, - u_output_pointer, u_pitch, - v_output_pointer, v_pitch, - kWidth, kHeight); - } - // Compare the output frame with what is expected; expect exactly the same. - // Note: MSE should be set to a larger threshold if an odd block width - // is used, since the conversion will be lossy. - EXPECT_TRUE(IsMemoryEqual(y_output_pointer, y_expected_pointer, - I420_SIZE(kHeight, kWidth), 1.e-6)); - - if (dump_) { DumpYuvImage(y_output_pointer, kWidth, kHeight); } -} - TEST_P(PlanarFunctionsTest, M420ToI420) { // Get the unalignment offset int unalignment = GetParam();