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

Issue 702750 link

Starred by 8 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 2
Type: Bug

Blocking:
issue 683347



Sign in to add a comment

Allow YUV overlays when supported.

Project Member Reported by dcasta...@chromium.org, Mar 17 2017

Issue description

RGBX and RGBA ( crbug.com/695296 ) overlays are now already enabled on platforms where it is possible.

Most of the work done to enable those can be leveraged to use HW YUV overlays.

We must first re-enable multi-planar GBMs import in GbmBuffer/GbmBufferBase that was reverted in crrev.com/2471413006 in order to be able to add KMS framebuffers for multi-planar YUV formats.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 21 2017

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

commit 45f5535aa5697764029717c37eb4606f26522db1
Author: dcastagna <dcastagna@chromium.org>
Date: Tue Mar 21 02:17:35 2017

drm: Rename DRM_FORMAT_YV12 to DRM_FORMAT_YVU420.

The YVU 420 format is defined in libdrm as DRM_FORMAT_YVU420.
We had defined it in Chromium as DRM_FORMAT_YV12.

This CL removes the definition where it is not necessary and renames it
to DRM_FORMAT_YVU420 where the drm_fourcc.h definition can't be used.

BUG= 702750 

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

[modify] https://crrev.com/45f5535aa5697764029717c37eb4606f26522db1/ui/gl/gl_image_native_pixmap.cc
[modify] https://crrev.com/45f5535aa5697764029717c37eb4606f26522db1/ui/ozone/platform/drm/common/drm_util.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Mar 22 2017

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

commit 1958fde835d34e2699213a38e4aae5df4d67c8a1
Author: dcastagna <dcastagna@chromium.org>
Date: Wed Mar 22 04:36:03 2017

ozone: Import multi-planar GBMs.

https://chromium-review.googlesource.com/#/c/401439/ introduced a new
interface in minigbm to import multiplanar formats.

This CL updates Chromium to use the new interface.
In this way we can add KMS framebuffers for multi-planar formats.

