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 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 void vp9_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 vp9_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 vp9_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 vp9_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 vp9_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 vp9_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 vp9_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 vp9_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 // VP9_ENCODER_VP9_RESIZE_H_ 134