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 51 for (i = 0; i <
width; i++)
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++)
95 tmp[w2+1] = tmp[w2] = tmp[w2-1];
97 for (x = 0; x < w2; x++) {
98 b[2*x ] = ((
int)(tmp[x] + 1
U))>>1;
105 const int w2 =
w >> 1;
112 for (x = 2; x < w2-1; x++)
118 tmp[w2+1] = tmp[w2] = tmp[w2-1];
120 for (x = 0; x < w2; x++) {
121 b[2*x ] = ((
int)(tmp[x] + 1
U))>>1;
122 b[2*x+1] = ((
int)(
COMPOSE_DD97iH0(tmp[x-1], tmp[x], b[x+w2], tmp[x+1], tmp[x+2]) + 1
U))>>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++)
164 v[i] = b[av_clip(x-3+i, 0, w2-1)];
168 for (x = 0; x < w2; x++) {
169 for (i = 0; i < 8; i++)
170 v[i] = tmp[av_clip(x-4+i, 0, w2-1)];
179 const int w2 =
w >> 1;
185 for (x = 1; x < w2; x++) {
193 b[0] = (b0 + 1) >> 1;
194 for (x = 1; x < w2; x++) {
197 b[2*x-1] = (b1 + 1) >> 1;
198 b[2*x ] = (b2 + 1) >> 1;
211 for(i=0; i<
width; i++){
225 for(i=0; i<
width; i++){
239 for(i=0; i<
width; i++){
250 for (i = 0; i <
width; i++) {
268 for(i=0; i<
width; i++){
269 dst[i] =
COMPOSE_FIDELITYiH0(b0[i], b1[i], b2[i], b3[i], dst[i], b4[i], b5[i], b6[i], b7[i]);
286 for(i=0; i<
width; i++){
287 dst[i] =
COMPOSE_FIDELITYiL0(b0[i], b1[i], b2[i], b3[i], dst[i], b4[i], b5[i], b6[i], b7[i]);
298 for(i=0; i<
width; i++){
310 for(i=0; i<
width; i++){
322 for(i=0; i<
width; i++){
334 for(i=0; i<
width; i++){
347 for (i = 0; i < 6; i++)
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++)
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++)
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++)
435 b[i] = d->buffer + av_clip((y-7 + 2*i), 0, height-2)*
stride;
439 for (y = 0; y <
height; y += 2) {
440 for (i = 0; i < 8; i++)
441 b[i] = d->buffer + av_clip((y-7 + 2*i), 1, height-1)*
stride;
445 for (y = 0; y <
height; y++)
446 d->horizontal_compose(d->buffer + y*
stride, d->temp,
width);
448 d->cs[
level].y = height+1;
461 for (i = 0; i < 4; i++)
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++)
525 for (level = d->decomposition_count - 1; level >= 0; level--){
526 int hl = d->height >>
level;
527 int stride_l = d->stride <<
level;
static void RENAME() horizontal_compose_daub97i(uint8_t *_b, uint8_t *_temp, int w)
#define COMPOSE_HAARiH0(b0, b1)
static void RENAME() spatial_compose_dirac53i_dy(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 void RENAME() horizontal_compose_dirac53i(uint8_t *_b, uint8_t *_temp, int w)
static void RENAME() horizontal_compose_haar1i(uint8_t *_b, uint8_t *_temp, int w)
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
static int shift(int a, int b)
void(* vertical_compose_l0)(void)
uint8_t * b[MAX_DWT_SUPPORT]
static void RENAME() spatial_compose_dd137i_init(DWTCompose *cs, uint8_t *buffer, int height, int stride)
#define COMPOSE_DAUB97iL0(b0, b1, b2)
static void RENAME() spatial_compose_dd137i_dy(DWTContext *d, int level, int width, int height, int stride)
#define COMPOSE_FIDELITYiH0(b0, b1, b2, b3, b4, b5, b6, b7, b8)
static void RENAME() spatial_compose_fidelity(DWTContext *d, int level, int width, int height, int stride)
static void RENAME() spatial_compose_daub97i_dy(DWTContext *d, int level, int width, int height, int stride)
static av_always_inline void RENAME() horizontal_compose_haari(TYPE *b, TYPE *temp, int w, int shift)
#define COMPOSE_DAUB97iL1(b0, b1, b2)
static void RENAME() spatial_compose97i_init(DWTCompose *cs, uint8_t *buffer, int height, int stride)
#define COMPOSE_DD97iH0(b0, b1, b2, b3, b4)
#define COMPOSE_53iL0(b0, b1, b2)
#define COMPOSE_DIRAC53iH0(b0, b1, b2)
static void RENAME() horizontal_compose_dd97i(uint8_t *_b, uint8_t *_tmp, int w)
static void RENAME() spatial_compose53i_init(DWTCompose *cs, uint8_t *buffer, int height, int stride)
static void RENAME() vertical_compose_daub97iL0(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, int width)
#define COMPOSE_DAUB97iH1(b0, b1, b2)
void(* vertical_compose_2tap)(uint8_t *b0, uint8_t *b1, int width)
static int RENAME() ff_spatial_idwt_init(DWTContext *d, enum dwt_type type)
static void RENAME() vertical_compose_haar(uint8_t *_b0, uint8_t *_b1, int width)
void(* vertical_compose_5tap)(uint8_t *b0, uint8_t *b1, uint8_t *b2, uint8_t *b3, uint8_t *b4, int width)
void(* vertical_compose_l1)(void)
static av_always_inline av_const int avpriv_mirror(int x, int w)
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_dd97i_dy(DWTContext *d, int level, int width, int height, int stride)
void(* vertical_compose_3tap)(uint8_t *b0, uint8_t *b1, uint8_t *b2, int width)
static void RENAME() spatial_compose_dd97i_init(DWTCompose *cs, uint8_t *buffer, int height, int stride)
void(* vertical_compose)(void)
one set of lowpass and highpass combined
static void RENAME() vertical_compose_fidelityiH0(uint8_t *_dst, uint8_t *_b[8], int width)
#define COMPOSE_FIDELITYiL0(b0, b1, b2, b3, b4, b5, b6, b7, b8)
static void RENAME() vertical_compose53iL0(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, int width)
DWTCompose cs[MAX_DECOMPOSITIONS]
static void RENAME() vertical_compose_dd137iL0(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, uint8_t *_b3, uint8_t *_b4, int width)
void(* vertical_compose_9tap)(uint8_t *dst, uint8_t *b[8], int width)
#define COMPOSE_DD137iL0(b0, b1, b2, b3, b4)
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_daub97iH0(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() horizontal_compose_fidelityi(uint8_t *_b, uint8_t *_tmp, int w)
#define COMPOSE_HAARiL0(b0, b1)
static void RENAME() vertical_compose_daub97iL1(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, int width)
static void RENAME() vertical_compose_dirac53iH0(uint8_t *_b0, uint8_t *_b1, uint8_t *_b2, int width)
static void RENAME() vertical_compose_fidelityiL0(uint8_t *_dst, uint8_t *_b[8], int width)
static void RENAME() spatial_compose_haari_dy(DWTContext *d, int level, int width, int height, int stride)
void(* vertical_compose_h0)(void)
#define COMPOSE_DAUB97iH0(b0, b1, b2)
void(* vertical_compose_h1)(void)