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

Issue 803975 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug


Participants' hotlists:
high-bit-depth


Sign in to add a comment

support XB30 in Linux and use it for high bit depth video playback

Project Member Reported by mcasas@chromium.org, Jan 19 2018

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Jan 27 2018

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

commit 3918768c5c32cf5d8aa35858859cc73b5004b809
Author: Miguel Casas <mcasas@chromium.org>
Date: Sat Jan 27 00:46:13 2018

GpuMemoryBufferVideoFramePool: add upload TRACE

GpuMemoryBufferVideoFramePool::CopyVideoFrameToGpuMemoryBuffers schedules
copies to GMBs using a Pool thread, so the upload is sliced and run in
parallel, reconvening after all sub tasks are finished.

This CL adds an ASYNC TRACE to track the duration of the full copy cycle,
encompassing all the parallel (and possibly heterogenous) uploads, to
make it easy to reason about how much time the copy-to-GMBs take.

Bug:  803975 
Change-Id: Ied827b30b43931ca06996c97dd8f855b75c9ff7a
Reviewed-on: https://chromium-review.googlesource.com/886962
Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532101}
[modify] https://crrev.com/3918768c5c32cf5d8aa35858859cc73b5004b809/media/video/gpu_memory_buffer_video_frame_pool.cc

Comment 2 by mcasas@chromium.org, Jan 30 2018

Cc: fbarchard@chromium.org
some performance numbers from chrome://tracing, with a 1280x720 VP9 video 10bpc

CopyVideoFrameToGpuMemoryBuffers (XR30)                    - 0.641 ms avg wall duration
CopyVideoFrameToGpuMemoryBuffers Convert16To8 (I420)       - 0.425 ms avg wall duration
VideoResourceUpdater::CreateForSoftwarePlanes (Half Float) - 1.306 ms Avg CPU duration

These 3 rows are mutually exclusive, i.e. they should be compared against each other.

This is on my z840 with a release Chromium build (crrev.com/c/881665 patched in)
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 30 2018

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

commit 02c39fa723fb6f1b2851bf06f05d15bf9d91b398
Author: Miguel Casas <mcasas@chromium.org>
Date: Tue Jan 30 22:31:48 2018

Support XR30 in GpuMemoryBufferVideoFramePool - Linux

This CL allows XR30 for GpuMemoryBufferVideoFramePool output
format in Linux (not CrOs yet), and teaches GLImageMemory how
to manipulate this format.

Unittests are extended, tested also with high bit depth
videos e.g.:
'http://crosvideo.appspot.com?codec=vp9.2&loop=true'
and media/test/data/...
- bear-320x180-hi10p-vp9.webm
- bear-320x180-hi10p.mp4 (this is an H.264 part 10, 10bpc)
- blackwhite_yuv420p_hi10p.mp4
- bear-320x180-hi12p-vp9.webm

Bug:  803975 
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: Ie5fb3fa60036591fabdfcf774fcb0878b1ebca07
Reviewed-on: https://chromium-review.googlesource.com/881665
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533045}
[modify] https://crrev.com/02c39fa723fb6f1b2851bf06f05d15bf9d91b398/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc
[modify] https://crrev.com/02c39fa723fb6f1b2851bf06f05d15bf9d91b398/ui/gl/gl_image_memory.cc
[modify] https://crrev.com/02c39fa723fb6f1b2851bf06f05d15bf9d91b398/ui/gl/gl_image_shared_memory_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Feb 1 2018

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

commit 084f1aee90def7edd1ed28e876da5bd063df1f73
Author: Miguel Casas <mcasas@chromium.org>
Date: Thu Feb 01 18:25:29 2018

GpuMemoryBufferVideoFramePool: use BindOnce/OnceCallback

Every git cl upload I get a bunch of presubmits like:

Please consider using base::Bind{Once,Repeating} instead of base::Bind. (crbug.com/714018)

