/* * Copyright (c) 2010 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. */ #include "./vp8_rtcd.h" /**************************************************************************** * Notes: * * This implementation makes use of 16 bit fixed point verio of two multiply * constants: * 1. sqrt(2) * cos (pi/8) * 2. sqrt(2) * sin (pi/8) * Becuase the first constant is bigger than 1, to maintain the same 16 bit * fixed point precision as the second one, we use a trick of * x * a = x + x*(a-1) * so * x * sqrt(2) * cos (pi/8) = x + x * (sqrt(2) *cos(pi/8)-1). **************************************************************************/ static const int cospi8sqrt2minus1 = …; static const int sinpi8sqrt2 = …; void vp8_short_idct4x4llm_c(short *input, unsigned char *pred_ptr, int pred_stride, unsigned char *dst_ptr, int dst_stride) { … } void vp8_dc_only_idct_add_c(short input_dc, unsigned char *pred_ptr, int pred_stride, unsigned char *dst_ptr, int dst_stride) { … } void vp8_short_inv_walsh4x4_c(short *input, short *mb_dqcoeff) { … } void vp8_short_inv_walsh4x4_1_c(short *input, short *mb_dqcoeff) { … }