ChromeOS on Linux testing doesn't support accelerated Video Decoding using SwiftShader |
||||
Issue descriptionWhen 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
,
Sep 17
We don't support hardware decode on Linux at all, so not sure what this is about.
,
Sep 18
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?
,
Sep 18
,
Sep 18
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 |
||||
Comment 1 by dtapu...@chromium.org
, Sep 17