So this CL does the transition: Bind --> BindOnce,
Closure --> OnceClosure, Callback --> OnceCallback, use
of Base::Passed(), in method signatures, we change const &
to moving the argument, and instead Run()ning the Callback
we use std::move(cb).Run().

Threw in a few consts where applicable.  No new code otherwise,
tests (and asan etc) should cover it all.

Bug:  803975 , 714018

Change-Id: I48338984a99627b5de34c5da45dadbdc7c0409e5
Reviewed-on: https://chromium-review.googlesource.com/893822
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533741}
[modify] https://crrev.com/084f1aee90def7edd1ed28e876da5bd063df1f73/content/renderer/media/media_stream_video_renderer_sink_unittest.cc
[modify] https://crrev.com/084f1aee90def7edd1ed28e876da5bd063df1f73/media/renderers/video_renderer_impl_unittest.cc
[modify] https://crrev.com/084f1aee90def7edd1ed28e876da5bd063df1f73/media/video/gpu_memory_buffer_video_frame_pool.cc
[modify] https://crrev.com/084f1aee90def7edd1ed28e876da5bd063df1f73/media/video/gpu_memory_buffer_video_frame_pool.h
[modify] https://crrev.com/084f1aee90def7edd1ed28e876da5bd063df1f73/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc
[modify] https://crrev.com/084f1aee90def7edd1ed28e876da5bd063df1f73/media/video/mock_gpu_memory_buffer_video_frame_pool.cc
[modify] https://crrev.com/084f1aee90def7edd1ed28e876da5bd063df1f73/media/video/mock_gpu_memory_buffer_video_frame_pool.h

Project Member

Comment 5 by bugdroid1@chromium.org, Feb 2 2018

Project Member

Comment 6 by bugdroid1@chromium.org, Feb 18 2018

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

commit 673d8eb65e0b08e9af8c68012b9b1a165d605c5b
Author: Miguel Casas <mcasas@chromium.org>
Date: Sun Feb 18 13:58:28 2018

GpuMemoryBuffer: add image_xb30 capability and RGBX_1010102 BufferFormat

This CL adds a new Gpu FeatureInfo::FeatureFlags and command buffer
Capabilities to signal support for image_xb30, in parallel to the
existing image_xr30. The new flag is used on platforms supporting
glTexImage2D() with data format GL_RGB(A), namely >=gles3, >=gl3.3
or those with the appropriate GL extension.

This CL also adds a new GpuMemoryBuffer format RGBX_1010102 to
be used where image_xb30 is signalled.

With all this, Mac will use image_xr30 <-> BGRX_1010102, and the
GLES3+/GL3.3+ platforms will use image_xb30 <-> RGBX_1010102.

Bug:  803975 , 776093, 803451,  808172 
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: I00c834b68ce81d93e0f55694d891186ed3b75611
Reviewed-on: https://chromium-review.googlesource.com/920361
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537561}
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/components/exo/buffer.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/command_buffer/common/capabilities.h
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/command_buffer/common/gpu_memory_buffer_support.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/command_buffer/service/feature_info.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/command_buffer/service/feature_info.h
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/command_buffer/service/texture_manager.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/command_buffer/tests/gl_unittest.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/ipc/client/gpu_memory_buffer_impl_shared_memory.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/ipc/common/gpu_command_buffer_traits_multi.h
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/gpu/ipc/host/gpu_memory_buffer_support.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/media/base/video_frame.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/media/video/gpu_memory_buffer_video_frame_pool.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/media/video/gpu_video_accelerator_factories.h
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/media/video/mock_gpu_video_accelerator_factories.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/ui/gfx/buffer_format_util.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/ui/gfx/buffer_types.h
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/ui/gfx/mac/io_surface.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/ui/gfx/mojo/buffer_types.mojom
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/ui/gfx/mojo/buffer_types_struct_traits.h
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/ui/gl/gl_image_io_surface.mm
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/ui/gl/gl_image_memory.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/ui/gl/gl_image_native_pixmap.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/ui/gl/gl_image_shared_memory_unittest.cc
[modify] https://crrev.com/673d8eb65e0b08e9af8c68012b9b1a165d605c5b/ui/gl/test/gl_image_test_support.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Feb 19 2018

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