BUG= 702750 
TEST=ozone_gl_unittests with BGRA and YUV_420_BIPLANAR.
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/2761533002
Cr-Commit-Position: refs/heads/master@{#458627}

[modify] https://crrev.com/1958fde835d34e2699213a38e4aae5df4d67c8a1/gpu/ipc/client/gpu_memory_buffer_impl_ozone_native_pixmap.cc
[modify] https://crrev.com/1958fde835d34e2699213a38e4aae5df4d67c8a1/ui/ozone/platform/drm/common/drm_util.cc
[modify] https://crrev.com/1958fde835d34e2699213a38e4aae5df4d67c8a1/ui/ozone/platform/drm/gpu/gbm_buffer.cc
[modify] https://crrev.com/1958fde835d34e2699213a38e4aae5df4d67c8a1/ui/ozone/platform/drm/gpu/gbm_buffer_base.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 22 2017

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

commit a0f637af5fb75e1fbd58e4c4c03807c3e77fa213
Author: dcastagna <dcastagna@chromium.org>
Date: Wed Mar 22 05:08:54 2017

Enable NV12 HW overlays.

This patch enables NV12 (gfx::BufferFormat::YUV_420_BIPLANAR) hardware
overlays where possible.

Additionally, it adds gfx::BufferFormat::YUV_420_BIPLANAR as a format to
be marked as overlay candidate in exo.

BUG= 702750 
TEST=XDG_RUNTIME_DIR=/var/run/chrome /tmp/wayland_yuv_client --size=600x400 --use-drm=rockchip  --scale=2 --fullscreen
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

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

[modify] https://crrev.com/a0f637af5fb75e1fbd58e4c4c03807c3e77fa213/cc/output/overlay_candidate.cc
[modify] https://crrev.com/a0f637af5fb75e1fbd58e4c4c03807c3e77fa213/components/exo/display.cc

Cc: dongseon...@intel.com
Blocking: 683347
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 29 2017

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

commit 517d0115d3c435383f79a0b730b6514a6cc97f44
Author: dcastagna <dcastagna@chromium.org>
Date: Wed Mar 29 22:07:28 2017

cc: Don't use StreamVideoDrawQuad on any platform but Android.

VideoLayerImpl is appending StreamVideoDrawQuads on CrOS.

StreamVideoDrawQuads should be used on Android since almost all its
features are supported by TextureDrawQuad.
The only difference is that StreamVideoDrawQuad calls
glUniformMatrix4fvStreamTextureMatrixCHROMIUM before drawing, that
just sets a uniform matrix on CrOS.

This CL makes sure VideoLayerImpl produces StreamVideoDrawQuads only
on Android.

BUG= 702750 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

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

[modify] https://crrev.com/517d0115d3c435383f79a0b730b6514a6cc97f44/cc/layers/video_layer_impl.cc
[modify] https://crrev.com/517d0115d3c435383f79a0b730b6514a6cc97f44/cc/output/renderer_pixeltest.cc
[modify] https://crrev.com/517d0115d3c435383f79a0b730b6514a6cc97f44/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/517d0115d3c435383f79a0b730b6514a6cc97f44/cc/resources/video_resource_updater.h
[modify] https://crrev.com/517d0115d3c435383f79a0b730b6514a6cc97f44/cc/resources/video_resource_updater_unittest.cc
[modify] https://crrev.com/517d0115d3c435383f79a0b730b6514a6cc97f44/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/517d0115d3c435383f79a0b730b6514a6cc97f44/content/renderer/gpu/render_widget_compositor.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Jun 2 2017

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

commit 30d6d64a9b914d1e4b1584cf62b9e64adc20de9d
Author: posciak <posciak@chromium.org>
Date: Fri Jun 02 02:15:41 2017

Revert of cc: Don't use StreamVideoDrawQuad on any platform but Android. (patchset #3 id:40001 of https://codereview.chromium.org/2763223003/ )

Reason for revert:
 crbug.com/724812 

Original issue's description:
> cc: Don't use StreamVideoDrawQuad on any platform but Android.
>
> VideoLayerImpl is appending StreamVideoDrawQuads on CrOS.
>
> StreamVideoDrawQuads should be used on Android since almost all its
> features are supported by TextureDrawQuad.
> The only difference is that StreamVideoDrawQuad calls
> glUniformMatrix4fvStreamTextureMatrixCHROMIUM before drawing, that
> just sets a uniform matrix on CrOS.
>
> This CL makes sure VideoLayerImpl produces StreamVideoDrawQuads only
> on Android.
>
> BUG= 702750 
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
>
> Review-Url: https://codereview.chromium.org/2763223003
> Cr-Commit-Position: refs/heads/master@{#460547}
> Committed: https://chromium.googlesource.com/chromium/src/+/517d0115d3c435383f79a0b730b6514a6cc97f44

TBR=danakj@chromium.org,reveman@chromium.org,avi@chromium.org,dcastagna@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 702750 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

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

[modify] https://crrev.com/30d6d64a9b914d1e4b1584cf62b9e64adc20de9d/cc/layers/video_layer_impl.cc
[modify] https://crrev.com/30d6d64a9b914d1e4b1584cf62b9e64adc20de9d/cc/output/renderer_pixeltest.cc
[modify] https://crrev.com/30d6d64a9b914d1e4b1584cf62b9e64adc20de9d/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/30d6d64a9b914d1e4b1584cf62b9e64adc20de9d/cc/resources/video_resource_updater.h
[modify] https://crrev.com/30d6d64a9b914d1e4b1584cf62b9e64adc20de9d/cc/resources/video_resource_updater_unittest.cc
[modify] https://crrev.com/30d6d64a9b914d1e4b1584cf62b9e64adc20de9d/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/30d6d64a9b914d1e4b1584cf62b9e64adc20de9d/content/renderer/gpu/render_widget_compositor.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Jun 5 2017

Labels: merge-merged-3112
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1789c4c2475ad846783e5272dc963dd4dacc942a

commit 1789c4c2475ad846783e5272dc963dd4dacc942a
Author: Pawel Osciak <posciak@chromium.org>
Date: Mon Jun 05 01:43:23 2017

Revert of cc: Don't use StreamVideoDrawQuad on any platform but Android. (patchset #3 id:40001 of https://codereview.chromium.org/2763223003/ )

Reason for revert:
 crbug.com/724812 

Original issue's description:
> cc: Don't use StreamVideoDrawQuad on any platform but Android.
>
> VideoLayerImpl is appending StreamVideoDrawQuads on CrOS.
>
> StreamVideoDrawQuads should be used on Android since almost all its
> features are supported by TextureDrawQuad.
> The only difference is that StreamVideoDrawQuad calls
> glUniformMatrix4fvStreamTextureMatrixCHROMIUM before drawing, that
> just sets a uniform matrix on CrOS.
>
> This CL makes sure VideoLayerImpl produces StreamVideoDrawQuads only
> on Android.
>
> BUG= 702750 
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
>
> Review-Url: https://codereview.chromium.org/2763223003
> Cr-Commit-Position: refs/heads/master@{#460547}
> Committed: https://chromium.googlesource.com/chromium/src/+/517d0115d3c435383f79a0b730b6514a6cc97f44

TBR=danakj@chromium.org,reveman@chromium.org,avi@chromium.org,dcastagna@chromium.org
BUG= 702750 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2920893003
Cr-Original-Commit-Position: refs/heads/master@{#476523}
Review-Url: https://codereview.chromium.org/2918263002 .
Cr-Commit-Position: refs/branch-heads/3112@{#137}
Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897}

[modify] https://crrev.com/1789c4c2475ad846783e5272dc963dd4dacc942a/cc/layers/video_layer_impl.cc
[modify] https://crrev.com/1789c4c2475ad846783e5272dc963dd4dacc942a/cc/output/renderer_pixeltest.cc
[modify] https://crrev.com/1789c4c2475ad846783e5272dc963dd4dacc942a/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/1789c4c2475ad846783e5272dc963dd4dacc942a/cc/resources/video_resource_updater.h
[modify] https://crrev.com/1789c4c2475ad846783e5272dc963dd4dacc942a/cc/resources/video_resource_updater_unittest.cc
[modify] https://crrev.com/1789c4c2475ad846783e5272dc963dd4dacc942a/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/1789c4c2475ad846783e5272dc963dd4dacc942a/content/renderer/gpu/render_widget_compositor.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Jun 5 2017

Labels: merge-merged-3071
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4377e1fc59dab874287825f97544876857dd49a2

commit 4377e1fc59dab874287825f97544876857dd49a2
Author: Pawel Osciak <posciak@chromium.org>
Date: Mon Jun 05 03:33:34 2017

Revert of cc: Don't use StreamVideoDrawQuad on any platform but Android. (patchset #3 id:40001 of https://codereview.chromium.org/2763223003/ )

(Original revert Modified to fix a merge conflict on M59)

Reason for revert:
 crbug.com/724812 

Original issue's description:
> cc: Don't use StreamVideoDrawQuad on any platform but Android.
>
> VideoLayerImpl is appending StreamVideoDrawQuads on CrOS.
>
> StreamVideoDrawQuads should be used on Android since almost all its
> features are supported by TextureDrawQuad.
> The only difference is that StreamVideoDrawQuad calls
> glUniformMatrix4fvStreamTextureMatrixCHROMIUM before drawing, that
> just sets a uniform matrix on CrOS.
>
> This CL makes sure VideoLayerImpl produces StreamVideoDrawQuads only
> on Android.
>
> BUG= 702750 
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
>
> Review-Url: https://codereview.chromium.org/2763223003
> Cr-Commit-Position: refs/heads/master@{#460547}
> Committed: https://chromium.googlesource.com/chromium/src/+/517d0115d3c435383f79a0b730b6514a6cc97f44

TBR=danakj@chromium.org,reveman@chromium.org,avi@chromium.org,dcastagna@chromium.org
BUG= 702750 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2920893003
Cr-Original-Commit-Position: refs/heads/master@{#476523}
Review-Url: https://codereview.chromium.org/2922113002 .
Cr-Commit-Position: refs/branch-heads/3071@{#745}
Cr-Branched-From: a106f0abbf69dad349d4aaf4bcc4f5d376dd2377-refs/heads/master@{#464641}

[modify] https://crrev.com/4377e1fc59dab874287825f97544876857dd49a2/cc/layers/video_layer_impl.cc
[modify] https://crrev.com/4377e1fc59dab874287825f97544876857dd49a2/cc/output/renderer_pixeltest.cc
[modify] https://crrev.com/4377e1fc59dab874287825f97544876857dd49a2/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/4377e1fc59dab874287825f97544876857dd49a2/cc/resources/video_resource_updater.h
[modify] https://crrev.com/4377e1fc59dab874287825f97544876857dd49a2/cc/resources/video_resource_updater_unittest.cc
[modify] https://crrev.com/4377e1fc59dab874287825f97544876857dd49a2/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/4377e1fc59dab874287825f97544876857dd49a2/content/renderer/gpu/render_widget_compositor.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Jun 22 2017

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

commit a7cd47aa097a96ee6c54d6af087f57767b3a401e
Author: dcastagna <dcastagna@chromium.org>
Date: Thu Jun 22 19:23:18 2017

cc: Don't use StreamVideoDrawQuad on any platform but Android.

VideoLayerImpl is appending StreamVideoDrawQuads on CrOS.

StreamVideoDrawQuads should be used on Android since almost all its
features are supported by TextureDrawQuad.
The only difference is that StreamVideoDrawQuad calls
glUniformMatrix4fvStreamTextureMatrixCHROMIUM before drawing, that
just sets a uniform matrix on CrOS.

This CL makes sure VideoLayerImpl produces StreamVideoDrawQuads only
on Android.

BUG= 702750 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2763223003
Cr-Original-Commit-Position: refs/heads/master@{#460547}
Committed: https://chromium.googlesource.com/chromium/src/+/517d0115d3c435383f79a0b730b6514a6cc97f44
Review-Url: https://codereview.chromium.org/2763223003
Cr-Commit-Position: refs/heads/master@{#481624}

[modify] https://crrev.com/a7cd47aa097a96ee6c54d6af087f57767b3a401e/cc/layers/video_layer_impl.cc
[modify] https://crrev.com/a7cd47aa097a96ee6c54d6af087f57767b3a401e/cc/layers/video_layer_impl_unittest.cc
[modify] https://crrev.com/a7cd47aa097a96ee6c54d6af087f57767b3a401e/cc/output/renderer_pixeltest.cc
[modify] https://crrev.com/a7cd47aa097a96ee6c54d6af087f57767b3a401e/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/a7cd47aa097a96ee6c54d6af087f57767b3a401e/cc/resources/video_resource_updater.h
[modify] https://crrev.com/a7cd47aa097a96ee6c54d6af087f57767b3a401e/cc/resources/video_resource_updater_unittest.cc
[modify] https://crrev.com/a7cd47aa097a96ee6c54d6af087f57767b3a401e/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/a7cd47aa097a96ee6c54d6af087f57767b3a401e/content/renderer/gpu/render_widget_compositor.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Aug 8 2017

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

commit 25ccb8d1e3c4aed71c2ec593c4941f9a7a0d1147
Author: Daniele Castagna <dcastagna@chromium.org>
Date: Tue Aug 08 22:03:55 2017

cc: Make NV12 VideoFrames generate resources with YUV_420 buffer_formats.

VideoFrames backed by one NV12 texture are currently sent to the compositor
as RGB VideoFrames.
The compositor can sample out of those wihtout worrying about the underlying
buffer format since they behave as normal RGB textures.
We're planning to change the format of these VideoFrames to NV12.

In order to scanout from these buffers we need to know the buffer format.
This patch makes VideoResourceUpdater produce an associated resource that
has YUV_420_BIPLANAR buffer_format for NV12 VideoFrames backed only by
one native texture.

Bug:  702750 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ib6c7dbad58b8bf7a0c1145a86bd340e35b29fdf6
Reviewed-on: https://chromium-review.googlesource.com/602908
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492759}
[modify] https://crrev.com/25ccb8d1e3c4aed71c2ec593c4941f9a7a0d1147/cc/layers/video_layer_impl.cc
[modify] https://crrev.com/25ccb8d1e3c4aed71c2ec593c4941f9a7a0d1147/cc/resources/resource_provider.cc
[modify] https://crrev.com/25ccb8d1e3c4aed71c2ec593c4941f9a7a0d1147/cc/resources/resource_provider.h
[modify] https://crrev.com/25ccb8d1e3c4aed71c2ec593c4941f9a7a0d1147/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/25ccb8d1e3c4aed71c2ec593c4941f9a7a0d1147/cc/resources/video_resource_updater.h
[modify] https://crrev.com/25ccb8d1e3c4aed71c2ec593c4941f9a7a0d1147/cc/resources/video_resource_updater_unittest.cc
[modify] https://crrev.com/25ccb8d1e3c4aed71c2ec593c4941f9a7a0d1147/media/base/video_frame.cc
[modify] https://crrev.com/25ccb8d1e3c4aed71c2ec593c4941f9a7a0d1147/media/base/video_frame.h

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 28 2017

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

commit e59803b843f9f03084a639abd76fdb26726e59e0
Author: Pawel Osciak <posciak@chromium.org>
Date: Mon Aug 28 05:08:44 2017

Revert "media: Make V4L2SD use GLImages instead of EGL images."

This reverts commit dac96e9fb754f59c41ae19ca7c4af61aa20deb58.

Reason for revert: Broken video playback on veyron boards ( crbug.com/759408 ).

Original change's description:
> media: Make V4L2SD use GLImages instead of EGL images.
> 
> V4L2SliceVideoDecodeAccelerator used to create EGL images by itself
> from dma bufs coming from v4l2, without integrating with GLImages in
> the GPU service.
> 
> Since we use texture id to schedule overlays, and we assumed the
> texture is backed by a GLImage, scheduling overlays from buffers
> coming from V4L2SliceVideoDecodeAccelerator wouldn't work.
> 
> This CL makes V4L2SliceVideoDecodeAccelerator use GLImages instead
> of creating EGL Images directly.
> 
> Bug:  702750 
> 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
> Change-Id: Ib33e71c7cbe715744f582d23f10ee2404136de01
> Reviewed-on: https://chromium-review.googlesource.com/517883
> Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
> Reviewed-by: David Reveman <reveman@chromium.org>
> Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#497118}

TBR=reveman@chromium.org,posciak@chromium.org,dalecurtis@chromium.org,dcastagna@chromium.org,hoegsberg@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  702750 
Change-Id: I1cee9ae0c267b8fe499d48d22bd79680100e6cbb
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
Reviewed-on: https://chromium-review.googlesource.com/637163
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Commit-Queue: Pawel Osciak <posciak@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497697}
[modify] https://crrev.com/e59803b843f9f03084a639abd76fdb26726e59e0/media/gpu/BUILD.gn
[modify] https://crrev.com/e59803b843f9f03084a639abd76fdb26726e59e0/media/gpu/generic_v4l2_device.cc
[modify] https://crrev.com/e59803b843f9f03084a639abd76fdb26726e59e0/media/gpu/generic_v4l2_device.h
[modify] https://crrev.com/e59803b843f9f03084a639abd76fdb26726e59e0/media/gpu/gpu_video_decode_accelerator_factory.cc
[modify] https://crrev.com/e59803b843f9f03084a639abd76fdb26726e59e0/media/gpu/ipc/service/gpu_video_decode_accelerator.cc
[modify] https://crrev.com/e59803b843f9f03084a639abd76fdb26726e59e0/media/gpu/tegra_v4l2_device.cc
[modify] https://crrev.com/e59803b843f9f03084a639abd76fdb26726e59e0/media/gpu/tegra_v4l2_device.h
[modify] https://crrev.com/e59803b843f9f03084a639abd76fdb26726e59e0/media/gpu/v4l2_device.h
[modify] https://crrev.com/e59803b843f9f03084a639abd76fdb26726e59e0/media/gpu/v4l2_slice_video_decode_accelerator.cc
[modify] https://crrev.com/e59803b843f9f03084a639abd76fdb26726e59e0/media/gpu/v4l2_slice_video_decode_accelerator.h

Project Member

Comment 13 by bugdroid1@chromium.org, Aug 30 2017

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

commit 7c2e699dc65d029371b98b5d056b5f33b6ca4c66
Author: Daniele Castagna <dcastagna@chromium.org>
Date: Wed Aug 30 02:54:08 2017

Reland: media: Make V4L2SD use GLImages instead of EGL images.

This patch originally landed in crrev.com/c/517883 and reverted
because of  crbug.com/759408 . Now that is fixed, we can try to re-land
it.

V4L2SliceVideoDecodeAccelerator used to create EGL images by itself
from dma bufs coming from v4l2, without integrating with GLImages in
the GPU service.

Since we use texture id to schedule overlays, and we assumed the
texture is backed by a GLImage, scheduling overlays from buffers
coming from V4L2SliceVideoDecodeAccelerator wouldn't work.

This CL makes V4L2SliceVideoDecodeAccelerator use GLImages instead
of creating EGL Images directly.

Bug:  702750 
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
Change-Id: I4ee6fee03902563ce1a34c96d9bd4a050d311787
TBR: dalecurtis@chromium.org, reveman@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/641664
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498353}
[modify] https://crrev.com/7c2e699dc65d029371b98b5d056b5f33b6ca4c66/media/gpu/BUILD.gn
[modify] https://crrev.com/7c2e699dc65d029371b98b5d056b5f33b6ca4c66/media/gpu/generic_v4l2_device.cc
[modify] https://crrev.com/7c2e699dc65d029371b98b5d056b5f33b6ca4c66/media/gpu/generic_v4l2_device.h
[modify] https://crrev.com/7c2e699dc65d029371b98b5d056b5f33b6ca4c66/media/gpu/gpu_video_decode_accelerator_factory.cc
[modify] https://crrev.com/7c2e699dc65d029371b98b5d056b5f33b6ca4c66/media/gpu/ipc/service/gpu_video_decode_accelerator.cc
[modify] https://crrev.com/7c2e699dc65d029371b98b5d056b5f33b6ca4c66/media/gpu/tegra_v4l2_device.cc
[modify] https://crrev.com/7c2e699dc65d029371b98b5d056b5f33b6ca4c66/media/gpu/tegra_v4l2_device.h
[modify] https://crrev.com/7c2e699dc65d029371b98b5d056b5f33b6ca4c66/media/gpu/v4l2_device.h
[modify] https://crrev.com/7c2e699dc65d029371b98b5d056b5f33b6ca4c66/media/gpu/v4l2_slice_video_decode_accelerator.cc
[modify] https://crrev.com/7c2e699dc65d029371b98b5d056b5f33b6ca4c66/media/gpu/v4l2_slice_video_decode_accelerator.h

Project Member

Comment 14 by bugdroid1@chromium.org, Sep 1 2017

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

commit 597209438f9c649bfef3be82a07bd480cf2178b5
Author: Daniele Castagna <dcastagna@chromium.org>
Date: Fri Sep 01 03:36:45 2017

media: Enable HW overlays for v4l2 slice VDA.

This patch makes v4l2 slice VDA produce NV12 videoframes for NV12
buffers, instead of RGB videoframes.

It also sets the allow_overlay flags on the picture to true.

Bug:  702750 
Test: Ran on kevin on crosvideo.appspot.com/youtube.com and confirmed we promote videos to overlays. Ran on kevin with Play Movies. Ran on minnie with youtube.com and youtube app.
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;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
Change-Id: Ie9fff526961796474fe732c7d5976351d2dd949f
Reviewed-on: https://chromium-review.googlesource.com/602264
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499123}
[modify] https://crrev.com/597209438f9c649bfef3be82a07bd480cf2178b5/media/gpu/v4l2_slice_video_decode_accelerator.cc

Status: Fixed (was: Started)
Let close this. We have nv12 support in core chromeos and support in kms on some boards. We'll track future enabling for specific platforms in their own new bugs.

Sign in to add a comment