* lib: add heatshrink compress library * canvas: new icons format * scripts: add icons compression to assets generation script * assets: update assets * furi-hal: introduce furi-hal-compress * canvas: rework icon drawing with furi-hal-compress * lib: rework heatshrink lib for dynamic buffer allocation API * furi-hal-compress: add encode and decode API * furi-hal-compress: working decode * furi-hal-compress: support f6 target * scripts: format sources * furi-hal-compress: fix incorrect encoder reset * furi-hal: add compress initialization to f6 target Co-authored-by: あく <alleteam@gmail.com>
		
			
				
	
	
		
			29 lines
		
	
	
		
			786 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			786 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef HEATSHRINK_CONFIG_H
 | 
						|
#define HEATSHRINK_CONFIG_H
 | 
						|
 | 
						|
#include <furi.h>
 | 
						|
 | 
						|
/* Should functionality assuming dynamic allocation be used? */
 | 
						|
#ifndef HEATSHRINK_DYNAMIC_ALLOC
 | 
						|
#define HEATSHRINK_DYNAMIC_ALLOC 1
 | 
						|
#endif
 | 
						|
 | 
						|
#if HEATSHRINK_DYNAMIC_ALLOC
 | 
						|
    /* Optional replacement of malloc/free */
 | 
						|
    #define HEATSHRINK_MALLOC(SZ) furi_alloc(SZ)
 | 
						|
    #define HEATSHRINK_FREE(P, SZ) free(P)
 | 
						|
#else
 | 
						|
    /* Required parameters for static configuration */
 | 
						|
    #define HEATSHRINK_STATIC_INPUT_BUFFER_SIZE 1024
 | 
						|
    #define HEATSHRINK_STATIC_WINDOW_BITS 8
 | 
						|
    #define HEATSHRINK_STATIC_LOOKAHEAD_BITS 4
 | 
						|
#endif
 | 
						|
 | 
						|
/* Turn on logging for debugging. */
 | 
						|
#define HEATSHRINK_DEBUGGING_LOGS 0
 | 
						|
 | 
						|
/* Use indexing for faster compression. (This requires additional space.) */
 | 
						|
#define HEATSHRINK_USE_INDEX 1
 | 
						|
 | 
						|
#endif
 |