diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2017-06-09 10:47:13 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2017-06-09 10:49:03 +0200 |
| commit | 81c5311758a0ae1f1aea349a6ee0bca2a238fa79 (patch) | |
| tree | fc13947b38391ea643455582026d8ade1ce2fa7c /src/lib/openjp2/mqc.h | |
| parent | 53d46fc7330ed652db66aa37b498fbfa27be625c (diff) | |
T1: fix BYPASS/LAZY, TERMALL/RESTART and PTERM/ERTERM encoding modes. (#674)fix_bypass_pterm_termall
There were a number of defects regarding when and how the termination of
passes had to done and the computation of their rate.
Diffstat (limited to 'src/lib/openjp2/mqc.h')
| -rw-r--r-- | src/lib/openjp2/mqc.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/lib/openjp2/mqc.h b/src/lib/openjp2/mqc.h index f21d46ef..3b52d95e 100644 --- a/src/lib/openjp2/mqc.h +++ b/src/lib/openjp2/mqc.h @@ -142,36 +142,45 @@ void opj_mqc_flush(opj_mqc_t *mqc); /** BYPASS mode switch, initialization operation. JPEG 2000 p 505. -<h2>Not fully implemented and tested !!</h2> @param mqc MQC handle */ void opj_mqc_bypass_init_enc(opj_mqc_t *mqc); + +/** Return number of extra bytes to add to opj_mqc_numbytes() for the² + size of a non-terminating BYPASS pass +@param mqc MQC handle +@param erterm 1 if ERTERM is enabled, 0 otherwise +*/ +OPJ_UINT32 opj_mqc_bypass_get_extra_bytes(opj_mqc_t *mqc, OPJ_BOOL erterm); + /** BYPASS mode switch, coding operation. JPEG 2000 p 505. -<h2>Not fully implemented and tested !!</h2> @param mqc MQC handle @param d The symbol to be encoded (0 or 1) */ void opj_mqc_bypass_enc(opj_mqc_t *mqc, OPJ_UINT32 d); /** BYPASS mode switch, flush operation -<h2>Not fully implemented and tested !!</h2> @param mqc MQC handle -@return Returns 1 (always) +@param erterm 1 if ERTERM is enabled, 0 otherwise */ -OPJ_UINT32 opj_mqc_bypass_flush_enc(opj_mqc_t *mqc); +void opj_mqc_bypass_flush_enc(opj_mqc_t *mqc, OPJ_BOOL erterm); /** RESET mode switch @param mqc MQC handle */ void opj_mqc_reset_enc(opj_mqc_t *mqc); + +#ifdef notdef /** RESTART mode switch (TERMALL) @param mqc MQC handle @return Returns 1 (always) */ OPJ_UINT32 opj_mqc_restart_enc(opj_mqc_t *mqc); +#endif + /** RESTART mode switch (TERMALL) reinitialisation @param mqc MQC handle |
