Revert of Change quality settings on SkImageDecoder_libjpeg (patchset #1 id:40001...
authorfmalita <fmalita@google.com>
Mon, 9 Nov 2015 00:30:08 +0000 (16:30 -0800)
committerCommit bot <commit-bot@chromium.org>
Mon, 9 Nov 2015 00:30:08 +0000 (16:30 -0800)
commit236364904dda3e0b8c7b497adc32b026b0a640f6
treea9c2454e33cd22cbd08ea406cec97e14af88a6b1
parent629162dd8ef127f793c9cedf0f47a1d4de4d3a3d
Revert of Change quality settings on SkImageDecoder_libjpeg (patchset #1 id:40001 of https://codereview.chromium.org/1412803009/ )

Reason for revert:
Valgrind failures: http://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Valgrind/builds/631/steps/nanobench/logs/stdio

==14022== Conditional jump or move depends on uninitialised value(s)
==14022==    at 0x6A1DD6: S32A_Opaque_BlitRow32_SSE4(unsigned int*, unsigned int const*, int, unsigned int) (SkBlitRow_opts_SSE4.cpp:47)
==14022==    by 0x5A7EEA: Sprite_D32_S32::blitRect(int, int, int, int) (SkSpriteBlitter_ARGB32.cpp:47)
==14022==    by 0x57DD8A: SkScan::FillIRect(SkIRect const&, SkRegion const*, SkBlitter*) (SkScan.cpp:15)
==14022==    by 0x57DEDC: SkScan::FillIRect(SkIRect const&, SkRasterClip const&, SkBlitter*) (SkScan.cpp:73)
==14022==    by 0x536072: SkDraw::drawBitmap(SkBitmap const&, SkMatrix const&, SkRect const*, SkPaint const&) const (SkDraw.cpp:1286)
==14022==    by 0x59CC50: SkBitmapDevice::drawBitmap(SkDraw const&, SkBitmap const&, SkMatrix const&, SkPaint const&) (SkBitmapDevice.cpp:248)
==14022==    by 0x52F0DC: SkBaseDevice::drawImage(SkDraw const&, SkImage const*, float, float, SkPaint const&) (SkDevice.cpp:150)
==14022==    by 0x525139: SkCanvas::onDrawImage(SkImage const*, float, float, SkPaint const*) (SkCanvas.cpp:2180)
==14022==    by 0x5279A0: SkCanvas::drawImage(SkImage const*, float, float, SkPaint const*) (SkCanvas.cpp:1864)
==14022==    by 0x441C83: SKPBench::onPerCanvasPostDraw(SkCanvas*) (SKPBench.cpp:95)
==14022==    by 0x40A3FF: Benchmark::perCanvasPostDraw(SkCanvas*) (Benchmark.cpp:53)
==14022==    by 0x44C527: nanobench_main() (nanobench.cpp:1254)
==14022==    by 0x44D1E6: main (nanobench.cpp:1344)
==14022==  Uninitialised value was created by a heap allocation
==14022==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14022==    by 0x602DAC: chromium_jpeg_get_large (jmemnobs.c:57)
==14022==    by 0x602818: alloc_large (jmemmgr.c:376)
==14022==    by 0x602A2E: alloc_sarray (jmemmgr.c:453)
==14022==    by 0x614983: chromium_jinit_d_main_controller (jdmainct.c:450)
==14022==    by 0x5FD3A0: chromium_jinit_master_decompress (jdmaster.c:577)
==14022==    by 0x5F9198: chromium_jpeg_start_decompress (jdapistd.c:46)
==14022==    by 0x680C22: SkJPEGImageDecoder::onDecode(SkStream*, SkBitmap*, SkImageDecoder::Mode) (SkImageDecoder_libjpeg.cpp:575)
==14022==    by 0x67BCE8: SkImageDecoder::decode(SkStream*, SkBitmap*, SkColorType, SkImageDecoder::Mode) (SkImageDecoder.cpp:138)
==14022==    by 0x6845E3: SkImageDecoderGenerator::onGetPixels(SkImageInfo const&, void*, unsigned long, unsigned int*, int*) (SkImageGenerator_skia.cpp:59)
==14022==    by 0x53D4C7: SkImageGenerator::getPixels(SkImageInfo const&, void*, unsigned long, unsigned int*, int*) (SkImageGenerator.cpp:40)
==14022==    by 0x53D6DF: SkImageGenerator::tryGenerateBitmap(SkBitmap*, SkImageInfo const*, SkBitmap::Allocator*) (SkImageGenerator.cpp:179)
==14022==    by 0x53D334: SkImageCacherator::generateBitmap(SkBitmap*) (SkImageGenerator.h:174)
==14022==    by 0x53D3A1: SkImageCacherator::tryLockAsBitmap(SkBitmap*, SkImage const*) (SkImageCacherator.cpp:118)
==14022==    by 0x53D3EA: SkImageCacherator::lockAsBitmap(SkBitmap*, SkImage const*) (SkImageCacherator.cpp:132)
==14022==    by 0x58EDCF: SkImage_Generator::getROPixels(SkBitmap*) const (SkImage_Generator.cpp:59)
==14022==    by 0x52F007: SkBaseDevice::drawImageRect(SkDraw const&, SkImage const*, SkRect const*, SkRect const&, SkPaint const&, SkCanvas::SrcRectConstraint) (SkDevice.cpp:159)
==14022==    by 0x5255E0: SkCanvas::onDrawImageRect(SkImage const*, SkRect const*, SkRect const&, SkPaint const*, SkCanvas::SrcRectConstraint) (SkCanvas.cpp:2209)
==14022==    by 0x5279DC: SkCanvas::drawImageRect(SkImage const*, SkRect const&, SkRect const&, SkPaint const*, SkCanvas::SrcRectConstraint) (SkCanvas.cpp:1872)

Original issue's description:
> Change quality settings on SkImageDecoder_libjpeg
>
> It has been demonstrated that higher quality settings
> really do make a difference in the visual quality of
> the output image.
> https://code.google.com/p/chromium/issues/detail?id=385515
> https://code.google.com/p/skia/issues/detail?id=3770
>
> We are planning to replace SkImageDecoder with SkCodec,
> and SkCodec will use the higher quality settings.  As
> a first step, we are using SkCodec as the underlying
> implementation for BitmapRegionDecoder.  CTS tests require
> that BitmapRegionDecoder be a close match to BitmapFactory
> (which uses SkImageDecoder), so we must also update the
> quality of SkImageDecoder to maintain CTS compatibility.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/69ad6a9d03dd6f14b7c730465319313725a7c903

TBR=scroggo@google.com,msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1432863002
src/images/SkImageDecoder_libjpeg.cpp