mirror of
https://github.com/widberg/bff
synced 2026-08-23 14:26:03 -04:00
Remove buggy and unused arcode
This commit is contained in:
parent
f00730685b
commit
d4d79900f3
5 changed files with 0 additions and 138 deletions
23
Cargo.lock
generated
23
Cargo.lock
generated
|
|
@ -92,16 +92,6 @@ dependencies = [
|
|||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "arcode"
|
||||
version = "0.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7cf9ecf0f36fbecd0fd1be1eaa0b25fc67051d9a2f6b25892e6e6ebb7db629cb"
|
||||
dependencies = [
|
||||
"bitbit",
|
||||
"fenwick",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "array-init"
|
||||
version = "2.1.0"
|
||||
|
|
@ -118,7 +108,6 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
|
|||
name = "bff"
|
||||
version = "1.1.0"
|
||||
dependencies = [
|
||||
"arcode",
|
||||
"bff-derive",
|
||||
"bilge",
|
||||
"binrw",
|
||||
|
|
@ -212,12 +201,6 @@ dependencies = [
|
|||
"syn 2.0.98",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bitbit"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "341ee439c53e593fa7de26dead9515601539b6cf9a53e3368c1405471e3ea322"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.8.0"
|
||||
|
|
@ -533,12 +516,6 @@ version = "1.0.1"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
|
||||
|
||||
[[package]]
|
||||
name = "fenwick"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5ad8c7269456fd609f700340399dca5fa160c4785c9623f87b6079e5a479f28b"
|
||||
|
||||
[[package]]
|
||||
name = "fixedbitset"
|
||||
version = "0.5.7"
|
||||
|
|
|
|||
|
|
@ -2,8 +2,6 @@ use std::fs::File;
|
|||
use std::io::{self, BufWriter, Cursor, Read, Write};
|
||||
|
||||
use bff::lz::{
|
||||
arcode_compress_data_with_header_writer,
|
||||
arcode_decompress_data_with_header_parser,
|
||||
gzip_compress_data_with_header_writer,
|
||||
gzip_decompress_data_with_header_parser,
|
||||
lz4_compress_data_with_header_writer,
|
||||
|
|
@ -43,7 +41,6 @@ pub enum LzAlgorithm {
|
|||
Lzrs,
|
||||
Lzo,
|
||||
Lz4,
|
||||
Arcode,
|
||||
Zlib,
|
||||
Gzip,
|
||||
}
|
||||
|
|
@ -63,7 +60,6 @@ fn lz_internal<R: Read, W: Write>(
|
|||
LzAlgorithm::Lzrs => lzrs_compress_data_with_header_writer(&buf, &mut writer, endian)?,
|
||||
LzAlgorithm::Lzo => lzo_compress(&buf, &mut writer)?,
|
||||
LzAlgorithm::Lz4 => lz4_compress_data_with_header_writer(&buf, &mut writer, endian)?,
|
||||
LzAlgorithm::Arcode => arcode_compress_data_with_header_writer(&buf, &mut writer, endian)?,
|
||||
LzAlgorithm::Zlib => zlib_compress_data_with_header_writer(&buf, &mut writer, endian)?,
|
||||
LzAlgorithm::Gzip => gzip_compress_data_with_header_writer(&buf, &mut writer, endian)?,
|
||||
}
|
||||
|
|
@ -124,7 +120,6 @@ fn unlz_internal<R: Read, W: Write>(
|
|||
lzo_decompress(&compressed, buffer_size)?
|
||||
}
|
||||
LzAlgorithm::Lz4 => lz4_decompress_data_with_header_parser(&mut reader, endian)?,
|
||||
LzAlgorithm::Arcode => arcode_decompress_data_with_header_parser(&mut reader, endian)?,
|
||||
LzAlgorithm::Zlib => zlib_decompress_data_with_header_parser(&mut reader, endian)?,
|
||||
LzAlgorithm::Gzip => gzip_decompress_data_with_header_parser(&mut reader, endian)?,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ rust-version.workspace = true
|
|||
autotests = false
|
||||
|
||||
[dependencies]
|
||||
arcode = "0.2.4"
|
||||
bff-derive = { path = "../bff-derive" }
|
||||
bilge = { git = "https://github.com/widberg/bilge.git", features = ["serde", "schemars"], branch = "paradiso" }
|
||||
binrw = { git = "https://github.com/widberg/binrw.git", branch = "paradiso" }
|
||||
|
|
|
|||
|
|
@ -1,107 +0,0 @@
|
|||
use std::io::{Cursor, Read, Seek, SeekFrom, Write};
|
||||
|
||||
use arcode::bitbit::{BitReader, BitWriter, LSB};
|
||||
use arcode::{ArithmeticDecoder, ArithmeticEncoder, EOFKind, Model};
|
||||
use binrw::{BinRead as _, BinResult, BinWrite as _, Endian, args};
|
||||
|
||||
use crate::BffResult;
|
||||
|
||||
#[binrw::writer(writer)]
|
||||
pub fn arcode_compress_data_writer(data: &[u8]) -> BinResult<()> {
|
||||
let mut model = Model::builder().num_bits(8).eof(EOFKind::EndAddOne).build();
|
||||
|
||||
let mut compressed_writer = BitWriter::new(writer);
|
||||
|
||||
let mut encoder = ArithmeticEncoder::new(61);
|
||||
|
||||
for sym in data {
|
||||
encoder.encode(*sym as u32, &model, &mut compressed_writer)?;
|
||||
model.update_symbol(*sym as u32);
|
||||
}
|
||||
|
||||
encoder.encode(model.eof(), &model, &mut compressed_writer)?;
|
||||
encoder.finish_encode(&mut compressed_writer)?;
|
||||
compressed_writer.pad_to_byte()?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[binrw::writer(writer)]
|
||||
pub fn arcode_compress_data_with_header_writer_internal(data: &[u8]) -> BinResult<()> {
|
||||
let begin = writer.stream_position()?;
|
||||
writer.seek(SeekFrom::Current(8))?;
|
||||
arcode_compress_data_writer(data, writer, Endian::Little, ())?;
|
||||
let end = writer.stream_position()?;
|
||||
|
||||
writer.seek(SeekFrom::Start(begin))?;
|
||||
(data.len() as u32).write_le(writer)?;
|
||||
((end - begin) as u32).write_le(writer)?;
|
||||
writer.seek(SeekFrom::Start(end))?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn arcode_compress_data_with_header_writer<W: Write + Seek>(
|
||||
data: &[u8],
|
||||
writer: &mut W,
|
||||
endian: Endian,
|
||||
) -> BffResult<()> {
|
||||
Ok(arcode_compress_data_with_header_writer_internal(
|
||||
data,
|
||||
writer,
|
||||
endian,
|
||||
(),
|
||||
)?)
|
||||
}
|
||||
|
||||
#[binrw::parser(reader)]
|
||||
pub fn arcode_decompress_data_parser(
|
||||
decompressed_size: u32,
|
||||
compressed_size: u32,
|
||||
) -> BinResult<Vec<u8>> {
|
||||
if compressed_size != 0 {
|
||||
let mut model = Model::builder()
|
||||
.num_symbols(256)
|
||||
.eof(EOFKind::EndAddOne)
|
||||
.build();
|
||||
|
||||
let mut input_reader = BitReader::<_, LSB>::new(reader);
|
||||
let mut decoder = ArithmeticDecoder::new(61);
|
||||
|
||||
let mut decompressed_buffer_cursor =
|
||||
Cursor::new(Vec::with_capacity(decompressed_size as usize));
|
||||
|
||||
while !decoder.finished() {
|
||||
let sym = decoder.decode(&model, &mut input_reader)?;
|
||||
model.update_symbol(sym);
|
||||
u8::write(&(sym as u8), &mut decompressed_buffer_cursor)?;
|
||||
}
|
||||
|
||||
Ok(decompressed_buffer_cursor.into_inner())
|
||||
} else {
|
||||
let decompressed_buffer =
|
||||
Vec::<u8>::read_args(reader, args! { count: decompressed_size as usize })?;
|
||||
Ok(decompressed_buffer)
|
||||
}
|
||||
}
|
||||
|
||||
#[binrw::parser(reader)]
|
||||
pub fn arcode_decompress_data_with_header_parser_internal() -> BinResult<Vec<u8>> {
|
||||
let decompressed_size = u32::read_le(reader)?;
|
||||
let compressed_size = u32::read_le(reader)?;
|
||||
arcode_decompress_data_parser(
|
||||
reader,
|
||||
Endian::Little,
|
||||
(decompressed_size, compressed_size - 8),
|
||||
)
|
||||
}
|
||||
|
||||
pub fn arcode_decompress_data_with_header_parser<R: Read + Seek>(
|
||||
reader: &mut R,
|
||||
endian: Endian,
|
||||
) -> BffResult<Vec<u8>> {
|
||||
Ok(arcode_decompress_data_with_header_parser_internal(
|
||||
reader,
|
||||
endian,
|
||||
(),
|
||||
)?)
|
||||
}
|
||||
|
|
@ -1,11 +1,9 @@
|
|||
mod arcode;
|
||||
mod gzip;
|
||||
mod lz4;
|
||||
mod lzo;
|
||||
mod lzrs;
|
||||
mod zlib;
|
||||
|
||||
pub use arcode::*;
|
||||
pub use gzip::*;
|
||||
pub use lz4::*;
|
||||
pub use lzo::*;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue