I have recently come back to my pet project of developing a lossless video codec, and have actually have the preliminary version working! yay!
Ah, i thought, i can speed things up by using the -server jvm as i dont mind a longer start up if it means faster compression over all. So i then tried my program with the -sever jvm... but it causes my program to crash with an array out of bounds error.
What distresses me even more is that the time and point at which the program crashes seems to be arbitary! In my efforts to locate the error i introduced some println statements, with the addition of these statements the program now crashes on the 5th frame instead of the 3rd frame of a sequence!
This arbitary crashing seems to be like there is some sort of threading issue... however my program is only the main process. Does the -server jvm make my non threaded program threaded?
I then tried compiling the program to native win32 binaries via excelsior JET. The program compiles and runs perfectly (and faster).
It will be about 10 hours before i am able to respond to any replies.
How do i go about finding and correcting the bug causing this? (assuming it is a bug on my end, which i dont doubt for a second!)
The code for the video compresser is http://www.geocities.com/budgetanime/hdiffindex.html
some frames that will cause the error are also included.
to run the compressor:
java -server hdiffC clock -alt -scan -autoDelta 3
assuming that the clock bitmaps are in the same directory as the program.
The program will run perfectly if you use the client jvm... i.e. remove the -server from the above line.