24 #if defined(TEMPLATE_8bit)
26 # define RENAME(N) N ## _8bit
30 #elif defined(TEMPLATE_10bit)
32 # define RENAME(N) N ## _10bit
34 # undef TEMPLATE_10bit
36 #elif defined(TEMPLATE_12bit)
38 # define RENAME(N) N ## _12bit
40 # undef TEMPLATE_12bit
52 b1[
i] -= (
unsigned)((
int)(
b0[
i] + (
unsigned)
b2[
i] + 2) >> 2);
59 for (
i = 0;
i < w2;
i++) {
68 const int w2 =
w >> 1;
73 for (x = 1; x < w2; x++) {
85 const int w2 =
w >> 1;
90 for (x = 1; x < w2; x++)
97 for (x = 0; x < w2; x++) {
98 b[2*x ] = ((
int)(
tmp[x] + 1U))>>1;
105 const int w2 =
w >> 1;
112 for (x = 2; x < w2-1; x++)
120 for (x = 0; x < w2; x++) {
121 b[2*x ] = ((
int)(
tmp[x] + 1U))>>1;
129 const int w2 =
w >> 1;
132 for (x = 0; x < w2; x++) {
156 const int w2 =
w >> 1;
162 for (x = 0; x < w2; x++) {
163 for (
i = 0;
i < 8;
i++)
168 for (x = 0; x < w2; x++) {
169 for (
i = 0;
i < 8;
i++)
179 const int w2 =
w >> 1;
185 for (x = 1; x < w2; x++) {
193 b[0] = ~((~
b0) >> 1);
194 for (x = 1; x < w2; x++) {
197 b[2*x-1] = ~((~
b1) >> 1);
198 b[2*x ] = ~((~
b2) >> 1);
347 for (
i = 0;
i < 6;
i++)
352 if(y+5<(
unsigned)
height) vertical_compose_l0(
b[5],
b[6],
b[7],
width);
353 if(y+1<(
unsigned)
height) vertical_compose_h0(
b[0],
b[2],
b[3],
b[4],
b[6],
width);
355 if(y-1<(
unsigned)
height) d->horizontal_compose(
b[0], d->temp,
width);
356 if(y+0<(
unsigned)
height) d->horizontal_compose(
b[1], d->temp,
width);
358 for (
i = 0;
i < 6;
i++)
374 if(y+1<(
unsigned)
height) vertical_compose_l0(
b[1],
b[2],
b[3],
width);
375 if(y+0<(
unsigned)
height) vertical_compose_h0(
b[0],
b[1],
b[2],
width);
377 if(y-1<(
unsigned)
height) d->horizontal_compose(
b[0], d->temp,
width);
378 if(y+0<(
unsigned)
height) d->horizontal_compose(
b[1], d->temp,
width);
393 for (
i = 0;
i < 8;
i++)
398 if(y+5<(
unsigned)
height) vertical_compose_l0(
b[3],
b[5],
b[6],
b[7],
b[9],
width);
399 if(y+1<(
unsigned)
height) vertical_compose_h0(
b[0],
b[2],
b[3],
b[4],
b[6],
width);
401 if(y-1<(
unsigned)
height) d->horizontal_compose(
b[0], d->temp,
width);
402 if(y+0<(
unsigned)
height) d->horizontal_compose(
b[1], d->temp,
width);
404 for (
i = 0;
i < 8;
i++)
413 int y = d->cs[
level].y;
418 d->horizontal_compose(
b0, d->temp,
width);
419 d->horizontal_compose(
b1, d->temp,
width);
433 for (y = 1; y <
height; y += 2) {
434 for (
i = 0;
i < 8;
i++)
439 for (y = 0; y <
height; y += 2) {
440 for (
i = 0;
i < 8;
i++)
445 for (y = 0; y <
height; y++)
446 d->horizontal_compose(d->buffer + y*
stride, d->temp,
width);
461 for (
i = 0;
i < 4;
i++)
466 if(y+3<(
unsigned)
height) vertical_compose_l1(
b[3],
b[4],
b[5],
width);
467 if(y+2<(
unsigned)
height) vertical_compose_h1(
b[2],
b[3],
b[4],
width);
468 if(y+1<(
unsigned)
height) vertical_compose_l0(
b[1],
b[2],
b[3],
width);
469 if(y+0<(
unsigned)
height) vertical_compose_h0(
b[0],
b[1],
b[2],
width);
471 if(y-1<(
unsigned)
height) d->horizontal_compose(
b[0], d->temp,
width);
472 if(y+0<(
unsigned)
height) d->horizontal_compose(
b[1], d->temp,
width);
474 for (
i = 0;
i < 4;
i++)
526 int hl = d->height >>
level;
527 int stride_l = d->stride <<
level;
#define COMPOSE_DAUB97iL0(b0, b1, b2)
#define COMPOSE_DIRAC53iH0(b0, b1, b2)
#define COMPOSE_HAARiH0(b0, b1)
void(* vertical_compose_5tap)(uint8_t *b0, uint8_t *b1, uint8_t *b2, uint8_t *b3, uint8_t *b4, int width)
#define COMPOSE_DAUB97iH1(b0, b1, b2)
#define COMPOSE_HAARiL0(b0, b1)
#define COMPOSE_DD97iH0(b0, b1, b2, b3, b4)
#define COMPOSE_53iL0(b0, b1, b2)
#define COMPOSE_FIDELITYiL0(b0, b1, b2, b3, b4, b5, b6, b7, b8)
void(* vertical_compose_2tap)(uint8_t *b0, uint8_t *b1, int width)
#define COMPOSE_FIDELITYiH0(b0, b1, b2, b3, b4, b5, b6, b7, b8)
#define COMPOSE_DD137iL0(b0, b1, b2, b3, b4)
void(* vertical_compose_3tap)(uint8_t *b0, uint8_t *b1, uint8_t *b2, int width)
#define COMPOSE_DAUB97iL1(b0, b1, b2)
void(* vertical_compose_9tap)(uint8_t *dst, uint8_t *b[8], int width)
#define COMPOSE_DAUB97iH0(b0, b1, b2)
static void RENAME() vertical_compose_fidelityiH0(uint8_t *_dst, uint8_t *_b[8], int width)
static void RENAME() spatial_compose_dd137i_dy(DWTContext *d, int level, int width, int height, int stride)
static void RENAME() vertical_compose_daub97iH0(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, int width)
static void RENAME() vertical_compose_dd97iH0(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, uint8_t *_b3, uint8_t *_b4, int width)
static void RENAME() vertical_compose_haar(uint8_t *_b0, uint8_t *_b1, int width)
static void RENAME() spatial_compose_daub97i_dy(DWTContext *d, int level, int width, int height, int stride)
static void RENAME() spatial_compose53i_init(DWTCompose *cs, uint8_t *buffer, int height, int stride)
static void RENAME() vertical_compose_daub97iL1(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, int width)
static void RENAME() horizontal_compose_dd137i(uint8_t *_b, uint8_t *_tmp, int w)
static void RENAME() spatial_compose_dd137i_init(DWTCompose *cs, uint8_t *buffer, int height, int stride)
static void RENAME() horizontal_compose_daub97i(uint8_t *_b, uint8_t *_temp, int w)
static void RENAME() vertical_compose_fidelityiL0(uint8_t *_dst, uint8_t *_b[8], int width)
static av_always_inline void RENAME() horizontal_compose_haari(TYPE *b, TYPE *temp, int w, int shift)
static void RENAME() spatial_compose_dd97i_dy(DWTContext *d, int level, int width, int height, int stride)
static void RENAME() vertical_compose_daub97iL0(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, int width)
static void RENAME() horizontal_compose_haar1i(uint8_t *_b, uint8_t *_temp, int w)
static void RENAME() spatial_compose97i_init(DWTCompose *cs, uint8_t *buffer, int height, int stride)
static void RENAME() vertical_compose_dirac53iH0(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, int width)
static int RENAME() ff_spatial_idwt_init(DWTContext *d, enum dwt_type type)
static void RENAME() spatial_compose_dd97i_init(DWTCompose *cs, uint8_t *buffer, int height, int stride)
static void RENAME() vertical_compose_dd137iL0(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, uint8_t *_b3, uint8_t *_b4, int width)
static void RENAME() horizontal_compose_dd97i(uint8_t *_b, uint8_t *_tmp, int w)
static void RENAME() spatial_compose_haari_dy(DWTContext *d, int level, int width, int height, int stride)
static void RENAME() vertical_compose53iL0(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, int width)
static void RENAME() horizontal_compose_fidelityi(uint8_t *_b, uint8_t *_tmp, int w)
static void RENAME() horizontal_compose_dirac53i(uint8_t *_b, uint8_t *_temp, int w)
static void RENAME() spatial_compose_dirac53i_dy(DWTContext *d, int level, int width, int height, int stride)
static void RENAME() horizontal_compose_haar0i(uint8_t *_b, uint8_t *_temp, int w)
static av_always_inline void RENAME() interleave(TYPE *dst, TYPE *src0, TYPE *src1, int w2, int add, int shift)
static void RENAME() spatial_compose_fidelity(DWTContext *d, int level, int width, int height, int stride)
static void RENAME() vertical_compose_daub97iH1(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, int width)
static float add(float src0, float src1)
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
static av_always_inline av_const int avpriv_mirror(int x, int w)
static int shift(int a, int b)
uint8_t * b[MAX_DWT_SUPPORT]
static double b1(void *priv, double x, double y)
static double b2(void *priv, double x, double y)
static double b3(void *priv, double x, double y)
static double b0(void *priv, double x, double y)