Index: media/filters/skcanvas_video_renderer.cc |
diff --git a/webkit/media/skcanvas_video_renderer.cc b/media/filters/skcanvas_video_renderer.cc |
similarity index 91% |
rename from webkit/media/skcanvas_video_renderer.cc |
rename to media/filters/skcanvas_video_renderer.cc |
index c2231b2d5fcb7982abf64da57fe36d5fef24ee15..bef015ef3a3f25ca6870a3def098cfa9a4ab5c1e 100644 |
--- a/webkit/media/skcanvas_video_renderer.cc |
+++ b/media/filters/skcanvas_video_renderer.cc |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "webkit/media/skcanvas_video_renderer.h" |
+#include "media/filters/skcanvas_video_renderer.h" |
#include "base/logging.h" |
#include "media/base/video_frame.h" |
@@ -10,7 +10,7 @@ |
#include "third_party/skia/include/core/SkCanvas.h" |
#include "third_party/skia/include/core/SkDevice.h" |
-namespace webkit_media { |
+namespace media { |
static bool IsEitherYV12OrYV16(media::VideoFrame::Format format) { |
return format == media::VideoFrame::YV12 || format == media::VideoFrame::YV16; |
@@ -31,8 +31,8 @@ static bool IsEitherYV12OrYV16OrNative(media::VideoFrame::Format format) { |
// |
// TODO(hclam): The fast paint method should support flipping and mirroring. |
// Disable the flipping and mirroring checks once we have it. |
-static bool CanFastPaint(SkCanvas* canvas, const gfx::Rect& dest_rect, |
- uint8_t alpha, media::VideoFrame::Format format) { |
+static bool CanFastPaint(SkCanvas* canvas, uint8_t alpha, |
+ media::VideoFrame::Format format) { |
if (alpha != 0xFF || !IsEitherYV12OrYV16(format)) |
return false; |
@@ -62,7 +62,7 @@ static bool CanFastPaint(SkCanvas* canvas, const gfx::Rect& dest_rect, |
static void FastPaint( |
const scoped_refptr<media::VideoFrame>& video_frame, |
SkCanvas* canvas, |
- const gfx::Rect& dest_rect) { |
+ const SkRect& dest_rect) { |
DCHECK(IsEitherYV12OrYV16(video_frame->format())) << video_frame->format(); |
DCHECK_EQ(video_frame->stride(media::VideoFrame::kUPlane), |
video_frame->stride(media::VideoFrame::kVPlane)); |
@@ -72,15 +72,10 @@ static void FastPaint( |
media::YV12 : media::YV16; |
int y_shift = yuv_type; // 1 for YV12, 0 for YV16. |
- // Create a rectangle backed by SkScalar. |
- SkRect scalar_dest_rect; |
- scalar_dest_rect.iset(dest_rect.x(), dest_rect.y(), |
- dest_rect.right(), dest_rect.bottom()); |
- |
// Transform the destination rectangle to local coordinates. |
const SkMatrix& local_matrix = canvas->getTotalMatrix(); |
SkRect local_dest_rect; |
- local_matrix.mapRect(&local_dest_rect, scalar_dest_rect); |
+ local_matrix.mapRect(&local_dest_rect, dest_rect); |
// After projecting the destination rectangle to local coordinates, round |
// the projected rectangle to integer values, this will give us pixel values |
@@ -219,15 +214,14 @@ SkCanvasVideoRenderer::~SkCanvasVideoRenderer() {} |
void SkCanvasVideoRenderer::Paint(media::VideoFrame* video_frame, |
SkCanvas* canvas, |
- const gfx::Rect& dest_rect, |
+ const gfx::RectF& dest_rect, |
uint8_t alpha) { |
if (alpha == 0) { |
return; |
} |
SkRect dest; |
- dest.set(SkIntToScalar(dest_rect.x()), SkIntToScalar(dest_rect.y()), |
- SkIntToScalar(dest_rect.right()), SkIntToScalar(dest_rect.bottom())); |
+ dest.set(dest_rect.x(), dest_rect.y(), dest_rect.right(), dest_rect.bottom()); |
SkPaint paint; |
paint.setAlpha(alpha); |
@@ -240,8 +234,8 @@ void SkCanvasVideoRenderer::Paint(media::VideoFrame* video_frame, |
} |
// Scale and convert to RGB in one step if we can. |
- if (CanFastPaint(canvas, dest_rect, alpha, video_frame->format())) { |
- FastPaint(video_frame, canvas, dest_rect); |
+ if (CanFastPaint(canvas, alpha, video_frame->format())) { |
+ FastPaint(video_frame, canvas, dest); |
return; |
} |
@@ -257,4 +251,4 @@ void SkCanvasVideoRenderer::Paint(media::VideoFrame* video_frame, |
canvas->drawBitmapRect(last_frame_, NULL, dest, &paint); |
} |
-} // namespace webkit_media |
+} // namespace media |