diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2022-11-01 22:39:01 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2022-11-01 22:39:01 +0000 |
commit | ebd5d47022a0bd4539719348c150602d958d4e00 (patch) | |
tree | f706ae5954969ac3e4c0f4f985d396ed5ca2530b /converter/other/jpeg2000/pamtojpeg2k.c | |
parent | 5e91e2d3ffb0e9bc2a342dcf6f0ba951b95c601e (diff) | |
download | netpbm-mirror-ebd5d47022a0bd4539719348c150602d958d4e00.tar.gz netpbm-mirror-ebd5d47022a0bd4539719348c150602d958d4e00.tar.xz netpbm-mirror-ebd5d47022a0bd4539719348c150602d958d4e00.zip |
Add -size, cleanup
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@4449 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter/other/jpeg2000/pamtojpeg2k.c')
-rw-r--r-- | converter/other/jpeg2000/pamtojpeg2k.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/converter/other/jpeg2000/pamtojpeg2k.c b/converter/other/jpeg2000/pamtojpeg2k.c index ee5189ce..8f7409c0 100644 --- a/converter/other/jpeg2000/pamtojpeg2k.c +++ b/converter/other/jpeg2000/pamtojpeg2k.c @@ -53,6 +53,8 @@ struct CmdlineInfo { enum compmode compmode; unsigned int compressionSpec; float compression; + unsigned int size; + unsigned int sizeSpec; char * ilyrrates; enum progression progression; unsigned int numrlvls; @@ -76,7 +78,7 @@ parseCommandLine(int argc, char ** argv, struct CmdlineInfo * const cmdlineP) { /*---------------------------------------------------------------------------- Note that many of the strings that this function returns in the - *cmdline_p structure are actually in the supplied argv array. And + *cmdlineP structure are actually in the supplied argv array. And sometimes, one of these strings is actually just a suffix of an entry in argv! -----------------------------------------------------------------------------*/ @@ -126,6 +128,8 @@ parseCommandLine(int argc, char ** argv, &modeSpec, 0); OPTENT3(0, "compression", OPT_FLOAT, &cmdlineP->compression, &cmdlineP->compressionSpec, 0); + OPTENT3(0, "size", OPT_UINT, &cmdlineP->size, + &cmdlineP->sizeSpec, 0); OPTENT3(0, "ilyrrates", OPT_STRING, &cmdlineP->ilyrrates, &ilyrratesSpec, 0); OPTENT3(0, "progression", OPT_STRING, &progressionOpt, @@ -219,6 +223,9 @@ parseCommandLine(int argc, char ** argv, if (!debuglevelSpec) cmdlineP->debuglevel = 0; + if (cmdlineP->compressionSpec && cmdlineP->sizeSpec) + pm_error("You cannot specify by -compression and -size"); + if (argc - 1 == 0) cmdlineP->inputFilename = strdup("-"); /* he wants stdin */ else if (argc - 1 == 1) @@ -405,6 +412,8 @@ writeJpc(jas_image_t * const jasperP, if (cmdline.compressionSpec) sprintf(rateOpt, "rate=%1.9f", 1.0/cmdline.compression); + else if (cmdline.sizeSpec) + sprintf(rateOpt, "rate=%uB", cmdline.size); else { /* No 'rate' option. This means there is no constraint on the image size, so the encoder will compress losslessly. Note that the |