469d67e7d9
Bug: b/160984428 Add more fields to SkCodec::FrameInfo, which describes the properties of an individual frame in an animated image. This allows a client that wishes to seek to determine frame dependencies so that they can decode an arbitrary frame, which in turn will allow SkCodec to remove SkCodec::FrameInfo::fRequiredFrame. Currently, SkCodec seeks through the stream to determine frame dependencies, but this is unnecessary work (and storage) for a client that does not want to seek. These fields also support the proposed APIs in go/animated-ndk. Move SkCodecAnimation::Blend from SkCodecAnimationPriv (and delete that file) into SkCodecAnimation.h. Rename its values to be more clear. Merge common code for populating SkCodec::FrameInfo. Add a test for a GIF with offsets outside the range of the image. Note that libwebp rejects such an image. Update libgifcodec. Change-Id: Ie27e0531e7d62eaae153eccb3105bf2121b5aac4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/339857 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Nigel Tao <nigeltao@google.com> |
||
---|---|---|
.. | ||
orientation | ||
1x1.png | ||
1x3.png | ||
1x16.png | ||
2x2.png | ||
3x1.png | ||
3x3.png | ||
16x1.png | ||
alphabetAnim.gif | ||
arrow.png | ||
b78329453.jpeg | ||
baby_tux.png | ||
baby_tux.webp | ||
blendBG.webp | ||
box.gif | ||
brickwork_normal-map.jpg | ||
brickwork-texture.jpg | ||
cmyk_yellow_224_224_32.jpg | ||
CMYK.jpg | ||
color_wheel_with_profile.png | ||
color_wheel.gif | ||
color_wheel.ico | ||
color_wheel.jpg | ||
color_wheel.png | ||
color_wheel.webp | ||
colorTables.gif | ||
crbug807324.png | ||
cropped_mandrill.jpg | ||
dng_with_preview.dng | ||
dog.jpg | ||
ducky.jpg | ||
ducky.png | ||
example_1.png | ||
example_2.png | ||
example_3.png | ||
example_4.png | ||
example_5.png | ||
example_6.png | ||
exif-orientation-2-ur.jpg | ||
explosion_sprites.png | ||
flightAnim.gif | ||
flower-bc1.dds | ||
flower-etc1.ktx | ||
flutter_logo.jpg | ||
gamut.png | ||
gif-transparent-index.gif | ||
google_chrome.ico | ||
grayscale.jpg | ||
grayscale.png | ||
half-transparent-white-pixel.png | ||
half-transparent-white-pixel.webp | ||
icc-v2-gbr.jpg | ||
iconstrip.png | ||
index8.png | ||
lut_identity.png | ||
lut_sepia.png | ||
mandrill_16.png | ||
mandrill_32.png | ||
mandrill_64.png | ||
mandrill_128.png | ||
mandrill_256.png | ||
mandrill_512_q075.jpg | ||
mandrill_512.png | ||
mandrill_cmyk.jpg | ||
mandrill_h1v1.jpg | ||
mandrill_h2v1.jpg | ||
mandrill_sepia.png | ||
mandrill.wbmp | ||
out-of-palette.gif | ||
plane_interlaced.png | ||
plane.png | ||
purple-displayprofile.png | ||
rainbow-gradient.png | ||
randPixels.bmp | ||
randPixels.gif | ||
randPixels.jpg | ||
randPixels.png | ||
randPixels.webp | ||
randPixelsAnim2.gif | ||
randPixelsAnim.gif | ||
randPixelsOffset.gif | ||
required.gif | ||
required.webp | ||
rle.bmp | ||
sample_1mp_rotated.dng | ||
sample_1mp.dng | ||
shadowreference.png | ||
ship.png | ||
stoplight_h.webp | ||
stoplight.webp | ||
test640x479.gif | ||
text.png | ||
webp-color-profile-crash.webp | ||
webp-color-profile-lossless.webp | ||
webp-color-profile-lossy-alpha.webp | ||
webp-color-profile-lossy.webp | ||
wide_gamut_yellow_224_224_64.jpeg | ||
wide-gamut.png | ||
xOffsetTooBig.gif | ||
yellow_rose.png | ||
yellow_rose.webp |