Skip to content

domfecpedals/Lossless-Compression

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"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors