Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

MOUNT TAPE U1439 ON B3, NO RING


devel / comp.compression / MTF Improvements?

SubjectAuthor
o MTF Improvements?Harry Potter

1
MTF Improvements?

<53beeeac-9286-44d1-9cd1-bde18a8f6b80n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=332&group=comp.compression#332

  copy link   Newsgroups: comp.compression
X-Received: by 2002:a37:845:0:b0:729:5e13:e56a with SMTP id 66-20020a370845000000b007295e13e56amr1433637qki.3.1676134523643;
Sat, 11 Feb 2023 08:55:23 -0800 (PST)
X-Received: by 2002:a5b:6c5:0:b0:895:33dc:ddd5 with SMTP id
r5-20020a5b06c5000000b0089533dcddd5mr1946796ybq.7.1676134523472; Sat, 11 Feb
2023 08:55:23 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.compression
Date: Sat, 11 Feb 2023 08:55:23 -0800 (PST)
Injection-Info: google-groups.googlegroups.com; posting-host=74.108.229.93; posting-account=xRocggoAAACFej4w6sQauoZjUP9yroE5
NNTP-Posting-Host: 74.108.229.93
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <53beeeac-9286-44d1-9cd1-bde18a8f6b80n@googlegroups.com>
Subject: MTF Improvements?
From: rose.joseph12@yahoo.com (Harry Potter)
Injection-Date: Sat, 11 Feb 2023 16:55:23 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2261
 by: Harry Potter - Sat, 11 Feb 2023 16:55 UTC

Hi! I'm sad to say that some recent bug fixes to my main compression technique cost me a lot of ground. :( I'm still doing better than WinMount on most files, though. This post is not about that technique. Rather, it's about another technique that's to be open-source. It uses MTF, LZ77, my Last16 technique and a way to compress from the last LZ77 block. I don't know what the last is called, but it's used by the ZX0 technique. This technique is doing pretty well but not well enough. I'm wondering if I can do anything to better my version of MTF or the other methods I'm using. Following is my code for writing MTF literals:
---------------------
void mtfWriteVal (void)
{ unsigned char m=mtfGetVal (CPos[k]);
if (m<32) {
writeoutf_11 ();
writeoutf (m, 5);
} else if (m<64) {
writeoutf_x2 (2);
writeoutf (m-32, 5);
} else if (m<128) {
writeoutf_x3 (5);
writeoutf (m-64, 6);
} else {
writeoutf_x3 (6);
writeoutf (m-128, 7);
}
} --------------------
where writoutf() writes the number of bits specified in Parameter 2 and writeoutf_xy() writes the number of bits specified by y. BTW, this code was written using cc65 C, a variant of C targeted for 8-bit computers.

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor