15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2014 The WebM project authors. All Rights Reserved. 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Use of this source code is governed by a BSD-style license 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * that can be found in the LICENSE file in the root of the source 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * tree. An additional intellectual property rights grant can be found 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * in the file PATENTS. All contributing project authors may 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * be found in the AUTHORS file in the root of the source tree. 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef VP9_ENCODER_VP9_RESIZE_H_ 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define VP9_ENCODER_VP9_RESIZE_H_ 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <stdio.h> 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "vpx/vpx_integer.h" 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void vp9_resize_plane(const uint8_t *const input, 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int height, 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int width, 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int in_stride, 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint8_t *output, 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int height2, 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int width2, 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int out_stride); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void vp9_resize_frame420(const uint8_t *const y, 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int y_stride, 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const uint8_t *const u, 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const uint8_t *const v, 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int uv_stride, 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int height, 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int width, 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint8_t *oy, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int oy_stride, 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint8_t *ou, 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint8_t *ov, 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int ouv_stride, 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int oheight, 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int owidth); 39void 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); 53void 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#endif // VP9_ENCODER_VP9_RESIZE_H_ 69