commit | d7b7b5e1ba87e2cb667ec4bbdbff990de71cedda | [log] [tgz] |
---|---|---|
author | Christopher Cameron <ccameron@chromium.org> | Sat Aug 03 12:54:44 2024 |
committer | Copybara-Service <copybara-worker@google.com> | Sat Aug 03 13:15:22 2024 |
tree | e35af3186a23a018d1ba55b29ba468c67bfc1006 | |
parent | bfd187a78a4fdacad9daf46a3d9b901041b0799e [diff] |
blink::ImageDecoder: Add parameter to select base versus gainmap This patch only adds plumbing. The plumbed parameter will not be used until the next change. To blink::ImageDecoder::Create and CreateByMimeType, add a cc::AuxImage parameter, to indicate if we wish for the decoder to extract the base image (kDefault) or the gainmap image (kGainmap). In blink::DeferredImageDecoder::ActivateDecoding and ActivateLazyGainmapDecoding, specify kDefault and kGainmap respectively when calling blink::ImageFrameGenerator::Create. This is plumbed to the blink::ImageDecoder in blink::ImageFrameGenerator::DecodeAndScale (and similar functions). This will simplify AVIF gainmap image decoding. The function blink::AVIFImageDecoder::GetGainmapInfoAndData will be able to just re-use base image's data, rather than having to extract different image data. Longer term, this might be a step towards having only a single cc::PaintImageGenerator in cc::PaintImage. In that case, we would remove the cc::AuxImage member from blink::ImageFrameGenerator, and instead have it be a parameter that goes directly to blink::ImageFrameGenerator::DecodeAndScale. That will need to wait until all decoders are on the new path. Bug: 356827770 Change-Id: If0b86374321bf4201d30ffad537303bd1fa0dd19 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5756625 Reviewed-by: Jeremy Roman <jbroman@chromium.org> Commit-Queue: ccameron chromium <ccameron@chromium.org> Cr-Commit-Position: refs/heads/main@{#1336968} NOKEYCHECK=True GitOrigin-RevId: 518ce793d672bf976e41c4da34b917c7f4b913f3
The third_party directory contains sources from other projects.
For guidelines on adding a new package to the third_party directory can be found at //docs/adding_to_third_party.md