Skip to content

Commit

Permalink
New Rle
Browse files Browse the repository at this point in the history
  • Loading branch information
baAlex committed May 23, 2022
1 parent 4ec46ca commit 831d3d5
Show file tree
Hide file tree
Showing 6 changed files with 658 additions and 23 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ akoencx
cdf53-test
dd137-test
elias-test
rle-test

/build/
/build-debug/
Expand Down
19 changes: 11 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,25 @@ cmake_minimum_required(VERSION 3.12)
project("Ako" C CXX)


# option(AKO_EXPORT_SYMBOLS "Export symbols" ON)
option(AKO_SHARED "Build shared library" ON)
option(AKO_STATIC "Build static library" ON)
option(AKO_DEC "Build decoding tool" ON)
option(AKO_ENC "Build encoding tool" ON)
option(AKO_TESTS "Build tests" ON)
option(AKO_DEC "Build decoding tool" ON)
option(AKO_ENC "Build encoding tool" ON)
option(AKO_TESTS "Build tests" ON)

set(CMAKE_EXPORT_COMPILE_COMMANDS True) # For Clangd


if (MSVC)
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
else ()
add_compile_options(-g -Werror -Wall -Wextra -pedantic -Wno-unused-function -Wno-unused-parameter -Wno-unused-variable)
add_compile_options(-Werror -Wall -Wextra -pedantic
-Wno-unused-function -Wno-unused-parameter -Wno-unused-variable -Wno-empty-translation-unit)
endif ()


set(AKO_SOURCES
"./library/compression-rle.c"
"./library/compression.c"
"./library/decode.c"
"./library/developer.c"
Expand Down Expand Up @@ -97,7 +100,7 @@ if (AKO_TESTS)
target_include_directories("cdf53-test" PRIVATE "./library/")
target_link_libraries("cdf53-test" PRIVATE "ako-static")

enable_testing()
add_test(NAME "elias-test" COMMAND "elias-test")
add_test(NAME "cdf53-test" COMMAND "cdf53-test")
add_executable("rle-test" "./tests/rle-test.c")
target_include_directories("rle-test" PRIVATE "./library/")
target_link_libraries("rle-test" PRIVATE "ako-static")
endif ()
15 changes: 14 additions & 1 deletion library/ako-private.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,27 @@
#define AKO_EXPORT __attribute__((visibility("default")))


typedef int16_t coeff_t; // For future monomorphization...
typedef int16_t coeff_t; // For future monomorphization...
typedef uint16_t ucoeff_t; // Ditto


struct akoLiftHead
{
int16_t quantization;
};

// compression-rle.c:

#define AKO_RLE_BLOCKS_LEN_MAX 65535
#define AKO_RLE_DEFAULT_TRIGGER_DELAY 0

size_t akoRleEncode(size_t blocks_len, size_t trigger_delay, size_t input_size, size_t output_size, const void* input,
void* output);
size_t akoRleDecode(size_t blocks_len, size_t input_size, size_t output_size, const void* input, void* output);

size_t akoOldRleEncode(size_t blocks_len, size_t trigger_delay, size_t input_size, size_t output_size,
const void* input, void* output);
size_t akoOldRleDecode(size_t blocks_len, size_t input_size, size_t output_size, const void* input, void* output);

// compression.c:

Expand Down
Loading

0 comments on commit 831d3d5

Please sign in to comment.