domfecpedals/Lossless-Compression
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
#######Known Issue: # When I run this program on my local machine, Mac OSX 10.10, Xcode 6.1.1 and g++ 4.2.1 # the adaptive huffman encoder will produce error output file, with size larger than the expected ones. # It will only produce the correct output on the first run after a new compile. # However, this problem is not existing on Nunki server, so I do all the test and record the result on Nunki. # I can also run the program without any problem on my mac desktop, so I assume the problem is about the compiler or # environment on my laptop only. If you run the program with any issue on your local machine, please run it on Nunki #######Compile and batch run instructions: # For compiling the program, cd to the directory of this README file and use < make -f README/gmake -f README > to compile the program # A instruction on execution parameters format will be shown # Follow the instruction for single run of certain algorithm and inpout data # For batch run on all algorithms and input data # cd to /debug folder and use make -f RUN/gmake -f RUN to run the batch script #######Known issues # The run length and modified run length algoritms have some problem when running the decoding routines # The decoder will reach the EOF earlier than expected, but for the decoeded parts, the content is the same with the orginal one. # I have met the same issue on MTF transformation on my local machine, however it runs good on Nunki serve. But the RL and MRL will not # run perfectly on Nunki as well. I'm still debugging this part to see if I did anything wrong. compile: @echo "*compiling the program" g++ -c bitio.cpp g++ -c statistics.cpp g++ -c Huffman.cpp g++ -c shannon.cpp g++ -c adaptiveHuff.cpp g++ -c MTF.cpp g++ -c runLength.cpp g++ -c main.cpp g++ -o debug/lossless main.o Huffman.o shannon.o adaptiveHuff.o runLength.o MTF.o statistics.o bitio.o @echo "*Compile finished." @echo "*Instruction on excuting the program." @echo "*Executable program will be in the /debug folder" @echo "*Run the program with correct format and parameters" @echo "*For data statistics, follow the format below" @echo ">> ./lossless [filename]" @echo "*For Shannon-Fano, Huffman and Adaptive Huffman encoding, follow the format below" @echo ">> ./lossless encode [sf/hm/ah] [filename]" @echo "*For run length encoding and decoding, follow the format below" @echo ">> ./lossless [encode/decode] [rl/mrl/mtf] [filename]" @echo ">>Or cd to debug folder, use make -f RUN to execute the batch run"