New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 717813 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
not on Chrome anymore
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Avoid unnecessary copy of NV12 texture from VP9 videos with overlays

Project Member Reported by jbau...@chromium.org, May 3 2017

Issue description

The textures Chrome receives from the MS VP9 MFT don't have the right bind flags so we can use them as textures in ANGLE. Because of this we have to copy them to other textures before using them.

With overlays, the copy should be unnecessary because the video processor that we use to draw them to the overlays can take them as an input. So we can defer the copy until the texture is actually needed by GL, and otherwise use the textures directly.

 
Project Member

Comment 1 by bugdroid1@chromium.org, May 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5

commit a361008fed7d9652a62fb548c7ea9a89fc3d2ce5
Author: jbauman <jbauman@chromium.org>
Date: Fri May 26 22:20:23 2017

Copy NV12 picture buffers on demand on the main thread.

If the image is going to be displayed in an overlay then no copy needs
to happen, because the video processor can take it directly. However
if it's used in GL then it needs to be copied to a texture with the
correct bind flags using the video processor.

BUG= 717813 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2859723002
Cr-Commit-Position: refs/heads/master@{#475162}

[modify] https://crrev.com/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
[modify] https://crrev.com/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5/media/base/media_switches.cc
[modify] https://crrev.com/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5/media/base/media_switches.h
[modify] https://crrev.com/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5/media/gpu/dxva_picture_buffer_win.cc
[modify] https://crrev.com/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5/media/gpu/dxva_picture_buffer_win.h
[modify] https://crrev.com/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5/media/gpu/dxva_video_decode_accelerator_win.cc
[modify] https://crrev.com/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5/media/gpu/dxva_video_decode_accelerator_win.h
[modify] https://crrev.com/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5/third_party/khronos/EGL/eglext.h
[modify] https://crrev.com/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5/third_party/khronos/README.chromium
[modify] https://crrev.com/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5/ui/gl/gl_image_dxgi.cc
[modify] https://crrev.com/a361008fed7d9652a62fb548c7ea9a89fc3d2ce5/ui/gl/gl_image_dxgi.h

Status: Fixed (was: Started)

Sign in to add a comment