Commit Graph

49 Commits

Author SHA1 Message Date
Peter Helcmanovsky (Ped)
db1c7d2d14 z80_unpacker: optimisation: -1B in decode_number (fwd 171B / rev 168B) 2022-09-19 11:49:53 +02:00
Peter Helcmanovsky (Ped)
c1ffd0e7ed z80_unpacker: attempt for faster decode_number (+6B, ~1% faster) => not good
archived in comments for future reference
2022-09-19 11:42:56 +02:00
Peter Helcmanovsky (Ped)
00d084105a z80_unpacker: optimisation: -2B in backward unpack (fwd 172B / rev 169B)
backward was already -1B, so now the total difference is -3B.
2022-09-19 01:31:22 +02:00
Peter Helcmanovsky (Ped)
8e5298caee z80_unpacker: optimisation: -1B in decode_number = 172B (but +4T per length) 2022-09-19 01:09:21 +02:00
Peter Helcmanovsky (Ped)
1fb29f3a1b z80_unpacker: optimisation: -1B and -1T in decode_bit = 173B 2022-09-18 23:44:18 +02:00
c8924456aa -r reverses both input and output 2022-09-18 23:38:41 +02:00
7b0e22f459 Merge pull request #3 from ped7g/z80_ped7g
backward unpacker + example extended
2022-09-18 23:24:28 +02:00
Peter Helcmanovsky (Ped)
165f593a11 z80_unpacker: (codestyle) whitespace + temporary label rename 2022-09-18 23:04:37 +02:00
Peter Helcmanovsky (Ped)
d4bce4bf7c z80_unpacker: optimisation: -3B and ~-10T in decode_bit = 174B
unpack zx48.rom is now ~22.6s (from 23.0s)
(performance version is now 199 bytes, zx48.rom unpack 19.4s -> 19.0s)
2022-09-18 22:54:10 +02:00
Peter Helcmanovsky (Ped)
b13fa05413 z80_unpacker: add backward variant of unpacker + example extended 2022-09-18 00:23:14 +02:00
Peter Helcmanovsky (Ped)
3c773aca8d z80_unpacker: add performance variant of depacker 2022-09-16 03:38:03 +02:00
a5406deb30 Merge pull request #2 from ped7g/z80_ped7g
Z80 ped7g - few more optimisations for current variant of packer
2022-09-16 00:26:55 +02:00
Peter Helcmanovsky (Ped)
9211544cb9 z80_unpacker: add resulting snapshot file to example 2022-09-15 18:37:06 +02:00
Peter Helcmanovsky (Ped)
3fa9e0fa12 z80_unpacker: optimisations: 0B, -13T in decode_bit (stays 177B) 2022-09-15 18:22:33 +02:00
Peter Helcmanovsky (Ped)
aa3fad4d80 z80_unpacker: optimisations: -3B and ~-24T in decode_bit = 177B 2022-09-15 18:22:32 +02:00
Peter Helcmanovsky (Ped)
6624940ed9 z80_unpacker: optimisations: -2B and -27T in decode_bit = 180B 2022-09-15 18:22:32 +02:00
Peter Helcmanovsky (Ped)
c3a9773e5c z80_unpacker: optimisations: -1B in unpack implementation = 182B 2022-09-15 18:22:31 +02:00
Peter Helcmanovsky (Ped)
a75a35efb2 z80_unpacker: probs context-size for offset/length numbers as EQU 2022-09-15 18:22:27 +02:00
540a91d1ba forgot to add back -l 9 2022-09-15 00:18:30 +02:00
e7aaf1491a add old-prob-update to compare script, add reverse option 2022-09-14 23:51:38 +02:00
a1dabaf7f9 add simple script to compare compression of variants 2022-09-14 23:41:14 +02:00
75e375fb1f Merge branch 'ped7g-z80_ped7g' into z80 2022-09-14 09:03:28 +02:00
Peter Helcmanovsky (Ped)
c7ea11bce3 z80_unpacker: optimisations: -2B in unpack implementation = 183B 2022-09-14 01:44:04 +02:00
Peter Helcmanovsky (Ped)
02d20867ee z80_unpacker: optimisations: -2B in unpack implementation = 185B 2022-09-14 01:01:56 +02:00
Peter Helcmanovsky (Ped)
511ddefc08 z80_unpacker: optimisations: -4T per offset/length bit decoded
making the 256-alignment of probs array even more baked-in, but there
was no real chance to get rid of that any way
2022-09-14 00:01:51 +02:00
Peter Helcmanovsky (Ped)
d30baaa91f z80_unpacker: optimisations: -1B by keeping write_ptr in DE' 2022-09-13 23:57:59 +02:00
Peter Helcmanovsky (Ped)
919a892ef0 z80_unpacker: optimisations: -1B by decode_length returning CF=0 2022-09-13 23:25:03 +02:00
Peter Helcmanovsky (Ped)
ea5c0b1b15 z80_unpacker: optimisations: shorter >>4 in probs update 2022-09-13 23:15:18 +02:00
Peter Helcmanovsky (Ped)
a19ec2abb7 z80_unpacker: optimisations: remove .offset init
first offset is mandatory in packed data
2022-09-13 22:53:15 +02:00
Peter Helcmanovsky (Ped)
7b051113e1 z80_unpacker: initial working version with screen-slideshow example 2022-09-13 22:12:03 +02:00
f1f1c64a76 implement simplified prob update, update unpack.c 2022-09-10 12:01:42 +02:00
36cb6d77b5 BE bitstream, flip bit encoding 2022-09-10 11:31:09 +02:00
629c5fce7d optimize c_unpacker state update a bit, add -b flag to --help 2022-09-09 19:10:31 +02:00
a205473ad6 slight optimization v0.1.0 2022-09-09 08:32:03 +02:00
4903ac3786 c unpacker now works 2022-09-09 00:47:33 +02:00
f817dc9254 first try of c decompressor, not working yet 2022-09-08 23:42:03 +02:00
d93aec186c add compressed_size function 2022-06-19 23:08:47 +02:00
3902425922 add bitstream variant, could be useful on 8bit platforms 2021-12-28 23:59:56 +01:00
2e7983fc65 use u8 context entries 2021-12-27 22:35:53 +01:00
f7f891e154 fix creating broken files if they end with a match 2021-12-27 22:34:14 +01:00
08c86af06f some slight tweaks to the compressed format 2021-12-27 16:58:39 +01:00
7d280bd533 unify interface, only one pack function now 2021-11-26 21:58:28 +01:00
c0560f99a8 add compression levels 2021-11-26 00:01:33 +01:00
5fedc032a9 speed optimizations + progress bar 2021-11-25 22:43:39 +01:00
5e82c65c18 a few speed and/or compression ratio improvements 2021-11-24 22:35:24 +01:00
11b43f9bc4 implement parsing packer + fix huge bug in match finder 2021-11-24 09:28:18 +01:00
470b778340 change entropy coder from Range to rANS 2021-11-22 23:14:24 +01:00
479a2e2c89 make packer usable as lib 2021-11-20 16:27:35 +01:00
8f23ec711f first version, only very simple greedy packer 2021-11-19 21:40:37 +01:00