skia2/include/core
Leon Scroggins III 194580dc60 Reland "Treat kWEBP encode with quality=100 as lossless"
This reverts commit 22170b3178.

It was reverted due to the test breaking Google3. This includes a
workaround.

    Original change's description:
    > Treat kWEBP encode with quality=100 as lossless
    >
    > In SkEncodeImage and friends, treat quality of 100 as a lossless encode
    > when using kWEBP. This seems a good fit for the intent - which is
    > presumably to save the highest quality image. This also matches
    > Chromium's blink::ImageEncoder::ComputeWebpOptions, which treats a
    > quality of 1 (on a float scale from 0 to 1) as a lossless encode.
    >
    > FWIW, Chromium has had this behavior since
    > https://codereview.chromium.org/1937433002, in response to
    > crbug.com/523098. The goal is to "maintain sharpness to
    > match the JPEG encoder behavior (use WEBP lossless encoding)".
    >
    > Add a test to verify the new behavior. This requires making tests
    > depend on libwebp to use WebPGetFeatures, since the Skia API does not
    > provide a way to determine whether an encoded webp file was encoded
    > lossless-ly or lossily.
    >
    > Bug: skia:8586
    > Change-Id: Ie9e09c2f7414ab701d696c4ad9edf405868a716f
    > Reviewed-on: https://skia-review.googlesource.com/c/175823
    > Commit-Queue: Leon Scroggins <scroggo@google.com>
    > Reviewed-by: Derek Sollenberger <djsollen@google.com>
    > Reviewed-by: Mike Reed <reed@google.com>

TBR=reed@google.com, based on prior approval

