diff --git a/libavcodec/dirac_dwt.c b/libavcodec/dirac_dwt.c index 4f04112724..cc08f8865a 100644 --- a/libavcodec/dirac_dwt.c +++ b/libavcodec/dirac_dwt.c @@ -33,18 +33,17 @@ #define TEMPLATE_12bit #include "dirac_dwt_template.c" -int ff_spatial_idwt_init(DWTContext *d, uint8_t *buffer, int width, int height, - int stride, enum dwt_type type, int decomposition_count, - uint8_t *temp, int bit_depth) +int ff_spatial_idwt_init(DWTContext *d, DWTPlane *p, enum dwt_type type, + int decomposition_count, int bit_depth) { int ret = 0; - d->buffer = buffer; - d->width = width; - d->height = height; - d->stride = stride; + d->buffer = p->buf; + d->width = p->width; + d->height = p->height; + d->stride = p->stride; + d->temp = p->tmp; d->decomposition_count = decomposition_count; - d->temp = temp; if (bit_depth == 8) ret = ff_spatial_idwt_init_8bit(d, type); diff --git a/libavcodec/dirac_dwt.h b/libavcodec/dirac_dwt.h index 63302aed8e..4d338651fa 100644 --- a/libavcodec/dirac_dwt.h +++ b/libavcodec/dirac_dwt.h @@ -85,9 +85,8 @@ enum dwt_type { }; // -1 if an error occurred, e.g. the dwt_type isn't recognized -int ff_spatial_idwt_init(DWTContext *d, uint8_t *buffer, int width, int height, - int stride, enum dwt_type type, int decomposition_count, - uint8_t *temp, int bit_depth); +int ff_spatial_idwt_init(DWTContext *d, DWTPlane *p, enum dwt_type type, + int decomposition_count, int bit_depth); void ff_spatial_idwt_init_x86(DWTContext *d, enum dwt_type type); void ff_spatial_idwt_slice2(DWTContext *d, int y); diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c index 473dbec4b1..e530a05de3 100644 --- a/libavcodec/diracdec.c +++ b/libavcodec/diracdec.c @@ -1750,8 +1750,8 @@ static int dirac_decode_frame_internal(DiracContext *s) memset(p->idwt.buf, 0, p->idwt.stride * p->idwt.height); decode_component(s, comp); /* [DIRAC_STD] 13.4.1 core_transform_data() */ } - ret = ff_spatial_idwt_init(&d, p->idwt.buf, p->idwt.width, p->idwt.height, p->idwt.stride, - s->wavelet_idx+2, s->wavelet_depth, p->idwt.tmp, s->bit_depth); + ret = ff_spatial_idwt_init(&d, &p->idwt, s->wavelet_idx+2, + s->wavelet_depth, s->bit_depth); if (ret < 0) return ret;