// Copyright 2021 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef SKIA_EXT_RGBA_TO_YUVA_H_ #define SKIA_EXT_RGBA_TO_YUVA_H_ #include "third_party/skia/include/core/SkImage.h" #include "third_party/skia/include/core/SkRect.h" #include "third_party/skia/include/core/SkSurface.h" #include "third_party/skia/include/core/SkYUVAInfo.h" namespace skia { // Copy `src_image` from RGBA to the YUVA planes specified in `dst_surfaces`, // using the color space and plane configuration information specified in // `dst_yuva_info`. `dst_yuva_info` describes the entire destination image - the // results of the blit operation will be placed in its subregion, described by // `dst_region`. If a default-constructed `dst_region` is passed in, the entire // destination image will be written to. If `clear_destination` is true, the // entire destination image will be cleared with black before the blit. SK_API void BlitRGBAToYUVA(SkImage* src_image, SkSurface* dst_surfaces[SkYUVAInfo::kMaxPlanes], const SkYUVAInfo& dst_yuva_info, const SkRect& dst_region = SkRect::MakeEmpty(), bool clear_destination = false); } // namespace skia #endif // SKIA_EXT_RGBA_TO_YUVA_H_