diff options
author | Igor Pavlov <ipavlov@users.sourceforge.net> | 2015-06-15 03:00:00 +0300 |
---|---|---|
committer | Kornel LesiĆski <kornel@geekhood.net> | 2016-05-28 02:16:54 +0300 |
commit | 54490d51d5c6b0d794dcbad2d634d4c95fc25b6c (patch) | |
tree | c3c413656432c0ef87b2841c80e42b55ad17d4e8 /CPP/7zip/Compress/BcjCoder.cpp | |
parent | 0713a3ab803e57401f18432148b4139e5fe6e5dd (diff) |
15.0515.05
Diffstat (limited to 'CPP/7zip/Compress/BcjCoder.cpp')
-rw-r--r-- | CPP/7zip/Compress/BcjCoder.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/CPP/7zip/Compress/BcjCoder.cpp b/CPP/7zip/Compress/BcjCoder.cpp index 0e34ef48..37815dce 100644 --- a/CPP/7zip/Compress/BcjCoder.cpp +++ b/CPP/7zip/Compress/BcjCoder.cpp @@ -4,12 +4,16 @@ #include "BcjCoder.h" -UInt32 CBCJ_x86_Encoder::SubFilter(Byte *data, UInt32 size) +STDMETHODIMP CBcjCoder::Init() { - return (UInt32)::x86_Convert(data, size, _bufferPos, &_prevMask, 1); + _bufferPos = 0; + x86_Convert_Init(_prevMask); + return S_OK; } -UInt32 CBCJ_x86_Decoder::SubFilter(Byte *data, UInt32 size) +STDMETHODIMP_(UInt32) CBcjCoder::Filter(Byte *data, UInt32 size) { - return (UInt32)::x86_Convert(data, size, _bufferPos, &_prevMask, 0); + UInt32 processed = (UInt32)::x86_Convert(data, size, _bufferPos, &_prevMask, _encode); + _bufferPos += processed; + return processed; } |