Commit Graph
62 Commits
Author SHA1 Message Date
Andrew Osmond 5984540f91 Bug 1901078 - Implement promise based anonymous image decoder. r=tnikkel
This bypasses any caching used on the display pipeline and is
intended to be used by layers that want asynchronous decoding
that fits well into the MozPromise style.

This also fixes an issue with the frame count metadata decoder in the
GIF decoder. The code only began being used with this patch, and the WPT
exposed an overflow bug caused by not clearing nsGIFDecoder2::mColormap
and nsGIFDecoder2::mColormapSize.

Differential Revision: https://phabricator.services.mozilla.com/D212833
2024-07-24 03:16:16 +00:00
Noemi Erli 8c39349bee Backed out 3 changesets (bug 1901078, bug 1749048) for causing bustages in ImageDecoder.cpp
Backed out changeset 40ba80bacf94 (bug 1749048)
Backed out changeset 6aa4e953e922 (bug 1749048)
Backed out changeset 3fce5dcfc9c6 (bug 1901078)
2024-07-24 03:48:51 +03:00
Andrew Osmond 8cb92dbafb Bug 1901078 - Implement promise based anonymous image decoder. r=tnikkel
This bypasses any caching used on the display pipeline and is
intended to be used by layers that want asynchronous decoding
that fits well into the MozPromise style.

This also fixes an issue with the frame count metadata decoder in the
GIF decoder. The code only began being used with this patch, and the WPT
exposed an overflow bug caused by not clearing nsGIFDecoder2::mColormap
and nsGIFDecoder2::mColormapSize.

Differential Revision: https://phabricator.services.mozilla.com/D212833
2024-07-23 19:32:47 +00:00
Stanca Serban 51eab8676e Backed out 3 changesets (bug 1901078, bug 1749048) for causing interface related mochitests failures. CLOSED TREE
Backed out changeset 0c7ce075a24f (bug 1749048)
Backed out changeset 0b609b8fcff3 (bug 1749048)
Backed out changeset 18ce2638e512 (bug 1901078)
2024-07-23 21:50:08 +03:00
Andrew Osmond 5bff3ef075 Bug 1901078 - Implement promise based anonymous image decoder. r=tnikkel
This bypasses any caching used on the display pipeline and is
intended to be used by layers that want asynchronous decoding
that fits well into the MozPromise style.

This also fixes an issue with the frame count metadata decoder in the
GIF decoder. The code only began being used with this patch, and the WPT
exposed an overflow bug caused by not clearing nsGIFDecoder2::mColormap
and nsGIFDecoder2::mColormapSize.

Differential Revision: https://phabricator.services.mozilla.com/D212833
2024-07-23 16:25:35 +00:00
Andrew Osmond dfa5a8586f Bug 1901076 - Part 2. Expose frame count variant of metadata decoders. r=tnikkel
It is useful/necessary for WebCodecs image decoding support to be able
to calculate a frame count for the encoded image without actually
decoding every frame. It needs to be able to provide results without the
complete buffer as well.

Differential Revision: https://phabricator.services.mozilla.com/D212831
2024-06-24 22:44:30 +00:00
Sandor Molnar 2df6cff646 Backed out 2 changesets (bug 1901076) for causing assertion failures @ image/RasterImage.cpp CLOSED TREE
Backed out changeset de52938146cd (bug 1901076)
Backed out changeset 79fece25d231 (bug 1901076)
2024-06-24 23:19:52 +03:00
Andrew Osmond eb1f691a17 Bug 1901076 - Part 2. Expose frame count variant of metadata decoders. r=tnikkel
It is useful/necessary for WebCodecs image decoding support to be able
to calculate a frame count for the encoded image without actually
decoding every frame. It needs to be able to provide results without the
complete buffer as well.

Differential Revision: https://phabricator.services.mozilla.com/D212831
2024-06-24 17:59:49 +00:00
zaggy1024 7cc4b592b1 Bug 1813466 - Store AVIF prefs as default decoder flags in RasterImage. r=tnikkel
This prevents a crash that would occur if a redecode of an animated AVIF happened after changing the `sequences.enabled` pref from `true` to `false`.

Differential Revision: https://phabricator.services.mozilla.com/D170190
2023-03-17 00:50:07 +00:00
Andrew Osmond 081e8ef9c8 Bug 1732115 - Part 3. Refactor decoder pipeline to partially use Unoriented/OrientedPixel. r=tnikkel
Rather than change every use of IntSize/Rect/Point in image/, this patch
attempts to draw the line at the relevant parts of the decoding pipeline
to prevent confusion about which size and orientation we are working
with.