commit d703a382302681ad0c8443ccb8a9bac86ea4b4c1
Author: Takeshi Yoshino <tyoshino@chromium.org>
Date: Mon Feb 19 05:49:11 2018

Revert "GpuMemoryBuffer: add image_xb30 capability and RGBX_1010102 BufferFormat"

This reverts commit 673d8eb65e0b08e9af8c68012b9b1a165d605c5b.

Reason for revert: Looks this has broken linux-chromeos-rel build. See https://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=EGLApiTest.DisabledExtensionBitTest&testType=gl_unittests_ozone

Original change's description:
> GpuMemoryBuffer: add image_xb30 capability and RGBX_1010102 BufferFormat
> 
> This CL adds a new Gpu FeatureInfo::FeatureFlags and command buffer
> Capabilities to signal support for image_xb30, in parallel to the
> existing image_xr30. The new flag is used on platforms supporting
> glTexImage2D() with data format GL_RGB(A), namely >=gles3, >=gl3.3
> or those with the appropriate GL extension.
> 
> This CL also adds a new GpuMemoryBuffer format RGBX_1010102 to
> be used where image_xb30 is signalled.
> 
> With all this, Mac will use image_xr30 <-> BGRX_1010102, and the
> GLES3+/GL3.3+ platforms will use image_xb30 <-> RGBX_1010102.
> 
> Bug:  803975 , 776093, 803451,  808172 
> 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: I00c834b68ce81d93e0f55694d891186ed3b75611
> Reviewed-on: https://chromium-review.googlesource.com/920361
> Reviewed-by: David Reveman <reveman@chromium.org>
> Reviewed-by: Robert Sesek <rsesek@chromium.org>
> Reviewed-by: Avi Drissman <avi@chromium.org>
> Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
> Commit-Queue: Miguel Casas <mcasas@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#537561}

TBR=avi@chromium.org,reveman@chromium.org,dalecurtis@chromium.org,mcasas@chromium.org,dcastagna@chromium.org,rsesek@chromium.org,piman@chromium.org

Change-Id: I08563c74c65ed18ea7dd78e41220a3607b7c9ad5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  803975 , 776093, 803451,  808172 
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
Reviewed-on: https://chromium-review.googlesource.com/923448
Reviewed-by: Takeshi Yoshino <tyoshino@chromium.org>
Commit-Queue: Takeshi Yoshino <tyoshino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537583}
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/components/exo/buffer.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/command_buffer/common/capabilities.h
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/command_buffer/common/gpu_memory_buffer_support.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/command_buffer/service/feature_info.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/command_buffer/service/feature_info.h
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/command_buffer/service/texture_manager.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/command_buffer/tests/gl_unittest.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/ipc/client/gpu_memory_buffer_impl_shared_memory.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/ipc/common/gpu_command_buffer_traits_multi.h
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/gpu/ipc/host/gpu_memory_buffer_support.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/media/base/video_frame.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/media/video/gpu_memory_buffer_video_frame_pool.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/media/video/gpu_video_accelerator_factories.h
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/media/video/mock_gpu_video_accelerator_factories.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/ui/gfx/buffer_format_util.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/ui/gfx/buffer_types.h
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/ui/gfx/mac/io_surface.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/ui/gfx/mojo/buffer_types.mojom
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/ui/gfx/mojo/buffer_types_struct_traits.h
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/ui/gl/gl_image_io_surface.mm
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/ui/gl/gl_image_memory.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/ui/gl/gl_image_native_pixmap.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/ui/gl/gl_image_shared_memory_unittest.cc
[modify] https://crrev.com/d703a382302681ad0c8443ccb8a9bac86ea4b4c1/ui/gl/test/gl_image_test_support.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Feb 20 2018

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

