summaryrefslogtreecommitdiffstats
path: root/media/DEPS
diff options
context:
space:
mode:
authordongseong.hwang <dongseong.hwang@intel.com>2015-01-08 12:11:13 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-08 20:12:02 +0000
commit0c4e9d8781aea6e52fdb4a7aee978817910c67ea (patch)
treef7028dbfd1cba76dacf55f9f0389c4752c6fbd8c /media/DEPS
parentd2386aadf6c8350dabff4f820f2b73f44c487caa (diff)
downloadchromium_src-0c4e9d8781aea6e52fdb4a7aee978817910c67ea.zip
chromium_src-0c4e9d8781aea6e52fdb4a7aee978817910c67ea.tar.gz
chromium_src-0c4e9d8781aea6e52fdb4a7aee978817910c67ea.tar.bz2
media: Optimize HW Video to 2D Canvas copy.
Currently, when we draws GPU decoded Video on accelerated 2D Canvas, chromium reads back pixel from GPU and then uploads the pixel to GPU to make a SkBitmap. It's so inefficient for both speed and battery. On the other hand, only Android copies GPU-GPU in this case, but Android doesn't have cache mechanism which SkCanvasVideoRenderer provides. This CL makes all platforms copy gpu-gpu with cache mechanism. Cache mechanism is useful when 2d canvas draws a video frame many times. e.g. http://craftymind.com/factory/html5video/CanvasVideo.html In addition, fix white video background on Android when not loaded. Other platforms draw black background thanks to SkCanvasVideoRenderer::Paint(). In detail of the changes; 1. Implement gpu-gpu copy in SkCanvasVideoRenderer::Paint() like previous WebMediaPlayerAndroid::paint(). 2. Move duplicated GPU code on WebMediaPlayerImpl and WebMediaPlayerAndroid to SkCanvasVideoRenderer. Perf data on i5 IvyBridge blink_perf.all:Canvas_draw-video-to-hw-accelerated-canvas-2d 15.8x speed up: 116.27 runs/s -> 1847.23 runs/s NOTE: measure after disabling cache in SkCanvasVideoRenderer BUG=401058, 263667 Review URL: https://codereview.chromium.org/445013002 Cr-Commit-Position: refs/heads/master@{#310577}
Diffstat (limited to 'media/DEPS')
-rw-r--r--media/DEPS1
1 files changed, 1 insertions, 0 deletions
diff --git a/media/DEPS b/media/DEPS
index f9c29be..57eecbb 100644
--- a/media/DEPS
+++ b/media/DEPS
@@ -2,6 +2,7 @@
include_rules = [
"+gpu",
"+jni",
+ "+skia/ext",
"+third_party/ffmpeg",
"+third_party/libvpx",
"+third_party/libyuv",