Rev 49813 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
/*** \file lzma/delta.h* \brief Delta filter*//** Author: Lasse Collin** This file has been put into the public domain.* You can do whatever you want with this file.** See ../lzma.h for information about liblzma as a whole.*/#ifndef LZMA_H_INTERNAL# error Never include this file directly. Use <lzma.h> instead.#endif/*** \brief Filter ID** Filter ID of the Delta filter. This is used as lzma_filter.id.*/#define LZMA_FILTER_DELTA LZMA_VLI_C(0x03)/*** \brief Type of the delta calculation** Currently only byte-wise delta is supported. Other possible types could* be, for example, delta of 16/32/64-bit little/big endian integers, but* these are not currently planned since byte-wise delta is almost as good.*/typedef enum {LZMA_DELTA_TYPE_BYTE} lzma_delta_type;/*** \brief Options for the Delta filter** These options are needed by both encoder and decoder.*/typedef struct {/** For now, this must always be LZMA_DELTA_TYPE_BYTE. */lzma_delta_type type;/*** \brief Delta distance** With the only currently supported type, LZMA_DELTA_TYPE_BYTE,* the distance is as bytes.** Examples:* - 16-bit stereo audio: distance = 4 bytes* - 24-bit RGB image data: distance = 3 bytes*/uint32_t dist;# define LZMA_DELTA_DIST_MIN 1# define LZMA_DELTA_DIST_MAX 256/** Reserved space to allow possible future extensions without* breaking the ABI. You should not touch these, because the names* of these variables may change. These are and will never be used* when type is LZMA_DELTA_TYPE_BYTE, so it is safe to leave these* uninitialized.*/uint32_t reserved_int1;uint32_t reserved_int2;uint32_t reserved_int3;uint32_t reserved_int4;void *reserved_ptr1;void *reserved_ptr2;} lzma_options_delta;