Differential Revision: https://phabricator.services.mozilla.com/D126381
2021-10-06 14:41:17 +00:00
Kagami Sascha Rosylight 8897bfb09e Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D113359
2021-05-06 02:00:57 +00:00
Noemi Erli 026935c40a Backed out 4 changesets (bug 1707590) for causing gtest crashes CLOSED TREE
Backed out changeset 3bd322893127 (bug 1707590)
Backed out changeset 8cc3eaf728b6 (bug 1707590)
Backed out changeset 21f41a9df048 (bug 1707590)
Backed out changeset 3201d860afef (bug 1707590)
2021-05-06 04:57:44 +03:00
Kagami Sascha Rosylight b5bd9f27ae Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D113359
2021-05-06 01:14:21 +00:00
Noemi Erli 2340b5899b Backed out 4 changesets (bug 1707590) for causing gtest crashes CLOSED TREE
Backed out changeset 6edab66fe2c5 (bug 1707590)
Backed out changeset e5d2d6824408 (bug 1707590)
Backed out changeset 9c7204c3f03c (bug 1707590)
Backed out changeset 25da391baa22 (bug 1707590)
2021-05-06 02:07:42 +03:00
Kagami Sascha Rosylight 74e7193cb3 Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D113359
2021-05-05 21:44:08 +00:00
Csoregi Natalia ed46670cc5 Backed out 4 changesets (bug 1707590) for causing gtest crashes. CLOSED TREE
Backed out changeset fec7b65cc3d7 (bug 1707590)
Backed out changeset 3a7e5c98dd13 (bug 1707590)
Backed out changeset 9dfd0d516062 (bug 1707590)
Backed out changeset 9ab607973f20 (bug 1707590)
2021-05-05 22:23:06 +03:00
Kagami Sascha Rosylight 6c8130c399 Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D113359
2021-05-05 17:33:53 +00:00
Dorel Luca 11b35f1b49 Backed out 4 changesets (bug 1707590) for worker/checkouts/gecko/config/rules.mk. CLOSED TREE
Backed out changeset 4ccdb31e1c5a (bug 1707590)
Backed out changeset 4b69f99caf69 (bug 1707590)
Backed out changeset a3f23a20b532 (bug 1707590)
Backed out changeset f591c3da4311 (bug 1707590)
2021-05-04 20:29:51 +03:00
Kagami Sascha Rosylight 7cb2d5f043 Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D113359
2021-05-04 15:24:54 +00:00
Iulian Moraru 06e493e53f Backed out 4 changesets (bug 1707590) for causing build bustages. CLOSED TREE
Backed out changeset f3f40c6fb8e2 (bug 1707590)
Backed out changeset 3e76ff83ebe2 (bug 1707590)
Backed out changeset 40a3f43a2306 (bug 1707590)
Backed out changeset 01bb0e75cb82 (bug 1707590)
2021-05-04 17:11:54 +03:00
Kagami Sascha Rosylight 747ae3d786 Bug 1707590 - Part 2: Implement nsJXLDecoder r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D113359
2021-05-04 13:29:08 +00:00
Jon Bauman bd33b0eb61 Bug 1625363 - AVIF (AV1 Image File Format): experimental support. r=aosmond,necko-reviewers,valentin
There are many limitations currently, but this prototype should successfully
render most basic AVIF images. Known limitations:

- No support for any derived image items (crop, rotate, etc.)
- No support for alpha planes
- No support for ICC profiles (bug 1634741)
- The primary image item must be an av01 (no grid support)
- HDR images aren't tone-mapped

Differential Revision: https://phabricator.services.mozilla.com/D68498
2020-05-01 22:56:04 +00:00
Razvan Maries 260d5495ac Backed out changeset 8cb47e0e268d (bug 1625363) for causing gtest failures at ImageDecoders.AVIFSingleChunk. CLOSED TREE 2020-04-30 08:26:53 +03:00
Jon Bauman 594bb4e032 Bug 1625363 - AVIF (AV1 Image File Format): experimental support. r=aosmond,necko-reviewers,valentin
There are many limitations currently, but this prototype should successfully
render most basic AVIF images. Known limitations:

- No support for any derived image items (crop, rotate, etc.)
- No support for alpha planes
- The primary image item must be an av01 (no grid support)
- HDR images aren't tone-mapped

Differential Revision: https://phabricator.services.mozilla.com/D68498
2020-04-30 01:31:17 +00:00
Bogdan Tara 44322d7a53 Backed out changeset 9804951497f9 (bug 1625363) for bustages complaining about nsAVIFDecoder.cpp CLOSED TREE 2020-04-29 19:46:12 +03:00
Jon Bauman d8eb36440f Bug 1625363 - AVIF (AV1 Image File Format): experimental support. r=aosmond,necko-reviewers,valentin
There are many limitations currently, but this prototype should successfully
render most basic AVIF images. Known limitations:

- No support for any derived image items (crop, rotate, etc.)
- No support for alpha planes
- The primary image item must be an av01 (no grid support)
- HDR images aren't tone-mapped

