Merge "configure: add --extra-cxxflags option"
[platform/upstream/libvpx.git] / vp10 / encoder / resize.h
1 /*
2  *  Copyright (c) 2014 The WebM 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 VP10_ENCODER_RESIZE_H_
12 #define VP10_ENCODER_RESIZE_H_
13
14 #include <stdio.h>
15 #include "vpx/vpx_integer.h"
16
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20
21 void vp10_resize_plane(const uint8_t *const input,
22                       int height,
23                       int width,
24                       int in_stride,
25                       uint8_t *output,
26                       int height2,
27                       int width2,
28                       int out_stride);
29 void vp10_resize_frame420(const uint8_t *const y,
30                          int y_stride,
31                          const uint8_t *const u,
32                          const uint8_t *const v,
33                          int uv_stride,
34                          int height,
35                          int width,
36                          uint8_t *oy,
37                          int oy_stride,
38                          uint8_t *ou,
39                          uint8_t *ov,
40                          int ouv_stride,
41                          int oheight,
42                          int owidth);
43 void vp10_resize_frame422(const uint8_t *const y,
44                          int y_stride,
45                          const uint8_t *const u,
46                          const uint8_t *const v,
47                          int uv_stride,
48                          int height,
49                          int width,
50                          uint8_t *oy,
51                          int oy_stride,
52                          uint8_t *ou,
53                          uint8_t *ov,
54                          int ouv_stride,
55                          int oheight,
56                          int owidth);
57 void vp10_resize_frame444(const uint8_t *const y,
58                          int y_stride,
59                          const uint8_t *const u,
60                          const uint8_t *const v,
61                          int uv_stride,
62                          int height,
63                          int width,
64                          uint8_t *oy,
65                          int oy_stride,
66                          uint8_t *ou,
67                          uint8_t *ov,
68                          int ouv_stride,
69                          int oheight,
70                          int owidth);
71
72 #if CONFIG_VP9_HIGHBITDEPTH
73 void vp10_highbd_resize_plane(const uint8_t *const input,
74                              int height,
75                              int width,
76                              int in_stride,
77                              uint8_t *output,
78                              int height2,
79                              int width2,
80                              int out_stride,
81                              int bd);
82 void vp10_highbd_resize_frame420(const uint8_t *const y,
83                                 int y_stride,
84                                 const uint8_t *const u,
85                                 const uint8_t *const v,
86                                 int uv_stride,
87                                 int height,
88                                 int width,
89                                 uint8_t *oy,
90                                 int oy_stride,
91                                 uint8_t *ou,
92                                 uint8_t *ov,
93                                 int ouv_stride,
94                                 int oheight,
95                                 int owidth,
96                                 int bd);
97 void vp10_highbd_resize_frame422(const uint8_t *const y,
98                                 int y_stride,
99                                 const uint8_t *const u,
100                                 const uint8_t *const v,
101                                 int uv_stride,
102                                 int height,
103                                 int width,
104                                 uint8_t *oy,
105                                 int oy_stride,
106                                 uint8_t *ou,
107                                 uint8_t *ov,
108                                 int ouv_stride,
109                                 int oheight,
110                                 int owidth,
111                                 int bd);
112 void vp10_highbd_resize_frame444(const uint8_t *const y,
113                                 int y_stride,
114                                 const uint8_t *const u,
115                                 const uint8_t *const v,
116                                 int uv_stride,
117                                 int height,
118                                 int width,
119                                 uint8_t *oy,
120                                 int oy_stride,
121                                 uint8_t *ou,
122                                 uint8_t *ov,
123                                 int ouv_stride,
124                                 int oheight,
125                                 int owidth,
126                                 int bd);
127 #endif    // CONFIG_VP9_HIGHBITDEPTH
128
129 #ifdef __cplusplus
130 }  // extern "C"
131 #endif
132
133 #endif    // VP10_ENCODER_RESIZE_H_