1/* 2 * Copyright 2012 The LibYuv Project Authors. All rights reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11#ifndef INCLUDE_LIBYUV_SCALE_ARGB_H_ // NOLINT 12#define INCLUDE_LIBYUV_SCALE_ARGB_H_ 13 14#include "libyuv/basic_types.h" 15#include "libyuv/scale.h" // For FilterMode 16 17#ifdef __cplusplus 18namespace libyuv { 19extern "C" { 20#endif 21 22LIBYUV_API 23int ARGBScale(const uint8* src_argb, int src_stride_argb, 24 int src_width, int src_height, 25 uint8* dst_argb, int dst_stride_argb, 26 int dst_width, int dst_height, 27 enum FilterMode filtering); 28 29// Clipped scale takes destination rectangle coordinates for clip values. 30LIBYUV_API 31int ARGBScaleClip(const uint8* src_argb, int src_stride_argb, 32 int src_width, int src_height, 33 uint8* dst_argb, int dst_stride_argb, 34 int dst_width, int dst_height, 35 int clip_x, int clip_y, int clip_width, int clip_height, 36 enum FilterMode filtering); 37 38// TODO(fbarchard): Implement this. 39// Scale with YUV conversion to ARGB and clipping. 40LIBYUV_API 41int YUVToARGBScaleClip(const uint8* src_y, int src_stride_y, 42 const uint8* src_u, int src_stride_u, 43 const uint8* src_v, int src_stride_v, 44 uint32 src_fourcc, 45 int src_width, int src_height, 46 uint8* dst_argb, int dst_stride_argb, 47 uint32 dst_fourcc, 48 int dst_width, int dst_height, 49 int clip_x, int clip_y, int clip_width, int clip_height, 50 enum FilterMode filtering); 51 52#ifdef __cplusplus 53} // extern "C" 54} // namespace libyuv 55#endif 56 57#endif // INCLUDE_LIBYUV_SCALE_ARGB_H_ NOLINT 58