commit 02290321d15a90a00f942444672ac8aed31dd8bc
Author: Miguel Casas <mcasas@chromium.org>
Date: Tue Feb 20 21:35:23 2018

RELAND: GpuMemoryBuffer: add image_xb30 capability and RGBX_1010102 BufferFormat

The original CL was reverted due to two gl_unittests_ozone failures:
 EGLApiTest.DisabledExtensionBitTest
 EGLApiTest.DisabledExtensionStringTest
these two tests also fail on my soraka ToT, so I think they're just
flaky. The fix is to check for GetSurfaceFactoryOzone() before using
it in HasGLOzone():
http://crrev.com/c/926862/1..3/ui/gl/init/ozone_util.h

TBR=reveman@chromium.org, piman@chromium.org, rsesek@chromium.org, dalecurtis@chomium.org
since the code they reviewed and LGTM'd hasn't changed.

Original CL description ------------------------------------------------

This CL adds a new Gpu FeatureInfo::FeatureFlags and command buffer
Capabilities to signal support for image_xb30, in parallel to the
existing image_xr30. The new flag is used on platforms supporting
glTexImage2D() with data format GL_RGB(A), namely >=gles3, >=gl3.3
or those with the appropriate GL extension.

This CL also adds a new GpuMemoryBuffer format RGBX_1010102 to
be used where image_xb30 is signalled.

With all this, Mac will use image_xr30 <-> BGRX_1010102, and the
GLES3+/GL3.3+ platforms will use image_xb30 <-> RGBX_1010102.

Bug:  803975 , 776093, 803451,  808172 
Change-Id: I8a5a047aabf08f08f6f6fa1d27196e29ddc67120
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
Reviewed-on: https://chromium-review.googlesource.com/920361
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: Miguel Casas <mcasas@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#537561}
Reviewed-on: https://chromium-review.googlesource.com/926862
Cr-Commit-Position: refs/heads/master@{#537893}
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/components/exo/buffer.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/command_buffer/common/capabilities.h
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/command_buffer/common/gpu_memory_buffer_support.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/command_buffer/service/feature_info.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/command_buffer/service/feature_info.h
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/command_buffer/service/gles2_cmd_decoder.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/command_buffer/service/texture_manager.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/command_buffer/tests/gl_unittest.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/ipc/client/gpu_memory_buffer_impl_shared_memory.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/ipc/common/gpu_command_buffer_traits_multi.h
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/gpu/ipc/host/gpu_memory_buffer_support.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/media/base/video_frame.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/media/video/gpu_memory_buffer_video_frame_pool.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/media/video/gpu_video_accelerator_factories.h
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/media/video/mock_gpu_video_accelerator_factories.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/ui/gfx/buffer_format_util.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/ui/gfx/buffer_types.h
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/ui/gfx/mac/io_surface.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/ui/gfx/mojo/buffer_types.mojom
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/ui/gfx/mojo/buffer_types_struct_traits.h
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/ui/gl/gl_image_io_surface.mm
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/ui/gl/gl_image_memory.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/ui/gl/gl_image_native_pixmap.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/ui/gl/gl_image_shared_memory_unittest.cc
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/ui/gl/init/ozone_util.h
[modify] https://crrev.com/02290321d15a90a00f942444672ac8aed31dd8bc/ui/gl/test/gl_image_test_support.cc

Summary: support XB30 in Linux and use it for high bit depth video playback (was: support XR30 in Linux and use it for high bit depth video playback)
Changing subject to XB30 since that is the format being supported.
In a register XB30 is X2_B10_G10_R10 where R10 is in the low 10 bits.
https://github.com/torvalds/linux/blob/master/include/uapi/drm/drm_fourcc.h#L99

libyuv r1699 supports AB30 which is the alpha version of XB30
Theres also libyuv::AR30ToAB30() if you need to switch back and forth.
Status: Fixed (was: Assigned)
c6 (relanded in c8) seems to be sticking and does the trick of using XB30
where present. Closing this bug.

Sign in to add a comment