blob: bf6377097ede68d98ef1c90a8b992d11c5a97a20 [file] [log] [blame]
Jingning Han3ee6db62015-08-05 19:00:31 -07001/*
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
Yaowu Xu2dcefd92015-08-13 09:25:39 -070011#ifndef VP10_ENCODER_RESIZE_H_
12#define VP10_ENCODER_RESIZE_H_
Jingning Han3ee6db62015-08-05 19:00:31 -070013
14#include <stdio.h>
15#include "vpx/vpx_integer.h"
16
James Zern55f5d552015-09-09 21:05:42 -070017#ifdef __cplusplus
18extern "C" {
19#endif
20
Jingning Han3ee6db62015-08-05 19:00:31 -070021void 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);
29void 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);
43void 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);
57void 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
73void 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);
82void 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);
97void 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);
112void 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
James Zern55f5d552015-09-09 21:05:42 -0700128
129#ifdef __cplusplus
130} // extern "C"
131#endif
132
Yaowu Xu2dcefd92015-08-13 09:25:39 -0700133#endif // VP10_ENCODER_RESIZE_H_