add some more compression variations

This commit is contained in:
Crispy 2025-06-17 03:06:02 +02:00
parent 62ee8a6efa
commit a1bcf7d90b
4 changed files with 168 additions and 54 deletions

View file

@ -17,6 +17,7 @@ const LOSSLESS_ENCODINGS: &[FrameEncoder] = &[
enc::rle_horizontal,
enc::rle_vertical,
enc::rle_vertical_ext,
enc::rle_vertical_16,
// enc::rle_diff_horizontal,
// enc::rle_diff_vertical,
// enc::bg_strips_horizontal_16, // only works for the tiny display
@ -27,7 +28,8 @@ const LOSSY_ENCODINGS: &[FrameEncoderLossy] = &[
enc::fill_black,
// todo: adapt for big display
// enc::cell_diff_8_vertical,
// enc::cell_diff_4_vertical,
enc::cell_diff_4_vertical,
enc::cell_diff_8_vertical_big,
];
fn main() {
@ -166,6 +168,7 @@ enum Encoding {
RLEHorizontal,
RLEVertical,
RLEVerticalExt,
RLEVertical16,
RLEDiffHorizontal,
RLEDiffVertical,
BGStripsH16,
@ -175,6 +178,7 @@ enum Encoding {
// DrawCommands,
// CellDiff8H,
CellDiff8V,
CellDiff8VBig,
// CellDiff4HH,
// CellDiff4HV,
// CellDiff4VH,
@ -189,15 +193,17 @@ fn get_matching_decoder(encoding: Encoding) -> FrameDecoder {
Encoding::RLEHorizontal => dec::rle_horizontal,
Encoding::RLEVertical => dec::rle_vertical,
Encoding::RLEVerticalExt => dec::rle_vertical_ext,
Encoding::RLEVertical16 => dec::rle_vertical_16,
Encoding::RLEDiffHorizontal => dec::rle_diff_horizontal,
Encoding::RLEDiffVertical => dec::rle_diff_vertical,
Encoding::BGStripsH16 => dec::bg_strips_horizontal16,
Encoding::BGStripsH24 => dec::bg_strips_horizontal24,
Encoding::BGStripsH16 => dec::bg_strips_horizontal_16,
Encoding::BGStripsH24 => dec::bg_strips_horizontal_24,
// Encoding::BGStripsV => todo!(),
// Encoding::QuadTree => todo!(),
// Encoding::DrawCommands => todo!(),
// Encoding::CellDiff8H => todo!(),
Encoding::CellDiff8V => dec::cell_diff_8_vertical,
Encoding::CellDiff8VBig => dec::cell_diff_8_vertical_big,
// Encoding::CellDiff4HH => todo!(),
// Encoding::CellDiff4HV => todo!(),
// Encoding::CellDiff4VH => todo!(),