/* -------------------------------------------------------------------------- */
-/**
-sample error callback expecting a FILE* client object
-*/
-static void error_callback_file(const char *msg, void *client_data) {
- FILE *stream = (FILE*)client_data;
- fprintf(stream, "[ERROR] %s", msg);
-}
-/**
-sample warning callback expecting a FILE* client object
-*/
-static void warning_callback_file(const char *msg, void *client_data) {
- FILE *stream = (FILE*)client_data;
- fprintf(stream, "[WARNING] %s", msg);
-}
/**
sample error debug callback expecting no client object
*/
opj_codec_t * l_codec;
opj_image_t * l_image;
opj_image_cmptparm_t l_params [NUM_COMPS_MAX];
- FILE * l_file;
opj_stream_t * l_stream;
OPJ_UINT32 l_nb_tiles;
OPJ_UINT32 l_data_size;
fprintf(stdout, "Encoding random values -> keep in mind that this is very hard to compress\n");
for (i=0;i<l_data_size;++i) {
- l_data[i] = i; /*rand();*/
+ l_data[i] = (OPJ_BYTE)i; /*rand();*/
}
opj_set_default_encoder_parameters(&l_param);
}
/* should we do j2k or jp2 ?*/
- len = strlen( output_file );
+ len = (unsigned char)strlen( output_file );
if( strcmp( output_file + len - 4, ".jp2" ) == 0 )
{
l_codec = opj_create_compress(OPJ_CODEC_JP2);
return 1;
}
- l_file = fopen(output_file,"wb");
- if (! l_file) {
- fprintf(stderr, "ERROR -> test_tile_encoder: failed to create the output file!\n");
+ l_stream = opj_stream_create_default_file_stream_v3(output_file, OPJ_FALSE);
+ if (! l_stream) {
+ fprintf(stderr, "ERROR -> test_tile_encoder: failed to create the stream from the output file %s !\n",output_file );
opj_destroy_codec(l_codec);
opj_image_destroy(l_image);
return 1;
}
- l_stream = opj_stream_create_default_file_stream(l_file, OPJ_FALSE);
-
if (! opj_start_compress(l_codec,l_image,l_stream)) {
fprintf(stderr, "ERROR -> test_tile_encoder: failed to start compress!\n");
- opj_stream_destroy(l_stream);
- fclose(l_file);
+ opj_stream_destroy_v3(l_stream);
opj_destroy_codec(l_codec);
opj_image_destroy(l_image);
return 1;
for (i=0;i<l_nb_tiles;++i) {
if (! opj_write_tile(l_codec,i,l_data,l_data_size,l_stream)) {
fprintf(stderr, "ERROR -> test_tile_encoder: failed to write the tile %d!\n",i);
- opj_stream_destroy(l_stream);
- fclose(l_file);
+ opj_stream_destroy_v3(l_stream);
opj_destroy_codec(l_codec);
opj_image_destroy(l_image);
return 1;
if (! opj_end_compress(l_codec,l_stream)) {
fprintf(stderr, "ERROR -> test_tile_encoder: failed to end compress!\n");
- opj_stream_destroy(l_stream);
- fclose(l_file);
+ opj_stream_destroy_v3(l_stream);
opj_destroy_codec(l_codec);
opj_image_destroy(l_image);
return 1;
}
- opj_stream_destroy(l_stream);
- fclose(l_file);
+ opj_stream_destroy_v3(l_stream);
opj_destroy_codec(l_codec);
opj_image_destroy(l_image);