]> icculus.org git repositories - icculus/xz.git/commit
Revised the Delta filter implementation. The initialization
authorLasse Collin <lasse.collin@tukaani.org>
Sat, 19 Jan 2008 13:19:21 +0000 (15:19 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Sat, 19 Jan 2008 13:19:21 +0000 (15:19 +0200)
commit23c227a864a3b69f38c6a74306161d4e6918d1cc
tree49bfe24e15c1df35589635f8630a9e44dc7604a2
parent61dc82f3e306b25ce3cd3d529df9ec7a0ec04b73
Revised the Delta filter implementation. The initialization
function is still shared between encoder and decoder, but the
actual coding is in separate files for encoder and decoder.

There are now separate functions for the actual delta
calculation depending on if Delta is the last filter in the
chain or not. If it is the last, the new code copies the
data from input to output buffer and does the delta
calculation at the same time. The old code first copied the
data, then did the delta in the target buffer, which required
reading through the data twice.

Support for LZMA_SYNC_FLUSH was added to the Delta encoder.
This doesn't change anything in the file format.
src/liblzma/common/Makefile.am
src/liblzma/common/delta_coder.c [deleted file]
src/liblzma/common/delta_common.c [new file with mode: 0644]
src/liblzma/common/delta_common.h [new file with mode: 0644]
src/liblzma/common/delta_decoder.c [new file with mode: 0644]
src/liblzma/common/delta_decoder.h [moved from src/liblzma/common/delta_coder.h with 77% similarity]
src/liblzma/common/delta_encoder.c [new file with mode: 0644]
src/liblzma/common/delta_encoder.h [new file with mode: 0644]
src/liblzma/common/raw_decoder.c
src/liblzma/common/raw_encoder.c