|
|
|||
File indexing completed on 2025-12-16 10:19:34
0001 /* SPDX-License-Identifier: 0BSD */ 0002 0003 /** 0004 * \file lzma/delta.h 0005 * \brief Delta filter 0006 * \note Never include this file directly. Use <lzma.h> instead. 0007 */ 0008 0009 /* 0010 * Author: Lasse Collin 0011 */ 0012 0013 #ifndef LZMA_H_INTERNAL 0014 # error Never include this file directly. Use <lzma.h> instead. 0015 #endif 0016 0017 0018 /** 0019 * \brief Filter ID 0020 * 0021 * Filter ID of the Delta filter. This is used as lzma_filter.id. 0022 */ 0023 #define LZMA_FILTER_DELTA LZMA_VLI_C(0x03) 0024 0025 0026 /** 0027 * \brief Type of the delta calculation 0028 * 0029 * Currently only byte-wise delta is supported. Other possible types could 0030 * be, for example, delta of 16/32/64-bit little/big endian integers, but 0031 * these are not currently planned since byte-wise delta is almost as good. 0032 */ 0033 typedef enum { 0034 LZMA_DELTA_TYPE_BYTE 0035 } lzma_delta_type; 0036 0037 0038 /** 0039 * \brief Options for the Delta filter 0040 * 0041 * These options are needed by both encoder and decoder. 0042 */ 0043 typedef struct { 0044 /** For now, this must always be LZMA_DELTA_TYPE_BYTE. */ 0045 lzma_delta_type type; 0046 0047 /** 0048 * \brief Delta distance 0049 * 0050 * With the only currently supported type, LZMA_DELTA_TYPE_BYTE, 0051 * the distance is as bytes. 0052 * 0053 * Examples: 0054 * - 16-bit stereo audio: distance = 4 bytes 0055 * - 24-bit RGB image data: distance = 3 bytes 0056 */ 0057 uint32_t dist; 0058 0059 /** 0060 * \brief Minimum value for lzma_options_delta.dist. 0061 */ 0062 # define LZMA_DELTA_DIST_MIN 1 0063 0064 /** 0065 * \brief Maximum value for lzma_options_delta.dist. 0066 */ 0067 # define LZMA_DELTA_DIST_MAX 256 0068 0069 /* 0070 * Reserved space to allow possible future extensions without 0071 * breaking the ABI. You should not touch these, because the names 0072 * of these variables may change. These are and will never be used 0073 * when type is LZMA_DELTA_TYPE_BYTE, so it is safe to leave these 0074 * uninitialized. 0075 */ 0076 0077 /** \private Reserved member. */ 0078 uint32_t reserved_int1; 0079 0080 /** \private Reserved member. */ 0081 uint32_t reserved_int2; 0082 0083 /** \private Reserved member. */ 0084 uint32_t reserved_int3; 0085 0086 /** \private Reserved member. */ 0087 uint32_t reserved_int4; 0088 0089 /** \private Reserved member. */ 0090 void *reserved_ptr1; 0091 0092 /** \private Reserved member. */ 0093 void *reserved_ptr2; 0094 0095 } lzma_options_delta;
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|