/*
* Copyright ( c ) 2016 , Alliance for Open Media . All rights reserved .
*
* This source code is subject to the terms of the BSD 2 Clause License and
* the Alliance for Open Media Patent License 1 . 0 . If the BSD 2 Clause License
* was not distributed with this source code in the LICENSE file , you can
* obtain it at www . aomedia . org / license / software . If the Alliance for Open
* Media Patent License 1 . 0 was not distributed with this source code in the
* PATENTS file , you can obtain it at www . aomedia . org / license / patent .
*/
#include <stdlib.h>
#include "av1/common/av1_inv_txfm1d.h"
#include "av1/common/av1_txfm.h"
void av1_idct4(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) {
assert(output != input);
const int32_t size = 4 ;
const int32_t *cospi = cospi_arr(cos_bit);
int32_t stage = 0 ;
int32_t *bf0, *bf1;
int32_t step[4 ];
// stage 0;
// stage 1;
stage++;
bf1 = output;
bf1[0 ] = input[0 ];
bf1[1 ] = input[2 ];
bf1[2 ] = input[1 ];
bf1[3 ] = input[3 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 2
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = half_btf(cospi[32 ], bf0[0 ], cospi[32 ], bf0[1 ], cos_bit);
bf1[1 ] = half_btf(cospi[32 ], bf0[0 ], -cospi[32 ], bf0[1 ], cos_bit);
bf1[2 ] = half_btf(cospi[48 ], bf0[2 ], -cospi[16 ], bf0[3 ], cos_bit);
bf1[3 ] = half_btf(cospi[16 ], bf0[2 ], cospi[48 ], bf0[3 ], cos_bit);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 3
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[3 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[2 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[1 ] - bf0[2 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[0 ] - bf0[3 ], stage_range[stage]);
}
void av1_idct8(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) {
assert(output != input);
const int32_t size = 8 ;
const int32_t *cospi = cospi_arr(cos_bit);
int32_t stage = 0 ;
int32_t *bf0, *bf1;
int32_t step[8 ];
// stage 0;
// stage 1;
stage++;
bf1 = output;
bf1[0 ] = input[0 ];
bf1[1 ] = input[4 ];
bf1[2 ] = input[2 ];
bf1[3 ] = input[6 ];
bf1[4 ] = input[1 ];
bf1[5 ] = input[5 ];
bf1[6 ] = input[3 ];
bf1[7 ] = input[7 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 2
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = bf0[2 ];
bf1[3 ] = bf0[3 ];
bf1[4 ] = half_btf(cospi[56 ], bf0[4 ], -cospi[8 ], bf0[7 ], cos_bit);
bf1[5 ] = half_btf(cospi[24 ], bf0[5 ], -cospi[40 ], bf0[6 ], cos_bit);
bf1[6 ] = half_btf(cospi[40 ], bf0[5 ], cospi[24 ], bf0[6 ], cos_bit);
bf1[7 ] = half_btf(cospi[8 ], bf0[4 ], cospi[56 ], bf0[7 ], cos_bit);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 3
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = half_btf(cospi[32 ], bf0[0 ], cospi[32 ], bf0[1 ], cos_bit);
bf1[1 ] = half_btf(cospi[32 ], bf0[0 ], -cospi[32 ], bf0[1 ], cos_bit);
bf1[2 ] = half_btf(cospi[48 ], bf0[2 ], -cospi[16 ], bf0[3 ], cos_bit);
bf1[3 ] = half_btf(cospi[16 ], bf0[2 ], cospi[48 ], bf0[3 ], cos_bit);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[5 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[4 ] - bf0[5 ], stage_range[stage]);
bf1[6 ] = clamp_value(-bf0[6 ] + bf0[7 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[6 ] + bf0[7 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 4
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[3 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[2 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[1 ] - bf0[2 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[0 ] - bf0[3 ], stage_range[stage]);
bf1[4 ] = bf0[4 ];
bf1[5 ] = half_btf(-cospi[32 ], bf0[5 ], cospi[32 ], bf0[6 ], cos_bit);
bf1[6 ] = half_btf(cospi[32 ], bf0[5 ], cospi[32 ], bf0[6 ], cos_bit);
bf1[7 ] = bf0[7 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 5
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[7 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[6 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[2 ] + bf0[5 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[3 ] + bf0[4 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[3 ] - bf0[4 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[2 ] - bf0[5 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[1 ] - bf0[6 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[0 ] - bf0[7 ], stage_range[stage]);
}
void av1_idct16(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) {
assert(output != input);
const int32_t size = 16 ;
const int32_t *cospi = cospi_arr(cos_bit);
int32_t stage = 0 ;
int32_t *bf0, *bf1;
int32_t step[16 ];
// stage 0;
// stage 1;
stage++;
bf1 = output;
bf1[0 ] = input[0 ];
bf1[1 ] = input[8 ];
bf1[2 ] = input[4 ];
bf1[3 ] = input[12 ];
bf1[4 ] = input[2 ];
bf1[5 ] = input[10 ];
bf1[6 ] = input[6 ];
bf1[7 ] = input[14 ];
bf1[8 ] = input[1 ];
bf1[9 ] = input[9 ];
bf1[10 ] = input[5 ];
bf1[11 ] = input[13 ];
bf1[12 ] = input[3 ];
bf1[13 ] = input[11 ];
bf1[14 ] = input[7 ];
bf1[15 ] = input[15 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 2
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = bf0[2 ];
bf1[3 ] = bf0[3 ];
bf1[4 ] = bf0[4 ];
bf1[5 ] = bf0[5 ];
bf1[6 ] = bf0[6 ];
bf1[7 ] = bf0[7 ];
bf1[8 ] = half_btf(cospi[60 ], bf0[8 ], -cospi[4 ], bf0[15 ], cos_bit);
bf1[9 ] = half_btf(cospi[28 ], bf0[9 ], -cospi[36 ], bf0[14 ], cos_bit);
bf1[10 ] = half_btf(cospi[44 ], bf0[10 ], -cospi[20 ], bf0[13 ], cos_bit);
bf1[11 ] = half_btf(cospi[12 ], bf0[11 ], -cospi[52 ], bf0[12 ], cos_bit);
bf1[12 ] = half_btf(cospi[52 ], bf0[11 ], cospi[12 ], bf0[12 ], cos_bit);
bf1[13 ] = half_btf(cospi[20 ], bf0[10 ], cospi[44 ], bf0[13 ], cos_bit);
bf1[14 ] = half_btf(cospi[36 ], bf0[9 ], cospi[28 ], bf0[14 ], cos_bit);
bf1[15 ] = half_btf(cospi[4 ], bf0[8 ], cospi[60 ], bf0[15 ], cos_bit);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 3
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = bf0[2 ];
bf1[3 ] = bf0[3 ];
bf1[4 ] = half_btf(cospi[56 ], bf0[4 ], -cospi[8 ], bf0[7 ], cos_bit);
bf1[5 ] = half_btf(cospi[24 ], bf0[5 ], -cospi[40 ], bf0[6 ], cos_bit);
bf1[6 ] = half_btf(cospi[40 ], bf0[5 ], cospi[24 ], bf0[6 ], cos_bit);
bf1[7 ] = half_btf(cospi[8 ], bf0[4 ], cospi[56 ], bf0[7 ], cos_bit);
bf1[8 ] = clamp_value(bf0[8 ] + bf0[9 ], stage_range[stage]);
bf1[9 ] = clamp_value(bf0[8 ] - bf0[9 ], stage_range[stage]);
bf1[10 ] = clamp_value(-bf0[10 ] + bf0[11 ], stage_range[stage]);
bf1[11 ] = clamp_value(bf0[10 ] + bf0[11 ], stage_range[stage]);
bf1[12 ] = clamp_value(bf0[12 ] + bf0[13 ], stage_range[stage]);
bf1[13 ] = clamp_value(bf0[12 ] - bf0[13 ], stage_range[stage]);
bf1[14 ] = clamp_value(-bf0[14 ] + bf0[15 ], stage_range[stage]);
bf1[15 ] = clamp_value(bf0[14 ] + bf0[15 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 4
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = half_btf(cospi[32 ], bf0[0 ], cospi[32 ], bf0[1 ], cos_bit);
bf1[1 ] = half_btf(cospi[32 ], bf0[0 ], -cospi[32 ], bf0[1 ], cos_bit);
bf1[2 ] = half_btf(cospi[48 ], bf0[2 ], -cospi[16 ], bf0[3 ], cos_bit);
bf1[3 ] = half_btf(cospi[16 ], bf0[2 ], cospi[48 ], bf0[3 ], cos_bit);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[5 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[4 ] - bf0[5 ], stage_range[stage]);
bf1[6 ] = clamp_value(-bf0[6 ] + bf0[7 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[6 ] + bf0[7 ], stage_range[stage]);
bf1[8 ] = bf0[8 ];
bf1[9 ] = half_btf(-cospi[16 ], bf0[9 ], cospi[48 ], bf0[14 ], cos_bit);
bf1[10 ] = half_btf(-cospi[48 ], bf0[10 ], -cospi[16 ], bf0[13 ], cos_bit);
bf1[11 ] = bf0[11 ];
bf1[12 ] = bf0[12 ];
bf1[13 ] = half_btf(-cospi[16 ], bf0[10 ], cospi[48 ], bf0[13 ], cos_bit);
bf1[14 ] = half_btf(cospi[48 ], bf0[9 ], cospi[16 ], bf0[14 ], cos_bit);
bf1[15 ] = bf0[15 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 5
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[3 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[2 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[1 ] - bf0[2 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[0 ] - bf0[3 ], stage_range[stage]);
bf1[4 ] = bf0[4 ];
bf1[5 ] = half_btf(-cospi[32 ], bf0[5 ], cospi[32 ], bf0[6 ], cos_bit);
bf1[6 ] = half_btf(cospi[32 ], bf0[5 ], cospi[32 ], bf0[6 ], cos_bit);
bf1[7 ] = bf0[7 ];
bf1[8 ] = clamp_value(bf0[8 ] + bf0[11 ], stage_range[stage]);
bf1[9 ] = clamp_value(bf0[9 ] + bf0[10 ], stage_range[stage]);
bf1[10 ] = clamp_value(bf0[9 ] - bf0[10 ], stage_range[stage]);
bf1[11 ] = clamp_value(bf0[8 ] - bf0[11 ], stage_range[stage]);
bf1[12 ] = clamp_value(-bf0[12 ] + bf0[15 ], stage_range[stage]);
bf1[13 ] = clamp_value(-bf0[13 ] + bf0[14 ], stage_range[stage]);
bf1[14 ] = clamp_value(bf0[13 ] + bf0[14 ], stage_range[stage]);
bf1[15 ] = clamp_value(bf0[12 ] + bf0[15 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 6
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[7 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[6 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[2 ] + bf0[5 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[3 ] + bf0[4 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[3 ] - bf0[4 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[2 ] - bf0[5 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[1 ] - bf0[6 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[0 ] - bf0[7 ], stage_range[stage]);
bf1[8 ] = bf0[8 ];
bf1[9 ] = bf0[9 ];
bf1[10 ] = half_btf(-cospi[32 ], bf0[10 ], cospi[32 ], bf0[13 ], cos_bit);
bf1[11 ] = half_btf(-cospi[32 ], bf0[11 ], cospi[32 ], bf0[12 ], cos_bit);
bf1[12 ] = half_btf(cospi[32 ], bf0[11 ], cospi[32 ], bf0[12 ], cos_bit);
bf1[13 ] = half_btf(cospi[32 ], bf0[10 ], cospi[32 ], bf0[13 ], cos_bit);
bf1[14 ] = bf0[14 ];
bf1[15 ] = bf0[15 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 7
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[15 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[14 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[2 ] + bf0[13 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[3 ] + bf0[12 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[11 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[5 ] + bf0[10 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[6 ] + bf0[9 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[7 ] + bf0[8 ], stage_range[stage]);
bf1[8 ] = clamp_value(bf0[7 ] - bf0[8 ], stage_range[stage]);
bf1[9 ] = clamp_value(bf0[6 ] - bf0[9 ], stage_range[stage]);
bf1[10 ] = clamp_value(bf0[5 ] - bf0[10 ], stage_range[stage]);
bf1[11 ] = clamp_value(bf0[4 ] - bf0[11 ], stage_range[stage]);
bf1[12 ] = clamp_value(bf0[3 ] - bf0[12 ], stage_range[stage]);
bf1[13 ] = clamp_value(bf0[2 ] - bf0[13 ], stage_range[stage]);
bf1[14 ] = clamp_value(bf0[1 ] - bf0[14 ], stage_range[stage]);
bf1[15 ] = clamp_value(bf0[0 ] - bf0[15 ], stage_range[stage]);
}
void av1_idct32(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) {
assert(output != input);
const int32_t size = 32 ;
const int32_t *cospi = cospi_arr(cos_bit);
int32_t stage = 0 ;
int32_t *bf0, *bf1;
int32_t step[32 ];
// stage 0;
// stage 1;
stage++;
bf1 = output;
bf1[0 ] = input[0 ];
bf1[1 ] = input[16 ];
bf1[2 ] = input[8 ];
bf1[3 ] = input[24 ];
bf1[4 ] = input[4 ];
bf1[5 ] = input[20 ];
bf1[6 ] = input[12 ];
bf1[7 ] = input[28 ];
bf1[8 ] = input[2 ];
bf1[9 ] = input[18 ];
bf1[10 ] = input[10 ];
bf1[11 ] = input[26 ];
bf1[12 ] = input[6 ];
bf1[13 ] = input[22 ];
bf1[14 ] = input[14 ];
bf1[15 ] = input[30 ];
bf1[16 ] = input[1 ];
bf1[17 ] = input[17 ];
bf1[18 ] = input[9 ];
bf1[19 ] = input[25 ];
bf1[20 ] = input[5 ];
bf1[21 ] = input[21 ];
bf1[22 ] = input[13 ];
bf1[23 ] = input[29 ];
bf1[24 ] = input[3 ];
bf1[25 ] = input[19 ];
bf1[26 ] = input[11 ];
bf1[27 ] = input[27 ];
bf1[28 ] = input[7 ];
bf1[29 ] = input[23 ];
bf1[30 ] = input[15 ];
bf1[31 ] = input[31 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 2
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = bf0[2 ];
bf1[3 ] = bf0[3 ];
bf1[4 ] = bf0[4 ];
bf1[5 ] = bf0[5 ];
bf1[6 ] = bf0[6 ];
bf1[7 ] = bf0[7 ];
bf1[8 ] = bf0[8 ];
bf1[9 ] = bf0[9 ];
bf1[10 ] = bf0[10 ];
bf1[11 ] = bf0[11 ];
bf1[12 ] = bf0[12 ];
bf1[13 ] = bf0[13 ];
bf1[14 ] = bf0[14 ];
bf1[15 ] = bf0[15 ];
bf1[16 ] = half_btf(cospi[62 ], bf0[16 ], -cospi[2 ], bf0[31 ], cos_bit);
bf1[17 ] = half_btf(cospi[30 ], bf0[17 ], -cospi[34 ], bf0[30 ], cos_bit);
bf1[18 ] = half_btf(cospi[46 ], bf0[18 ], -cospi[18 ], bf0[29 ], cos_bit);
bf1[19 ] = half_btf(cospi[14 ], bf0[19 ], -cospi[50 ], bf0[28 ], cos_bit);
bf1[20 ] = half_btf(cospi[54 ], bf0[20 ], -cospi[10 ], bf0[27 ], cos_bit);
bf1[21 ] = half_btf(cospi[22 ], bf0[21 ], -cospi[42 ], bf0[26 ], cos_bit);
bf1[22 ] = half_btf(cospi[38 ], bf0[22 ], -cospi[26 ], bf0[25 ], cos_bit);
bf1[23 ] = half_btf(cospi[6 ], bf0[23 ], -cospi[58 ], bf0[24 ], cos_bit);
bf1[24 ] = half_btf(cospi[58 ], bf0[23 ], cospi[6 ], bf0[24 ], cos_bit);
bf1[25 ] = half_btf(cospi[26 ], bf0[22 ], cospi[38 ], bf0[25 ], cos_bit);
bf1[26 ] = half_btf(cospi[42 ], bf0[21 ], cospi[22 ], bf0[26 ], cos_bit);
bf1[27 ] = half_btf(cospi[10 ], bf0[20 ], cospi[54 ], bf0[27 ], cos_bit);
bf1[28 ] = half_btf(cospi[50 ], bf0[19 ], cospi[14 ], bf0[28 ], cos_bit);
bf1[29 ] = half_btf(cospi[18 ], bf0[18 ], cospi[46 ], bf0[29 ], cos_bit);
bf1[30 ] = half_btf(cospi[34 ], bf0[17 ], cospi[30 ], bf0[30 ], cos_bit);
bf1[31 ] = half_btf(cospi[2 ], bf0[16 ], cospi[62 ], bf0[31 ], cos_bit);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 3
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = bf0[2 ];
bf1[3 ] = bf0[3 ];
bf1[4 ] = bf0[4 ];
bf1[5 ] = bf0[5 ];
bf1[6 ] = bf0[6 ];
bf1[7 ] = bf0[7 ];
bf1[8 ] = half_btf(cospi[60 ], bf0[8 ], -cospi[4 ], bf0[15 ], cos_bit);
bf1[9 ] = half_btf(cospi[28 ], bf0[9 ], -cospi[36 ], bf0[14 ], cos_bit);
bf1[10 ] = half_btf(cospi[44 ], bf0[10 ], -cospi[20 ], bf0[13 ], cos_bit);
bf1[11 ] = half_btf(cospi[12 ], bf0[11 ], -cospi[52 ], bf0[12 ], cos_bit);
bf1[12 ] = half_btf(cospi[52 ], bf0[11 ], cospi[12 ], bf0[12 ], cos_bit);
bf1[13 ] = half_btf(cospi[20 ], bf0[10 ], cospi[44 ], bf0[13 ], cos_bit);
bf1[14 ] = half_btf(cospi[36 ], bf0[9 ], cospi[28 ], bf0[14 ], cos_bit);
bf1[15 ] = half_btf(cospi[4 ], bf0[8 ], cospi[60 ], bf0[15 ], cos_bit);
bf1[16 ] = clamp_value(bf0[16 ] + bf0[17 ], stage_range[stage]);
bf1[17 ] = clamp_value(bf0[16 ] - bf0[17 ], stage_range[stage]);
bf1[18 ] = clamp_value(-bf0[18 ] + bf0[19 ], stage_range[stage]);
bf1[19 ] = clamp_value(bf0[18 ] + bf0[19 ], stage_range[stage]);
bf1[20 ] = clamp_value(bf0[20 ] + bf0[21 ], stage_range[stage]);
bf1[21 ] = clamp_value(bf0[20 ] - bf0[21 ], stage_range[stage]);
bf1[22 ] = clamp_value(-bf0[22 ] + bf0[23 ], stage_range[stage]);
bf1[23 ] = clamp_value(bf0[22 ] + bf0[23 ], stage_range[stage]);
bf1[24 ] = clamp_value(bf0[24 ] + bf0[25 ], stage_range[stage]);
bf1[25 ] = clamp_value(bf0[24 ] - bf0[25 ], stage_range[stage]);
bf1[26 ] = clamp_value(-bf0[26 ] + bf0[27 ], stage_range[stage]);
bf1[27 ] = clamp_value(bf0[26 ] + bf0[27 ], stage_range[stage]);
bf1[28 ] = clamp_value(bf0[28 ] + bf0[29 ], stage_range[stage]);
bf1[29 ] = clamp_value(bf0[28 ] - bf0[29 ], stage_range[stage]);
bf1[30 ] = clamp_value(-bf0[30 ] + bf0[31 ], stage_range[stage]);
bf1[31 ] = clamp_value(bf0[30 ] + bf0[31 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 4
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = bf0[2 ];
bf1[3 ] = bf0[3 ];
bf1[4 ] = half_btf(cospi[56 ], bf0[4 ], -cospi[8 ], bf0[7 ], cos_bit);
bf1[5 ] = half_btf(cospi[24 ], bf0[5 ], -cospi[40 ], bf0[6 ], cos_bit);
bf1[6 ] = half_btf(cospi[40 ], bf0[5 ], cospi[24 ], bf0[6 ], cos_bit);
bf1[7 ] = half_btf(cospi[8 ], bf0[4 ], cospi[56 ], bf0[7 ], cos_bit);
bf1[8 ] = clamp_value(bf0[8 ] + bf0[9 ], stage_range[stage]);
bf1[9 ] = clamp_value(bf0[8 ] - bf0[9 ], stage_range[stage]);
bf1[10 ] = clamp_value(-bf0[10 ] + bf0[11 ], stage_range[stage]);
bf1[11 ] = clamp_value(bf0[10 ] + bf0[11 ], stage_range[stage]);
bf1[12 ] = clamp_value(bf0[12 ] + bf0[13 ], stage_range[stage]);
bf1[13 ] = clamp_value(bf0[12 ] - bf0[13 ], stage_range[stage]);
bf1[14 ] = clamp_value(-bf0[14 ] + bf0[15 ], stage_range[stage]);
bf1[15 ] = clamp_value(bf0[14 ] + bf0[15 ], stage_range[stage]);
bf1[16 ] = bf0[16 ];
bf1[17 ] = half_btf(-cospi[8 ], bf0[17 ], cospi[56 ], bf0[30 ], cos_bit);
bf1[18 ] = half_btf(-cospi[56 ], bf0[18 ], -cospi[8 ], bf0[29 ], cos_bit);
bf1[19 ] = bf0[19 ];
bf1[20 ] = bf0[20 ];
bf1[21 ] = half_btf(-cospi[40 ], bf0[21 ], cospi[24 ], bf0[26 ], cos_bit);
bf1[22 ] = half_btf(-cospi[24 ], bf0[22 ], -cospi[40 ], bf0[25 ], cos_bit);
bf1[23 ] = bf0[23 ];
bf1[24 ] = bf0[24 ];
bf1[25 ] = half_btf(-cospi[40 ], bf0[22 ], cospi[24 ], bf0[25 ], cos_bit);
bf1[26 ] = half_btf(cospi[24 ], bf0[21 ], cospi[40 ], bf0[26 ], cos_bit);
bf1[27 ] = bf0[27 ];
bf1[28 ] = bf0[28 ];
bf1[29 ] = half_btf(-cospi[8 ], bf0[18 ], cospi[56 ], bf0[29 ], cos_bit);
bf1[30 ] = half_btf(cospi[56 ], bf0[17 ], cospi[8 ], bf0[30 ], cos_bit);
bf1[31 ] = bf0[31 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 5
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = half_btf(cospi[32 ], bf0[0 ], cospi[32 ], bf0[1 ], cos_bit);
bf1[1 ] = half_btf(cospi[32 ], bf0[0 ], -cospi[32 ], bf0[1 ], cos_bit);
bf1[2 ] = half_btf(cospi[48 ], bf0[2 ], -cospi[16 ], bf0[3 ], cos_bit);
bf1[3 ] = half_btf(cospi[16 ], bf0[2 ], cospi[48 ], bf0[3 ], cos_bit);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[5 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[4 ] - bf0[5 ], stage_range[stage]);
bf1[6 ] = clamp_value(-bf0[6 ] + bf0[7 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[6 ] + bf0[7 ], stage_range[stage]);
bf1[8 ] = bf0[8 ];
bf1[9 ] = half_btf(-cospi[16 ], bf0[9 ], cospi[48 ], bf0[14 ], cos_bit);
bf1[10 ] = half_btf(-cospi[48 ], bf0[10 ], -cospi[16 ], bf0[13 ], cos_bit);
bf1[11 ] = bf0[11 ];
bf1[12 ] = bf0[12 ];
bf1[13 ] = half_btf(-cospi[16 ], bf0[10 ], cospi[48 ], bf0[13 ], cos_bit);
bf1[14 ] = half_btf(cospi[48 ], bf0[9 ], cospi[16 ], bf0[14 ], cos_bit);
bf1[15 ] = bf0[15 ];
bf1[16 ] = clamp_value(bf0[16 ] + bf0[19 ], stage_range[stage]);
bf1[17 ] = clamp_value(bf0[17 ] + bf0[18 ], stage_range[stage]);
bf1[18 ] = clamp_value(bf0[17 ] - bf0[18 ], stage_range[stage]);
bf1[19 ] = clamp_value(bf0[16 ] - bf0[19 ], stage_range[stage]);
bf1[20 ] = clamp_value(-bf0[20 ] + bf0[23 ], stage_range[stage]);
bf1[21 ] = clamp_value(-bf0[21 ] + bf0[22 ], stage_range[stage]);
bf1[22 ] = clamp_value(bf0[21 ] + bf0[22 ], stage_range[stage]);
bf1[23 ] = clamp_value(bf0[20 ] + bf0[23 ], stage_range[stage]);
bf1[24 ] = clamp_value(bf0[24 ] + bf0[27 ], stage_range[stage]);
bf1[25 ] = clamp_value(bf0[25 ] + bf0[26 ], stage_range[stage]);
bf1[26 ] = clamp_value(bf0[25 ] - bf0[26 ], stage_range[stage]);
bf1[27 ] = clamp_value(bf0[24 ] - bf0[27 ], stage_range[stage]);
bf1[28 ] = clamp_value(-bf0[28 ] + bf0[31 ], stage_range[stage]);
bf1[29 ] = clamp_value(-bf0[29 ] + bf0[30 ], stage_range[stage]);
bf1[30 ] = clamp_value(bf0[29 ] + bf0[30 ], stage_range[stage]);
bf1[31 ] = clamp_value(bf0[28 ] + bf0[31 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 6
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[3 ], stage_range[stage]);
]=java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 60
bf1[] = clamp_valuebf01 - [, [)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
bf13 clamp_value(bf00 ]- bf0[3 ]] stage
bf1[4 ] = bf0[4 ];
bf1[5 ] (, );
bf1[6 ] = ax25->modulus=AX25_MODULUS;
[]=bf0[7 ]java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
8 =java.lang.StringIndexOutOfBoundsException: Range [26, 22) out of bounds for length 61
bf1[java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 67
bf110 ]= clamp_value(f0]- [stage)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
bf1[12 ] = clamp_value(-bf0[12 ] + ax25_send_controla ,AX25_POLLON,AX25_COMMAND)java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
= (-bf0[]+bf014 ,stage_range[java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
break
bf115 ]=clamp_value(bf0[12 ] + bf0[],stage_range[stage)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
[16 bf016 else
bf1[18 ] = ax25_start_t1timer(ax25);
bf1[19 ] = half_btf(-cospi[16 ], bf0[19 ], cospi[48 ], bf0[28 ], cos_bit);
bf1[20 ] = half_btf(-cospi[48 ], bf0[20 ], -cospi[16 ], bf0[27 ], cos_bit);
bf1[21 ] = half_btf(-cospi[48 ], bf0[21 ], -cospi[16 ], bf0[26 ], cos_bit);
bf1[22 ] = bf0[22 ];
bf1[23 ] = bf0[23 ];
bf1[24 ] = bf0[24 ];
bf1[25 ] = bf0[25 ];
bf1[26 ] = half_btf(-cospi[16 ], bf0[21 ], cospi[48 ], bf0[26 ], cos_bit);
bf1[27 ] = half_btf(-cospi[16 ], bf0[20 ], cospi[48 ], bf0[27 ], cos_bit);
bf1[28 ] = half_btf(cospi[48 ], bf0[19 ], cospi[16 ], bf0[28 ], cos_bit);
bf1[29 ] = half_btf(cospi[48 ], bf0[18 ], cospi[16 ], bf0[29 ], cos_bit);
bf1[30 ] = bf0[30 ];
bf1[31 ] = bf0[31 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 7
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[7 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[6 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[2 ] + bf0[5 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[3 ] + bf0[4 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[3 ] - bf0[4 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[2 ] - bf0[5 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[1 ] - bf0[6 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[0 ] - bf0[7 ], stage_range[stage]);
bf1[8 ] = bf0[8 ];
bf1[9 ] = bf0[9 ];
bf1[10 ] = half_btf(-cospi[32 ], bf0[10 ], cospi[32 ], bf0[13 ], cos_bit);
bf1[11 ] = half_btf(-cospi[32 ], bf0[11 ], cospi[32 ], bf0[12 ], cos_bit);
bf1[12 ] = half_btf(cospi[32 ], bf0[11 ], cospi[32 ], bf0[12 ], cos_bit);
bf1[13 ] = half_btf(cospi[32 ], bf0[10 ], cospi[32 ], bf0[13 ], cos_bit);
bf1[14 ] = bf0[14 ];
bf1[15 ] = bf0[15 ];
bf1[16 ] = clamp_value(bf0[16 ] + bf0[23 ], stage_range[stage]);
bf1[17 ] = clamp_value(bf0[17 ] + bf0[22 ], stage_range[stage]);
bf1[18 ] = clamp_value(bf0[18 ] + bf0[21 ], stage_range[stage]);
bf1[19 ] = clamp_value(bf0[19 ] + bf0[20 ], stage_range[stage]);
bf1[20 ] = clamp_value(bf0[19 ] - bf0[20 ], stage_range[stage]);
bf1[21 ] = clamp_value(bf0[18 ] - bf0[21 ], stage_range[stage]);
bf1[22 ] = clamp_value(bf0[17 ] - bf0[22 ], stage_range[stage]);
bf1[23 ] = clamp_value(bf0[16 ] - bf0[23 ], stage_range[stage]);
bf1[24 ] = clamp_value(-bf0[24 ] + bf0[31 ], stage_range[stage]);
bf1[25 ] = clamp_value(-bf0[25 ] + bf0[30 ], stage_range[stage]);
bf1[26 ] = clamp_value(-bf0[26 ] + bf0[29 ], stage_range[stage]);
bf1[27 ] = clamp_value(-bf0[27 ] + bf0[28 ], stage_range[stage]);
bf1[28 ] = clamp_value(bf0[27 ] + bf0[28 ], stage_range[stage]);
bf1[29 ] = clamp_value(bf0[26 ] + bf0[29 ], stage_range[stage]);
bf1[30 ] = clamp_value(bf0[25 ] + bf0[30 ], stage_range[stage]);
bf1[31 ] = clamp_value(bf0[24 ] + bf0[31 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 8
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[15 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[14 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[2 ] + bf0[13 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[3 ] + bf0[12 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[11 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[5 ] + bf0[10 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[6 ] + bf0[9 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[7 ] + bf0[8 ], stage_range[stage]);
bf1[8 ] = clamp_value(bf0[7 ] - bf0[8 ], stage_range[stage]);
bf1[9 ] = clamp_value(bf0[6 ] - bf0[9 ], stage_range[stage]);
bf1[10 ] = clamp_value(bf0[5 ] - bf0[10 ], stage_range[stage]);
bf1[11 ] = clamp_value(bf0[4 ] - bf0[11 ], stage_range[stage]);
bf1[12 ] = clamp_value(bf0[3 ] - bf0[12 ], stage_range[stage]);
bf1[13 ] = clamp_value(bf0[2 ] - bf0[13 ], stage_range[stage]);
bf1[14 ] = clamp_value(bf0[1 ] - bf0[14 ], stage_range[stage]);
bf1[15 ] = clamp_value(bf0[0 ] - bf0[15 ], stage_range[stage]);
bf1[16 ] = bf0[16 ];
bf1[17 ] = bf0[17 ];
bf1[18 ] = bf0[18 ];
bf1[19 ] = bf0[19 ];
bf1[20 ] = half_btf(-cospi[32 ], bf0[20 ], cospi[32 ], bf0[27 ], cos_bit);
bf1[21 ] = half_btf(-cospi[32 ], bf0[21 ], cospi[32 ], bf0[26 ], cos_bit);
bf1[22 ] = half_btf(-cospi[32 ], bf0[22 ], cospi[32 ], bf0[25 ], cos_bit);
bf1[23 ] = half_btf(-cospi[32 ], bf0[23 ], cospi[32 ], bf0[24 ], cos_bit);
bf1[24 ] = half_btf(cospi[32 ], bf0[23 ], cospi[32 ], bf0[24 ], cos_bit);
bf1[25 ] = half_btf(cospi[32 ], bf0[22 ], cospi[32 ], bf0[25 ], cos_bit);
bf1[26 ] = half_btf(cospi[32 ], bf0[21 ], cospi[32 ], bf0[26 ], cos_bit);
bf1[27 ] = half_btf(cospi[32 ], bf0[20 ], cospi[32 ], bf0[27 ], cos_bit);
bf1[28 ] = bf0[28 ];
bf1[29 ] = bf0[29 ];
bf1[30 ] = bf0[30 ];
bf1[31 ] = bf0[31 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 9
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[31 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[30 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[2 ] + bf0[29 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[3 ] + bf0[28 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[27 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[5 ] + bf0[26 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[6 ] + bf0[25 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[7 ] + bf0[24 ], stage_range[stage]);
bf1[8 ] = clamp_value(bf0[8 ] + bf0[23 ], stage_range[stage]);
bf1[9 ] = clamp_value(bf0[9 ] + bf0[22 ], stage_range[stage]);
bf1[10 ] = clamp_value(bf0[10 ] + bf0[21 ], stage_range[stage]);
bf1[11 ] = clamp_value(bf0[11 ] + bf0[20 ], stage_range[stage]);
bf1[12 ] = clamp_value(bf0[12 ] + bf0[19 ], stage_range[stage]);
bf1[13 ] = clamp_value(bf0[13 ] + bf0[18 ], stage_range[stage]);
bf1[14 ] = clamp_value(bf0[14 ] + bf0[17 ], stage_range[stage]);
bf1[15 ] = clamp_value(bf0[15 ] + bf0[16 ], stage_range[stage]);
bf1[16 ] = clamp_value(bf0[15 ] - bf0[16 ], stage_range[stage]);
bf1[17 ] = clamp_value(bf0[14 ] - bf0[17 ], stage_range[stage]);
bf1[18 ] = clamp_value(bf0[13 ] - bf0[18 ], stage_range[stage]);
bf1[19 ] = clamp_value(bf0[12 ] - bf0[19 ], stage_range[stage]);
bf1[20 ] = clamp_value(bf0[11 ] - bf0[20 ], stage_range[stage]);
bf1[21 ] = clamp_value(bf0[10 ] - bf0[21 ], stage_range[stage]);
bf1[22 ] = clamp_value(bf0[9 ] - bf0[22 ], stage_range[stage]);
bf1[23 ] = clamp_value(bf0[8 ] - bf0[23 ], stage_range[stage]);
bf1[24 ] = clamp_value(bf0[7 ] - bf0[24 ], stage_range[stage]);
bf1[25 ] = clamp_value(bf0[6 ] - bf0[25 ], stage_range[stage]);
bf1[26 ] = clamp_value(bf0[5 ] - bf0[26 ], stage_range[stage]);
bf1[27 ] = clamp_value(bf0[4 ] - bf0[27 ], stage_range[stage]);
bf1[28 ] = clamp_value(bf0[3 ] - bf0[28 ], stage_range[stage]);
bf1[29 ] = clamp_value(bf0[2 ] - bf0[29 ], stage_range[stage]);
bf1[30 ] = clamp_value(bf0[1 ] - bf0[30 ], stage_range[stage]);
bf1[31 ] = clamp_value(bf0[0 ] - bf0[31 ], stage_range[stage]);
}
void av1_iadst4(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) {
int bit = cos_bit;
const int32_t *sinpi = sinpi_arr(bit);
int64_t s0, s1, s2, s3, s4, s5, s6, s7;
int64_t x0 = input[0 ];
int64_t x1 = input[1 ];
int64_t x2 = input[2 ];
int64_t x3 = input[3 ];
if (!(x0 | x1 | x2 | x3)) {
output[0 ] = output[1 ] = output[2 ] = output[3 ] = 0 ;
return;
}
assert(sinpi[1 ] + sinpi[2 ] == sinpi[4 ]);
// stage 1
s0 = range_check_value64(sinpi[1 ] * x0, stage_range[1 ] + bit);
s1 = range_check_value64(sinpi[2 ] * x0, stage_range[1 ] + bit);
s2 = range_check_value64(sinpi[3 ] * x1, stage_range[1 ] + bit);
s3 = range_check_value64(sinpi[4 ] * x2, stage_range[1 ] + bit);
s4 = range_check_value64(sinpi[1 ] * x2, stage_range[1 ] + bit);
s5 = range_check_value64(sinpi[2 ] * x3, stage_range[1 ] + bit);
s6 = range_check_value64(sinpi[4 ] * x3, stage_range[1 ] + bit);
// stage 2
// NOTICE: (x0 - x2) here may use one extra bit compared to the
// opt_range_row/col specified in av1_gen_inv_stage_range()
s7 = range_check_value64((x0 - x2) + x3, stage_range[2 ]);
// stage 3
s0 = range_check_value64(s0 + s3, stage_range[3 ] + bit);
s1 = range_check_value64(s1 - s4, stage_range[3 ] + bit);
s3 = range_check_value64(s2, stage_range[3 ] + bit);
s2 = range_check_value64(sinpi[3 ] * s7, stage_range[3 ] + bit);
// stage 4
s0 = range_check_value64(s0 + s5, stage_range[4 ] + bit);
s1 = range_check_value64(s1 - s6, stage_range[4 ] + bit);
// stage 5
x0 = range_check_value64(s0 + s3, stage_range[5 ] + bit);
x1 = range_check_value64(s1 + s3, stage_range[5 ] + bit);
x2 = range_check_value64(s2, stage_range[5 ] + bit);
x3 = range_check_value64(s0 + s1, stage_range[5 ] + bit);
// stage 6
x3 = range_check_value64(x3 - s3, stage_range[6 ] + bit);
output[0 ] = round_shift(x0, bit);
output[1 ] = round_shift(x1, bit);
output[2 ] = round_shift(x2, bit);
output[3 ] = round_shift(x3, bit);
}
void av1_iadst8(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) {
assert(output != input);
const int32_t size = 8 ;
const int32_t *cospi = cospi_arr(cos_bit);
int32_t stage = 0 ;
int32_t *bf0, *bf1;
int32_t step[8 ];
// stage 0 ;
// stage 1 ;
stage++;
bf1 = output;
bf1[0 ] = input[7 ];
bf1[1 ] = input[0 ];
bf1[2 ] = input[5 ];
bf1[3 ] = input[2 ];
bf1[4 ] = input[3 ];
bf1[5 ] = input[4 ];
bf1[6 ] = input[1 ];
bf1[7 ] = input[6 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 2
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = half_btf(cospi[4 ], bf0[0 ], cospi[60 ], bf0[1 ], cos_bit);
bf1[1 ] = half_btf(cospi[60 ], bf0[0 ], -cospi[4 ], bf0[1 ], cos_bit);
bf1[2 ] = half_btf(cospi[20 ], bf0[2 ], cospi[44 ], bf0[3 ], cos_bit);
bf1[3 ] = half_btf(cospi[44 ], bf0[2 ], -cospi[20 ], bf0[3 ], cos_bit);
bf1[4 ] = half_btf(cospi[36 ], bf0[4 ], cospi[28 ], bf0[5 ], cos_bit);
bf1[5 ] = half_btf(cospi[28 ], bf0[4 ], -cospi[36 ], bf0[5 ], cos_bit);
bf1[6 ] = half_btf(cospi[52 ], bf0[6 ], cospi[12 ], bf0[7 ], cos_bit);
bf1[7 ] = half_btf(cospi[12 ], bf0[6 ], -cospi[52 ], bf0[7 ], cos_bit);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 3
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[4 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[5 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[2 ] + bf0[6 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[3 ] + bf0[7 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[0 ] - bf0[4 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[1 ] - bf0[5 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[2 ] - bf0[6 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[3 ] - bf0[7 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 4
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = bf0[2 ];
bf1[3 ] = bf0[3 ];
bf1[4 ] = half_btf(cospi[16 ], bf0[4 ], cospi[48 ], bf0[5 ], cos_bit);
bf1[5 ] = half_btf(cospi[48 ], bf0[4 ], -cospi[16 ], bf0[5 ], cos_bit);
bf1[6 ] = half_btf(-cospi[48 ], bf0[6 ], cospi[16 ], bf0[7 ], cos_bit);
bf1[7 ] = half_btf(cospi[16 ], bf0[6 ], cospi[48 ], bf0[7 ], cos_bit);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 5
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[2 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[3 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[0 ] - bf0[2 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[1 ] - bf0[3 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[6 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[5 ] + bf0[7 ], stage_range[stage]);
bf1[6 = lamp_value(4 -bf0[6 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[5 ] - bf0[7 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 6
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = half_btf(cospi[32 ], bf0[2 ], cospi[32 ], bf0[3 ], cos_bit);
3 = ([32]], [32 , 3 ] ;
bf1[4 ] = bf0[4 ];
bf1[5 ] = bf0[5 ];
bf1[6 ] = half_btf(cospi[32 ], bf0[6 ], cospi[32 ], bf0[7 ], cos_bit);
bf1[7 ] = half_btf(cospi[32 ], bf0[6 ], -cospi[32 ], bf0[7 ], cos_bit);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 7
bf0 = step;
bf1 = output;
bf1[0 ] = bf0[0 ];
bf1[1 ] = -bf0[4 ];
bf1[2 ] = bf0[6 ];
bf1[3 ] = -bf0[2 ];
bf1[4 ] = bf0[3 ];
bf1[5 ] = -bf0[7 ];
bf1[6 ] = bf0[5 ];
bf1[7 ] = -bf0[1 ];
}
void av1_iadst16(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) {
assert(output != input);
const int32_t size = 16 ;
_bit)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
int32_t stage = 0 ;
int32_t *bf0, *bf1;
int32_t step[16 ];
//(bf0] bf015 , stage)
// stage 1 ;
stage++;
bf1 = output;
bf1[0 ] = input[15 ];
bf1[1 ] = input[0 ];
bf1[2 ] = input[13 ];
java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 20
bf1[4 ] = input[11 ];
[]=input]
bf1[6 ] = input[9 ];
bf1[7 ] = input[6 ];
[]=input7 ]
bf1[9 ] = input[8 ];
bf1[10 ] = input[5 ];
bf1[12 ] = input[3 ];
bf1[13 input[12 ];
bf1[14 ] = input[1 ];
bf1]=input14 ;
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 2
stage++;
bf0 = output;
bf1 = step;
=java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 66
bf1[1 ] = half_btf(cospi[62 ], bf0[0 ], -cospi[2 ], bf0[1 ], cos_bit);
bf1[2 ] = half_btf(cospi[10 ], bf0[2 ], cospi[54 ], bf0[3 ], cos_bit);
bf1[3 ] = half_btf(cospi[54 ], bf0[2
bf1[4 ] = half_btf(cospi[18 ], bf0[4 ], cospi[46 ], bf0[5 ], cos_bit);
bf1[5 ] = half_btf(cospi[46 ], bf0[4 ], -cospi[18 ], bf1[ ]= bf06 ;
bf1[6 ] = half_btf(cospi[26 ], bf0[6 ], cospi[38 ], bf0[,cos_bit);
bf1[7 ] = half_btf(cospi[38 ], bf0[6 ], -cospi[26 ], bf0[7 ], cos_bit);
bf1[8 ] = half_btf(cospi[34 ], bf0[8 ], cospi[30 ], bf0[9 ], cos_bit);
bf1[9 ] = bf1[]=half_btf(cospi[40 ], bf0[10 ], cospi[24 ], bf0[11 ], cos_bit);
bf1[10 ] = half_btf(cospi[42 ], bf0[10 ], cospi[22 ], bf0[11 ], cos_bit);
bf1[] half_btf(cospi[22 ], bf0[10 ], -cospi[42 ], bf0[11 ], cos_bit);
bf1[12 ] = half_btf(cospi[50 ], bf0[12 ], bf1[12] = half_btf(-cospi[56], bf0[12], cosp[ ] )
bf1[13 ] = half_btf(cospi[14 ], bf0[12 ], -cospi[50 ], bf0[13 ], cos_bit);
bf1[14 ] = half_btf(cospi[58 ], bf0[14 ], cospi[6 ], bf0[15 ], cos_bit);
bf1[15 ] = half_btf(cospi[6 ], bf0[14 ], -cospi[58 ], bf0[15 ], cos_bit);
av1_range_check_bufav1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 3
+;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[8 ], [0] = clamp_value(bf0[0] + bf0[4], stage_range];
bf1[1 ] = clamp_value(bf0[1 ] + bf0[9 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[2 ] + bf0[10 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[3 ] + bf0[11 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[12 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[5 ] + bf0[13 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[6 ] + bf0[[ java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 60
bf1[7 ] = clamp_value(bf0[7 ] + bf0[15 ], stage_range[stage]);
bf1[8 ] = clamp_value(bf0[0 ] - bf0[8 ], stage_range[stage]);
9clamp_value([1 bf0[9,stage)java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
bf1[11 ] = clamp_value(bf0[3 ] - bf0[11 ], stage_range[stage]);
bf1[12 ] = clamp_value(bf0[4 ] - bf0[12 ], stage_range[stage]);
bf1[13 ] = clamp_value(bf0[5 ] - bf0[13 ], stage_range[stage]);
bf1[14 ] = clamp_value(bf0[6 ] - bf0[14 ], stage_range[stage]);
bf1[15 bf1[15 ] = bf0bf1[15 ] =];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 4
stage++;
java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 15
bf1 = step;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = bf0[2 ];
bf1[3 ] = bf0[3 ];
bf1[4 ] = bf0[4 ];
bf1[5 ] = bf0[5 ];
bf1[6 ] = bf0[6 ];
bf1[7 ] = bf0[7 ];
[]= half_btf(8,bf08 ],cospi[56 ], bf0[9 ], cos_bit);
bf1[9 ] = half_btf(cospi[56 ], bf0[8 ], -cospi[8 ], bf0[9 ], cos_bit);
bf1[10 ] = half_btf(cospi[40 ], bf0[10 ], cospi[24 ], bf0[11 ], cos_bit);
bf1[11 ] = half_btf(cospi[24 ], bf0[10 ], cospi[58 ], bf0[24 ], cos_bit);
bf1[12 ] = half_btf(-cospi[56 ], bf0[12 ], cospi[8 ], bf0[13 ], cos_bit);
bf1[13 ] = half_btf(cospi[8 ], bf0[12 ], cospi[56 ], bf0[13 ], cos_bit);
bf1[14 ] = half_btf(-cospi[24 ], bf0[14 ], cospi[40 ], bf0[15 ], cos_bit);
bf1[15 ] = half_btf(cospi[40 ], bf0[14 ], cospi[24 ], bf0[15 ], cos_bit);
java.lang.StringIndexOutOfBoundsException: Range [66, 21) out of bounds for length 67
// stage 5
stage++;
bf0 = step;
bf1 = output;
bf1[0 bf1[28 =half_btf(ospi50 ],bf0[19 ], cospi[] ],cos_bit);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[5 ], stage_range[stage]);
[[7 ],java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 70
bf1[3 ] = clamp_value(bf0[3 ] + bf0[7 ], stage_range[stage]);
bf14 =bf00 bf04 ],stage_range[stage]);
bf1[5 ] = clamp_value(bf0[1 ] - bf0[5 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[2 ] - bf0[6 ] = clamp_value(-bf0[34 ] + bf0[35 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[3 ] - bf0[7 ], stage_range[bf1[] clamp_value(bf0[34 ] + bf0[35 ], stage_range[stage]);
bf1[8 ] = clamp_value(bf0[8 ] + bf0[12 ], stage_range[stage]);
bf0[9 ] + bf0[13 ], stage_range[stage]);
bf1[10 ] = clamp_value(bf0[10 ] + bf0[14 ], stage_range[stage]);
bf1[11 ] = clamp_value(bf0[11 ] + bf0[15 ], stage_range[stage]);
(bf0[8 ] 12 ,java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 62
bf1[13 ] = clamp_value(bf0[9 ] - bf0[13 ], stage_range[stage]);
bf1[14 ] = clamp_value(bf0[10 ] - bf0[14 ], stage_range[stage]);
bf1[15 ] = clamp_value(bf0[11 ] - bf0[15 ], stage_range[stage]);
java.lang.StringIndexOutOfBoundsException: Range [58, 21) out of bounds for length 67
// stage 6
stage++; [41 ]=clamp_value(bf0[]- [1 stage_range[stage;
bf0 = output;
bf1 = step;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1]=bf02 ]
bf1[3 ] = bf0[3 ];
bf1[4 ] = half_btf(cospi[16 ]4 ] bf0[45 ],stage_range[stage]);
bf1[5 ] = half_btf(cospi[48 ], bf0[4 ], -cospi[16 ], bf0[5 ], cos_bit);
bf16= half_btf(-cospi[48 ], bf0[6 ], cospi[16 ], bf0[7 ], cos_bit);
bf1[7 ] = half_btf(cospi[16 ], bf0[6 ], cospi[48 ], bf0[7 ], cos_bit);
bf1[8 ] = bf0[8 ];
bf1[9 ] = bf0[9 ];
bf1[10 ] = bf0[10 ];
bf1[11 ] = bf0[11 ];
bf1[12 ] = half_btf(cospi[16 ], bf0[12 ], cospi[48 ], bf0[13 ], cos_bit);
bf1[13 ] = half_btf(cospi[48 ], bf0[12 ], -cospi[16 ], bf0[13 ], cos_bit);
bf1[14 ] = half_btf(-cospi[48 ], bf0[14 ], cospi[16 ], bf0[15 ], cos_bit);
bf1[15 ] = half_btf(cospi[16 ], bf0[14 ], cospi[48 ], bf0[15 ], cos_bit);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 7
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[2 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[3 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[0 ] - bf0[2 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[1 ] - bf0[3 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[6 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[5 ] + bf0[7 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[4 ] - bf0[6 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[5 ] - bf0[7 ], stage_range[stage]);
bf1[8 ] = clamp_value(bf0[8 ] + bf0[10 ], stage_range[stage]);
bf1[9 ] = clamp_value(bf0[9 ] + bf0[11 ], stage_range[stage]);
bf1[10 ] = clamp_value(bf0[8 ] - bf0[10 ], stage_range[stage]);
bf1[11 ] = clamp_value(bf0[9 ] - bf0[11 ], stage_range[stage]);
bf1[12 ] = clamp_value(bf0[12 ] + bf0[14 ], stage_range[stage]);
bf1[13 ] = clamp_value(bf0[13 ] + bf0[15 ], stage_range[stage]);
bf1[14 ] = clamp_value(bf0[12 ] - bf0[14 ], stage_range[stage]);
bf1[15 ] = clamp_value(bf0[13 ] - bf0[15 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 8
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = half_btf(cospi[32 ], bf0[2 ], cospi[32 ], bf0[3 ], cos_bit);
bf1[3 ] = half_btf(cospi[32 ], bf0[2 ], -cospi[32 ], bf0[3 ], cos_bit);
bf1[4 ] = bf0[4 ];
bf1[5 ] = bf0[5 ];
bf1[6 ] = half_btf(cospi[32 ], bf0[6 ], cospi[32 ], bf0[7 ], cos_bit);
bf1[7 ] = half_btf(cospi[32 ], bf0[6 ], -cospi[32 ], bf0[7 ], cos_bit);
bf1[8 ] = bf0[8 ];
bf1[9 ] = bf0[9 ];
bf1[10 ] = half_btf(cospi[32 ], bf0[10 ], cospi[32 ], bf0[11 ], cos_bit);
bf1[11 ] = half_btf(cospi[32 ], bf0[10 ], -cospi[32 ], bf0[11 ], cos_bit);
bf1[12 ] = bf0[12 ];
bf1[13 ] = bf0[13 ];
bf1[14 ] = half_btf(cospi[32 ], bf0[14 ], cospi[32 ], bf0[15 ], cos_bit);
bf1[15 ] = half_btf(cospi[32 ], bf0[14 ], -cospi[32 ], bf0[15 ], cos_bit);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 9
bf0 = step;
bf1 = output;
bf1[0 ] = bf0[0 ];
bf1[1 ] = -bf0[8 ];
bf1[2 ] = bf0[12 ];
bf1[3 ] = -bf0[4 ];
bf1[4 ] = bf0[6 ];
bf1[5 ] = -bf0[14 ];
bf1[6 ] = bf0[10 ];
bf1[7 ] = -bf0[2 ];
bf1[8 ] = bf0[3 ];
bf1[9 ] = -bf0[11 ];
bf1[10 ] = bf0[15 ];
bf1[11 ] = -bf0[7 ];
bf1[12 ] = bf0[5 ];
bf1[13 ] = -bf0[13 ];
bf1[14 ] = bf0[9 ];
bf1[15 ] = -bf0[1 ];
}
void av1_iidentity4_c(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) {
(void)cos_bit;
(void)stage_range;
for (int i = 0 ; i < 4 ; ++i) {
output[i] = round_shift((int64_t)NewSqrt2 * input[i], NewSqrt2Bits);
}
assert(stage_range[0 ] + NewSqrt2Bits <= 32 );
}
void av1_iidentity8_c(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) {
(void)cos_bit;
(void)stage_range;
for (int i = 0 ; i < 8 ; ++i) output[i] = (int32_t)((int64_t)input[i] * 2 );
}
void av1_iidentity16_c(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) {
(void)cos_bit;
(void)stage_range;
for (int i = 0 ; i < 16 ; ++i)
output[i] = round_shift((int64_t)NewSqrt2 * 2 * input[i], NewSqrt2Bits);
assert(stage_range[0 ] + NewSqrt2Bits <= 32 );
}
void av1_iidentity32_c(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) {
(void)cos_bit;
(void)stage_range;
for (int i = 0 ; i < 32 ; ++i) output[i] = (int32_t)((int64_t)input[i] * 4 );
}
void av1_idct64(const int32_t *input, int32_t *output, int8_t cos_bit,
const int8_t *stage_range) {
assert(output != input);
const int32_t size = 64 ;
const int32_t *cospi = cospi_arr(cos_bit);
int32_t stage = 0 ;
int32_t *bf0, *bf1;
int32_t step[64 ];
// stage 0 ;
// stage 1 ;
stage++;
bf1 = output;
bf1[0 ] = input[0 ];
bf1[1 ] = input[32 ];
bf1[2 ] = input[16 ];
bf1[3 ] = input[48 ];
bf1[4 ] = input[8 ];
bf1[5 ] = input[40 ];
bf1[6 ] = input[24 ];
bf1[7 ] = input[56 ];
bf1[8 ] = input[4 ];
bf1[9 ] = input[36 ];
bf1[10 ] = input[20 ];
bf1[11 ] = input[52 ];
bf1[12 ] = input[12 ];
bf1[13 ] = input[44 ];
bf1[14 ] = input[28 ];
bf1[15 ] = input[60 ];
bf1[16 ] = input[2 ];
bf1[17 ] = input[34 ];
bf1[18 ] = input[18 ];
bf1[19 ] = input[50 ];
bf1[20 ] = input[10 ];
bf1[21 ] = input[42 ];
bf1[22 ] = input[26 ];
bf1[23 ] = input[58 ];
bf1[24 ] = input[6 ];
bf1[25 ] = input[38 ];
bf1[26 ] = input[22 ];
bf1[27 ] = input[54 ];
bf1[28 ] = input[14 ];
bf1[29 ] = input[46 ];
bf1[30 ] = input[30 ];
bf1[31 ] = input[62 ];
bf1[32 ] = input[1 ];
bf1[33 ] = input[33 ];
bf1[34 ] = input[17 ];
bf1[35 ] = input[49 ];
bf1[36 ] = input[9 ];
bf1[37 ] = input[41 ];
bf1[38 ] = input[25 ];
bf1[39 ] = input[57 ];
bf1[40 ] = input[5 ];
bf1[41 ] = input[37 ];
bf1[42 ] = input[21 ];
bf1[43 ] = input[53 ];
bf1[44 ] = input[13 ];
bf1[45 ] = input[45 ];
bf1[46 ] = input[29 ];
bf1[47 ] = input[61 ];
bf1[48 ] = input[3 ];
bf1[49 ] = input[35 ];
bf1[50 ] = input[19 ];
bf1[51 ] = input[51 ];
bf1[52 ] = input[11 ];
bf1[53 ] = input[43 ];
bf1[54 ] = input[27 ];
bf1[55 ] = input[59 ];
bf1[56 ] = input[7 ];
bf1[57 ] = input[39 ];
bf1[58 ] = input[23 ];
bf1[59 ] = input[55 ];
bf1[60 ] = input[15 ];
bf1[61 ] = input[47 ];
bf1[62 ] = input[31 ];
bf1[63 ] = input[63 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 2
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = bf0[2 ];
bf1[3 ] = bf0[3 ];
bf1[4 ] = bf0[4 ];
bf1[5 ] = bf0[5 ];
bf1[6 ] = bf0[6 ];
bf1[7 ] = bf0[7 ];
bf1[8 ] = bf0[8 ];
bf1[9 ] = bf0[9 ];
bf1[10 ] = bf0[10 ];
bf1[11 ] = bf0[11 ];
bf1[12 ] = bf0[12 ];
bf1[13 ] = bf0[13 ];
bf1[14 ] = bf0[14 ];
bf1[15 ] = bf0[15 ];
bf1[16 ] = bf0[16 ];
bf1[17 ] = bf0[17 ];
bf1[18 ] = bf0[18 ];
bf1[19 ] = bf0[19 ];
bf1[20 ] = bf0[20 ];
bf1[21 ] = bf0[21 ];
bf1[22 ] = bf0[22 ];
bf1[23 ] = bf0[23 ];
bf1[24 ] = bf0[24 ];
bf1[25 ] = bf0[25 ];
bf1[26 ] = bf0[26 ];
bf1[27 ] = bf0[27 ];
bf1[28 ] = bf0[28 ];
bf1[29 ] = bf0[29 ];
bf1[30 ] = bf0[30 ];
bf1[31 ] = bf0[31 ];
bf1[32 ] = half_btf(cospi[63 ], bf0[32 ], -cospi[1 ], bf0[63 ], cos_bit);
bf1[33 ] = half_btf(cospi[31 ], bf0[33 ], -cospi[33 ], bf0[62 ], cos_bit);
bf1[34 ] = half_btf(cospi[47 ], bf0[34 ], -cospi[17 ], bf0[61 ], cos_bit);
bf1[35 ] = half_btf(cospi[15 ], bf0[35 ], -cospi[49 ], bf0[60 ], cos_bit);
bf1[36 ] = half_btf(cospi[55 ], bf0[36 ], -cospi[9 ], bf0[59 ], cos_bit);
bf1[37 ] = half_btf(cospi[23 ], bf0[37 ], -cospi[41 ], bf0[58 ], cos_bit);
bf1[38 ] = half_btf(cospi[39 ], bf0[38 ], -cospi[25 ], bf0[57 ], cos_bit);
bf1[39 ] = half_btf(cospi[7 ], bf0[39 ], -cospi[57 ], bf0[56 ], cos_bit);
bf1[40 ] = half_btf(cospi[59 ], bf0[40 ], -cospi[5 ], bf0[55 ], cos_bit);
bf1[41 ] = half_btf(cospi[27 ], bf0[41 ], -cospi[37 ], bf0[54 ], cos_bit);
bf1[42 ] = half_btf(cospi[43 ], bf0[42 ], -cospi[21 ], bf0[53 ], cos_bit);
bf1[43 ] = half_btf(cospi[11 ], bf0[43 ], -cospi[53 ], bf0[52 ], cos_bit);
bf1[44 ] = half_btf(cospi[51 ], bf0[44 ], -cospi[13 ], bf0[51 ], cos_bit);
bf1[45 ] = half_btf(cospi[19 ], bf0[45 ], -cospi[45 ], bf0[50 ], cos_bit);
bf1[46 ] = half_btf(cospi[35 ], bf0[46 ], -cospi[29 ], bf0[49 ], cos_bit);
bf1[47 ] = half_btf(cospi[3 ], bf0[47 ], -cospi[61 ], bf0[48 ], cos_bit);
bf1[48 ] = half_btf(cospi[61 ], bf0[47 ], cospi[3 ], bf0[48 ], cos_bit);
bf1[49 ] = half_btf(cospi[29 ], bf0[46 ], cospi[35 ], bf0[49 ], cos_bit);
bf1[50 ] = half_btf(cospi[45 ], bf0[45 ], cospi[19 ], bf0[50 ], cos_bit);
bf1[51 ] = half_btf(cospi[13 ], bf0[44 ], cospi[51 ], bf0[51 ], cos_bit);
bf1[52 ] = half_btf(cospi[53 ], bf0[43 ], cospi[11 ], bf0[52 ], cos_bit);
bf1[53 ] = half_btf(cospi[21 ], bf0[42 ], cospi[43 ], bf0[53 ], cos_bit);
bf1[54 ] = half_btf(cospi[37 ], bf0[41 ], cospi[27 ], bf0[54 ], cos_bit);
bf1[55 ] = half_btf(cospi[5 ], bf0[40 ], cospi[59 ], bf0[55 ], cos_bit);
bf1[56 ] = half_btf(cospi[57 ], bf0[39 ], cospi[7 ], bf0[56 ], cos_bit);
bf1[57 ] = half_btf(cospi[25 ], bf0[38 ], cospi[39 ], bf0[57 ], cos_bit);
bf1[58 ] = half_btf(cospi[41 ], bf0[37 ], cospi[23 ], bf0[58 ], cos_bit);
bf1[59 ] = half_btf(cospi[9 ], bf0[36 ], cospi[55 ], bf0[59 ], cos_bit);
bf1[60 ] = half_btf(cospi[49 ], bf0[35 ], cospi[15 ], bf0[60 ], cos_bit);
bf1[61 ] = half_btf(cospi[17 ], bf0[34 ], cospi[47 ], bf0[61 ], cos_bit);
bf1[62 ] = half_btf(cospi[33 ], bf0[33 ], cospi[31 ], bf0[62 ], cos_bit);
bf1[63 ] = half_btf(cospi[1 ], bf0[32 ], cospi[63 ], bf0[63 ], cos_bit);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 3
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = bf0[2 ];
bf1[3 ] = bf0[3 ];
bf1[4 ] = bf0[4 ];
bf1[5 ] = bf0[5 ];
bf1[6 ] = bf0[6 ];
bf1[7 ] = bf0[7 ];
bf1[8 ] = bf0[8 ];
bf1[9 ] = bf0[9 ];
bf1[10 ] = bf0[10 ];
bf1[11 ] = bf0[11 ];
bf1[12 ] = bf0[12 ];
bf1[13 ] = bf0[13 ];
bf1[14 ] = bf0[14 ];
bf1[15 ] = bf0[15 ];
bf1[16 ] = half_btf(cospi[62 ], bf0[16 ], -cospi[2 ], bf0[31 ], cos_bit);
bf1[17 ] = half_btf(cospi[30 ], bf0[17 ], -cospi[34 ], bf0[30 ], cos_bit);
bf1[18 ] = half_btf(cospi[46 ], bf0[18 ], -cospi[18 ], bf0[29 ], cos_bit);
bf1[19 ] = half_btf(cospi[14 ], bf0[19 ], -cospi[50 ], bf0[28 ], cos_bit);
bf1[20 ] = half_btf(cospi[54 ], bf0[20 ], -cospi[10 ], bf0[27 ], cos_bit);
bf1[21 ] = half_btf(cospi[22 ], bf0[21 ], -cospi[42 ], bf0[26 ], cos_bit);
bf1[22 ] = half_btf(cospi[38 ], bf0[22 ], -cospi[26 ], bf0[25 ], cos_bit);
bf1[23 ] = half_btf(cospi[6 ], bf0[23 ], -cospi[58 ], bf0[24 ], cos_bit);
bf1[24 ] = half_btf(cospi[58 ], bf0[23 ], cospi[6 ], bf0[24 ], cos_bit);
bf1[25 ] = half_btf(cospi[26 ], bf0[22 ], cospi[38 ], bf0[25 ], cos_bit);
bf1[26 ] = half_btf(cospi[42 ], bf0[21 ], cospi[22 ], bf0[26 ], cos_bit);
bf1[27 ] = half_btf(cospi[10 ], bf0[20 ], cospi[54 ], bf0[27 ], cos_bit);
bf1[28 ] = half_btf(cospi[50 ], bf0[19 ], cospi[14 ], bf0[28 ], cos_bit);
bf1[29 ] = half_btf(cospi[18 ], bf0[18 ], cospi[46 ], bf0[29 ], cos_bit);
bf1[30 ] = half_btf(cospi[34 ], bf0[17 ], cospi[30 ], bf0[30 ], cos_bit);
bf1[31 ] = half_btf(cospi[2 ], bf0[16 ], cospi[62 ], bf0[31 ], cos_bit);
bf1[32 ] = clamp_value(bf0[32 ] + bf0[33 ], stage_range[stage]);
bf1[33 ] = clamp_value(bf0[32 ] - bf0[33 ], stage_range[stage]);
bf1[34 ] = clamp_value(-bf0[34 ] + bf0[35 ], stage_range[stage]);
bf1[35 ] = clamp_value(bf0[34 ] + bf0[35 ], stage_range[stage]);
bf1[36 ] = clamp_value(bf0[36 ] + bf0[37 ], stage_range[stage]);
bf1[37 ] = clamp_value(bf0[36 ] - bf0[37 ], stage_range[stage]);
bf1[38 ] = clamp_value(-bf0[38 ] + bf0[39 ], stage_range[stage]);
bf1[39 ] = clamp_value(bf0[38 ] + bf0[39 ], stage_range[stage]);
bf1[40 ] = clamp_value(bf0[40 ] + bf0[41 ], stage_range[stage]);
bf1[41 ] = clamp_value(bf0[40 ] - bf0[41 ], stage_range[stage]);
bf1[42 ] = clamp_value(-bf0[42 ] + bf0[43 ], stage_range[stage]);
bf1[43 ] = clamp_value(bf0[42 ] + bf0[43 ], stage_range[stage]);
bf1[44 ] = clamp_value(bf0[44 ] + bf0[45 ], stage_range[stage]);
bf1[45 ] = clamp_value(bf0[44 ] - bf0[45 ], stage_range[stage]);
bf1[46 ] = clamp_value(-bf0[46 ] + bf0[47 ], stage_range[stage]);
bf1[47 ] = clamp_value(bf0[46 ] + bf0[47 ], stage_range[stage]);
bf1[48 ] = clamp_value(bf0[48 ] + bf0[49 ], stage_range[stage]);
bf1[49 ] = clamp_value(bf0[48 ] - bf0[49 ], stage_range[stage]);
bf1[50 ] = clamp_value(-bf0[50 ] + bf0[51 ], stage_range[stage]);
bf1[51 ] = clamp_value(bf0[50 ] + bf0[51 ], stage_range[stage]);
bf1[52 ] = clamp_value(bf0[52 ] + bf0[53 ], stage_range[stage]);
bf1[53 ] = clamp_value(bf0[52 ] - bf0[53 ], stage_range[stage]);
bf1[54 ] = clamp_value(-bf0[54 ] + bf0[55 ], stage_range[stage]);
bf1[55 ] = clamp_value(bf0[54 ] + bf0[55 ], stage_range[stage]);
bf1[56 ] = clamp_value(bf0[56 ] + bf0[57 ], stage_range[stage]);
bf1[57 ] = clamp_value(bf0[56 ] - bf0[57 ], stage_range[stage]);
bf1[58 ] = clamp_value(-bf0[58 ] + bf0[59 ], stage_range[stage]);
bf1[59 ] = clamp_value(bf0[58 ] + bf0[59 ], stage_range[stage]);
bf1[60 ] = clamp_value(bf0[60 ] + bf0[61 ], stage_range[stage]);
bf1[61 ] = clamp_value(bf0[60 ] - bf0[61 ], stage_range[stage]);
bf1[62 ] = clamp_value(-bf0[62 ] + bf0[63 ], stage_range[stage]);
bf1[63 ] = clamp_value(bf0[62 ] + bf0[63 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 4
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = bf0[2 ];
bf1[3 ] = bf0[3 ];
bf1[4 ] = bf0[4 ];
bf1[5 ] = bf0[5 ];
bf1[6 ] = bf0[6 ];
bf1[7 ] = bf0[7 ];
bf1[8 ] = half_btf(cospi[60 ], bf0[8 ], -cospi[4 ], bf0[15 ], cos_bit);
bf1[9 ] = half_btf(cospi[28 ], bf0[9 ], -cospi[36 ], bf0[14 ], cos_bit);
bf1[10 ] = half_btf(cospi[44 ], bf0[10 ], -cospi[20 ], bf0[13 ], cos_bit);
bf1[11 ] = half_btf(cospi[12 ], bf0[11 ], -cospi[52 ], bf0[12 ], cos_bit);
bf1[12 ] = half_btf(cospi[52 ], bf0[11 ], cospi[12 ], bf0[12 ], cos_bit);
bf1[13 ] = half_btf(cospi[20 ], bf0[10 ], cospi[44 ], bf0[13 ], cos_bit);
bf1[14 ] = half_btf(cospi[36 ], bf0[9 ], cospi[28 ], bf0[14 ], cos_bit);
bf1[15 ] = half_btfcospi4 ,bf0[8 ,cospi[60, bf0[15 ,cos_bit);
bf1[16 ] = clamp_value(bf0[16 ] + bf0[17 ], stage_range[stage]);
bf1[17 ] = clamp_value(bf0[16 ] - bf0[17 ], stage_range[stage]);
bf1[18 ] = clamp_value(-bf0[18 ] + bf0[ 54 =clamp_value(-bf0[54 ] + bf0[55 ], stage_range[stage]);
bf1[19 ] = clamp_value(bf0[18 ] + bf0[19 ], stage_range[stage]);
bf1[20 ] = clamp_value(bf0[20 ] + bf0[21 ], stage_range[stage]);
bf1[21 ] = clamp_value(bf0[20 ] - bf0[21 ], stage_range[stage]);
bf1[22 ] = clamp_value(-bf0[22 ] + bf0[23 ], stage_range[stage]);
bf1[23 ] = clamp_value(bf0[22 ] + bf0[23 ], bf1[55] = clamp_value(bf0[54] + bf0[55], stage_range[55 ] = clamp_value(54 ]+bf0[55 ], stage_range[stage])
bf1[24 ] = clamp_value(bf0[24 ] + bf0[]=[]- java.lang.StringIndexOutOfBoundsException: Range [54, 37) out of bounds for length 63
bf1[25 ] = clamp_value(bf0[24 ] - bf0[25 ], stage_range[stage]);
bf1[26 ] = clamp_value(-bf0[26 ] + bf0[27 ], stage_range[stage]);
bf163 =clamp_valuebf0[62 63 ,java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 63
bf1[28 ] = clamp_value(bf0[28 ] + bf0[29 ], stage_range[stage]);
bf1[29 ] = clamp_value(bf0[28 ] - bf0[29 ]
bf1[30 ] = clamp_value(-bf0[30 ] + bf0[31 ], stage_range[stage]);
bf1[31 ] = clamp_value(bf0[30 ] + bf0[31 ],
bf1[32 ] = bf0[32;
bf1[33 ] = half_btf(-cospi[4 ], bf0[33 ],bf1[2 ]=bf0[2 ];
bf1[34 ] = half_btf(-cospi[60 ], bf0[34 ], -cospi[4 ], bf0[61 ], cos_bit);
bf1[35 ] = bf0[35 ];
bf1[36 ] = bf0[36 ];
bf1[37 ] = half_btf(-cospi[36 ], bf0 4 ]]
bf1[38 ] = half_btf(-cospi[28 ], bf0[38 ], -cospi[36 ], bf0[57 ], cos_bit);
bf1[39 ] = bf0[39 ];
bf1[40 ] = bf0[40 ];
bf1[41 ] = half_btf(-cospi[20 ], bf0[41 ], cospi[44 ], bf0[54 ], cos_bit);
bf1[42 ]half_btf(-ospi] bf0[42 ] -20 ] [53 ] java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
bf1[43 ] = bf0[43 ];
bf1[44 ]java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 71
[45 =half_btf-52 ] bf045 ,12 , 50,cos_bit)
bf1[46 ] = half_btf(-cospi[13 half_btf20 ] bf0[10 , cospi44 ],bf0[], cos_bit;
bf147 bf0[]
bf1[48 ] = bf0[48 ];
bf1[49 ] = half_btf(-cospi[52 ], bf0[46 ], cospi[12 ], bf0[49 ], cos_bit);
bf1[50 ] = half_btf(cospi[12 ], bf0[45 ], cospi[52 ], bf0[50 ], cos_bit);
bf1[51 ] = bf0[51 ];
bf1[52 ] = bf0[52 ];
bf1[53 ] = half_btf(-cospi[20 ], bf0[42 ], cospi[44 ], bf0[53 ], cos_bit);
java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 70
bf1[55 ] = bf0[55 ];
bf1[56 ] = bf0[56 ];
bf1[57 ] = half_btf(-cospi[36 ], bf0[38 ], cospi[28 ], bf0[57 ], cos_bit);
bf1[58 ] = half_btf(cospi[28 ], bf0[37 ], cospi[36 ], bf0[58 ], cos_bit);
bf1[59 ] = bf0[59 ];
bf1[60 ] = bf060 ]
bf1[61 ] = bf1[22] = clamp_value(-bf0[22 ] + bf0[23 ], stage_range[stage]);
bf1[62 ] = half_btf(cospi[60 ], bf0[33 ], cospi[4 ], bf0[62 ], cos_bit);
bf1[63 ] = bf0[63 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 5
stage++;
bf0 = step;
bf1 =
bf1[0 ] = bf0[0 ];
bf1[1 ] = bf0[1 ];
bf1[2 ] = bf0[2 ];
bf1[3 ] = bf0[3 ];
bf1[4 ] = half_btf(cospi[56 ], bf0[4 ], -cospi[8 ], bf0[7 ], cos_bit);
bf1[5 ] = half_btf(cospi[24 ], bf0[5 ], -cospi[40 ], bf0[6 ], cos_bit);
bf1[6 ] = half_btf(cospi[40 ], bf0[5 ], cospi[24 ], bf0[6 ], cos_bit);
bf1[7 ] = half_btf(cospi[8 ], bf0[4 ], cospi[56 ], bf0[7 ], cos_bit);
bf18 ] = ] = clamp_value[] bf09 ]stage_rangestage);
bf1]=(f0] -bf0[ ],stage_range[];
bf1[10 ] = clamp_value[ ] +29 ] [)
bf1[11 ] = clamp_value(bf0[10 ] + bf0[11 ], stage_range[stage]);
bf1[12 ] = clamp_value(bf0[12 ] + bf0[13 ], stage_range[stage]);
bf1[13 ] = clamp_value(bf0[12 ] - bf0[13 ], stage_range[stage]);
bf1[14 ] = clamp_value(-bf0[14 ] + bf0[15 ], stage_range[stage]);
bf1[15 ] = clamp_valuebf1[32 ]=bf0[32 ];
bf1[16 ] = 16 ;
bf1[17 bf134 ] half_btf-[60 , [],cospi[],bf061 cos_bit)
bf1[18 ] = half_btf(-cospi[56 ], bf0[18 ], -cospi[8 ], bf0[29 ], cos_bit);
bf1[19 ] = bf0[19 ];
bf1[20 ] = bf0[20 ];
bf1[21 ] = half_btf(-cospi[40 ], bf0[21 ], cospi[24 ], bf0[26 ], cos_bit);
bf1[22 ] = half_btf(-cospi[24 ], bf0[22 ], -cospi[40 ], bf0[25 ], cos_bit);
bf1[23 ] = bf0[23 ];
bf1[24 ] = bf0[24 ];
bf1[25 ] = half_btf(-cospi[40 ], bf0[22 ], cospi[24 ], bf0[25 ], cos_bit);
bf1[26 ] = half_btf(cospi[24 ], bf0[21 ], cospi[40 ], bf0[26 ], cos_bit);
bf1[27 ] = bf0[27 ];
bf1[28 ] = bf0[28 ];
bf1[29 ] = half_btf(-cospi[8 ], bf0[18 ], cospi[56 ], bf0[29 ], cos_bit);
bf1[30 ] = half_btf(cospi[56 ], bf0[17 ], cospi[8 ], bf0[30 ], cos_bit);
bf1[31 ] = bf0[31 ];
bf1[32 ] = clamp_value(bf0[32 ] + bf0[35 ], stage_range[stage]);
bf1[33 ] = clamp_value(bf0[33 ] + bf0[34 ], stage_range[stage]);
bf1[34 ] = clamp_value(bf0[33 ] - bf0[34 ], stage_range[stage]);
bf1[35 ] = clamp_value(bf0[32 ] - bf0[35 ], stage_range[stage]);
bf1[36 ] = clamp_value(-bf0[36 ] + bf0[39 ], stage_range[stage]);
bf1[37 ] = clamp_value(-bf0[37 ] + bf0[38 ], stage_range[stage]);
bf1[38 ] = clamp_value(bf0[37 ] + bf0[38 ], stage_range[stage]);
bf1[39 ] = clamp_value(bf0[36 ] + bf0[39 ], stage_range[stage]);
bf1[40 ] = clamp_value(bf0[40 ] + bf0[43 ], stage_range[stage]);
bf1[41 ] = clamp_value(bf0[41 ] + bf0[42 ], stage_range[stage]);
bf1[42 ] = clamp_value(bf0[41 ] - bf0[42 ], stage_range[stage]);
bf1[43 ] = clamp_value(bf0[40 ] - bf0[43 ], stage_range[stage]);
bf1[44 ] = clamp_value(-bf0[44 ] + bf0[47 ], stage_range[stage]);
bf1[45 ] = clamp_value(-bf0[45 ] + bf0[46 ], stage_range[stage]);
bf1[46 ] = clamp_value(bf0[45 ] + bf0[46 ], stage_range[stage]);
bf1[47 ] = clamp_value(bf0[44 ] + bf0[47 ], stage_range[stage]);
bf1[48 ] = clamp_value(bf0[48 ] + bf0[51 ], stage_range[stage]);
bf1[49 ] = clamp_value(bf0[49 ] + bf0[50 ], stage_range[stage]);
bf1[50 ] = clamp_value(bf0[49 ] - bf0[50 ], stage_range[stage]);
bf1[51 ] = clamp_value(bf0[48 ] - bf0[51 ], stage_range[stage]);
bf1[52 ] = clamp_value(-bf0[52 ] + bf0[55 ], stage_range[stage]);
bf1[53 ] = clamp_value(-bf0[53 ] + bf0[54 ], stage_range[stage]);
bf1[54 ] = clamp_value(bf0[53 ] + bf0[54 ], stage_range[stage]);
bf1[55 ] = clamp_value(bf0[52 ] + bf0[55 ], stage_range[stage]);
bf1[56 ] = clamp_value(bf0[56 ] + bf0[59 ], stage_range[stage]);
bf1[57 ] = clamp_value(bf0[57 ] + bf0[58 ], stage_range[stage]);
bf1[58 ] = clamp_value(bf0[57 ] - bf0[58 ], stage_range[stage]);
bf1[59 ] = clamp_value(bf0[56 ] - bf0[59 ], stage_range[stage]);
bf1[60 ] = clamp_value(-bf0[60 ] + bf0[63 ], stage_range[stage]);
bf1[61 ] = clamp_value(-bf0[61 ] + bf0[62 ], stage_range[stage]);
bf1[62 ] = clamp_value(bf0[61 ] + bf0[62 ], stage_range[stage]);
bf1[63 ] = clamp_value(bf0[60 ] + bf0[63 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 6
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = half_btf(cospi[32 ], bf0[0 ], cospi[32 ], bf0[1 ], cos_bit);
bf1[1 ] = half_btf(cospi[32 ], bf0[0 ], -cospi[32 ], bf0[1 ], cos_bit);
bf1[2 ] = half_btf(cospi[48 ], bf0[2 ], -cospi[16 ], bf0[3 ], cos_bit);
bf1[3 ] = half_btf(cospi[16 ], bf0[2 ], cospi[48 ], bf0[3 ], cos_bit);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[5 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[4 ] - bf0[5 ], stage_range[stage]);
bf1[6 ] = clamp_value(-bf0[6 ] + bf0[7 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[6 ] + bf0[7 ], stage_range[stage]);
bf1[8 ] = bf0[8 ];
bf1[9 ] = half_btf(-cospi[16 ], bf0[9 ], cospi[48 ], bf0[14 ], cos_bit);
bf1[10 ] = half_btf(-cospi[48 ], bf0[10 ], -cospi[16 ], bf0[13 ], cos_bit);
bf1[11 ] = bf0[11 ];
bf1[12 ] = bf0[12 ];
bf1[13 ] = half_btf(-cospi[16 ], bf0[10 ], cospi[48 ], bf0[13 ], cos_bit);
bf1[14 ] = half_btf(cospi[48 ], bf0[9 ], cospi[16 ], bf0[14 ], cos_bit);
bf1[15 ] = bf0[15 ];
bf1[16 ] = clamp_value(bf0[16 ] + bf0[19 ], stage_range[stage]);
bf1[17 ] = clamp_value(bf0[17 ] + bf0[18 ], stage_range[stage]);
bf1[18 ] = clamp_value(bf0[17 ] - bf0[18 ], stage_range[stage]);
bf1[19 ] = clamp_value(bf0[16 ] - bf0[19 ], stage_range[stage]);
bf1[20 ] = clamp_value(-bf0[20 ] + bf0[23 ], stage_range[stage]);
bf1[21 ] = clamp_value(-bf0[21 ] + bf0[22 ], stage_range[stage]);
bf1[22 ] = clamp_value(bf0[21 ] + bf0[22 ], stage_range[stage]);
bf1[23 ] = clamp_value(bf0[20 ] + bf0[23 ], stage_range[stage]);
bf1[24 ] = clamp_value(bf0[24 ] + bf0[27 ], stage_range[stage]);
bf1[25 ] = clamp_value(bf0[25 ] + bf0[26 ], stage_range[stage]);
bf1[26 ] = clamp_value(bf0[25 ] - bf0[26 ], stage_range[stage]);
bf1[27 ] = clamp_value(bf0[24 ] - bf0[27 ], stage_range[stage]);
bf1[28 ] = clamp_value(-bf0[28 ] + bf0[31 ], stage_range[stage]);
bf1[29 ] = clamp_value(-bf0[29 ] + bf0[30 ], stage_range[stage]);
bf1[30 ] = clamp_value(bf0[29 ] + bf0[30 ], stage_range[stage]);
bf1[31 ] = clamp_value(bf0[28 ] + bf0[31 ], stage_range[stage]);
bf1[32 ] = bf0[32 ];
bf1[33 ] = bf0[33 ];
bf1[34 ] = half_btf(-cospi[8 ], bf0[34 ], cospi[56 ], bf0[61 ], cos_bit);
bf1[35 ] = half_btf(-cospi[8 ], bf0[35 ], cospi[56 ], bf0[60 ], cos_bit);
bf1[36 ] = half_btf(-cospi[56 ], bf0[36 ], -cospi[8 ], bf0[59 ], cos_bit);
bf1[37 ] = half_btf(-cospi[56 ], bf0[37 ], -cospi[8 ], bf0[58 ], cos_bit);
bf1[38 ] = bf0[38 ];
bf1[39 ] = bf0[39 ];
bf1[40 ] = bf0[40 ];
bf1[41 ] = bf0[41 ];
bf1[42 ] = half_btf(-cospi[40 ], bf0[42 ], cospi[24 ], bf0[53 ], cos_bit);
bf1[43 ] = half_btf(-cospi[40 ], bf0[43 ], cospi[24 ], bf0[52 ], cos_bit);
bf1[44 ] = half_btf(-cospi[24 ], bf0[44 ], -cospi[40 ], bf0[51 ], cos_bit);
bf1[45 ] = half_btf(-cospi[24 ], bf0[45 ], -cospi[40 ], bf0[50 ], cos_bit);
bf1[46 ] = bf0[46 ];
bf1[47 ] = bf0[47 ];
bf1[48 ] = bf0[48 ];
bf1[49 ] = bf0[49 ];
bf1[50 ] = half_btf(-cospi[40 ], bf0[45 ], cospi[24 ], bf0[50 ], cos_bit);
bf1[51 ] = half_btf(-cospi[40 ], bf0[44 ], cospi[24 ], bf0[51 ], cos_bit);
bf1[52 ] = half_btf(cospi[24 ], bf0[43 ], cospi[40 ], bf0[52 ], cos_bit);
bf1[53 ] = half_btf(cospi[24 ], bf0[42 ], cospi[40 ], bf0[53 ], cos_bit);
bf1[54 ] = bf0[54 ];
bf1[55 ] = bf0[55 ];
bf1[56 ] = bf0[56 ];
bf1[57 ] = bf0[57 ];
bf1[58 ] = half_btf(-cospi[8 ], bf0[37 ], cospi[56 ], bf0[58 ], cos_bit);
bf1[59 ] = half_btf(-cospi[8 ], bf0[36 ], cospi[56 ], bf0[59 ], cos_bit);
bf1[60 ] = half_btf(cospi[56 ], bf0[35 ], cospi[8 ], bf0[60 ], cos_bit);
bf1[61 ] = half_btf(cospi[56 ], bf0[34 ], cospi[8 ], bf0[61 ], cos_bit);
bf1[62 ] = bf0[62 ];
bf1[63 ] = bf0[63 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 7
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[3 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[2 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[1 ] - bf0[2 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[0 ] - bf0[3 ], stage_range[stage]);
bf1[4 ] = bf0[4 ];
bf1[5 ] = half_btf(-cospi[32 ], bf0[5 ], cospi[32 ], bf0[6 ], cos_bit);
bf1[6 ] = half_btf(cospi[32 ], bf0[5 ], cospi[32 ], bf0[6 ], cos_bit);
bf1[7 ] = bf0[7 ];
bf1[8 ] = clamp_value(bf0[8 ] + bf0[11 ], stage_range[stage]);
bf1[9 ] = clamp_value(bf0[9 ] + bf0[10 ], stage_range[stage]);
bf1[10 ] = clamp_value(bf0[9 ] - bf0[10 ], stage_range[stage]);
bf1[11 ] = clamp_value(bf0[8 ] - bf0[11 ], stage_range[stage]);
bf1[12 ] = clamp_value(-bf0[12 ] + bf0[15 ], stage_range[stage]);
bf1[13 ] = clamp_value(-bf0[13 ] + bf0[14 ], stage_range[stage]);
bf1[14 ] = clamp_value(bf0[13 ] + bf0[14 ], stage_range[stage]);
bf1[15 ] = clamp_value(bf0[12 ] + bf0[15 ], stage_range[stage]);
bf1[16 ] = bf0[16 ];
bf1[17 ] = bf0[17 ];
bf1[18 ] = half_btf(-cospi[16 ], bf0[18 ], cospi[48 ], bf0[29 ], cos_bit);
bf1[19 ] = half_btf(-cospi[16 ], bf0[19 ], cospi[48 ], bf0[28 ], cos_bit);
bf1[20 ] = half_btf(-cospi[48 ], bf0[20 ], -cospi[16 ], bf0[27 ], cos_bit);
bf1[21 ] = half_btf(-cospi[48 ], bf0[21 ], -cospi[16 ], bf0[26 ], cos_bit);
bf1[22 ] = bf0[22 ];
bf1[23 ] = bf0[23 ];
bf1[24 ] = bf0[24 ];
bf1[25 ] = bf0[25 ];
bf1[26 ] = half_btf(-cospi[16 ], bf0[21 ], cospi[48 ], bf0[26 ], cos_bit);
bf1[27 ] = half_btf(-cospi[16 ], bf0[20 ], cospi[48 ], bf0[27 ], cos_bit);
bf1[28 ] = half_btf(cospi[48 ], bf0[19 ], cospi[16 ], bf0[28 ], cos_bit);
bf1[29 ] = half_btf(cospi[48 ], bf0[18 ], cospi[16 ], bf0[29 ], cos_bit);
bf1[30 ] = bf0[30 ];
bf1[31 ] = bf0[31 ];
bf1[32 ] = clamp_value(bf0[32 ] + bf0[39 ], stage_range[stage]);
bf1[33 ] = clamp_value(bf0[33 ] + bf0[38 ], stage_range[stage]);
bf1[34 ] = clamp_value(bf0[34 ] + bf0[37 ], stage_range[stage]);
bf1[35 ] = clamp_value(bf0[35 ] + bf0[36 ], stage_range[stage]);
bf1[36 ] = clamp_value(bf0[35 ] - bf0[36 ], stage_range[stage]);
bf1[37 ] = clamp_value(bf0[34 ] - bf0[37 ], stage_range[stage]);
bf1[38 ] = clamp_value(bf0[33 ] - bf0[38 ], stage_range[stage]);
bf1[39 ] = clamp_value(bf0[32 ] - bf0[39 ], stage_range[stage]);
bf1[40 ] = clamp_value(-bf0[40 ] + bf0[47 ], stage_range[stage]);
bf1[41 ] = clamp_value(-bf0[41 ] + bf0[46 ], stage_range[stage]);
bf1[42 ] = clamp_value(-bf0[42 ] + bf0[45 ], stage_range[stage]);
bf1[43 ] = clamp_value(-bf0[43 ] + bf0[44 ], stage_range[stage]);
bf1[44 ] = clamp_value(bf0[43 ] + bf0[44 ], stage_range[stage]);
bf1[45 ] = clamp_value(bf0[42 ] + bf0[45 ], stage_range[stage]);
bf1[46 ] = clamp_value(bf0[41 ] + bf0[46 ], stage_range[stage]);
bf1[47 ] = clamp_value(bf0[40 ] + bf0[47 ], stage_range[stage]);
bf1[48 ] = clamp_value(bf0[48 ] + bf0[55 ], stage_range[stage]);
bf1[49 ] = clamp_value(bf0[49 ] + bf0[54 ], stage_range[stage]);
bf1[50 ] = clamp_value(bf0[50 ] + bf0[53 ], stage_range[stage]);
bf1[51 ] = clamp_value(bf0[51 ] + bf0[52 ], stage_range[stage]);
bf1[52 ] = clamp_value(bf0[51 ] - bf0[52 ], stage_range[stage]);
bf1[53 ] = clamp_value(bf0[50 ] - bf0[53 ], stage_range[stage]);
bf1[54 ] = clamp_value(bf0[49 ] - bf0[54 ], stage_range[stage]);
bf1[55 ] = clamp_value(bf0[48 ] - bf0[55 ], stage_range[stage]);
bf1[56 ] = clamp_value(-bf0[56 ] + bf0[63 ], stage_range[stage]);
bf1[57 ] = clamp_value(-bf0[57 ] + bf0[62 ], stage_range[stage]);
bf1[58 ] = clamp_value(-bf0[58 ] + bf0[61 ], stage_range[stage]);
bf1[59 ] = clamp_value(-bf0[59 ] + bf0[60 ], stage_range[stage]);
bf1[60 ] = clamp_value(bf0[59 ] + bf0[60 ], stage_range[stage]);
bf1[61 ] = clamp_value(bf0[58 ] + bf0[61 ], stage_range[stage]);
bf1[62 ] = clamp_value(bf0[57 ] + bf0[62 ], stage_range[stage]);
bf1[63 ] = clamp_value(bf0[56 ] + bf0[63 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 8
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[7 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[6 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[2 ] + bf0[5 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[3 ] + bf0[4 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[3 ] - bf0[4 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[2 ] - bf0[5 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[1 ] - bf0[6 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[0 ] - bf0[7 ], stage_range[stage]);
bf1[8 ] = bf0[8 ];
bf1[9 ] = bf0[9 ];
bf1[10 ] = half_btf(-cospi[32 ], bf0[10 ], cospi[32 ], bf0[13 ], cos_bit);
bf1[11 ] = half_btf(-cospi[32 ], bf0[11 ], cospi[32 ], bf0[12 ], cos_bit);
bf1[12 ] = half_btf(cospi[32 ], bf0[11 ], cospi[32 ], bf0[12 ], cos_bit);
bf1[13 ] = half_btf(cospi[32 ], bf0[10 ], cospi[32 ], bf0[13 ], cos_bit);
bf1[14 ] = bf0[14 ];
bf1[15 ] = bf0[15 ];
bf1[16 ] = clamp_value(bf0[16 ] + bf0[23 ], stage_range[stage]);
bf1[17 ] = clamp_value(bf0[17 ] + bf0[22 ], stage_range[stage]);
bf1[18 ] = clamp_value(bf0[18 ] + bf0[21 ], stage_range[stage]);
bf1[19 ] = clamp_value(bf0[19 ] + bf0[20 ], stage_range[stage]);
bf1[20 ] = clamp_value(bf0[19 ] - bf0[20 ], stage_range[stage]);
bf1[21 ] = clamp_value(bf0[18 ] - bf0[21 ], stage_range[stage]);
bf1[22 ] = clamp_value(bf0[17 ] - bf0[22 ], stage_range[stage]);
bf1[23 ] = clamp_value(bf0[16 ] - bf0[23 ], stage_range[stage]);
bf1[24 ] = clamp_value(-bf0[24 ] + bf0[31 ], stage_range[stage]);
bf1[25 ] = clamp_value(-bf0[25 ] + bf0[30 ], stage_range[stage]);
bf1[26 ] = clamp_value(-bf0[26 ] + bf0[29 ], stage_range[stage]);
bf1[27 ] = clamp_value(-bf0[27 ] + bf0[28 ], stage_range[stage]);
bf1[28 ] = clamp_value(bf0[27 ] + bf0[28 ], stage_range[stage]);
bf1[29 ] = clamp_value(bf0[26 ] + bf0[29 ], stage_range[stage]);
bf1[30 ] = clamp_value(bf0[25 ] + bf0[30 ], stage_range[stage]);
bf1[31 ] = clamp_value(bf0[24 ] + bf0[31 ], stage_range[stage]);
bf1[32 ] = bf0[32 ];
bf1[33 ] = bf0[33 ];
bf1[34 ] = bf0[34 ];
bf1[35 ] = bf0[35 ];
bf1[36 ] = half_btf(-cospi[16 ], bf0[36 ], cospi[48 ], bf0[59 ], cos_bit);
bf1[37 ] = half_btf(-cospi[16 ], bf0[37 ], cospi[48 ], bf0[58 ], cos_bit);
bf1[38 ] = half_btf(-cospi[16 ], bf0[38 ], cospi[48 ], bf0[57 ], cos_bit);
bf1[39 ] = half_btf(-cospi[16 ], bf0[39 ], cospi[48 ], bf0[56 ], cos_bit);
bf1[40 ] = half_btf(-cospi[48 ], bf0[40 ], -cospi[16 ], bf0[55 ], cos_bit);
bf1[41 ] = half_btf(-cospi[48 ], bf0[41 ], -cospi[16 ], bf0[54 ], cos_bit);
bf1[42 ] = half_btf(-cospi[48 ], bf0[42 ], -cospi[16 ], bf0[53 ], cos_bit);
bf1[43 ] = half_btf(-cospi[48 ], bf0[43 ], -cospi[16 ], bf0[52 ], cos_bit);
bf1[44 ] = bf0[44 ];
bf1[45 ] = bf0[45 ];
bf1[46 ] = bf0[46 ];
bf1[47 ] = bf0[47 ];
bf1[48 ] = bf0[48 ];
bf1[49 ] = bf0[49 ];
bf1[50 ] = bf0[50 ];
bf1[51 ] = bf0[51 ];
bf1[52 ] = half_btf(-cospi[16 ], bf0[43 ], cospi[48 ], bf0[52 ], cos_bit);
bf1[53 ] = half_btf(-cospi[16 ], bf0[42 ], cospi[48 ], bf0[53 ], cos_bit);
bf1[54 ] = half_btf(-cospi[16 ], bf0[41 ], cospi[48 ], bf0[54 ], cos_bit);
bf1[55 ] = half_btf(-cospi[16 ], bf0[40 ], cospi[48 ], bf0[55 ], cos_bit);
bf1[56 ] = half_btf(cospi[48 ], bf0[39 ], cospi[16 ], bf0[56 ], cos_bit);
bf1[57 ] = half_btf(cospi[48 ], bf0[38 ], cospi[16 ], bf0[57 ], cos_bit);
bf1[58 ] = half_btf(cospi[48 ], bf0[37 ], cospi[16 ], bf0[58 ], cos_bit);
bf1[59 ] = half_btf(cospi[48 ], bf0[36 ], cospi[16 ], bf0[59 ], cos_bit);
bf1[60 ] = bf0[60 ];
bf1[61 ] = bf0[61 ];
bf1[62 ] = bf0[62 ];
bf1[63 ] = bf0[63 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 9
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[15 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[14 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[2 ] + bf0[13 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[3 ] + bf0[12 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[11 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[5 ] + bf0[10 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[6 ] + bf0[9 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[7 ] + bf0[8 ], stage_range[stage]);
bf1[8 ] = clamp_value(bf0[7 ] - bf0[8 ], stage_range[stage]);
bf1[9 ] = clamp_value(bf0[6 ] - bf0[9 ], stage_range[stage]);
bf1[10 ] = clamp_value(bf0[5 ] - bf0[10 ], stage_range[stage]);
bf1[11 ] = clamp_value(bf0[4 ] - bf0[11 ], stage_range[stage]);
bf1[12 ] = clamp_value(bf0[3 ] - bf0[12 ], stage_range[stage]);
bf1[13 ] = clamp_value(bf0[2 ] - bf0[13 ], stage_range[stage]);
bf1[14 ] = clamp_value(bf0[1 ] - bf0[14 ], stage_range[stage]);
bf1[15 ] = clamp_value(bf0[0 ] - bf0[15 ], stage_range[stage]);
bf1[16 ] = bf0[16 ];
bf1[17 ] = bf0[17 ];
bf1[18 ] = bf0[18 ];
bf1[19 ] = bf0[19 ];
bf1[20 ] = half_btf(-cospi[32 ], bf0[20 ], cospi[32 ], bf0[27 ], cos_bit);
bf1[21 ] = half_btf(-cospi[32 ], bf0[21 ], cospi[32 ], bf0[26 ], cos_bit);
bf1[22 ] = half_btf(-cospi[32 ], bf0[22 ], cospi[32 ], bf0[25 ], cos_bit);
bf1[23 ] = half_btf(-cospi[32 ], bf0[23 ], cospi[32 ], bf0[24 ], cos_bit);
bf1[24 ] = half_btf(cospi[32 ], bf0[23 ], cospi[32 ], bf0[24 ], cos_bit);
bf1[25 ] = half_btf(cospi[32 ], bf0[22 ], cospi[32 ], bf0[25 ], cos_bit);
bf1[26 ] = half_btf(cospi[32 ], bf0[21 ], cospi[32 ], bf0[26 ], cos_bit);
bf1[27 ] = half_btf(cospi[32 ], bf0[20 ], cospi[32 ], bf0[27 ], cos_bit);
bf1[28 ] = bf0[28 ];
bf1[29 ] = bf0[29 ];
bf1[30 ] = bf0[30 ];
bf1[31 ] = bf0[31 ];
bf1[32 ] = clamp_value(bf0[32 ] + bf0[47 ], stage_range[stage]);
bf1[33 ] = clamp_value(bf0[33 ] + bf0[46 ], stage_range[stage]);
bf1[34 ] = clamp_value(bf0[34 ] + bf0[45 ], stage_range[stage]);
bf1[35 ] = clamp_value(bf0[35 ] + bf0[44 ], stage_range[stage]);
bf1[36 ] = clamp_value(bf0[36 ] + bf0[43 ], stage_range[stage]);
bf1[37 ] = clamp_value(bf0[37 ] + bf0[42 ], stage_range[stage]);
bf1[38 ] = clamp_value(bf0[38 ] + bf0[41 ], stage_range[stage]);
bf1[39 ] = clamp_value(bf0[39 ] + bf0[40 ], stage_range[stage]);
bf1[40 ] = clamp_value(bf0[39 ] - bf0[40 ], stage_range[stage]);
bf1[41 ] = clamp_value(bf0[38 ] - bf0[41 ], stage_range[stage]);
bf1[42 ] = clamp_value(bf0[37 ] - bf0[42 ], stage_range[stage]);
bf1[43 ] = clamp_value(bf0[36 ] - bf0[43 ], stage_range[stage]);
bf1[44 ] = clamp_value(bf0[35 ] - bf0[44 ], stage_range[stage]);
bf1[45 ] = clamp_value(bf0[34 ] - bf0[45 ], stage_range[stage]);
bf1[46 ] = clamp_value(bf0[33 ] - bf0[46 ], stage_range[stage]);
bf1[47 ] = clamp_value(bf0[32 ] - bf0[47 ], stage_range[stage]);
bf1[48 ] = clamp_value(-bf0[48 ] + bf0[63 ], stage_range[stage]);
bf1[49 ] = clamp_value(-bf0[49 ] + bf0[62 ], stage_range[stage]);
bf1[50 ] = clamp_value(-bf0[50 ] + bf0[61 ], stage_range[stage]);
bf1[51 ] = clamp_value(-bf0[51 ] + bf0[60 ], stage_range[stage]);
bf1[52 ] = clamp_value(-bf0[52 ] + bf0[59 ], stage_range[stage]);
bf1[53 ] = clamp_value(-bf0[53 ] + bf0[58 ], stage_range[stage]);
bf1[54 ] = clamp_value(-bf0[54 ] + bf0[57 ], stage_range[stage]);
bf1[55 ] = clamp_value(-bf0[55 ] + bf0[56 ], stage_range[stage]);
bf1[56 ] = clamp_value(bf0[55 ] + bf0[56 ], stage_range[stage]);
bf1[57 ] = clamp_value(bf0[54 ] + bf0[57 ], stage_range[stage]);
bf1[58 ] = clamp_value(bf0[53 ] + bf0[58 ], stage_range[stage]);
bf1[59 ] = clamp_value(bf0[52 ] + bf0[59 ], stage_range[stage]);
bf1[60 ] = clamp_value(bf0[51 ] + bf0[60 ], stage_range[stage]);
bf1[61 ] = clamp_value(bf0[50 ] + bf0[61 ], stage_range[stage]);
bf1[62 ] = clamp_value(bf0[49 ] + bf0[62 ], stage_range[stage]);
bf1[63 ] = clamp_value(bf0[48 ] + bf0[63 ], stage_range[stage]);
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 10
stage++;
bf0 = output;
bf1 = step;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[31 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[30 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[2 ] + bf0[29 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[3 ] + bf0[28 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[27 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[5 ] + bf0[26 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[6 ] + bf0[25 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[7 ] + bf0[24 ], stage_range[stage]);
bf1[8 ] = clamp_value(bf0[8 ] + bf0[23 ], stage_range[stage]);
bf1[9 ] = clamp_value(bf0[9 ] + bf0[22 ], stage_range[stage]);
bf1[10 ] = clamp_value(bf0[10 ] + bf0[21 ], stage_range[stage]);
bf1[11 ] = clamp_value(bf0[11 ] + bf0[20 ], stage_range[stage]);
bf1[12 ] = clamp_value(bf0[12 ] + bf0[19 ], stage_range[stage]);
bf1[13 ] = clamp_value(bf0[13 ] + bf0[18 ], stage_range[stage]);
bf1[14 ] = clamp_value(bf0[14 ] + bf0[17 ], stage_range[stage]);
bf1[15 ] = clamp_value(bf0[15 ] + bf0[16 ], stage_range[stage]);
bf1[16 ] = clamp_value(bf0[15 ] - bf0[16 ], stage_range[stage]);
bf1[17 ] = clamp_value(bf0[14 ] - bf0[17 ], stage_range[stage]);
bf1[18 ] = clamp_value(bf0[13 ] - bf0[18 ], stage_range[stage]);
bf1[19 ] = clamp_value(bf0[12 ] - bf0[19 ], stage_range[stage]);
bf1[20 ] = clamp_value(bf0[11 ] - bf0[20 ], stage_range[stage]);
bf1[21 ] = clamp_value(bf0[10 ] - bf0[21 ], stage_range[stage]);
bf1[22 ] = clamp_value(bf0[9 ] - bf0[22 ], stage_range[stage]);
bf1[23 ] = clamp_value(bf0[8 ] - bf0[23 ], stage_range[stage]);
bf1[24 ] = clamp_value(bf0[7 ] - bf0[24 ], stage_range[stage]);
bf1[25 ] = clamp_value(bf0[6 ] - bf0[25 ], stage_range[stage]);
bf1[26 ] = clamp_value(bf0[5 ] - bf0[26 ], stage_range[stage]);
bf1[27 ] = clamp_value(bf0[4 ] - bf0[27 ], stage_range[stage]);
bf1[28 ] = clamp_value(bf0[3 ] - bf0[28 ], stage_range[stage]);
bf1[29 ] = clamp_value(bf0[2 ] - bf0[29 ], stage_range[stage]);
bf1[30 ] = clamp_value(bf0[1 ] - bf0[30 ], stage_range[stage]);
bf1[31 ] = clamp_value(bf0[0 ] - bf0[31 ], stage_range[stage]);
bf1[32 ] = bf0[32 ];
bf1[33 ] = bf0[33 ];
bf1[34 ] = bf0[34 ];
bf1[35 ] = bf0[35 ];
bf1[36 ] = bf0[36 ];
bf1[37 ] = bf0[37 ];
bf1[38 ] = bf0[38 ];
bf1[39 ] = bf0[39 ];
bf1[40 ] = half_btf(-cospi[32 ], bf0[40 ], cospi[32 ], bf0[55 ], cos_bit);
bf1[41 ] = half_btf(-cospi[32 ], bf0[41 ], cospi[32 ], bf0[54 ], cos_bit);
bf1[42 ] = half_btf(-cospi[32 ], bf0[42 ], cospi[32 ], bf0[53 ], cos_bit);
bf1[43 ] = half_btf(-cospi[32 ], bf0[43 ], cospi[32 ], bf0[52 ], cos_bit);
bf1[44 ] = half_btf(-cospi[32 ], bf0[44 ], cospi[32 ], bf0[51 ], cos_bit);
bf1[45 ] = half_btf(-cospi[32 ], bf0[45 ], cospi[32 ], bf0[50 ], cos_bit);
bf1[46 ] = half_btf(-cospi[32 ], bf0[46 ], cospi[32 ], bf0[49 ], cos_bit);
bf1[47 ] = half_btf(-cospi[32 ], bf0[47 ], cospi[32 ], bf0[48 ], cos_bit);
bf1[48 ] = half_btf(cospi[32 ], bf0[47 ], cospi[32 ], bf0[48 ], cos_bit);
bf1[49 ] = half_btf(cospi[32 ], bf0[46 ], cospi[32 ], bf0[49 ], cos_bit);
bf1[50 ] = half_btf(cospi[32 ], bf0[45 ], cospi[32 ], bf0[50 ], cos_bit);
bf1[51 ] = half_btf(cospi[32 ], bf0[44 ], cospi[32 ], bf0[51 ], cos_bit);
bf1[52 ] = half_btf(cospi[32 ], bf0[43 ], cospi[32 ], bf0[52 ], cos_bit);
bf1[53 ] = half_btf(cospi[32 ], bf0[42 ], cospi[32 ], bf0[53 ], cos_bit);
bf1[54 ] = half_btf(cospi[32 ], bf0[41 ], cospi[32 ], bf0[54 ], cos_bit);
bf1[55 ] = half_btf(cospi[32 ], bf0[40 ], cospi[32 ], bf0[55 ], cos_bit);
bf1[56 ] = bf0[56 ];
bf1[57 ] = bf0[57 ];
bf1[58 ] = bf0[58 ];
bf1[59 ] = bf0[59 ];
bf1[60 ] = bf0[60 ];
bf1[61 ] = bf0[61 ];
bf1[62 ] = bf0[62 ];
bf1[63 ] = bf0[63 ];
av1_range_check_buf(stage, input, bf1, size, stage_range[stage]);
// stage 11
stage++;
bf0 = step;
bf1 = output;
bf1[0 ] = clamp_value(bf0[0 ] + bf0[63 ], stage_range[stage]);
bf1[1 ] = clamp_value(bf0[1 ] + bf0[62 ], stage_range[stage]);
bf1[2 ] = clamp_value(bf0[2 ] + bf0[61 ], stage_range[stage]);
bf1[3 ] = clamp_value(bf0[3 ] + bf0[60 ], stage_range[stage]);
bf1[4 ] = clamp_value(bf0[4 ] + bf0[59 ], stage_range[stage]);
bf1[5 ] = clamp_value(bf0[5 ] + bf0[58 ], stage_range[stage]);
bf1[6 ] = clamp_value(bf0[6 ] + bf0[57 ], stage_range[stage]);
bf1[7 ] = clamp_value(bf0[7 ] + bf0[56 ], stage_range[stage]);
bf1[8 ] = clamp_value(bf0[8 ] + bf0[55 ], stage_range[stage]);
bf1[9 ] = clamp_value(bf0[9 ] + bf0[54 ], stage_range[stage]);
bf1[10 ] = clamp_value(bf0[10 ] + bf0[53 ], stage_range[stage]);
bf1[11 ] = clamp_value(bf0[11 ] + bf0[52 ], stage_range[stage]);
bf1[12 ] = clamp_value(bf0[12 ] + bf0[51 ], stage_range[stage]);
bf1[13 ] = clamp_value(bf0[13 ] + bf0[50 ], stage_range[stage]);
bf1[14 ] = clamp_value(bf0[14 ] + bf0[49 ], stage_range[stage]);
bf1[15 ] = clamp_value(bf0[15 ] + bf0[48 ], stage_range[stage]);
bf1[16 ] = clamp_value(bf0[16 ] + bf0[47 ], stage_range[stage]);
bf1[17 ] = clamp_value(bf0[17 ] + bf0[46 ], stage_range[stage]);
bf1[18 ] = clamp_value(bf0[18 ] + bf0[45 ], stage_range[stage]);
bf1[19 ] = clamp_value(bf0[19 ] + bf0[44 ], stage_range[stage]);
bf1[20 ] = clamp_value(bf0[20 ] + bf0[43 ], stage_range[stage]);
bf1[21 ] = clamp_value(bf0[21 ] + bf0[42 ], stage_range[stage]);
bf1[22 ] = clamp_value(bf0[22 ] + bf0[41 ], stage_range[stage]);
bf1[23 ] = clamp_value(bf0[23 ] + bf0[40 ], stage_range[stage]);
bf1[24 ] = clamp_value(bf0[24 ] + bf0[39 ], stage_range[stage]);
bf1[25 ] = clamp_value(bf0[25 ] + bf0[38 ], stage_range[stage]);
bf1[26 ] = clamp_value(bf0[26 ] + bf0[37 ], stage_range[stage]);
bf1[27 ] = clamp_value(bf0[27 ] + bf0[36 ], stage_range[stage]);
bf1[28 ] = clamp_value(bf0[28 ] + bf0[35 ], stage_range[stage]);
bf1[29 ] = clamp_value(bf0[29 ] + bf0[34 ], stage_range[stage]);
bf1[30 ] = clamp_value(bf0[30 ] + bf0[33 ], stage_range[stage]);
bf1[31 ] = clamp_value(bf0[31 ] + bf0[32 ], stage_range[stage]);
bf1[32 ] = clamp_value(bf0[31 ] - bf0[32 ], stage_range[stage]);
bf1[33 ] = clamp_value(bf0[30 ] - bf0[33 ], stage_range[stage]);
bf1[34 ] = clamp_value(bf0[29 ] - bf0[34 ], stage_range[stage]);
bf1[35 ] = clamp_value(bf0[28 ] - bf0[35 ], stage_range[stage]);
bf1[36 ] = clamp_value(bf0[27 ] - bf0[36 ], stage_range[stage]);
bf1[37 ] = clamp_value(bf0[26 ] - bf0[37 ], stage_range[stage]);
bf1[38 ] = clamp_value(bf0[25 ] - bf0[38 ], stage_range[stage]);
bf1[39 ] = clamp_value(bf0[24 ] - bf0[39 ], stage_range[stage]);
bf1[40 ] = clamp_value(bf0[23 ] - bf0[40 ], stage_range[stage]);
bf1[41 ] = clamp_value(bf0[22 ] - bf0[41 ], stage_range[stage]);
bf1[42 ] = clamp_value(bf0[21 ] - bf0[42 ], stage_range[stage]);
bf1[43 ] = clamp_value(bf0[20 ] - bf0[43 ], stage_range[stage]);
bf1[44 ] = clamp_value(bf0[19 ] - bf0[44 ], stage_range[stage]);
bf1[45 ] = clamp_value(bf0[18 ] - bf0[45 ], stage_range[stage]);
bf1[46 ] = clamp_value(bf0[17 ] - bf0[46 ], stage_range[stage]);
bf1[47 ] = clamp_value(bf0[16 ] - bf0[47 ], stage_range[stage]);
bf1[48 ] = clamp_value(bf0[15 ] - bf0[48 ], stage_range[stage]);
bf1[49 ] = clamp_value(bf0[14 ] - bf0[49 ], stage_range[stage]);
bf1[50 ] = clamp_value(bf0[13 ] - bf0[50 ], stage_range[stage]);
bf1[51 ] = clamp_value(bf0[12 ] - bf0[51 ], stage_range[stage]);
bf1[52 ] = clamp_value(bf0[11 ] - bf0[52 ], stage_range[stage]);
bf1[53 ] = clamp_value(bf0[10 ] - bf0[53 ], stage_range[stage]);
bf1[54 ] = clamp_value(bf0[9 ] - bf0[54 ], stage_range[stage]);
bf1[55 ] = clamp_value(bf0[8 ] - bf0[55 ], stage_range[stage]);
bf1[56 ] = clamp_value(bf0[7 ] - bf0[56 ], stage_range[stage]);
bf1[57 ] = clamp_value(bf0[6 ] - bf0[57 ], stage_range[stage]);
bf1[58 ] = clamp_value(bf0[5 ] - bf0[58 ], stage_range[stage]);
bf1[59 ] = clamp_value(bf0[4 ] - bf0[59 ], stage_range[stage]);
bf1[60 ] = clamp_value(bf0[3 ] - bf0[60 ], stage_range[stage]);
bf1[61 ] = clamp_value(bf0[2 ] - bf0[61 ], stage_range[stage]);
bf1[62 ] = clamp_value(bf0[1 ] - bf0[62 ], stage_range[stage]);
bf1[63 ] = clamp_value(bf0[0 ] - bf0[63 ], stage_range[stage]);
}
Messung V0.5 in Prozent C=95 H=98 G=96
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.1.699Bemerkung:
¤
*Bot Zugriff