#include "src/core/SkConvertPixels.h"
#include "include/core/SkColorType.h"
#include "include/core/SkImageInfo.h"
#include "include/core/SkSize.h"
#include "include/private/SkColorData.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkTPin.h"
#include "include/private/base/SkTemplates.h"
#include "src/base/SkHalf.h"
#include "src/base/SkRectMemcpy.h"
#include "src/core/SkColorSpaceXformSteps.h"
#include "src/core/SkImageInfoPriv.h"
#include "src/core/SkRasterPipeline.h"
#include "src/core/SkRasterPipelineOpContexts.h"
#include "src/core/SkSwizzlePriv.h"
#include <cstdint>
#include <cstring>
#include <initializer_list>
static bool rect_memcpy(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRB,
const SkImageInfo& srcInfo, const void* srcPixels, size_t srcRB,
const SkColorSpaceXformSteps& steps) { … }
static bool swizzle_or_premul(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRB,
const SkImageInfo& srcInfo, const void* srcPixels, size_t srcRB,
const SkColorSpaceXformSteps& steps) { … }
static bool convert_to_alpha8(const SkImageInfo& dstInfo, void* vdst, size_t dstRB,
const SkImageInfo& srcInfo, const void* src, size_t srcRB,
const SkColorSpaceXformSteps&) { … }
static void convert_with_pipeline(const SkImageInfo& dstInfo, void* dstRow, int dstStride,
const SkImageInfo& srcInfo, const void* srcRow, int srcStride,
const SkColorSpaceXformSteps& steps) { … }
bool SkConvertPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRB,
const SkImageInfo& srcInfo, const void* srcPixels, size_t srcRB) { … }