Differential Revision: https://phabricator.services.mozilla.com/D68498
2020-04-29 16:30:54 +00:00
Sylvestre Ledru e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Andrew Osmond 283422a564 Bug 1501482. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D11897
2018-11-16 09:41:27 -05:00
Andrew Osmond ea3496614c Bug 1294490 - Part 3. Implement WebP decoder. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D8116
2018-10-31 15:01:08 -04:00
Andrew Osmond 0066c1d8fb Bug 1337111 - Part 3. Land groundwork for new blended animation gtests. r=tnikkel 2018-09-17 15:06:29 -04:00
Coroiu Cristina 23659dbd32 Backed out 6 changesets (bug 1337111) for build bustages at builds/worker/workspace/build/src/image/SurfaceFilters.h on a CLOSED TREE
Backed out changeset ca0caa556dc9 (bug 1337111)
Backed out changeset d7d7fa868d0d (bug 1337111)
Backed out changeset 93e956e89a21 (bug 1337111)
Backed out changeset f36337c1309b (bug 1337111)
Backed out changeset 1b1e25b0b345 (bug 1337111)
Backed out changeset 3785cdebe6a3 (bug 1337111)
2018-09-17 20:42:30 +03:00
Andrew Osmond 8e220a9ff4 Bug 1337111 - Part 3. Land groundwork for new blended animation gtests. r=tnikkel 2018-09-17 13:21:38 -04:00
Andrew Osmond 7952dfe242 Bug 523950 - Part 6. Add DecoderFactory::CloneAnimationDecoder to clone an existing image decoder. r=tnikkel
Used later in the patch series, this API allows one to get an identical
decoder to the one given, but decodes from the beginning.
2018-02-28 13:34:52 -05:00
Andrew Osmond a2da8f23eb Bug 1389988 - Handle a data race between a new sync decode request and a pending decoder. r=tnikkel
If there is an active provider which has yet to produce a frame, any
calls to SurfaceCache::Lookup will return MatchType::PENDING. If
RasterImage::Lookup gets the above result while given FLAG_SYNC_DECODE,
it will attempt to start a new decoder. It is entirely possible that
when we try to insert the new provider into the SurfaceCache, it cannot
because the original provider finally did produce something. In that
case we should abandon attempting to redecode and retry our lookup.
2018-02-09 08:51:28 -05:00
Andrew Osmond 5cd0c28d91 Bug 1315554 - Part 8. Allow DecoderFactory::CreateDecoderForICOResource to create metadata decoders. r=tnikkel 2017-07-22 07:50:32 -04:00
Andrew Osmond d72ae32db1 Bug 1315554 - Part 6. Reuse the same SourceBuffer when decoding a resource within an ICO. r=tnikkel 2017-07-22 07:50:31 -04:00
Andrew Osmond db6e1e8dfa Bug 1315554 - Part 1. Enforce the parent decoder size (ICO) for child decoders (BMP, PNG). r=tnikkel 2017-07-22 07:50:31 -04:00
Sebastian Hengst 1b9afeceb6 Backed out changeset fd310390a64a (bug 1315554) for failing GTest's ImageDecoders.LargeICOWithPNGSingleChunk on OS X opt. r=backout 2017-07-22 11:05:35 +02:00
Sebastian Hengst 486cc7cb00 Backed out changeset e39309b6fe7f (bug 1315554) 2017-07-22 11:04:02 +02:00
Sebastian Hengst cb2086f0e6 Backed out changeset d46b7e02802c (bug 1315554) 2017-07-22 11:03:52 +02:00
Andrew Osmond b7a5343164 Bug 1315554 - Part 8. Allow DecoderFactory::CreateDecoderForICOResource to create metadata decoders. r=tnikkel 2017-07-22 00:14:59 -04:00
Andrew Osmond 1359a001f0 Bug 1315554 - Part 6. Reuse the same SourceBuffer when decoding a resource within an ICO. r=tnikkel 2017-07-22 00:14:59 -04:00
Andrew Osmond e5d030062e Bug 1315554 - Part 1. Enforce the parent decoder size (ICO) for child decoders (BMP, PNG). r=tnikkel 2017-07-22 00:14:58 -04:00
Ehsan Akhgari 5a0aa00c2b Bug 1311246 - Remove support for the -moz-samplesize media fragment; r=jrmuizel
This removes the feature added in bug 854795 for Tarako b2g devices.
2016-11-16 08:18:56 -05:00
Seth Fowler 414d097f49 Bug 1292505 (Part 1b) - Update DecoderFactory to use SetOutputSize(), and propagate the changes to RasterImage. r=edwin 2016-08-05 13:44:46 -07:00
Seth Fowler 28cdad949d Bug 1185799 (Part 1) - Use DecoderFactory to construct nsICODecoder's contained decoder. r=edwin 2016-07-07 15:50:44 -07:00
Seth Fowler 1f9b35837b Bug 1282354 - Move code for SurfaceCache placeholder insertion from RasterImage to DecoderFactory. r=dholbert 2016-07-02 18:47:49 -06:00
Daniel Holbert d5653afeea Bug 1282670, part 2: Remove unnecessary/redundant string-related #include & "using" declarations in imagelib. r=seth
MozReview-Commit-ID: 1hgnUosiOFU
2016-06-30 10:25:35 -07:00
Seth Fowler 6a066f954f Bug 1282352 - Make DecoderFactory use NotNull where possible. r=edwin 2016-06-29 18:33:22 -07:00
Seth Fowler a8b8626747 Bug 1282275 - Return IDecodingTask objects instead of Decoder objects from most DecoderFactory functions. r=dholbert 2016-06-29 18:33:18 -07:00