Lines Matching defs:sampleSize
199 // Necessary for decodes when the native decoder cannot scale to appropriately match the sampleSize
200 // (for example, RAW). If the sampleSize divides evenly into the dimension, we require that the
201 // scale matches exactly. If sampleSize does not divide evenly, we allow the decoder to choose how
203 static bool needsFineScale(const int fullSize, const int decodedSize, const int sampleSize) {
204 if (fullSize % sampleSize == 0 && fullSize / sampleSize != decodedSize) {
206 } else if ((fullSize / sampleSize + 1) != decodedSize &&
207 (fullSize / sampleSize) != decodedSize) {
214 const int sampleSize) {
215 return needsFineScale(fullSize.width(), decodedSize.width(), sampleSize) ||
216 needsFineScale(fullSize.height(), decodedSize.height(), sampleSize);
227 int sampleSize = 1;
239 sampleSize = env->GetIntField(options, gOptions_sampleSizeFieldID);
240 // Correct a non-positive sampleSize. sampleSize defaults to zero within the
242 if (sampleSize <= 0) {
243 sampleSize = 1;
299 SkISize size = codec->getSampledDimensions(sampleSize);
306 if (needsFineScale(codec->getInfo().dimensions(), size, sampleSize)) {
308 scaledWidth = codec->getInfo().width() / sampleSize;
309 scaledHeight = codec->getInfo().height() / sampleSize;
420 codecOptions.fSampleSize = sampleSize;