| Index: source/libvpx/third_party/libyuv/include/libyuv/scale.h
|
| ===================================================================
|
| --- source/libvpx/third_party/libyuv/include/libyuv/scale.h (revision 278778)
|
| +++ source/libvpx/third_party/libyuv/include/libyuv/scale.h (working copy)
|
| @@ -1,30 +1,45 @@
|
| /*
|
| - * Copyright (c) 2011 The LibYuv project authors. All Rights Reserved.
|
| + * Copyright 2011 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
|
| + * 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_H_
|
| +#ifndef INCLUDE_LIBYUV_SCALE_H_ // NOLINT
|
| #define INCLUDE_LIBYUV_SCALE_H_
|
|
|
| -#include "third_party/libyuv/include/libyuv/basic_types.h"
|
| +#include "basic_types.h"
|
|
|
| #ifdef __cplusplus
|
| namespace libyuv {
|
| extern "C" {
|
| #endif
|
|
|
| -// Supported filtering
|
| -typedef enum {
|
| - kFilterNone = 0, // Point sample; Fastest
|
| - kFilterBilinear = 1, // Faster than box, but lower quality scaling down.
|
| - kFilterBox = 2 // Highest quality
|
| +// Supported filtering.
|
| +typedef enum FilterMode {
|
| + kFilterNone = 0, // Point sample; Fastest.
|
| + kFilterLinear = 1, // Filter horizontally only.
|
| + kFilterBilinear = 2, // Faster than box, but lower quality scaling down.
|
| + kFilterBox = 3 // Highest quality.
|
| } FilterModeEnum;
|
|
|
| +// Scale a YUV plane.
|
| +LIBYUV_API
|
| +void ScalePlane(const uint8* src, int src_stride,
|
| + int src_width, int src_height,
|
| + uint8* dst, int dst_stride,
|
| + int dst_width, int dst_height,
|
| + enum FilterMode filtering);
|
| +
|
| +void ScalePlane_16(const uint16* src, int src_stride,
|
| + int src_width, int src_height,
|
| + uint16* dst, int dst_stride,
|
| + int dst_width, int dst_height,
|
| + enum FilterMode filtering);
|
| +
|
| // Scales a YUV 4:2:0 image from the src width and height to the
|
| // dst width and height.
|
| // If filtering is kFilterNone, a simple nearest-neighbor algorithm is
|
| @@ -35,6 +50,7 @@
|
| // quality image, at further expense of speed.
|
| // Returns 0 if successful.
|
|
|
| +LIBYUV_API
|
| int I420Scale(const uint8* src_y, int src_stride_y,
|
| const uint8* src_u, int src_stride_u,
|
| const uint8* src_v, int src_stride_v,
|
| @@ -43,28 +59,44 @@
|
| uint8* dst_u, int dst_stride_u,
|
| uint8* dst_v, int dst_stride_v,
|
| int dst_width, int dst_height,
|
| - FilterModeEnum filtering);
|
| + enum FilterMode filtering);
|
|
|
| -// Legacy API. Deprecated
|
| +LIBYUV_API
|
| +int I420Scale_16(const uint16* src_y, int src_stride_y,
|
| + const uint16* src_u, int src_stride_u,
|
| + const uint16* src_v, int src_stride_v,
|
| + int src_width, int src_height,
|
| + uint16* dst_y, int dst_stride_y,
|
| + uint16* dst_u, int dst_stride_u,
|
| + uint16* dst_v, int dst_stride_v,
|
| + int dst_width, int dst_height,
|
| + enum FilterMode filtering);
|
| +
|
| +#ifdef __cplusplus
|
| +// Legacy API. Deprecated.
|
| +LIBYUV_API
|
| int Scale(const uint8* src_y, const uint8* src_u, const uint8* src_v,
|
| int src_stride_y, int src_stride_u, int src_stride_v,
|
| int src_width, int src_height,
|
| uint8* dst_y, uint8* dst_u, uint8* dst_v,
|
| int dst_stride_y, int dst_stride_u, int dst_stride_v,
|
| int dst_width, int dst_height,
|
| - int interpolate);
|
| + LIBYUV_BOOL interpolate);
|
|
|
| -// Legacy API. Deprecated
|
| -int ScaleOffset(const uint8* src, int src_width, int src_height,
|
| - uint8* dst, int dst_width, int dst_height, int dst_yoffset,
|
| - int interpolate);
|
| +// Legacy API. Deprecated.
|
| +LIBYUV_API
|
| +int ScaleOffset(const uint8* src_i420, int src_width, int src_height,
|
| + uint8* dst_i420, int dst_width, int dst_height, int dst_yoffset,
|
| + LIBYUV_BOOL interpolate);
|
|
|
| -// For testing, allow disabling of optimizations.
|
| -void SetUseReferenceImpl(int use);
|
| +// For testing, allow disabling of specialized scalers.
|
| +LIBYUV_API
|
| +void SetUseReferenceImpl(LIBYUV_BOOL use);
|
| +#endif // __cplusplus
|
|
|
| #ifdef __cplusplus
|
| } // extern "C"
|
| } // namespace libyuv
|
| #endif
|
|
|
| -#endif // INCLUDE_LIBYUV_SCALE_H_
|
| +#endif // INCLUDE_LIBYUV_SCALE_H_ NOLINT
|
|
|