Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/lzma/delta.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
1 /* SPDX-License-Identifier: 0BSD */ | |
2 | |
3 /** | |
4 * \file lzma/delta.h | |
5 * \brief Delta filter | |
6 * \note Never include this file directly. Use <lzma.h> instead. | |
7 */ | |
8 | |
9 /* | |
10 * Author: Lasse Collin | |
11 */ | |
12 | |
13 #ifndef LZMA_H_INTERNAL | |
14 # error Never include this file directly. Use <lzma.h> instead. | |
15 #endif | |
16 | |
17 | |
18 /** | |
19 * \brief Filter ID | |
20 * | |
21 * Filter ID of the Delta filter. This is used as lzma_filter.id. | |
22 */ | |
23 #define LZMA_FILTER_DELTA LZMA_VLI_C(0x03) | |
24 | |
25 | |
26 /** | |
27 * \brief Type of the delta calculation | |
28 * | |
29 * Currently only byte-wise delta is supported. Other possible types could | |
30 * be, for example, delta of 16/32/64-bit little/big endian integers, but | |
31 * these are not currently planned since byte-wise delta is almost as good. | |
32 */ | |
33 typedef enum { | |
34 LZMA_DELTA_TYPE_BYTE | |
35 } lzma_delta_type; | |
36 | |
37 | |
38 /** | |
39 * \brief Options for the Delta filter | |
40 * | |
41 * These options are needed by both encoder and decoder. | |
42 */ | |
43 typedef struct { | |
44 /** For now, this must always be LZMA_DELTA_TYPE_BYTE. */ | |
45 lzma_delta_type type; | |
46 | |
47 /** | |
48 * \brief Delta distance | |
49 * | |
50 * With the only currently supported type, LZMA_DELTA_TYPE_BYTE, | |
51 * the distance is as bytes. | |
52 * | |
53 * Examples: | |
54 * - 16-bit stereo audio: distance = 4 bytes | |
55 * - 24-bit RGB image data: distance = 3 bytes | |
56 */ | |
57 uint32_t dist; | |
58 | |
59 /** | |
60 * \brief Minimum value for lzma_options_delta.dist. | |
61 */ | |
62 # define LZMA_DELTA_DIST_MIN 1 | |
63 | |
64 /** | |
65 * \brief Maximum value for lzma_options_delta.dist. | |
66 */ | |
67 # define LZMA_DELTA_DIST_MAX 256 | |
68 | |
69 /* | |
70 * Reserved space to allow possible future extensions without | |
71 * breaking the ABI. You should not touch these, because the names | |
72 * of these variables may change. These are and will never be used | |
73 * when type is LZMA_DELTA_TYPE_BYTE, so it is safe to leave these | |
74 * uninitialized. | |
75 */ | |
76 | |
77 /** \private Reserved member. */ | |
78 uint32_t reserved_int1; | |
79 | |
80 /** \private Reserved member. */ | |
81 uint32_t reserved_int2; | |
82 | |
83 /** \private Reserved member. */ | |
84 uint32_t reserved_int3; | |
85 | |
86 /** \private Reserved member. */ | |
87 uint32_t reserved_int4; | |
88 | |
89 /** \private Reserved member. */ | |
90 void *reserved_ptr1; | |
91 | |
92 /** \private Reserved member. */ | |
93 void *reserved_ptr2; | |
94 | |
95 } lzma_options_delta; |