/* * Copyright (c) 2015 The WebM project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #ifndef VPX_VPX_DSP_X86_CONVOLVE_H_ #define VPX_VPX_DSP_X86_CONVOLVE_H_ #include <assert.h> #include "./vpx_config.h" #include "vpx/vpx_integer.h" #include "vpx_ports/compiler_attributes.h" // TODO(chiyotsai@google.com): Refactor the code here. Currently this is pretty // hacky and awful to read. Note that there is a filter_x[3] == 128 check in // HIGHBD_FUN_CONV_2D to avoid seg fault due to the fact that the c function // assumes the filter is always 8 tap. filter8_1dfunction; // TODO(chiyotsai@google.com): Remove the is_avg argument to the MACROS once we // have 4-tap vert avg filter. #define FUN_CONV_1D(name, offset, step_q4, dir, src_start, avg, opt, is_avg) … #define FUN_CONV_2D(avg, opt, is_avg) … #if CONFIG_VP9_HIGHBITDEPTH highbd_filter8_1dfunction; #define HIGH_FUN_CONV_1D(name, offset, step_q4, dir, src_start, avg, opt, \ is_avg) … #define HIGH_FUN_CONV_2D(avg, opt, is_avg) … #endif // CONFIG_VP9_HIGHBITDEPTH #endif // VPX_VPX_DSP_X86_CONVOLVE_H_