Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(150)

Unified Diff: media/renderers/skcanvas_video_renderer.cc

Issue 2523673004: [NOT FOR COMMIT] Fully replace SkCanvas uses.
Patch Set: Support Android build. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/renderers/skcanvas_video_renderer.h ('k') | ppapi/proxy/ppb_image_data_proxy.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/renderers/skcanvas_video_renderer.cc
diff --git a/media/renderers/skcanvas_video_renderer.cc b/media/renderers/skcanvas_video_renderer.cc
index 9376b5dd96d56f931727b29f809432b9bbc95427..79a7266902689f40c2805550cf1cbcc2e49ff870 100644
--- a/media/renderers/skcanvas_video_renderer.cc
+++ b/media/renderers/skcanvas_video_renderer.cc
@@ -13,6 +13,8 @@
#include "media/base/video_frame.h"
#include "media/base/yuv_convert.h"
#include "skia/ext/texture_handle.h"
+#include "skia/ext/cdl_canvas.h"
+#include "skia/ext/cdl_paint.h"
#include "third_party/libyuv/include/libyuv.h"
#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkImage.h"
@@ -331,9 +333,9 @@ SkCanvasVideoRenderer::~SkCanvasVideoRenderer() {
}
void SkCanvasVideoRenderer::Paint(const scoped_refptr<VideoFrame>& video_frame,
- SkCanvas* canvas,
+ CdlCanvas* canvas,
const gfx::RectF& dest_rect,
- SkPaint& paint,
+ CdlPaint& paint,
VideoRotation video_rotation,
const Context3D& context_3d) {
DCHECK(thread_checker_.CalledOnValidThread());
@@ -350,7 +352,7 @@ void SkCanvasVideoRenderer::Paint(const scoped_refptr<VideoFrame>& video_frame,
!(media::IsYuvPlanar(video_frame->format()) ||
video_frame->format() == media::PIXEL_FORMAT_Y16 ||
video_frame->HasTextures())) {
- SkPaint blackWithAlphaPaint;
+ CdlPaint blackWithAlphaPaint;
blackWithAlphaPaint.setAlpha(paint.getAlpha());
canvas->drawRect(dest, blackWithAlphaPaint);
canvas->flush();
@@ -361,7 +363,7 @@ void SkCanvasVideoRenderer::Paint(const scoped_refptr<VideoFrame>& video_frame,
if (!UpdateLastImage(video_frame, context_3d))
return;
- SkPaint videoPaint;
+ CdlPaint videoPaint;
videoPaint.setAlpha(paint.getAlpha());
videoPaint.setBlendMode(paint.getBlendMode());
videoPaint.setFilterQuality(paint.getFilterQuality());
@@ -412,8 +414,9 @@ void SkCanvasVideoRenderer::Paint(const scoped_refptr<VideoFrame>& video_frame,
// sw image into the SkPicture. The long term solution is for Skia to provide
// a SkPicture filter that makes a picture safe for multiple CPU raster
// threads. (skbug.com/4321).
- if (canvas->imageInfo().colorType() == kUnknown_SkColorType) {
+ if (GetSkCanvas(canvas)->imageInfo().colorType() == kUnknown_SkColorType) {
sk_sp<SkImage> swImage = last_image_->makeNonTextureImage();
+
canvas->drawImage(swImage, 0, 0, &videoPaint);
} else {
canvas->drawImage(last_image_.get(), 0, 0, &videoPaint);
@@ -432,9 +435,9 @@ void SkCanvasVideoRenderer::Paint(const scoped_refptr<VideoFrame>& video_frame,
}
void SkCanvasVideoRenderer::Copy(const scoped_refptr<VideoFrame>& video_frame,
- SkCanvas* canvas,
+ CdlCanvas* canvas,
const Context3D& context_3d) {
- SkPaint paint;
+ CdlPaint paint;
paint.setBlendMode(SkBlendMode::kSrc);
paint.setFilterQuality(kLow_SkFilterQuality);
Paint(video_frame, canvas, gfx::RectF(video_frame->visible_rect()), paint,
« no previous file with comments | « media/renderers/skcanvas_video_renderer.h ('k') | ppapi/proxy/ppb_image_data_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698