| Index: src/codec/SkCodecPriv.h | 
| diff --git a/src/codec/SkCodecPriv.h b/src/codec/SkCodecPriv.h | 
| index 726074195daf23d787c0187520baa9a4a97e1e86..2769cec1cd4025f15611d4c9e5d53e65cb2eb47b 100644 | 
| --- a/src/codec/SkCodecPriv.h | 
| +++ b/src/codec/SkCodecPriv.h | 
| @@ -31,6 +31,17 @@ | 
| SkSwizzler::GetResult(zeroAlpha, maxAlpha); | 
|  | 
| /* | 
| + * returns a scaled dimension based on the original dimension and the sampleSize | 
| + * NOTE: we round down here for scaled dimension to match the behavior of SkImageDecoder | 
| + */ | 
| +static int get_scaled_dimension(int srcDimension, int sampleSize) { | 
| +    if (sampleSize > srcDimension) { | 
| +        return 1; | 
| +    } | 
| +    return srcDimension / sampleSize; | 
| +} | 
| + | 
| +/* | 
| * Returns the first coordinate that we will keep during a scaled decode. | 
| * The output can be interpreted as an x-coordinate or a y-coordinate. | 
| * | 
| @@ -137,7 +148,7 @@ static inline void copy_color_table(const SkImageInfo& dstInfo, SkColorTable* co | 
| SkASSERT(nullptr != inputColorPtr); | 
| SkASSERT(nullptr != inputColorCount); | 
| SkASSERT(nullptr != colorTable); | 
| -        memcpy(inputColorPtr, colorTable->readColors(), *inputColorCount * 4); | 
| +        memcpy(inputColorPtr, colorTable->readColors(), *inputColorCount * sizeof(SkPMColor)); | 
| } | 
| } | 
|  | 
|  |