New issue
Advanced search Search tips

Issue 876519 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 15
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Fuchsia
Pri: 2
Type: Bug



Sign in to add a comment

Integrate hw video decoder on Fuchsia

Project Member Reported by sergeyu@chromium.org, Aug 21

Issue description

HW video decoder should work on some devices now.
 
Summary: Integrate hw video decoder on Fuchsia (was: Implement hw video decode on Fuchsia)
Cc: sande...@chromium.org
Please implement this as a VDAv2, +sandersd can provide the right pointers -- but MediaCodecVideoDecoder on Android is a current example.
Project Member

Comment 3 by bugdroid1@chromium.org, Oct 24

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

commit 2c9fd1c0470d5af68f029369947a3247e31761ae
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Wed Oct 24 07:34:02 2018

Add NV12 support in VideoFrame and PaintCanvasVideoRenderer

Fuchsia's mediacodec API uses NV12 to encode decoded output frames,
so it's useful to support them in VideoFrame and the renderer.

Bug:  876519 
Change-Id: I4863cfbf47fb9e2ba034b239eaa7f485e1f87dd4
Reviewed-on: https://chromium-review.googlesource.com/c/1297601
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602269}
[modify] https://crrev.com/2c9fd1c0470d5af68f029369947a3247e31761ae/media/base/video_frame.cc
[modify] https://crrev.com/2c9fd1c0470d5af68f029369947a3247e31761ae/media/renderers/paint_canvas_video_renderer.cc

Labels: -Pri-3 M-72 Pri-2
Status: Started (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 27

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

commit 3c281597af03a028eaab2c63b6707c20a4f28239
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Sat Oct 27 02:54:01 2018

[Fuchsia] Implement FuchsiaVideoDecoder.

The new FuchsiaVideoDecoder implements VideoDecoder interface on top of
fuchsia.mediacodec API. It's currently not used anywhere yet.

Unittests added in this CL are  marked as MANUAL because we have only
have HW-based mediacodec implementation that doesn't work in qemu on bots.

Bug:  876519 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I59ebd716decef7940eb227a25967bad757bf3e82
Reviewed-on: https://chromium-review.googlesource.com/c/1287930
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603300}
[modify] https://crrev.com/3c281597af03a028eaab2c63b6707c20a4f28239/build/config/fuchsia/testing_sandbox_policy
[modify] https://crrev.com/3c281597af03a028eaab2c63b6707c20a4f28239/media/gpu/BUILD.gn
[add] https://crrev.com/3c281597af03a028eaab2c63b6707c20a4f28239/media/gpu/fuchsia/fuchsia_video_decoder.cc
[add] https://crrev.com/3c281597af03a028eaab2c63b6707c20a4f28239/media/gpu/fuchsia/fuchsia_video_decoder.h
[add] https://crrev.com/3c281597af03a028eaab2c63b6707c20a4f28239/media/gpu/fuchsia/fuchsia_video_decoder_unittest.cc
[modify] https://crrev.com/3c281597af03a028eaab2c63b6707c20a4f28239/webrunner/app/sandbox_policy

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 1

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

commit db8ef28916d2ad81952b054e35a5ab195dd78fae
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Thu Nov 01 18:05:04 2018

Allow custom VideoFrameLayout when wrapping VideoFrame

FuchsiaVideoDecoder needs to be able to return frames with stride != width.
Previously VideoFrameLayout::Wrap*() functions didn't allow to wrap such
frames. This CL adds VideoFrame::WrapExternalDataWithLayout() which allows
to pass frame layout explicitly. FuchsiaVideoDecoder uses the new function
to create VideoFrame instances it returns.

Bug:  876519 
Change-Id: I2deaa15e5311dafd1c30a80a525530e2d70ee8e9
Reviewed-on: https://chromium-review.googlesource.com/c/1303965
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604639}
[modify] https://crrev.com/db8ef28916d2ad81952b054e35a5ab195dd78fae/media/base/video_frame.cc
[modify] https://crrev.com/db8ef28916d2ad81952b054e35a5ab195dd78fae/media/base/video_frame.h
[modify] https://crrev.com/db8ef28916d2ad81952b054e35a5ab195dd78fae/media/gpu/fuchsia/fuchsia_video_decoder.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 3

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

commit a0af75428f48190a904e60210e34efb09371ce1b
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Sat Nov 03 01:44:14 2018

[Fuchsia] Use FuchsiaVideoDecoder on Fuchsia

Now renderer will try to use FuchsiaVideoDecoder on Fuchsia before
falling back to SW decoders.
Also moved FuchsiaVideoDecoder implementation from //media/gpu to
//media/filters since it will be used in the renderer process.

Bug:  876519 
Change-Id: Iad682c2dbcf4b100406891d722e818435d04bfda
Reviewed-on: https://chromium-review.googlesource.com/c/1300686
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605125}
[modify] https://crrev.com/a0af75428f48190a904e60210e34efb09371ce1b/content/common/BUILD.gn
[modify] https://crrev.com/a0af75428f48190a904e60210e34efb09371ce1b/content/common/sandbox_policy_fuchsia.cc
[modify] https://crrev.com/a0af75428f48190a904e60210e34efb09371ce1b/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/a0af75428f48190a904e60210e34efb09371ce1b/media/filters/BUILD.gn
[rename] https://crrev.com/a0af75428f48190a904e60210e34efb09371ce1b/media/filters/fuchsia/fuchsia_video_decoder.cc
[add] https://crrev.com/a0af75428f48190a904e60210e34efb09371ce1b/media/filters/fuchsia/fuchsia_video_decoder.h
[rename] https://crrev.com/a0af75428f48190a904e60210e34efb09371ce1b/media/filters/fuchsia/fuchsia_video_decoder_unittest.cc
[modify] https://crrev.com/a0af75428f48190a904e60210e34efb09371ce1b/media/gpu/BUILD.gn
[delete] https://crrev.com/8a11a6d050cff637bbe893af23cf0dad0d98d971/media/gpu/fuchsia/fuchsia_video_decoder.h
[modify] https://crrev.com/a0af75428f48190a904e60210e34efb09371ce1b/media/renderers/default_decoder_factory.cc

Status: Fixed (was: Started)

Sign in to add a comment