Changes chronology ------------------ 1.3 Release 14 March 1994 Changes from 1.2 to 1.3 ----------------------- = BUG FIXES + deletes frame files when done with them in parallel version + fixed bug in ComputeFrameTable + completion time estimation now is closer to actual time + modified ComputeSNR to avoid overflow of varOrig + fixed bug that caused I/P/B times on HP's to be wrong + fixed bug that made TwoLevel search out of the search window + fixed bug in -quiet 0 + fixed memory leak when using PNM files + fixed bug: crashed when CPU time was 0 (very rare) + fixed bug in -gop option + fixed bug in AppendFiles() = NEW FEATURES + added FORCE_ENCODE_LAST_FRAME option (allows encoding of all frames) + added PARALLEL_CHUNK_TAPER option + added -bit_rate_info option to show bit rate per frame + added -mv_histogram option to show motion vector histogram + custom quantization tables allowed + can specify frame rate, aspect ratio = SPEED IMPROVEMENTS + replaced most remaining binary multiplies/divides with shifts (except those concerning negative numbers) = MAINTENANCE + got rid of & before array warning in block.c + got rid of references to srandom, random in pbmplus.h + undefine 'index' if defined as 'strchr' (since we use index as variable name) + modified frame type code to be more flexible = PORTABILITY + replaced all bzero() calls with memset() calls 1.2 Release 20 October 1993 Changes from 1.1 to 1.2 ----------------------- = BUG FIXES + allow comments in PPM files + first and last macroblocks in a slice may not be skipped macroblocks + fixed YUV bug: should be able to handle dimensions which aren't multiples of 16 + fixed the separate I/O conversion for parallel NFS version + no_frame_summary can now be last option = NEW FEATURES + using DECODED frames as reference frames in parallel version now works + implemented multiple I/O Servers + FORCE_I_ALIGN added + reorganized Server structure slightly (only I/O Servers handle individual frame files on disk) + add option to allow exact division of frames per processor (PARALLEL_PERFECT) = SPEED IMPROVEMENTS + don't start Input server if not needed = MAINTENANCE + got rid of niceProcesses line in main.c + changed write() to SafeWrite() in parallel.c + commented stuff out after #endif's + fixed prototype warnings (eliminated non-4-byte args) 1.1 Release August 1993 Changes from 1.0 to 1.1 ----------------------- = BUG FIXES + fixed bug in parallel Server code which didn't htonl() frame numbers correctly (so it didn't work on little-endian machines) + fixed bug -- B-frames were always getting just 1 slice + fixed listen() to use max connections allowed + fixed noparallel.c so it doesn't complain during non-parallel execution = NEW FEATURES + added level-2 p-search (exhaustive full, then half) + now prints signal-to-noise ratio + parallel code complains if absolute path not used for parameter file + changed single I/O server into separate Input and Output Servers (and have Output Server combine frames in parallel) = SPEED IMPROVEMENTS + slight improvement in Mpost_QuantZigBlock (.10 ms/call down to .08 ms on Sparc-10) + improvement in speed of BlockifyFrame (45.8 ms/call down to 21.2 ms) + improvement in ComputeMotionBlock (0.02 ms/call down to 0.01 ms) + improvement in ComputeMotionLumBlock (0.04 ms/call down to 0.02 ms) + improvement in LumAddMotionError (0.06 ms/call down to 0.05 ms) (changed /2 to >>1) = MAINTENANCE + removed most memory.h references (except jrevdct) + added CFLAGS lines in Makefile for SVR4.0 and SGI machines + removed mproto.h + got rid of printing connection times 1.0 Release July 1993