diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2017-05-15 14:09:51 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2017-05-15 14:09:51 +0200 |
| commit | 4431fa72657b6c4a92c3cf29cfc5c8df69424a0e (patch) | |
| tree | e648ef276f2e424fccb9c8a35dcad1a9d980a452 /src/lib | |
| parent | f7a126af61877cd4623327142521d82a0c19430d (diff) | |
Add comments about non successfull attempt of implementing alternate INITDEC, DECODE and BYTEIN procedures (refs #921)
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/openjp2/mqc.c | 5 | ||||
| -rw-r--r-- | src/lib/openjp2/mqc_inl.h | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/openjp2/mqc.c b/src/lib/openjp2/mqc.c index 64a44ef5..d5ba1ab6 100644 --- a/src/lib/openjp2/mqc.c +++ b/src/lib/openjp2/mqc.c @@ -448,6 +448,11 @@ void opj_mqc_segmark_enc(opj_mqc_t *mqc) OPJ_BOOL opj_mqc_init_dec(opj_mqc_t *mqc, OPJ_BYTE *bp, OPJ_UINT32 len) { + /* Implements ISO 15444-1 C.3.5 Initialization of the decoder (INITDEC) */ + /* Note: alternate "J.1 - Initialization of the software-conventions */ + /* decoder" has been tried, but does */ + /* not bring any improvement. */ + /* See https://github.com/uclouvain/openjpeg/issues/921 */ opj_mqc_setcurctx(mqc, 0); mqc->start = bp; mqc->end = bp + len; diff --git a/src/lib/openjp2/mqc_inl.h b/src/lib/openjp2/mqc_inl.h index 7e1c17d1..e6558c59 100644 --- a/src/lib/openjp2/mqc_inl.h +++ b/src/lib/openjp2/mqc_inl.h @@ -93,6 +93,10 @@ static INLINE void opj_mqc_bytein(opj_mqc_t *const mqc) #else static INLINE void opj_mqc_bytein(opj_mqc_t *const mqc) { + /* Implements ISO 15444-1 C.3.4 Compressed image data input (BYTEIN) */ + /* Note: alternate "J.3 - Inserting a new byte into the C register in the */ + /* software-conventions decoder" has been tried, but does not bring any */ + /* improvement. See https://github.com/uclouvain/openjpeg/issues/921 */ if (mqc->bp != mqc->end) { OPJ_UINT32 c; if (mqc->bp + 1 != mqc->end) { @@ -144,6 +148,10 @@ Decode a symbol */ static INLINE OPJ_INT32 opj_mqc_decode(opj_mqc_t *const mqc) { + /* Implements ISO 15444-1 C.3.2 Decoding a decision (DECODE) */ + /* Note: alternate "J.2 - Decoding an MPS or an LPS in the */ + /* software-conventions decoder" has been tried, but does not bring any */ + /* improvement. See https://github.com/uclouvain/openjpeg/issues/921 */ OPJ_INT32 d; mqc->a -= (*mqc->curctx)->qeval; if ((mqc->c >> 16) < (*mqc->curctx)->qeval) { |
