30 { 64, 64, 64, 64, 64, 64, 64, 64 },
31 { 89, 75, 50, 18, -18, -50, -75, -89 },
32 { 84, 35, -35, -84, -84, -35, 35, 84 },
33 { 75, -18, -89, -50, 50, 89, 18, -75 },
34 { 64, -64, -64, 64, 64, -64, -64, 64 },
35 { 50, -89, 18, 75, -75, -18, 89, -50 },
36 { 35, -84, 84, -35, -35, 84, -84, 35 },
37 { 18, -50, 75, -89, 89, -75, 50, -18 },
42 const int16_t *input_flat,
43 const int16_t *qmatrix_flat,
47 const int16_t (*
input)[8] = (
const int16_t(*)[8])input_flat;
48 const int16_t (*qmatrix)[8] = (
const int16_t(*)[8])qmatrix_flat;
50 int16_t scaled_coeff[8][8];
59 for (
int y = 0; y < 8; y++) {
60 for (
int x = 0; x < 8; x++) {
61 int coeff = (((
input[y][x] * qmatrix[y][x]) << qp_shift) +
62 (1 << (bd_shift - 1))) >> bd_shift;
76 for (
int x = 0; x < 8; x++) {
77 for (
int i = 0;
i < 8;
i++) {
79 for (
int j = 0; j < 8; j++)
86 for (
int x = 0; x < 8; x++) {
87 for (
int y = 0; y < 8; y++)
88 tmp[y][x] = (
tmp[y][x] + 64) >> 7;
92 for (
int y = 0; y < 8; y++) {
93 for (
int i = 0;
i < 8;
i++) {
95 for (
int j = 0; j < 8; j++)
97 recon_sample[y][
i] = sum;
107 for (
int y = 0; y < 8; y++) {
108 for (
int x = 0; x < 8; x++) {
109 int sample = ((recon_sample[y][x] +
110 (1 << (bd_shift - 1))) >> bd_shift) +
121 for (
int y = 0; y < 8; y++) {
122 for (
int x = 0; x < 8; x++) {
123 int sample = ((recon_sample[y][x] +
124 (1 << (bd_shift - 1))) >> bd_shift) +