From 5bf208f659703895df7926238dcfa8a8175de36b Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 1 Jul 2013 10:01:22 +0200 Subject: jpeg2000: Use separate fields for int and float codepaths Split stepsize and data into int and float variants. Eliminates a number of casts and simplifies spotting errors. Signed-off-by: Luca Barbato --- libavcodec/jpeg2000.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'libavcodec/jpeg2000.h') diff --git a/libavcodec/jpeg2000.h b/libavcodec/jpeg2000.h index 00bfcdda81..0ff652e56d 100644 --- a/libavcodec/jpeg2000.h +++ b/libavcodec/jpeg2000.h @@ -178,12 +178,11 @@ typedef struct Jpeg2000Prec { uint16_t coord[2][2]; // border coordinates {{x0, x1}, {y0, y1}} } Jpeg2000Prec; // precinct -/* TODO: stepsize can be float or integer depending on - * reversible or irreversible transformation. */ typedef struct Jpeg2000Band { uint16_t coord[2][2]; // border coordinates {{x0, x1}, {y0, y1}} uint16_t log2_cblk_width, log2_cblk_height; - float stepsize; // quantization stepsize + int i_stepsize; // quantization stepsize + float f_stepsize; // quantization stepsize Jpeg2000Prec *prec; } Jpeg2000Band; // subband @@ -195,13 +194,11 @@ typedef struct Jpeg2000ResLevel { Jpeg2000Band *band; } Jpeg2000ResLevel; // resolution level -/* TODO: data can be float of integer depending of reversible/irreversible - * transformation. - */ typedef struct Jpeg2000Component { Jpeg2000ResLevel *reslevel; DWTContext dwt; - float *data; + float *f_data; + int *i_data; uint16_t coord[2][2]; // border coordinates {{x0, x1}, {y0, y1}} -- can be reduced with lowres option uint16_t coord_o[2][2]; // border coordinates {{x0, x1}, {y0, y1}} -- original values from jpeg2000 headers } Jpeg2000Component; -- cgit v1.2.3