DescriptionIncremental decode: only use subset for subsetting
In the initial patch, we modified the subset passed to incremental
decoding to account for sampling in Y. This allowed SkSampledCodec to
use a tighter bounds. But it also means that the implementation cannot
distinguish between lines that are excluded due to subsetting and those
excluded at the beginning and end due to sampling. This becomes
problematic in GIF (crrev.com/2045293002), which may need to fill,
requiring it to reconstruct the actual destination. In truth,
SkGifCodec does not need to support subsets, but cannot distinguish
between the tighter bounds and a true subset.
Fix this by passing the scaled subset to incremental decode, without
using the tighter bounds.
Make SkSampler::rowNeeded take the starting coordinate into account.
In SkPngCodec, compute the number of rows needed in the output, and use
that as a signal to stop.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2420843003
Committed: https://skia.googlesource.com/skia/+/4f2a88cdf0e72d6cdf8d870c5130f45c70c48e09
Patch Set 1 #
Dependent Patchsets: Messages
Total messages: 14 (4 generated)
|