IRIXDiVX Changes ================ Release 0.95 (April 1st, 2003) ============================== Features ======== * Added standard inst distribution package. * Added manpage, icon, and desktop integration. * Added popup option menu to change runtime options on the fly (right click in movie area). * Movie names in titlebar are now the moviename rather than the full path. * Renamed audio port from "audio_fd" to "irixdivx_audio". * Added support for INDEO and CINEPAK through SGI dmedia libraries. * Video and Audio now have more detailed codec information printed. * Added optcheck for -z option so that -z0 will zoom as large as possible. * Changed cannot find Audio Stream so that it now displays "Movie Info : No Audio Track" when there is no audio track. * Added the equivalent "Movie Info" display to MPEG Raw Video Streams. Bugfixes ======== * Fixed memory leak in cleanup code for decoding thread. * Fixed audio setup section in mpeg code, where we previously weren't setting up audio correctly if sound was disabled on the command line. * Fixed a few small memory leaks in mpeg, divx, and video code. * Fixed audio crash/trouble on systems without audio hardware or if an error occured while opening the audio port. * Temporarily disabled non-interleaved AVI movies for sync purposes. * Fixed syncing problems and inaccuracies with low frame rate movies. * The program window is now kept at a minimum of 290 pixels wide so that small movies don't partially obscure the control panel. * Fixed movie display glitch during pause, stop and freezelast mode. * Added better bitcount checking in uncompressed AVI movies. * Removed -m option that had of late been doing the same thing as -c. * Fixed fullscreen bug where movies were getting offset if the width or height zoom ended up displaying a movie with the exact width or height of the screen. * Added proper handling of pause and better handling of stop. We now flush and blank the audio to keep movie sync. * Fixed pause, stop, and freezelast so that they don't hog CPU time. * Fixed issue where the timeline and timecode weren't getting updated enough (and were therefore inaccurate) when not in fullframe mode. * Fixed initial frame sync code. This eliminates occasional lock-up's that were occuring at the start of the movie. * Fixed syncing issues between threads that were causing occasional lock-up's. * Fixed memory leak in audio cleanup code occuring in all formats but PCM. * Cleaned up define that was printing out debugging information with Raw MPEG video streams. * Added code to make sure the decoder routines flush all the data before they are freed. This was causing memory corruption after the movie decoding was complete. BUGFIX:0000035 (avi) 1. The RIFF parser was not handling padding in the headers. RIFF chunks are supposed to be 16-bit aligned. Although they are in most cases, there are optional header files out there that don't follow that convention. It seems a program called NANDUB in particular likes to add ISFT chunks (Program Identifier) that are 15 bytes long. BUGFIX:0000027 (divx) 1. Bad clipping in one of the tables. This could have been appearing on any video, but this particular sample had a lot of bright whites, and was therefore pressing the problem. BUGFIX:0000031 (mpeg1/2) 1. Although I thought I had made this change before, we now actually set disable sound in our main loop if an mpeg system stream has no audio. 2. Fixed incorrect PTS parsing code in MPEG streams. There was an offset error that was causing trouble in system streams without audio. 3. If a system stream did not have a valid audio packet, we would also fill the sound params with bogus information, and produce a core dump. Speedups ======== * Faster optimized motion comp routines. * Added enhanced priority time. * Colorspace conversion speedup that results in about 15 to 20% speedup. Release 0.94 (February 27th, 2003) ================================== * Fixed segfaults occuring with the -n flag. This was related to some audio initialization that was being done whether or not the -n flag was specified (the -n flag disables audio). (Reported by spidy) * Fixed a bug in the video display code that was causing random lock-ups and startup issues with certain videos. This was happening on all systems with the exception of Odyssey graphics. The Odyssey code was incorrectly setting the video display buffer to be too large, and therefore wasn't having this problem. * Fixed a bug where Odyssey was allocating too large of a video display buffer for screen draws. * Fixed a color-bleeding issue in certain variables. There was a problem with the 64-bit alignment of certain block decoding with DiVX files. (Reported by max_impact) * Improved performance on NEWPORT and EXPRESS graphics by default. * Added audio data to verbose AVI output. * Fixed user reported bug that was causing issues with some MPEG's, where audio was being generated in a loosely interleaved fashion. (Reported by max_impact) * While fixing a user reported bug, I came up with a way to generate some nice speed improvements in the DiVX code which result in 10-15% performance gain.