Exemplo n.º 1
0
void BrotliStateCleanupAfterMetablock(BrotliState* s) {
  BROTLI_FREE(s, s->context_modes);
  BROTLI_FREE(s, s->context_map);
  BROTLI_FREE(s, s->dist_context_map);

  BrotliHuffmanTreeGroupRelease(s, &s->literal_hgroup);
  BrotliHuffmanTreeGroupRelease(s, &s->insert_copy_hgroup);
  BrotliHuffmanTreeGroupRelease(s, &s->distance_hgroup);
}
Exemplo n.º 2
0
Arquivo: state.c Projeto: nico/brotli
void BrotliStateCleanup(BrotliState* s) {
  int i;

  if (s->context_map_table != 0) {
    free(s->context_map_table);
  }
  if (s->code_lengths != 0) {
    free(s->code_lengths);
  }

  if (s->context_modes != 0) {
    free(s->context_modes);
  }
  if (s->context_map != 0) {
    free(s->context_map);
  }
  if (s->dist_context_map != 0) {
    free(s->dist_context_map);
  }
  for (i = 0; i < 3; ++i) {
    BrotliHuffmanTreeGroupRelease(&s->hgroup[i]);
  }

  if (s->ringbuffer != 0) {
    free(s->ringbuffer);
  }
  if (s->block_type_trees != 0) {
    free(s->block_type_trees);
  }
  if (s->block_len_trees != 0) {
    free(s->block_len_trees);
  }
}