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 VPX_VP9_ENCODER_VP9_RESIZE_H_ 12 #define VPX_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, int height, int width, 22 int in_stride, uint8_t *output, int height2, int width2, 23 int out_stride); 24 void vp9_resize_frame420(const uint8_t *const y, int y_stride, 25 const uint8_t *const u, const uint8_t *const v, 26 int uv_stride, int height, int width, uint8_t *oy, 27 int oy_stride, uint8_t *ou, uint8_t *ov, 28 int ouv_stride, int oheight, int owidth); 29 void vp9_resize_frame422(const uint8_t *const y, int y_stride, 30 const uint8_t *const u, const uint8_t *const v, 31 int uv_stride, int height, int width, uint8_t *oy, 32 int oy_stride, uint8_t *ou, uint8_t *ov, 33 int ouv_stride, int oheight, int owidth); 34 void vp9_resize_frame444(const uint8_t *const y, int y_stride, 35 const uint8_t *const u, const uint8_t *const v, 36 int uv_stride, int height, int width, uint8_t *oy, 37 int oy_stride, uint8_t *ou, uint8_t *ov, 38 int ouv_stride, int oheight, int owidth); 39 40 #if CONFIG_VP9_HIGHBITDEPTH 41 void vp9_highbd_resize_plane(const uint8_t *const input, int height, int width, 42 int in_stride, uint8_t *output, int height2, 43 int width2, int out_stride, int bd); 44 void vp9_highbd_resize_frame420(const uint8_t *const y, int y_stride, 45 const uint8_t *const u, const uint8_t *const v, 46 int uv_stride, int height, int width, 47 uint8_t *oy, int oy_stride, uint8_t *ou, 48 uint8_t *ov, int ouv_stride, int oheight, 49 int owidth, int bd); 50 void vp9_highbd_resize_frame422(const uint8_t *const y, int y_stride, 51 const uint8_t *const u, const uint8_t *const v, 52 int uv_stride, int height, int width, 53 uint8_t *oy, int oy_stride, uint8_t *ou, 54 uint8_t *ov, int ouv_stride, int oheight, 55 int owidth, int bd); 56 void vp9_highbd_resize_frame444(const uint8_t *const y, int y_stride, 57 const uint8_t *const u, const uint8_t *const v, 58 int uv_stride, int height, int width, 59 uint8_t *oy, int oy_stride, uint8_t *ou, 60 uint8_t *ov, int ouv_stride, int oheight, 61 int owidth, int bd); 62 #endif // CONFIG_VP9_HIGHBITDEPTH 63 64 #ifdef __cplusplus 65 } // extern "C" 66 #endif 67 68 #endif // VPX_VP9_ENCODER_VP9_RESIZE_H_ 69