31 { 64, 64, 64, 64, 64, 64, 64, 64 },
32 { 89, 75, 50, 18, -18, -50, -75, -89 },
33 { 84, 35, -35, -84, -84, -35, 35, 84 },
34 { 75, -18, -89, -50, 50, 89, 18, -75 },
35 { 64, -64, -64, 64, 64, -64, -64, 64 },
36 { 50, -89, 18, 75, -75, -18, 89, -50 },
37 { 35, -84, 84, -35, -35, 84, -84, 35 },
38 { 18, -50, 75, -89, 89, -75, 50, -18 },
43 const int16_t *input_flat,
44 const int16_t *qmatrix_flat,
48 const int16_t (*
input)[8] = (
const int16_t(*)[8])input_flat;
49 const int16_t (*qmatrix)[8] = (
const int16_t(*)[8])qmatrix_flat;
51 int16_t scaled_coeff[8][8];
60 for (
int y = 0; y < 8; y++) {
61 for (
int x = 0; x < 8; x++) {
62 int coeff = ((int)(
input[y][x] * qmatrix[y][x] * (1
U << qp_shift) +
63 (1 << (bd_shift - 1)))) >> bd_shift;
77 for (
int x = 0; x < 8; x++) {
78 for (
int i = 0;
i < 8;
i++) {
80 for (
int j = 0; j < 8; j++)
87 for (
int x = 0; x < 8; x++) {
88 for (
int y = 0; y < 8; y++)
89 tmp[y][x] = (
tmp[y][x] + 64) >> 7;
93 for (
int y = 0; y < 8; y++) {
94 for (
int i = 0;
i < 8;
i++) {
96 for (
int j = 0; j < 8; j++)
98 recon_sample[y][
i] = sum;
109 for (
int y = 0; y < 8; y++) {
110 for (
int x = 0; x < 8; x++) {
111 int sample = ((recon_sample[y][x] +
112 (1 << (bd_shift - 1))) >> bd_shift) +
124 #if ARCH_X86_64 && HAVE_X86ASM