Feature #903

Internal Huffman tables

Added by cmsa almost 5 years ago. Updated over 4 years ago.

Start date:
Due date:
% Done:



Some years ago I used EEPG to create a similar plugin for Topfield.
As this environment is somehow more embedded and has more difficulties with file IO and parsing, I re-coded the two Huffman tables to be internal.
Would you be interested if I backport that into eepg?
It eliminates the need to open, read and parse the files.


patch.txt.gz - git diff experimental huffman (29.9 KB) cmsa, 03/22/2012 04:27 PM

freesat-internal.diff.bz2 (51.1 KB) dimeptr, 05/23/2012 06:10 PM


#1 Updated by dimeptr almost 5 years ago

If you provide patch I will test it and maybe implement it

#2 Updated by cmsa almost 5 years ago

I do now have a diff / a branch available.
How would you want to receive it?

#3 Updated by dimeptr almost 5 years ago

a diff is fine

#4 Updated by cmsa almost 5 years ago

So tried this here some days in my environment, seems to be working for me.
This patches the experimental branch, here comes a "git diff experimental huffman".

#5 Updated by dimeptr over 4 years ago

The initial files are already loaded into memory internally as FreesatT1 and FreesatT2 so there is no point to hard-code memtable once again. load_freesat_file could be modified (renamed) to use FreesatT1 and FreesatT2.

#6 Updated by cmsa over 4 years ago

Did you look at the patch? File IO of the two tables is REPLACED by putting the into the code.
These files have been necessary in a time, when the coding was unknown and still evolved.
Now these tables are in their final state. The advantage of compiling it in is:
- simpler and compact code
- no file ops necessary
- no dynamic heap memory (mallocs), everything is in DATA

#7 Updated by dimeptr over 4 years ago

I have made some changes that I think are better from memory and loading point of view.
On my system it works fine. Test it on your system and if it is OK I will implement it in experimental branch

Also available in: Atom PDF