| Index: src/codec/SkJpegCodec.cpp
|
| diff --git a/src/codec/SkJpegCodec.cpp b/src/codec/SkJpegCodec.cpp
|
| index ed14cdf5c3e6d90f49deb65ca58a5214b6623c3f..9ec3c72719ebf2d75be1320e9b5fb67429cc6b7d 100644
|
| --- a/src/codec/SkJpegCodec.cpp
|
| +++ b/src/codec/SkJpegCodec.cpp
|
| @@ -177,19 +177,19 @@ SkISize SkJpegCodec::onGetScaledDimensions(float desiredScale) const {
|
| // support these as well
|
| unsigned int num;
|
| unsigned int denom = 8;
|
| - if (desiredScale > 0.875f) {
|
| + if (desiredScale >= 0.9375) {
|
| num = 8;
|
| - } else if (desiredScale > 0.75f) {
|
| + } else if (desiredScale >= 0.8125) {
|
| num = 7;
|
| - } else if (desiredScale > 0.625f) {
|
| + } else if (desiredScale >= 0.6875f) {
|
| num = 6;
|
| - } else if (desiredScale > 0.5f) {
|
| + } else if (desiredScale >= 0.5625f) {
|
| num = 5;
|
| - } else if (desiredScale > 0.375f) {
|
| + } else if (desiredScale >= 0.4375f) {
|
| num = 4;
|
| - } else if (desiredScale > 0.25f) {
|
| + } else if (desiredScale >= 0.3125f) {
|
| num = 3;
|
| - } else if (desiredScale > 0.125f) {
|
| + } else if (desiredScale >= 0.1875f) {
|
| num = 2;
|
| } else {
|
| num = 1;
|
| @@ -406,8 +406,7 @@ SkSampler* SkJpegCodec::getSampler(bool createIfNecessary) {
|
| SkASSERT(false);
|
| }
|
|
|
| - fSwizzler.reset(SkSwizzler::CreateSwizzler(srcConfig, nullptr, info,
|
| - this->options().fZeroInitialized));
|
| + fSwizzler.reset(SkSwizzler::CreateSwizzler(srcConfig, nullptr, info, this->options().fZeroInitialized, 0, 0)); // TODO: get subset info from options object
|
| if (!fSwizzler) {
|
| return nullptr;
|
| }
|
| @@ -418,7 +417,8 @@ SkSampler* SkJpegCodec::getSampler(bool createIfNecessary) {
|
| }
|
|
|
| SkCodec::Result SkJpegCodec::onStartScanlineDecode(const SkImageInfo& dstInfo,
|
| - const Options& options, SkPMColor ctable[], int* ctableCount) {
|
| + const Options& options, SkPMColor ctable[], int* ctableCount, int subsetLeft,
|
| + int subsetWidth) {
|
| // Set the jump location for libjpeg errors
|
| if (setjmp(fDecoderMgr->getJmpBuf())) {
|
| SkCodecPrintf("setjmp: Error from libjpeg\n");
|
|
|