SupportedProfiles-like API for MojoVideoDecoder |
|
Issue descriptionEarly measurements indicated that IPC to the GPU process IO thread for decoder selection would be fast enough to ignore. Production experiments do not appear to support this, however. media::VideoDecoder should gain an API for querying config support, similar to the SupportedProfiles API of VideoDecodeAccelerator. In particular, it should support both: - Static support, which can be compiled into the renderer decoder selection. - Dynamic support (a subset of the static support), which may vary by hardware. These can be queried once per renderer process and cached. Since MojoVideoDecoder, VdaVideoDecoder, and FallbackVideoDecoder do not statically know which decoders they will be wrapping, some of this information will probably need to be manually maintained.
,
May 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e5100164791cca5bb1e742e93fa73b464e1a24e0 commit e5100164791cca5bb1e742e93fa73b464e1a24e0 Author: Dan Sanders <sandersd@chromium.org> Date: Mon May 21 21:48:56 2018 [media] Use VDA Capabilities in MojoVideoDecoder. Basically a quick hack to reduce latency when hardware decode is not supported, while a more permanent solution is developed. (c.f. https://chromium-review.googlesource.com/c/chromium/src/+/1066620) Bug: 839951, 522298 Change-Id: Ib2b51454942e02f144b99605be7915827fc18154 Reviewed-on: https://chromium-review.googlesource.com/1066697 Commit-Queue: Dan Sanders <sandersd@chromium.org> Reviewed-by: Frank Liberato <liberato@chromium.org> Cr-Commit-Position: refs/heads/master@{#560348} [modify] https://crrev.com/e5100164791cca5bb1e742e93fa73b464e1a24e0/media/mojo/clients/mojo_video_decoder.cc
,
Sep 21
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c32238c85875a3af7b44b340a439bbc597aeadc8 commit c32238c85875a3af7b44b340a439bbc597aeadc8 Author: Dan Sanders <sandersd@chromium.org> Date: Fri Sep 21 20:53:49 2018 [media] Mojo replacement for VDA SupportedProfiles. This API allows mojom::VideoDecoder clients to get a list of rules that can be used to reject unsupported Initialize() calls without additional IPC. On the GPU side, this information is gathered from the existing VDA SupportedProfiles factory. On the renderer side, GpuVideoAcceleratorFactories is now responsible for this query, which it does upon construction. If a MojoVideoDecoder is initialized before the query has completed, MojoVideoDecoder will call the remote Intitialize() method as normal. Bug: 839951, 522298 Change-Id: I62b1e2f6ad79f096d273d7591da1e98094b9cbfe Reviewed-on: https://chromium-review.googlesource.com/1066620 Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Commit-Queue: Dan Sanders <sandersd@chromium.org> Cr-Commit-Position: refs/heads/master@{#593327} [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/content/browser/media/android/browser_gpu_video_accelerator_factories.cc [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/content/browser/media/android/browser_gpu_video_accelerator_factories.h [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/media/mojo/clients/mojo_video_decoder.cc [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/media/mojo/interfaces/video_decoder.mojom [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/media/mojo/services/gpu_mojo_media_client.cc [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/media/mojo/services/gpu_mojo_media_client.h [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/media/mojo/services/mojo_media_client.cc [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/media/mojo/services/mojo_media_client.h [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/media/mojo/services/mojo_video_decoder_service.cc [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/media/mojo/services/mojo_video_decoder_service.h [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/media/mojo/test/mojo_video_decoder_integration_test.cc [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/media/video/gpu_video_accelerator_factories.h [modify] https://crrev.com/c32238c85875a3af7b44b340a439bbc597aeadc8/media/video/mock_gpu_video_accelerator_factories.h |
|
►
Sign in to add a comment |
|
Comment 1 by bugdroid1@chromium.org
, May 4 2018