Fix function name
[openjpeg.git] / src / bin / jpip / opj_jpip_transcode.c
index 55ec21822999ab1be1a82cf595e9eaad6f9c4854..19570af564713ebb0738b2cec4480151d4452d1f 100644 (file)
@@ -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.
  *
  *   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;
 }