summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Gu <timothygu99@gmail.com>2016-02-03 01:30:55 +0000
committerTimothy Gu <timothygu99@gmail.com>2016-02-07 09:09:13 -0800
commit671761d71367f792d6f0c2cf8973cc183d189188 (patch)
tree8166c116f356c63c17ca59575b6b624a68ce4d91
parente04912c0b673f4b8be06c5ccf99acf0f6338e659 (diff)
downloadffmpeg-671761d71367f792d6f0c2cf8973cc183d189188.tar.gz
diracdec: Pass DWTPlane to dwt init
-rw-r--r--libavcodec/dirac_dwt.c15
-rw-r--r--libavcodec/dirac_dwt.h5
-rw-r--r--libavcodec/diracdec.c4
3 files changed, 11 insertions, 13 deletions
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;