示例#1
0
void delete_cache( cache_param_t **cache)
{
  int i;

  delete_metadatalist( &(*cache)->metadatalist);

  if((*cache)->ihdrbox)
    free((*cache)->ihdrbox);
  for( i=0; i<(*cache)->numOfcid; i++)
    free( (*cache)->cid[i]);
  free( (*cache)->cid);
  free( *cache);
}
示例#2
0
文件: openjpip.c 项目: 7sam7/openjpeg
OPJ_BOOL OPJ_CALLCONV fwrite_jp2k( const char fname[], jpip_dec_param_t *dec)
{
  int outfd;
  
#ifdef _WIN32
  if(( outfd = open( fname, O_WRONLY|O_CREAT, _S_IREAD | _S_IWRITE)) == -1){
#else
 if(( outfd = open( fname, O_WRONLY|O_CREAT, S_IRWXU|S_IRWXG)) == -1){
#endif
   fprintf( stderr, "file %s open error\n", fname);
   return OPJ_FALSE;
 }
  
 if( write( outfd, dec->jp2kstream, dec->jp2klen) != (int)dec->jp2klen)
   fprintf( stderr, "j2k file write error\n");

 close(outfd);

 return OPJ_TRUE;
}

void OPJ_CALLCONV output_log( OPJ_BOOL messages, OPJ_BOOL metadata, OPJ_BOOL ihdrbox, jpip_dec_param_t *dec)
{
  if( messages)
    print_msgqueue( dec->msgqueue);

  if( metadata)
    print_allmetadata( dec->metadatalist);

  if( ihdrbox){
    printf("W*H: %d*%d\n", dec->ihdrbox->height, dec->ihdrbox->width);
    printf("NC: %d, bpc: %d\n", dec->ihdrbox->nc, dec->ihdrbox->bpc);
  }
}

void OPJ_CALLCONV destroy_jpipdecoder( jpip_dec_param_t **dec)
{
  opj_free( (*dec)->jpipstream);
  delete_msgqueue( &(*dec)->msgqueue);
  if( (*dec)->metadatalist){
    delete_metadatalist( &(*dec)->metadatalist);
    opj_free( (*dec)->ihdrbox);
  }

  opj_free( (*dec)->jp2kstream);
  opj_free( *dec);
}
示例#3
0
void delete_index( index_param_t **index)
{
  int i;

  delete_metadatalist( &((*index)->metadatalist));

  delete_COD( (*index)->COD);

  delete_faixbox( &((*index)->tilepart));

  for( i=0; i< (int)((*index)->SIZ.XTnum*(*index)->SIZ.YTnum);i++)
    delete_mhixbox( &((*index)->tileheader[i]));
  opj_free( (*index)->tileheader);

  for( i=0; i<(*index)->SIZ.Csiz; i++)
    delete_faixbox( &((*index)->precpacket[i]));
  opj_free( (*index)->precpacket);

  opj_free(*index);
}