Commit Graph

70 Commits

Author SHA1 Message Date
Timothy Nikkel
48052cc9cb Bug 1526717. Guard against libpng calling the info callback more than once. r=aosmond
libpng uses the first IDAT chunk it encounters as a signal that it has read all header chunks and to send the info callback.

The testcase png has an IDAT chunk, then a z chunk (not a known chunk type), and then another IDAT chunk.

libpng tracks if we are in an "after idat" state, and throws a benign error if it encounters another IDAT chunk in "after idat" mode, but it just continues normally, processing the idat chunk as if it were the first and therefore sends the info callback again. This seems silly.

https://searchfox.org/mozilla-central/rev/f1c7ba91fad60bfea184006f3728dd6ac48c8e56/media/libpng/pngpread.c#307
2019-03-14 14:32:37 -05:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Andrew Osmond
28978c4f66 Bug 523950 - Part 2. Expose image decoder type and SourceBuffer to owners. r=tnikkel
Later in the patch series, we use the new APIs to facilitate cloning of
an existing decoder. This is useful when you want to redecode the same
image with the exact same configuration but from the very beginning.
2018-02-28 13:34:52 -05:00
Andrew Osmond
93efb56fbf Bug 1315554 - Part 3. Expose Decoder::IsValidICOResource for all decoders. r=tnikkel 2017-07-22 07:50:31 -04:00
Sebastian Hengst
7197a59a77 Backed out changeset 9780a01b3e94 (bug 1315554) 2017-07-22 11:04:17 +02:00
Andrew Osmond
a5bb792dc9 Bug 1315554 - Part 3. Expose Decoder::IsValidICOResource for all decoders. r=tnikkel 2017-07-22 00:14:59 -04:00
Timothy Nikkel
0e7000fdce Bug 1352282. Always fill in the number of loops when decoding an APNG file. r=aosmond
If we were doing a first frame only decode we wouldn't fill in this value. The spec says this chunk must come before any image data so it should always be available at the end of any full decode (whether it be truly full or first frame only).
2017-04-05 11:28:40 -05:00
Vedant Sareen
7d4bd52fae Bug 1330907 - Rename Telemetry::ID to Telemetry::HistogramID. r=dexter
Changed |print("enum ID : uint32_t {", file=output)| to |print("enum HistogramID : uint32_t {", file=output)| at line 53 of the file |toolkit/components/telemetry/gen-histogram-enum.py|, and then replaced all the textual occurrences of |Telemetry::ID| to |Telemetry::HistogramID| and |ID| to |HistogramID| in 43 other files.
2017-02-16 00:45:15 +05:30
Phil Ringnalda
c7b01ecbda Backed out 5 changesets (bug 1290292, bug 1290293) for gfx assertions
CLOSED TREE

Backed out changeset 652c909b75ad (bug 1290293)
Backed out changeset 90a284ea19e3 (bug 1290292)
Backed out changeset 8401d12fe936 (bug 1290293)
Backed out changeset d87488b69c18 (bug 1290293)
Backed out changeset 7368aa665fae (bug 1290293)
2017-02-13 19:28:45 -08:00
Andrew Osmond
6679005d2a Bug 1290293 - Part 2e. Make SurfacePipe users clear unwritten pixels if the image is truncated. r=tnikkel 2016-08-18 09:55:45 -04:00
Andrew Osmond
ca5d0ac0fd Bug 1290293 - Part 2a. Make nsPNGDecoder clear on which surface format is being used. r=tnikkel 2016-08-18 09:55:45 -04:00
Seth Fowler
98a9fd7db6 Bug 1291071 (Part 4) - Clean up Decoder::SpeedHistogram() and related code. r=edwin 2016-08-05 18:50:29 -07:00
Seth Fowler
62bf80f260 Bug 1287691 (Part 3) - Yield after each frame in the PNG decoder. r=edwin 2016-07-20 02:30:37 -07:00
Makoto Kato
1cb4228397 Backed out 4 changesets (bug 1287691) due to Windows build failure
MozReview-Commit-ID: KgV3nU9a64F
2016-07-20 11:03:59 +09:00
Seth Fowler
78f3ee9ee6 Bug 1287691 (Part 3) - Yield after each frame in the PNG decoder. r=edwin 2016-07-19 17:15:01 -07:00
Seth Fowler
938a963f7f Bug 1287246 (Part 1) - Expose LexerResult from the StreamingLexer API and add an explicit Yield type. r=njn 2016-07-18 01:25:37 -07:00
Seth Fowler
4c2a4667a7 Bug 1286165 (Part 2) - Advance decoders' SourceBufferIterator directly in StreamingLexer. r=edwin,njn 2016-07-15 17:48:57 -07:00
Seth Fowler
3c38000891 Bug 1285867 (Part 1) - Remove Decoder's notion of decoder errors. r=edwin 2016-07-15 16:41:11 -07:00
Seth Fowler
bd9732ac1b Bug 1285865 (Part 6) - Pass a SourceBufferIterator to Decoder::DoDecode(). r=edwin 2016-07-11 12:13:13 -07:00
Seth Fowler
e80fff4085 Bug 1285865 (Part 5) - Return a Maybe<TerminalState> from Decoder::DoDecode(). r=edwin 2016-07-11 12:13:11 -07:00
Seth Fowler
a9f24e8308 Bug 1285865 (Part 4) - Rename Decoder::WriteInternal() to Decoder::DoDecode() and fix its argument types. r=edwin 2016-07-11 12:13:09 -07:00
Seth Fowler
d6de2d01f5 Bug 1185799 (Part 2) - Make nsBMPDecoder and nsPNGDecoder no longer friends with nsICODecoder. r=edwin 2016-07-07 15:50:46 -07:00
Seth Fowler
a54d2d7a22 Bug 1282566 (Part 3) - Use StreamingLexer in the PNG decoder. r=edwin 2016-06-29 12:12:36 -07:00
Seth Fowler
e75a45eb03 Bug 1282566 (Part 2) - Remove some unused fields from nsPNGDecoder. r=edwin 2016-06-29 12:12:34 -07:00
Seth Fowler
a0645af1a6 Bug 1282566 (Part 1) - Use png_process_data_pause for early exits in nsPNGDecoder. r=edwin 2016-06-29 12:12:32 -07:00
Seth Fowler
17074a1b49 Bug 1255107 (Part 3) - Use SurfacePipe in the PNG decoder. r=njn 2016-06-25 14:04:05 -07:00
Seth Fowler
c1229ef66c Bug 1146663 (Part 5) - Require that all image decoders support downscale-during-decode. r=tn 2015-09-19 16:21:08 -07:00
Seth Fowler
957709108c Bug 1060609 (Part 2) - Add downscale-during-decode support for the PNG decoder. r=tn,f=glennrp 2015-09-01 14:13:17 -07:00
Seth Fowler
c012dc0aa9 Bug 1191114 (Part 1) - Always detect HAS_TRANSPARENCY during the metadata decode. r=tn
--HG--
extra : rebase_source : 97c8568f33abd1f2a8d9ef5679ce3ac904f0758f
2015-08-12 10:41:02 -07:00
Seth Fowler
c17342d0b4 Bug 1187546 - Make it possible to ask image decoders to only decode the first frame. r=tn 2015-07-31 18:10:23 -07:00
Seth Fowler
88affc4d10 Bug 1184996 (Part 4) - Forbid instantiation of decoders except via DecoderFactory. r=tn 2015-07-22 22:39:56 -07:00
Seth Fowler
1732630df1 Bug 1184996 (Part 3) - Replace all remaining references to 'size decodes' with 'metadata decodes'. r=tn 2015-07-22 22:39:54 -07:00
Seth Fowler
d564a3b0a5 Bug 1117607 - Make decoders responsible for their own frame allocations. r=tn 2015-07-10 19:26:15 -07:00
Glenn Randers-Pehrson
7def1c3af9 Bug 1102048 (Part 24, decoders) - Make image/src files comply with the Mozilla Coding Style Guide. r=seth 2015-04-05 16:22:00 -07:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Jeff Muizelaar
a1c7482bc4 Bug 1131446. mFrameHasNoAlpha is mostly pointless. r=seth
Starting with bug 391583 we detect whether a png image has any transparency
during decode. I don't think this is worth doing anymore. We choose the format
of image based on the png header, that should be sufficient for the performance
improvement we desire from opaque images. This gets us faster image decoding.

