commit | 2d5ecad817b6ab0e2676c86c35e206889108963c | [log] [tgz] |
---|---|---|
author | Miguel Casas <mcasas@chromium.org> | Thu Feb 22 19:03:05 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Feb 22 19:03:05 2018 |
tree | 6a9e8ace093bab009c017d78d61f4c49487d4587 | |
parent | 03d84b4b220cc3569a11ca0f1db2e8ca18f6fa5c [diff] |
VideoDecodeAccelerator: make Accelerator owned by Decoder {V4L2,Vaapi}VideoDecodeAccelerator classes own both a *Decoder and a number of *Accelerators; the *Decoder in turn gets a naked pointer to the appropriate *Accelerator. This creates an unnecessary complication in the ownership diagram. This CL cleans that up by giving the ownership of the *Accelerator to the appropriate *Decoder, reducing the footprint of the *VideoDecodeAccelerator and with it its internal state. As a side bonus, *Decoder can turn the *Accelerator into a pseudo invariant. After PS9, the naked ptr to VaapiWrapper inside Vaapi*Accelerator is changed to a const scoped_refptr<VaapiWrapper>. * in the former paragraphs is either {H264,VP8,VP9} To simplify the review, I made a diagram of how it looks before this CL: https://goo.gl/EorgA3 (parts changing in red) after this CL: https://goo.gl/UUvXcS Test: simplechrome on soraka and scarlet, playback: h264, vp8, vp9 from crosvideo, then video_decode_accelerator_unittests. Bug: 717265 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: Ic8f1f200a38c2d04b22e1c11e9fcaad61fea575f Reviewed-on: https://chromium-review.googlesource.com/928826 Commit-Queue: Miguel Casas <mcasas@chromium.org> Reviewed-by: Pawel Osciak <posciak@chromium.org> Cr-Commit-Position: refs/heads/master@{#538507}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .