5 * \author Copyright (C) 1999-2006 Igor Pavlov
6 * \author Copyright (C) 2007 Lasse Collin
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.
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.
19 #ifndef LZMA_H_INTERNAL
20 # error Never include this file directly. Use <lzma.h> instead.
27 * Filter ID of the Delta filter. This is used as lzma_filter.id.
29 #define LZMA_FILTER_DELTA LZMA_VLI_C(0x03)
33 * \brief Type of the delta calculation
35 * Currently only byte-wise delta is supported. Other possible types could
36 * be, for example, delta of 16/32/64-bit little/big endian integers, but
37 * these are not currently planned since byte-wise delta is almost as good.
45 * \brief Options for the Delta filter
47 * These options are needed by both encoder and decoder.
50 /** For now, this must always be LZMA_DELTA_TYPE_BYTE. */
54 * \brief Delta distance
56 * With the only currently supported type, LZMA_DELTA_TYPE_BYTE,
57 * the distance is as bytes.
60 * - 16-bit stereo audio: distance = 4 bytes
61 * - 24-bit RGB image data: distance = 3 bytes
64 # define LZMA_DELTA_DIST_MIN 1
65 # define LZMA_DELTA_DIST_MAX 256
68 * Reserved space to allow possible future extensions without
69 * breaking the ABI. You should not touch these, because the names
70 * of these variables may change. These are and will never be used
71 * when type is LZMA_DELTA_TYPE_BYTE, so it is safe to leave these
74 uint32_t reserved_int1;
75 uint32_t reserved_int2;
76 uint32_t reserved_int3;
77 uint32_t reserved_int4;