Path: blob/master/Utilities/cmliblzma/liblzma/api/lzma/delta.h
3158 views
/* SPDX-License-Identifier: 0BSD */12/**3* \file lzma/delta.h4* \brief Delta filter5* \note Never include this file directly. Use <lzma.h> instead.6*/78/*9* Author: Lasse Collin10*/1112#ifndef LZMA_H_INTERNAL13# error Never include this file directly. Use <lzma.h> instead.14#endif151617/**18* \brief Filter ID19*20* Filter ID of the Delta filter. This is used as lzma_filter.id.21*/22#define LZMA_FILTER_DELTA LZMA_VLI_C(0x03)232425/**26* \brief Type of the delta calculation27*28* Currently only byte-wise delta is supported. Other possible types could29* be, for example, delta of 16/32/64-bit little/big endian integers, but30* these are not currently planned since byte-wise delta is almost as good.31*/32typedef enum {33LZMA_DELTA_TYPE_BYTE34} lzma_delta_type;353637/**38* \brief Options for the Delta filter39*40* These options are needed by both encoder and decoder.41*/42typedef struct {43/** For now, this must always be LZMA_DELTA_TYPE_BYTE. */44lzma_delta_type type;4546/**47* \brief Delta distance48*49* With the only currently supported type, LZMA_DELTA_TYPE_BYTE,50* the distance is as bytes.51*52* Examples:53* - 16-bit stereo audio: distance = 4 bytes54* - 24-bit RGB image data: distance = 3 bytes55*/56uint32_t dist;5758/**59* \brief Minimum value for lzma_options_delta.dist.60*/61# define LZMA_DELTA_DIST_MIN 16263/**64* \brief Maximum value for lzma_options_delta.dist.65*/66# define LZMA_DELTA_DIST_MAX 2566768/*69* Reserved space to allow possible future extensions without70* breaking the ABI. You should not touch these, because the names71* of these variables may change. These are and will never be used72* when type is LZMA_DELTA_TYPE_BYTE, so it is safe to leave these73* uninitialized.74*/7576/** \private Reserved member. */77uint32_t reserved_int1;7879/** \private Reserved member. */80uint32_t reserved_int2;8182/** \private Reserved member. */83uint32_t reserved_int3;8485/** \private Reserved member. */86uint32_t reserved_int4;8788/** \private Reserved member. */89void *reserved_ptr1;9091/** \private Reserved member. */92void *reserved_ptr2;9394} lzma_options_delta;959697