dirac_dwt: Don't pass information in context as arguments

This commit is contained in:
Timothy Gu 2016-02-03 00:53:28 +00:00
parent 6c0318c4ba
commit 6cdde20beb
2 changed files with 19 additions and 19 deletions

View File

@ -39,12 +39,19 @@ int ff_spatial_idwt_init2(DWTContext *d, uint8_t *buffer, int width, int height,
{
int ret = 0;
d->buffer = buffer;
d->width = width;
d->height = height;
d->stride = stride;
d->decomposition_count = decomposition_count;
d->temp = temp;
if (bit_depth == 8)
ret = ff_spatial_idwt_init2_8bit(d, buffer, width, height, stride, type, decomposition_count, temp);
ret = ff_spatial_idwt_init2_8bit(d, type);
else if (bit_depth == 10)
ret = ff_spatial_idwt_init2_10bit(d, buffer, width, height, stride, type, decomposition_count, temp);
ret = ff_spatial_idwt_init2_10bit(d, type);
else if (bit_depth == 12)
ret = ff_spatial_idwt_init2_12bit(d, buffer, width, height, stride, type, decomposition_count, temp);
ret = ff_spatial_idwt_init2_12bit(d, type);
else
av_log(NULL, AV_LOG_WARNING, "Unsupported bit depth = %i\n", bit_depth);

View File

@ -516,39 +516,32 @@ static void RENAME(spatial_compose_dd137i_init)(DWTCompose *cs, uint8_t *buffer,
cs->y = -5;
}
static int RENAME(ff_spatial_idwt_init2)(DWTContext *d, uint8_t *buffer, int width, int height,
int stride, enum dwt_type type, int decomposition_count,
uint8_t *temp)
static int RENAME(ff_spatial_idwt_init2)(DWTContext *d, enum dwt_type type)
{
int level;
d->buffer = buffer;
d->width = width;
d->height = height;
d->stride = stride;
d->decomposition_count = decomposition_count;
d->temp = (uint8_t *)(((TYPE *)temp) + 8);
d->temp = (uint8_t *)(((TYPE *)d->temp) + 8);
for(level=decomposition_count-1; level>=0; level--){
int hl = height >> level;
int stride_l = stride << level;
for (level = d->decomposition_count - 1; level >= 0; level--){
int hl = d->height >> level;
int stride_l = d->stride << level;
switch(type){
case DWT_DIRAC_DD9_7:
RENAME(spatial_compose_dd97i_init)(d->cs+level, buffer, hl, stride_l);
RENAME(spatial_compose_dd97i_init)(d->cs+level, d->buffer, hl, stride_l);
break;
case DWT_DIRAC_LEGALL5_3:
RENAME(spatial_compose53i_init2)(d->cs+level, buffer, hl, stride_l);
RENAME(spatial_compose53i_init2)(d->cs+level, d->buffer, hl, stride_l);
break;
case DWT_DIRAC_DD13_7:
RENAME(spatial_compose_dd137i_init)(d->cs+level, buffer, hl, stride_l);
RENAME(spatial_compose_dd137i_init)(d->cs+level, d->buffer, hl, stride_l);
break;
case DWT_DIRAC_HAAR0:
case DWT_DIRAC_HAAR1:
d->cs[level].y = 1;
break;
case DWT_DIRAC_DAUB9_7:
RENAME(spatial_compose97i_init2)(d->cs+level, buffer, hl, stride_l);
RENAME(spatial_compose97i_init2)(d->cs+level, d->buffer, hl, stride_l);
break;
default:
d->cs[level].y = 0;