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 18 namespace libyuv { 19 extern "C" { 20 #endif 21 22 LIBYUV_API 23 int 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. 30 LIBYUV_API 31 int 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 // Scale with YUV conversion to ARGB and clipping. 39 LIBYUV_API 40 int YUVToARGBScaleClip(const uint8* src_y, int src_stride_y, 41 const uint8* src_u, int src_stride_u, 42 const uint8* src_v, int src_stride_v, 43 uint32 src_fourcc, 44 int src_width, int src_height, 45 uint8* dst_argb, int dst_stride_argb, 46 uint32 dst_fourcc, 47 int dst_width, int dst_height, 48 int clip_x, int clip_y, int clip_width, int clip_height, 49 enum FilterMode filtering); 50 51 #ifdef __cplusplus 52 } // extern "C" 53 } // namespace libyuv 54 #endif 55 56 #endif // INCLUDE_LIBYUV_SCALE_ARGB_H_ NOLINT 57