summaryrefslogtreecommitdiffstats
path: root/remoting/base/util_unittest.cc
diff options
context:
space:
mode:
authoralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-07 23:52:12 +0000
committeralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-07 23:52:12 +0000
commitd9f27887b0b567b9d21de07d5d531ae9d0157228 (patch)
tree9eece8ca5a28b0f78937f1800bae5722c7640fce /remoting/base/util_unittest.cc
parent9400ff8c479f8223514cdaa1ae715428e984735f (diff)
downloadchromium_src-d9f27887b0b567b9d21de07d5d531ae9d0157228.zip
chromium_src-d9f27887b0b567b9d21de07d5d531ae9d0157228.tar.gz
chromium_src-d9f27887b0b567b9d21de07d5d531ae9d0157228.tar.bz2
Reverting 120739 that caused valgrind breaks.
BUG=109938 Review URL: http://codereview.chromium.org/9352017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120866 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/base/util_unittest.cc')
-rw-r--r--remoting/base/util_unittest.cc187
1 files changed, 0 insertions, 187 deletions
diff --git a/remoting/base/util_unittest.cc b/remoting/base/util_unittest.cc
deleted file mode 100644
index 24e628d..0000000
--- a/remoting/base/util_unittest.cc
+++ /dev/null
@@ -1,187 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <algorithm>
-
-#include "remoting/base/util.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/skia/include/core/SkRect.h"
-#include "third_party/skia/include/core/SkSize.h"
-
-static const int kWidth = 32 ;
-static const int kHeight = 24 ;
-static const int kBytesPerPixel = 4;
-static const int kYStride = kWidth;
-static const int kUvStride = kWidth / 2;
-static const int kRgbStride = kWidth * kBytesPerPixel;
-static const uint32 kFillColor = 0xffffff;
-
-namespace remoting {
-
-class YuvToRgbTester {
- public:
- YuvToRgbTester() {
- yuv_buffer_size_ = (kYStride + kUvStride) * kHeight;
- yuv_buffer_.reset(new uint8[yuv_buffer_size_]);
- yplane_ = yuv_buffer_.get();
- uplane_ = yplane_ + (kYStride * kHeight);
- vplane_ = uplane_ + (kUvStride * kHeight / 2);
-
- rgb_buffer_size_ = kWidth * kHeight * kBytesPerPixel;
- rgb_buffer_.reset(new uint8[rgb_buffer_size_]);
-
- ResetYuvBuffer();
- ResetRgbBuffer();
- }
-
- ~YuvToRgbTester() {}
-
- void ResetYuvBuffer() {
- memset(yuv_buffer_.get(), 0, yuv_buffer_size_);
- }
-
- void ResetRgbBuffer() {
- memset(rgb_buffer_.get(), 0, rgb_buffer_size_);
- }
-
- void FillRgbBuffer(const SkIRect& rect) {
- uint32* ptr = reinterpret_cast<uint32*>(
- rgb_buffer_.get() + (rect.top() * kRgbStride) +
- (rect.left() * kBytesPerPixel));
- int width = rect.width();
- for (int height = rect.height(); height > 0; --height) {
- std::fill(ptr, ptr + width, kFillColor);
- ptr += kRgbStride / kBytesPerPixel;
- }
- }
-
- // Check the the desination buffer is filled within expected bounds.
- void CheckRgbBuffer(const SkIRect& rect) {
- uint32* ptr = reinterpret_cast<uint32*>(rgb_buffer_.get());
- for (int y = 0; y < kHeight; ++y) {
- if (y < rect.top() || rect.bottom() <= y) {
- // The whole line should be intact.
- EXPECT_EQ((ptrdiff_t)kWidth,
- std::count(ptr, ptr + kWidth, 0u));
- } else {
- // The space before the painted rectangle should be intact.
- EXPECT_EQ((ptrdiff_t)rect.left(),
- std::count(ptr, ptr + rect.left(), 0u));
-
- // All pixels of the target rectangle should be touched.
- EXPECT_EQ(ptr + rect.right(),
- std::find(ptr + rect.left(), ptr + rect.right(), 0u));
-
- // The space after the painted rectangle should be intact.
- EXPECT_EQ((ptrdiff_t)kWidth - rect.right(),
- std::count(ptr + rect.right(), ptr + kWidth, 0u));
- }
- ptr += kRgbStride / kBytesPerPixel;
- }
- }
-
- void RunTest(const SkISize dest_size, const SkIRect& rect) {
- ASSERT_TRUE(SkIRect::MakeSize(dest_size).contains(rect));
-
- // Reset buffers.
- ResetYuvBuffer();
- ResetRgbBuffer();
- FillRgbBuffer(rect);
-
- // RGB -> YUV
- ConvertRGB32ToYUVWithRect(rgb_buffer_.get(),
- yplane_,
- uplane_,
- vplane_,
- 0,
- 0,
- kWidth,
- kHeight,
- kRgbStride,
- kYStride,
- kUvStride);
-
- // Reset RGB buffer and do opposite conversion.
- ResetRgbBuffer();
- ConvertAndScaleYUVToRGB32Rect(yplane_,
- uplane_,
- vplane_,
- kYStride,
- kUvStride,
- SkISize::Make(kWidth, kHeight),
- SkIRect::MakeWH(kWidth, kHeight),
- rgb_buffer_.get(),
- kRgbStride,
- dest_size,
- SkIRect::MakeSize(dest_size),
- rect);
-
- // Check if it worked out.
- CheckRgbBuffer(rect);
- }
-
- void TestBasicConversion() {
- // Whole buffer.
- RunTest(SkISize::Make(kWidth, kHeight), SkIRect::MakeWH(kWidth, kHeight));
- }
-
- private:
- size_t yuv_buffer_size_;
- scoped_array<uint8> yuv_buffer_;
- uint8* yplane_;
- uint8* uplane_;
- uint8* vplane_;
-
- size_t rgb_buffer_size_;
- scoped_array<uint8> rgb_buffer_;
-
- DISALLOW_COPY_AND_ASSIGN(YuvToRgbTester);
-};
-
-TEST(YuvToRgbTest, BasicConversion) {
- YuvToRgbTester tester;
- tester.TestBasicConversion();
-}
-
-TEST(YuvToRgbTest, Clipping) {
- YuvToRgbTester tester;
-
- SkISize dest_size = SkISize::Make(kWidth, kHeight);
- SkIRect rect = SkIRect::MakeLTRB(0, 0, kWidth - 1, kHeight - 1);
- for (int i = 0; i < 16; ++i) {
- SkIRect dest_rect = rect;
- if ((i & 1) != 0)
- dest_rect.fLeft += 1;
- if ((i & 2) != 0)
- dest_rect.fTop += 1;
- if ((i & 4) != 0)
- dest_rect.fRight += 1;
- if ((i & 8) != 0)
- dest_rect.fBottom += 1;
-
- tester.RunTest(dest_size, dest_rect);
- }
-}
-
-TEST(YuvToRgbTest, ClippingAndScaling) {
- YuvToRgbTester tester;
-
- SkISize dest_size = SkISize::Make(kWidth - 10, kHeight - 10);
- SkIRect rect = SkIRect::MakeLTRB(5, 5, kWidth - 11, kHeight - 11);
- for (int i = 0; i < 16; ++i) {
- SkIRect dest_rect = rect;
- if ((i & 1) != 0)
- dest_rect.fLeft += 1;
- if ((i & 2) != 0)
- dest_rect.fTop += 1;
- if ((i & 4) != 0)
- dest_rect.fRight += 1;
- if ((i & 8) != 0)
- dest_rect.fBottom += 1;
-
- tester.RunTest(dest_size, dest_rect);
- }
-}
-
-} // namespace remoting