Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / libvpx / source / libvpx / vp9 / encoder / vp9_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 VP9_ENCODER_VP9_RESIZE_H_
12 #define VP9_ENCODER_VP9_RESIZE_H_
13
14 #include <stdio.h>
15 #include "vpx/vpx_integer.h"
16
17 void vp9_resize_plane(const uint8_t *const input,
18                       int height,
19                       int width,
20                       int in_stride,
21                       uint8_t *output,
22                       int height2,
23                       int width2,
24                       int out_stride);
25 void vp9_resize_frame420(const uint8_t *const y,
26                          int y_stride,
27                          const uint8_t *const u,
28                          const uint8_t *const v,
29                          int uv_stride,
30                          int height,
31                          int width,
32                          uint8_t *oy,
33                          int oy_stride,
34                          uint8_t *ou,
35                          uint8_t *ov,
36                          int ouv_stride,
37                          int oheight,
38                          int owidth);
39 void vp9_resize_frame422(const uint8_t *const y,
40                          int y_stride,
41                          const uint8_t *const u,
42                          const uint8_t *const v,
43                          int uv_stride,
44                          int height,
45                          int width,
46                          uint8_t *oy,
47                          int oy_stride,
48                          uint8_t *ou,
49                          uint8_t *ov,
50                          int ouv_stride,
51                          int oheight,
52                          int owidth);
53 void vp9_resize_frame444(const uint8_t *const y,
54                          int y_stride,
55                          const uint8_t *const u,
56                          const uint8_t *const v,
57                          int uv_stride,
58                          int height,
59                          int width,
60                          uint8_t *oy,
61                          int oy_stride,
62                          uint8_t *ou,
63                          uint8_t *ov,
64                          int ouv_stride,
65                          int oheight,
66                          int owidth);
67
68 #if CONFIG_VP9_HIGHBITDEPTH
69 void vp9_highbd_resize_plane(const uint8_t *const input,
70                              int height,
71                              int width,
72                              int in_stride,
73                              uint8_t *output,
74                              int height2,
75                              int width2,
76                              int out_stride,
77                              int bd);
78 void vp9_highbd_resize_frame420(const uint8_t *const y,
79                                 int y_stride,
80                                 const uint8_t *const u,
81                                 const uint8_t *const v,
82                                 int uv_stride,
83                                 int height,
84                                 int width,
85                                 uint8_t *oy,
86                                 int oy_stride,
87                                 uint8_t *ou,
88                                 uint8_t *ov,
89                                 int ouv_stride,
90                                 int oheight,
91                                 int owidth,
92                                 int bd);
93 void vp9_highbd_resize_frame422(const uint8_t *const y,
94                                 int y_stride,
95                                 const uint8_t *const u,
96                                 const uint8_t *const v,
97                                 int uv_stride,
98                                 int height,
99                                 int width,
100                                 uint8_t *oy,
101                                 int oy_stride,
102                                 uint8_t *ou,
103                                 uint8_t *ov,
104                                 int ouv_stride,
105                                 int oheight,
106                                 int owidth,
107                                 int bd);
108 void vp9_highbd_resize_frame444(const uint8_t *const y,
109                                 int y_stride,
110                                 const uint8_t *const u,
111                                 const uint8_t *const v,
112                                 int uv_stride,
113                                 int height,
114                                 int width,
115                                 uint8_t *oy,
116                                 int oy_stride,
117                                 uint8_t *ou,
118                                 uint8_t *ov,
119                                 int ouv_stride,
120                                 int oheight,
121                                 int owidth,
122                                 int bd);
123 #endif    // CONFIG_VP9_HIGHBITDEPTH
124 #endif    // VP9_ENCODER_VP9_RESIZE_H_