From bda113c645673fd152bb9ca3eaddd3c34920223e Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Tue, 8 May 2018 14:57:47 +0000 Subject: Move CalculatePitch8() to core/fxcodec. Use it in more places there. Change-Id: I477670a5946ec9033ad5f2bef0fbcddb52682066 Reviewed-on: https://pdfium-review.googlesource.com/31271 Commit-Queue: Ryan Harrison Reviewed-by: Ryan Harrison --- core/fxcodec/codec/fx_codec.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'core/fxcodec/codec/fx_codec.cpp') diff --git a/core/fxcodec/codec/fx_codec.cpp b/core/fxcodec/codec/fx_codec.cpp index 4d094e54fb..22e4bc50cc 100644 --- a/core/fxcodec/codec/fx_codec.cpp +++ b/core/fxcodec/codec/fx_codec.cpp @@ -1839,3 +1839,21 @@ std::tuple AdobeCMYK_to_sRGB(float c, // more expensive. return std::make_tuple(r * (1.0f / 255), g * (1.0f / 255), b * (1.0f / 255)); } + +FX_SAFE_UINT32 CalculatePitch8(uint32_t bpc, uint32_t components, int width) { + FX_SAFE_UINT32 pitch = bpc; + pitch *= components; + pitch *= width; + pitch += 7; + pitch /= 8; + return pitch; +} + +FX_SAFE_UINT32 CalculatePitch32(int bpp, int width) { + FX_SAFE_UINT32 pitch = bpp; + pitch *= width; + pitch += 31; + pitch /= 32; // quantized to number of 32-bit words. + pitch *= 4; // and then back to bytes, (not just /8 in one step). + return pitch; +} -- cgit v1.2.3