1*09537850SAkhilesh Sanikop // Copyright 2019 The libgav1 Authors
2*09537850SAkhilesh Sanikop //
3*09537850SAkhilesh Sanikop // Licensed under the Apache License, Version 2.0 (the "License");
4*09537850SAkhilesh Sanikop // you may not use this file except in compliance with the License.
5*09537850SAkhilesh Sanikop // You may obtain a copy of the License at
6*09537850SAkhilesh Sanikop //
7*09537850SAkhilesh Sanikop // http://www.apache.org/licenses/LICENSE-2.0
8*09537850SAkhilesh Sanikop //
9*09537850SAkhilesh Sanikop // Unless required by applicable law or agreed to in writing, software
10*09537850SAkhilesh Sanikop // distributed under the License is distributed on an "AS IS" BASIS,
11*09537850SAkhilesh Sanikop // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*09537850SAkhilesh Sanikop // See the License for the specific language governing permissions and
13*09537850SAkhilesh Sanikop // limitations under the License.
14*09537850SAkhilesh Sanikop
15*09537850SAkhilesh Sanikop #include "src/dsp/intrapred.h"
16*09537850SAkhilesh Sanikop
17*09537850SAkhilesh Sanikop #include <algorithm>
18*09537850SAkhilesh Sanikop #include <cassert>
19*09537850SAkhilesh Sanikop #include <cstddef>
20*09537850SAkhilesh Sanikop #include <cstdint>
21*09537850SAkhilesh Sanikop #include <cstdlib>
22*09537850SAkhilesh Sanikop #include <cstring>
23*09537850SAkhilesh Sanikop
24*09537850SAkhilesh Sanikop #include "src/dsp/constants.h"
25*09537850SAkhilesh Sanikop #include "src/dsp/dsp.h"
26*09537850SAkhilesh Sanikop #include "src/utils/common.h"
27*09537850SAkhilesh Sanikop #include "src/utils/constants.h"
28*09537850SAkhilesh Sanikop #include "src/utils/memory.h"
29*09537850SAkhilesh Sanikop
30*09537850SAkhilesh Sanikop namespace libgav1 {
31*09537850SAkhilesh Sanikop namespace dsp {
32*09537850SAkhilesh Sanikop namespace {
33*09537850SAkhilesh Sanikop
34*09537850SAkhilesh Sanikop template <int block_width, int block_height, typename Pixel>
35*09537850SAkhilesh Sanikop struct IntraPredFuncs_C {
36*09537850SAkhilesh Sanikop IntraPredFuncs_C() = delete;
37*09537850SAkhilesh Sanikop
38*09537850SAkhilesh Sanikop static void DcTop(void* dest, ptrdiff_t stride, const void* top_row,
39*09537850SAkhilesh Sanikop const void* left_column);
40*09537850SAkhilesh Sanikop static void DcLeft(void* dest, ptrdiff_t stride, const void* top_row,
41*09537850SAkhilesh Sanikop const void* left_column);
42*09537850SAkhilesh Sanikop static void Dc(void* dest, ptrdiff_t stride, const void* top_row,
43*09537850SAkhilesh Sanikop const void* left_column);
44*09537850SAkhilesh Sanikop static void Vertical(void* dest, ptrdiff_t stride, const void* top_row,
45*09537850SAkhilesh Sanikop const void* left_column);
46*09537850SAkhilesh Sanikop static void Horizontal(void* dest, ptrdiff_t stride, const void* top_row,
47*09537850SAkhilesh Sanikop const void* left_column);
48*09537850SAkhilesh Sanikop static void Paeth(void* dest, ptrdiff_t stride, const void* top_row,
49*09537850SAkhilesh Sanikop const void* left_column);
50*09537850SAkhilesh Sanikop };
51*09537850SAkhilesh Sanikop
52*09537850SAkhilesh Sanikop // Intra-predictors that require bitdepth.
53*09537850SAkhilesh Sanikop template <int block_width, int block_height, int bitdepth, typename Pixel>
54*09537850SAkhilesh Sanikop struct IntraPredBppFuncs_C {
55*09537850SAkhilesh Sanikop IntraPredBppFuncs_C() = delete;
56*09537850SAkhilesh Sanikop
57*09537850SAkhilesh Sanikop static void DcFill(void* dest, ptrdiff_t stride, const void* top_row,
58*09537850SAkhilesh Sanikop const void* left_column);
59*09537850SAkhilesh Sanikop };
60*09537850SAkhilesh Sanikop
61*09537850SAkhilesh Sanikop //------------------------------------------------------------------------------
62*09537850SAkhilesh Sanikop // IntraPredFuncs_C::DcPred
63*09537850SAkhilesh Sanikop
64*09537850SAkhilesh Sanikop template <int block_width, int block_height, typename Pixel>
DcTop(void * LIBGAV1_RESTRICT const dest,ptrdiff_t stride,const void * LIBGAV1_RESTRICT const top_row,const void *)65*09537850SAkhilesh Sanikop void IntraPredFuncs_C<block_width, block_height, Pixel>::DcTop(
66*09537850SAkhilesh Sanikop void* LIBGAV1_RESTRICT const dest, ptrdiff_t stride,
67*09537850SAkhilesh Sanikop const void* LIBGAV1_RESTRICT const top_row, const void* /*left_column*/) {
68*09537850SAkhilesh Sanikop int sum = block_width >> 1; // rounder
69*09537850SAkhilesh Sanikop const auto* const top = static_cast<const Pixel*>(top_row);
70*09537850SAkhilesh Sanikop for (int x = 0; x < block_width; ++x) sum += top[x];
71*09537850SAkhilesh Sanikop const int dc = sum >> FloorLog2(block_width);
72*09537850SAkhilesh Sanikop
73*09537850SAkhilesh Sanikop auto* dst = static_cast<Pixel*>(dest);
74*09537850SAkhilesh Sanikop stride /= sizeof(Pixel);
75*09537850SAkhilesh Sanikop for (int y = 0; y < block_height; ++y) {
76*09537850SAkhilesh Sanikop Memset(dst, dc, block_width);
77*09537850SAkhilesh Sanikop dst += stride;
78*09537850SAkhilesh Sanikop }
79*09537850SAkhilesh Sanikop }
80*09537850SAkhilesh Sanikop
81*09537850SAkhilesh Sanikop template <int block_width, int block_height, typename Pixel>
DcLeft(void * LIBGAV1_RESTRICT const dest,ptrdiff_t stride,const void *,const void * LIBGAV1_RESTRICT const left_column)82*09537850SAkhilesh Sanikop void IntraPredFuncs_C<block_width, block_height, Pixel>::DcLeft(
83*09537850SAkhilesh Sanikop void* LIBGAV1_RESTRICT const dest, ptrdiff_t stride,
84*09537850SAkhilesh Sanikop const void* /*top_row*/, const void* LIBGAV1_RESTRICT const left_column) {
85*09537850SAkhilesh Sanikop int sum = block_height >> 1; // rounder
86*09537850SAkhilesh Sanikop const auto* const left = static_cast<const Pixel*>(left_column);
87*09537850SAkhilesh Sanikop for (int y = 0; y < block_height; ++y) sum += left[y];
88*09537850SAkhilesh Sanikop const int dc = sum >> FloorLog2(block_height);
89*09537850SAkhilesh Sanikop
90*09537850SAkhilesh Sanikop auto* dst = static_cast<Pixel*>(dest);
91*09537850SAkhilesh Sanikop stride /= sizeof(Pixel);
92*09537850SAkhilesh Sanikop for (int y = 0; y < block_height; ++y) {
93*09537850SAkhilesh Sanikop Memset(dst, dc, block_width);
94*09537850SAkhilesh Sanikop dst += stride;
95*09537850SAkhilesh Sanikop }
96*09537850SAkhilesh Sanikop }
97*09537850SAkhilesh Sanikop
98*09537850SAkhilesh Sanikop // Note for square blocks the divide in the Dc() function reduces to a shift.
99*09537850SAkhilesh Sanikop // For rectangular block sizes the following multipliers can be used with the
100*09537850SAkhilesh Sanikop // corresponding shifts.
101*09537850SAkhilesh Sanikop // 8-bit
102*09537850SAkhilesh Sanikop // 1:2 (e.g,, 4x8): scale = 0x5556
103*09537850SAkhilesh Sanikop // 1:4 (e.g., 4x16): scale = 0x3334
104*09537850SAkhilesh Sanikop // final_descale = 16
105*09537850SAkhilesh Sanikop // 10/12-bit
106*09537850SAkhilesh Sanikop // 1:2: scale = 0xaaab
107*09537850SAkhilesh Sanikop // 1:4: scale = 0x6667
108*09537850SAkhilesh Sanikop // final_descale = 17
109*09537850SAkhilesh Sanikop // Note these may be halved to the values used in 8-bit in all cases except
110*09537850SAkhilesh Sanikop // when bitdepth == 12 and block_width + block_height is divisible by 5 (as
111*09537850SAkhilesh Sanikop // opposed to 3).
112*09537850SAkhilesh Sanikop //
113*09537850SAkhilesh Sanikop // The calculation becomes:
114*09537850SAkhilesh Sanikop // (dc_sum >> intermediate_descale) * scale) >> final_descale
115*09537850SAkhilesh Sanikop // where intermediate_descale is:
116*09537850SAkhilesh Sanikop // sum = block_width + block_height
117*09537850SAkhilesh Sanikop // intermediate_descale =
118*09537850SAkhilesh Sanikop // (sum <= 20) ? 2 : (sum <= 40) ? 3 : (sum <= 80) ? 4 : 5
119*09537850SAkhilesh Sanikop //
120*09537850SAkhilesh Sanikop // The constants (multiplier and shifts) for a given block size are obtained
121*09537850SAkhilesh Sanikop // as follows:
122*09537850SAkhilesh Sanikop // - Let sum = block width + block height
123*09537850SAkhilesh Sanikop // - Shift 'sum' right until we reach an odd number
124*09537850SAkhilesh Sanikop // - Let the number of shifts for that block size be called 'intermediate_scale'
125*09537850SAkhilesh Sanikop // and let the odd number be 'd' (d has only 2 possible values: d = 3 for a
126*09537850SAkhilesh Sanikop // 1:2 rectangular block and d = 5 for a 1:4 rectangular block).
127*09537850SAkhilesh Sanikop // - Find multipliers by dividing by 'd' using "Algorithm 1" in:
128*09537850SAkhilesh Sanikop // http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1467632
129*09537850SAkhilesh Sanikop // by ensuring that m + n = 16 (in that algorithm). This ensures that our 2nd
130*09537850SAkhilesh Sanikop // shift will be 16, regardless of the block size.
131*09537850SAkhilesh Sanikop // TODO(jzern): the base implementation could be updated to use this method.
132*09537850SAkhilesh Sanikop
133*09537850SAkhilesh Sanikop template <int block_width, int block_height, typename Pixel>
Dc(void * LIBGAV1_RESTRICT const dest,ptrdiff_t stride,const void * LIBGAV1_RESTRICT const top_row,const void * LIBGAV1_RESTRICT const left_column)134*09537850SAkhilesh Sanikop void IntraPredFuncs_C<block_width, block_height, Pixel>::Dc(
135*09537850SAkhilesh Sanikop void* LIBGAV1_RESTRICT const dest, ptrdiff_t stride,
136*09537850SAkhilesh Sanikop const void* LIBGAV1_RESTRICT const top_row,
137*09537850SAkhilesh Sanikop const void* LIBGAV1_RESTRICT const left_column) {
138*09537850SAkhilesh Sanikop const int divisor = block_width + block_height;
139*09537850SAkhilesh Sanikop int sum = divisor >> 1; // rounder
140*09537850SAkhilesh Sanikop
141*09537850SAkhilesh Sanikop const auto* const top = static_cast<const Pixel*>(top_row);
142*09537850SAkhilesh Sanikop const auto* const left = static_cast<const Pixel*>(left_column);
143*09537850SAkhilesh Sanikop for (int x = 0; x < block_width; ++x) sum += top[x];
144*09537850SAkhilesh Sanikop for (int y = 0; y < block_height; ++y) sum += left[y];
145*09537850SAkhilesh Sanikop
146*09537850SAkhilesh Sanikop const int dc = sum / divisor;
147*09537850SAkhilesh Sanikop
148*09537850SAkhilesh Sanikop auto* dst = static_cast<Pixel*>(dest);
149*09537850SAkhilesh Sanikop stride /= sizeof(Pixel);
150*09537850SAkhilesh Sanikop for (int y = 0; y < block_height; ++y) {
151*09537850SAkhilesh Sanikop Memset(dst, dc, block_width);
152*09537850SAkhilesh Sanikop dst += stride;
153*09537850SAkhilesh Sanikop }
154*09537850SAkhilesh Sanikop }
155*09537850SAkhilesh Sanikop
156*09537850SAkhilesh Sanikop //------------------------------------------------------------------------------
157*09537850SAkhilesh Sanikop // IntraPredFuncs_C directional predictors
158*09537850SAkhilesh Sanikop
159*09537850SAkhilesh Sanikop // IntraPredFuncs_C::Vertical -- apply top row vertically
160*09537850SAkhilesh Sanikop template <int block_width, int block_height, typename Pixel>
Vertical(void * LIBGAV1_RESTRICT const dest,ptrdiff_t stride,const void * LIBGAV1_RESTRICT const top_row,const void *)161*09537850SAkhilesh Sanikop void IntraPredFuncs_C<block_width, block_height, Pixel>::Vertical(
162*09537850SAkhilesh Sanikop void* LIBGAV1_RESTRICT const dest, ptrdiff_t stride,
163*09537850SAkhilesh Sanikop const void* LIBGAV1_RESTRICT const top_row, const void* /*left_column*/) {
164*09537850SAkhilesh Sanikop auto* dst = static_cast<uint8_t*>(dest);
165*09537850SAkhilesh Sanikop for (int y = 0; y < block_height; ++y) {
166*09537850SAkhilesh Sanikop memcpy(dst, top_row, block_width * sizeof(Pixel));
167*09537850SAkhilesh Sanikop dst += stride;
168*09537850SAkhilesh Sanikop }
169*09537850SAkhilesh Sanikop }
170*09537850SAkhilesh Sanikop
171*09537850SAkhilesh Sanikop // IntraPredFuncs_C::Horizontal -- apply left column horizontally
172*09537850SAkhilesh Sanikop template <int block_width, int block_height, typename Pixel>
Horizontal(void * LIBGAV1_RESTRICT const dest,ptrdiff_t stride,const void *,const void * LIBGAV1_RESTRICT const left_column)173*09537850SAkhilesh Sanikop void IntraPredFuncs_C<block_width, block_height, Pixel>::Horizontal(
174*09537850SAkhilesh Sanikop void* LIBGAV1_RESTRICT const dest, ptrdiff_t stride,
175*09537850SAkhilesh Sanikop const void* /*top_row*/, const void* LIBGAV1_RESTRICT const left_column) {
176*09537850SAkhilesh Sanikop const auto* const left = static_cast<const Pixel*>(left_column);
177*09537850SAkhilesh Sanikop auto* dst = static_cast<Pixel*>(dest);
178*09537850SAkhilesh Sanikop stride /= sizeof(Pixel);
179*09537850SAkhilesh Sanikop for (int y = 0; y < block_height; ++y) {
180*09537850SAkhilesh Sanikop Memset(dst, left[y], block_width);
181*09537850SAkhilesh Sanikop dst += stride;
182*09537850SAkhilesh Sanikop }
183*09537850SAkhilesh Sanikop }
184*09537850SAkhilesh Sanikop
185*09537850SAkhilesh Sanikop // IntraPredFuncs_C::Paeth
186*09537850SAkhilesh Sanikop template <int block_width, int block_height, typename Pixel>
Paeth(void * LIBGAV1_RESTRICT const dest,ptrdiff_t stride,const void * LIBGAV1_RESTRICT const top_row,const void * LIBGAV1_RESTRICT const left_column)187*09537850SAkhilesh Sanikop void IntraPredFuncs_C<block_width, block_height, Pixel>::Paeth(
188*09537850SAkhilesh Sanikop void* LIBGAV1_RESTRICT const dest, ptrdiff_t stride,
189*09537850SAkhilesh Sanikop const void* LIBGAV1_RESTRICT const top_row,
190*09537850SAkhilesh Sanikop const void* LIBGAV1_RESTRICT const left_column) {
191*09537850SAkhilesh Sanikop const auto* const top = static_cast<const Pixel*>(top_row);
192*09537850SAkhilesh Sanikop const auto* const left = static_cast<const Pixel*>(left_column);
193*09537850SAkhilesh Sanikop const Pixel top_left = top[-1];
194*09537850SAkhilesh Sanikop const int top_left_x2 = top_left + top_left;
195*09537850SAkhilesh Sanikop auto* dst = static_cast<Pixel*>(dest);
196*09537850SAkhilesh Sanikop stride /= sizeof(Pixel);
197*09537850SAkhilesh Sanikop
198*09537850SAkhilesh Sanikop for (int y = 0; y < block_height; ++y) {
199*09537850SAkhilesh Sanikop const int left_pixel = left[y];
200*09537850SAkhilesh Sanikop for (int x = 0; x < block_width; ++x) {
201*09537850SAkhilesh Sanikop // The Paeth filter selects the value closest to:
202*09537850SAkhilesh Sanikop // top[x] + left[y] - top_left
203*09537850SAkhilesh Sanikop // To calculate the absolute distance for the left value this would be:
204*09537850SAkhilesh Sanikop // abs((top[x] + left[y] - top_left) - left[y])
205*09537850SAkhilesh Sanikop // or, because left[y] cancels out:
206*09537850SAkhilesh Sanikop // abs(top[x] - top_left)
207*09537850SAkhilesh Sanikop const int left_dist = std::abs(top[x] - top_left);
208*09537850SAkhilesh Sanikop const int top_dist = std::abs(left_pixel - top_left);
209*09537850SAkhilesh Sanikop const int top_left_dist = std::abs(top[x] + left_pixel - top_left_x2);
210*09537850SAkhilesh Sanikop
211*09537850SAkhilesh Sanikop // Select the closest value to the initial estimate of 'T + L - TL'.
212*09537850SAkhilesh Sanikop if (left_dist <= top_dist && left_dist <= top_left_dist) {
213*09537850SAkhilesh Sanikop dst[x] = left_pixel;
214*09537850SAkhilesh Sanikop } else if (top_dist <= top_left_dist) {
215*09537850SAkhilesh Sanikop dst[x] = top[x];
216*09537850SAkhilesh Sanikop } else {
217*09537850SAkhilesh Sanikop dst[x] = top_left;
218*09537850SAkhilesh Sanikop }
219*09537850SAkhilesh Sanikop }
220*09537850SAkhilesh Sanikop dst += stride;
221*09537850SAkhilesh Sanikop }
222*09537850SAkhilesh Sanikop }
223*09537850SAkhilesh Sanikop
224*09537850SAkhilesh Sanikop //------------------------------------------------------------------------------
225*09537850SAkhilesh Sanikop // IntraPredBppFuncs_C
226*09537850SAkhilesh Sanikop template <int fill, typename Pixel>
DcFill_C(void * const dest,ptrdiff_t stride,const int block_width,const int block_height)227*09537850SAkhilesh Sanikop inline void DcFill_C(void* const dest, ptrdiff_t stride, const int block_width,
228*09537850SAkhilesh Sanikop const int block_height) {
229*09537850SAkhilesh Sanikop static_assert(sizeof(Pixel) == 1 || sizeof(Pixel) == 2,
230*09537850SAkhilesh Sanikop "Only 1 & 2 byte pixels are supported");
231*09537850SAkhilesh Sanikop
232*09537850SAkhilesh Sanikop auto* dst = static_cast<Pixel*>(dest);
233*09537850SAkhilesh Sanikop stride /= sizeof(Pixel);
234*09537850SAkhilesh Sanikop for (int y = 0; y < block_height; ++y) {
235*09537850SAkhilesh Sanikop Memset(dst, fill, block_width);
236*09537850SAkhilesh Sanikop dst += stride;
237*09537850SAkhilesh Sanikop }
238*09537850SAkhilesh Sanikop }
239*09537850SAkhilesh Sanikop
240*09537850SAkhilesh Sanikop template <int block_width, int block_height, int bitdepth, typename Pixel>
DcFill(void * const dest,ptrdiff_t stride,const void *,const void *)241*09537850SAkhilesh Sanikop void IntraPredBppFuncs_C<block_width, block_height, bitdepth, Pixel>::DcFill(
242*09537850SAkhilesh Sanikop void* const dest, ptrdiff_t stride, const void* /*top_row*/,
243*09537850SAkhilesh Sanikop const void* /*left_column*/) {
244*09537850SAkhilesh Sanikop DcFill_C<0x80 << (bitdepth - 8), Pixel>(dest, stride, block_width,
245*09537850SAkhilesh Sanikop block_height);
246*09537850SAkhilesh Sanikop }
247*09537850SAkhilesh Sanikop
248*09537850SAkhilesh Sanikop // -----------------------------------------------------------------------------
249*09537850SAkhilesh Sanikop
250*09537850SAkhilesh Sanikop template <typename Pixel>
251*09537850SAkhilesh Sanikop struct IntraPredDefs {
252*09537850SAkhilesh Sanikop IntraPredDefs() = delete;
253*09537850SAkhilesh Sanikop
254*09537850SAkhilesh Sanikop using _4x4 = IntraPredFuncs_C<4, 4, Pixel>;
255*09537850SAkhilesh Sanikop using _4x8 = IntraPredFuncs_C<4, 8, Pixel>;
256*09537850SAkhilesh Sanikop using _4x16 = IntraPredFuncs_C<4, 16, Pixel>;
257*09537850SAkhilesh Sanikop using _8x4 = IntraPredFuncs_C<8, 4, Pixel>;
258*09537850SAkhilesh Sanikop using _8x8 = IntraPredFuncs_C<8, 8, Pixel>;
259*09537850SAkhilesh Sanikop using _8x16 = IntraPredFuncs_C<8, 16, Pixel>;
260*09537850SAkhilesh Sanikop using _8x32 = IntraPredFuncs_C<8, 32, Pixel>;
261*09537850SAkhilesh Sanikop using _16x4 = IntraPredFuncs_C<16, 4, Pixel>;
262*09537850SAkhilesh Sanikop using _16x8 = IntraPredFuncs_C<16, 8, Pixel>;
263*09537850SAkhilesh Sanikop using _16x16 = IntraPredFuncs_C<16, 16, Pixel>;
264*09537850SAkhilesh Sanikop using _16x32 = IntraPredFuncs_C<16, 32, Pixel>;
265*09537850SAkhilesh Sanikop using _16x64 = IntraPredFuncs_C<16, 64, Pixel>;
266*09537850SAkhilesh Sanikop using _32x8 = IntraPredFuncs_C<32, 8, Pixel>;
267*09537850SAkhilesh Sanikop using _32x16 = IntraPredFuncs_C<32, 16, Pixel>;
268*09537850SAkhilesh Sanikop using _32x32 = IntraPredFuncs_C<32, 32, Pixel>;
269*09537850SAkhilesh Sanikop using _32x64 = IntraPredFuncs_C<32, 64, Pixel>;
270*09537850SAkhilesh Sanikop using _64x16 = IntraPredFuncs_C<64, 16, Pixel>;
271*09537850SAkhilesh Sanikop using _64x32 = IntraPredFuncs_C<64, 32, Pixel>;
272*09537850SAkhilesh Sanikop using _64x64 = IntraPredFuncs_C<64, 64, Pixel>;
273*09537850SAkhilesh Sanikop };
274*09537850SAkhilesh Sanikop
275*09537850SAkhilesh Sanikop template <int bitdepth, typename Pixel>
276*09537850SAkhilesh Sanikop struct IntraPredBppDefs {
277*09537850SAkhilesh Sanikop IntraPredBppDefs() = delete;
278*09537850SAkhilesh Sanikop
279*09537850SAkhilesh Sanikop using _4x4 = IntraPredBppFuncs_C<4, 4, bitdepth, Pixel>;
280*09537850SAkhilesh Sanikop using _4x8 = IntraPredBppFuncs_C<4, 8, bitdepth, Pixel>;
281*09537850SAkhilesh Sanikop using _4x16 = IntraPredBppFuncs_C<4, 16, bitdepth, Pixel>;
282*09537850SAkhilesh Sanikop using _8x4 = IntraPredBppFuncs_C<8, 4, bitdepth, Pixel>;
283*09537850SAkhilesh Sanikop using _8x8 = IntraPredBppFuncs_C<8, 8, bitdepth, Pixel>;
284*09537850SAkhilesh Sanikop using _8x16 = IntraPredBppFuncs_C<8, 16, bitdepth, Pixel>;
285*09537850SAkhilesh Sanikop using _8x32 = IntraPredBppFuncs_C<8, 32, bitdepth, Pixel>;
286*09537850SAkhilesh Sanikop using _16x4 = IntraPredBppFuncs_C<16, 4, bitdepth, Pixel>;
287*09537850SAkhilesh Sanikop using _16x8 = IntraPredBppFuncs_C<16, 8, bitdepth, Pixel>;
288*09537850SAkhilesh Sanikop using _16x16 = IntraPredBppFuncs_C<16, 16, bitdepth, Pixel>;
289*09537850SAkhilesh Sanikop using _16x32 = IntraPredBppFuncs_C<16, 32, bitdepth, Pixel>;
290*09537850SAkhilesh Sanikop using _16x64 = IntraPredBppFuncs_C<16, 64, bitdepth, Pixel>;
291*09537850SAkhilesh Sanikop using _32x8 = IntraPredBppFuncs_C<32, 8, bitdepth, Pixel>;
292*09537850SAkhilesh Sanikop using _32x16 = IntraPredBppFuncs_C<32, 16, bitdepth, Pixel>;
293*09537850SAkhilesh Sanikop using _32x32 = IntraPredBppFuncs_C<32, 32, bitdepth, Pixel>;
294*09537850SAkhilesh Sanikop using _32x64 = IntraPredBppFuncs_C<32, 64, bitdepth, Pixel>;
295*09537850SAkhilesh Sanikop using _64x16 = IntraPredBppFuncs_C<64, 16, bitdepth, Pixel>;
296*09537850SAkhilesh Sanikop using _64x32 = IntraPredBppFuncs_C<64, 32, bitdepth, Pixel>;
297*09537850SAkhilesh Sanikop using _64x64 = IntraPredBppFuncs_C<64, 64, bitdepth, Pixel>;
298*09537850SAkhilesh Sanikop };
299*09537850SAkhilesh Sanikop
300*09537850SAkhilesh Sanikop using Defs = IntraPredDefs<uint8_t>;
301*09537850SAkhilesh Sanikop using Defs8bpp = IntraPredBppDefs<8, uint8_t>;
302*09537850SAkhilesh Sanikop
303*09537850SAkhilesh Sanikop // Initializes dsp entries for kTransformSize|W|x|H| from |DEFS|/|DEFSBPP| of
304*09537850SAkhilesh Sanikop // the same size.
305*09537850SAkhilesh Sanikop #define INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, W, H) \
306*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize##W##x##H][kIntraPredictorDcFill] = \
307*09537850SAkhilesh Sanikop DEFSBPP::_##W##x##H::DcFill; \
308*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize##W##x##H][kIntraPredictorDcTop] = \
309*09537850SAkhilesh Sanikop DEFS::_##W##x##H::DcTop; \
310*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize##W##x##H][kIntraPredictorDcLeft] = \
311*09537850SAkhilesh Sanikop DEFS::_##W##x##H::DcLeft; \
312*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize##W##x##H][kIntraPredictorDc] = \
313*09537850SAkhilesh Sanikop DEFS::_##W##x##H::Dc; \
314*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize##W##x##H][kIntraPredictorVertical] = \
315*09537850SAkhilesh Sanikop DEFS::_##W##x##H::Vertical; \
316*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize##W##x##H][kIntraPredictorHorizontal] = \
317*09537850SAkhilesh Sanikop DEFS::_##W##x##H::Horizontal; \
318*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize##W##x##H][kIntraPredictorPaeth] = \
319*09537850SAkhilesh Sanikop DEFS::_##W##x##H::Paeth
320*09537850SAkhilesh Sanikop
321*09537850SAkhilesh Sanikop #define INIT_INTRAPREDICTORS(DEFS, DEFSBPP) \
322*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 4, 4); \
323*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 4, 8); \
324*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 4, 16); \
325*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 8, 4); \
326*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 8, 8); \
327*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 8, 16); \
328*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 8, 32); \
329*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 16, 4); \
330*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 16, 8); \
331*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 16, 16); \
332*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 16, 32); \
333*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 16, 64); \
334*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 32, 8); \
335*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 32, 16); \
336*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 32, 32); \
337*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 32, 64); \
338*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 64, 16); \
339*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 64, 32); \
340*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS_WxH(DEFS, DEFSBPP, 64, 64)
341*09537850SAkhilesh Sanikop
Init8bpp()342*09537850SAkhilesh Sanikop void Init8bpp() {
343*09537850SAkhilesh Sanikop Dsp* const dsp = dsp_internal::GetWritableDspTable(8);
344*09537850SAkhilesh Sanikop assert(dsp != nullptr);
345*09537850SAkhilesh Sanikop #if LIBGAV1_ENABLE_ALL_DSP_FUNCTIONS
346*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS(Defs, Defs8bpp);
347*09537850SAkhilesh Sanikop #else // !LIBGAV1_ENABLE_ALL_DSP_FUNCTIONS
348*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorDcFill
349*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorDcFill] =
350*09537850SAkhilesh Sanikop Defs8bpp::_4x4::DcFill;
351*09537850SAkhilesh Sanikop #endif
352*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorDcTop
353*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorDcTop] =
354*09537850SAkhilesh Sanikop Defs::_4x4::DcTop;
355*09537850SAkhilesh Sanikop #endif
356*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorDcLeft
357*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorDcLeft] =
358*09537850SAkhilesh Sanikop Defs::_4x4::DcLeft;
359*09537850SAkhilesh Sanikop #endif
360*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorDc
361*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorDc] = Defs::_4x4::Dc;
362*09537850SAkhilesh Sanikop #endif
363*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorVertical
364*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorVertical] =
365*09537850SAkhilesh Sanikop Defs::_4x4::Vertical;
366*09537850SAkhilesh Sanikop #endif
367*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorHorizontal
368*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorHorizontal] =
369*09537850SAkhilesh Sanikop Defs::_4x4::Horizontal;
370*09537850SAkhilesh Sanikop #endif
371*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x4_IntraPredictorPaeth
372*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorPaeth] =
373*09537850SAkhilesh Sanikop Defs::_4x4::Paeth;
374*09537850SAkhilesh Sanikop #endif
375*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorDcFill
376*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorDcFill] =
377*09537850SAkhilesh Sanikop Defs8bpp::_4x8::DcFill;
378*09537850SAkhilesh Sanikop #endif
379*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorDcTop
380*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorDcTop] =
381*09537850SAkhilesh Sanikop Defs::_4x8::DcTop;
382*09537850SAkhilesh Sanikop #endif
383*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorDcLeft
384*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorDcLeft] =
385*09537850SAkhilesh Sanikop Defs::_4x8::DcLeft;
386*09537850SAkhilesh Sanikop #endif
387*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorDc
388*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorDc] = Defs::_4x8::Dc;
389*09537850SAkhilesh Sanikop #endif
390*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorVertical
391*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorVertical] =
392*09537850SAkhilesh Sanikop Defs::_4x8::Vertical;
393*09537850SAkhilesh Sanikop #endif
394*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorHorizontal
395*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorHorizontal] =
396*09537850SAkhilesh Sanikop Defs::_4x8::Horizontal;
397*09537850SAkhilesh Sanikop #endif
398*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x8_IntraPredictorPaeth
399*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorPaeth] =
400*09537850SAkhilesh Sanikop Defs::_4x8::Paeth;
401*09537850SAkhilesh Sanikop #endif
402*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorDcFill
403*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorDcFill] =
404*09537850SAkhilesh Sanikop Defs8bpp::_4x16::DcFill;
405*09537850SAkhilesh Sanikop #endif
406*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorDcTop
407*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorDcTop] =
408*09537850SAkhilesh Sanikop Defs::_4x16::DcTop;
409*09537850SAkhilesh Sanikop #endif
410*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorDcLeft
411*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorDcLeft] =
412*09537850SAkhilesh Sanikop Defs::_4x16::DcLeft;
413*09537850SAkhilesh Sanikop #endif
414*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorDc
415*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorDc] =
416*09537850SAkhilesh Sanikop Defs::_4x16::Dc;
417*09537850SAkhilesh Sanikop #endif
418*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorVertical
419*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorVertical] =
420*09537850SAkhilesh Sanikop Defs::_4x16::Vertical;
421*09537850SAkhilesh Sanikop #endif
422*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorHorizontal
423*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorHorizontal] =
424*09537850SAkhilesh Sanikop Defs::_4x16::Horizontal;
425*09537850SAkhilesh Sanikop #endif
426*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize4x16_IntraPredictorPaeth
427*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorPaeth] =
428*09537850SAkhilesh Sanikop Defs::_4x16::Paeth;
429*09537850SAkhilesh Sanikop #endif
430*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorDcFill
431*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorDcFill] =
432*09537850SAkhilesh Sanikop Defs8bpp::_8x4::DcFill;
433*09537850SAkhilesh Sanikop #endif
434*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorDcTop
435*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorDcTop] =
436*09537850SAkhilesh Sanikop Defs::_8x4::DcTop;
437*09537850SAkhilesh Sanikop #endif
438*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorDcLeft
439*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorDcLeft] =
440*09537850SAkhilesh Sanikop Defs::_8x4::DcLeft;
441*09537850SAkhilesh Sanikop #endif
442*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorDc
443*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorDc] = Defs::_8x4::Dc;
444*09537850SAkhilesh Sanikop #endif
445*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorVertical
446*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorVertical] =
447*09537850SAkhilesh Sanikop Defs::_8x4::Vertical;
448*09537850SAkhilesh Sanikop #endif
449*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorHorizontal
450*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorHorizontal] =
451*09537850SAkhilesh Sanikop Defs::_8x4::Horizontal;
452*09537850SAkhilesh Sanikop #endif
453*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x4_IntraPredictorPaeth
454*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorPaeth] =
455*09537850SAkhilesh Sanikop Defs::_8x4::Paeth;
456*09537850SAkhilesh Sanikop #endif
457*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorDcFill
458*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorDcFill] =
459*09537850SAkhilesh Sanikop Defs8bpp::_8x8::DcFill;
460*09537850SAkhilesh Sanikop #endif
461*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorDcTop
462*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorDcTop] =
463*09537850SAkhilesh Sanikop Defs::_8x8::DcTop;
464*09537850SAkhilesh Sanikop #endif
465*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorDcLeft
466*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorDcLeft] =
467*09537850SAkhilesh Sanikop Defs::_8x8::DcLeft;
468*09537850SAkhilesh Sanikop #endif
469*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorDc
470*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorDc] = Defs::_8x8::Dc;
471*09537850SAkhilesh Sanikop #endif
472*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorVertical
473*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorVertical] =
474*09537850SAkhilesh Sanikop Defs::_8x8::Vertical;
475*09537850SAkhilesh Sanikop #endif
476*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorHorizontal
477*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorHorizontal] =
478*09537850SAkhilesh Sanikop Defs::_8x8::Horizontal;
479*09537850SAkhilesh Sanikop #endif
480*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x8_IntraPredictorPaeth
481*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorPaeth] =
482*09537850SAkhilesh Sanikop Defs::_8x8::Paeth;
483*09537850SAkhilesh Sanikop #endif
484*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorDcFill
485*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorDcFill] =
486*09537850SAkhilesh Sanikop Defs8bpp::_8x16::DcFill;
487*09537850SAkhilesh Sanikop #endif
488*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorDcTop
489*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorDcTop] =
490*09537850SAkhilesh Sanikop Defs::_8x16::DcTop;
491*09537850SAkhilesh Sanikop #endif
492*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorDcLeft
493*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorDcLeft] =
494*09537850SAkhilesh Sanikop Defs::_8x16::DcLeft;
495*09537850SAkhilesh Sanikop #endif
496*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorDc
497*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorDc] =
498*09537850SAkhilesh Sanikop Defs::_8x16::Dc;
499*09537850SAkhilesh Sanikop #endif
500*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorVertical
501*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorVertical] =
502*09537850SAkhilesh Sanikop Defs::_8x16::Vertical;
503*09537850SAkhilesh Sanikop #endif
504*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorHorizontal
505*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorHorizontal] =
506*09537850SAkhilesh Sanikop Defs::_8x16::Horizontal;
507*09537850SAkhilesh Sanikop #endif
508*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x16_IntraPredictorPaeth
509*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorPaeth] =
510*09537850SAkhilesh Sanikop Defs::_8x16::Paeth;
511*09537850SAkhilesh Sanikop #endif
512*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorDcFill
513*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorDcFill] =
514*09537850SAkhilesh Sanikop Defs8bpp::_8x32::DcFill;
515*09537850SAkhilesh Sanikop #endif
516*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorDcTop
517*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorDcTop] =
518*09537850SAkhilesh Sanikop Defs::_8x32::DcTop;
519*09537850SAkhilesh Sanikop #endif
520*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorDcLeft
521*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorDcLeft] =
522*09537850SAkhilesh Sanikop Defs::_8x32::DcLeft;
523*09537850SAkhilesh Sanikop #endif
524*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorDc
525*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorDc] =
526*09537850SAkhilesh Sanikop Defs::_8x32::Dc;
527*09537850SAkhilesh Sanikop #endif
528*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorVertical
529*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorVertical] =
530*09537850SAkhilesh Sanikop Defs::_8x32::Vertical;
531*09537850SAkhilesh Sanikop #endif
532*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorHorizontal
533*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorHorizontal] =
534*09537850SAkhilesh Sanikop Defs::_8x32::Horizontal;
535*09537850SAkhilesh Sanikop #endif
536*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize8x32_IntraPredictorPaeth
537*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorPaeth] =
538*09537850SAkhilesh Sanikop Defs::_8x32::Paeth;
539*09537850SAkhilesh Sanikop #endif
540*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorDcFill
541*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorDcFill] =
542*09537850SAkhilesh Sanikop Defs8bpp::_16x4::DcFill;
543*09537850SAkhilesh Sanikop #endif
544*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorDcTop
545*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorDcTop] =
546*09537850SAkhilesh Sanikop Defs::_16x4::DcTop;
547*09537850SAkhilesh Sanikop #endif
548*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorDcLeft
549*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorDcLeft] =
550*09537850SAkhilesh Sanikop Defs::_16x4::DcLeft;
551*09537850SAkhilesh Sanikop #endif
552*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorDc
553*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorDc] =
554*09537850SAkhilesh Sanikop Defs::_16x4::Dc;
555*09537850SAkhilesh Sanikop #endif
556*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorVertical
557*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorVertical] =
558*09537850SAkhilesh Sanikop Defs::_16x4::Vertical;
559*09537850SAkhilesh Sanikop #endif
560*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorHorizontal
561*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorHorizontal] =
562*09537850SAkhilesh Sanikop Defs::_16x4::Horizontal;
563*09537850SAkhilesh Sanikop #endif
564*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x4_IntraPredictorPaeth
565*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorPaeth] =
566*09537850SAkhilesh Sanikop Defs::_16x4::Paeth;
567*09537850SAkhilesh Sanikop #endif
568*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorDcFill
569*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorDcFill] =
570*09537850SAkhilesh Sanikop Defs8bpp::_16x8::DcFill;
571*09537850SAkhilesh Sanikop #endif
572*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorDcTop
573*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorDcTop] =
574*09537850SAkhilesh Sanikop Defs::_16x8::DcTop;
575*09537850SAkhilesh Sanikop #endif
576*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorDcLeft
577*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorDcLeft] =
578*09537850SAkhilesh Sanikop Defs::_16x8::DcLeft;
579*09537850SAkhilesh Sanikop #endif
580*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorDc
581*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorDc] =
582*09537850SAkhilesh Sanikop Defs::_16x8::Dc;
583*09537850SAkhilesh Sanikop #endif
584*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorVertical
585*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorVertical] =
586*09537850SAkhilesh Sanikop Defs::_16x8::Vertical;
587*09537850SAkhilesh Sanikop #endif
588*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorHorizontal
589*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorHorizontal] =
590*09537850SAkhilesh Sanikop Defs::_16x8::Horizontal;
591*09537850SAkhilesh Sanikop #endif
592*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x8_IntraPredictorPaeth
593*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorPaeth] =
594*09537850SAkhilesh Sanikop Defs::_16x8::Paeth;
595*09537850SAkhilesh Sanikop #endif
596*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorDcFill
597*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorDcFill] =
598*09537850SAkhilesh Sanikop Defs8bpp::_16x16::DcFill;
599*09537850SAkhilesh Sanikop #endif
600*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorDcTop
601*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorDcTop] =
602*09537850SAkhilesh Sanikop Defs::_16x16::DcTop;
603*09537850SAkhilesh Sanikop #endif
604*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorDcLeft
605*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorDcLeft] =
606*09537850SAkhilesh Sanikop Defs::_16x16::DcLeft;
607*09537850SAkhilesh Sanikop #endif
608*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorDc
609*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorDc] =
610*09537850SAkhilesh Sanikop Defs::_16x16::Dc;
611*09537850SAkhilesh Sanikop #endif
612*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorVertical
613*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorVertical] =
614*09537850SAkhilesh Sanikop Defs::_16x16::Vertical;
615*09537850SAkhilesh Sanikop #endif
616*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorHorizontal
617*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorHorizontal] =
618*09537850SAkhilesh Sanikop Defs::_16x16::Horizontal;
619*09537850SAkhilesh Sanikop #endif
620*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x16_IntraPredictorPaeth
621*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorPaeth] =
622*09537850SAkhilesh Sanikop Defs::_16x16::Paeth;
623*09537850SAkhilesh Sanikop #endif
624*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorDcFill
625*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorDcFill] =
626*09537850SAkhilesh Sanikop Defs8bpp::_16x32::DcFill;
627*09537850SAkhilesh Sanikop #endif
628*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorDcTop
629*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorDcTop] =
630*09537850SAkhilesh Sanikop Defs::_16x32::DcTop;
631*09537850SAkhilesh Sanikop #endif
632*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorDcLeft
633*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorDcLeft] =
634*09537850SAkhilesh Sanikop Defs::_16x32::DcLeft;
635*09537850SAkhilesh Sanikop #endif
636*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorDc
637*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorDc] =
638*09537850SAkhilesh Sanikop Defs::_16x32::Dc;
639*09537850SAkhilesh Sanikop #endif
640*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorVertical
641*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorVertical] =
642*09537850SAkhilesh Sanikop Defs::_16x32::Vertical;
643*09537850SAkhilesh Sanikop #endif
644*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorHorizontal
645*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorHorizontal] =
646*09537850SAkhilesh Sanikop Defs::_16x32::Horizontal;
647*09537850SAkhilesh Sanikop #endif
648*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x32_IntraPredictorPaeth
649*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorPaeth] =
650*09537850SAkhilesh Sanikop Defs::_16x32::Paeth;
651*09537850SAkhilesh Sanikop #endif
652*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorDcFill
653*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorDcFill] =
654*09537850SAkhilesh Sanikop Defs8bpp::_16x64::DcFill;
655*09537850SAkhilesh Sanikop #endif
656*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorDcTop
657*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorDcTop] =
658*09537850SAkhilesh Sanikop Defs::_16x64::DcTop;
659*09537850SAkhilesh Sanikop #endif
660*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorDcLeft
661*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorDcLeft] =
662*09537850SAkhilesh Sanikop Defs::_16x64::DcLeft;
663*09537850SAkhilesh Sanikop #endif
664*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorDc
665*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorDc] =
666*09537850SAkhilesh Sanikop Defs::_16x64::Dc;
667*09537850SAkhilesh Sanikop #endif
668*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorVertical
669*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorVertical] =
670*09537850SAkhilesh Sanikop Defs::_16x64::Vertical;
671*09537850SAkhilesh Sanikop #endif
672*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorHorizontal
673*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorHorizontal] =
674*09537850SAkhilesh Sanikop Defs::_16x64::Horizontal;
675*09537850SAkhilesh Sanikop #endif
676*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize16x64_IntraPredictorPaeth
677*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorPaeth] =
678*09537850SAkhilesh Sanikop Defs::_16x64::Paeth;
679*09537850SAkhilesh Sanikop #endif
680*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorDcFill
681*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorDcFill] =
682*09537850SAkhilesh Sanikop Defs8bpp::_32x8::DcFill;
683*09537850SAkhilesh Sanikop #endif
684*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorDcTop
685*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorDcTop] =
686*09537850SAkhilesh Sanikop Defs::_32x8::DcTop;
687*09537850SAkhilesh Sanikop #endif
688*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorDcLeft
689*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorDcLeft] =
690*09537850SAkhilesh Sanikop Defs::_32x8::DcLeft;
691*09537850SAkhilesh Sanikop #endif
692*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorDc
693*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorDc] =
694*09537850SAkhilesh Sanikop Defs::_32x8::Dc;
695*09537850SAkhilesh Sanikop #endif
696*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorVertical
697*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorVertical] =
698*09537850SAkhilesh Sanikop Defs::_32x8::Vertical;
699*09537850SAkhilesh Sanikop #endif
700*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorHorizontal
701*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorHorizontal] =
702*09537850SAkhilesh Sanikop Defs::_32x8::Horizontal;
703*09537850SAkhilesh Sanikop #endif
704*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x8_IntraPredictorPaeth
705*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorPaeth] =
706*09537850SAkhilesh Sanikop Defs::_32x8::Paeth;
707*09537850SAkhilesh Sanikop #endif
708*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorDcFill
709*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorDcFill] =
710*09537850SAkhilesh Sanikop Defs8bpp::_32x16::DcFill;
711*09537850SAkhilesh Sanikop #endif
712*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorDcTop
713*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorDcTop] =
714*09537850SAkhilesh Sanikop Defs::_32x16::DcTop;
715*09537850SAkhilesh Sanikop #endif
716*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorDcLeft
717*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorDcLeft] =
718*09537850SAkhilesh Sanikop Defs::_32x16::DcLeft;
719*09537850SAkhilesh Sanikop #endif
720*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorDc
721*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorDc] =
722*09537850SAkhilesh Sanikop Defs::_32x16::Dc;
723*09537850SAkhilesh Sanikop #endif
724*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorVertical
725*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorVertical] =
726*09537850SAkhilesh Sanikop Defs::_32x16::Vertical;
727*09537850SAkhilesh Sanikop #endif
728*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorHorizontal
729*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorHorizontal] =
730*09537850SAkhilesh Sanikop Defs::_32x16::Horizontal;
731*09537850SAkhilesh Sanikop #endif
732*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x16_IntraPredictorPaeth
733*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorPaeth] =
734*09537850SAkhilesh Sanikop Defs::_32x16::Paeth;
735*09537850SAkhilesh Sanikop #endif
736*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorDcFill
737*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorDcFill] =
738*09537850SAkhilesh Sanikop Defs8bpp::_32x32::DcFill;
739*09537850SAkhilesh Sanikop #endif
740*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorDcTop
741*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorDcTop] =
742*09537850SAkhilesh Sanikop Defs::_32x32::DcTop;
743*09537850SAkhilesh Sanikop #endif
744*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorDcLeft
745*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorDcLeft] =
746*09537850SAkhilesh Sanikop Defs::_32x32::DcLeft;
747*09537850SAkhilesh Sanikop #endif
748*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorDc
749*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorDc] =
750*09537850SAkhilesh Sanikop Defs::_32x32::Dc;
751*09537850SAkhilesh Sanikop #endif
752*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorVertical
753*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorVertical] =
754*09537850SAkhilesh Sanikop Defs::_32x32::Vertical;
755*09537850SAkhilesh Sanikop #endif
756*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorHorizontal
757*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorHorizontal] =
758*09537850SAkhilesh Sanikop Defs::_32x32::Horizontal;
759*09537850SAkhilesh Sanikop #endif
760*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x32_IntraPredictorPaeth
761*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorPaeth] =
762*09537850SAkhilesh Sanikop Defs::_32x32::Paeth;
763*09537850SAkhilesh Sanikop #endif
764*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorDcFill
765*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorDcFill] =
766*09537850SAkhilesh Sanikop Defs8bpp::_32x64::DcFill;
767*09537850SAkhilesh Sanikop #endif
768*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorDcTop
769*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorDcTop] =
770*09537850SAkhilesh Sanikop Defs::_32x64::DcTop;
771*09537850SAkhilesh Sanikop #endif
772*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorDcLeft
773*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorDcLeft] =
774*09537850SAkhilesh Sanikop Defs::_32x64::DcLeft;
775*09537850SAkhilesh Sanikop #endif
776*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorDc
777*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorDc] =
778*09537850SAkhilesh Sanikop Defs::_32x64::Dc;
779*09537850SAkhilesh Sanikop #endif
780*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorVertical
781*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorVertical] =
782*09537850SAkhilesh Sanikop Defs::_32x64::Vertical;
783*09537850SAkhilesh Sanikop #endif
784*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorHorizontal
785*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorHorizontal] =
786*09537850SAkhilesh Sanikop Defs::_32x64::Horizontal;
787*09537850SAkhilesh Sanikop #endif
788*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize32x64_IntraPredictorPaeth
789*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorPaeth] =
790*09537850SAkhilesh Sanikop Defs::_32x64::Paeth;
791*09537850SAkhilesh Sanikop #endif
792*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorDcFill
793*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorDcFill] =
794*09537850SAkhilesh Sanikop Defs8bpp::_64x16::DcFill;
795*09537850SAkhilesh Sanikop #endif
796*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorDcTop
797*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorDcTop] =
798*09537850SAkhilesh Sanikop Defs::_64x16::DcTop;
799*09537850SAkhilesh Sanikop #endif
800*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorDcLeft
801*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorDcLeft] =
802*09537850SAkhilesh Sanikop Defs::_64x16::DcLeft;
803*09537850SAkhilesh Sanikop #endif
804*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorDc
805*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorDc] =
806*09537850SAkhilesh Sanikop Defs::_64x16::Dc;
807*09537850SAkhilesh Sanikop #endif
808*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorVertical
809*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorVertical] =
810*09537850SAkhilesh Sanikop Defs::_64x16::Vertical;
811*09537850SAkhilesh Sanikop #endif
812*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorHorizontal
813*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorHorizontal] =
814*09537850SAkhilesh Sanikop Defs::_64x16::Horizontal;
815*09537850SAkhilesh Sanikop #endif
816*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x16_IntraPredictorPaeth
817*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorPaeth] =
818*09537850SAkhilesh Sanikop Defs::_64x16::Paeth;
819*09537850SAkhilesh Sanikop #endif
820*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorDcFill
821*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorDcFill] =
822*09537850SAkhilesh Sanikop Defs8bpp::_64x32::DcFill;
823*09537850SAkhilesh Sanikop #endif
824*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorDcTop
825*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorDcTop] =
826*09537850SAkhilesh Sanikop Defs::_64x32::DcTop;
827*09537850SAkhilesh Sanikop #endif
828*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorDcLeft
829*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorDcLeft] =
830*09537850SAkhilesh Sanikop Defs::_64x32::DcLeft;
831*09537850SAkhilesh Sanikop #endif
832*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorDc
833*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorDc] =
834*09537850SAkhilesh Sanikop Defs::_64x32::Dc;
835*09537850SAkhilesh Sanikop #endif
836*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorVertical
837*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorVertical] =
838*09537850SAkhilesh Sanikop Defs::_64x32::Vertical;
839*09537850SAkhilesh Sanikop #endif
840*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorHorizontal
841*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorHorizontal] =
842*09537850SAkhilesh Sanikop Defs::_64x32::Horizontal;
843*09537850SAkhilesh Sanikop #endif
844*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x32_IntraPredictorPaeth
845*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorPaeth] =
846*09537850SAkhilesh Sanikop Defs::_64x32::Paeth;
847*09537850SAkhilesh Sanikop #endif
848*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorDcFill
849*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorDcFill] =
850*09537850SAkhilesh Sanikop Defs8bpp::_64x64::DcFill;
851*09537850SAkhilesh Sanikop #endif
852*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorDcTop
853*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorDcTop] =
854*09537850SAkhilesh Sanikop Defs::_64x64::DcTop;
855*09537850SAkhilesh Sanikop #endif
856*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorDcLeft
857*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorDcLeft] =
858*09537850SAkhilesh Sanikop Defs::_64x64::DcLeft;
859*09537850SAkhilesh Sanikop #endif
860*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorDc
861*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorDc] =
862*09537850SAkhilesh Sanikop Defs::_64x64::Dc;
863*09537850SAkhilesh Sanikop #endif
864*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorVertical
865*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorVertical] =
866*09537850SAkhilesh Sanikop Defs::_64x64::Vertical;
867*09537850SAkhilesh Sanikop #endif
868*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorHorizontal
869*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorHorizontal] =
870*09537850SAkhilesh Sanikop Defs::_64x64::Horizontal;
871*09537850SAkhilesh Sanikop #endif
872*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp8bpp_TransformSize64x64_IntraPredictorPaeth
873*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorPaeth] =
874*09537850SAkhilesh Sanikop Defs::_64x64::Paeth;
875*09537850SAkhilesh Sanikop #endif
876*09537850SAkhilesh Sanikop #endif // LIBGAV1_ENABLE_ALL_DSP_FUNCTIONS
877*09537850SAkhilesh Sanikop } // NOLINT(readability/fn_size)
878*09537850SAkhilesh Sanikop
879*09537850SAkhilesh Sanikop #if LIBGAV1_MAX_BITDEPTH >= 10
880*09537850SAkhilesh Sanikop using DefsHbd = IntraPredDefs<uint16_t>;
881*09537850SAkhilesh Sanikop using Defs10bpp = IntraPredBppDefs<10, uint16_t>;
882*09537850SAkhilesh Sanikop
Init10bpp()883*09537850SAkhilesh Sanikop void Init10bpp() {
884*09537850SAkhilesh Sanikop Dsp* const dsp = dsp_internal::GetWritableDspTable(10);
885*09537850SAkhilesh Sanikop assert(dsp != nullptr);
886*09537850SAkhilesh Sanikop #if LIBGAV1_ENABLE_ALL_DSP_FUNCTIONS
887*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS(DefsHbd, Defs10bpp);
888*09537850SAkhilesh Sanikop #else // !LIBGAV1_ENABLE_ALL_DSP_FUNCTIONS
889*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorDcFill
890*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorDcFill] =
891*09537850SAkhilesh Sanikop Defs10bpp::_4x4::DcFill;
892*09537850SAkhilesh Sanikop #endif
893*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorDcTop
894*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorDcTop] =
895*09537850SAkhilesh Sanikop DefsHbd::_4x4::DcTop;
896*09537850SAkhilesh Sanikop #endif
897*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorDcLeft
898*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorDcLeft] =
899*09537850SAkhilesh Sanikop DefsHbd::_4x4::DcLeft;
900*09537850SAkhilesh Sanikop #endif
901*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorDc
902*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorDc] =
903*09537850SAkhilesh Sanikop DefsHbd::_4x4::Dc;
904*09537850SAkhilesh Sanikop #endif
905*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorVertical
906*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorVertical] =
907*09537850SAkhilesh Sanikop DefsHbd::_4x4::Vertical;
908*09537850SAkhilesh Sanikop #endif
909*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorHorizontal
910*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorHorizontal] =
911*09537850SAkhilesh Sanikop DefsHbd::_4x4::Horizontal;
912*09537850SAkhilesh Sanikop #endif
913*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x4_IntraPredictorPaeth
914*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorPaeth] =
915*09537850SAkhilesh Sanikop DefsHbd::_4x4::Paeth;
916*09537850SAkhilesh Sanikop #endif
917*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x8_IntraPredictorDcFill
918*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorDcFill] =
919*09537850SAkhilesh Sanikop Defs10bpp::_4x8::DcFill;
920*09537850SAkhilesh Sanikop #endif
921*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x8_IntraPredictorDcTop
922*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorDcTop] =
923*09537850SAkhilesh Sanikop DefsHbd::_4x8::DcTop;
924*09537850SAkhilesh Sanikop #endif
925*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x8_IntraPredictorDcLeft
926*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorDcLeft] =
927*09537850SAkhilesh Sanikop DefsHbd::_4x8::DcLeft;
928*09537850SAkhilesh Sanikop #endif
929*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x8_IntraPredictorDc
930*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorDc] =
931*09537850SAkhilesh Sanikop DefsHbd::_4x8::Dc;
932*09537850SAkhilesh Sanikop #endif
933*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x8_IntraPredictorVertical
934*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorVertical] =
935*09537850SAkhilesh Sanikop DefsHbd::_4x8::Vertical;
936*09537850SAkhilesh Sanikop #endif
937*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x8_IntraPredictorHorizontal
938*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorHorizontal] =
939*09537850SAkhilesh Sanikop DefsHbd::_4x8::Horizontal;
940*09537850SAkhilesh Sanikop #endif
941*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x8_IntraPredictorPaeth
942*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorPaeth] =
943*09537850SAkhilesh Sanikop DefsHbd::_4x8::Paeth;
944*09537850SAkhilesh Sanikop #endif
945*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x16_IntraPredictorDcFill
946*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorDcFill] =
947*09537850SAkhilesh Sanikop Defs10bpp::_4x16::DcFill;
948*09537850SAkhilesh Sanikop #endif
949*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x16_IntraPredictorDcTop
950*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorDcTop] =
951*09537850SAkhilesh Sanikop DefsHbd::_4x16::DcTop;
952*09537850SAkhilesh Sanikop #endif
953*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x16_IntraPredictorDcLeft
954*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorDcLeft] =
955*09537850SAkhilesh Sanikop DefsHbd::_4x16::DcLeft;
956*09537850SAkhilesh Sanikop #endif
957*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x16_IntraPredictorDc
958*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorDc] =
959*09537850SAkhilesh Sanikop DefsHbd::_4x16::Dc;
960*09537850SAkhilesh Sanikop #endif
961*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x16_IntraPredictorVertical
962*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorVertical] =
963*09537850SAkhilesh Sanikop DefsHbd::_4x16::Vertical;
964*09537850SAkhilesh Sanikop #endif
965*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x16_IntraPredictorHorizontal
966*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorHorizontal] =
967*09537850SAkhilesh Sanikop DefsHbd::_4x16::Horizontal;
968*09537850SAkhilesh Sanikop #endif
969*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize4x16_IntraPredictorPaeth
970*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorPaeth] =
971*09537850SAkhilesh Sanikop DefsHbd::_4x16::Paeth;
972*09537850SAkhilesh Sanikop #endif
973*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x4_IntraPredictorDcFill
974*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorDcFill] =
975*09537850SAkhilesh Sanikop Defs10bpp::_8x4::DcFill;
976*09537850SAkhilesh Sanikop #endif
977*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x4_IntraPredictorDcTop
978*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorDcTop] =
979*09537850SAkhilesh Sanikop DefsHbd::_8x4::DcTop;
980*09537850SAkhilesh Sanikop #endif
981*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x4_IntraPredictorDcLeft
982*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorDcLeft] =
983*09537850SAkhilesh Sanikop DefsHbd::_8x4::DcLeft;
984*09537850SAkhilesh Sanikop #endif
985*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x4_IntraPredictorDc
986*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorDc] =
987*09537850SAkhilesh Sanikop DefsHbd::_8x4::Dc;
988*09537850SAkhilesh Sanikop #endif
989*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x4_IntraPredictorVertical
990*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorVertical] =
991*09537850SAkhilesh Sanikop DefsHbd::_8x4::Vertical;
992*09537850SAkhilesh Sanikop #endif
993*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x4_IntraPredictorHorizontal
994*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorHorizontal] =
995*09537850SAkhilesh Sanikop DefsHbd::_8x4::Horizontal;
996*09537850SAkhilesh Sanikop #endif
997*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x4_IntraPredictorPaeth
998*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorPaeth] =
999*09537850SAkhilesh Sanikop DefsHbd::_8x4::Paeth;
1000*09537850SAkhilesh Sanikop #endif
1001*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x8_IntraPredictorDcFill
1002*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorDcFill] =
1003*09537850SAkhilesh Sanikop Defs10bpp::_8x8::DcFill;
1004*09537850SAkhilesh Sanikop #endif
1005*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x8_IntraPredictorDcTop
1006*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorDcTop] =
1007*09537850SAkhilesh Sanikop DefsHbd::_8x8::DcTop;
1008*09537850SAkhilesh Sanikop #endif
1009*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x8_IntraPredictorDcLeft
1010*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorDcLeft] =
1011*09537850SAkhilesh Sanikop DefsHbd::_8x8::DcLeft;
1012*09537850SAkhilesh Sanikop #endif
1013*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x8_IntraPredictorDc
1014*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorDc] =
1015*09537850SAkhilesh Sanikop DefsHbd::_8x8::Dc;
1016*09537850SAkhilesh Sanikop #endif
1017*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x8_IntraPredictorVertical
1018*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorVertical] =
1019*09537850SAkhilesh Sanikop DefsHbd::_8x8::Vertical;
1020*09537850SAkhilesh Sanikop #endif
1021*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x8_IntraPredictorHorizontal
1022*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorHorizontal] =
1023*09537850SAkhilesh Sanikop DefsHbd::_8x8::Horizontal;
1024*09537850SAkhilesh Sanikop #endif
1025*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x8_IntraPredictorPaeth
1026*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorPaeth] =
1027*09537850SAkhilesh Sanikop DefsHbd::_8x8::Paeth;
1028*09537850SAkhilesh Sanikop #endif
1029*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x16_IntraPredictorDcFill
1030*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorDcFill] =
1031*09537850SAkhilesh Sanikop Defs10bpp::_8x16::DcFill;
1032*09537850SAkhilesh Sanikop #endif
1033*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x16_IntraPredictorDcTop
1034*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorDcTop] =
1035*09537850SAkhilesh Sanikop DefsHbd::_8x16::DcTop;
1036*09537850SAkhilesh Sanikop #endif
1037*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x16_IntraPredictorDcLeft
1038*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorDcLeft] =
1039*09537850SAkhilesh Sanikop DefsHbd::_8x16::DcLeft;
1040*09537850SAkhilesh Sanikop #endif
1041*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x16_IntraPredictorDc
1042*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorDc] =
1043*09537850SAkhilesh Sanikop DefsHbd::_8x16::Dc;
1044*09537850SAkhilesh Sanikop #endif
1045*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x16_IntraPredictorVertical
1046*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorVertical] =
1047*09537850SAkhilesh Sanikop DefsHbd::_8x16::Vertical;
1048*09537850SAkhilesh Sanikop #endif
1049*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x16_IntraPredictorHorizontal
1050*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorHorizontal] =
1051*09537850SAkhilesh Sanikop DefsHbd::_8x16::Horizontal;
1052*09537850SAkhilesh Sanikop #endif
1053*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x16_IntraPredictorPaeth
1054*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorPaeth] =
1055*09537850SAkhilesh Sanikop DefsHbd::_8x16::Paeth;
1056*09537850SAkhilesh Sanikop #endif
1057*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x32_IntraPredictorDcFill
1058*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorDcFill] =
1059*09537850SAkhilesh Sanikop Defs10bpp::_8x32::DcFill;
1060*09537850SAkhilesh Sanikop #endif
1061*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x32_IntraPredictorDcTop
1062*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorDcTop] =
1063*09537850SAkhilesh Sanikop DefsHbd::_8x32::DcTop;
1064*09537850SAkhilesh Sanikop #endif
1065*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x32_IntraPredictorDcLeft
1066*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorDcLeft] =
1067*09537850SAkhilesh Sanikop DefsHbd::_8x32::DcLeft;
1068*09537850SAkhilesh Sanikop #endif
1069*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x32_IntraPredictorDc
1070*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorDc] =
1071*09537850SAkhilesh Sanikop DefsHbd::_8x32::Dc;
1072*09537850SAkhilesh Sanikop #endif
1073*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x32_IntraPredictorVertical
1074*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorVertical] =
1075*09537850SAkhilesh Sanikop DefsHbd::_8x32::Vertical;
1076*09537850SAkhilesh Sanikop #endif
1077*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x32_IntraPredictorHorizontal
1078*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorHorizontal] =
1079*09537850SAkhilesh Sanikop DefsHbd::_8x32::Horizontal;
1080*09537850SAkhilesh Sanikop #endif
1081*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize8x32_IntraPredictorPaeth
1082*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorPaeth] =
1083*09537850SAkhilesh Sanikop DefsHbd::_8x32::Paeth;
1084*09537850SAkhilesh Sanikop #endif
1085*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x4_IntraPredictorDcFill
1086*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorDcFill] =
1087*09537850SAkhilesh Sanikop Defs10bpp::_16x4::DcFill;
1088*09537850SAkhilesh Sanikop #endif
1089*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x4_IntraPredictorDcTop
1090*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorDcTop] =
1091*09537850SAkhilesh Sanikop DefsHbd::_16x4::DcTop;
1092*09537850SAkhilesh Sanikop #endif
1093*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x4_IntraPredictorDcLeft
1094*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorDcLeft] =
1095*09537850SAkhilesh Sanikop DefsHbd::_16x4::DcLeft;
1096*09537850SAkhilesh Sanikop #endif
1097*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x4_IntraPredictorDc
1098*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorDc] =
1099*09537850SAkhilesh Sanikop DefsHbd::_16x4::Dc;
1100*09537850SAkhilesh Sanikop #endif
1101*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x4_IntraPredictorVertical
1102*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorVertical] =
1103*09537850SAkhilesh Sanikop DefsHbd::_16x4::Vertical;
1104*09537850SAkhilesh Sanikop #endif
1105*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x4_IntraPredictorHorizontal
1106*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorHorizontal] =
1107*09537850SAkhilesh Sanikop DefsHbd::_16x4::Horizontal;
1108*09537850SAkhilesh Sanikop #endif
1109*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x4_IntraPredictorPaeth
1110*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorPaeth] =
1111*09537850SAkhilesh Sanikop DefsHbd::_16x4::Paeth;
1112*09537850SAkhilesh Sanikop #endif
1113*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x8_IntraPredictorDcFill
1114*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorDcFill] =
1115*09537850SAkhilesh Sanikop Defs10bpp::_16x8::DcFill;
1116*09537850SAkhilesh Sanikop #endif
1117*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x8_IntraPredictorDcTop
1118*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorDcTop] =
1119*09537850SAkhilesh Sanikop DefsHbd::_16x8::DcTop;
1120*09537850SAkhilesh Sanikop #endif
1121*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x8_IntraPredictorDcLeft
1122*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorDcLeft] =
1123*09537850SAkhilesh Sanikop DefsHbd::_16x8::DcLeft;
1124*09537850SAkhilesh Sanikop #endif
1125*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x8_IntraPredictorDc
1126*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorDc] =
1127*09537850SAkhilesh Sanikop DefsHbd::_16x8::Dc;
1128*09537850SAkhilesh Sanikop #endif
1129*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x8_IntraPredictorVertical
1130*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorVertical] =
1131*09537850SAkhilesh Sanikop DefsHbd::_16x8::Vertical;
1132*09537850SAkhilesh Sanikop #endif
1133*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x8_IntraPredictorHorizontal
1134*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorHorizontal] =
1135*09537850SAkhilesh Sanikop DefsHbd::_16x8::Horizontal;
1136*09537850SAkhilesh Sanikop #endif
1137*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x8_IntraPredictorPaeth
1138*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorPaeth] =
1139*09537850SAkhilesh Sanikop DefsHbd::_16x8::Paeth;
1140*09537850SAkhilesh Sanikop #endif
1141*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x16_IntraPredictorDcFill
1142*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorDcFill] =
1143*09537850SAkhilesh Sanikop Defs10bpp::_16x16::DcFill;
1144*09537850SAkhilesh Sanikop #endif
1145*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x16_IntraPredictorDcTop
1146*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorDcTop] =
1147*09537850SAkhilesh Sanikop DefsHbd::_16x16::DcTop;
1148*09537850SAkhilesh Sanikop #endif
1149*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x16_IntraPredictorDcLeft
1150*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorDcLeft] =
1151*09537850SAkhilesh Sanikop DefsHbd::_16x16::DcLeft;
1152*09537850SAkhilesh Sanikop #endif
1153*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x16_IntraPredictorDc
1154*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorDc] =
1155*09537850SAkhilesh Sanikop DefsHbd::_16x16::Dc;
1156*09537850SAkhilesh Sanikop #endif
1157*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x16_IntraPredictorVertical
1158*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorVertical] =
1159*09537850SAkhilesh Sanikop DefsHbd::_16x16::Vertical;
1160*09537850SAkhilesh Sanikop #endif
1161*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x16_IntraPredictorHorizontal
1162*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorHorizontal] =
1163*09537850SAkhilesh Sanikop DefsHbd::_16x16::Horizontal;
1164*09537850SAkhilesh Sanikop #endif
1165*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x16_IntraPredictorPaeth
1166*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorPaeth] =
1167*09537850SAkhilesh Sanikop DefsHbd::_16x16::Paeth;
1168*09537850SAkhilesh Sanikop #endif
1169*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x32_IntraPredictorDcFill
1170*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorDcFill] =
1171*09537850SAkhilesh Sanikop Defs10bpp::_16x32::DcFill;
1172*09537850SAkhilesh Sanikop #endif
1173*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x32_IntraPredictorDcTop
1174*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorDcTop] =
1175*09537850SAkhilesh Sanikop DefsHbd::_16x32::DcTop;
1176*09537850SAkhilesh Sanikop #endif
1177*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x32_IntraPredictorDcLeft
1178*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorDcLeft] =
1179*09537850SAkhilesh Sanikop DefsHbd::_16x32::DcLeft;
1180*09537850SAkhilesh Sanikop #endif
1181*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x32_IntraPredictorDc
1182*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorDc] =
1183*09537850SAkhilesh Sanikop DefsHbd::_16x32::Dc;
1184*09537850SAkhilesh Sanikop #endif
1185*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x32_IntraPredictorVertical
1186*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorVertical] =
1187*09537850SAkhilesh Sanikop DefsHbd::_16x32::Vertical;
1188*09537850SAkhilesh Sanikop #endif
1189*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x32_IntraPredictorHorizontal
1190*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorHorizontal] =
1191*09537850SAkhilesh Sanikop DefsHbd::_16x32::Horizontal;
1192*09537850SAkhilesh Sanikop #endif
1193*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x32_IntraPredictorPaeth
1194*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorPaeth] =
1195*09537850SAkhilesh Sanikop DefsHbd::_16x32::Paeth;
1196*09537850SAkhilesh Sanikop #endif
1197*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x64_IntraPredictorDcFill
1198*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorDcFill] =
1199*09537850SAkhilesh Sanikop Defs10bpp::_16x64::DcFill;
1200*09537850SAkhilesh Sanikop #endif
1201*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x64_IntraPredictorDcTop
1202*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorDcTop] =
1203*09537850SAkhilesh Sanikop DefsHbd::_16x64::DcTop;
1204*09537850SAkhilesh Sanikop #endif
1205*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x64_IntraPredictorDcLeft
1206*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorDcLeft] =
1207*09537850SAkhilesh Sanikop DefsHbd::_16x64::DcLeft;
1208*09537850SAkhilesh Sanikop #endif
1209*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x64_IntraPredictorDc
1210*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorDc] =
1211*09537850SAkhilesh Sanikop DefsHbd::_16x64::Dc;
1212*09537850SAkhilesh Sanikop #endif
1213*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x64_IntraPredictorVertical
1214*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorVertical] =
1215*09537850SAkhilesh Sanikop DefsHbd::_16x64::Vertical;
1216*09537850SAkhilesh Sanikop #endif
1217*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x64_IntraPredictorHorizontal
1218*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorHorizontal] =
1219*09537850SAkhilesh Sanikop DefsHbd::_16x64::Horizontal;
1220*09537850SAkhilesh Sanikop #endif
1221*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize16x64_IntraPredictorPaeth
1222*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorPaeth] =
1223*09537850SAkhilesh Sanikop DefsHbd::_16x64::Paeth;
1224*09537850SAkhilesh Sanikop #endif
1225*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x8_IntraPredictorDcFill
1226*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorDcFill] =
1227*09537850SAkhilesh Sanikop Defs10bpp::_32x8::DcFill;
1228*09537850SAkhilesh Sanikop #endif
1229*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x8_IntraPredictorDcTop
1230*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorDcTop] =
1231*09537850SAkhilesh Sanikop DefsHbd::_32x8::DcTop;
1232*09537850SAkhilesh Sanikop #endif
1233*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x8_IntraPredictorDcLeft
1234*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorDcLeft] =
1235*09537850SAkhilesh Sanikop DefsHbd::_32x8::DcLeft;
1236*09537850SAkhilesh Sanikop #endif
1237*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x8_IntraPredictorDc
1238*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorDc] =
1239*09537850SAkhilesh Sanikop DefsHbd::_32x8::Dc;
1240*09537850SAkhilesh Sanikop #endif
1241*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x8_IntraPredictorVertical
1242*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorVertical] =
1243*09537850SAkhilesh Sanikop DefsHbd::_32x8::Vertical;
1244*09537850SAkhilesh Sanikop #endif
1245*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x8_IntraPredictorHorizontal
1246*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorHorizontal] =
1247*09537850SAkhilesh Sanikop DefsHbd::_32x8::Horizontal;
1248*09537850SAkhilesh Sanikop #endif
1249*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x8_IntraPredictorPaeth
1250*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorPaeth] =
1251*09537850SAkhilesh Sanikop DefsHbd::_32x8::Paeth;
1252*09537850SAkhilesh Sanikop #endif
1253*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x16_IntraPredictorDcFill
1254*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorDcFill] =
1255*09537850SAkhilesh Sanikop Defs10bpp::_32x16::DcFill;
1256*09537850SAkhilesh Sanikop #endif
1257*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x16_IntraPredictorDcTop
1258*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorDcTop] =
1259*09537850SAkhilesh Sanikop DefsHbd::_32x16::DcTop;
1260*09537850SAkhilesh Sanikop #endif
1261*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x16_IntraPredictorDcLeft
1262*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorDcLeft] =
1263*09537850SAkhilesh Sanikop DefsHbd::_32x16::DcLeft;
1264*09537850SAkhilesh Sanikop #endif
1265*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x16_IntraPredictorDc
1266*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorDc] =
1267*09537850SAkhilesh Sanikop DefsHbd::_32x16::Dc;
1268*09537850SAkhilesh Sanikop #endif
1269*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x16_IntraPredictorVertical
1270*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorVertical] =
1271*09537850SAkhilesh Sanikop DefsHbd::_32x16::Vertical;
1272*09537850SAkhilesh Sanikop #endif
1273*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x16_IntraPredictorHorizontal
1274*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorHorizontal] =
1275*09537850SAkhilesh Sanikop DefsHbd::_32x16::Horizontal;
1276*09537850SAkhilesh Sanikop #endif
1277*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x16_IntraPredictorPaeth
1278*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorPaeth] =
1279*09537850SAkhilesh Sanikop DefsHbd::_32x16::Paeth;
1280*09537850SAkhilesh Sanikop #endif
1281*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x32_IntraPredictorDcFill
1282*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorDcFill] =
1283*09537850SAkhilesh Sanikop Defs10bpp::_32x32::DcFill;
1284*09537850SAkhilesh Sanikop #endif
1285*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x32_IntraPredictorDcTop
1286*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorDcTop] =
1287*09537850SAkhilesh Sanikop DefsHbd::_32x32::DcTop;
1288*09537850SAkhilesh Sanikop #endif
1289*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x32_IntraPredictorDcLeft
1290*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorDcLeft] =
1291*09537850SAkhilesh Sanikop DefsHbd::_32x32::DcLeft;
1292*09537850SAkhilesh Sanikop #endif
1293*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x32_IntraPredictorDc
1294*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorDc] =
1295*09537850SAkhilesh Sanikop DefsHbd::_32x32::Dc;
1296*09537850SAkhilesh Sanikop #endif
1297*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x32_IntraPredictorVertical
1298*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorVertical] =
1299*09537850SAkhilesh Sanikop DefsHbd::_32x32::Vertical;
1300*09537850SAkhilesh Sanikop #endif
1301*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x32_IntraPredictorHorizontal
1302*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorHorizontal] =
1303*09537850SAkhilesh Sanikop DefsHbd::_32x32::Horizontal;
1304*09537850SAkhilesh Sanikop #endif
1305*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x32_IntraPredictorPaeth
1306*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorPaeth] =
1307*09537850SAkhilesh Sanikop DefsHbd::_32x32::Paeth;
1308*09537850SAkhilesh Sanikop #endif
1309*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x64_IntraPredictorDcFill
1310*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorDcFill] =
1311*09537850SAkhilesh Sanikop Defs10bpp::_32x64::DcFill;
1312*09537850SAkhilesh Sanikop #endif
1313*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x64_IntraPredictorDcTop
1314*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorDcTop] =
1315*09537850SAkhilesh Sanikop DefsHbd::_32x64::DcTop;
1316*09537850SAkhilesh Sanikop #endif
1317*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x64_IntraPredictorDcLeft
1318*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorDcLeft] =
1319*09537850SAkhilesh Sanikop DefsHbd::_32x64::DcLeft;
1320*09537850SAkhilesh Sanikop #endif
1321*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x64_IntraPredictorDc
1322*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorDc] =
1323*09537850SAkhilesh Sanikop DefsHbd::_32x64::Dc;
1324*09537850SAkhilesh Sanikop #endif
1325*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x64_IntraPredictorVertical
1326*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorVertical] =
1327*09537850SAkhilesh Sanikop DefsHbd::_32x64::Vertical;
1328*09537850SAkhilesh Sanikop #endif
1329*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x64_IntraPredictorHorizontal
1330*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorHorizontal] =
1331*09537850SAkhilesh Sanikop DefsHbd::_32x64::Horizontal;
1332*09537850SAkhilesh Sanikop #endif
1333*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize32x64_IntraPredictorPaeth
1334*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorPaeth] =
1335*09537850SAkhilesh Sanikop DefsHbd::_32x64::Paeth;
1336*09537850SAkhilesh Sanikop #endif
1337*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x16_IntraPredictorDcFill
1338*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorDcFill] =
1339*09537850SAkhilesh Sanikop Defs10bpp::_64x16::DcFill;
1340*09537850SAkhilesh Sanikop #endif
1341*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x16_IntraPredictorDcTop
1342*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorDcTop] =
1343*09537850SAkhilesh Sanikop DefsHbd::_64x16::DcTop;
1344*09537850SAkhilesh Sanikop #endif
1345*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x16_IntraPredictorDcLeft
1346*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorDcLeft] =
1347*09537850SAkhilesh Sanikop DefsHbd::_64x16::DcLeft;
1348*09537850SAkhilesh Sanikop #endif
1349*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x16_IntraPredictorDc
1350*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorDc] =
1351*09537850SAkhilesh Sanikop DefsHbd::_64x16::Dc;
1352*09537850SAkhilesh Sanikop #endif
1353*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x16_IntraPredictorVertical
1354*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorVertical] =
1355*09537850SAkhilesh Sanikop DefsHbd::_64x16::Vertical;
1356*09537850SAkhilesh Sanikop #endif
1357*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x16_IntraPredictorHorizontal
1358*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorHorizontal] =
1359*09537850SAkhilesh Sanikop DefsHbd::_64x16::Horizontal;
1360*09537850SAkhilesh Sanikop #endif
1361*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x16_IntraPredictorPaeth
1362*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorPaeth] =
1363*09537850SAkhilesh Sanikop DefsHbd::_64x16::Paeth;
1364*09537850SAkhilesh Sanikop #endif
1365*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x32_IntraPredictorDcFill
1366*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorDcFill] =
1367*09537850SAkhilesh Sanikop Defs10bpp::_64x32::DcFill;
1368*09537850SAkhilesh Sanikop #endif
1369*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x32_IntraPredictorDcTop
1370*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorDcTop] =
1371*09537850SAkhilesh Sanikop DefsHbd::_64x32::DcTop;
1372*09537850SAkhilesh Sanikop #endif
1373*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x32_IntraPredictorDcLeft
1374*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorDcLeft] =
1375*09537850SAkhilesh Sanikop DefsHbd::_64x32::DcLeft;
1376*09537850SAkhilesh Sanikop #endif
1377*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x32_IntraPredictorDc
1378*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorDc] =
1379*09537850SAkhilesh Sanikop DefsHbd::_64x32::Dc;
1380*09537850SAkhilesh Sanikop #endif
1381*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x32_IntraPredictorVertical
1382*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorVertical] =
1383*09537850SAkhilesh Sanikop DefsHbd::_64x32::Vertical;
1384*09537850SAkhilesh Sanikop #endif
1385*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x32_IntraPredictorHorizontal
1386*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorHorizontal] =
1387*09537850SAkhilesh Sanikop DefsHbd::_64x32::Horizontal;
1388*09537850SAkhilesh Sanikop #endif
1389*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x32_IntraPredictorPaeth
1390*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorPaeth] =
1391*09537850SAkhilesh Sanikop DefsHbd::_64x32::Paeth;
1392*09537850SAkhilesh Sanikop #endif
1393*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x64_IntraPredictorDcFill
1394*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorDcFill] =
1395*09537850SAkhilesh Sanikop Defs10bpp::_64x64::DcFill;
1396*09537850SAkhilesh Sanikop #endif
1397*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x64_IntraPredictorDcTop
1398*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorDcTop] =
1399*09537850SAkhilesh Sanikop DefsHbd::_64x64::DcTop;
1400*09537850SAkhilesh Sanikop #endif
1401*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x64_IntraPredictorDcLeft
1402*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorDcLeft] =
1403*09537850SAkhilesh Sanikop DefsHbd::_64x64::DcLeft;
1404*09537850SAkhilesh Sanikop #endif
1405*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x64_IntraPredictorDc
1406*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorDc] =
1407*09537850SAkhilesh Sanikop DefsHbd::_64x64::Dc;
1408*09537850SAkhilesh Sanikop #endif
1409*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x64_IntraPredictorVertical
1410*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorVertical] =
1411*09537850SAkhilesh Sanikop DefsHbd::_64x64::Vertical;
1412*09537850SAkhilesh Sanikop #endif
1413*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x64_IntraPredictorHorizontal
1414*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorHorizontal] =
1415*09537850SAkhilesh Sanikop DefsHbd::_64x64::Horizontal;
1416*09537850SAkhilesh Sanikop #endif
1417*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp10bpp_TransformSize64x64_IntraPredictorPaeth
1418*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorPaeth] =
1419*09537850SAkhilesh Sanikop DefsHbd::_64x64::Paeth;
1420*09537850SAkhilesh Sanikop #endif
1421*09537850SAkhilesh Sanikop #endif // LIBGAV1_ENABLE_ALL_DSP_FUNCTIONS
1422*09537850SAkhilesh Sanikop } // NOLINT(readability/fn_size)
1423*09537850SAkhilesh Sanikop #endif // LIBGAV1_MAX_BITDEPTH >= 10
1424*09537850SAkhilesh Sanikop
1425*09537850SAkhilesh Sanikop #if LIBGAV1_MAX_BITDEPTH == 12
1426*09537850SAkhilesh Sanikop using Defs12bpp = IntraPredBppDefs<12, uint16_t>;
1427*09537850SAkhilesh Sanikop
Init12bpp()1428*09537850SAkhilesh Sanikop void Init12bpp() {
1429*09537850SAkhilesh Sanikop Dsp* const dsp = dsp_internal::GetWritableDspTable(12);
1430*09537850SAkhilesh Sanikop assert(dsp != nullptr);
1431*09537850SAkhilesh Sanikop #if LIBGAV1_ENABLE_ALL_DSP_FUNCTIONS
1432*09537850SAkhilesh Sanikop INIT_INTRAPREDICTORS(DefsHbd, Defs12bpp);
1433*09537850SAkhilesh Sanikop #else // !LIBGAV1_ENABLE_ALL_DSP_FUNCTIONS
1434*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x4_IntraPredictorDcFill
1435*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorDcFill] =
1436*09537850SAkhilesh Sanikop Defs12bpp::_4x4::DcFill;
1437*09537850SAkhilesh Sanikop #endif
1438*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x4_IntraPredictorDcTop
1439*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorDcTop] =
1440*09537850SAkhilesh Sanikop DefsHbd::_4x4::DcTop;
1441*09537850SAkhilesh Sanikop #endif
1442*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x4_IntraPredictorDcLeft
1443*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorDcLeft] =
1444*09537850SAkhilesh Sanikop DefsHbd::_4x4::DcLeft;
1445*09537850SAkhilesh Sanikop #endif
1446*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x4_IntraPredictorDc
1447*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorDc] =
1448*09537850SAkhilesh Sanikop DefsHbd::_4x4::Dc;
1449*09537850SAkhilesh Sanikop #endif
1450*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x4_IntraPredictorVertical
1451*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorVertical] =
1452*09537850SAkhilesh Sanikop DefsHbd::_4x4::Vertical;
1453*09537850SAkhilesh Sanikop #endif
1454*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x4_IntraPredictorHorizontal
1455*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorHorizontal] =
1456*09537850SAkhilesh Sanikop DefsHbd::_4x4::Horizontal;
1457*09537850SAkhilesh Sanikop #endif
1458*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x4_IntraPredictorPaeth
1459*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x4][kIntraPredictorPaeth] =
1460*09537850SAkhilesh Sanikop DefsHbd::_4x4::Paeth;
1461*09537850SAkhilesh Sanikop #endif
1462*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x8_IntraPredictorDcFill
1463*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorDcFill] =
1464*09537850SAkhilesh Sanikop Defs12bpp::_4x8::DcFill;
1465*09537850SAkhilesh Sanikop #endif
1466*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x8_IntraPredictorDcTop
1467*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorDcTop] =
1468*09537850SAkhilesh Sanikop DefsHbd::_4x8::DcTop;
1469*09537850SAkhilesh Sanikop #endif
1470*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x8_IntraPredictorDcLeft
1471*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorDcLeft] =
1472*09537850SAkhilesh Sanikop DefsHbd::_4x8::DcLeft;
1473*09537850SAkhilesh Sanikop #endif
1474*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x8_IntraPredictorDc
1475*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorDc] =
1476*09537850SAkhilesh Sanikop DefsHbd::_4x8::Dc;
1477*09537850SAkhilesh Sanikop #endif
1478*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x8_IntraPredictorVertical
1479*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorVertical] =
1480*09537850SAkhilesh Sanikop DefsHbd::_4x8::Vertical;
1481*09537850SAkhilesh Sanikop #endif
1482*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x8_IntraPredictorHorizontal
1483*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorHorizontal] =
1484*09537850SAkhilesh Sanikop DefsHbd::_4x8::Horizontal;
1485*09537850SAkhilesh Sanikop #endif
1486*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x8_IntraPredictorPaeth
1487*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x8][kIntraPredictorPaeth] =
1488*09537850SAkhilesh Sanikop DefsHbd::_4x8::Paeth;
1489*09537850SAkhilesh Sanikop #endif
1490*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x16_IntraPredictorDcFill
1491*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorDcFill] =
1492*09537850SAkhilesh Sanikop Defs12bpp::_4x16::DcFill;
1493*09537850SAkhilesh Sanikop #endif
1494*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x16_IntraPredictorDcTop
1495*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorDcTop] =
1496*09537850SAkhilesh Sanikop DefsHbd::_4x16::DcTop;
1497*09537850SAkhilesh Sanikop #endif
1498*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x16_IntraPredictorDcLeft
1499*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorDcLeft] =
1500*09537850SAkhilesh Sanikop DefsHbd::_4x16::DcLeft;
1501*09537850SAkhilesh Sanikop #endif
1502*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x16_IntraPredictorDc
1503*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorDc] =
1504*09537850SAkhilesh Sanikop DefsHbd::_4x16::Dc;
1505*09537850SAkhilesh Sanikop #endif
1506*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x16_IntraPredictorVertical
1507*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorVertical] =
1508*09537850SAkhilesh Sanikop DefsHbd::_4x16::Vertical;
1509*09537850SAkhilesh Sanikop #endif
1510*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x16_IntraPredictorHorizontal
1511*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorHorizontal] =
1512*09537850SAkhilesh Sanikop DefsHbd::_4x16::Horizontal;
1513*09537850SAkhilesh Sanikop #endif
1514*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize4x16_IntraPredictorPaeth
1515*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize4x16][kIntraPredictorPaeth] =
1516*09537850SAkhilesh Sanikop DefsHbd::_4x16::Paeth;
1517*09537850SAkhilesh Sanikop #endif
1518*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x4_IntraPredictorDcFill
1519*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorDcFill] =
1520*09537850SAkhilesh Sanikop Defs12bpp::_8x4::DcFill;
1521*09537850SAkhilesh Sanikop #endif
1522*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x4_IntraPredictorDcTop
1523*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorDcTop] =
1524*09537850SAkhilesh Sanikop DefsHbd::_8x4::DcTop;
1525*09537850SAkhilesh Sanikop #endif
1526*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x4_IntraPredictorDcLeft
1527*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorDcLeft] =
1528*09537850SAkhilesh Sanikop DefsHbd::_8x4::DcLeft;
1529*09537850SAkhilesh Sanikop #endif
1530*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x4_IntraPredictorDc
1531*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorDc] =
1532*09537850SAkhilesh Sanikop DefsHbd::_8x4::Dc;
1533*09537850SAkhilesh Sanikop #endif
1534*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x4_IntraPredictorVertical
1535*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorVertical] =
1536*09537850SAkhilesh Sanikop DefsHbd::_8x4::Vertical;
1537*09537850SAkhilesh Sanikop #endif
1538*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x4_IntraPredictorHorizontal
1539*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorHorizontal] =
1540*09537850SAkhilesh Sanikop DefsHbd::_8x4::Horizontal;
1541*09537850SAkhilesh Sanikop #endif
1542*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x4_IntraPredictorPaeth
1543*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x4][kIntraPredictorPaeth] =
1544*09537850SAkhilesh Sanikop DefsHbd::_8x4::Paeth;
1545*09537850SAkhilesh Sanikop #endif
1546*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x8_IntraPredictorDcFill
1547*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorDcFill] =
1548*09537850SAkhilesh Sanikop Defs12bpp::_8x8::DcFill;
1549*09537850SAkhilesh Sanikop #endif
1550*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x8_IntraPredictorDcTop
1551*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorDcTop] =
1552*09537850SAkhilesh Sanikop DefsHbd::_8x8::DcTop;
1553*09537850SAkhilesh Sanikop #endif
1554*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x8_IntraPredictorDcLeft
1555*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorDcLeft] =
1556*09537850SAkhilesh Sanikop DefsHbd::_8x8::DcLeft;
1557*09537850SAkhilesh Sanikop #endif
1558*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x8_IntraPredictorDc
1559*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorDc] =
1560*09537850SAkhilesh Sanikop DefsHbd::_8x8::Dc;
1561*09537850SAkhilesh Sanikop #endif
1562*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x8_IntraPredictorVertical
1563*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorVertical] =
1564*09537850SAkhilesh Sanikop DefsHbd::_8x8::Vertical;
1565*09537850SAkhilesh Sanikop #endif
1566*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x8_IntraPredictorHorizontal
1567*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorHorizontal] =
1568*09537850SAkhilesh Sanikop DefsHbd::_8x8::Horizontal;
1569*09537850SAkhilesh Sanikop #endif
1570*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x8_IntraPredictorPaeth
1571*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x8][kIntraPredictorPaeth] =
1572*09537850SAkhilesh Sanikop DefsHbd::_8x8::Paeth;
1573*09537850SAkhilesh Sanikop #endif
1574*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x16_IntraPredictorDcFill
1575*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorDcFill] =
1576*09537850SAkhilesh Sanikop Defs12bpp::_8x16::DcFill;
1577*09537850SAkhilesh Sanikop #endif
1578*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x16_IntraPredictorDcTop
1579*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorDcTop] =
1580*09537850SAkhilesh Sanikop DefsHbd::_8x16::DcTop;
1581*09537850SAkhilesh Sanikop #endif
1582*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x16_IntraPredictorDcLeft
1583*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorDcLeft] =
1584*09537850SAkhilesh Sanikop DefsHbd::_8x16::DcLeft;
1585*09537850SAkhilesh Sanikop #endif
1586*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x16_IntraPredictorDc
1587*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorDc] =
1588*09537850SAkhilesh Sanikop DefsHbd::_8x16::Dc;
1589*09537850SAkhilesh Sanikop #endif
1590*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x16_IntraPredictorVertical
1591*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorVertical] =
1592*09537850SAkhilesh Sanikop DefsHbd::_8x16::Vertical;
1593*09537850SAkhilesh Sanikop #endif
1594*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x16_IntraPredictorHorizontal
1595*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorHorizontal] =
1596*09537850SAkhilesh Sanikop DefsHbd::_8x16::Horizontal;
1597*09537850SAkhilesh Sanikop #endif
1598*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x16_IntraPredictorPaeth
1599*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x16][kIntraPredictorPaeth] =
1600*09537850SAkhilesh Sanikop DefsHbd::_8x16::Paeth;
1601*09537850SAkhilesh Sanikop #endif
1602*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x32_IntraPredictorDcFill
1603*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorDcFill] =
1604*09537850SAkhilesh Sanikop Defs12bpp::_8x32::DcFill;
1605*09537850SAkhilesh Sanikop #endif
1606*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x32_IntraPredictorDcTop
1607*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorDcTop] =
1608*09537850SAkhilesh Sanikop DefsHbd::_8x32::DcTop;
1609*09537850SAkhilesh Sanikop #endif
1610*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x32_IntraPredictorDcLeft
1611*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorDcLeft] =
1612*09537850SAkhilesh Sanikop DefsHbd::_8x32::DcLeft;
1613*09537850SAkhilesh Sanikop #endif
1614*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x32_IntraPredictorDc
1615*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorDc] =
1616*09537850SAkhilesh Sanikop DefsHbd::_8x32::Dc;
1617*09537850SAkhilesh Sanikop #endif
1618*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x32_IntraPredictorVertical
1619*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorVertical] =
1620*09537850SAkhilesh Sanikop DefsHbd::_8x32::Vertical;
1621*09537850SAkhilesh Sanikop #endif
1622*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x32_IntraPredictorHorizontal
1623*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorHorizontal] =
1624*09537850SAkhilesh Sanikop DefsHbd::_8x32::Horizontal;
1625*09537850SAkhilesh Sanikop #endif
1626*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize8x32_IntraPredictorPaeth
1627*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize8x32][kIntraPredictorPaeth] =
1628*09537850SAkhilesh Sanikop DefsHbd::_8x32::Paeth;
1629*09537850SAkhilesh Sanikop #endif
1630*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x4_IntraPredictorDcFill
1631*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorDcFill] =
1632*09537850SAkhilesh Sanikop Defs12bpp::_16x4::DcFill;
1633*09537850SAkhilesh Sanikop #endif
1634*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x4_IntraPredictorDcTop
1635*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorDcTop] =
1636*09537850SAkhilesh Sanikop DefsHbd::_16x4::DcTop;
1637*09537850SAkhilesh Sanikop #endif
1638*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x4_IntraPredictorDcLeft
1639*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorDcLeft] =
1640*09537850SAkhilesh Sanikop DefsHbd::_16x4::DcLeft;
1641*09537850SAkhilesh Sanikop #endif
1642*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x4_IntraPredictorDc
1643*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorDc] =
1644*09537850SAkhilesh Sanikop DefsHbd::_16x4::Dc;
1645*09537850SAkhilesh Sanikop #endif
1646*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x4_IntraPredictorVertical
1647*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorVertical] =
1648*09537850SAkhilesh Sanikop DefsHbd::_16x4::Vertical;
1649*09537850SAkhilesh Sanikop #endif
1650*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x4_IntraPredictorHorizontal
1651*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorHorizontal] =
1652*09537850SAkhilesh Sanikop DefsHbd::_16x4::Horizontal;
1653*09537850SAkhilesh Sanikop #endif
1654*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x4_IntraPredictorPaeth
1655*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x4][kIntraPredictorPaeth] =
1656*09537850SAkhilesh Sanikop DefsHbd::_16x4::Paeth;
1657*09537850SAkhilesh Sanikop #endif
1658*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x8_IntraPredictorDcFill
1659*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorDcFill] =
1660*09537850SAkhilesh Sanikop Defs12bpp::_16x8::DcFill;
1661*09537850SAkhilesh Sanikop #endif
1662*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x8_IntraPredictorDcTop
1663*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorDcTop] =
1664*09537850SAkhilesh Sanikop DefsHbd::_16x8::DcTop;
1665*09537850SAkhilesh Sanikop #endif
1666*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x8_IntraPredictorDcLeft
1667*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorDcLeft] =
1668*09537850SAkhilesh Sanikop DefsHbd::_16x8::DcLeft;
1669*09537850SAkhilesh Sanikop #endif
1670*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x8_IntraPredictorDc
1671*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorDc] =
1672*09537850SAkhilesh Sanikop DefsHbd::_16x8::Dc;
1673*09537850SAkhilesh Sanikop #endif
1674*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x8_IntraPredictorVertical
1675*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorVertical] =
1676*09537850SAkhilesh Sanikop DefsHbd::_16x8::Vertical;
1677*09537850SAkhilesh Sanikop #endif
1678*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x8_IntraPredictorHorizontal
1679*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorHorizontal] =
1680*09537850SAkhilesh Sanikop DefsHbd::_16x8::Horizontal;
1681*09537850SAkhilesh Sanikop #endif
1682*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x8_IntraPredictorPaeth
1683*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x8][kIntraPredictorPaeth] =
1684*09537850SAkhilesh Sanikop DefsHbd::_16x8::Paeth;
1685*09537850SAkhilesh Sanikop #endif
1686*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x16_IntraPredictorDcFill
1687*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorDcFill] =
1688*09537850SAkhilesh Sanikop Defs12bpp::_16x16::DcFill;
1689*09537850SAkhilesh Sanikop #endif
1690*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x16_IntraPredictorDcTop
1691*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorDcTop] =
1692*09537850SAkhilesh Sanikop DefsHbd::_16x16::DcTop;
1693*09537850SAkhilesh Sanikop #endif
1694*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x16_IntraPredictorDcLeft
1695*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorDcLeft] =
1696*09537850SAkhilesh Sanikop DefsHbd::_16x16::DcLeft;
1697*09537850SAkhilesh Sanikop #endif
1698*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x16_IntraPredictorDc
1699*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorDc] =
1700*09537850SAkhilesh Sanikop DefsHbd::_16x16::Dc;
1701*09537850SAkhilesh Sanikop #endif
1702*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x16_IntraPredictorVertical
1703*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorVertical] =
1704*09537850SAkhilesh Sanikop DefsHbd::_16x16::Vertical;
1705*09537850SAkhilesh Sanikop #endif
1706*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x16_IntraPredictorHorizontal
1707*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorHorizontal] =
1708*09537850SAkhilesh Sanikop DefsHbd::_16x16::Horizontal;
1709*09537850SAkhilesh Sanikop #endif
1710*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x16_IntraPredictorPaeth
1711*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x16][kIntraPredictorPaeth] =
1712*09537850SAkhilesh Sanikop DefsHbd::_16x16::Paeth;
1713*09537850SAkhilesh Sanikop #endif
1714*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x32_IntraPredictorDcFill
1715*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorDcFill] =
1716*09537850SAkhilesh Sanikop Defs12bpp::_16x32::DcFill;
1717*09537850SAkhilesh Sanikop #endif
1718*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x32_IntraPredictorDcTop
1719*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorDcTop] =
1720*09537850SAkhilesh Sanikop DefsHbd::_16x32::DcTop;
1721*09537850SAkhilesh Sanikop #endif
1722*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x32_IntraPredictorDcLeft
1723*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorDcLeft] =
1724*09537850SAkhilesh Sanikop DefsHbd::_16x32::DcLeft;
1725*09537850SAkhilesh Sanikop #endif
1726*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x32_IntraPredictorDc
1727*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorDc] =
1728*09537850SAkhilesh Sanikop DefsHbd::_16x32::Dc;
1729*09537850SAkhilesh Sanikop #endif
1730*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x32_IntraPredictorVertical
1731*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorVertical] =
1732*09537850SAkhilesh Sanikop DefsHbd::_16x32::Vertical;
1733*09537850SAkhilesh Sanikop #endif
1734*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x32_IntraPredictorHorizontal
1735*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorHorizontal] =
1736*09537850SAkhilesh Sanikop DefsHbd::_16x32::Horizontal;
1737*09537850SAkhilesh Sanikop #endif
1738*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x32_IntraPredictorPaeth
1739*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x32][kIntraPredictorPaeth] =
1740*09537850SAkhilesh Sanikop DefsHbd::_16x32::Paeth;
1741*09537850SAkhilesh Sanikop #endif
1742*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x64_IntraPredictorDcFill
1743*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorDcFill] =
1744*09537850SAkhilesh Sanikop Defs12bpp::_16x64::DcFill;
1745*09537850SAkhilesh Sanikop #endif
1746*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x64_IntraPredictorDcTop
1747*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorDcTop] =
1748*09537850SAkhilesh Sanikop DefsHbd::_16x64::DcTop;
1749*09537850SAkhilesh Sanikop #endif
1750*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x64_IntraPredictorDcLeft
1751*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorDcLeft] =
1752*09537850SAkhilesh Sanikop DefsHbd::_16x64::DcLeft;
1753*09537850SAkhilesh Sanikop #endif
1754*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x64_IntraPredictorDc
1755*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorDc] =
1756*09537850SAkhilesh Sanikop DefsHbd::_16x64::Dc;
1757*09537850SAkhilesh Sanikop #endif
1758*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x64_IntraPredictorVertical
1759*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorVertical] =
1760*09537850SAkhilesh Sanikop DefsHbd::_16x64::Vertical;
1761*09537850SAkhilesh Sanikop #endif
1762*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x64_IntraPredictorHorizontal
1763*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorHorizontal] =
1764*09537850SAkhilesh Sanikop DefsHbd::_16x64::Horizontal;
1765*09537850SAkhilesh Sanikop #endif
1766*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize16x64_IntraPredictorPaeth
1767*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize16x64][kIntraPredictorPaeth] =
1768*09537850SAkhilesh Sanikop DefsHbd::_16x64::Paeth;
1769*09537850SAkhilesh Sanikop #endif
1770*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x8_IntraPredictorDcFill
1771*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorDcFill] =
1772*09537850SAkhilesh Sanikop Defs12bpp::_32x8::DcFill;
1773*09537850SAkhilesh Sanikop #endif
1774*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x8_IntraPredictorDcTop
1775*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorDcTop] =
1776*09537850SAkhilesh Sanikop DefsHbd::_32x8::DcTop;
1777*09537850SAkhilesh Sanikop #endif
1778*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x8_IntraPredictorDcLeft
1779*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorDcLeft] =
1780*09537850SAkhilesh Sanikop DefsHbd::_32x8::DcLeft;
1781*09537850SAkhilesh Sanikop #endif
1782*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x8_IntraPredictorDc
1783*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorDc] =
1784*09537850SAkhilesh Sanikop DefsHbd::_32x8::Dc;
1785*09537850SAkhilesh Sanikop #endif
1786*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x8_IntraPredictorVertical
1787*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorVertical] =
1788*09537850SAkhilesh Sanikop DefsHbd::_32x8::Vertical;
1789*09537850SAkhilesh Sanikop #endif
1790*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x8_IntraPredictorHorizontal
1791*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorHorizontal] =
1792*09537850SAkhilesh Sanikop DefsHbd::_32x8::Horizontal;
1793*09537850SAkhilesh Sanikop #endif
1794*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x8_IntraPredictorPaeth
1795*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x8][kIntraPredictorPaeth] =
1796*09537850SAkhilesh Sanikop DefsHbd::_32x8::Paeth;
1797*09537850SAkhilesh Sanikop #endif
1798*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x16_IntraPredictorDcFill
1799*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorDcFill] =
1800*09537850SAkhilesh Sanikop Defs12bpp::_32x16::DcFill;
1801*09537850SAkhilesh Sanikop #endif
1802*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x16_IntraPredictorDcTop
1803*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorDcTop] =
1804*09537850SAkhilesh Sanikop DefsHbd::_32x16::DcTop;
1805*09537850SAkhilesh Sanikop #endif
1806*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x16_IntraPredictorDcLeft
1807*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorDcLeft] =
1808*09537850SAkhilesh Sanikop DefsHbd::_32x16::DcLeft;
1809*09537850SAkhilesh Sanikop #endif
1810*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x16_IntraPredictorDc
1811*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorDc] =
1812*09537850SAkhilesh Sanikop DefsHbd::_32x16::Dc;
1813*09537850SAkhilesh Sanikop #endif
1814*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x16_IntraPredictorVertical
1815*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorVertical] =
1816*09537850SAkhilesh Sanikop DefsHbd::_32x16::Vertical;
1817*09537850SAkhilesh Sanikop #endif
1818*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x16_IntraPredictorHorizontal
1819*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorHorizontal] =
1820*09537850SAkhilesh Sanikop DefsHbd::_32x16::Horizontal;
1821*09537850SAkhilesh Sanikop #endif
1822*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x16_IntraPredictorPaeth
1823*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x16][kIntraPredictorPaeth] =
1824*09537850SAkhilesh Sanikop DefsHbd::_32x16::Paeth;
1825*09537850SAkhilesh Sanikop #endif
1826*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x32_IntraPredictorDcFill
1827*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorDcFill] =
1828*09537850SAkhilesh Sanikop Defs12bpp::_32x32::DcFill;
1829*09537850SAkhilesh Sanikop #endif
1830*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x32_IntraPredictorDcTop
1831*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorDcTop] =
1832*09537850SAkhilesh Sanikop DefsHbd::_32x32::DcTop;
1833*09537850SAkhilesh Sanikop #endif
1834*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x32_IntraPredictorDcLeft
1835*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorDcLeft] =
1836*09537850SAkhilesh Sanikop DefsHbd::_32x32::DcLeft;
1837*09537850SAkhilesh Sanikop #endif
1838*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x32_IntraPredictorDc
1839*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorDc] =
1840*09537850SAkhilesh Sanikop DefsHbd::_32x32::Dc;
1841*09537850SAkhilesh Sanikop #endif
1842*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x32_IntraPredictorVertical
1843*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorVertical] =
1844*09537850SAkhilesh Sanikop DefsHbd::_32x32::Vertical;
1845*09537850SAkhilesh Sanikop #endif
1846*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x32_IntraPredictorHorizontal
1847*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorHorizontal] =
1848*09537850SAkhilesh Sanikop DefsHbd::_32x32::Horizontal;
1849*09537850SAkhilesh Sanikop #endif
1850*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x32_IntraPredictorPaeth
1851*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x32][kIntraPredictorPaeth] =
1852*09537850SAkhilesh Sanikop DefsHbd::_32x32::Paeth;
1853*09537850SAkhilesh Sanikop #endif
1854*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x64_IntraPredictorDcFill
1855*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorDcFill] =
1856*09537850SAkhilesh Sanikop Defs12bpp::_32x64::DcFill;
1857*09537850SAkhilesh Sanikop #endif
1858*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x64_IntraPredictorDcTop
1859*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorDcTop] =
1860*09537850SAkhilesh Sanikop DefsHbd::_32x64::DcTop;
1861*09537850SAkhilesh Sanikop #endif
1862*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x64_IntraPredictorDcLeft
1863*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorDcLeft] =
1864*09537850SAkhilesh Sanikop DefsHbd::_32x64::DcLeft;
1865*09537850SAkhilesh Sanikop #endif
1866*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x64_IntraPredictorDc
1867*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorDc] =
1868*09537850SAkhilesh Sanikop DefsHbd::_32x64::Dc;
1869*09537850SAkhilesh Sanikop #endif
1870*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x64_IntraPredictorVertical
1871*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorVertical] =
1872*09537850SAkhilesh Sanikop DefsHbd::_32x64::Vertical;
1873*09537850SAkhilesh Sanikop #endif
1874*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x64_IntraPredictorHorizontal
1875*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorHorizontal] =
1876*09537850SAkhilesh Sanikop DefsHbd::_32x64::Horizontal;
1877*09537850SAkhilesh Sanikop #endif
1878*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize32x64_IntraPredictorPaeth
1879*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize32x64][kIntraPredictorPaeth] =
1880*09537850SAkhilesh Sanikop DefsHbd::_32x64::Paeth;
1881*09537850SAkhilesh Sanikop #endif
1882*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x16_IntraPredictorDcFill
1883*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorDcFill] =
1884*09537850SAkhilesh Sanikop Defs12bpp::_64x16::DcFill;
1885*09537850SAkhilesh Sanikop #endif
1886*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x16_IntraPredictorDcTop
1887*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorDcTop] =
1888*09537850SAkhilesh Sanikop DefsHbd::_64x16::DcTop;
1889*09537850SAkhilesh Sanikop #endif
1890*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x16_IntraPredictorDcLeft
1891*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorDcLeft] =
1892*09537850SAkhilesh Sanikop DefsHbd::_64x16::DcLeft;
1893*09537850SAkhilesh Sanikop #endif
1894*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x16_IntraPredictorDc
1895*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorDc] =
1896*09537850SAkhilesh Sanikop DefsHbd::_64x16::Dc;
1897*09537850SAkhilesh Sanikop #endif
1898*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x16_IntraPredictorVertical
1899*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorVertical] =
1900*09537850SAkhilesh Sanikop DefsHbd::_64x16::Vertical;
1901*09537850SAkhilesh Sanikop #endif
1902*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x16_IntraPredictorHorizontal
1903*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorHorizontal] =
1904*09537850SAkhilesh Sanikop DefsHbd::_64x16::Horizontal;
1905*09537850SAkhilesh Sanikop #endif
1906*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x16_IntraPredictorPaeth
1907*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x16][kIntraPredictorPaeth] =
1908*09537850SAkhilesh Sanikop DefsHbd::_64x16::Paeth;
1909*09537850SAkhilesh Sanikop #endif
1910*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x32_IntraPredictorDcFill
1911*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorDcFill] =
1912*09537850SAkhilesh Sanikop Defs12bpp::_64x32::DcFill;
1913*09537850SAkhilesh Sanikop #endif
1914*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x32_IntraPredictorDcTop
1915*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorDcTop] =
1916*09537850SAkhilesh Sanikop DefsHbd::_64x32::DcTop;
1917*09537850SAkhilesh Sanikop #endif
1918*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x32_IntraPredictorDcLeft
1919*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorDcLeft] =
1920*09537850SAkhilesh Sanikop DefsHbd::_64x32::DcLeft;
1921*09537850SAkhilesh Sanikop #endif
1922*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x32_IntraPredictorDc
1923*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorDc] =
1924*09537850SAkhilesh Sanikop DefsHbd::_64x32::Dc;
1925*09537850SAkhilesh Sanikop #endif
1926*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x32_IntraPredictorVertical
1927*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorVertical] =
1928*09537850SAkhilesh Sanikop DefsHbd::_64x32::Vertical;
1929*09537850SAkhilesh Sanikop #endif
1930*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x32_IntraPredictorHorizontal
1931*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorHorizontal] =
1932*09537850SAkhilesh Sanikop DefsHbd::_64x32::Horizontal;
1933*09537850SAkhilesh Sanikop #endif
1934*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x32_IntraPredictorPaeth
1935*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x32][kIntraPredictorPaeth] =
1936*09537850SAkhilesh Sanikop DefsHbd::_64x32::Paeth;
1937*09537850SAkhilesh Sanikop #endif
1938*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x64_IntraPredictorDcFill
1939*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorDcFill] =
1940*09537850SAkhilesh Sanikop Defs12bpp::_64x64::DcFill;
1941*09537850SAkhilesh Sanikop #endif
1942*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x64_IntraPredictorDcTop
1943*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorDcTop] =
1944*09537850SAkhilesh Sanikop DefsHbd::_64x64::DcTop;
1945*09537850SAkhilesh Sanikop #endif
1946*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x64_IntraPredictorDcLeft
1947*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorDcLeft] =
1948*09537850SAkhilesh Sanikop DefsHbd::_64x64::DcLeft;
1949*09537850SAkhilesh Sanikop #endif
1950*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x64_IntraPredictorDc
1951*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorDc] =
1952*09537850SAkhilesh Sanikop DefsHbd::_64x64::Dc;
1953*09537850SAkhilesh Sanikop #endif
1954*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x64_IntraPredictorVertical
1955*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorVertical] =
1956*09537850SAkhilesh Sanikop DefsHbd::_64x64::Vertical;
1957*09537850SAkhilesh Sanikop #endif
1958*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x64_IntraPredictorHorizontal
1959*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorHorizontal] =
1960*09537850SAkhilesh Sanikop DefsHbd::_64x64::Horizontal;
1961*09537850SAkhilesh Sanikop #endif
1962*09537850SAkhilesh Sanikop #ifndef LIBGAV1_Dsp12bpp_TransformSize64x64_IntraPredictorPaeth
1963*09537850SAkhilesh Sanikop dsp->intra_predictors[kTransformSize64x64][kIntraPredictorPaeth] =
1964*09537850SAkhilesh Sanikop DefsHbd::_64x64::Paeth;
1965*09537850SAkhilesh Sanikop #endif
1966*09537850SAkhilesh Sanikop #endif // LIBGAV1_ENABLE_ALL_DSP_FUNCTIONS
1967*09537850SAkhilesh Sanikop } // NOLINT(readability/fn_size)
1968*09537850SAkhilesh Sanikop #endif // LIBGAV1_MAX_BITDEPTH == 12
1969*09537850SAkhilesh Sanikop
1970*09537850SAkhilesh Sanikop #undef INIT_INTRAPREDICTORS_WxH
1971*09537850SAkhilesh Sanikop #undef INIT_INTRAPREDICTORS
1972*09537850SAkhilesh Sanikop } // namespace
1973*09537850SAkhilesh Sanikop
IntraPredInit_C()1974*09537850SAkhilesh Sanikop void IntraPredInit_C() {
1975*09537850SAkhilesh Sanikop Init8bpp();
1976*09537850SAkhilesh Sanikop #if LIBGAV1_MAX_BITDEPTH >= 10
1977*09537850SAkhilesh Sanikop Init10bpp();
1978*09537850SAkhilesh Sanikop #endif
1979*09537850SAkhilesh Sanikop #if LIBGAV1_MAX_BITDEPTH == 12
1980*09537850SAkhilesh Sanikop Init12bpp();
1981*09537850SAkhilesh Sanikop #endif
1982*09537850SAkhilesh Sanikop }
1983*09537850SAkhilesh Sanikop
1984*09537850SAkhilesh Sanikop } // namespace dsp
1985*09537850SAkhilesh Sanikop } // namespace libgav1
1986