1/*
2 *  Copyright (c) 2011 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
12/*
13 * General operations on YUV images.
14 */
15
16#ifndef INCLUDE_LIBYUV_GENERAL_H_
17#define INCLUDE_LIBYUV_GENERAL_H_
18
19#include "libyuv/basic_types.h"
20
21namespace libyuv {
22
23// I420 mirror
24int
25I420Mirror(const uint8* src_yplane, int src_ystride,
26           const uint8* src_uplane, int src_ustride,
27           const uint8* src_vplane, int src_vstride,
28           uint8* dst_yplane, int dst_ystride,
29           uint8* dst_uplane, int dst_ustride,
30           uint8* dst_vplane, int dst_vstride,
31           int width, int height);
32
33// Crop/Pad I420 frame to match required dimensions.
34int
35I420CropPad(const uint8* src_frame, int src_width,
36           int src_height, uint8* dst_frame,
37           int dst_width, int dst_height);
38
39// I420 Crop - crop a rectangle from image
40int
41I420Crop(uint8* frame,
42         int src_width, int src_height,
43         int dst_width, int dst_height);
44
45} // namespace libyuv
46
47#endif // INCLUDE_LIBYUV_GENERAL_H_
48