diff options
| author | Antonin Descampe <antonin@gmail.com> | 2004-07-09 14:04:06 +0000 |
|---|---|---|
| committer | Antonin Descampe <antonin@gmail.com> | 2004-07-09 14:04:06 +0000 |
| commit | 651f98ad066ebb978d60c960bdf0f390ea035a14 (patch) | |
| tree | 7ec13c8d03ece141bff7800cb8579e0dd517f8ef /libopenjpeg/j2k.c | |
| parent | 132d89472631b37503dbfc2f9fd8713ef1a2a87e (diff) | |
Bug fixed for scalar_derived quantization type
Diffstat (limited to 'libopenjpeg/j2k.c')
| -rw-r--r-- | libopenjpeg/j2k.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/libopenjpeg/j2k.c b/libopenjpeg/j2k.c index 3d0fd86e..a0ba1401 100644 --- a/libopenjpeg/j2k.c +++ b/libopenjpeg/j2k.c @@ -483,7 +483,7 @@ void j2k_read_qcx(int compno, int len) len - 1 : (len - 1) / 2); for (bandno = 0; bandno < numbands; bandno++) { int expn, mant; - if (tccp->qntsty == J2K_CCP_QNTSTY_NOQNT) { /* WHY STEPSIZES WHEN NOQNT ? */ + if (tccp->qntsty == J2K_CCP_QNTSTY_NOQNT) { expn = cio_read(1) >> 3; /* SPqcx_i */ mant = 0; } else { @@ -494,6 +494,17 @@ void j2k_read_qcx(int compno, int len) tccp->stepsizes[bandno].expn = expn; tccp->stepsizes[bandno].mant = mant; } + + /* Add Antonin : if scalar_derived -> compute other stepsizes */ + + if (tccp->qntsty==J2K_CCP_QNTSTY_SIQNT) { + for (bandno=1 ; bandno<J2K_MAXBANDS ; bandno++) { + tccp->stepsizes[bandno].expn = ((tccp->stepsizes[0].expn)-((bandno-1)/3+1)>0)?(tccp->stepsizes[0].expn)-((bandno-1)/3+1):0; + tccp->stepsizes[bandno].mant = tccp->stepsizes[0].mant; + } + } + + /* ddA */ } void j2k_write_qcd() |
