Consider supporting WebP accelerated image decoding using Va-API |
|
Issue descriptionConsider supporting WebP accelerated image decoding using Va-API. See goo.gl/Exq5z9 for more info.
,
Aug 27
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3bbbf83a3dc2d114c4c98ab1855e963b6924a9f5 commit 3bbbf83a3dc2d114c4c98ab1855e963b6924a9f5 Author: Miguel Casas <mcasas@chromium.org> Date: Mon Aug 27 23:53:59 2018 Blink Image Decoding: add UMA histogram for WebP type This CL adds a UMA for the WebP file format - see [1] but, essentially, those are Lossy - lossless - w/ alpha and animation. This CL is part of an effort to support hw-accelerated WebP decoding. The Hw accelerator would support only lossy, which we suspect to be the largest type in the wild, this CL would prove (and monitor) that assumption. [1] https://developers.google.com/speed/webp/docs/riff_container Bug: 877694 Change-Id: I339fb05edec2777af63d2f3ae37a3df0ee02792b Reviewed-on: https://chromium-review.googlesource.com/1189062 Reviewed-by: Gayane Petrosyan <gayane@chromium.org> Reviewed-by: Leon Scroggins <scroggo@chromium.org> Commit-Queue: Miguel Casas <mcasas@chromium.org> Cr-Commit-Position: refs/heads/master@{#586502} [modify] https://crrev.com/3bbbf83a3dc2d114c4c98ab1855e963b6924a9f5/third_party/blink/renderer/platform/image-decoders/DEPS [modify] https://crrev.com/3bbbf83a3dc2d114c4c98ab1855e963b6924a9f5/third_party/blink/renderer/platform/image-decoders/webp/webp_image_decoder.cc [modify] https://crrev.com/3bbbf83a3dc2d114c4c98ab1855e963b6924a9f5/tools/metrics/histograms/enums.xml [modify] https://crrev.com/3bbbf83a3dc2d114c4c98ab1855e963b6924a9f5/tools/metrics/histograms/histograms.xml
,
Aug 31
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/61aa180e3283f3f7e495f068b9a34dd3981232d6 commit 61aa180e3283f3f7e495f068b9a34dd3981232d6 Author: Miguel Casas <mcasas@chromium.org> Date: Fri Aug 31 20:34:23 2018 jpeg_decode_accelerator_unittest: cleanup This CL cleans up a bit the jpeg_decode_accelerator_unittest file; singleton JpegDecodeAcceleratorTestEnvironment created a number of temporary files on SetUp() (via CreateTestJpegImage() method) that were removed on TearDown(). It also created by hand the content of TestImageFile objects. All this logic is moved to the struct TestImagefile (renamed to ParsedJpegImage), so that a) the struct is better defined in terms of what it holds and how is it initialized (CreateFromFile() and CreateBlackImage() are the factory methods), b) there's one place only to fill in its sizes (InitializeSizes()) and c) there's no need for temporary files written to disk and deleted. Also for good measure: - GetOriginalOrTestDataFilePath() is simplified and folded inline. - Couple of consts/constexprs here and there. - Initialize members in ctor initialization lists (ISO ctor body). Test: compile and run j_d_a_unittest on nautilus Bug: 877694 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: Ib2cb4ba218df84955757298e7d0cd85503ee1c98 Reviewed-on: https://chromium-review.googlesource.com/1197372 Commit-Queue: Miguel Casas <mcasas@chromium.org> Reviewed-by: Daniele Castagna <dcastagna@chromium.org> Cr-Commit-Position: refs/heads/master@{#588153} [modify] https://crrev.com/61aa180e3283f3f7e495f068b9a34dd3981232d6/media/gpu/jpeg_decode_accelerator_unittest.cc
,
Sep 5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/58e1347031d3d01dd2671cb5933cb9323702a3a7 commit 58e1347031d3d01dd2671cb5933cb9323702a3a7 Author: Miguel Casas <mcasas@chromium.org> Date: Tue Sep 04 20:29:31 2018 Enable jpeg_decode_accelerator_unittest in chromiumos_preflight jpeg_decode_accelerator_unittest is compiled and run on the CrOs autotest infra, but is not compiled on the bots, when it possibly should. This CL adds that target to the chromiumos_preflight of the top level BUILD.gn. Bug: 732531, 877694 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: Iee1c95a4c0c12d3a0e55451447d6d862e1cb1484 Reviewed-on: https://chromium-review.googlesource.com/1199580 Reviewed-by: Ben Pastene <bpastene@chromium.org> Reviewed-by: Dan Sanders <sandersd@chromium.org> Reviewed-by: John Budorick <jbudorick@chromium.org> Commit-Queue: Miguel Casas <mcasas@chromium.org> Cr-Commit-Position: refs/heads/master@{#588635} [modify] https://crrev.com/58e1347031d3d01dd2671cb5933cb9323702a3a7/BUILD.gn [modify] https://crrev.com/58e1347031d3d01dd2671cb5933cb9323702a3a7/media/gpu/BUILD.gn
,
Sep 5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f7cc370e948265fe0f617d943544cda51b1f5239 commit f7cc370e948265fe0f617d943544cda51b1f5239 Author: Findit <findit-for-me@appspot.gserviceaccount.com> Date: Tue Sep 04 21:19:23 2018 Revert "Enable jpeg_decode_accelerator_unittest in chromiumos_preflight" This reverts commit 58e1347031d3d01dd2671cb5933cb9323702a3a7. Reason for revert: Findit (https://goo.gl/kROfz5) identified CL at revision 588635 as the culprit for failures in the build cycles as shown on: https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzU4ZTEzNDcwMzFkM2QwMWRkMjY3MWNiNTkzM2NiOTMyMzcwMmEzYTcM Sample Failed Build: https://ci.chromium.org/buildbot/chromium/win-rel/2001 Sample Failed Step: compile Original change's description: > Enable jpeg_decode_accelerator_unittest in chromiumos_preflight > > jpeg_decode_accelerator_unittest is compiled and run on the CrOs > autotest infra, but is not compiled on the bots, when it possibly > should. This CL adds that target to the chromiumos_preflight of > the top level BUILD.gn. > > Bug: 732531, 877694 > > 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: Iee1c95a4c0c12d3a0e55451447d6d862e1cb1484 > Reviewed-on: https://chromium-review.googlesource.com/1199580 > Reviewed-by: Ben Pastene <bpastene@chromium.org> > Reviewed-by: Dan Sanders <sandersd@chromium.org> > Reviewed-by: John Budorick <jbudorick@chromium.org> > Commit-Queue: Miguel Casas <mcasas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#588635} Change-Id: I0092e01151c3e9700ef64be7646849ff90066b01 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 732531, 877694 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 Reviewed-on: https://chromium-review.googlesource.com/1204599 Cr-Commit-Position: refs/heads/master@{#588642} [modify] https://crrev.com/f7cc370e948265fe0f617d943544cda51b1f5239/BUILD.gn [modify] https://crrev.com/f7cc370e948265fe0f617d943544cda51b1f5239/media/gpu/BUILD.gn
,
Sep 5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6ed9272ad6d696731eb440d30bac9366715a9267 commit 6ed9272ad6d696731eb440d30bac9366715a9267 Author: Miguel Casas <mcasas@chromium.org> Date: Wed Sep 05 23:07:25 2018 jpeg_decode_accelerator_unittest: add time info This CL : - Adds some LOG() info of the average time taken for image decoding for sw & hw, (see e.g https://pastebin.com/raw/RKiGqjBS) - Removes unnecessary {} Bug: 877694 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: Id2147989456a0cb3cb2a64c3e89c355c0e736fa5 Reviewed-on: https://chromium-review.googlesource.com/1198524 Commit-Queue: Miguel Casas <mcasas@chromium.org> Reviewed-by: Dan Sanders <sandersd@chromium.org> Cr-Commit-Position: refs/heads/master@{#589048} [modify] https://crrev.com/6ed9272ad6d696731eb440d30bac9366715a9267/media/gpu/jpeg_decode_accelerator_unittest.cc [modify] https://crrev.com/6ed9272ad6d696731eb440d30bac9366715a9267/media/gpu/vaapi/vaapi_wrapper.cc
,
Sep 5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4dcce853f96a2def66b860afe65c1a333d98f778 commit 4dcce853f96a2def66b860afe65c1a333d98f778 Author: Miguel Casas <mcasas@chromium.org> Date: Wed Sep 05 23:13:36 2018 RELAND: Enable jpeg_decode_accelerator_unittest in chromiumos_preflight The original CL crrev.com/c/1199580 was reverted in crrev.com/c/1204599 because it broke windows compilation (File path literals etc). This CL limits the compilation to linux and chromeos: the new changes can be seen in crrev.com/c/1206675/1..2 TBR=jbudorick@chromium.org, sandersd@chromium.org since the changes are trivial re. the previous CL. Original CL description ----------------------------------------------- jpeg_decode_accelerator_unittest is compiled and run on the CrOs autotest infra, but is not compiled on the bots, when it possibly should. This CL adds that target to the chromiumos_preflight of the top level BUILD.gn. Bug: 732531, 877694 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 Reviewed-on: https://chromium-review.googlesource.com/1199580 Reviewed-by: Ben Pastene <bpastene@chromium.org> Reviewed-by: Dan Sanders <sandersd@chromium.org> Reviewed-by: John Budorick <jbudorick@chromium.org> Commit-Queue: Miguel Casas <mcasas@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#588635} Change-Id: Ic71fc5076484d30dda90654cd5501aa802258feb Reviewed-on: https://chromium-review.googlesource.com/1206675 Reviewed-by: Miguel Casas <mcasas@chromium.org> Cr-Commit-Position: refs/heads/master@{#589051} [modify] https://crrev.com/4dcce853f96a2def66b860afe65c1a333d98f778/BUILD.gn [modify] https://crrev.com/4dcce853f96a2def66b860afe65c1a333d98f778/media/gpu/BUILD.gn
,
Sep 6
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ec92aa02114cddc7ae83fe8b2b5fb12615cada57 commit ec92aa02114cddc7ae83fe8b2b5fb12615cada57 Author: Miguel Casas <mcasas@chromium.org> Date: Thu Sep 06 16:52:19 2018 jpeg_decode_accelerator_unittest: move static class upwards This CL moves JpegDecodeAcceleratorTestEnvironment upwards so that the test-specific classes and the static classes are grouped together. No new code whatsoever. Bug: 877694 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: Ida2c6024526baf62933f058b3539bbb51306406e Reviewed-on: https://chromium-review.googlesource.com/1204772 Reviewed-by: Daniele Castagna <dcastagna@chromium.org> Commit-Queue: Miguel Casas <mcasas@chromium.org> Cr-Commit-Position: refs/heads/master@{#589194} [modify] https://crrev.com/ec92aa02114cddc7ae83fe8b2b5fb12615cada57/media/gpu/jpeg_decode_accelerator_unittest.cc
,
Sep 7
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9a7eacc1b023f253b9fe91b431d8a1083ecaa265 commit 9a7eacc1b023f253b9fe91b431d8a1083ecaa265 Author: Miguel Casas <mcasas@chromium.org> Date: Fri Sep 07 16:46:08 2018 jpeg_decode_accelerator_unittest: transform members into parameters This test removes the member variables |test_image_files_| and |expected_status_| and makes them into method parameters instead, which is more explicit and will make the methods more customisable down the line. Bug: 877694 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: If1c63e32b7e3bf52f988bad76dd401324fd28a32 Reviewed-on: https://chromium-review.googlesource.com/1205312 Reviewed-by: Daniele Castagna <dcastagna@chromium.org> Commit-Queue: Miguel Casas <mcasas@chromium.org> Cr-Commit-Position: refs/heads/master@{#589549} [modify] https://crrev.com/9a7eacc1b023f253b9fe91b431d8a1083ecaa265/media/gpu/jpeg_decode_accelerator_unittest.cc
,
Sep 14
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c87a53a5ef801623540681c3b365b83aaea1363f commit c87a53a5ef801623540681c3b365b83aaea1363f Author: Miguel Casas <mcasas@chromium.org> Date: Fri Sep 14 00:41:16 2018 VaAPI: introduce ScopedVABufferMapping and ScopedVAImage VaapiWrapper: - uses the pattern vaMapBuffer(() - vaUnmapBuffer() in 4 methods: this CL makes it ScopedVABufferMapping to simplify its use. - provides methods GetVaImage() -- ReturnVaImage() to create and destroy a VaAPI VAImage; this VAImage is mapped and unmapped following the pattern described before. This CL wraps this pattern into a ScopedVAImage to clarify and simplify its use and lifetime. (This is only used from VaapiJpegDecodeAccelerator). Test: jpeg_decode_accelerator_unittest OK on nautilus; added unittests. Bug: 877694 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: I0717bd3c64bb1bffc7df5b4b09643f3bb5ecb1a4 Reviewed-on: https://chromium-review.googlesource.com/1195822 Commit-Queue: Miguel Casas <mcasas@chromium.org> Reviewed-by: Dan Sanders <sandersd@chromium.org> Cr-Commit-Position: refs/heads/master@{#591233} [modify] https://crrev.com/c87a53a5ef801623540681c3b365b83aaea1363f/media/gpu/BUILD.gn [modify] https://crrev.com/c87a53a5ef801623540681c3b365b83aaea1363f/media/gpu/vaapi/BUILD.gn [modify] https://crrev.com/c87a53a5ef801623540681c3b365b83aaea1363f/media/gpu/vaapi/vaapi_jpeg_decode_accelerator.cc [modify] https://crrev.com/c87a53a5ef801623540681c3b365b83aaea1363f/media/gpu/vaapi/vaapi_jpeg_decode_accelerator_unittest.cc [add] https://crrev.com/c87a53a5ef801623540681c3b365b83aaea1363f/media/gpu/vaapi/vaapi_utils.cc [add] https://crrev.com/c87a53a5ef801623540681c3b365b83aaea1363f/media/gpu/vaapi/vaapi_utils.h [modify] https://crrev.com/c87a53a5ef801623540681c3b365b83aaea1363f/media/gpu/vaapi/vaapi_wrapper.cc [modify] https://crrev.com/c87a53a5ef801623540681c3b365b83aaea1363f/media/gpu/vaapi/vaapi_wrapper.h
,
Oct 9
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6ed4194e54635b9bdb0109d670438fd983cb51b2 commit 6ed4194e54635b9bdb0109d670438fd983cb51b2 Author: Miguel Casas <mcasas@chromium.org> Date: Tue Oct 09 14:40:42 2018 vaapi: extract common parts of VaapiVP8Accelerator::SubmitDecode() This CL extracts the bulk of VaapiVP8Accelerator::SubmitDecode() into a new service function FillVP8DataStructuresAndPassToVaapiWrapper() in vaapi_utils, so that it can be used for WebP decode (see the playground in crrev.com/c/1185754). It also: - replaces the ARRAY_MEMCPY_CHECKED() with a templated function. - replaces uses of arraysize() with base::size() ( crbug.com/837308 ) Aside from those compile-time changes, the code itself should be unchanged. Test: video_decode_accelerator_unittest and VP8 playback working on nautilus Bug: 877694 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: Icb4a10721705464747ef4743b51aea6801dc3171 Reviewed-on: https://chromium-review.googlesource.com/c/1269315 Commit-Queue: Miguel Casas <mcasas@chromium.org> Reviewed-by: Hirokazu Honda <hiroh@chromium.org> Cr-Commit-Position: refs/heads/master@{#597906} [modify] https://crrev.com/6ed4194e54635b9bdb0109d670438fd983cb51b2/media/gpu/vaapi/vaapi_utils.cc [modify] https://crrev.com/6ed4194e54635b9bdb0109d670438fd983cb51b2/media/gpu/vaapi/vaapi_utils.h [modify] https://crrev.com/6ed4194e54635b9bdb0109d670438fd983cb51b2/media/gpu/vaapi/vaapi_vp8_accelerator.cc |
|
►
Sign in to add a comment |
|
Comment 1 by mcasas@chromium.org
, Aug 24