| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2007 The Android Open Source Project | 2 * Copyright 2007 The Android Open Source Project |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 | 8 |
| 9 #include "SkImageDecoder.h" | 9 #include "SkImageDecoder.h" |
| 10 #include "SkImageEncoder.h" | 10 #include "SkImageEncoder.h" |
| (...skipping 1107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1118 } | 1118 } |
| 1119 if (this->shouldCancelDecode()) { | 1119 if (this->shouldCancelDecode()) { |
| 1120 return return_false(*cinfo, bitmap, "shouldCancelDecode"); | 1120 return return_false(*cinfo, bitmap, "shouldCancelDecode"); |
| 1121 } | 1121 } |
| 1122 rowTotalCount += rowCount; | 1122 rowTotalCount += rowCount; |
| 1123 rowptr += bpr; | 1123 rowptr += bpr; |
| 1124 } | 1124 } |
| 1125 | 1125 |
| 1126 if (swapOnly) { | 1126 if (swapOnly) { |
| 1127 bm->swap(bitmap); | 1127 bm->swap(bitmap); |
| 1128 } else { | 1128 return true; |
| 1129 cropBitmap(bm, &bitmap, actualSampleSize, region.x(), region.y(), | |
| 1130 region.width(), region.height(), startX, startY); | |
| 1131 } | 1129 } |
| 1132 return true; | 1130 |
| 1131 return cropBitmap(bm, &bitmap, actualSampleSize, region.x(), region.y(), |
| 1132 region.width(), region.height(), startX, startY); |
| 1133 } | 1133 } |
| 1134 #endif | 1134 #endif |
| 1135 | 1135 |
| 1136 // check for supported formats | 1136 // check for supported formats |
| 1137 SkScaledBitmapSampler::SrcConfig sc; | 1137 SkScaledBitmapSampler::SrcConfig sc; |
| 1138 int srcBytesPerPixel; | 1138 int srcBytesPerPixel; |
| 1139 | 1139 |
| 1140 if (!get_src_config(*cinfo, &sc, &srcBytesPerPixel)) { | 1140 if (!get_src_config(*cinfo, &sc, &srcBytesPerPixel)) { |
| 1141 return return_false(*cinfo, *bm, "jpeg colorspace"); | 1141 return return_false(*cinfo, *bm, "jpeg colorspace"); |
| 1142 } | 1142 } |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1177 break; | 1177 break; |
| 1178 } | 1178 } |
| 1179 | 1179 |
| 1180 if (!skip_src_rows_tile(cinfo, fImageIndex->huffmanIndex(), srcRow, | 1180 if (!skip_src_rows_tile(cinfo, fImageIndex->huffmanIndex(), srcRow, |
| 1181 sampler.srcDY() - 1)) { | 1181 sampler.srcDY() - 1)) { |
| 1182 return return_false(*cinfo, bitmap, "skip rows"); | 1182 return return_false(*cinfo, bitmap, "skip rows"); |
| 1183 } | 1183 } |
| 1184 } | 1184 } |
| 1185 if (swapOnly) { | 1185 if (swapOnly) { |
| 1186 bm->swap(bitmap); | 1186 bm->swap(bitmap); |
| 1187 } else { | 1187 return true; |
| 1188 cropBitmap(bm, &bitmap, actualSampleSize, region.x(), region.y(), | |
| 1189 region.width(), region.height(), startX, startY); | |
| 1190 } | 1188 } |
| 1191 return true; | 1189 return cropBitmap(bm, &bitmap, actualSampleSize, region.x(), region.y(), |
| 1190 region.width(), region.height(), startX, startY); |
| 1192 } | 1191 } |
| 1193 #endif | 1192 #endif |
| 1194 | 1193 |
| 1195 /////////////////////////////////////////////////////////////////////////////// | 1194 /////////////////////////////////////////////////////////////////////////////// |
| 1196 | 1195 |
| 1197 #include "SkColorPriv.h" | 1196 #include "SkColorPriv.h" |
| 1198 | 1197 |
| 1199 // taken from jcolor.c in libjpeg | 1198 // taken from jcolor.c in libjpeg |
| 1200 #if 0 // 16bit - precise but slow | 1199 #if 0 // 16bit - precise but slow |
| 1201 #define CYR 19595 // 0.299 | 1200 #define CYR 19595 // 0.299 |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1467 return SkImageDecoder::kUnknown_Format; | 1466 return SkImageDecoder::kUnknown_Format; |
| 1468 } | 1467 } |
| 1469 | 1468 |
| 1470 static SkImageEncoder* sk_libjpeg_efactory(SkImageEncoder::Type t) { | 1469 static SkImageEncoder* sk_libjpeg_efactory(SkImageEncoder::Type t) { |
| 1471 return (SkImageEncoder::kJPEG_Type == t) ? SkNEW(SkJPEGImageEncoder) : NULL; | 1470 return (SkImageEncoder::kJPEG_Type == t) ? SkNEW(SkJPEGImageEncoder) : NULL; |
| 1472 } | 1471 } |
| 1473 | 1472 |
| 1474 static SkImageDecoder_DecodeReg gDReg(sk_libjpeg_dfactory); | 1473 static SkImageDecoder_DecodeReg gDReg(sk_libjpeg_dfactory); |
| 1475 static SkImageDecoder_FormatReg gFormatReg(get_format_jpeg); | 1474 static SkImageDecoder_FormatReg gFormatReg(get_format_jpeg); |
| 1476 static SkImageEncoder_EncodeReg gEReg(sk_libjpeg_efactory); | 1475 static SkImageEncoder_EncodeReg gEReg(sk_libjpeg_efactory); |
| OLD | NEW |