1dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org/* 2dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org * Copyright (c) 2014 The WebM project authors. All Rights Reserved. 3dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org * 4dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org * Use of this source code is governed by a BSD-style license 5dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org * that can be found in the LICENSE file in the root of the source 6dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org * tree. An additional intellectual property rights grant can be found 7dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org * in the file PATENTS. All contributing project authors may 8dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org * be found in the AUTHORS file in the root of the source tree. 9dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org */ 10dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org 11dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifndef VP9_ENCODER_VP9_RESIZE_H_ 12dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#define VP9_ENCODER_VP9_RESIZE_H_ 13dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org 14dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#include <stdio.h> 15dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#include "vpx/vpx_integer.h" 16dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org 17dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.orgvoid vp9_resize_plane(const uint8_t *const input, 18dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int height, 19dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int width, 20dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int in_stride, 21dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org uint8_t *output, 22dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int height2, 23dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int width2, 24dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int out_stride); 25dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.orgvoid vp9_resize_frame420(const uint8_t *const y, 26dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int y_stride, 27dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org const uint8_t *const u, 28dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org const uint8_t *const v, 29dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int uv_stride, 30dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int height, 31dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int width, 32dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org uint8_t *oy, 33dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int oy_stride, 34dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org uint8_t *ou, 35dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org uint8_t *ov, 36dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int ouv_stride, 37dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int oheight, 38dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int owidth); 39dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.orgvoid vp9_resize_frame422(const uint8_t *const y, 40dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int y_stride, 41dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org const uint8_t *const u, 42dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org const uint8_t *const v, 43dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int uv_stride, 44dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int height, 45dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int width, 46dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org uint8_t *oy, 47dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int oy_stride, 48dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org uint8_t *ou, 49dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org uint8_t *ov, 50dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int ouv_stride, 51dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int oheight, 52dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int owidth); 53dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.orgvoid vp9_resize_frame444(const uint8_t *const y, 54dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int y_stride, 55dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org const uint8_t *const u, 56dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org const uint8_t *const v, 57dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int uv_stride, 58dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int height, 59dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int width, 60dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org uint8_t *oy, 61dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int oy_stride, 62dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org uint8_t *ou, 63dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org uint8_t *ov, 64dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int ouv_stride, 65dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int oheight, 66dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org int owidth); 67dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org 68dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif // VP9_ENCODER_VP9_RESIZE_H_ 69