Bug: skia:8586
Change-Id: I09c73f71996422f797fd9456fef5dfad9af36839
Reviewed-on: https://skia-review.googlesource.com/c/194194
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Auto-Submit: Leon Scroggins <scroggo@google.com>
2019-02-25 18:42:22 +00:00
..
SkAnnotation.h remove unneeded flag for annotations 2016-03-05 06:00:12 -08:00
SkBBHFactory.h Remove stray semicolons. 2016-09-27 14:04:26 +00:00
SkBitmap.h move some methods out of line 2019-02-08 15:41:36 +00:00
SkBlendMode.h give include comments the once over 2018-10-31 15:37:37 +00:00
SkBlurTypes.h Reland "make enum santizer fatal" 2018-11-06 17:31:00 +00:00
SkCanvas.h update docs for backdrop 2019-02-22 16:07:25 +00:00
SkCanvasVirtualEnforcer.h Add new experimental API for rectangles with per-edge AA control 2019-01-23 16:45:01 +00:00
SkClipOp.h add flag to hide deprecated clipops 2017-05-10 18:56:14 +00:00
SkColor.h Update bookmaker 2018-11-29 18:17:30 +00:00
SkColorFilter.h Make asFragmentProcessor entry point only take a GrRecordingContext (take 2) 2019-02-16 14:07:50 +00:00
SkColorPriv.h remove color 16 implementation out of public 2018-11-02 15:29:01 +00:00
SkColorSpace.h Remove SkColorSpaceTransferFn 2019-02-01 21:32:50 +00:00
SkColorSpaceXformCanvas.h Make xformer class for SkCSXCanvas, use for draw loopers 2017-03-30 18:02:58 +00:00
SkContourMeasure.h fix contour-measure for move-line-move 2019-02-13 17:14:09 +00:00
SkCoverageMode.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkData.h Revert "replace SkNVRefCnt with SkRefCnt" 2018-10-30 15:23:06 +00:00
SkDataTable.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkDeferredDisplayListRecorder.h Add option to skip intermediate release/fulfill calls for promise images. 2019-01-31 16:24:52 +00:00
SkDeque.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkDocument.h SK_SUPPORT_LEGACY_DOCUMENT_FACTORY: clean up part 2/2 2018-10-04 20:00:24 +00:00
SkDrawable.h Add additional information (e.g. colorspace) to the GpuDrawHandler 2019-01-10 18:49:52 +00:00
SkDrawLooper.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkEncodedImageFormat.h GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
SkExecutor.h SK_API SkExecutor 2019-02-21 16:59:41 +00:00
SkFilterQuality.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkFlattenable.h Fix occurrences of "-Wextra-semi-stmt" 2018-11-30 23:23:09 +00:00
SkFont.h remove unused cruft 2019-02-12 03:53:25 +00:00
SkFontArguments.h Add SkTypeface::getVariationDesignParameters 2018-07-12 17:30:20 +00:00
SkFontLCDConfig.h remove defines and add commas 2018-05-21 17:33:39 +00:00
SkFontMetrics.h use SkFontMetrics so we can deprecated the typedef 2018-11-12 15:03:03 +00:00
SkFontMgr.h SkFontMgr::matchFamilyStyle can return nullptr. 2018-08-16 22:49:52 +00:00
SkFontParameters.h Add SkTypeface::getVariationDesignParameters 2018-07-12 17:30:20 +00:00
SkFontStyle.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkFontTypes.h Reland "remove SK_SUPPORT_LEGACY_PAINT_FONT_FIELDS" 2019-01-15 02:21:06 +00:00
SkGraphics.h Remove TLS glyph cache calls. 2018-03-09 19:32:22 +00:00
SkICC.h Remove SkICC::WriteToICC 2019-02-01 21:00:10 +00:00
SkImage.h Update examples to use SkFont 2019-02-14 13:29:34 +00:00
SkImageEncoder.h Reland "Treat kWEBP encode with quality=100 as lossless" 2019-02-25 18:42:22 +00:00
SkImageFilter.h Switch image filters over to GrRecordingContext 2019-02-20 14:05:48 +00:00
SkImageGenerator.h Switch FP creation over to GrRecordingContext 2019-02-19 18:24:27 +00:00
SkImageInfo.h give include comments the once over 2018-10-31 15:37:37 +00:00
SkMallocPixelRef.h Clean up includes in SkMallocPixelRef 2018-06-26 16:47:39 +00:00
SkMaskFilter.h rename some flattenable routines 2018-10-20 14:08:32 +00:00
SkMath.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkMatrix44.h remove deprecated SkMatrix44::map() 2x 2018-10-04 14:55:23 +00:00
SkMatrix.h move some methods out of line 2019-02-08 15:41:36 +00:00
SkMilestone.h Update Skia milestone to 74 2019-01-24 20:47:42 +00:00
SkMultiPictureDraw.h Convert NULL and 0 to nullptr. 2017-08-28 17:48:57 +00:00
SkOverdrawCanvas.h Add new experimental API for rectangles with per-edge AA control 2019-01-23 16:45:01 +00:00
SkPaint.h make float more primary API for paint (esp. for alpha) 2019-02-15 21:50:16 +00:00
SkPath.h fix contour-measure for move-line-move 2019-02-13 17:14:09 +00:00
SkPathEffect.h Remove unused exposedInAndroidJavaAPI 2018-11-12 21:27:02 +00:00
SkPathMeasure.h update dox for pathmeasure 2019-02-08 22:24:04 +00:00
SkPicture.h change paint serialization to exclude font-related fields 2019-01-04 19:35:37 +00:00
SkPictureRecorder.h Move SkNoncopyable to include/private. 2018-07-17 21:39:51 +00:00
SkPixelRef.h (Almost) no one needs to know about SkPixelRef 2018-10-19 19:31:37 +00:00
SkPixmap.h Revert "Make SkBitmap/SkPixmap::erase* do so in sRGB" 2019-01-08 13:04:24 +00:00
SkPngChunkReader.h Delete SkImageDecoder 2016-03-24 10:41:47 -07:00
SkPoint3.h Simplify perspective shadows to match future MD specs. 2018-08-31 18:15:19 +00:00
SkPoint.h give include comments the once over 2018-10-31 15:37:37 +00:00
SkPostConfig.h make big-endian very opt-in 2018-11-02 18:04:49 +00:00
SkPreConfig.h Use clang versions of SK_RESTRICT and SK_WARN_UNUSED_RESULT on Windows 2019-02-11 20:38:33 +00:00
SkPromiseImageTexture.h Make SkPromiseImageTexture ref counted. 2019-01-14 16:19:01 +00:00
SkRasterHandleAllocator.h Make header files self-sufficient 2017-02-10 01:19:52 +00:00
SkRect.h add saveBehind to canvas 2018-12-19 14:44:09 +00:00
SkRefCnt.h clean up some odd SkRefCnt features 2018-10-31 20:47:16 +00:00
SkRegion.h Revert "Implement XP factory dumping" 2019-01-24 16:30:44 +00:00
SkRRect.h give include comments the once over 2018-10-31 15:37:37 +00:00
SkRSXform.h Revert "Revert "Make GPU backend triangulate rects such that they are rendered as tri strips rather than tri fans."" 2017-10-18 12:21:17 +00:00
SkRWBuffer.h Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
SkScalar.h get rid of SkScalarDiv 2018-11-07 14:15:09 +00:00
SkSerialProcs.h Change behavior of custom image serial/deserial 2018-03-08 21:50:51 +00:00
SkShader.h Remove "EXPERIMENTAL" label from kDecal_TileMode 2018-12-20 16:22:39 +00:00
SkSize.h Fix another typo in SkSize comments 2018-11-09 14:49:34 +00:00
SkStream.h SkPDF: stop using linked list of dynamic memory streams. 2018-10-09 19:01:49 +00:00
SkString.h Revert "templatize drawString" 2019-02-06 11:07:29 +00:00
SkStrokeRec.h Reland "ccpr: Implement stroking with fine triangle strips" 2018-09-03 10:16:28 +00:00
SkSurface.h Switch FP creation over to GrRecordingContext 2019-02-19 18:24:27 +00:00
SkSurfaceCharacterization.h Split GrContextThreadSafeProxy into its own files (take 2) 2019-01-29 19:26:47 +00:00
SkSurfaceProps.h Flesh out SkSurfaceCharacterization 2017-11-30 17:10:38 +00:00
SkSwizzle.h Add missing SK_API to SkSwizzle.h 2016-03-24 07:50:14 -07:00
SkTextBlob.h Documentation: be explicit about non-shaping 2019-01-15 14:53:04 +00:00
SkTime.h SkMacros split from SkTypes.h 2018-06-12 18:39:33 +00:00
SkTLazy.h Make single ctor for SkGlyph and remove reset 2019-01-10 23:18:27 +00:00
SkTraceMemoryDump.h Dump additional details about the gpu resources. 2018-03-29 18:08:15 +00:00
SkTypeface.h Move all glyphsToUnichars to a single impl (rely on typeface) 2018-12-06 22:48:52 +00:00
SkTypes.h Revert "SkMath takes some functions from from SkTypes" 2018-09-07 17:32:54 +00:00
SkUnPreMultiply.h Remove SkUnPreMultiply::UnPreMultiplyPreservingByteOrder 2018-11-02 17:46:26 +00:00
SkVertices.h Revert "replace SkNVRefCnt with SkRefCnt" 2018-10-30 15:23:06 +00:00
SkYUVAIndex.h Reland: Widen internal API to support more complex YUV formats 2018-10-18 18:44:26 +00:00
SkYUVASizeInfo.h Add SkEncodedOrigin to SkYUVASizeInfo, fix JPEG orientation in GPU decode path 2018-11-30 16:05:36 +00:00