]> icculus.org git repositories - icculus/xz.git/blob - src/liblzma/api/lzma/delta.h
Removed src/liblzma/common/sysdefs.h symlink, which was
[icculus/xz.git] / src / liblzma / api / lzma / delta.h
1 /**
2  * \file        lzma/delta.h
3  * \brief       Delta filter
4  *
5  * \author      Copyright (C) 1999-2006 Igor Pavlov
6  * \author      Copyright (C) 2007 Lasse Collin
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  */
18
19 #ifndef LZMA_H_INTERNAL
20 #       error Never include this file directly. Use <lzma.h> instead.
21 #endif
22
23
24 /**
25  * \brief       Filter ID
26  *
27  * Filter ID of the Delta filter. This is used as lzma_options_filter.id.
28  */
29 #define LZMA_FILTER_DELTA       LZMA_VLI_C(0x20)
30
31
32 /**
33  * \brief       Options for the Delta filter
34  *
35  * These options are needed by both encoder and decoder.
36  */
37 typedef struct {
38         /**
39          * \brief       Delta distance as bytes
40          *
41          * Examples:
42          *  - 16-bit stereo audio: distance = 4 bytes
43          *  - 24-bit RGB image data: distance = 3 bytes
44          */
45         uint32_t distance;
46 #       define LZMA_DELTA_DISTANCE_MIN 1
47 #       define LZMA_DELTA_DISTANCE_MAX 256
48
49 } lzma_options_delta;