skia2/include/utils
Leon Scroggins bc098ef6d4 Handle EXIF orientation in SkAnimCodecPlayer
Bug: skia:10914

SkAnimCodecPlayer:
- Properly handle orientation, whether the image is still or not
- Mark const methods as const
- Fix seek() so that if you seek to the duration of frame 0, it will
  show frame 1
- Fix the SkImageInfo so if the first frame is opaque, but following
  frames are not, those frames can still be decoded

resources:
- Rename "webp-animated.webp" to "stoplight.webp", which better
  describes the animation
  - Update test files accordingly
- Add "stoplight_h.webp", which is the same animation with an EXIF
  that converts it to a horizontal stoplight

AnimCodecPlayer test:
- Test the new image files
- Verify SkAnimCodecPlayer::dimensions behaves as expected
- Remove extra debugging line
- Provide better error messages

AnimCodecPlayerExifGM:
- Add a new GM that shows all frames of the new animation with an EXIF
  orientation
- Add a new GM that shows all frames of an animation with an opaque
  first frame followed by frames with alpha

Change-Id: I43cf91c16d52aa1901eef8e13e1e644eea6058b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/332753
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2020-11-12 14:43:47 +00:00
..
mac Enable ClangTidy check modernize-use-nullptr. 2020-08-14 16:14:30 +00:00
SkAnimCodecPlayer.h Handle EXIF orientation in SkAnimCodecPlayer 2020-11-12 14:43:47 +00:00
SkBase64.h [skottie] Add DataURI image support in utils/tools 2019-10-21 18:02:39 +00:00
SkCamera.h remove legacy utils for camera3d 2020-05-18 02:05:28 +00:00
SkCanvasStateUtils.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkCustomTypeface.h SkCustomTypefaceBuilder to set SkFontStyle 2020-08-19 00:09:55 +00:00
SkEventTracer.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkInterpolator.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SkNoDrawCanvas.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SkNullCanvas.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkNWayCanvas.h Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
SkPaintFilterCanvas.h Remove SkCanvas::getGrContext & GrRecordingContext::backdoor 2020-09-21 16:46:21 +00:00
SkParse.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkParsePath.h Revert "Revert "Shuffle SkSL sources around so compiler and bytecode can be used w/o GPU"" 2019-06-18 14:47:12 +00:00
SkRandom.h Wsign-conversion for public headers 2020-06-02 12:34:54 +00:00
SkShadowUtils.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkTextUtils.h Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
SkTraceEventPhase.h