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

Issue 859946 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 18
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 3
Type: Bug



Sign in to add a comment

ChromeOS on Linux testing doesn't support accelerated Video Decoding using SwiftShader

Project Member Reported by sugoi@chromium.org, Jul 3

Issue description

When SwiftShader is used, on ChromeOS testing on Linux, if GpuVideoAcceleratorFactoriesImpl::VideoFrameOutputFormat() returns any format other than media::GpuVideoAcceleratorFactories::OutputFormat::UNDEFINED, tests that would use YUV video decoding, such as MediaColorTest.Yuv420pMpeg4 in content_browsertests, fail to execute properly.

This path was not exercised when using OSMesa previously and attempting to run these tests using SwiftShader uncovered this issue.

To reproduce this issue, SwiftShader must be enabled as the software renderer, then simply run:
ninja -C out/Default content_browsertests && out/Default/content_browsertests --brave-new-test-launcher --test-launcher-bot-mode --cfi-diag=0 --gtest_filter=MediaColorTest.Yuv420pMpeg4

Using these gn args on Linux:
dcheck_always_on = true
ffmpeg_branding = "ChromeOS"
is_component_build = false
is_debug = false
proprietary_codecs = true
strip_absolute_paths_from_debug_symbols = true
symbol_level = 1
target_os = "chromeos"
use_vaapi = true
 
Components: Internals>Media
Components: Internals>GPU>SwiftShader
We don't support hardware decode on Linux at all, so not sure what this is about.
Hi Dale, you can simply have a look at the workaround I had to do here:
https://cs.chromium.org/chromium/src/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc?l=357

If this function returns anything but UNDEFINED, the tests fail. I tried the other values (NV12_SINGLE_GMB, NV12_DUAL_GMB, I420, etc) and they all failed. Is that expected?

There doesn't seem to be any linux specific code in here. Should there be?
Cc: dalecur...@chromium.org
Owner: sugoi@chromium.org
Status: Fixed (was: Untriaged)
That fix seems fine, it's possible there's a better value to return depending on SwiftShader supports any of those formats, but since it's tests I think we can just close this as fixed.

Don't we use SwiftShader on Windows though? I wonder if it should return the same thing.

Sign in to add a comment