ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
compression.h
Go to the documentation of this file.
1#pragma once
2
48#include <stdlib.h>
49#include <stdbool.h>
50#include "asciichat_errno.h"
51
58#define COMPRESSION_RATIO_THRESHOLD 0.8f
59
61#define COMPRESSION_MIN_SIZE 1024
62
95asciichat_error_t compress_data(const void *input, size_t input_size, void **output, size_t *output_size,
96 int compression_level);
97
119asciichat_error_t decompress_data(const void *input, size_t input_size, void *output, size_t output_size);
120
143bool should_compress(size_t original_size, size_t compressed_size);
144
145// Note: Frame sending functions have been moved to network.h/network.c
146
⚠️‼️ Error and/or exit() when things go bad.
asciichat_error_t decompress_data(const void *input, size_t input_size, void *output, size_t output_size)
Decompress data using zstd.
Definition compression.c:58
bool should_compress(size_t original_size, size_t compressed_size)
Determine if compression should be used for given data sizes.
Definition compression.c:74
asciichat_error_t compress_data(const void *input, size_t input_size, void **output, size_t *output_size, int compression_level)
Compress data using zstd with configurable compression level.
Definition compression.c:14
asciichat_error_t
Error and exit codes - unified status values (0-255)
Definition error_codes.h:46