2001-06-24 Charles 'Buck' Krasic <krasic@acm.org> * Version 0.9 * Apply Stefan Lucke's Xv/PPC/PAL patch. * Move bootstrap to bleeding edge autotools, with checks in bootstrap for the proper versions. Add support for pkgconfig. * Make build more quiet. Fixups for some gcc warnings. 2001-06-24 Daniel Kobras <kobras@tat.physik.uni-tuebingen.de> * Fix enc_input.c with non-asm. 2001-06-24 <zybi@users.sourceforge.net> * Important bugfix. RedHat 7.1 gcc was generating invalid code for expression in weighting.c. This was causing video artifacts and crashes. Workaround found by changing the expression gcc was messing up on. * New option for selecting Xvideo port. nVidia drivers have now 2 Xvideo adaptors: `Video overlay' (1 port) and `Video blitter' (32 ports). Matrox G series have a similar option. This patch allows to select any of their ports. 2001-06-05 Peter Schlaile <udbz@rz.uni-karlsruhe.de> * Added dvconnect. A small utility to grab and send dv data over firewire * Added --no-mmap option to playdv in order to handle pipes correctly * Various bugfixes 2001-04-26 Charles 'Buck' Krasic <krasic@acm.org> * Version 0.8 * Restructure source: make subdirectories libdv, playdv, and encodedv. This starts to fix some of the #include problems. * Fix typos: missing #ifdef ARCH_X86 around #include "mmx.h" 2001-04-14 Peter Schlaile <udbz@rz.uni-karlsruhe.de> * Removed "bttv bug work around". It was my VIA board... * Changed DV_WIDTH in rgbtoyuv to make things more clear and compile on more platforms * need_dct_248 now uses the ratio between field error and error in x-direction. Hopefully fixes encoding of cartoons with hard edges. * --force-dct added. Just in case. * Added updated man page for encodedv 2001-04-07 Peter Schlaile <udbz@rz.uni-karlsruhe.de> * VLC encoder improvements: static qno tables for 3 passes * audio support for the encoder (plugin system with wav and /dev/dsp support) * renamed build_coeff to fill_macroblock and moved it into the input filter. Wrote specialized mmx copy routines. -> now we _are_ realtime on an Athlon 800 even with 3 VLC passes (static qno tables!) It's time to throw the video recorder away ;-) * New option: --fps : select frames per second if your machine isn't fast enough for the full bandwidth * Interface changes: -t renamed to -v since it gives additional verbose output now. * pgm support for mpeg2dec 2001-03-30 Stefan Lucke <Stefan.Lucke@snafu.de> * New options (available for Xv only): --aspect ([w|wide|n|normal]) --size (10 .. 100) * Reenabled scaling with Xv. Aspect ratio is keept constant when --aspect option is specified. This depends on used window manager too. KDE :-(( , fvwm, enlightment :-) * Changed all render functions to have the same paramerlist * Bug fixes: According to SDL linux FAQ: Applications which support SDL should have an sdl.m4 file in their config. Assembler error messages with encode_x86.S my one does not like div operations with defines. replaced DV_WIDTH/2 by DV_WIDTH_2 2001-03-29 Peter Schlaile <udbz@rz.uni-karlsruhe.de> * VLC encoder improvements: Now it's more correct for 3 passes (but also slower...), faster for 2 passes. Implemented turbo mode (static qno tables). Hopefully makes the thing finally realtime on an Athlon 800... * Separated out the input and output queue. Build general input and output filter plugin system. Included /dev/video support. * several assembler optimized routines in the vlc encoder added, reorder_88 code is now merged with the DCT postscaler to fill the integer pipelines _and_ the MMX pipelines * renamed encode to encodedv * removed blur function since it doesn't make sense * corrected (?) faster C version of convert_to_yuv 2001-03-19 Charles 'Buck' Krasic <krasic@acm.org> * Version 0.7 * Faster C version of convert_to_yuv from Andreas Wacker. * Compilation fixups for building without Xv, and without x86 asm. 2001-03-17 Charles 'Buck' Krasic <krasic@acm.org> * Typo fix: swab32 for big endian. 2001-03-09 Peter Schlaile <udbz@rz.uni-karlsruhe.de> * VLC encoder improvements: Now we do 3 passes and we do it even better than my Sony Camcorder ;-) * need_dct_248 fixes, weighting fixes, seperated out the header writer and a lot more things I've forgotten * NTSC encoding works now really * rgbtoyuv now adapts correctly to the encoding system (PAL or NTSC) 2001-03-05 Charles 'Buck' Krasic <krasic@acm.org> * Version 0.6 * Compile fixups to dct.c and encode.c for --disable-asm 2001-03-05 Thom van Os <thom@vanos.com> * NTSC encoding fixups. 2001-03-05 Peter Schlaile <udbz@rz.uni-karlsruhe.de> * Encoder speedups (factor 3 from realtime on my machine, it even beats playdv using gtk display ;-) ) * Fixed stupid need_dct_248() bug * Correct(tm) and faster quantization 2001-02-14 Charles 'Buck' Krasic <krasic@acm.org> * Version 0.5 * Integrate patch #103780 "encoder and ppmqscale improvements", from Peter Schlaile (see below) * Bump libtool library version number to reflect dv_init() interface change. * Bug fix for bug #131581: "Initializating multiple dv_decoder_t objects fails". Changed dv_init() to remove dependence on per-stream object, and ignore multiple invocations. * Bugfix from Stefan Lucke for recent PAL breakage. * Cleaner rpm rule in Makefile.am 2001-02-14 Peter Schlaile <udbz@rz.uni-karlsruhe.de> * Again encoder speedups. * Fixed serious quant bugs (divide != shift!!!!) * Implemented DCT248 AAN version in C and MMX * Integrated use of DCT248 (somewhat experimental. My camcorder apparently uses motion detection for this one...) * General code cleanups * ppmqscale can now shrink pictures * Added a lot of FIXMEs so other people can also improve things (hint, hint ;-) 2001-02-08 Charles 'Buck' Krasic <krasic@acm.org> * Add --enable-gprof to configure. Disable SDL by default. Minor fixups in display.c for missing #if HAVE_GTK and #if HAVE_SDL. 2001-02-07 Charles 'Buck' Krasic <krasic@acm.org> * Version 0.4. * Cosmetic nit: move to consistent use of C style comments. * Integrate patch from Scott F. Johnston for non-gcc non-x86 architectures. Add untested fixed_multiply to idct_248.c for non-gcc non-x86 architectures. Also disable popt on non-gcc, since our popt code uses gcc struct initialization extension heavily. * Integrate patch from Stefan Lucke for aspect-ratio handling with Xv based display. 2001-02-06 Charles 'Buck' Krasic <krasic@acm.org> * Integrate patch from Stefan Lucke for various speedups: - replace pointer dereferences with indexed accesses. - merge 248 idct prescale into 248 quant. - change IEC PAL (420) to generate YUY2 instead of YV12. Is this really faster? If so, I am suprised. I have added a configure option to allow choosing which version to build (YUY2 is default), so I can verify the performance comparison. - Fix to Makefile.vanilla to include util.c in build. - still to do: it looks like there are incompatable versions of popt around. Need to add a configure check to figure out whether filename needs to be declared as a const char *. * Change license banner to read "a free DV codec" instead of "a free decoder". * Add the banner to files that didn't have it. 2001-02-03 Peter Schlaile <udbz@rz.uni-karlsruhe.de> * Additional encoder speedups and improvements it now also uses popt, can read ppm-streams, can correct wrongly interlaced input pictures. Speedups: we are between 4 and 5 times away from realtime on my AMD K6/400 ;-) slowest part is now the RGB to YUV conversion. * added new program - ppmqscale quality (and quick) ppm scaler.Use it like this cat *.ppm |ppmqscale 720 576 |encode -- - does linear interpolation, next thing is MMX optimization for it. * playdv can now write ppm-streams 2001-01-20 Charles 'Buck' Krasic <krasic@acm.org> * version 0.3 * Minor configure.in cleanups. * Add Peter's new utilities to Makefile.am. Minor cleanups for -Wall. 2001-01-20 Peter Schlaile <udbz@rz.uni-karlsruhe.de> * Made encoder finally work correctly for DCT 88 Inserted META information * Added playdv option: dump frames * added new programs: - insert_audio Audio dub an existing video stream or just copy audio data to DV using insert_audio [wav_file] <<EOF |dvsend EOF - fix_headers Fix old encoded dv files without meta information - scan_packet_headers Dump dv files in a nice way. (Take a look how badly encode still performs... ) - steal_headers Copy meta headers from a captured stream for testing. 2001-01-18 Charles 'Buck' Krasic <krasic@acm.org> * Create a rpm .spec.in file. configure generates the .spec. Makefile.am has a rpm target. Update the README. Add a debug option to configure to control "-g" in CFLAGS. 2001-01-16 Charles 'Buck' Krasic <krasic@acm.org> * Add alternate definitions of bitfield structs for architectures with big-endian bitfields. * Add AC_C_BIGENDIAN to configure.in. * Makefile.am tweeks: Add ac_c_bigendian_cross.m4 to AUX_DIST_EXTRA; eliminate duplicate references to header files. * Move bitstream_t to dv_types.h. Remove a few #include "bitstream.h"'s as a result. * Make definition swab32() conditional on WORDS_BIGENDIAN. * New autoconf macro for testing endianness. The stock autoconf test doesn't work with cross-compiling, and autoconf generates a warning to that effect. 2001-01-14 Charles 'Buck' Krasic <krasic@acm.org> * Add bgr0 support for kino submitted by Arne Schirmacher <arne@schirmacher.de>. * Add command line option interface to playdv, using popt. * Add more audio code structure; pre-emphasis, speed detection (only play normal speed audio). * Header file re-structuring. Move types to new dv_types.h; enclose declarations in extern "C" for C++ compatibility; replace leading '_' from preprocessor symbols with 'DV_' prefix. * Add exit() handler to avoid Sys V shmem leak with Xv. (Still have to do SDL, and gtk). * Add _GNU_SOURCE define, enabling large (>2GB) file support. 2001-01-08 Charles 'Buck' Krasic <krasic@acm.org> * Add preliminary support for audio. New files are audio.[ch] which does the unshuffling, and oss.[ch] which is provides an example of playout via the OSS sound API. 2000-12-27 Peter Schlaile <udbz@rz.uni-karlsruhe.de> * Integrated MMX/ASM-optimizations into the encoder. (YUV, DCT88, quant) The YUV conversion is 2 bits more accurate than before, the DCT is somewhat less accurate (approximately 1 or 2 bits) so it should be more or less the same as the old C code. Best thing: it is 8 times faster now! 2000-12-21 Charles 'Buck' Krasic <krasic@acm.org> * Applied outstanding patch submissions. The major parts included getting the encoder to build again, and autotool'ing the build. This ChangeLog files is far from complete. The log information in CVS is where most of the changes are documented. 2000-05-08 Charlie Krasic <krasic@cse.ogi.edu> * Moved to macroblock at a time color conversion, based on the work of Scott F. Johnston <scott@fleetingimage.com>. I rewrote his shuffle code. Partly so I could understand it better (I added lots of comments), and also I did the PAL version too. I decided to leave mapping between dif blocks/segments and superblock row/columns to the parse code. I took his block at a time ycrcb conversion directly, except for making clamp_y lookup based. 2000-05-05 Charles 'Buck' Krasic <krasic@acm.org> * New idct code for 2-4-8. It's an integer version, based on an approach like that of the AAN algorithm. Next step will be to MMX it. 2000-04-20 Charles 'Buck' Krasic <krasic@acm.org> * place.c: Fixes to 4:2:0 placement. Color resembles something like correct now. :} * Add initial macroblock placement for 4:2:0 (IEC61834). Initial test shows luma is OK, but color isn't working correctly. 2000-04-19 Erik Walthinnsen (Omega) <omega@cse.ogi.edu> * Added rudimentary PAL decoding, as well as a way to differentiate between IEC61834 and SMPTE314M video, which is critical for dealing with PAL data. 2000-04-18 Charles 'Buck' Krasic <krasic@acm.org> * Version 0.1 - first release at libdv.sourceforge.net