| Index: media/filters/skcanvas_video_renderer_unittest.cc
|
| diff --git a/media/filters/skcanvas_video_renderer_unittest.cc b/media/filters/skcanvas_video_renderer_unittest.cc
|
| index e11c2963fb980282473e14d3a262c3d2ab612943..4bd2a18f919b5ce7ad0e63c51a065f8d808ecb57 100644
|
| --- a/media/filters/skcanvas_video_renderer_unittest.cc
|
| +++ b/media/filters/skcanvas_video_renderer_unittest.cc
|
| @@ -57,6 +57,7 @@ class SkCanvasVideoRendererTest : public testing::Test {
|
| Color color);
|
| void PaintRotated(const scoped_refptr<VideoFrame>& video_frame,
|
| SkCanvas* canvas,
|
| + const gfx::RectF& dest_rect,
|
| Color color,
|
| SkXfermode::Mode mode,
|
| VideoRotation video_rotation);
|
| @@ -206,13 +207,18 @@ void SkCanvasVideoRendererTest::Paint(
|
| const scoped_refptr<VideoFrame>& video_frame,
|
| SkCanvas* canvas,
|
| Color color) {
|
| - PaintRotated(
|
| - video_frame, canvas, color, SkXfermode::kSrcOver_Mode, VIDEO_ROTATION_0);
|
| + PaintRotated(video_frame,
|
| + canvas,
|
| + kNaturalRect,
|
| + color,
|
| + SkXfermode::kSrcOver_Mode,
|
| + VIDEO_ROTATION_0);
|
| }
|
|
|
| void SkCanvasVideoRendererTest::PaintRotated(
|
| const scoped_refptr<VideoFrame>& video_frame,
|
| SkCanvas* canvas,
|
| + const gfx::RectF& dest_rect,
|
| Color color,
|
| SkXfermode::Mode mode,
|
| VideoRotation video_rotation) {
|
| @@ -229,8 +235,7 @@ void SkCanvasVideoRendererTest::PaintRotated(
|
| media::FillYUV(video_frame.get(), 29, 255, 107);
|
| break;
|
| }
|
| - renderer_.Paint(
|
| - video_frame, canvas, kNaturalRect, 0xFF, mode, video_rotation);
|
| + renderer_.Paint(video_frame, canvas, dest_rect, 0xFF, mode, video_rotation);
|
| }
|
|
|
| void SkCanvasVideoRendererTest::Copy(
|
| @@ -251,6 +256,7 @@ TEST_F(SkCanvasVideoRendererTest, TransparentFrame) {
|
| PaintRotated(
|
| VideoFrame::CreateTransparentFrame(gfx::Size(kWidth, kHeight)).get(),
|
| target_canvas(),
|
| + kNaturalRect,
|
| kNone,
|
| SkXfermode::kSrcOver_Mode,
|
| VIDEO_ROTATION_0);
|
| @@ -263,6 +269,7 @@ TEST_F(SkCanvasVideoRendererTest, TransparentFrameSrcMode) {
|
| PaintRotated(
|
| VideoFrame::CreateTransparentFrame(gfx::Size(kWidth, kHeight)).get(),
|
| target_canvas(),
|
| + kNaturalRect,
|
| kNone,
|
| SkXfermode::kSrc_Mode,
|
| VIDEO_ROTATION_0);
|
| @@ -367,9 +374,9 @@ TEST_F(SkCanvasVideoRendererTest, CroppedFrame_NoScaling) {
|
|
|
| TEST_F(SkCanvasVideoRendererTest, Video_Rotation_90) {
|
| SkCanvas canvas(AllocBitmap(kWidth, kHeight));
|
| - const gfx::Rect crop_rect = cropped_frame()->visible_rect();
|
| PaintRotated(cropped_frame(),
|
| &canvas,
|
| + kNaturalRect,
|
| kNone,
|
| SkXfermode::kSrcOver_Mode,
|
| VIDEO_ROTATION_90);
|
| @@ -382,9 +389,9 @@ TEST_F(SkCanvasVideoRendererTest, Video_Rotation_90) {
|
|
|
| TEST_F(SkCanvasVideoRendererTest, Video_Rotation_180) {
|
| SkCanvas canvas(AllocBitmap(kWidth, kHeight));
|
| - const gfx::Rect crop_rect = cropped_frame()->visible_rect();
|
| PaintRotated(cropped_frame(),
|
| &canvas,
|
| + kNaturalRect,
|
| kNone,
|
| SkXfermode::kSrcOver_Mode,
|
| VIDEO_ROTATION_180);
|
| @@ -397,9 +404,9 @@ TEST_F(SkCanvasVideoRendererTest, Video_Rotation_180) {
|
|
|
| TEST_F(SkCanvasVideoRendererTest, Video_Rotation_270) {
|
| SkCanvas canvas(AllocBitmap(kWidth, kHeight));
|
| - const gfx::Rect crop_rect = cropped_frame()->visible_rect();
|
| PaintRotated(cropped_frame(),
|
| &canvas,
|
| + kNaturalRect,
|
| kNone,
|
| SkXfermode::kSrcOver_Mode,
|
| VIDEO_ROTATION_270);
|
| @@ -410,4 +417,93 @@ TEST_F(SkCanvasVideoRendererTest, Video_Rotation_270) {
|
| EXPECT_EQ(SK_ColorBLACK, GetColorAt(&canvas, 0, kHeight - 1));
|
| }
|
|
|
| +TEST_F(SkCanvasVideoRendererTest, Video_Translate) {
|
| + SkCanvas canvas(AllocBitmap(kWidth, kHeight));
|
| + FillCanvas(&canvas, SK_ColorMAGENTA);
|
| +
|
| + PaintRotated(cropped_frame(),
|
| + &canvas,
|
| + gfx::Rect(kWidth / 2, kHeight / 2, kWidth / 2, kHeight / 2),
|
| + kNone,
|
| + SkXfermode::kSrcOver_Mode,
|
| + VIDEO_ROTATION_0);
|
| + // Check the corners of quadrant 2 and 4.
|
| + EXPECT_EQ(SK_ColorMAGENTA, GetColorAt(&canvas, 0, 0));
|
| + EXPECT_EQ(SK_ColorMAGENTA, GetColorAt(&canvas, (kWidth / 2) - 1, 0));
|
| + EXPECT_EQ(SK_ColorMAGENTA,
|
| + GetColorAt(&canvas, (kWidth / 2) - 1, (kHeight / 2) - 1));
|
| + EXPECT_EQ(SK_ColorMAGENTA, GetColorAt(&canvas, 0, (kHeight / 2) - 1));
|
| + EXPECT_EQ(SK_ColorBLACK, GetColorAt(&canvas, kWidth / 2, kHeight / 2));
|
| + EXPECT_EQ(SK_ColorRED, GetColorAt(&canvas, kWidth - 1, kHeight / 2));
|
| + EXPECT_EQ(SK_ColorBLUE, GetColorAt(&canvas, kWidth - 1, kHeight - 1));
|
| + EXPECT_EQ(SK_ColorGREEN, GetColorAt(&canvas, kWidth / 2, kHeight - 1));
|
| +}
|
| +
|
| +TEST_F(SkCanvasVideoRendererTest, Video_Translate_Rotation_90) {
|
| + SkCanvas canvas(AllocBitmap(kWidth, kHeight));
|
| + FillCanvas(&canvas, SK_ColorMAGENTA);
|
| +
|
| + const gfx::Rect crop_rect = cropped_frame()->visible_rect();
|
| + PaintRotated(cropped_frame(),
|
| + &canvas,
|
| + gfx::Rect(kWidth / 2, kHeight / 2, kWidth / 2, kHeight / 2),
|
| + kNone,
|
| + SkXfermode::kSrcOver_Mode,
|
| + VIDEO_ROTATION_90);
|
| + // Check the corners of quadrant 2 and 4.
|
| + EXPECT_EQ(SK_ColorMAGENTA, GetColorAt(&canvas, 0, 0));
|
| + EXPECT_EQ(SK_ColorMAGENTA, GetColorAt(&canvas, (kWidth / 2) - 1, 0));
|
| + EXPECT_EQ(SK_ColorMAGENTA,
|
| + GetColorAt(&canvas, (kWidth / 2) - 1, (kHeight / 2) - 1));
|
| + EXPECT_EQ(SK_ColorMAGENTA, GetColorAt(&canvas, 0, (kHeight / 2) - 1));
|
| + EXPECT_EQ(SK_ColorGREEN, GetColorAt(&canvas, kWidth / 2, kHeight / 2));
|
| + EXPECT_EQ(SK_ColorBLACK, GetColorAt(&canvas, kWidth - 1, kHeight / 2));
|
| + EXPECT_EQ(SK_ColorRED, GetColorAt(&canvas, kWidth - 1, kHeight - 1));
|
| + EXPECT_EQ(SK_ColorBLUE, GetColorAt(&canvas, kWidth / 2, kHeight - 1));
|
| +}
|
| +
|
| +TEST_F(SkCanvasVideoRendererTest, Video_Translate_Rotation_180) {
|
| + SkCanvas canvas(AllocBitmap(kWidth, kHeight));
|
| + FillCanvas(&canvas, SK_ColorMAGENTA);
|
| +
|
| + PaintRotated(cropped_frame(),
|
| + &canvas,
|
| + gfx::Rect(kWidth / 2, kHeight / 2, kWidth / 2, kHeight / 2),
|
| + kNone,
|
| + SkXfermode::kSrcOver_Mode,
|
| + VIDEO_ROTATION_180);
|
| + // Check the corners of quadrant 2 and 4.
|
| + EXPECT_EQ(SK_ColorMAGENTA, GetColorAt(&canvas, 0, 0));
|
| + EXPECT_EQ(SK_ColorMAGENTA, GetColorAt(&canvas, (kWidth / 2) - 1, 0));
|
| + EXPECT_EQ(SK_ColorMAGENTA,
|
| + GetColorAt(&canvas, (kWidth / 2) - 1, (kHeight / 2) - 1));
|
| + EXPECT_EQ(SK_ColorMAGENTA, GetColorAt(&canvas, 0, (kHeight / 2) - 1));
|
| + EXPECT_EQ(SK_ColorBLUE, GetColorAt(&canvas, kWidth / 2, kHeight / 2));
|
| + EXPECT_EQ(SK_ColorGREEN, GetColorAt(&canvas, kWidth - 1, kHeight / 2));
|
| + EXPECT_EQ(SK_ColorBLACK, GetColorAt(&canvas, kWidth - 1, kHeight - 1));
|
| + EXPECT_EQ(SK_ColorRED, GetColorAt(&canvas, kWidth / 2, kHeight - 1));
|
| +}
|
| +
|
| +TEST_F(SkCanvasVideoRendererTest, Video_Translate_Rotation_270) {
|
| + SkCanvas canvas(AllocBitmap(kWidth, kHeight));
|
| + FillCanvas(&canvas, SK_ColorMAGENTA);
|
| +
|
| + PaintRotated(cropped_frame(),
|
| + &canvas,
|
| + gfx::Rect(kWidth / 2, kHeight / 2, kWidth / 2, kHeight / 2),
|
| + kNone,
|
| + SkXfermode::kSrcOver_Mode,
|
| + VIDEO_ROTATION_270);
|
| + // Check the corners of quadrant 2 and 4.
|
| + EXPECT_EQ(SK_ColorMAGENTA, GetColorAt(&canvas, 0, 0));
|
| + EXPECT_EQ(SK_ColorMAGENTA, GetColorAt(&canvas, (kWidth / 2) - 1, 0));
|
| + EXPECT_EQ(SK_ColorMAGENTA,
|
| + GetColorAt(&canvas, (kWidth / 2) - 1, (kHeight / 2) - 1));
|
| + EXPECT_EQ(SK_ColorMAGENTA, GetColorAt(&canvas, 0, (kHeight / 2) - 1));
|
| + EXPECT_EQ(SK_ColorRED, GetColorAt(&canvas, kWidth / 2, kHeight / 2));
|
| + EXPECT_EQ(SK_ColorBLUE, GetColorAt(&canvas, kWidth - 1, kHeight / 2));
|
| + EXPECT_EQ(SK_ColorGREEN, GetColorAt(&canvas, kWidth - 1, kHeight - 1));
|
| + EXPECT_EQ(SK_ColorBLACK, GetColorAt(&canvas, kWidth / 2, kHeight - 1));
|
| +}
|
| +
|
| } // namespace media
|
|
|