92 lines
2.6 KiB
C
Executable File
92 lines
2.6 KiB
C
Executable File
/*************************************************************************
|
|
* Name: lz.h
|
|
* Author: Marcus Geelnard
|
|
* Description: LZ77 coder/decoder interface.
|
|
* Reentrant: Yes
|
|
*-------------------------------------------------------------------------
|
|
* Copyright (c) 2003-2006 Marcus Geelnard
|
|
*
|
|
* This software is provided 'as-is', without any express or implied
|
|
* warranty. In no event will the authors be held liable for any damages
|
|
* arising from the use of this software.
|
|
*
|
|
* Permission is granted to anyone to use this software for any purpose,
|
|
* including commercial applications, and to alter it and redistribute it
|
|
* freely, subject to the following restrictions:
|
|
*
|
|
* 1. The origin of this software must not be misrepresented; you must not
|
|
* claim that you wrote the original software. If you use this software
|
|
* in a product, an acknowledgment in the product documentation would
|
|
* be appreciated but is not required.
|
|
*
|
|
* 2. Altered source versions must be plainly marked as such, and must not
|
|
* be misrepresented as being the original software.
|
|
*
|
|
* 3. This notice may not be removed or altered from any source
|
|
* distribution.
|
|
*
|
|
* Marcus Geelnard
|
|
* marcus.geelnard at home.se
|
|
*************************************************************************/
|
|
/**
|
|
Lz Compress/UnCompress
|
|
|
|
LZ77 coder/decoder interface.
|
|
|
|
@file lz.h
|
|
@ingroup mIUtilLzCompress
|
|
@note Nothing.
|
|
|
|
Copyright Novatek Microelectronics Corp. 2012. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _lz_h_
|
|
#define _lz_h_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
@addtogroup mIUtilLzCompress
|
|
*/
|
|
//@{
|
|
|
|
#if 0
|
|
/**
|
|
Lz Compress
|
|
|
|
Compress a block of data using an LZ77 coder.
|
|
|
|
@param[in] in Input (uncompressed) buffer.
|
|
@param[in] out Output (compressed) buffer. This buffer must be 0.4% larger
|
|
than the input buffer, plus one byte.
|
|
@param[in] insize Number of input bytes.
|
|
@return the size of the compressed data.
|
|
*/
|
|
extern int LZ_Compress( unsigned char *in, unsigned char *out,
|
|
unsigned int insize );
|
|
#endif
|
|
|
|
/**
|
|
Lz Uncompress
|
|
|
|
Uncompress a block of data using an LZ77 decoder.
|
|
|
|
@param[in] in Input (compressed) buffer.
|
|
@param[in] out Output (uncompressed) buffer. This buffer must be large
|
|
enough to hold the uncompressed data.
|
|
@param[in] insize Number of input bytes.
|
|
@return number of size decoded.
|
|
*/
|
|
extern unsigned int LZ_Uncompress( unsigned char *in, unsigned char *out,
|
|
unsigned int insize );
|
|
|
|
//@}
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _lz_h_ */
|