Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <stdint.h> | 5 #include <stdint.h> |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "gpu/GLES2/gl2extchromium.h" | 9 #include "gpu/GLES2/gl2extchromium.h" |
| 10 #include "gpu/command_buffer/client/gles2_interface_stub.h" | 10 #include "gpu/command_buffer/client/gles2_interface_stub.h" |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 199 cropped_frame()->stride(VideoFrame::kYPlane), | 199 cropped_frame()->stride(VideoFrame::kYPlane), |
| 200 cropped_frame()->data(VideoFrame::kUPlane), | 200 cropped_frame()->data(VideoFrame::kUPlane), |
| 201 cropped_frame()->stride(VideoFrame::kUPlane), | 201 cropped_frame()->stride(VideoFrame::kUPlane), |
| 202 cropped_frame()->data(VideoFrame::kVPlane), | 202 cropped_frame()->data(VideoFrame::kVPlane), |
| 203 cropped_frame()->stride(VideoFrame::kVPlane), 16, 16); | 203 cropped_frame()->stride(VideoFrame::kVPlane), 16, 16); |
| 204 } | 204 } |
| 205 | 205 |
| 206 SkCanvasVideoRendererTest::~SkCanvasVideoRendererTest() {} | 206 SkCanvasVideoRendererTest::~SkCanvasVideoRendererTest() {} |
| 207 | 207 |
| 208 void SkCanvasVideoRendererTest::PaintWithoutFrame(SkCanvas* canvas) { | 208 void SkCanvasVideoRendererTest::PaintWithoutFrame(SkCanvas* canvas) { |
| 209 renderer_.Paint(nullptr, canvas, kNaturalRect, 0xFF, | 209 SkPaint paint; |
|
chcunningham
2016/09/06 23:07:33
set alpha? set mode?
xidachen
2016/09/07 13:23:07
The mode is by default kSrcOver_Mode. So in Skpain
| |
| 210 SkXfermode::kSrcOver_Mode, VIDEO_ROTATION_0, Context3D()); | 210 paint.setFilterQuality(kLow_SkFilterQuality); |
| 211 renderer_.Paint(nullptr, canvas, kNaturalRect, &paint, VIDEO_ROTATION_0, | |
| 212 Context3D()); | |
| 211 } | 213 } |
| 212 | 214 |
| 213 void SkCanvasVideoRendererTest::Paint( | 215 void SkCanvasVideoRendererTest::Paint( |
| 214 const scoped_refptr<VideoFrame>& video_frame, | 216 const scoped_refptr<VideoFrame>& video_frame, |
| 215 SkCanvas* canvas, | 217 SkCanvas* canvas, |
| 216 Color color) { | 218 Color color) { |
| 217 PaintRotated(video_frame, canvas, kNaturalRect, color, | 219 PaintRotated(video_frame, canvas, kNaturalRect, color, |
| 218 SkXfermode::kSrcOver_Mode, VIDEO_ROTATION_0); | 220 SkXfermode::kSrcOver_Mode, VIDEO_ROTATION_0); |
| 219 } | 221 } |
| 220 | 222 |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 231 case kRed: | 233 case kRed: |
| 232 media::FillYUV(video_frame.get(), 76, 84, 255); | 234 media::FillYUV(video_frame.get(), 76, 84, 255); |
| 233 break; | 235 break; |
| 234 case kGreen: | 236 case kGreen: |
| 235 media::FillYUV(video_frame.get(), 149, 43, 21); | 237 media::FillYUV(video_frame.get(), 149, 43, 21); |
| 236 break; | 238 break; |
| 237 case kBlue: | 239 case kBlue: |
| 238 media::FillYUV(video_frame.get(), 29, 255, 107); | 240 media::FillYUV(video_frame.get(), 29, 255, 107); |
| 239 break; | 241 break; |
| 240 } | 242 } |
| 241 renderer_.Paint(video_frame, canvas, dest_rect, 0xFF, mode, video_rotation, | 243 SkPaint paint; |
| 244 paint.setXfermodeMode(mode); | |
| 245 paint.setAlpha(0xFF); | |
|
chcunningham
2016/09/07 16:01:12
I see, I was thrown off by this one. I guess its p
xidachen
2016/09/07 16:10:53
Oh, damn! I totally missed it. Yes, this line is n
| |
| 246 paint.setFilterQuality(kLow_SkFilterQuality); | |
| 247 renderer_.Paint(video_frame, canvas, dest_rect, &paint, video_rotation, | |
| 242 Context3D()); | 248 Context3D()); |
| 243 } | 249 } |
| 244 | 250 |
| 245 void SkCanvasVideoRendererTest::Copy( | 251 void SkCanvasVideoRendererTest::Copy( |
| 246 const scoped_refptr<VideoFrame>& video_frame, | 252 const scoped_refptr<VideoFrame>& video_frame, |
| 247 SkCanvas* canvas) { | 253 SkCanvas* canvas) { |
| 248 renderer_.Copy(video_frame, canvas, Context3D()); | 254 renderer_.Copy(video_frame, canvas, Context3D()); |
| 249 } | 255 } |
| 250 | 256 |
| 251 TEST_F(SkCanvasVideoRendererTest, NoFrame) { | 257 TEST_F(SkCanvasVideoRendererTest, NoFrame) { |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 529 | 535 |
| 530 TestGLES2Interface gles2; | 536 TestGLES2Interface gles2; |
| 531 Context3D context_3d(&gles2, gr_context.get()); | 537 Context3D context_3d(&gles2, gr_context.get()); |
| 532 gfx::Size size(kWidth, kHeight); | 538 gfx::Size size(kWidth, kHeight); |
| 533 gpu::MailboxHolder holders[VideoFrame::kMaxPlanes] = {gpu::MailboxHolder( | 539 gpu::MailboxHolder holders[VideoFrame::kMaxPlanes] = {gpu::MailboxHolder( |
| 534 gpu::Mailbox::Generate(), gpu::SyncToken(), GL_TEXTURE_RECTANGLE_ARB)}; | 540 gpu::Mailbox::Generate(), gpu::SyncToken(), GL_TEXTURE_RECTANGLE_ARB)}; |
| 535 auto video_frame = VideoFrame::WrapNativeTextures( | 541 auto video_frame = VideoFrame::WrapNativeTextures( |
| 536 PIXEL_FORMAT_UYVY, holders, base::Bind(MailboxHoldersReleased), size, | 542 PIXEL_FORMAT_UYVY, holders, base::Bind(MailboxHoldersReleased), size, |
| 537 gfx::Rect(size), size, kNoTimestamp); | 543 gfx::Rect(size), size, kNoTimestamp); |
| 538 | 544 |
| 539 renderer_.Paint(video_frame, &canvas, kNaturalRect, 0xFF, | 545 SkPaint paint; |
|
chcunningham
2016/09/06 23:07:33
set alpha/mode?
| |
| 540 SkXfermode::kSrcOver_Mode, VIDEO_ROTATION_90, context_3d); | 546 paint.setFilterQuality(kLow_SkFilterQuality); |
| 547 renderer_.Paint(video_frame, &canvas, kNaturalRect, &paint, VIDEO_ROTATION_90, | |
| 548 context_3d); | |
| 541 } | 549 } |
| 542 } // namespace media | 550 } // namespace media |
| OLD | NEW |