diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-03-25 16:46:54 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2024-03-25 16:46:54 +0000 |
commit | c2327601b6491b5d16b04ef67fc6e5c6e4abb71f (patch) | |
tree | 7aa355fd0b89ec0b2611e17ee84a14c6fa449e22 /include/libyuv/scale_argb.h | |
parent | de35ce683c1fd73fd043f2d43bca7c35200b7a93 (diff) | |
parent | f928fdb1305844959cc6e6c2b0be79a3043b7f0b (diff) | |
download | libyuv-androidx-core-release.tar.gz |
Merge "Snap for 11610999 from 488a2af021e3e7473f083a9435b1472c0d411f3d to androidx-core-release" into androidx-core-releaseandroidx-core-release
Diffstat (limited to 'include/libyuv/scale_argb.h')
-rw-r--r-- | include/libyuv/scale_argb.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/include/libyuv/scale_argb.h b/include/libyuv/scale_argb.h new file mode 100644 index 00000000..7641f18e --- /dev/null +++ b/include/libyuv/scale_argb.h @@ -0,0 +1,76 @@ +/* + * Copyright 2012 The LibYuv Project Authors. All rights reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef INCLUDE_LIBYUV_SCALE_ARGB_H_ +#define INCLUDE_LIBYUV_SCALE_ARGB_H_ + +#include "libyuv/basic_types.h" +#include "libyuv/scale.h" // For FilterMode + +#ifdef __cplusplus +namespace libyuv { +extern "C" { +#endif + +LIBYUV_API +int ARGBScale(const uint8_t* src_argb, + int src_stride_argb, + int src_width, + int src_height, + uint8_t* dst_argb, + int dst_stride_argb, + int dst_width, + int dst_height, + enum FilterMode filtering); + +// Clipped scale takes destination rectangle coordinates for clip values. +LIBYUV_API +int ARGBScaleClip(const uint8_t* src_argb, + int src_stride_argb, + int src_width, + int src_height, + uint8_t* dst_argb, + int dst_stride_argb, + int dst_width, + int dst_height, + int clip_x, + int clip_y, + int clip_width, + int clip_height, + enum FilterMode filtering); + +// Scale with YUV conversion to ARGB and clipping. +LIBYUV_API +int YUVToARGBScaleClip(const uint8_t* src_y, + int src_stride_y, + const uint8_t* src_u, + int src_stride_u, + const uint8_t* src_v, + int src_stride_v, + uint32_t src_fourcc, + int src_width, + int src_height, + uint8_t* dst_argb, + int dst_stride_argb, + uint32_t dst_fourcc, + int dst_width, + int dst_height, + int clip_x, + int clip_y, + int clip_width, + int clip_height, + enum FilterMode filtering); + +#ifdef __cplusplus +} // extern "C" +} // namespace libyuv +#endif + +#endif // INCLUDE_LIBYUV_SCALE_ARGB_H_ |