X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fbin%2Fjpip%2Fopj_jpip_transcode.c;h=19570af564713ebb0738b2cec4480151d4452d1f;hb=c8a31176590fe1666bf821bc1479f28cb25b5f6a;hp=55ec21822999ab1be1a82cf595e9eaad6f9c4854;hpb=cffc33a51c7a9f4b8cf460fdc7c02639b40d266d;p=openjpeg.git diff --git a/src/bin/jpip/opj_jpip_transcode.c b/src/bin/jpip/opj_jpip_transcode.c index 55ec2182..19570af5 100644 --- a/src/bin/jpip/opj_jpip_transcode.c +++ b/src/bin/jpip/opj_jpip_transcode.c @@ -1,8 +1,8 @@ /* * $Id$ * - * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2011, Professor Benoit Macq + * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium + * Copyright (c) 2002-2014, Professor Benoit Macq * Copyright (c) 2010-2011, Kaori Hagihara * All rights reserved. * @@ -42,28 +42,21 @@ * or * % ./jpip_to_jp2 input.jpp output.jp2 */ -static int jpip_to_jp2(int argc,char *argv[]) +static int jpip_to_jp2(char *argv[]) { jpip_dec_param_t *dec; - if( argc < 3){ - fprintf( stderr, "Too few arguments:\n"); - fprintf( stderr, " - input jpt or jpp file\n"); - fprintf( stderr, " - output jp2 file\n"); - return -1; - } - - dec = init_jpipdecoder( true); + dec = init_jpipdecoder( OPJ_TRUE); if(!( fread_jpip( argv[1], dec))) - return -1; + return 1; decode_jpip( dec); if(!(fwrite_jp2k( argv[2], dec))) - return -1; + return 1; - output_log( true, false, true, dec); + /* output_log( OPJ_TRUE, OPJ_FALSE, OPJ_TRUE, dec); */ destroy_jpipdecoder( &dec); @@ -81,28 +74,21 @@ static int jpip_to_jp2(int argc,char *argv[]) * or * % ./jpip_to_j2k input.jpp output.j2k */ -static int jpip_to_j2k(int argc,char *argv[]) +static int jpip_to_j2k(char *argv[]) { jpip_dec_param_t *dec; - if( argc < 3){ - fprintf( stderr, "Too few arguments:\n"); - fprintf( stderr, " - input jpt or jpp file\n"); - fprintf( stderr, " - output j2k file\n"); - return -1; - } - - dec = init_jpipdecoder( false); + dec = init_jpipdecoder( OPJ_FALSE); if(!( fread_jpip( argv[1], dec))) - return -1; + return 1; decode_jpip( dec); - if(!( fwrite_jp2k( argv[2], dec))) - return -1; + if(!(fwrite_jp2k( argv[2], dec))) + return 1; - /* output_log( true, false, false, dec); */ + /* output_log( OPJ_TRUE, OPJ_FALSE, OPJ_FALSE, dec); */ destroy_jpipdecoder( &dec); @@ -111,6 +97,28 @@ static int jpip_to_j2k(int argc,char *argv[]) int main(int argc,char *argv[]) { - /* MM: FIXME */ - return jpip_to_jp2(argc,argv); + char *ext; + if( argc < 3){ + fprintf( stderr, "Too few arguments:\n"); + fprintf( stderr, " - input jpt or jpp file\n"); + fprintf( stderr, " - output j2k file\n"); + return 1; + } + + ext = strrchr( argv[2], '.' ); + if( ext ) + { + /* strcasecmp ? */ + if( strcmp(ext, ".jp2" ) == 0 ) + { + return jpip_to_jp2(argv); + } + if( strcmp(ext, ".j2k" ) == 0 ) + { + return jpip_to_j2k(argv); + } + } + + fprintf( stderr, "Invalid file extension for output file: %s\n", argv[2]); + return 1; }