diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2017-09-01 19:16:35 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2017-09-01 19:16:35 +0200 |
| commit | 09929bb615bd6bf2a9f7703fc7b04a12096b091e (patch) | |
| tree | 2d1a6f27b8c432fcc479775802663b732b8dfd23 /src/lib | |
| parent | 32572617765cb9d77302384653a48d793b8f657f (diff) | |
opj_compress help: revert 32572617765cb9d77302384653a48d793b8f657f and indicate 1 again as being the value to get lossless for -r. In opj_j2k_setup_encoder(), make sure that ll rates[] <= 1.0 are set to 0. Document 0 as being lossless for -q / tcp_distoratio (#1009)
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/openjp2/j2k.c | 4 | ||||
| -rw-r--r-- | src/lib/openjp2/openjpeg.h | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c index 4fd65872..1e9f3695 100644 --- a/src/lib/openjp2/j2k.c +++ b/src/lib/openjp2/j2k.c @@ -7060,6 +7060,10 @@ OPJ_BOOL opj_j2k_setup_encoder(opj_j2k_t *p_j2k, tcp->rates[j] = parameters->tcp_rates[j]; } } + if (!cp->m_specific_param.m_enc.m_fixed_quality && + tcp->rates[j] <= 1.0) { + tcp->rates[j] = 0.0; /* force lossless */ + } } tcp->csty = (OPJ_UINT32)parameters->csty; diff --git a/src/lib/openjp2/openjpeg.h b/src/lib/openjp2/openjpeg.h index 21755b48..66993b7b 100644 --- a/src/lib/openjp2/openjpeg.h +++ b/src/lib/openjp2/openjpeg.h @@ -381,9 +381,12 @@ typedef struct opj_cparameters { OPJ_UINT32 numpocs; /** number of layers */ int tcp_numlayers; - /** rates of layers - might be subsequently limited by the max_cs_size field */ + /** rates of layers - might be subsequently limited by the max_cs_size field. + * Should be decreasing. 1 can be + * used as last value to indicate the last layer is lossless. */ float tcp_rates[100]; - /** different psnr for successive layers */ + /** different psnr for successive layers. Should be increasing. 0 can be + * used as last value to indicate the last layer is lossless. */ float tcp_distoratio[100]; /** number of resolutions */ int numresolution; |