--HG--
extra : rebase_source : 7233c03e9e4fd0987f3e7c12d5d0e27520ebddae
2015-02-10 13:26:14 +08:00
Seth Fowler
66b57f086b Bug 1079627 (Part 1) - Make image decoders hold a strong reference to their image. r=tn 2015-01-15 15:11:35 -08:00
Tom Schuster
967d0d250a Backout changeset b4ebefd0f7e3:a8044fd506db Bug 1117607, Bug 1118087, Bug 1118092, Bug 1118105, Bug 1030372, Bug 1079627 on CLOSED TREE 2015-01-11 20:43:32 +01:00
Seth Fowler
c575069c34 Bug 1079627 (Part 1) - Make image decoders hold a strong reference to their image. r=tn 2015-01-11 05:34:20 -08:00
Seth Fowler
13ecf8f345 Bug 1117607 - Make decoders responsible for their own frame allocations. r=tn 2015-01-10 18:47:44 -08:00
Wes Kocher
a1bfc06c8c Backout 17fc30214d84 (bug 1117607) for reftest orange 2015-01-09 18:48:43 -08:00
Seth Fowler
57b28877bf Bug 1117607 - Make decoders responsible for their own frame allocations. r=tn 2015-01-09 15:02:48 -08:00
Seth Fowler
e723960bef Bug 1116733 (Part 2) - Remove DecodeStrategy and frame allocation handling outside of Decoder. r=tn 2015-01-08 00:04:31 -08:00
Seth Fowler
f5c7051077 Bug 1116737 - Merge FrameBlender into FrameAnimator. r=tn
--HG--
extra : rebase_source : f2021135cf82e35273095f8e96373bcbee304710
2015-01-07 13:07:23 -08:00
Ehsan Akhgari
4d845d4829 Bug 1117248 - Mark virtual overridden functions as MOZ_OVERRIDE in image/; r=jrmuizel 2015-01-03 12:24:49 -05:00
Glenn Randers-Pehrson
af6365f04f Bug 991149 - Improve image/* source compliance with Mozilla Coding Style. r=seth 2014-11-14 12:59:00 -05:00
Glenn Randers-Pehrson
bac1ccd8ee Bug 1072340 - Clean up PNG codecs in image/encoders,decoders. r=jmuizelaar
--HG--
extra : rebase_source : e8789fd34910ae510483034a769e77e70e644198
2014-09-24 17:38:00 -04:00
Ehsan Akhgari
c382f0d21d Bug 1061047 - Fix some bad implicit constructors in imagelib; r=jrmuizel 2014-09-02 12:20:24 -04:00
Michael Wu
9e075daedc Bug 994081 - [2/3] Convert imgFrame to SourceSurfaces, r=seth 2014-04-19 21:28:38 -04:00
Seth Fowler
8fe99f9dbb Bug 896268 - Use a stateless approach to synchronous image decoding. r=jdm 2013-12-17 14:04:24 -08:00