[trunk] Fix wrong return value for opj_setup_encoder & opj_set_decoded_resolution_fac...
authorMatthieu Darbois <mayeut@users.noreply.github.com>
Fri, 29 May 2015 21:58:08 +0000 (21:58 +0000)
committerMatthieu Darbois <mayeut@users.noreply.github.com>
Fri, 29 May 2015 21:58:08 +0000 (21:58 +0000)
Thanks Aaron.

src/bin/jp2/opj_compress.c
src/lib/openjp2/openjpeg.c

index 59d28afbc7c3533aa2a30b8a6b4f5c07c8454a2a..e9f3eedf78d53795327314f52218fec1c68c83a0 100644 (file)
@@ -1768,7 +1768,12 @@ int main(int argc, char **argv) {
             parameters.cp_tdx = 512;
             parameters.cp_tdy = 512;
         }
-        opj_setup_encoder(l_codec, &parameters, image);
+        if (! opj_setup_encoder(l_codec, &parameters, image)) {
+            fprintf(stderr, "failed to encode image: opj_setup_encoder\n");
+            opj_destroy_codec(l_codec);
+            opj_image_destroy(image);
+            return 1;
+        }
 
         /* open a byte stream for writing and allocate memory for all tiles */
         l_stream = opj_stream_create_default_file_stream(parameters.outfile,OPJ_FALSE);
index 4907c0cf4579fd0478a3274cf174a64ea5278d1e..d5ffb7106934e2685198e9c21c4de0bf3c2c1d7f 100644 (file)
@@ -524,14 +524,12 @@ OPJ_BOOL OPJ_CALLCONV opj_set_decoded_resolution_factor(opj_codec_t *p_codec,
        opj_codec_private_t * l_codec = (opj_codec_private_t *) p_codec;
 
        if ( !l_codec ){
-               fprintf(stderr, "[ERROR] Input parameters of the setup_decoder function are incorrect.\n");
                return OPJ_FALSE;
        }
 
-       l_codec->m_codec_data.m_decompression.opj_set_decoded_resolution_factor(l_codec->m_codec, 
+       return l_codec->m_codec_data.m_decompression.opj_set_decoded_resolution_factor(l_codec->m_codec,
                                                                                                                                                        res_factor,
                                                                                                                                                        &(l_codec->m_event_mgr) );
-       return OPJ_TRUE;
 }
 
 /* ---------------------------------------------------------------------- */
@@ -700,11 +698,10 @@ OPJ_BOOL OPJ_CALLCONV opj_setup_encoder(opj_codec_t *p_codec,
                opj_codec_private_t * l_codec = (opj_codec_private_t *) p_codec;
 
                if (! l_codec->is_decompressor) {
-                       l_codec->m_codec_data.m_compression.opj_setup_encoder(  l_codec->m_codec,
+                       return l_codec->m_codec_data.m_compression.opj_setup_encoder(   l_codec->m_codec,
                                                                                                                                        parameters,
                                                                                                                                        p_image,
                                                                                                                                        &(l_codec->m_event_mgr) );
-                       return OPJ_TRUE;
                }
        }