Exemplo n.º 1
0
void gt_hcr_encoder_delete(GtHcrEncoder *hcr_enc)
{
    if (!hcr_enc)
        return;
    gt_huffman_delete(hcr_enc->seq_encoder->huffman);
    gt_sampling_delete(hcr_enc->seq_encoder->sampling);
    gt_free(hcr_enc->seq_encoder->fileinfos);
    gt_free(hcr_enc->seq_encoder);
    gt_encdesc_encoder_delete(hcr_enc->encdesc_encoder);
    gt_free(hcr_enc);
}
Exemplo n.º 2
0
static void hcr_seq_decoder_delete(GtHcrSeqDecoder *seq_dec)
{
    if (seq_dec != NULL) {
        gt_free(seq_dec->fileinfos);
        gt_huffman_decoder_delete(seq_dec->huff_dec);
        gt_huffman_delete(seq_dec->huffman);
        gt_sampling_delete(seq_dec->sampling);
        gt_rbtree_delete(seq_dec->file_info_rbt);
        gt_str_delete(seq_dec->filename);
        data_iterator_delete(seq_dec->data_iter);
        gt_array_delete(seq_dec->symbols);
        gt_free(seq_dec);
    }
}
Exemplo n.º 3
0
static int seq_decoder_init_huffman(GtHcrSeqDecoder *seq_dec,
                                    GtWord end_of_encoding,
                                    GtBaseQualDistr *bqd,
                                    GtError *err)
{
  int had_err = 0;
  seq_dec->data_iter = decoder_init_data_iterator(seq_dec->start_of_encoding,
                                                  end_of_encoding,
                                                  seq_dec->filename);

  gt_assert(seq_dec->data_iter);
  seq_dec->huffman = gt_huffman_new(bqd, hcr_base_qual_distr_func,
                                    (GtUword) bqd->ncols * bqd->nrows);

  seq_dec->huff_dec =
    gt_huffman_decoder_new_from_memory(seq_dec->huffman,
                                       get_next_file_chunk_for_huffman,
                                       seq_dec->data_iter, err);
  if (seq_dec->huff_dec == NULL) {
    had_err = -1;
    gt_huffman_delete(seq_dec->huffman);
  }
  return had_err;
}