-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathRLEdecompression.h
40 lines (35 loc) · 1.94 KB
/
RLEdecompression.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#pragma once
#include <Arduino.h>
enum class RLECompressionMode
{
standard = 0,
extended = 1
};
#include "RLEcompressionDefs.h"
#ifdef _RLE_MIRROR_SUPPORT_
uint8_t *pgm_RLEdecompress( const uint8_t *compressedData,
const uint8_t *uncompressedData, uint16_t uncompressedByteCount,
bool mirrorFlag );
#else
uint8_t *pgm_RLEdecompress( const uint8_t *compressedData,
uint8_t *uncompressedData, uint16_t uncompressedByteCount );
#if defined(__AVR_ATtiny85__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega32U4__)
extern "C" uint8_t *pgm_RLEdecompress8( const uint8_t *compressedData,
uint8_t *uncompressedData, uint8_t uncompressedByteCount );
extern "C" uint8_t *pgm_RLEdecompressExt8( const uint8_t *compressedData,
uint8_t *uncompressedData, uint8_t uncompressedByteCount );
#else
uint8_t *pgm_RLEdecompress8( const uint8_t *compressedData,
uint8_t *uncompressedData, uint8_t uncompressedByteCount );
uint8_t *pgm_RLEdecompressExt8( const uint8_t *compressedData,
uint8_t *uncompressedData, uint8_t uncompressedByteCount );
#endif
#endif
uint8_t *RLEdecompress( const uint8_t *compressedData,
uint8_t *uncompressedData, uint16_t uncompressedByteCount );
uint8_t *RLEdecompressExtended( const uint8_t *compressedData,
uint8_t *uncompressedData, uint16_t uncompressedByteCount );
uint8_t *pgm_RLEdecompress( const uint8_t *compressedData,
uint8_t *uncompressedData, uint16_t uncompressedByteCount );
uint8_t *RLEdecompressExtended( const uint8_t *compressedData,
uint8_t *uncompressedData, uint16_t uncompressedByteCount );