2005-11-06 Jacob Meuser <jakemsr at jakemsr dot com>
  * configure.in
  transcode-1.0.2

2005-11-06 Jacob Meuser <jakemsr at jakemsr dot com>
  * import/scan_pack.c
  avoid out-of-bounds memory access

2005-11-06 Mark Nauwelaerts <manauw at skynet dot be>
  * avilib/avilib.c
  Fixed segmentation fault problem by checking != NULL before free()

2005-11-06 Andrew Church <achurch at achurch dot org>
  * INSTALL
  Theora is video not audio.

2005-10-02 Jacob Meuser <jakemsr at jakemsr dot com>
  * configure.in export/export_mov.c import/decode_mov.c
    import/import_mov.c import/probe_mov.c
  Change in libquicktime header installation path.  Tested with
  libquicktime-0.9.3 and libquicktime-0.9.7.

2005-10-02 Jacob Meuser <jakemsr at jakemsr dot com>
  * pvm3/Makefile.am
  Fix a typo that kept pvm3 libraries from getting linked properly.

2005-10-02 Jacob Meuser <jakemsr at jakemsr dot com>
  * configure.in
  Catch up with a change in TC_PKG_ERROR macro.

2005-10-02 Andrew Church <achurch at achurch dot org>
  * aclib/cputest.c
  Fix CPU feature detection (notably misdetection of SSE3 on just about
  everything).

  * src/transcode.c
  Fix parsing of --accel option, and use "asm" instead of ia32asm/amd64asm
  to match aclib output.

2005-10-02 Jacob Meuser <jakemsr at jakemsr dot com>
  * import/extract_ac3.c
  Only exit with error status when there really was an error.

2005-10-02 Andrew Church <achurch at achurch dot org>
  * import/decode_dv.c
  Fix an off-by-one in initialization.

2005-10-02 Andrew Church <achurch at achurch dot org>
  * aclib/rescale.c
  Fix crash caused by GCC optimization.

  * aclib/tcmemcpy.c
  Fix bug in SSE-optimized memcpy causing incorrect copies with certain
  block sizes.

2005-07-24 Jacob Meuser <jakemsr at jakemsr dot com>
  * filter/filter_videocore.c tools/tcmodinfo.c
  Add unused, but missing symbols.

2005-07-24 Jacob Meuser <jakemsr at jakemsr dot com>
  * filter/Makefile.am filter/filter_logoaway.c
  Need to include libtc/tc_func_excl.h here.

2005-07-24 Francesco Romani <francesco dot romani at email dot it>
  * import/decode_mpeg2.c
  Allow accelleraction auto-detection to work.

2005-07-24 Bryan Mayland <bmayland at leoninedev dot com>
  * src/video_yuv.c
  Make sure alignment is usable when choosing acceleration style.

2005-07-24 Bryan Mayland <bmayland at leoninedev dot com>
  * aclib/average.c
  Don't clobber esi register.


2005-07-12
  * 1.0.0 release


2005-06-08 Francesco Romani <francesco dot romani at email dot it>
  * import/import_ffmpeg.c
  Use the new filter_levels pre-filter capability to scale JPEG
  color ranges to YUV ranges.

2005-06-08 Francesco Romani <francesco dot romani at email dot it>
  * filter/filter_levels.c
  Allow to be used as a pre-filter.

2005-06-08 Jacob Meuser <jakemsr at jakemsr dot com>
  * configure.in import/Makefile.am import/fileinfo.c import/magic.h
    import/probe_stream.c import/import_bsdav.c import/probe_bsdav.c
    import/tc.h src/probe.c
  Add support for bsdav file format http://www.jakemsr.com/bsdav/.

2005-05-12 Jacob Meuser <jakemsr at jakemsr dot com>
  * INSTALL acinclude.m4 configure.in import/Makefile.am import/fileinfo.c
    import/ioaux.c import/ioaux.h import/magic.h import/probe_stream.c
    import/tc.h import/tcprobe.c import/import_oss.c import/probe_oss.c
  Initial cut at OSS audio import module.

2005-05-12 Jacob Meuser <jakemsr at jakemsr dot com>
  * INSTALL configure.in import/Makefile.am import/lve/*
  Remove support for LVE.

2005-04-15 Francesco Romani <francesco dot romani at email dot it>
  * INSTALL Makefile.am configure.in import/Makefile.am
    import/decode_mpeg2.c import/decode_yuv.c libvo/Makefile.am
    libmpeg2/*
  Use an external libmpeg2-0.4.0b instead of an old local copy
  of libmpeg2.

2005-04-14 Jacob Meuser <jakemsr at jakemsr dot com>
  * INSTALL configure.in filter/Makefile.am filter/pp/*
  Sources for libpostproc are no longer part of transcode.  The 'pp'
  filter now relies on an external libpostproc.

2005-04-11 Jacob Meuser <jakemsr at jakemsr dot com>
  * Makefile.am configure.in filter/filter_logoaway.c
    pvm3/Makefile.am pvm3/tcpvmexportd.c src/Makefile.am
    src/transcode.c src/transcode.h 
    Added Files:
    libtc/Makefile.am libtc/libtc.h libtc/strlcat.c 
    libtc/strlcpy.c libtc/tc_func_excl.h libtc/tc_functions.c 
    Removed Files:
    src/tc_func_excl.h src/tc_functions.c src/tc_functions.h 
  Enter libtc, a library for common transcode functions.
  Populate it with src/tc_func*, and remove those files.

2005-03-15 Jacob Meuser <jakemsr at jakemsr dot com>
  * configure.in src/tc_functions.c src/tc_functions.h
  Move the test for getopt_long_only out of the middle of the OSX
  section, as this may be needed on other platforms as well.
  Add strlcpy and strlcat from Todd Miller to tc_functions if
  they are not found on the system.

2005-03-15 Andrew Church <achurch at achurch dot org>
  * aclib/tcmemcpy.c
  - ac_memcpy_amd64(): Copy forward rather than backward, which seems
  to have slightly better performance for misaligned data; fix missing
  instruction causing slow copy routine to be used inappropriately;
  and optimize a few instructions.
  - ac_memcpy_amdmmx(): Replace with ac_memcpy_sse(), an x86 version
  of the AMD64 routine using SSE1 instructions.  (SSE2 seems to
  provide no measurable benefit over SSE1 on x86, and is slower in
  some cases.)
  - ac_memcpy_mmx(): Rewrite based on ac_memcpy_sse(), and add more
  comments.
  - Add authorship notice (:

2005-03-14 Jacob Meuser <jakemsr at jakemsr dot com>
  * INSTALL acinclude.m4 configure.in export/aud_aux.c
    import/lve/Makefile.am
  Rework the way optional 3rd party packages are found by configure.
  Most notable change is that --with-$$$-libs=/foo now does not
  add /lib to /foo, and --with-$$$-includes=/foo no longer adds
  /include to /foo.  This should give the user more control, and
  is more intuitive.
  Also, configure does not stop immediately when a requested
  package cannot be found.  It still exits with an error, but not
  until the very end.  This way, the user can enable lots of
  packages, and simply ignore the error if having support for
  those packages is not really important.
  The configure summary output has changed as well.
  In the course of these changes, a couple macros had to be changed.
  Instead of defining HAVE_LAME to a version, define HAVE_LAME
  to 1 like the others, and use TC_LAME_VERSION to store the
  lame version.  Also use LIBLVE_* instead of LVE_*.
  INSTALL has been updated and slightly expanded.  READ IT!.

2005-03-13 Jacob Meuser <jakemsr at jakemsr dot com>
  * acinclude.m4 configure.in export/Makefile.am filter/Makefile.am
    filter/subtitler/Makefile.am import/Makefile.am src/Makefile.am
  Use 'libavcodec' instead of 'ffmpeg_libs' when referring to
  libavcodec libraries and headers, since we may want to separately
  use libavformat and libpostproc in the future.  Use 'iconv'
  instead of 'libiconv' when referring to iconv functions, because
  iconv functions could be part of libc, and then there is no
  libiconv.  Use freetype2 instead of ft2 to be more clear.
  More configure related patches, including necessary changes to
  INSTALL coming soon.

2005-03-09 Andrew Church <achurch at achurch dot org>
  * aclib/ac.h aclib/average.c aclib/cputest.c aclib/rescale.c
    aclib/swap.c aclib/tcmemcpy.c src/transcode.c src/video_rgb.c
    src/video_trans.c src/video_yuv.c src/video_yuv422.c
  Optimized inline assembly routines for amd64.

2005-03-06 Jacob Meuser <jakemsr at jakemsr dot com>
  * import/import_mplayer.c
  Code cleanup.  Fix incorrect check of snprintf return value.  Use
  a separate stream pointer for the audio, so it can be cleaned
  up properly.  Make error messages more concise and meaningful.

2005-02-21 Andrew Church <achurch at achurch dot org>
  * aclib/average.c aclib/rescale.c
  Two very minor cleanups in the aclib assembly source:
    (1) avoid using register EBX in average.c, and
    (2) optimize register initialization in rescale.c.
  These save about 100 bytes of code and maybe a couple dozen
  cycles, but what's the point of using assembly if it's not
  done efficiently? ;)

2005-02-21 Andrew Church <achurch at achurch dot org>
  * export/export_ffmpeg.c
  closedgop=1 (ffmpeg.cfg) doesn't work with current FFmpeg because
  scene detection has to be explicitly disabled as well.  This
  fixes export_ffmpeg.

2005-02-21 Andrew Church <achurch at achurch dot org>
  * src/counter.c
  Smoother and less convoluted ETA timer.

2005-02-18 Jacob Meuser <jakemsr at jakemsr dot com>
  * src/trascode.c
  Don't up and decide the user wants PAL compliant video if an NTSC
  profile is chosen.  Thanks to Rick Harris for finding the problem
  in the code.

2005-02-18 Jacob Meuser <jakemsr at jakemsr dot com>
  * configure.in
  Enable optimized assembly (--enable-mmx, --enable-3dnow, --enable-sse
  --enable-sse2) on amd64 by default.  There is still a bit of code that
  could be ported to amd64, but this is a decent start.

2005-02-18 Jacob Meuser <jakemsr at jakemsr dot com>
  * libvo/yuv2rgb.c
  Allow transcode to build if --enable-mmx is off at configure time.

2005-02-16 Jacob Meuser <jakemsr at jakemsr dot com>
  * filter/filter_29to23.c filter/filter_32detect.c filter/filter_32drop.c
    filter/filter_aclip.c filter/filter_ascii.c filter/filter_astat.c
    filter/filter_clone.c filter/filter_compare.c filter/filter_control.c
    filter/filter_cpaudio.c filter/filter_cshift.c filter/filter_cut.c
    filter/filter_decimate.c filter/filter_denoise3d.c
    filter/filter_detectclipping.c filter/filter_detectsilence.c
    filter/filter_dilyuvmmx.c filter/filter_dnr.c filter/filter_doublefps.c
    filter/filter_facemask.c filter/filter_fieldanalysis.c
    filter/filter_fields.c filter/filter_fps.c filter/filter_hqdn3d.c
    filter/filter_invert.c filter/filter_ivtc.c filter/filter_levels.c
    filter/filter_logo.c filter/filter_logoaway.c filter/filter_lowpass.c
    filter/filter_mask.c filter/filter_modfps.c filter/filter_msharpen.c
    filter/filter_nored.c filter/filter_normalize.c filter/filter_null.c
    filter/filter_resample.c filter/filter_skip.c filter/filter_slowmo.c
    filter/filter_smartbob.c filter/filter_smartdeinter.c
    filter/filter_smartyuv.c filter/filter_smooth.c filter/filter_tc_audio.c
    filter/filter_tc_video.c filter/filter_test.c filter/filter_testframe.c
    filter/filter_text.c filter/filter_unsharp.c filter/filter_videocore.c
    filter/filter_whitebalance.c filter/filter_xsharpen.c
    filter/filter_yuy2toyv12.c filter/divxkey/filter_divxkey.c
    filter/extsub/filter_extsub.c filter/pp/filter_pp.c
    filter/preview/filter_preview.c filter/preview/filter_preview.h
    filter/preview/filter_pv.c filter/subtitler/filter_subtitler.c
    filter/subtitler/subtitler.h filter/tomsmocomp/filter_tomsmocomp.c
    filter/tomsmocomp/filter_tomsmocomp.h filter/yuvdenoise/filter_yuvdenoise.c
    filter/yuvdenoise/filter_yuvmedian.c src/filter.h src/framebuffer.h
  Header cleanup round 3.  The first lines of a filter should be
#define MOD_NAME ...
#define MOD_VERSION ...
#define MOD_CAP ...
#define MOD_AUTHOR ...
#include "transcode.h"
#include "filter.h"
#include "optstr.h"
  Note, that including framebuffer.h has been replaced with including
  filter.h.

2005-02-15 Jacob Meuser <jakemsr at jakemsr dot com>
  * filter/filter_29to23.c filter/filter_32detect.c filter/filter_32drop.c
    filter/filter_aclip.c filter/filter_ascii.c filter/filter_astat.c
    filter/filter_clone.c filter/filter_compare.c filter/filter_control.c
    filter/filter_cpaudio.c filter/filter_cshift.c filter/filter_cut.c
    filter/filter_denoise3d.c filter/filter_detectclipping.c
    filter/filter_detectsilence.c filter/filter_dilyuvmmx.c
    filter/filter_dnr.c filter/filter_doublefps.c filter/filter_facemask.c
    filter/filter_fieldanalysis.c filter/filter_fields.c filter/filter_fps.c
    filter/filter_hqdn3d.c filter/filter_invert.c filter/filter_levels.c
    filter/filter_logo.c filter/filter_logoaway.c filter/filter_lowpass.c
    filter/filter_mask.c filter/filter_modfps.c filter/filter_msharpen.c
    filter/filter_nored.c filter/filter_normalize.c filter/filter_null.c
    filter/filter_skip.c filter/filter_slowmo.c filter/filter_smartbob.c
    filter/filter_smartdeinter.c filter/filter_smartyuv.c
    filter/filter_smooth.c filter/filter_tc_audio.c filter/filter_tc_video.c
    filter/filter_testframe.c filter/filter_text.c filter/filter_unsharp.c
    filter/filter_videocore.c filter/filter_whitebalance.c
    filter/filter_xsharpen.c filter/filter_yuy2toyv12.c
  Header cleanup round 2.  These include statements are in transcode.h.

2005-02-15 Jacob Meuser <jakemsr at jakemsr dot com>
  * filter/filter_29to23.c filter/filter_32detect.c filter/filter_aclip.c
    filter/filter_ascii.c filter/filter_astat.c filter/filter_clone.c
    filter/filter_compare.c filter/filter_control.c filter/filter_cpaudio.c
    filter/filter_denoise3d.c filter/filter_detectclipping.c
    filter/filter_detectsilence.c filter/filter_doublefps.c
    filter/filter_facemask.c filter/filter_fieldanalysis.c
    filter/filter_fields.c filter/filter_fps.c filter/filter_hqdn3d.c
    filter/filter_invert.c filter/filter_levels.c filter/filter_logo.c
    filter/filter_logoaway.c filter/filter_lowpass.c filter/filter_modfps.c
    filter/filter_msharpen.c filter/filter_nored.c filter/filter_normalize.c
    filter/filter_slowmo.c filter/filter_smartbob.c filter/filter_smartyuv.c
    filter/filter_smooth.c filter/filter_tc_audio.c filter/filter_tc_video.c
    filter/filter_text.c filter/filter_unsharp.c filter/filter_videocore.c
    filter/filter_yuy2toyv12.c
  Header cleanup round 1.  Also make sure MOD_AUTHOR is set properly.

2005-02-12 Jacob Meuser <jakemsr at jakemsr dot com>
  * configure.in
  Remove test for nasm.

2005-02-12 Andrew Church <achurch at achurch dot org>
  * aclib/* src/video_*.c
  Replace all nasm code with inline C assembly.
  Thank you Andrew!

2005-01-28 Bauke Jan Douma <bjdouma at xs4all dot nl>
  * src/transcode
  Instead of hoping a thread sets a variable before it's used in
  another thread, make sure the variable is set before being used
  with the help of a mutex and pthread_cond_wait.

2005-01-25 Doug Fregusson <dougf at fergusson dot cx>
  * filter/filter_text.c
  Place a HH:MM:SS.FRAME timestamp in each frame with the
  new filter option "tstamp".  A "string" option will be
  ignored if "tstamp" is active.

2005-01-25 Matthias Hopf <mhopf at suse dot de>
  * filter/tomsmocomp/Readme_TomsMoComp.txt
    filter/tomsmocomp/filter_tomsmocomp.c
  First, all searcheffort >= 15 seem to be broken, even the
  AviSynth filter adds quite a lot of dot noise begining with
  searcheffort 15.  Lowered the default value to 11 and added
  a comment to the readme.
  Second, the v plane was not filtered at all for yuv input!
  As there was no information about data struct layout, I had
  to guess the meanings of several fields, and appearantly I
  was wrong. I do not know whether the u plane was filtered
  correctly, but I assume it was.

2005-01-25 Andrew Church <achurch at achurch dot org>
  * src/transcode.c docs/man/transcode.1
  For the -E option, samplerate and bits per sample can now be
  specified as 0 to mean "same as input".  This allows converting
  from stereo to mono while leaving the other parameters alone
  (-E 0,0,1).

2005-01-24 Stefan Scheffler <stefanscheffler at gmx dot net>
  * export/export_mov.c import/decode_mov.c import/import_mov.c
    import/import_probe.c
  support libquicktime >= 0.9.4 as well as previous versions.

2005-01-24 Jacob Meuser <jakemsr at jakemsr dot com>
  * configure.in
  add test for libquicktime >= 0.9.4, since they've changed
  their API a bit.

2005-01-22 Jacob Meuser <jakemsr at jakemsr dot com>
  * filter/pp/mangle.h filter/pp/postprocess.c
    filter/pp/postprocess_template.c
  update to ffmpeg's current libpostproc.  adds amd64
  acceleration support.

2005-01-22 Jacob Meuser <jakemsr at jakemsr dot com>
  * libvo/cpu_accel.c
  update arch_accel() to handle ARCH_X86_64.  also add a test
  for possible problems with SSE instructions.  taken from
  mjpegtools' utils/cpu_accel.c.
  * libmpeg2/cpu_state.c libmpeg2/decode.c libmpeg2/idct.c
    libmpeg2/idct_mmx.c libmpeg2/motion_comp.c
    libmpeg/motion_comp_mmx.c libvo/yuv2rgb.c
  this code works on amd64.

2005-01-22 Jacob Meuser <jakemsr at jakemsr dot com>
  * Makfefile.am configure.in libdvenc/* (removed) export/Makefile.am
    export/export_dv.c export/export_dvraw.c export/decode_dv.c
    export/scan_dv.c
  libdvenc is removed.  it is not used if transcode is built with
  libdv-0.95 or newer.  since libdv-0.95 was released close to three
  years ago and new releases are made fairly regularly, change the
  check in configure.in to the existing check for libdv >= 0.95, and
  remove the LIBDV_095 macro.

2005-01-20 Thomas Wehrspann <thomas at wehrspann dot de>
  * filter/filter_null.c
  Documentation added.
  New help function.
  optstr_filter_desc now returns the right capabilities.
  * filter/filter_cut.c
  Documentation added.
  optstr_filter_desc now returns the right capabilities.
  * filter/filter_skip.c
  Rewritten, based on filter_cut.
  Documentation added.
  New help function.
  optstr_filter_desc now returns the right capability flags.

2005-01-13 Jacob Meuser <jakemsr at jakemsr dot com>
  * src/transcode.c aclib/cputest.c
    filter/subtitler/load_font.c
  start converting some x86 inline assembly to handle
  amd64 as well.  most of this is taken from other places.
  the real work will be translating aclib.

2005-01-13 Bevis King <brwk at bevteccom dot co dot uk>
  * export/export_ppm.c
  add support for YUV422 colorspace to this filter.

2005-01-13 Jacob Meuser <jakemsr at jakemsr dor com>
  * bbmpeg/*
  bbmpeg may have been the king at one time, but now there
  are faster and more accurate MPEG encoders.  the bbmpeg
  code is apparently no longer maintained, either, putting
  the burden of keeping it working on the transcode
  developers, who don't use bbmpeg anyway.
  because of this, and other factors, the bbmpeg library and
  it's dependents have been removed from the transcode
  distribution.
  for people who used the mpeg export module for MPEG
  video encoding, it is recommended to use the ffmpeg,
  mpeg2enc or xvid export modules.
  since tcmplex also used the bbmpeg library, it it gone too.
  there is a stand-alone version of tcmplex at:
    http://www.home.zonnet.nl/panteltje/dvd/
  this version also supports multiplexing 1 video and up to 8
  audio tracks while the tcmplex in transcode ocould only
  handle up to 2 audio tracks.
  it is probably better to use mplex from the mjpegtools
  package, however, since it is still actively maintained.

2005-01-11 Andrew Church <achurch at achurch dot org>
  * export/export_toolame.c
  export_toolame was forcing joint stereo mode regardless of
  the -b setting, this fixes it.

2004-12-17 Jacob Meuser <jakemsr at jakemsr dot com>
  * configure.in filter/parse_cvs.awk (removed)
    filter/filter_list.awk (removed) filter/parse_csv.awk.in
    (added) filter/filter_list.awk.in (added)
  Use the best possible awk, not necessarily /usr/bin/gawk.

2004-12-17 Jacob Meuser <jakemsr at jakemsr dot com>
  * export/* import/* filter/*
  Quit using sprintf.  Change most uses to snprintf, else
  deal appropriately.

2004-12-15 Jacob Meuser <jakemsr at jakemsr dot com>
  * contrib/bitrate
  Try to make this more portable, flexible and robust.

2004-12-15 Jacob Meuser <jakemsr at jakemsr dot com>
  * import/{Makefile.am,fileinfo.c,ioaux.c,probe_stream.c,tc.h,
    tcprobe.c}
  Probing support for bktr and sunau devices as found on some
  BSD systems.
  !! NOTE !! this commit breaks DVD player probing on probably every
  SYS_BSD system.  This includes OSX, FreeBSD, BSDi, etc.  This will
  be fixed soon, but if you have a problem, please contact me.  I
  probably only need the character major ID for DVD device, and of
  course what system that is on. (uname -a; ls -l /dev/<dvd>).

2004-12-15 Jacob Meuser <jakemsr at jakemsr dot com>
  * libac3/bitstream.c
  don't cast an lvalue

2004-12-15 Jacob Meuser <jakemsr at jakemsr dot com>
  * Makefile.am */Makefile.am */*/Makefile.am
  Use PTHREAD_CFLAGS everywhere.  Tested for quite some time on
  OpenBSD and a bit on FreeBSD.  Hopefully this will fix some of the
  remaining thread issues.  PLEASE let me know if this causes problems
  somewhere!

2004-12-15 Jacob Meuser <jakemsr at jakemsr dot com>
  * configure.in
  Define PTHREAD_CFLAGS.
  Allow user to override both PTHREAD_CFLAGS and PTHREAD_LIBS by having
  them set in the environment.

2004-12-15 Jacob Meuser <jakemsr at jakemsr dot com>
  * acinclude.m4
  Check for bktr headers id dev/bktr/ before machine/, since that is
  the preferred location on newer FreeBSD releases.

2004-12-12 Vadim Druzhin <vadim at bochvar dot ru>
  * filter/filter_unsharp.c
  filter_ensharp has a bug in aligned buffer allocation/deallocation.
  When processing TC_FILTER_CLOSE, it tries to free buffers, using
  aligned pointers, which can differ from those returned by malloc().
  Fixed with this commit.

2004-12-12 Julien Tierny <julien.tierny at wanadoo dot fr>
  * filter/filter_ascii.c
  Fix segfault observed in multi-threaded mode (mistake in 'slot' 
  manipulation).

2004-12-04 Jacob Meuser <jakemsr at jakemsr dot com>
  * src/audio_trans.c
  Fix audio conversion from 8 to 16 bit.  16 is twice 8, not half.
  Problem reported by Andrew Schulman on transcode-users.

2004-11-30 Alexander Graf <alex at csgraf dot de>
  * filter/filter_text.c
  If no 'string' is specified, this filter renders the date into the
  video.  Previously, it only displayed the date at the time encoding
  started.  Change to display the date as it changes.

2004-11-28 Massimiliano Giorgi <massy at gandalf dot sssup dot it>
  * import/dvd_reader.c
  Allow for chapters that are comprised of more than a single cell.

2004-11-26 Martin Kuball <MartinKuball at web dot de>
  * src/transcode.c
  Added definitions for a xvcd profile and a secam video template.
  The comandline parser is changed to recognize the new profiles. The 
  secam template is mapped to the pal template.
  The help text is changed to include the new profiles.
  The comandline parser compares the profile names to the predefined 
  values using strncasecmp. But it does not always use all characters 
  of the predefined values. This has changed.
  * src/transcode.h
  Added the XVCD profile type to the mpeg_profile_t enum type
  * doc/transcode.1
  Added the xvcd profile and the secam video template to the 
  description of the --export_prof option
  * export_ffmpeg.c
  Added code to handle the xvcd profile. This is basically the svcd 
  but allows for higher bitrates. The default is 5000 Kbps but it can
  be set to 9000 if desired.
  Removed the secam support because due to the changes in transcode.c 
  it is now obsolete. It was never possible to use it anyway.
  In the audio section, simplify the test for the requested profile. 
  As the video template is irrelevant, it suffices to compare the base 
  part of the profile.
  * export_mpeg.c
  For completeness, added xvcd to the deprecated warning message.
  * export_mp2enc.c
  To avoid unnecessary resampling the xvcd profile allows for
  arbitrary  sampling rates. Because mp2enc supports only 44100
  and 48000 Hz, allow these and change the rate to 44100 if the
  source has  something else.

2004-11-26 Jacob Meuser <jakemsr at jakemsr dot com>
  * import/import_yuv.c
  clean this up a bit.

2004-11-23 Jacob Meuser <jakemsr at jakemsr dot com>
  * src/Makefile.am src/dl_loader.c src/dl_loader.h
    src/frame_threads.h src/video_trans.c src/video_trans.h 
  defining variables in shared include files is bad practice.
  move definition to source files and leave an extern
  declaration where needed.

2004-11-21 Jacob Meuser <jakemsr at jakemsr dot com>
  * filter/subtitler/*
  defining variables in a shared header is bad ju-ju.
  cleanup and decruft.  should build on OS X now.

2004-11-21 Jacob Meuser <jakemsr at jakemsr dot com>
  * acinclude.m4 configure.in
  don't do AC_LANG_PUSH/AC_LANG_POP in TC_PATH_PKG
  add test for libiconv, which filter/subtitler needs
  note: the test for libiconv causes warnings during
  autoreconf.  see the cvs log for details.  the
  warnings should be harmless.

2004-11-21 Jacob Meuser <jakemsr at jakemsr dot com>
  * import/af6 import/net import/yuv
  Move contents of small subdirectories directly into the import/
  directory.

2004-11-19 Jacob Meuser <jakemsr at jakemsr dot com>
  * */Makefile.am
  Use variables defined by configure instead of substitutions

2004-11-17 Andrew Church <achurch at achurch dot org>
  * import/tcprobe.c
  Allow the use of raw DVD images (*.iso) with tcprobe; this allows
  e.g. dvd9to5 to be used on disc images rather than having to
  have the DVD in the drive when dvd9to5 is run.  tcprobe will attempt
  to open regular files as DVD images when the -T option is given (if
  this fails the files will be treated normally).

2004-11-17 Julien Tierny <julien.tierny at wanadoo dot fr>
  * filter/filter_ascii.c:
    filter_ascii.so renders video samples into colored ascii-art.
    It requires the `aart` package as runtime dependency only (available at
	http://aart.sourceforge.net/).
    RGB-YUV conversion features of /export/vid_aux.c are required (please
	consider it in the compilation process).
    Source code clean-up for integration. 0.6.13 integration tests. `sprintf`
	and `strcpy` moved to `snprintf` and `strncpy`. `fprintf` moved to
	`tc_warn`, `tc_error`, or `tc_info`.
    `libcaca` team has been contacted for a feature-add. Therefore,
	filter_ascii.so should be ported to libcaca pretty soon.
	
2004-11-17 Julien Tierny <julien.tierny at wanadoo dot fr>
  * filter/filter_facemask.c:
    filter_facemask.so masks people faces in video interviews, in a static way
	for the moment.
    RGB-YUV conversion features of /export/vid_aux.c are required (please
    consider it in the compilation process).
    Source code clean-up for integration. 0.6.13 integration tests. `fprintf`
	moved to `tc_warn`, `tc_error` or `tc_info`

2004-11-15
  trancode-0.6.14 release
  trancode-0.6.14 is a bug-fix release addressing identified
    issues in the 0.6.13 release
  fixed in this release:
    * remove erroneous include from filter_pp, allow
      filter_pp to build optimized code with gcc-2.95.
    * allow extraction of DTS audio from DVD. (Stefan Becker)
    * allow extraction of WAV files larger than 2GB. (Andrew Church)
    * use the proper name for dlopen()ing libxvidcore on OSX.
    * correct import_v4l2 documentation to describe the current
      parameters. (Erik Slagter)
    * use a valid default frame rate in export_ffmpeg. (Erik Slagter)
    * fix arguments for libdvdread in INSTALL.
    * improve wording of message for mismatched color space.
    * improve wording of message for listing codecs supported
      by export_ffmpeg.
    * improve wording of message for failure to load a codec
      in export_ffmpeg. (Erik Slagter)
    * LVE's lr_init() now (040322) takes two arguments.  update the
      transcode sources to reflect this, and make sure the user has
      the proper version.  other LVE build issues corrected.
    * overhaul PVM3 autoconf magic, include paths and BSD support.
    * tc_memcpy uses nasm code for acceleration.  emit a(nother)
      warning at configure time and do not allow the accelerated code
      to be called if nasm is not found at configure time.
    * make tcmplex clean up second audio file. (Andrew Church)
    * fix argument switch-up in export_lame.
    * don't try to use a random file in import_mplayer, since mplayer
      always writes to './stream.yuv'. (Erik Slagter)
    * fix segfault in tcdecode caused by missing cast in
      libac3/bitstream.c. (Robin Hill)

2004-10-28
  transcode-0.6.13 release

2004-10-19 Peter Chiocchetti <pch14 at myzel dot net>
  * export/export_mpeg2enc:
  attached promised patch, to omit setting mpeg2enc -b flag when
  export_profile is set to dvd and no video bitrate was given on
  the commandline. thus, the defaults of mpeg2enc are used.
  beware: this does not check, if explicitly set values are
  within the spec - export profiles in my view mostly are a
  convenience, if you override, you are on your own - mpeg2enc
  will complain though...

2004-10-06 Jacob Meuser <jakemsr at jakemsr dot com>
  * *:
  Instead of adding 'ffmpeg' to the search path for libavcodec
  headers in the configure script, include it in the sources
  (#include <ffmpeg/avcodec.h>).  This only changes the way
  CFLAGS works wrt libavcodec headers in configure.  We don't
  (at least not properly, anyway) support libavcodec headers
  not being in an 'ffmpeg' subdirectory anyway.  This is
  useful, because if all the packages a transcode build depends
  on are in the same place, like /usr/local, adding
  -I/usr/local/include to CPPFLAGS before running configure
  will allow the build process to find all the packages, without
  having to pass lots of --with-$$$-includes flags to configure.

  the v4l test in configure.in was missing a substitution call
  for when it succeeded.  this doesn't matter, since the code
  that was missed is not used, but it should be there nonetheless.

  two new import modules: import_bktr & import_sunau.  import_bktr
  if for grabbing video from hardware supported by the bktr
  driver on *BSD (sorta like bttv for Linux).  import_sunau
  is for grabbing audio samples from audio hardware on NetBSD and
  OpenBSD whose audio system is somewhat similar to Sun's (at one time
  anyway).

  since filter/pp needs -fomit-frame-pointer when compiled with gcc,
  add a makefile conditional to configure to know if we need it,
  and add -fomit-frame-pointer to the pp CFLAGS if needed.

  remove all relative paths from include statements.  these all
  went back to $(top_srcdir). 

  use "" instead of <> in include statements, when the file to
  be included comes with transcode.

  fixed up some typos/updated docs/import-API.txt

  remove duplicate include statements from the filters ...
  too much cut 'n paste, tsk, tsk.

2004-10-06 Peter Chiocchetti <pch14 at myzel dot net>
  * export/export_dv.c docs/man/transcode.1:
  when de-interlacing, esp. when capturing movies off pal -
  which are likely not interlaced at all - you loose quality.
  the bottleneck in dv encoding seems to be some quantisations,
  that I dont understand /) rather found through testing ;)
  from the libdv source:
  *  -static_qno Default is 0 for dynamic quantisation.
  *    Static qno tables can be used for quantisation on 2+ VLC
  *    passes. 
  *    There are only two static qno tables registered right now:
  *      1 : for sharp DV pictures\n
  *      2 : for somewhat noisy satelite television signal
  change line 265 in export/export_dvraw.c to read
  encoder->static_qno = 2;
  and libdv will not try to be smart, but try to be fast.
  the result is still superior to deinterlacing...
  attached patch makes this a commandline configurable option:
  its not especially robust (it depends on libdv checking bounds)
  eg.  -y dvraw=2 to get a static_qno of 2

2004-09-29 Peter Chiocchetti <pch14 at myzel dot net>
  * export_mp2enc.c:
  export profile support for mp2enc.
  attached patch now uses the probe_export facility; its not as
  verbose as the ffmpeg one - it only warns, if values actually
  are changed.
  it will not debate the guru's command(line) - not with a single
  word!  if she deliberately requests an out of range parameter,
  she ought to know how to fight ensuing mayhem.

2004-09-28 Stefan Scheffler <stefanscheffler at gmx dot net>
  * filter/resample/(Makefile.am filter_resample.c):
  Removed obsolete code that segfaults every now and then,
  and replaced it by code that calls the resampler from
  ffmpeg.

2004-09-28 Andrew Church <achurch at achurch.org>
  * configure.in:
  Remove default gcc optimisations, breaks all kind of stuff.

2004-09-10 Erik Slagter <erik at oldconomy dot com>
  * INSTALL:
  Some more installation hints [packages are default off,
  optimisation].

2004-09-10 Erik Slagter <erik at oldconomy dot com>
  * src/decode.c:
  Some cleanup, removed some duplicated code, made some error
  messages slightly more informative (... codec not supported ...)

2004-09-05 Jacob Meuser <jakemsr at jakemsr dot com>
  * Makefile.am acinclude.m4 configure.in docs/man/transcode.1 
  * export/Makefile.am export/aud_aux.c export/aud_aux.h
  * import/decode_mp3.c import/mpg123.c import/mpeg123.h 
  * import/scan_pes.c:
  here is a patch to make the local copy of libmp3lame useless.
  well, it's already mostly useless, this makes sure it doesn't
  get used, and thus can be removed.

2004-09-03 Stefan Scheffler <stefanscheffler at gmx dot net>
  * export/export_mjpeg.c:
  - this should fix the yuv mode in export_mjpeg.

2004-09-01 Stefan Scheffler <stefanscheffler at gmx dot net>
  * export/export_ac3.c export_lame.c export_mp1e.c export_mp2.c
  * export_mp2enc.c export_mpeg2enc.c export_ogg.c export_toolame.c
  * import_ffbin.c import_lav.c import_mplayer.c import_nvrec.c
  * tc_functions.c tc_functions.h:
  - check if external program is there before trying to execute it and
  give the user better feedback.
  - if NON_POSIX_PATH is defined the check always returns success. Who knows 
  maybe we'll one day (or do already?) run on a platform where it's 
  necessery. Might be a good idea to add it to config.h, src/Makefile.am 
  or something like that.

2004-08-30 Jacob Meuser <jakemsr at jakemsr dot com>
  * acinclude.m4 configure.in libdvenc/dvenc.h libvo/yuv2rgb_mmx.c:
  - display "no" when ffbin is not enabled
  - use more reliable code for detecting if gcc2 is being used
  - define HAVE_3DNOW when appropriate
  - fix SSE detection test
  - cleaned/reogranized/consistified the mmx/3dnow/sse/
  sse2/altivec tests

2004-08-27 Erik Slagter <erik at oldconomy dot com>
  * acinclude.m4:
  - added -lpthread to libmpeg3 test
  - set have_ffmpeg to "" otherwise configure will skip the
    test completely
  - little cosmetic output change

2004-08-26 Erik Slagter <erik at oldconomy dot com>
  * INSTALL:
  Cleaned up.

2004-08-26 Jacob Meuser <jakemsr at jakemsr dot com>
  * acinclude.m4 configure.in export/aud_aux.c filter/Makefile.am
  * src/Makefile.am INSTALL:
  OK, here is the configure "cleanup".
  Major changes:
  - exit with error if support for requested package is not found
  - very few optional packages enabled by default
  - organized macros in acinclude to same order as called from configure.in
  - tried to introduce some consistency, mostly cosmetic (indentation),
  - some functional (use AC_CHECK_HEADER instead of AC_CHECK_FILE
    to test for headers that are actually going to be compiled)
  - changed macro names to make sure the version from acinclude.m4 is
    used instead of possibly using macros from local aclocal library
  - use pkg-config or <package>-config scripts where possible
  - export/aud_aux.c: preset only used with lame >= 3.92
  - filter/Makefile.am don't build filter_tomsmocomp if using gcc2
  - src/Makefile.am transcode needs to link with the pthreads library
    ($pthread_lib was previously erroneously added to $LIBS)

2004-08-26 Erik Slagter <erik at oldconomy dot com>
  * aclib/tcmemcpy.c:
  Engaged memcpy_mmx for tc_memcpy now it works.

2004-08-26 Andrew Church <achurch at achurch.org>
  * aclib/memcpy.s:
  Fixed mmx memcpy by copying the amdmmx memcpy and get rid of
  the mmxext instructions.

2004-08-26 Stefan Scheffler <stefanscheffler at gmx dot net>
  * src/probe.c:
  Yuv4mpeg detection is wrong, tc wants to decode y4m streams as "raw"

2004-08-26 Jens Georg <mail at jensgeorg dot de>
  * import/import_ffmpeg.c:
  Use correct stride size for PIX_FMT_YUV422P

2004-08-25 Stefan Scheffler <stefanscheffler at gmx dot net>
  * export/Makefile.am import/import_mov.c:
  - swap u/v planes in import_mov
  - workaround another name clash. This time between opendivx and libvo. *sigh*

2004-08-25 Erik Slagter <erik at oldconomy dot com>
  * import/mplayer.c:
  Fixed U/V swapped colours when using YUV.

2004-08-25 Erik Slagter <erik at oldconomy dot com>
  * import/v4l/import_v4l2.c:
  The saa7134 driver appears to not handle RGB24 correctly.
  Removed the RGB24 capturing format and made the module
  use BGR24 + conversion to RGB24.

2004-08-22 Erik Slagter <erik at oldconomy dot com>
  * src/transcode.c:
  Made YUV420/YV12 internal handling default, added warning to
  "depricated" -V option, added -1 / --use_rgb options to revert to
  "old" RGB internal handling.

2004-08-21 Erik Slagter <erik at oldconomy dot com>
  * libvo/video_out_ppm.c:
  Fixed RGB swapped/flipped images when reading
  from MPEG1/2 by changing the order the lines are written,
  and specifying RGB instead of BGR output. This doesn't
  break PPM because PPM isn't supposed to be written upside
  down and swapped anyway!

2004-08-21 Erik Slagter <erik at oldconomy dot com>
  * libmpeg2/decode.c libvo/video_out.c:
  Corrected prototype of memalign. Prototypes of libc
  functions should __never__ be in a C program (and it
  has been like this for ages, no excuse).
  Added missing prototype for vo_setup.

2004-08-21 Erik Slagter <erik at oldconomy dot com>
  * configure.in:
  Moved ffmpeg libs test before --enable-warning option
  because test for sin in libm generates a warning -> wham.

2004-08-21 Erik Slagter <erik at oldconomy dot com>
  * filter/tomsmocomp/tomsmocompfilter.h:
  Supplied a bunch of quasi-static variables with
  attribute_used to prevent warnings
  in *&&$*#*$()(%$ included C code.

2004-08-18 Erik Slagter <erik at oldconomy dot com>
  * export/export_ac3.c:
  Fixed zero length output file which is caused by lacking
  sample rate parameter. Added error when it's missing.
  Also add warning to use -N 0x2000 instead.

2004-08-17 Erik Slagter <erik at oldconomy dot com>
  * acinclude.m4 configure.in:
  Added --enable-ffmpeg-libs-static to configure to have
  transcode + module statically linked to libavcodec.
  This may help solving strange errors, but beware,
  the modules will become huge.

2004-08-16 Bryan Mayland <bmayland at leoninedev dot com>
  * aclib/ac.h:
  - added support for 3dnowext, sse3
  - cleaned up cpu test

2004-08-16 Erik Slagter <erik at oldconomy dot com>
  * acinclude.m4 configure.h:
  - reversed --with-ffmpeg-libs-* behaviour, to be used with 
    prefix of installed package (e.g. /usr /usr/local etc.)
  - typo fix
  - added warning to discourage attribute_used and always_inline

2004-08-16 Jacob Meuser <jakemsr at jakemsr dot com>
  * acinclude.m4:
  - libdv check cleanup
  - pkgconfig added
  - removed "(-devel)" remark from packages, it's too linux
    specific
  - added warning for not found libmpeg3

2004-08-16 Jacob Meuser <jakemsr at jakemsr dot com>
  * export/af6_aux.cpp export_export_mov.c fieldanalysis.c
  * filter/filter_modfps libdvenc/enc_audio_input.c
  * src/info_server.c:
  - cleanup
  - comment typo
  - HAVE_STDINT check
  - warnings fixes
  - header_size, frame_size_525_60, frame_size_625_50 only
    to be used when they're not defined by the library
  - bufalloc only to be compiled when HAVE_DV
  - only compile pp_write when NET_STREAM

2004-08-15 Jacob Meuser <jakemsr at jakemsr dot com>
  * filter/tomsmocomp/(tomsmocompfilter.h/tomsmocompfilter_3dnow.c/tomsmocompfilter_mmx.c
  * tomsmocompfilter_sse.c:
  This filter doesn't come close to bulding for me.  I don't think asm
  templates work with gcc-2.*, see filter/pp/mangle.h

2004-08-14 Matthias Hopf <Matthias.Hopf at informatik dot uni-stuttgart dot de>
  * filter/Makefile.am filter/tomsmocomp/filter_tomsmocomp.c
  * filter/filter_fieldanalysis.c:
  I have another patch for you that adds a filter for detecting the field
  type of potentially interlaced video. Some of its parameters may need a
  little tweaking, and of course it cannot determine the field type on
  static scenes. It also is not extremely fast, but it is fast enough for
  me :-P .
  
  There has been the filter 32detect (which is an odd name as it only
  detects interlaced video as well), but my analysis filter knows of
  more different field types and seems to have more stable algorithms.
  It also detects field shifted progressive video, though it currently
  identifies too many frames as shifted-progressive for truly interlaced video.

2004-08-14 Erik Slagter <erik at oldconomy dot com>
  * acinclude.m4 import/Makefile.am export/Makefile.am:
  libavcodec needs -lz -lm
  - added test for availability
  - added these to FFMPEG_LIBS_LIBS

2004-08-14 Stefan Scheffler <stefanscheffler at gmx dot net>
  * export/export.mov.c:
  The promised cleanup. It's quite large but the changes are mostly 
  cosmetical (indentions, line breaks etc. ).
  
  - get rid of a lot of cruft from the qt4l days
  - corrections in the parameter listing
  - corrections in the parameter assignment
  - copyright, name, info fields assignment fixed
  - swap u/v planes in yuv mode. Libquicktime seems to prefer that.
  - and few more minor things that I can't remember

transcode-0.13-pre1 EMS

2004-08-13 Jacob Meuser <jakemsr at jakemsr dot com>
  * **/Makefile.am acinclude.m4:
  use libtool convenience libraries and coerce libtool into using nasm
    objects in aclib and bbmpeg
  define automake macros for some libs and cflags, @BBMPEG_LIBS@ instead
    of -L../bbmpeg -lbbmpeg
  use actual lib instead of -L -l constructs in those and other macros
    for libs that come with transcode, keeps libtool from adding a
    bunch of search directories
  add some format consistency to the Makefile.ams
  turn on -Wall always in configure, get rid of it in the Makefile.ams
  some better optimization detection for *BSD
  don't clobber CFLAGS that may have been set by the user at configure
    time
  the libavcodec-0.4.9pre1 I have (from Jul 27) claims to be build 4718,
    not 4719, I patched acinclude.m4 to let it build
  changed 'exit -1' to 'exit 1' in the libavcodec test (shouldn't really
    be using perl there, sed should be able to do what you want)
  changed perl construct from EMS to sed construct
  added $pthread_lib to FMPEG_LIB_LIBS
  get rid of hardcoded -ldl and change -lpthread to $pthread_lib in
  a lot of cosmetic changes

2004-08-13 Erik Slagter <erik at oldconomy dot com>
  * tools/tcmodinfo.c:
  Oops, forgot this one when implementing tc_memcpy

2004-08-13 Erik Slagter <erik at oldconomy dot com>
  * **/*.c:
  Fixed loads and loads of warnings. Shame on you! ;-)

2004-08-13 Jens Georg <mail at jensgeorg dot de>
  * flter/preview/display.h:
  I had to add use the attached patch to make filter_pv compile

2004-08-12 Bryan Mayland <bmayland at leoninedev dot com>
  * acinclude.m4:
  I don't have my ffmpeg *installed* anywhere on my machine, but I do have 
  it built in another directory.  Passing
  --with-ffmpeg-libs-includes=../ffmpeg/libavcodec
  does not work because it expects the include to be inside there under 
  ffmpeg/include (which it isn't it's right there).  I would imagine that 
  if you pass the path to the ffmpeg includes, you don't want anything 
  appended to it; you're passing the whole path already.  The acinclude.m4 
  should not do this.  Same thing with --with-ffmpeg-libs-libs
  
  Also, the configure check does a AC_CHECK_HEADER, which is supposed to 
  be used to find a standard system header on the include path.  Passing 
  ../ffmpeg/libavcodec makes a checkconfig.c lke
  #include <../ffmpeg/libavcoded/avcodec.h>
  which of course only works if . is already on the include path.  Since 
  avcodec.h is not a standard header, I would suggest not using 
  AC_CHECK_HEADER to find it.  Since the configure script is only really 
  looking for the file so it can parse out the version, I'd suggesst 
  changing this to AC_CHECK_FILE. 
  
  Finally, libavcodec.a requires linking of libm (for sin and cos used by 
  ac3/resample2/mpegaudiodec/etc) and libz (for lcl).  That means that 
  they should be added to the FFMPEG_LIBS_LIBS, right?
  
  I've attached a patch that fixes these 3 things.

2004-08-12 Erik Slagter <erik at oldconomy dot com>
  * autotools/*:
  Using autoreconf, the autotools is no longer necessary,
  removed from cvs.

2004-08-12 Stefan Scheffler <stefanscheffler at gmx dot net>
  * import/Makefile.am:
  Fixes to make automake more happy and allow to use
  autoreconf

2004-08-12 Mikhail Ramendik <mr at ramendik dot ru>
  * import/Makefile.in import/import_ffbin2.c:
  Removed ffbin2 support on request.

2004-08-12 Stefan Scheffler <stefanscheffler at gmx dot net>
  * import/Makefile.am:
  The ffbin auto* patch wasn't applied completely ... here's the rest ...
  that should get rid of these warnings.

2004-08-11 Erik Slagter <erik at oldconomy dot com>
  * **/Makefile.in aclocal.m4 config.h.in:
  Removed all autogenerated files from cvs, they do not belong
  there. Autotools directory left in cvs for the moment.

2004-08-11 Stefan Scheffler <stefanscheffler at gmx dot net>
  * acinclude.m4 configure.in:
  - remove openquicktime stuff from the auto* files for now
  It just confuses everyone.
  I actually have half working versions of the im/export_modules on the 
  harddrive, lying next to the computer, lying in pieces on my floor. :P
  Don't know if it's actually worth to finish them. Openquicktime seems 
  to, sadly, be a quite dead project.

2004-08-11 Tuomas Jormola / Christian Marillat <marillat at free dot fr>
  * filter/subtitler/frame_list.c:
  I've received this patch from Tuomas Jormola to fix a build problem with
  gcc 3.4 This patch change nothing when transcode is compiled with
  gcc 3.3 (removed prototype for malloc(), EMS)

2004-08-10 Erik Slagter <erik at oldconomy dot com>
  * **/*.c:
  Walked through all modules' and tools' sources and
    replaced memcpy by tc_memcpy
  Added tc_memcpy_init to these main() functions
  Added tc_memcpy and tc_memcpy_init to aclib/tcmemcpy.c / aclib.h
    -> libac.a
  Added -lac to all relevant executables

2004-08-09 Erik Slagter <erik at oldconomy dot com>
  * **/*:
  Created branch for 0.6.13 release on erik.slagter.name
  (andromeda)

2004-08-09 Stefan Scheffler <stefanscheffler at gmx dot net>
  * import/import_mov.c import/probe_mov.c:
  Various bugfixes.

2004-08-08 Simone Karin Lehmann <simone at lisanet dot de>
  * export/export_ffmpeg.c export/export_mp2.c export/Makefile.am
  * docs/export_mp2.txt:
  Changes to ffmpeg export and added mp2 (module) export to be
    able to speed up / slow down movies from "pal" <-> "ntsc" frame
    rates. See doc/export_mp2.txt
  "Usage somewhere in the config file ffmpeg.cfg:
  fps_code = value
  value has the same range and meaning as transcodes frame rate code (-f 0,N)
  value means
  0use transcodes fps settings, this is the default
  1	23.976 fps
  2	24
  3	25
  4	29.970
  5	30
  6	50
  7	59.940
  8	60
  If this option is set, all transcode frame rate settings (-f, --export_fps or 
  autoprobed values) are ignored. The encoder frame rate is set to the 
  corresponding value shown above. This i useful, if you want to "convert" from 
  PAL to NTSC or vice versa by speeding up or slowing down the video. No frame 
  will be dropped or added, only the frame rate entries in the headers are set 
  to the new value.
  To "convert" from 23.976 fps to 25 fps put 
  fps_code = 2 
  or from 25 to 23.976 fps
  fps_code = 1

2004-08-08 Erik Slagter <erik at oldconomy dot com>
  * export/export_ffmpeg.c:
  Fixed output asr when no asr was given, it used to pass
    something weird to libavcodec, it now requests libavcodec
    to do no asr conversion at all (par/sar == 1/1) if none
    is explictely given
  Fixed (yet again) the threads parameter issue. The threads
     parameter should never be zero, because libavcodec chokes
     on it. Now threads = 1 when no multithreading is selected.

2004-08-08 Kevin Price <KevinP at web dot de>
  * import/decode_dv.c:
  Make dv compilable again with new dv libs

2004-08-08 Erik Slagter <erik at oldconomy dot com>
  * import/v4l/v4l2.c:
  Adapted the tc_memcpy pointer thing.

2004-08-08 Erik Slagter <erik at oldconomy dot com>
  * src/transcode.h src/transcode.c:
  Added pointer tc_memcpy which is pointed to the best memcpy by
  transcode and can be used by any code.

2004-08-08 Bryan Mayland <bmayland at leoninedev dot com>
  * aclib/memcpy.s:
  Contributed very optimised memcpy routine from AMD. It's
  compatible with every cpu that has mmxext or sse, doesn't
  need alignment and beats any other. It's called memcpy_amdmmx

2004-08-05 Stefan Scheffler <stefanscheffler at gmx dot net>
  * export/export_mov.c:
  Various bug fixes.

2004-08-08 Erik Slagter <erik at oldconomy dot com>
  * {import/export}/Makefile.am {import/export}/*.c configure.in
  * acinclude.m4:
  Link all relevant modules to libavcodec directly instead of linking
  only transcode to libavcodec. Now we're using shared libraries
  the size argument is no longer valid, we can get rid of some
  kludges and any module can use it's own libavcodec if it needs to.
  Please note, maybe I did not identify all modules that use
  libavodec. Please report undefined symbols.

2004-08-08 Erik Slagter <erik at oldconomy dot com>
  * {import/export}/Makefile.am {import/export}/*.c configure.in
  * acinclude.m4:
  Removed ffmpeg/libavcodec from the source, download ffmpeg from cvs,
  install it in a proper place (libavodec header files and .so files).
  Transcode needs at least build 4719 (that's the cvs version from
  2004-08-08, aka 0.4.9-pre1)
  You cannot compile transcode without ffmpeg/libavodec because it's
  used everywhere.

2004-08-05 Stefan Scheffler <stefanscheffler at gmx dot net>
  * configure.in export/export_yuv4mpeg.c:
  To be able to use newer mjpegtools-devel includes,
  you must #define USE_NEW_CVS_CODE. This patch takes
  care that it is set by ./configure.
  Export_yuv4mpeg should be compilable again now.

2004-08-05 Erik Slagter <erik at oldconomy dot com>
  * export/export_mpeg.c:
  Added big fat warning about obsoleteness etc.

2004-08-04 Bryan Mayland <bmayland at leoninedev dot com>
  * aclib/cputest.c:
  Added detection for SSE/SSE2 on AMD processors

2004-08-03 Erik Slagter <erik at oldconomy dot com>
  * import/v4l/import_v4l2.c:
  1.3.0 EMS added cropping capabilities,
  removed saa7134 and bttv specific code, not necessary
  1.3.1 EMS make conversion user-selectable
  1.3.2 EMS removed a/v sync mutex, doesn't work as expected
  EMS added explicit colour format / frame rate selection
  EMS deleted non-functional experimental alternating fields code
  EMS added experimental code to make saa7134 survive sync glitches

2004-08-03 Erik Slagter <erik at oldconomy dot com>
  * export/export_ffmpeg.c export/ffmpeg_cfg.c export/ffmpeg_cfg.h:
  Default value for "threads" parameter (0) is not an error
  Default value for "mbd" set to zero, difference in quality is
    minimal while non-zero setting takes a lot of CPU power.
  #ifdefs for older ffmpeg versions removed (not needed with
    supplied ffmpeg version (4719, 0.4.9-pre1)
  Removed ifdef'ed code
  Added some new flags from ffmpeg to ~/.transcode/ffmpeg.cfg file parsing

2004-08-02 Matthias Hopf <Matthias.Hopf at informatik dot uni-stuttgart dot de>
  * configure.in filter/Makefile.am
  * (filter/tomsmocomp/) Makefile.am Readme_TomsMoComp.txt SearchLoop0A.inc
  * SearchLoopBottom.inc SearchLoopEdgeA.inc SearchLoopEdgeA8.inc
  * SearchLoopOddA.inc SearchLoopOddA2.inc SearchLoopOddA6.inc SearchLoopOddAH.inc
  * SearchLoopOddAH2.inc SearchLoopTop.inc SearchLoopVA.inc SearchLoopVAH.inc
  * StrangeBob.inc TomsMoCompAll.inc TomsMoCompAll2.inc WierdBob.inc
  * dscaler_interface.h filter_tomsmocomp.c filter_tomsmocomp.h tomsmocompfilter.h
  * tomsmocompfilter_3dnow.c tomsmocompfilter_mmx.c tomsmocompfilter_sse.c
  * tomsmocompmacros.h transcoders.c transcoders.h:
  TomsMoComp.dll is a filter (for Avisynth and DScaler 4.0) that uses motion compensation
  and adaptive processing to deinterlace video source. It uses a variable amount of CPU 
  time based upon the user specified SearchEffort parameter.  The SearchEffort may currently be
  set anywhere from 0 (a smarter Bob) to about 30 (too CPU intensive for everybody). Only certain
  values are actually implemented (currently 0,1,3,5,9,11,13,15,19,21,max) but the nearest value
  will be used.  Values above 15 have not been well tested and should probably be avoided for now.
  TomsMoComp should run on all MMX machines or higher. It has also has some added code 
  for 3DNOW instructions for when it is running on a K6-II or higher and some SSEMMX 
  for P3 & Athlon.

2004-08-02 Jonathan Lennox <lennox at cs dot columbia dot edu>
  * export/export_mpeg2enc.c:
  segfault fix for export_mpeg2enc.c

2004-08-02 John Wehle <john at feith dot com>
  * import/extract_ac3.c import/extract_mp3.c:
  Currently transcode uses the wrong file pointer when
  extracting ac3 / mp3 streams.  This can result in the
  output being truncated since (the pes_ac3_loop / ps_loop
  caller calls fclose for out_file which closes the underlying
  file descriptor before stdout is flushed causing the flush
  to fail and the stream to be truncated).

2004-08-02 John Wehle <john at feith dot com>
  * import/extract_pcm.c:
  Currently transcode doesn't correctly extract 24 bit
  DVD / MPEG LPCM streams.
  Note: This patch doesn't address the avlib problem with
  AVI_write_wave_pcm_data which is busted on big endian
  machines with regards to 24 bit PCM streams and needs
  to be fixed.

2004-08-02 John Wehle <john at feith dot com>
  * import/scan_pes.c import/dvd_reader.c:
  Currently transcode assumes 48 Khz, 16 bits, 2 channels when
  probing DVD / MPEG LPCM streams which (needless to say) causes
  problems when dealing with a LPCM stream that happens to have
  different characteristics.

2004-08-02 John Wehle <john at feith dot com>
  * src/decoder.c src/frame_threads.c
  This patch is for several thread related issues:
  1) aimport and vimport should be volatile.
  2) import_threads_cancel currently acquires a lock
     and then calls fprintf creating a cancellation
     point that can result in the lock being stranded.
     Also calling pthread_mutex_unlock if pthread_mutex_trylock
     failed results in undefined behavior.
  3) aimport_thread, vimport_thread, process_aframe, and
     process_vframe, currently acquire a lock and then
     call pthread_cond_wait (and other functions which
     call fprintf) creating cancellation points that can
     result in the lock being stranded.
  4) aimport_status checks aimport while import_a_lock
     is locked in order to see if import is still active.
     If it is, then aimport is returned.  The problem is
     import_a_lock is unlocked prior to returning aimport.
     This can result in aimport changing to zero after it's
     been tested causing aimport_status to return zero without
     checking to see if the frame list is empty leading
     transcode to believe that import has completed when
     in fact it's still in process.
     This problem also exists with vimport_status.
  Note: There are other placing in transcode where calls to
  fprintf create cancellation points that can result in locks
  being stranded which are not addressed by this patch.  It
  would probably be useful to create a debug_msg function which
  calls pthread_setcancelstate to set PTHREAD_CANCEL_DISABLE
  prior to calling vfprintf and then calls pthread_setcancelstate
  afterwards to restore the previous state.  This will help
  prevent cancellation points from being accidentally created.

2004-08-02 John Wehle <john at feith dot com>
  * src/transcode.c:
  Currently:
  transcode -i /dev/acd1 -x null,dvd --a52_dolby_off \
    -T ${TITLE},-1 -a ${ATRACK} -U "$file" \
    -y null,wav --ext .wav,.wav -N 0x1
  doesn't write a separate audio file for each DVD chapter since
  vob->audio_out_file is never updated.
  This patch solves the problem by updating vob->audio_out_file
  at the same time as vob->video_out_file.

2004-08-02 John Wehle <john at feith dot com>
  * src/audio_buffer.c:
  The audio and video bufalloc functions currently compute
  the alignment adjustment incorrectly causing a buffer
  overflow anytime malloc returns an address with the
  MSB set.  For example if malloc returns 0x80000004
  on a 32 bit machine and getpagesize () returns 16 then
  buffer_align - ((long) buf) % buffer_align equals 28
  which is clearly not the desired result.
  This patch solves the problem by simply using unsigned
  longs to compute the proper alignment.

2004-08-01 Jacob Meuser <jakemsr at jakemsr dot com>
  * configure.in aclib/cputest.c avilib/avilib.c bbmpeg/main.h
  * bbmpeg/resize.c export/export_divx4.c export/export_divx4raw.c
  * export/export_divx5.c export/export_divx5raw.c export/export_xvid2.c
  * export/export_xvid3.c export/export_xvid4.c ffmpeg/libavcodec/mem.c
  * filter/filter_29to23.c filter/filter_32drop.c filter/filter_astat.c
  * filter/filter_detectsilence.c filter/filter_modfps.c
  * filter/filter_null.c filter/filter_skip.c filter/filter_slowmo.c
  * filter/filter_tc_video.c filter/filter_text.c
  * filter/filter_unsharp.c filter/filter_yuy2toyv12.c filter/pp/postprocess.c 
  * filter/preview/display.c filter/preview/filter_pv.c filter/preview/pv.c
  * filter/resample/st.h subtitler/subtitler.h
  * filter/yuvdenoise/mjpeg_types.h import/decode_a52.c import/decode_af6.c
  * import/decode_xvid.c import/extract_ac3.c import/extract_mxf.c
  * import/extract_ogm.c import/import_avi.c import/import_divx.c
  * import/import_fraps.c import/import_lzo.c import/import_xvid.c
  * import/ioaux.c import/iodump.c import/nuv/rtjpeg_aud_plugin.c 
  * import/nuv/rtjpeg_vid_plugin.c import/nuv/st.h libac3/bitstream.c
  * src/dl_loader.c src/filter.c src/iodir.c src/zoom.c tools/Makefile.am
  * tools/avifix.c tools/aviindex.c tools/avimerge.c
  * tools/tcmodinfo.c export_yuv4meg.c:
  ** configure.in:
  - not all systems have lrint, so check if it exists, and work around
  it if it doesn't.
  - define SYS_BSD on systems in the BSD family instead of testing for
  multiple specific BSD derivitives thereby leaving several out when
  they should be there).
  - OpenBSD uses the same compiler flags for thread support as FreeBSD.
  - it makes no sense to set a variable and then use AC_CACHE_CHECK()
  to test if it should be set, because AC_CACHE_CHECK() will simply
  ignore it since it's already set.
  ** the rest:
  - some files were testing autoconf defines, like HAVE_STDLIB_H, or
  included other files that used config.h, but either never included
  config.h, or included it too late.
  - add some headers that are needed by some systems.  wrap them in
  #ifdef HAVE_FOO_H where appropriate.
  - don't directly include malloc.h on BSD systems.
  - several filter modules don't include optstr.h, but almost all use
  functions prototyped there.
  - a few various other missing includes
  - avilib.h should always be included after config.h, since it uses
  defines from there.  transcode.h includes avilib.h, so don't include
  it again.
  - tcmodinfo_LDFLAGS should be the same as transcode_LDFLAGS,
  -export-dynamic, since they do (almost) the same module link/load
  procedures.

2004-08-01 Bryan Mayland <bmayland at leoninedev dot com>
  * filter/(Makefile.am filter_levels.c):
  Overview
  Scales luminosity values in the source image, similar to
  VirtualDub's 'levels' filter.  This is useful to scale ITU-R601
  video (which limits luma to 16-253) back to the full 0-255 range.
  Options
  input:   luma range of input
  gamma:   gamma ramp to apply to input luma
  output:  luma range of output

2004-08-01 Stefan Scheffler <stefanscheffler at gmx dot net>
  * acinclude.m4 configure.in import/Makefile.am:
  I added a simple check for the ffmpeg binary. ffbin is off by default  
  ... enable with --with-ffbin

  you have to run "aclocal && autoheader && automake && autoconf" to 
  rebuild the autoconf stuff

2004-08-01 Mikhail Ramendik <mr at ramendik dot ru>
  * import/(import_ffbin.c import/import_ffbin2.c):
  I wrote a couple of import plugins (using the ffmpeg binary). These
  compile cleanly. But I don't have any skills on automake/autoconf. Could
  you help me make the correct changes to makefile.* ? 

  Here are the source files. "ffbin" decodes video or audio using the
  ffmpeg binary; "ffbin2" decodes video AND audio using just one run of
  the ffmpeg binary, and will only work when used for BOTH video and
  audio.

--------------------------------------------
transcode-0.6.13

2004-07-23 Jacob (Jack) Gryn <jgryn at cs dot yorku dot ca>
  * import/(pvn.c pvn.h import_pvn.c pvnglobals.c pvnglobals.h):
  Updated PVN libraries including support for new PV?b signed integer
  format.
  Update import_pvn.c to allow for PV?b
  Bugfixes in PVN library with respect to PV4 bitmaps
  Add a showpvn viewer in the contrip/pnmpvn directory

2004-07-21 Jacob (Jack) Gryn <jgryn at cs dot yorku dot ca>
  * import/(Makefile.am Makefile.in fileinfo.c magic.h probe_stream.c)
  import/(probe_pvn.c pvn.c pvn.h import_pvn.c pvnglobals.c pvnglobals.h)
  export/(Makefile.am Makefile.in export_pvn.c):
  New import, probe and export plugins for PVN file format
  PVN specifications at http://www.cs.yorku.ca/~jgryn/research/pvnspecs.html

2004-07-12 linux at troy.rollo.name

  * export/export_mpeg2enc.c:
  Transcode patch for SEGV in y4m_snprint_xtags

2004-07-12 Scott F. Johnston <scott at fleetingimage.com>

  * export/export_jpg.c:
  Use user supplied quality value.

2004-06-11 Tilmann Bitterberg <transcode at tibit.org>

  * filter/Makefile.am:
  Move the freetype2 cflags to the start of the includes. This might
  help to sort out troubles some people had with compiling
  filter_text.so. Thanks to Oliver Beck for helping tracking this
  down.

2004-06-09 Amartyo Banerjee <amartyobanerjee at yahoo.com>

  * export/export_yuv4mpeg.c export/export_mpeg2enc.c:
  I had built the mjpeg tools checked out from cvs on April 20, 2004.                    
  I then tried to compile transcode 0.6.12. Compilation failed with                      
  messages about 'struct does not have member ---'  in the files                         
  export/export_yuv4mpeg.c and export/export_mpeg2enc.c.                                 
  After looking at the relevant header files, I replaced statements                      
  directly manipulating certain structure members in y4m_stream_info_t                   
  and y4m_frame_info_t with the wrapper functions that are                               
  supposed to be used instead. Compilation then succeeded.                               
  I have attached 2 patch files in case anyone else has the                              
  same problem.

2004-06-09 Andrew Church <achurch at achurch.org>

  * bbmpeg/tcmplex/multplex.c:
  When given two audio streams, tcmplex stores the secondary one first
  in the file; this confuses at least mplayer (I don't know how hardware
  players would handle it) into using the "secondary" stream as default.
  This patch puts the primary stream first instead.

2004-06-09 Christopher Cramer <crayc at pyro.net>

  * filter/filter_fps.c:
  Last update had broken logic (and a missing int i, but that was fixed
  for me). Now it really works.

2004-06-09 Bryan Mayland <bmayland at leoninedev.com>

  * src/transcode.c:
  Allow negative bitrates to passed in via -w
  This allows somehow to use to use xvids target filesize
  calculation to take place.

2004-06-08 Marcel J.E. Mol <marcel at mesa.nl>

  * import/v4l/video.c:
     - Support the freq key in .xawtv                                                  
     - Fixed indentation for the code part processing .xawtv to
     improve readability
     - Fixed bug in calculating frequency from .xawtv
     channel and fine keys.
     - Station names/channel number are checked for exact match of the
     name/channel in .xawtv instead of the requested one.
     - When a station name/channel is requested but not found, transcode
     will be aborted!

2004-05-05 Tilmann Bitterberg <transcode at tibit.org>
  
  * filter/filter_smartyuv.c:
  Fix cubic=1 interpolation. Pointed out by Mikhail Ramendik.

2004-03-17 Shawn Holwegner <shawn at holwegner.com>

  * avilib/avidump.c:
  Fix missing )

2004-03-17 Brian de Alwis <bsd at cs.ubc.ca>

  * import/probe_vnc.c:
  Full-featured probing support for vnc files. No more guessing
  where width and height might be.

2004-03-13 James MacLean <macleajb at EDnet.NS.CA>

  * src/transcode.c:
  Let users overwrite mpeg2enc parameters

2004-03-13 Tilmann Bitterberg <transcode at tibit.org>
  
  * export/export_yuv4mpeg.c:
  when the internal framerate calculation fails, use our own.
  Pointed out by Jorg Heymans.
  
2004-03-13 Alexander Varakin <avarakin at hotmail.com>

  * filter/preview/filter_pv.c:
  New 'fullscreen' option.

2004-03-11 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avidump.c:
  Add dump features for tcscan of opendml based index chunks

  * avilib/avilib.c:
  Write a buffersize suggestion in the header

2004-03-07 Loic Le Loarer <lll_tr at m4x.org>

  * import/v4l/video.c:
  I have discovered a bug in the fine tune configuration parameter
  in .xawtv file used by import_v4l module. According to the source
  of xawtv and xawdecode, this parameter is in unit of 1/16th of
  MHz, and is added to the frequency computed from the channel
  number. But in the code of transcode, it is use as if it was in
  KHz, which makes it useless.

2004-03-07 Thomas Wehrspann <thomas at wehrspann.de>

  * filter_logoaway.{c,txt}:
  Added a dump option to write the selection to a png file; only in
  RGB mode. The filter is now a PRE filter. Updated documentation.

2004-03-02 Erik Slagter <erik at slagter.name>

  * export/export_ffmpeg.c:
  fix threading support

2004-03-01 Tilmann Bitterberg <transcode at tibit.org>

  * configure.in:
  For newer gccs (>=3.3.2) -fno-unit-at-a-time is needed to not
  remove "unused" variables from the objects. Thanks to Rainer Lay
  and Andreas Jaeger for pointing out.

2004-03-01 Tilmann Bitterberg <transcode at tibit.org>

  * src/zoom.c:
  optimized CLAMP routine

2004-02-29 Tilmann Bitterberg <transcode at tibit.org>

  * import/import_ffmpeg.c:
  Fix DX50 behaviour with b-frames. libavcodec can not be fed with
  frames the way we used to do it. Especially waiting for
  got_picture was wrong. 
  NOTE: decode_lavc.c is still broken (and not that easy to fix
  since we don't know the frame length in a stream)

2004-02-29 Tilmann Bitterberg <transcode at tibit.org>

  * import/tcextract.c import/Makefile.am:
  tcextract -t avi -x raw will now extract the raw video data

2004-02-29 Tilmann Bitterberg <transcode at tibit.org>

  * tools/aviindex.c docs/man/aviindex.1:
  aviindex can now convert mplayer-generated index files to
  transcode index files and the other way round. See the manpage of
  aviindex for usage examples.

  * tools/avimerge.c:
  remove debug printout

2004-02-29 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avidump.c avilib/avilib.c:
  There are avifiles which have the audio stream first and video
  second. So add a few more stream tags.
  Slightly change the way the index file is parsed.

  * avilib/avilib.c:
  Sometimes in odml indices there are completely empty index
  entries. I have not the slightest idea of their purpose so I just
  skip them completely.

2004-02-29 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_fps.c:
  missing int i.

2004-02-24 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_def.h:
  Fix a (really bad) copy and paste error. Pointed out by Stefan
  Scheffler.

2004-02-24 James Flemer <jflemer at uvm.edu>

  * export/export_ac3.c:
  Bourne Shell compatibility

2004-02-24 Erik Slagter <erik at slagter.name>

  * export/{export_ffmpeg.c ffmpeg_cfg.[ch]}:
  Support for using libavcodec threads via the "threads" entry in
  ffmpeg.cfg
  
2004-02-24 Christopher Cramer <crayc at pyro.net>

  * filter/filter_fps.c:
  Add missing string termination in parse_options().
  Add pre and post options to parse_options().

2004-02-20 Tilmann Bitterberg <transcode at tibit.org>

  * libioaux/framecode.[lc]:
  Fix THE rounding error with non-integral framerates. Pointed out
  by Marrq.

2004-02-19 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c:
  Warn about odd clipping parameters in YUV mode

2004-02-16 Tilmann Bitterberg <transcode at tibit.org>

  * import/{import_*.c import_def.h} export/{export_*.c
  export_def.h}:
  FreeBSD amd64 fixes.
  In the import and export modules transcode through a mangling
  include via "import_def.h" resp "export_def.h" declared symbols
  static as well extern. Although in the same file, it is
  appearantly illegal on this architecture and transcode recieved a
  SIGBUS. Now the order is changed, first the static declaration,
  than the inclusion if *_def.h. Thanks a lot to Hendrik Scholz for
  providing a nice (and fast!) testbox.

2004-02-15 Tilmann Bitterberg <transcode at tibit.org>

  * configure.in libxio/xio.h src/callback.c:
  be able to compile completely without libxio since it had some
  weird side-effects

2004-02-14 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_text.c:
  The filter produced incorrect results when the image was flipped
  via -z. Reported by Phil Jones.

2004-02-13 Tilmann Bitterberg <transcode at tibit.org>

  * src/zoom.c:
  Make sure that we really use right as an int. It triggers
  apperantly a compiler bug with gcc-3.3.2. Thanks to James MacLean
  for testing.

2004-02-04 Tilmann Bitterberg <transcode at tibit.org>

  * ffmpeg/libavcodec/i386/* configure.in:
  Check if the compiler can compile SSE2 inline asm.

2004-02-04 Jean-Yves Simon <lethalwp at tiscali.be>

  * import/extract_ac3.c:
  Subtitle stuff. when there's a chapter change, the pts is reset
  to 0. Now directly add the video offset to the subtitle.

2004-02-03 Nicolas Boos <nicolas.boos at wanadoo.fr>

  * configure.in:
  More cleanup. Only compile in libxml into libxio when ibp is
  really there.

2004-02-03 Tilmann Bitterberg <transcode at tibit.org>

  * import/magic.h:
  Add a CODEC define for TC_CODEC_DTS.
  
  * import/tcextract.c:
  CHANGE: The audio track was formerly selected using a hexadecimal
  number. That has now been changed to accept a decimal number. The
  hex track argument was nowhere documented and I myself fall into
  this trap.
  Add an extraction routine for DTS audio (codec -x dts) into
  tcextract.

2004-02-02 Tilmann Bitterberg <transcode at tibit.org>

  * export/{export_ffmpeg.c ffmpeg_cfg.[ch]} ffmpeg/libavcodec/*:
  Upgrade to ffmpeg-cvs 4700

2004-02-02 Tilmann Bitterberg <transcode at tibit.org>
  
  * src/zoom.c src/zoom.h:
  Put some emms() there before using double -- just in case

2004-02-01 Nicolas Boos <nicolas.boos at wanadoo.fr>

  * avilib/Makefile.am bbmpeg/tcmplex/Makefile.am configure.in
  ffmpeg/Makefile.am import/Makefile.am libac3/Makefile.am
  libioaux/Makefile.am libmp3lame/Makefile.am libmpeg2/Makefile.am
  libvo/Makefile.am libxio/Makefile.am tools/Makefile.am
  tools/avisplit.c:
  More autotools cleanup. CFLAGS should now be untouched by
  transcode.

2004-02-01 Jean-Yves Simon <lethalwp at tiscali.be>

  * import/extract_ac3.c:
  NB: extract_ac3 also takes care of subtitle extraction.
  1 total subline can be split into 2 sub 'chunks'. the first one
  will have pts info for timing, the second will be just the end of
  the data + the control codes. When there is a video packet between
  these subchunks we incorrectly used the timestamp of the video
  packet thus leading to a broken sub packet.

2004-01-31 Tilmann Bitterberg <transcode at tibit.org>

  * import/{ac3scan.c ac3scan.h demuxer.h fileinfo.c magic.h
  probe_stream.c scan_pes.c tc.h}:
  DTS detection and probing. No decoding or pass-through supported.

2004-01-31 Tilmann Bitterberg <transcode at tibit.org>

  * src/video_buffer.c:
  Malloc a little more than the calculated max framesize

  * src/transcode.c:
  Another wrong clipping calc error. Pointed out by malaca.
  
2004-01-30 Tilmann Bitterberg <transcode at tibit.org>
  
  * export/{export_xvid4.c xvid4.cfg}:
  Change default options as suggested by chl
  packed=0
  max_bframes=1

2004-01-30 Tilmann Bitterberg <transcode at tibit.org>

  * src/{video_yuv.c video_yuv422.c}:
  Fix the mirror routine (-l). It never worked before?
  Pointed out by Robin Lee Powell.

2004-01-30 Tilmann Bitterberg <transcode at tibit.org>

  * import/dvd_reader.c:
  Use CODEC_MP2 instead of CODEC_MP3 when probing DVDs with an
  "mpeg" audio codec. Pointed out by Marc Bevand.

2004-01-29 Stefan Scheffler <stefanscheffler at gmx.net>

  * configure.in acinclude.m4:
  I fscked up a some comparisons in the libmpeg3 detection and a few
  other things. fixed the case where quicktime requires glib but
  libdv was not found
  put the libdv before the quicktime check

2004-01-28 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avilib.c:
  Don't check for errors you can't handle

2004-01-27 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c:
  Do not use odd clipping values in profile mode. Pointed out by
  malaca.

2004-01-26 Tilmann Bitterberg <transcode at tibit.org>

  * tools/avimerge.c docs/man/avimerge.1:
  Add the feature to drop video frames if there is no audio which
  goes with it. Useful when concatenating multiple AVI files into
  one. Use the new -c option for this.

2004-01-26 Dmitry Kasatkin <dmitry.kasatkin at nokia.com>

  * export/export_toolame.c:
  Let the sox command do not write a WAVE header since it causes a
  click.

2004-01-26 Tilmann Bitterberg <transcode at tibit.org>

   * filter/subtitler/*:
   Upgrade to version 0.8.5

2004-01-26 Tilmann Bitterberg <transcode at tibit.org>

  * tools/Makefile.am tools/aviindex.c:
  add xio lib to aviindex.

2004-01-25 Nicolas Boos <nicolas.boos at wanadoo.fr>

  * configure.in avilib/Makefile.am avilib/avidump.c avilib/avilib.c
  avilib/avimisc.c docs/Makefile.am export/Makefile.am filter/Makefile.am
  import/Makefile.am import/v4l/Makefile.am libac3/Makefile.am
  libmpeg2/Makefile.am libvo/Makefile.am libxio/Makefile.am pvm3/Makefile.am
  src/Makefile.am tools/Makefile.am:
  More makefile cleanup

2004-01-24 Nicolas Boos <nicolas.boos at wanadoo.fr>

  * Makefile.am avilib/Makefile.am configure.in docs/Makefile.am
  libioaux/Makefile.am:
  Cleanup the makefiles and add DV-to-DVD-HOWTO.txt to the
  distribution.

2004-01-24 Lukas Hejtmanek <xhejtman at mail.muni.cz>

  * Makefile.am avilib/Makefile.am avilib/avidump.c avilib/avilib.c
  avilib/avimisc.c config.h.in configure.in docs/ibp_support.txt
  export/Makefile.am export/export_raw.c import/Makefile.am import/fileinfo.c
  import/import_avi.c import/import_dv.c import/import_mp3.c import/ioaux.c
  import/tccat.c import/tcdecode.c import/tcdemux.c import/tcextract.c
  import/tcprobe.c import/tcrequant.c import/tcscan.c libxio/Makefile.am
  libxio/libxio.c libxio/static_xio.h libxio/xio.h src/Makefile.am src/callback.c
  src/decoder.c src/transcode.c tools/Makefile.am:
  IBP support for transcode.
  This is the web page about IBP and related tools
  http://loci.cs.utk.edu/

  For more information look at docs/ibp_support.txt

2004-01-23 Caron Dominique <caron at LPM.univ-montp2.fr>

  * contrib/V2divx.pl:
  Updated script. Can now encode NTSC vob files.

2004-01-23 Stphane Gourichon <gouri at free.fr>

  * export/export_ppm.c:
  Check return of open.

2004-01-23 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avilib.c:
  When splitting large OpenDML AVI files the keyframe bits was
  messed up. Reported by Thomas Heiserowski

2004-01-23 Erik Slagter <erik at slagter.name>

  * docs/faq:
  Start of a FAQ (frequently asked questions)
  Also available in a HTML version at http://transcoding.org/faq.html

2004-01-22 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_ffmpeg.c:
  Do not write to /dev/null.m1v
  Do not open an AVI file when the audio is going a separate file
  anyway.
  If the export frequency is not set, we don't need the resampling
  filter.
  Fix a missing \n.

  * docs/man/transcode.1:
  Add description of profiles with ffmpeg

2004-01-22 Erik Slagter <erik at slagter.name>

  * src/transcode.c:
  export_ffmpeg glue in transcode.c
  - added mpeg profile support for ffmpeg, using "pseudo" codec (e.g.
    dvd instead of mpeg2video)
  - added check for zooming with mpeg profile code; if pre_clip is
    already set by the user, do not overwrite it.
  - hack for 704xXXX dvd encoding.

2004-01-20 Erik Slagter <erik at slagter.name>

  * export/{export_ffmpeg.c ffmpeg_cfg.c ffmpeg_cfg.h}:
  Profile support for ffmpeg. For details see the changelog and the
  manpage.

  Notes: the desired profile is selected by using one of the "extra"
  codecs "vcd", "svcd" or "dvd". This is done automatically when you
  use the --export_profile option. The name may be followed by -pal,
  -secam or -ntsc, to specify some default parameters like frame
  rate, frame size and interlacing type.

  Encoding video and audio to dvd with ffmpeg should need only 
  "-y ffmpeg --export_profile dvd" on the command line.

2004-01-20 Erik Slagter <erik at slagter.name>

  * import/v4l/import_v4l2.c:
  Small fixes and updates.

2004-01-20 Andrew Church <achurch at achurch.org>

  * bbmpeg/mplex.h bbmpeg/tcmplex/{domplex.c inptstrm.c}:
  This patch fixes a cosmetic bug in tcmplex's progress displays
  when reading input files: the file size (off_t, potentially 64
  bits) is passed into a 32-bit variable, causing "byte offset
  1234567890 of -1678432642" or even "byte offset 9876543210 of
  12182564".

2004-01-20 Andrew Church <achurch at achurch.org>

  * bbmpeg/mplex.h bbmpeg/tcmplex/{multplex.c systems.c}:
  tcmplex in transcode 0.6.12 has two bugs in counting syncwords
  for packet headers.  One is a simple logic error (0x0B 0x0B 0x77
  is skipped, causing undercounts), but the other is that the code
  does not check whether a supposed syncword (0x0B 0x77) is
  actually the beginning of a new access unit or audio data inside
  the previous unit--unlike MPEG audio, AC3 allows data equal to
  the syncword inside a packet, and there is no 100% failsafe way
  to determine whether a syncword is real or fake.  (The AC3
  standard, section 6.1.2, notes that a 0x0B 0x77 found in a stream
  has a 2.5% chance of _not_ being a syncword.)  This latter bug
  causes overcounts of access units, resulting in "audio pts moves
  backwards" errors when the multiplexed output is passed to
  dvdauthor.

2004-01-20 Tilmann Bitterberg <transcode at tibit.org>

  * configure.in:
  let the user really disable mmx

2004-01-20 Stefan Scheffler <stefanscheffler at gmx.net>

  * export/export_mov.c:
  - a now really working yuv422 support
  - video pass through support for divx, mjpeg, dv, raw rgb, yv12 and
    yuv422(yuy2) files
  - codec are now case insensitive and aliased to more common names
  - a pretty codec and parameter list feature borrowed from
    export_ffmpeg.c
  - big extended parameter cleanup
  - cleanups and a few more things here and there
  - and most important, incremented version number and added my name :]

2004-01-20 Tilmann Bitterberg <transcode at tibit.org>

  * import/import_ffmpeg.c:
  Fix a segfault at closing time in pass-through mode. Pointed put
  by ltwp.

2004-01-19 ENDOH, Hiromichi <endoo at iwao.net>

  * avilib/avilib.c avilib/avilib.h export/export_ffmpeg.c:
  1.  Both YUV422P frame input and encoder output use the same
    buffer (tmp_buffer). With low compression codec like Huffyuv,
    input frame can be corrupted by encoder output.
  2.  export_ffmpeg should provide extradata to AVI header. This
    might be needed with some codecs (say, Huffyuv with irregular
    huffman table). Not always?
  3.  Cr and Cb plane are swapped in UYVY->YUV42xP conversion; I
    needed -k option to get encoding output with correct color (But
    MJPEG doesn't need -k option. I don't know why...)

2004-01-19 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avilib.c:
  Internal error checks, casts.

  * import/probe_vnc.c:
  Safety checks

2004-01-16 Tilmann Bitterberg <transcode at tibit.org>

  * import/{iodump.c probe_stream.c probe_v4l.c tc.h tcprobe.c}:
  Probing a Video4linux device. Untested as I currently don't have
  any hardware. Tries to detect a v4l2 device first and if that
  fails, goes for v4l1.

  * import/decode_a52.c:
  Rename a function.

2004-01-15 Stefan Scheffler <stefanscheffler at gmx.net>

  * acinclude.m4:
  Fix detection of newer libmpeg3 versions and better check for
  quicktime.

2004-01-15 Gordon Talge <gtalge at pe.net>

  * export/export_af6.cpp:
  Revert to 0.6.11 inclusion of creators.h instead of avm_creators.h

  * export/export_mov.c:
  C89 fix.

2004-01-14 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_mpeg2enc.c:
  Add support for constant quantizer encoding with -R3.
  When enabling -R3 with -y mpeg2enc, -w will be the quantizer. You
  probably have to set --video_max_rate as well, depending on the
  profile. For example: -F 5 -w 2 -R3 --video_max_bitrate 2000

2004-01-14 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c:
  Fix a race condition when reading from a .smil file in connection
  with tcxmlcheck.

2004-01-13 Tilmann Bitterberg <transcode at tibit.org>

  * contrib/subrip/*:
  Removed ancient version and only left a pointer to the current one
  on sf.net. Suggested by Arne Driescher.

2004-01-13 Frederic Briere <fbriere at fbriere.net>

  * import/tcxmlcheck.c:
   Make sure to flush whatever shm there is beforehand so that no
   old shm segment got reused. Also fixed three instances of the
   same warning you were getting with shmctl.

2004-01-10 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c src/probe_export.h:
  Added flags to check if the user set a particular parameter or if
  transcode is allowed to set it.

2004-01-10 Tilmann Bitterberg <transcode at tibit.org>
  
  * configure.in:
  Bump version number.

--------------------------------------------
transcode-0.6.12 Fri Jan  8 23:59:59 CET 2004

  * Terse/less technical ChangeLog:
  Changes:
  o tccat: use '-T 1,-1 -P' instead of '-P 1'.
  o --avi_limit option: Defaults to 0 (disabled) instead of 2GB.

  Fixes:
  o avilib: 64bit issues and other compiler support.
  o v4l: building with linux-2.6 headers.
  o xvid import: check for more library sonames.
  o dvd import: The DVD device may be a char device (osx).
  o im import: segmentation fault at closing time.
  o tcrequant: upstream bugfixes.
  o xvid import: fix library loading on MacOSX.
  o dv import: Do NOT apply a setup when decoding the DV frame. Last
    frame was skipped in NTSC.
  o yuv4mpeg import: read files produced by streamer.
  o -c option: rounding error, only 99 frames of 100 for NTSC.
  o make distcheck: correct inclusion of config.h file.
  o libavcodec: building without mmx.
  o maintaining: included sdl.m4 and glib.m4 in acinclude.m4

  New:
  o avilib: Writing AVI 2.0 (OpenDML) files. 
    xine (with my submitted patch) plays such files nicely.
  o denoise3d filter: very fast denoiser.
  o fraps import: decode AVI files from www.fraps.com.
  o v4l2: reading from a video4linux2 device.
  o control filter: read and executes a control "script"
  o ffmpeg import: DV raw decoding support (-i file.dv -x ffmpeg).  
  o sh import: executes the input file and reads its output.
  o mp1e export: module based on mp1e, a mpeg1 encoder.
  o os: Support for AMDs x86_64 architecture.
  o --export_par option: sets the pixel/sample aspect ratio.
  o script: bash completion for transcode with tccomplete.source.
  o docs: layout fixes so it will look good on www.transcoding.org
  o ffmpeg export: new codecs namely ffv1, asv1 and asv2.
  o --export_prof option: sets mpeg "profiles" so that transcode
    tries can be smart and guess clipping and zooming options.
  o docs: DV to DVD HOWTO including scripts.

  Improved:
  o xvid4 export: synced with xvidcore-beta3. Please upgrade to this
    release and also update your xvid4.cfg. New xvid4conf is available.
  o pp filter: included postprocess code into transcode.
  o im export: use -w to set quality.
  o dvd import: support for non-continuus chapters.
  o avilib: Support for files with multiple RIFF chunks and no index.
  o vnc import: now respects the --dvd_access_delay setting. Pass
    additional paramters down to vncrec by -x vnc="-arg1 -arg2".
  o mjpeg export: compatibility with Apples quicktime player. 
  o probing: improved detection of MP3/MP2 files.
  o libavcodec: Updated included lavc to 4695.
  o aviindex: keyframe detection by analyzing the content of frames.
  o subtitler filter: Update to upstream version 0.8.4
  o pv filter: updated docs and YUV422 support.
  o ivtc filter: new magic and field parameters.
  o mov export: new codecs and colorspaces.
         

2004-01-08 Stefan Scheffler <stefanscheffler at gmx.net>

  * export/export_mov.c:
  encoding in the yv12 and yuy2 colorspaces to most codecs... I'm
  not sure about the yuy2 ...

  Most codecs parameters are mapped to transcode ones, the rest can
  be added with additional -F options

  Most qt4l codecs work fine except DIV3, SVQ1 and uLaw. div3's
  output is garbled, svq1 produces nothing and uLaw crashes at the
  end and leaves ugly noise :|... could be a problem with the
  library itself cause even Cinelerra has trouble with them...

  The code is a bit messy ... okay understatement of the year it
  looks like crap ... writing clean code isn't one of my strong
  points :) I'll clean it up in the next days ...

  I don't know which versions of Quicktime4linux work or if it works
  with libquicktime ... but I use v.2.01 haven't had time test
  anything else yet.

2004-01-07 Tilmann Bitterberg <transcode at tibit.org>

  * filter/subtitler/*:
  Upgrade to 0.8.4.

2004-01-06 Frederic Briere <fbriere at fbriere.net>

  * filter/ivtc/filter_ivtc.c:
  Tentative patch for ivtc. New parameters:

  "field": 
  The field parameter specifies whether you want to work on the top
  field (by default) or the bottom field.  Basically, when you
  enable verboseness, if you see lots of "using 0" and "using 1",
  then you stand to benefit from working on the opposite field
  instead.  (If ivtc is using 1s and 2s, you've got it right.)

  "magic":
  I also added a bit of "magic", to give ivtc a little nudge towards
  the current field instead of the previous/next one.  When looking
  at the verbose output, you'll see that ivtc often favors the
  "wrong" field, ie.  if you work on the top field, and have the
  following frames:
  Frame:          A  B  C  D  E
  Top field:      1  2  3  3  4
  Bottom field:   1  1  2  3  4
  Then there is a good chance that frame D will end up with C's top
  field, for reasons that are beyond me.

2004-01-06 Tilmann Bitterberg <transcode at tibit.org>

  * configure.in:
  check if fast integers are available (for libavcodec)

2004-01-06 Tilmann Bitterberg <transcode at tibit.org>

  * import/v4l/import_v4l2.c:
  MMX enhance of yuy2 to uvyv and some typos.

  * filter/resample/resample.c:
  Kill nonsense printout (drain 35).

2004-01-06 Tilmann Bitterberg <transcode at tibit.org>

  * docs/man/avimerge.c:
  Update to current commandline options and explain some old.

  * docs/make-filter-man.sh:
  small yuv422 bugfix, didn't handle "Y4".

  * docs/filter-help.txt:
  Description of keys and socket commands for the pv filter.

2004-01-06 Tilmann Bitterberg <transcode at tibit.org>

  * filter/preview/{pv.h filter_pv.c pv.c}:
  Added support for UYVY. For example watch UYVY TV with
  transcode -i /dev/video -x v4l2,null -J pv --uyvy

2004-01-05 Florin Andrei <florin at andrei.myip.org>

  * docs/DV-to-DVD-HOWTO.txt:
  A Howto describing how to make DVDs out of DV footage including
  scripts. 

2004-01-05 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.[ch] docs/man/transcode.1:
  New commandline option --export_prof. This option takes an
  argument. This is basically the same which was availiable under -Z
  for about 0.5 weeks in CVS.
  Available settings are vcd, vcd-pal, vcd-ntsc, svcd, svcd-pal,
  svcd-ntsc, dvd, dvd-pal, dvd-ntsc.
  Example when encoding a 720x576 @ 16:9 file in a 4:3 letterbox'ed
  NTSC SVCD using fast mode: --export_prof ntsc-svcd -Z fast will
  calculate --pre_clip -96,0,-96,0 -B 36,30,8 --export_asr 2.

2004-01-05 Romildo <romildo at uber.com.br>

  * filter/subtitler/*:
  Update to upstream version 0.8.2

2004-01-05 Tilmann Bitterberg <transcode at tibit.org>

  * import/extract_dv.c:
  When extracting data from a raw DV file, transcode assumed an
  incorrect NTSC DV frame size. This caused the last frame to be
  skipped by tcdecode. Pointed out by Frederic Briere.

2004-01-05 Frederic Briere <fbriere at fbriere.net>

  * import/ioxml.c:
  Transcode uses exclusive frame ranges, SMIL uses inclusive.

2004-01-05 Tilmann Bitterberg <transcode at tibit.org>

  * libioaux/framecode.[cl]:
  double -> int conversion error, do correct rounding. (-c 0-100
  transcoded only 99 frames on an NTSC source)

2004-01-03 Tilmann Bitterberg <transcode at tibit.org>

  * import/extract_yuv.c:
  Be more tolerant when reading a FRAME header. Pointed out by
  Robert W. Fuller.

2004-01-03 Erik Slagter <erik at slagter.name>

  * export/{export_ffmpeg.c ffmpeg_cfg.c ffmpeg_cfg.h}:
  - check whether libavcodec actually has lmin,lmax struct members
    before using them
  - check whether libavcodec actually has CODEC_FLAG_INTERLACED_DCT
    before using it
  - check whether libavcodec actually has CODEC_FLAG_INTERLACED_ME
    before using it
  - correct typo in "verbose" text
  - a little cosmetic change in previous patched code (position of
    brace)
  - remove "crispness" output
  - a little extra patch, needed for interlaced encoding, that
    didn't get there the first time, for no apparent reason.

2004-01-03 Erik Slagter <erik at slagter.name>
  
  * filter/filter_denoise3d.c:
  Fix typo.

2004-01-03 Erik Slagter <erik at slagter.name>

  * import/v4l/import_v4l2.c:
  - New approach to initial a/v sync. Audio (which appears to always start
  first) is not read until the first video frame arrives. This is
  necessary for SAA7134 based cards which start out-of-sync right away
  without this. For SAA7134 based cards, the -D option to transcode should
  no longer be necessary. I am not shure whether this effects other cards,
  though. Please report.

  - Added bttv to blacklist of drivers that do not support
  ioctl(VIDIOC_CROPCAP).

  - Added overrun guard. This is mainly interesting for SAA7134 owners.
  The IC can only address six DMA buffers in full resolution, which make
  overruns probable. Also on some boards (notably mine ;-)) DMA overruns
  cause complete lockups. This option stops capturing when almost no DMA
  buffers are left. Disable with "overrun_guard=0". Maybe disabling this
  should be default behaviour on bttv cards.

  - Added YUV422 (packed) -> YUV420 (planar) conversion, for those cards
  that cannot capture in YUV420 (planar).

  - Unused code clean up, a few cosmetics and typo's.

2004-01-03 Edouard Gomez <ed.gomez at free.fr>

  * export/{export_xvid4.c xvid4.h xvid4.cfg}:

    Summary:
      Beta3 syncing.
    Revision:
      transcode-xvidmodule--devapi4--1.0--patch-2

    - Added turbo mode support
    - Updated xvid4.cfg defaults
    - Synced xvid4.h with xvid.h CVS version
    - Reworked some parameter descriptions.

    Summary:
      Synced with transcode CVS.
    Revision:
      transcode-xvidmodule--devapi4--1.0--patch-1

    From Tilmann Bitterberg (actually by chl):
     - fixed unitialized greyscale field
     - added PAR support through transcode cmd line option.

2004-01-03 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c docs/man/transcode.1:
  Mpeg profile/template support. The idea is to specify -Z vcd and
  transcode will figure out all clipping parameters and such.
  Available settings are vcd, vcd-pal, vcd-ntsc, svcd, svcd-pal,
  svcd-ntsc, dvd, dvd-pal, dvd-ntsc.
  Example when encoding a 720x576 @ 16:9 file in a 4:3 letterbox'ed
  NTSC SVCD using fast mode: -Z svcd-ntsc,fast will calculate
  --pre_clip -96,0,-96,0 -B 36,30,8 --export_asr 2.

2004-01-02 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avilib.c tools/avimerge.c:
  Support for AVI files with a broken index or an index in which
  some part is missing (damaged CD or something).

  * tools/aviindex.c docs/man/aviindex.1:
  Detecting keyframes based on the codec.

2003-12-30 Tilmann Bitterberg <transcode at tibit.org>

  * ffmpeg/libavcodec/*:
  Upgrade to 4695 (included in mplayer-1.0pre3)

  * export/{export_ffmpeg.c ffmpeg_cfg.[ch]}:
  Sync to new libavcodec. Incorporates patch for encode_fields, -w
  and lmin/lmax from Erik Slagter. The -w patch changes the
  behaviour of -y ffmpeg when used with -R3. You now have to use -w
  to set the quantizer you want.
  The --encode_fields semantics are identical to the other export
  modules that support it.

  * import/magic.h:
  New magics for ffv1, asv1 and asv2

  * import/import_ffmpeg.c src/probe.c import/extract.c:
  Support for probing (and decoding) the new codecs.

  * import/import_ffmpeg.c:
  Some codecs need extra data.

2003-12-29 Tilmann Bitterberg <transcode at tibit.org>

  * pvm3/tcpvmexportd.c src/transcode.c src/transcode.h:
  CHANGE: Make the avi limit an unsigned int and disable it by
  default since transcode can write large avis now.

2003-12-29 Tilmann Bitterberg <transcode at tibit.org>

  * docs/export_ffmpeg.txt:
  This really needs an update. At least fix some deprecated errors.

  * docs/man/{aviindex.1 transcode.1 tcdecode.1}:
  Layout update to make it look better when converted to html on
  http://transcoding.org
  
2003-12-29 Tilmann Bitterberg <transcode at tibit.org>

  * tools/avimerge.c:
  New option -A which will allow to overwrite an audio track.

2003-12-26 Marcus Holland-Moritz <mhx-perl at gmx.net>

  * import/{import_ac3.c import_vdrac3.c}:
  Pass a52 flags to the ac3 decoder.

2003-12-24 Tilmann Bitterberg <transcode at tibit.org>
  
  * contrib/tccomplete.source:
  New file which enables bash completion for transcode. Usage
  instructions at the beginning of the script.

2003-12-24 Tilmann Bitterberg <transcode at tibit.org>

  * configure.in config.h.in import/v4l/import_v4l2.c:
  Check if the system's videodev2.h header provides a struct
  v4l2_buffer. The SuSE 9.0 videodev2.h header file has this
  #ifdef'ed __kernel__ so this is a work around.

2003-12-22 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c export/export_xvid4.c docs/man/transcode.1:
  New commandline parameter --export_par which sets the pixel aspect
  ratio. This is useful when encoding anamorphic material and can
  tell players how to deal with this stream.
  Currently, only -y xvid4 honors this setting. Thanks to Christoph
  Lampert for the initial patch which was xvid specific.

2003-12-22 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avilib.[ch]:
  Fixes for 64bit architectures (x86_64). Thanks a lot to Bodo Bauer
  for providing an account on such a box.
  Typo when using a mask with only seven f's where there should be
  eigth. 

2003-12-22 Tilmann Bitterberg <transcode at tibit.org>

  * export/{export_dv.c export_dvraw.c} filter/{filter_smartyuv.c
  filter_unharp.c extsub/subtitle_buffer.c preview/filter_pv.c
  test/filter_test.c} import/{decode_lavc.c extract_ogm.c
  import_divx.c import_ffmpeg.c import_xvid.c v4l/import_v4l2.c} 
  src/{audio_buffer.c video_buffer.c}:
  Simple 64bit fixes (usually int -> long)

200-12-20 Stphane Gourichon <gouri at free.fr>

  * src/audio_trans.c:
  valgrind pointed out that a memcpy should be a memmove and of
  course thats right.

2003-12-20 Tilmann Bitterberg <transcode at tibit.org>

  * libioaux/framecode.h:
  dietlibc does not have (r)index, so use str(r)chr instead.
  This is useful because I sometimes link the avitool statically.

2003-12-18 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_mp1e.c:
  New export module. This drives the mp1e programme, a very fast
  mpeg1 encoder. It can also be used to generate vcd compliant
  streams. It can encode MP2 audio as well an writes out an MPEG
  programm stream.

  You can find the mp1e tool at:
  http://freshmeat.net/projects/mp1e/
  I used version 1.9.3 for testing.

  Caveats: An intermediate wav file gets created to feed the audio
  to mp1e so you need some temporary space. It is not possible to
  use a pipe for this because of a limitation of mp1e. This wav file
  can get quite large, depending on the number of frames you are
  encoding.

  Use '-F vcd' to turn on VCD mode. Examples:
  With -Q you can control the motion compensation but I found the
  video looked a lot worse when enabling that.

  # generic MPEG1 with a bitrate of 6000
  transcode -i test.vob -o foo.mpg -u 100 --print_status 60 \
    -y mp1e -V -w 6000 -b 224

  # VCD and pass -v to mp1e (verbose)
  transcode -i test.vob -o foo.mpg -u 100 --progress_off \
    -y mp1e -V -F vcd,'-v' -Z 352x288,fast -J resample -E 44100

  * docs/export-mods.c docs/man/transcode.1:
  Documentation about the mp1e module.

  * src/transcode.c export/Makefile.am:
  Set sensible defaults for mp1e export.

2003-12-15 Tilmann Bitterberg <transcode at tibit.org>

  * export/aud_aux.c:
  Protect all calls to libavcodec with locks. This was basically
  already done, but I have missed one.

  * filter/extsub/filter_extsub.c:
  When running as a post filter, use the export_fps setting instead
  of the import one.

2003-12-11 Tilmann Bitterberg <transcode at tibit.org>

  * import/fileinfo.c:
  Better detection of MP3/MP2 files (based on file(1) magic)

2003-12-11 Tilmann Bitterberg <transcode at tibit.org>

  * ffmpeg/libavcodec/mjpeg.c:
  Hack to write quicktime (MacOSX) compatible mjpeg avis

2003-12-11 Tilmann Bitterberg <transcode at tibit.org>

  * export/aud_aux.c export/export_dvraw.c:
  Big endian fixes

2003-12-05 Edouard Gomez <ed.gomez at free.fr>

  * export/{export_xvid4.c xvid4.cfg xvid4.h}
  patch-22

    Summary:
      Synced with xvid 1.0.0-beta2
    Revision:
      transcode-xvidmodule--devapi4--1.0--patch-22

  If you are using xvid4conf, you need version 1.10

2003-12-07 Tilmann Bitterberg <transcode at tibit.org>

  * import/import_sh.c:
  Reading from sh. Executes the command specified as video input
  resp. audio input file and reads its output.

  transcode -i '!tccat -i mjpegdir/ | tcextract -x raw | 
  tcdecode -x mjpeg -t lavc -g 720x576 -y yv12' -x sh,null 
  -H0 -g 720x576 -y ffmpeg -F mjpeg -o foo.avi -V

  This modules is mainly for debugging but can be useful when a
  particular combination of the tc-tools is missing. The command
  specified has to start with a bang (`!').

2003-12-07 Tilmann Bitterberg <transcode at tibit.org>

  * import/{decode_lavc.c import_ffmpeg.c tcdecode.c}:
  Support for decoding dv with ffmpeg:
   $ transcode -i file.dv -x ffmpeg -V ...
  On my Powerbook, decoding is about 10 times (sic!) faster than
  with libdv. Directory mode works as well.

2003-12-05 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avilib.c avilib/avilib.h:
  Support for writing AVI 2.0 files (OpenDML). This is very
  experimental. Transcode has odml _reading_ support for quite a
  while which has to be proven stable. This patch allows AVI files
  to become as big as 32GB.
  A new index will be automatically triggered after 2GB.
  Mplayer has problems with these files. The generated AVIs work
  fine in Adobe Premiere and Quicktime.
  
2003-12-04 Tilmann Bitterberg <transcode at tibit.org>

  * import/import_dv.c import/decode_dv.c:
  Support for YUY2 decoding (together with --uyvy)
  
2003-12-04 Tilmann Bitterberg <transcode at tibit.org>

  * probe_vnc.c:
  width and height are at a different offset;

  * import_vnc.c:
  Support for the -x vnc="-arg1 -arg2" syntax to pass parameters
  down to vncrec. Very limited parser, no quoting support.

2003-12-02 Mitch <mitch at 0bits.com>

  * import/decode_mov.c:
  remove decode->error since the new decode_t struct does not have
  this field.
 
2003-12-01 Florin Andrei <florin at andrei.myip.org>

  * import/import_dv.c:
  Do NOT apply a setup when decoding the DV frame.
  See http://www.adamwilt.com/DV-FAQ-tech.html#Setup

2003-11-29 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_control.c:
  This is a meta filter. It can read command from the file and apply
  them in transcode. See the manpage and /docs/filter-socket.txt

2003-11-29 Tilmann Bitterberg <transcode at tibit.org>

  * import/import_xvid.c:
  Fix dlerror() usage on MacOSX.

  * filter/filter_slowmo.c:
  Fix the filter slot, must be used in a synchronous slot.

  * import/import_vnc.c:
  The import module now respects the --dvd_access_delay setting for
  setting the timeout.

2003-11-28 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avilib.c:
  Support for AVI files with multiple RIFF chunks and an AVIX
  header. xawtv produces such files. only one audio track supported
  so far.

2003-11-28 Tilmann Bitterberg <transcode at tibit.org>

  * import/v4l2/import_v4l2.c configure.in:
  Add improved configure check for linux/videodev2.h
  Fix freetype2 detection

2003-11-28 Christopher Cramer <crayc at pyro.net>

  * src/transcode.h:
  Remove decoder-only fields from info_t.
  Introduce decode_t.

  * import/a52_decore.c import/af6_decore.cpp import/decode_a52.c
  import/decode_ac3.c import/decode_af6.c import/decode_dv.c
  import/decode_lavc.c import/decode_lzo.c import/decode_mov.c
  import/decode_mp3.c import/decode_mpeg2.c import/decode_ogg.c
  import/decode_xvid.c import/decode_yuv.c import/tc.h
  import/tcdecode.c:
  Remove assignments to ipipe->error (which was unused by decoder).
  Switch from info_t to decode_t.

2003-11-26 Tilmann Bitterberg <transcode at tibit.org>

  * filter/yuvdenoise/filter_yuvdenoise.c docs/man/transcode.1:
  Document the undocumented option pre.

2003-11-26 Tilmann Bitterberg <transcode at tibit.org>

  * import/v4l2/import_v4l2.c configure.in:
  Add configure check for linux/videodev2.h

2003-11-26 Erik Slagter <erik at slagter.name>
  
  * import/v4l2/import_v4l2.c:
  1.0.1   EMS   added YUV422 and RGB support
                disable timestamp stuff for now, doesn't work anyway
                        as long as tc core doesn't support it.
                missing mute control is not an error.
  1.0.2   EMS   changed parameter passing from -T to -x v4l2=a=x,b=y
                try various (native) capture formats before giving up
  1.0.3	  EMS   changed "videodev2.h" back to <linux/videodev2.h>,
		it doesn't work with linux 2.6.0, #defines are wrong.

2003-11-26 Erik Slagter <erik at slagter.name>

  * filter/filter_denoise3d.c:
  1.0.3   EMS first public version
  1.0.4   EMS added YUV422 support
  1.0.5   EMS added (experimental) RGB support
          large cleanup
          added arbitrary layout framework
          denoising U&V (colour) planes now actually works

2003-11-26 Tilmann Bitterberg <transcode at tibit.org>

  * filter/extsub/subtitle_buffer.c  filter/extsub/filter_extsub.c
  import/clone.c import/packets.c src/decoder.c src/frame_threads.c
  src/transcode.c configure.in:
  Introduced a new define BROKEN_PTHREADS which replaces the fixups
  formerly only dependent on __APPLE__. This might cure the problems
  with a 2.6 kernel.

2003-11-26 Tilmann Bitterberg <transcode at tibit.org>

  * import/magic.h src/probe.c:
  Magic values for v4l2 import modules and the core probing
  architecture.

2003-11-26 Tilmann Bitterberg <transcode at tibit.org>

  * configure.in:
  Enable freetype by default.

2003-11-26  Sven Goethel <sgoethel at jausoft.com>, Makira

  * import/tcrequant.c:
  Incorporate fixes made upstream. Better error resilience.

2003-11-18 Peter Van Biesen <peter at vanbiesen.com>
  
  * import/dvd_reader.[ch] import/tccat.c:
  Support for titles on a DVD which consist of non-continuus chapters.
  The -P option of tccat takes no argument any more. To get the old
  behaviour '-P 1' use '-T 1,-1 -P'. The difference when between
  just using -T and -T with an additional -P is that with -P the
  title is streamed, leaving all NAV and VOBU packets (needed for
  dvdauthor) intact.

2003-11-17 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/{avilib.h avilib.c}:
  Tiny typos and a small bug

2003-11-14 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_im.c docs/man/transcode.1:
  Use -w to give quality to -y im -F jpg/png

2003-11-12 Tilmann Bitterberg <transcode at tibit.org>

  * import/import_imlist.c import/import_im.c:
  Fix a segfault at closing time. Pointed out by Guido Mocken.
  
2003-11-12 Erik Slagter <erik at slagter.name>
  
  * import/v4l/import_v4l2.h videodev2.h docs/import_v4l2.txt:
  New v4l2 import module. Please see /docs/import_v4l2.txt
  
2003-11-12 Tilmann Bitterberg <transcode at tibit.org>

  * import/Makefile.am import/extract_avi.c import/import_fraps.c
  import/magic.h src/probe.c:
  New import module for AVI files with the FOURCC "FPS1". These
  files are produced by the win32 tool "fraps" which can capture
  movies of DirectX/OpenGL games.

2003-11-12 Tilmann Bitterberg <transcode at tibit.org>
  
  * filter/pp/*:
  Added the postprocess code to transcode and move the filter to
  this directory.c.

2003-11-12 Tilmann Bitterberg <transcode at tibit.org>

  * import/dvd_reader.c import/fileinfo.c import/ioaux.c:
  The dvd device may be a char device (for example /dev/rdisk1 on
  OSX)

2003-11-10 Edouard Gomez <ed.gomez at free.fr>

  * export/{export_xvid4.c xvid4.cfg xvid4.h}:

  patch-21

  Summary:
    New 2pass API + missing cartoon code.
  Revision:
    transcode-xvidmodule--devapi4--1.0--patch-21

  - Cartoon setting was already part of the configuration options
    but there was no code handling it. Fixed.
  - Updated the 2pass API to match recent xvid4 cvs changes (dated
    2003-11-09)

2003-11-10 Edouard Gomez <ed.gomez at free.fr>
  
  * import/{decode_xvid.c import_xvid.c}:
  This patch should fix problems when using the xvid import module.
  It was still trying to load old sonames, now it try to load all
  compatible sonames. Pointed out by Thomas Weber.

2003-11-10 Tilmann Bitterberg <transcode at tibit.org>

  * acinclude.m4:
  Copy the macros for sdl.m4 and glib.m4 in there.

2003-11-10 Tilmann Bitterberg <transcode at tibit.org>

  * docs/man/transcode.1 docs/make-filter-man.sh:
  Add documentation for filter_denoise3d to the manpage

2003-11-10 Erik Slagter <erik at slagter.name>

  * filter/filter_denoise3d.c:
  What
  The denoise3d filter from mplayer (sibling of hqdn3d). Works very
  crude and simple but also very fast. In fact it is even faster
  than the original from mplayer as I managed to tweak some things
  (a.o. zero frame copying).

  Who
  Everyone who wants to have their captured frames thoroughly
  denoised (i.e. who want to encode to mpeg or mjpeg) but do not
  have enough processing power to real-time encode AND use hqdn3d
  (better quality but a lot slower) or dnr (yet slower), not to
  mention the other denoisers that are even slower. Quality is
  really good for static scenes (if fed with the right parameters),
  moving objects may show a little ghost-image (also depends on
  parameters) though. Your milage may vary.

  How
  Parameters are the same as the hqdn3d module, although in practice
  you'll not end up with exactly the same values. Just experiment.
  Particular for this version of the filter is that if you supply -1
  to either component's parameters (luma/chroma), that component
  will not have the filter applied to. If you're still short on CPU
  cycles, try disabling the luma filter, this will not make much
  difference in the effectiveness of the filter!

2003-11-10 Tilmann Bitterberg <transcode at tibit.org>

  * import/v4l/*:
  Fix compilation of the module on a 2.6 kernel which has broken
  videodev headers. The only solution I see so far is to include a
  sane version of videodev.h. This is the same file which xawtv
  uses. Pointed out by Edouard Gomez.

2003-11-07 Martin Schlemmer <azarah at gentoo.org>

  * ffmpeg/av_config.h:
  For more details one the errors, you can look at:

    http://bugs.gentoo.org/show_bug.cgi?id=30877

  Basically when passing --disable-mmx, but building on a box that
  supports mmx, HAVE_MMX still gets set, breaking libavcodec that relies
  on it, as it still includes config.h through ffmpeg/av_config.h.

  We thus have to unset HAVE_MMX in ffmpeg/av_config.h, but also
  add #ifdef's to config.h to ensure HAVE_MMX is not set, and then
  HAVE_MMX will only be set properly by the ffmpeg/libavcodec/Makefile

2003-11-05 Moritz Bunkus  <moritz at bunkus.org>

  * avilib/{avidump.c avilib.c avilib.h avimisc.c os.h}:
  Fixes are: include files for different OS, some type casts for
  weird/strict compilers, fixes for 64bit systems, included support
  for getting the frame types without acutally reading the frame
  contents (useful if you only need frame types and frame sizes),
  one or two small bug fixes for weird AVIs (I encountered some for
  which the last audio chunk had a length of 0, this is not handled
  correctly).


2003-11-05 Tilmann Bitterberg <transcode at tibit.org>

  * aclib/ac.h avilib/avilib.c ffmpeg/libavcodec/Makefile.am
  filter/filter_astat.c filter/filter_detectsilence.c
  filter/filter_lowpass.c filter/yuvdenoise/mjpeg_types.h
  import/af6_decore.cpp import/decode_a52.c import/decode_af6.c
  import/decode_lavc.c import/decode_lzo.c import/decode_xvid.c
  import/extract_lzo.c import/import_divx.c import/import_xvid.c
  libac3/debug.h libvo/rgb2yuv.h src/dl_loader.c src/filter.c
  src/tc_defaults.h src/transcode.h src/video_yuv.c
  src/video_yuv422.c tools/aviindex.c tools/avimerge.c
  tools/avisync.c tools/tcmodinfo.c tools/tcmp3cut.c:
  When doing a make distcheck, a lot of files included the wrong
  config.h


--------------------------------------------
transcode-0.6.11 Tue Nov  4 13:44:55 CET 2003

  * Terse/less technical ChangeLog:
  Bugfix audio core; fix AC3 pass-thru.
  Bugfix audio core; undefined symbol in lame lib.
  Bugfix for --accel on PPC (not supported)
  Bugfix for -J extsub; fix vertical shifting up.
  Bugfix for -J hqdn3d; fix typo and default value printout.
  Bugfix for -J logo; flipping with animated images
  Bugfix for -J subtitler; shift was broken.
  Bugfix for -J text; enable the filter core
  Bugfix for -x ffmpeg; deals with NULL frames
  Bugfix for -x im; handle 16bit image files.
  Bugfix for -x xml; fix DV import.
  Bugfix for -y dvraw; Pass-thru video but not audio did not work.
  Bugfix for -y ffmpeg; make it thread-safe.
  Bugfix for -y ffmpeg; vhq is gone, use mdb=0-9.
  Bugfix for -y pcm; fixed floating point division.
  Bugfix for MacOSX; lots of stack thrashing fixes
  Bugfix for avitools; fix audio syncing (again!)
  Bugfix for avitools; pass-thru 0byte frames
  Bugfix for dvd_reader, keeps tcprobe from crashing
  Bugfix for export audio; -E is now used consistently
  Bugfix for tcprobe; segfault reading chapter table.
  Bugfix for tcprobe; segfault when reading data from stdin
  CHANGE: ffmpeg is now used to decode MPEG4 video.
  CHANGE: how the PTS is probed from a vob
  CHANGE: with pass-thru, suggest -y raw,raw.
  Docu; Description of UYVY colorspace.
  Docu; tcprobe(1) uptodate
  Docu; transcode(1) uptodate with additions to various options.
  Improved -J smartyuv; altivec support and fixes
  Improved -J subtitler; upgrade to latest upstream version
  Improved -x im; probing and reading SGI image files.
  Improved -x/-y pvm; support for more codecs.
  Improved -y ffmpeg; enable altivec support on Macs.
  Improved -y ffmpeg; keyframe detection in pass-thru mode.
  Improved AVI support; support for obscure nandub padding.
  Improved autostuff; upgrade libtool, automake and autoconf
  Improved avitools; detect an VBR audio track, more robust.
  Improved binary filesize; libavcodec only linked once.
  Improved configure; Fix X11 detection.
  Improved configure; debug option --enable-maintainer-mode.
  Improved export module documentation
  Improved option -Z; much smarter now (see manpage)
  Improved split mode; the base can be taken from output file.
  Improved tcscan -x mpeg2; print bitrate information.
  Improved transcode help; Looks more nice.
  New Pass-thru mode for MPEG2 files (with opt. requantize).
  New filter -J detectclipping; find black areas
  New filter -J whitebalance; corrects broken white balance.
  New internal colorspace UYVY for higher quality
  New option --dvd_access_delay; increase if you have problems.
  New option --ext to set the filename extension(s)
  New option --uyvy; support for a native 4:2:2 format
  New util tcrequant; requantize an MPEG2-ES stream.
  Removed -y sampeg; never did anything useful.
  Upgraded -y xvid4 to the latest API
  Upgraded included libavcodec to 0.4.8 (4683)
  

2003-11-02 Tilmann Bitterberg <transcode at tibit.org>

  * docs/man/transcode.1:
  Various typos fixed. The export module section is much better now.

  * docs/make-modules-man.sed docs/export-mods.txt:
  Sed script to generate the export/import manpage part from a very
  simple meta language (in docs/export-mods.txt).

2003-11-02 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c docs/man/transcode.1:
  Make -Z much smarter. When the suffix ",fast" is appended,
  transcode will calculate -B and/or -X options and use the fast
  rescaler to transform the video. The enhanced option is also
  "guessing" a suitable width or height.
  It is also possible to omit width or height. In this case,
  transcode will calculate the missing value using the import aspect
  ratio. The new value will be aligned to be a multiple of 8. Using
  an additional fast is also possible.

  Examples (assume input is a 16:9 coded file at 720x576):
  -Z 576x328       uses filtered zoom.
  -Z 576x328,fast  uses fast zoom.
  -Z 576x,fast     guess 328 and do fast zoom.
  -Z x328          guess 576 and do filtered zoom.

2003-11-01 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_detectclipping.c:
  Finish the filter, works and actually produces useful values.
  You can use the filter to automatically detect the values for -j
  resp. -Y. Run the filter for ca. 100 frames ideally with the
  progress bar turned off:

  transcode -V -i in.vob --print_status 0 -J detectclipping -c 0-100

2003-11-01 Tilmann Bitterberg <transcode at tibit.org>

  * import/fileinfo.c:
  Probing for MP3 files mangled by iTunes with ID3 tags at the
  beginning.

  * import/extract_mp3.c:
  Again a buffer was too hard on the stack, malloc it dynamically.

2003-10-31 Christopher Cramer <crayc at pyro.net>

  * import/import_ffmpeg.c:
  Output last decoded frame when input frame is empty (NULL frame
  problem with some divx)

2003-10-28 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c export/export_{mp2enc.c mpeg.c mpeg2enc.c}
  src/probe_export.h:
  Architecture for setting the filename extension for the export
  modules. A few modules and the core of transcode support this (the
  modules listed on the top).
  This goes together with a new commandline option --ext vext,aext
  Use "none" to disable the filename completion completely.

2003-10-28 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_yuv4mpeg.c:
  Unfinished fixup for 64bit arches.

2003-10-28 Tilmann Bitterberg <transcode at tibit.org>

  * import/tcprobe.c:
  Fix a segfault when reading data from stdin

2003-10-27 Joern Reder <joern at zyn.de>

  * filter/filter_unsharp.c:
  Fix bogus printout (wrong Parameter name). Pointed out by Fabio
  Russo.

2003-10-23 Christopher Cramer <crayc at pyro.net>

  What this patch does is make the -E option more consistent.
  With this, the output bits and channels will match the -E
  option regardless of which export module is used.

  * export/aud_aux.c export/export_ac3 export/export_lame.c,
  export/export_mov.c export/export_mp2enc.c export/export_mpeg.c
  export/export_ogg.c export/export_pcm.c export/export_toolame.c
  filter/filter_cpaudio.c filter/filter_tc_audio.c:
  Use dm_chan/dm_bits instead of a_chan/a_bits.

  * export/export_dvraw.c export/export_lame.c
  export/export_toolame.c:
  Remove redundant code.

  * export/export_mp2enc.c:
  Remove mono->stereo conversion; it's now in audio_trans.c.

  * src/audio_trans.c:
  Don't do 16-bit volume transform on 8-bit data.
  Put bit-size transform before channel transform, saving
  one bit in the case of an 8-bit/stereo to 16-bit/mono
  conversion.
  Add mono to stereo transform.
  Add 8-bit to 16-bit transform.
  Use unsigned char instead of char for 8-bit data.

2003-10-23 Tilmann Bitterberg <transcode at tibit.org>

  * export/ffmpeg_cfg.c:
  Fixed a typo: rc_min_rate != rc_buffer_size. Pointed out by Erik
  Slagter.

2003-10-22 Tilmann Bitterberg <transcode at tibit.org>

  * src/Makefile.am src/transcode.c import/Makefile.am:
  Link libvo into transcode and not into import_ffmpeg.so

2003-10-20 Tilmann Bitterberg <transcode at tibit.org>

  * filter/subtitler/* filter/Makefile.am:
  Upgrade to external version 0.7 from 
  http://www.home.zonnet.nl/panteltje/subtitles/
  The filter depends on libfreetype2 now which is disabled by
  default. You need to enable it with the not-so-fitting configure
  switch --with-text.

2003-10-17 Edouard Gomez <ed.gomez at free.fr>

  * export/export_xvid2.c export/export_xvid3.c
  export/export_xvid4.c export/xvid4.cfg:
  Small sync patch.
  - Removed heavy debug stuff from export_xvid2.c
  - Fixed a typo in xvid4.cfg
  - Use space indents (only) for the capabilities.

2003-10-17 Tilmann Bitterberg <transcode at tibit.org>

  * import/{Makefile.am Makefile.in fileinfo.c magic.h
  probe_stream.c tc.h extract_mxf.c}:
  Very preliminary support for MXF the Material eXchange Format. Its
  a file format already used in professional equipment. Quoting
  http://www.snellwilcox.com/knowledgecenter/mxf_aaf.html:
  The Material Exchange Format, MXF, is a File Format optimized for
  the interchange of material for the content creation industries. MXF
  is a wrapper format intended to encapsulate and accurately describe
  one or more "clips" of Essence. These Essence "clips" may be
  Pictures, Sound, Data or some combination of all of these.

  An MXF File contains enough information to allow two applications to
  interchange essence without any a-priori information. The MXF
  metadata allows applications to know the duration of the file, what
  essence codecs are required, what timeline complexity is involved
  and other key points to allow interchange. The key to MXF is the
  accurate description of the essence. 

2003-10-17 Tilmann Bitterberg <transcode at tibit.org>

  * import/extract_ac3.c:
  Fix a segfault on MacOSX. The buffer was to large to be taken from
  the stack.

2003-10-17 Tilmann Bitterberg <transcode at tibit.org>

  * filter/Makefile.am filter_detectclipping.c:
  New (non-functional) filter which is supposed to detect black
  areas in an picture when it is done.

2003-10-16 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_text.c:
  Fix a typo which effectivly disabled the filter. Pointed out by
  Jorg Heymans.

2003-10-16 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_logo.c:
  Fix flipping with image lists (animated images). Pointed out by
  Jorg Heymans.

2003-10-16 Tilmann Bitterberg <transcode at tibit.org>

  * filter/subtitler/*:
  Upgrade to external version 0.6.5 from 
  http://www.home.zonnet.nl/panteltje/subtitles/

2003-10-15 Tilmann Bitterberg <transcode at tibit.org>

  * import/import_dvd.c src/transcode.c:
  Make the ACCESS_DELAY define user setable through new
  commandline option --dvd_access_delay. Setting this option to a
  value higher than 3 might help if you have a slow DVD drive which
  needs some time to settle down when accessing the DVD.

2003-10-15 Tilmann Bitterberg <transcode at tibit.org>

  * import/import_dv.c:
  Add UYVY support.

  * import/import_rawlist.c:
  Add native support for UYVY raw image files.

2003-10-15 Tilmann Bitterberg <transcode at tibit.org>

  * filter/extsub/filter_extsub.c:
  Fix direction of vertical shifting.

2003-10-14 Tilmann Bitterberg <transcode at tibit.org>

  * filter/extsub/filter_extsub.c:
  Fix a bug when vertshift does not shift. Pointed out by Justin
  Graham.

2003-10-14 Helge Klein <hklein at como.com>

  * import/scan_pes.c:
  Change the way the timestamps (PTS) are probed for a vob file
  If it breaks for you, please complain.

2003-10-14 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c:
  Fix a fatal error when using --accel on PPC. Pointed out by
  Nicolas Boos.
  
2003-10-13 Seth Green <sgreen at sparse.org>

  * import/dvd_reader.c:
  Fix a segfault with some particular dvds where tcprobe crashes
  when printing information about the last chapter.

2003-10-13 Edouard Gomez <ed.gomez at free.fr>

  * export/xvid4.h export/xvid4.cfg:
  Some adjustments for the xvid4.h file were needed to be in sync
  with upstream xvid. This fixes the way the XviD version is
  extracted from a packed version number.

  More help messages to the xvid4.cfg file.

2003-10-13 Tilmann Bitterberg <transcode at tibit.org>
  
  * filter/filter_smartyuv.c:
  Fix a segfault pointed out by LethalWP.

2003-10-12 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_ffmpeg.c import/import_ffmpeg.c
  ffmpeg/libavcodec/*: 
  Upgrade to libavcodec-4683 (0.4.8+). This is the libavcodec
  included in mplayer-1.0pre2 which makes it easy for me to keep
  export_ffmpeg up-to-date.

  This version of ffmpeg gives several new features. It has mpeg2
  encoding (-F mpeg2video) and DVvideo encoding support (-F dvvideo)
  although the last one seems to be non-working. FFmpeg-mpeg2video
  also allows usage of custom inter/intra matrices through
  ffmpeg.cfg. The format is 
    intra_matrix=v1,v2,v3,v4, .... ,v64

2003-10-12 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_dvraw.c export/export_ffmpeg.c export/export_raw.c
  export/export_xvid2.c export/export_xvid3.c export/export_xvid4.c
  filter/filter_invert.c filter/filter_mask.c import/extract_avi.c
  import/import_avi.c import/import_raw.c import/magic.h
  import/tcextract.c src/video_yuv422.c src/zoom.c src/Makefile.am
  src/decoder.c src/encoder.c src/frame_postprocess.c
  src/frame_preprocess.c src/optrstr.h src/probe.c src/tc_defaults.h
  src/transcode.c src/transcode.h src/video_trans.h
  src/video_trans.c:
  Add a new internal colorspace UYVY. This is a packed 4:2:2 format. 
  The export, filter and import modules listed above support it, as
  well as all internal transformations except antialias. Currently
  this colorspace is thought as a playground for developers since
  not many modules support it. UYVY provides superior quality over
  YV12 (the format used with -V) because it provides double chroma
  precision. Of course, the quality does not enhance when doing
  upsampling from YV12 to UYVY.

  New commandline options --uyvy which enables this mode. It is
  automatically set, when an UVYV file is probed, eg an AVI with
  UYVY as fourcc.

  Although from the list of files this feature seams very large, a
  lot of this files are only touched by a one-liner. The main work
  was to add all the internal transformations for this which was
  roughly 12 man hours of work.

  Thanks go to Stuart Cunningham who provided me with (beautiful)
  sample files when I could not produce one myself.

2003-10-12 Tilmann Bitterberg <transcode at tibit.org>

  * export/Makefile.am import/Makefile.am src/Makefile.am
  src/transcode.c:
  Playing linker games. The aim of this rearangement is to have no
  static library (.a files) linked into a shared one. This does not
  work on all architectures, especially not on ia64 and alpha. This
  task is not fully completed. It has been done for the libraries
  libavcodec libavi and libioaux.

  Instead of linking into the .so file, we now link all the static
  libraries into the transcode binary itself so the functions can
  resolve at runtime. For this to work, there are dummy functions in
  transcode.c so that the linker will not strip of unused objects
  from the .a archives.

  As a side effect, the binary distributions should get alot smaller
  by now, because instead of linking -- eg libavcodec -- to
  basically all export modules it is now linked only once into the
  transcode binary. And libavcodec is not a particulary small
  library.

2003-10-12 Tilmann Bitterberg <transcode at tibit.org>

  * import/tcprobe.c src/probe.c:
  Have tcprobe print the probed values for -D and --av_fine_ms.

2003-10-12 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c:
  Nicer printout of the help text. Kill warning on non x86 archs.

  * src/transcode.c:
  with -t (split mode) and an -o arg given, the base is now
  optional. If base and outfile are given, base wins.

2003-10-12 Tilmann Bitterberg <transcode at tibit.org>

  * export/{vid_aux.c vid_aux.h}:
  UYVY to YUY2 conversion routine added.

2003-10-12 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_{divx4 divx4raw divx5 divx5raw}.c:
  Kill warnings about dlerror not being const on MacOSX. Not that
  these modules are useful on OSX because divx.com does not ship a
  library we can use.

2003-10-12 Tilmann Bitterberg <transcode at tibit.org>

  * libioaux/configs.c:
  Nicer printout when not finding its config.

2003-10-12 Tilmann Bitterberg <transcode at tibit.org>

  * docs/man/tcprobe.1:
  Explain why -H N with a high N might be useful. Document -s
  option.

  * docs/man/transcode.1:
  Bring the manpage uptodate: Several missing options added to the
  manpage. Give tips about demuxers. Explanation of some options.

2003-10-12 Tilmann Bitterberg <transcode at tibit.org>

  * docs/Optimizers:
  Add description of UYVY 4:2:2 data

  * docs/{filter-API.txt filter-socket.txt make-filter-man.sh}:
  Add new filter capability: 4. Use, when a filter can handle YUV422
  data.

2003-10-10 Stuart Cunningham <stuart_hc at users.sourceforge.net>

  * export/export_dvraw.c:
  Make audio export work with an unpatched version of libdv.
  The easiest way to get it work is to grab a CVS snapshot of libdv
  and do _NOT_ apply the libdv-0.99 patch from the transcode
  homepage.

2003-10-10 Stuart Cunningham <stuart_hc at users.sourceforge.net>

  * export/export_dvraw.c:
  Set the aspect ratio correctly depending on --export_asr.

2003-10-06 Nicolas Boos <nicolas.boos at wanadoo.fr>

  * filter/filter_hqdn3d.c:
  Fix a typo and print the correct default values

2003-10-06 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_raw.c:
  Fix a segfault when not doing m2v pass-thru.

2003-10-06 Tilmann Bitterberg <transcode at tibit.org>

  * filter/Makefile.am filter/filter_smartyuv.c:
  Small Altivec-optimised parts, gives about 3 fps on a ppc
  platform. Changed the padding of the moving map to be always a
  multiple of 16 which might give speed enhancements on other
  platforms as well.

2003-10-06 Wolfgang Hoffmann <woho at woho.de>

  * import/import_xml.c:
  Fix missing break's; fix --dv_yuy2_mode option with import_xml
  module

2003-10-02 Tilmann Bitterberg <transcode at tibit.org>
  
  * import/{aux_pes.c aux_pes.h scan_pes.c}:
  Have tcscan -x mpeg2 print the min, max and average bitrate of an
  mpeg2 file. Useful when you try to figure out the requant factor.

2003-10-02 Tilmann Bitterberg <transcode at tibit.org>

  * import/import_{dvd mpeg2 vob}:
  Support for mpeg2 pass-through. If needed, the modules will
  requantize the stream. The stream then gets splitted into I P and
  B frames to enable use of -c and -S. Not fully tested, the mpeg2
  parser seems to be fine.

2003-10-02 Tilmann Bitterberg <transcode at tibit.org>

  * src/tc_defaults.h:
  New frame attributes: TC_FRAME_IS_[IPB]_FRAME. The mpeg import
  modules set these when working with m2v elementary streams.

  * src/transcode.c:
  When doing -P1 suggest to use -y raw,raw

2003-10-02 Tilmann Bitterberg <transcode at tibit.org>

  * export/aud_aux.c:
  Fix AC3 pass-through when audio is not written to a AVI file.
  Few debug printf's cleanup.

  * export/export_raw.c:
  Fix audio pass-through and video pass-through for M2V/AC3.

2003-10-02 Guillaume Cottenceau <gc at mandrakesoft.com>

  * filter/{filter_whitebalance.c Makefile.am} docs/man/transcode.1:
  New filter -J whitebalance. Correct images with a broken white
  balance. This is useful mostly for DV type material which for eg.
  had set an indoor whitebalance but actually are outdoor material.
  A wrong whitebalance adds a blueish flavour to the image.

  The filter takes 2 options
  "level": Level of blue-to-yellow white balance shifting (can be
           negative) [40] Valid from -1000 to +1000.
  "limit": Limit to specified ranges (+fnumber toggles on, -fnumber
           toggles off.

2003-09-30 Tilmann Bitterberg <transcode at tibit.org>

  * configure.in:
  Make the X11 depending plugins really dependend on X11. Pointed
  out by Nicolas Boos.
  Nicer printout for lame.

2003-09-30 Tilmann Bitterberg <transcode at tibit.org>

  * export/{export_sampeg.c Makefile.am}:
  Remove export_sampeg.c. It was unfinished code and did never
  anything usefull

2003-09-30 Tilmann Bitterberg <transcode at tibit.org>
  
  * export/export_pcm.c:
  Fix a floating point exception pointed out by Nicolas Boos

2003-09-30 Tilmann Bitterberg <transcode at tibit.org>
   
  * import/{tcrequant.c getvlc.h putvlc.h Makefile.am}:
  New tool tcrequant which can requantize an mpeg2 elementary
  stream. Based on code by Antoine Missout. It can be used as a
  standalone tool to make mpeg2 video streams smaller, for eg

    tccat -i vobs/ -t vob | \
    tcdemux -s 0x80 -x mpeg2 -M 1 | \
    tcextract -t vob -a 0 -x mpeg2 | \
    tcrequant -f 1.500000 > ofile.m2v

  Extract the audio (eg an AC3 track) with -A -N0x2000 -m audio.ac3
  and remultiplex the streams using mplex.

  Integration into transcode is a bit flaky currently. This will
  sort out in the next few days.

  * import/import_vob.c src/transcode.c export/export_raw.c:
  When used in pass-through mode (new), the util tcrequant will be
  used. Syntax is easy:
  
   transcode -P1 -i vobs -x vob,null -w 1.5 -o test.m2v

  The -w 1.5 gives the requant factor. Please note its not possible
  to do audio at the same time, because the frame count is messed
  up.

2003-09-30 Tilmann Bitterberg <transcode at tibit.org>

  * import/import_ffmpeg.c:
  Add keyframe detection stuff and cleanup.

  * src/probe.c:
  Now the default import module for mpeg4 video is -x ffmpeg since
  -x divx is not available on all platforms.

2003-09-30 Tilmann Bitterberg <transcode at tibit.org>

  * export/aud_aux.c:
  Fix a bug when compiled with included lame

2003-09-29 Christopher Cramer <crayc at pyro.net>

  * avilib/avilib.c avilib/avilib.h src/transcode.h
  import/extract_avi.c src/probe.c: Retrieve audio padding rate.

  * import/import_mp3.c import/tcdecode.c import/decode_mp3.c:
  Pad beginning with silence when AVI audio padding rate is available
  and zero padding exists (adds -z option to tcdecode).

  I've encountered a few avi files that have zero padding at the
  beginning of the audio stream to indicate silence. The rate of the
  zero padding is indicated by the rate field in the strh/auds
  chunk. The scale field in the same strh/auds chunk, and the fields
  in the strf/auds chunk and in the audio stream itself appear to be
  unrelated. I'm told this is put in by nandub, taking advantage of
  a directshow bug, for audio synchronization.  

2003-09-29 Tilmann Bitterberg <transcode at tibit.org>
   
  * import/clone.c src/decoder.c:
  Fix a few compiler warnings

2003-09-29 Tilmann Bitterberg <transcode at tibit.org>

  * configure.in ffmpeg/libavcodec/Makefile.am ffmpeg/av_config.h:
  Enable building of altivec specific parts of libavcodec. Only
  tested on X86 and MacOS X.

2003-09-26 Tilmann Bitterberg <transcode at tibit.org>

  * libtool config.h.in autotools/*:
  Upgrade to libtool 1.5

2003-09-25 Malanchini Marzio <marzio_malanchini at vodafone.it>

  * acinclude.m4 aclocal.m4 docs/export_pvm.txt
  docs/man/tcpvmexportd.1 export/export_ffmpeg.c
  export/export_pvm.c export/Makefile.am pvm3/export_pvm_slave.c
  pvm3/export_pvm_slave.h pvm3/external_codec.c
  pvm3/external_codec.h pvm3/Makefile.am pvm3/pvm_functions.c
  pvm3/pvm_functions.h pvm3/pvm_parser.c pvm3/pvm_parser.h
  pvm3/pvm_version.h pvm3/tcpvmexportd.c pvm3/vob_pack_unpack.c
  pvm3/vob_pack_unpack.h src/Makefile.am src/tc_func_excl.h
  src/tc_functions.c src/tc_functions.h src/transcode.c
  src/transcode.h:

  - added support for ffmpeg,divx4,divx5,af6,xvid,xvid2 encode.
  - added multipass and internal multipass support.
  - enable pvm3 by default.
  - bugfix.
        
  All external modules that used aud_aux.c are not reentrant (if
  you try to do init-open-encode-close-stop for the second time
  the "export_module" don't work correctly (core)) so i need to
  reload the module (dlclose and dlopen).
        
  I need to move some function from transcode.c and transcode.h in
  three new file (tc_functions.{ch} and tc_func_excl.h) because my
  frontend (tcpvmexportd) needs to resolve at runtime these
  functions: tc_error, tc_info, tc_warn
        
  The patch file fix a little bug in export_ffmpeg (MOD_close and
  MOD_stop don't return 0 if all work).
 

2003-09-17 Tilmann Bitterberg <transcode at tibit.org>
  
  * tools/{aud_scan.[ch] avimerge.c avisplit.c Makefile.*}:
  Big code cleanup, its much more readable now. Automate VBR/CBR
  stuff. Fix a bug in avimerge with multiple input files and a
  separate audio track. Make detection of raw MP3 and AC3 more
  robust. Better sync algorithm for avisplit.

2003-09-17 Tilmann Bitterberg <transcode at tibit.org>

  * import/{fileinfo.c probe_stream.c magic.h} src/probe.c:
  Probing and decoding for SGI image files via import_im

2003-09-17 Tilmann Bitterberg <transcode at tibit.org>

  * export/{export_ffmpeg.c aud_aux.c} src/transcode.c
  import/import_ffmpeg.c:
  libavcodec is not thread-safe; We now use a mutex to protect
  concurrent accesses to libavcodec.

  * ffmpeg/libavcodec/*:
  Upgrade included libavcodec to official release 0.4.7

  * export/export_ffmpeg.c:
  Adjust to work with new ffmpeg (vhq is gone)
  The parameter mdb=0 til 9 replaces it.

2003-09-17 Tilmann Bitterberg <transcode at tibit.org>
  
  * avilib/avilib.c:
  Respect errno when reading. When reading/writing WAV headers,
  first read into an buffer and then to the header struct. The old
  way caused problems on systems where structures are padded.

  * avilib/avilib.c:
  Detect if an audio track is VBR or CBR. This is important for the
  avi* utils and makes the avi* -b switch obsolete. Only print an
  error when an error really happend.

  * avilib/avidump.c:
  Remove unused function.

  * avilib/avilib.c:
  Better support when doing pass-through for 0byte sized frames.

  * avilib/avimisc.c:
  Print out if an audio track is CBR (constant bitrate) or 
  VBR (variable bitrate).

2003-09-17 Tilmann Bitterberg <transcode at tibit.org>

  * configure.in configure:
  When ./configure'ed with --enable-maintainer-mode, transcode will
  use the a lower optimization and will compile itself without
  -fomit-frame-pointer which eases debugging.

2003-09-15 Gregory Brauer <greg at wildbrain.com>

  * import/import_im.c:
  The Transcode ImageMagick importer module does not properly handle
  importing 16-bit-per-channel image file formats.  The attached
  patch to import_im.c fixes the problem, and also contains some
  very minor code formatting work.

2003-09-12 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_dvraw.c:
  Fix a bug when the video gets passed-through but the audio is
  coming from a separate file. Pointed out by Frederic Briere.

--------------------------------------------
transcode-0.6.10

  * Terse/less technical ChangeLog:
  - Bugfix for -J hqdn3d; option parsing was broken.
  - Bugfix for -J mask; black out chroma in YUV mode, too
  - Bugfix for -f/--export_fps; clean up this mess
  - Bugfix for -t (split mode); update audio filename
  - Bugfix for -x ogg; demuxing was broken (noone noticed?)
  - Bugfix for -x raw with WAV files with a different header
  - Bugfix for -y ffmpeg with cloned frames; image distortion
  - Bugfix for -y ffmpeg with pass-through mode
  - Bugfix for -y mpeg; flush all buffers at exit time
  - Bugfix for -y ogg; use --resample if it is needed
  - Bugfix for AVIlib; write correct PCM header
  - Bugfix for MacOSX in preview filter
  - Bugfix for specfile, rpmbuild should now work again
  - Bugfix for xvid2 credits mode
  - Bugfix in -x mplayer; respect -k
  - Bugfix in AVIlib when reading the index file
  - Bugfix in core; a frame might get post-processed twice
  - Bugfix in core; thread race condition
  - Bugfix(es) for MacOSX
  - Docu: BIG manpage update; transcode(1) documents all filters
  - Docu: Verbose documentation for modfps (README.filter.modfps)
  - Docu: tcdecode(1) explains -A and -t option.
  - Docu: xvid2 credits mode howto (README.xvid-credits)
  - Improved --encode_fields; BACKWARD INCOMPATIBEL; takes argument.
  - Improved -J compare; more robust code and multiple instances
  - Improved -J fps;
  - Improved -J modfps; more modes and mode=1 is default
  - Improved -J pv; Grab a jpeg with 'j' in the window
  - Improved -J resample; can run even when no conversion requested
  - Improved -J smartyuv with MMX; doubles performance
  - Improved -x ffmpeg; Support for YUV4:1:1 (needed for NTSC DVs)
  - Improved -y jpg; native YUV encoding (faster)
  - Improved -y mpeg2enc/yuv4mpeg; respect --encode_fields setting
  - Improved -y xvid4; support for grayscale option; sync with xvid-cvs
  - Improved audio core; support for ac3 and mp2 encoding
  - Improved detection of MOV files
  - New -x vnc; see ~transcode/pre/tc-vnc-tutorial.avi
  - New cmdline option --config_dir; where -y xvid/ffmpeg search cfg files
  - New commandline option: --niceness
  - New meta module -y pvm (parallel virtual machine); see export_pvm.txt
  - New stream decoder lavc (ffmpeg based) used for OGM
  - Packaging: making the symlink for -y xvid respects DESTDIR
  - Support for FOURCC "MP43"
  - Support for reading OpenDML (AVI 2.0) files


2003-09-08 Tilmann Bitterberg <transcode at tibit.org>

  * configure.in configure:
  New configure option --enable-mjpeg / --disable-mjpeg to turn off
  all mjpegtools dependand parts (default is enable).

2003-09-08 Tilmann Bitterberg <transcode at tibit.org>

  * export/aud_aux.c export/Makefile.am:
  Add support for AC3 and MP2 encoding via ffmpegs libavcodec. These
  codecs can be specied through the -N switch. Use -N 0x2000 for AC3
  encoding (no -A) and -N 0x50 for MP2 audio.

2003-09-08 Tilmann Bitterberg <transcode at tibit.org>

  * docs/man/transcode.1:
  BIG manpage update. The manpage was slightly rewritten and now
  contains very verbose information about all filters. It documents
  each filter option with a short explanation and the format and
  default value of each option.

  The filter part is completely generated from the output of
  tcmodinfo -i NAME and therefore should not be modified but
  regenerated with the script below.

  * docs/make-filter-man.sh docs/filter-help.txt:
  The script make-filter-man.sh generates the FILTERS section of the
  transcode(1) manpage. It uses the description compiled into the
  filters. The filter-help.txt file contains additional notes for
  some filters. The format is described at the beginning of the
  file.

2003-09-07 Julio Sanchez <jsanchez at users.sourceforge.net>

  * import/fileinfo.c:
  Fix detection for some MOV files (which start with tag "pnot")

2003-09-04 Tilmann Bitterberg <transcode at tibit.org>

  * filter/*c:
  Add optstr description

2003-09-03 Tilmann Bitterberg <transcode at tibit.org>
  
  * docs/man/tcdecode.1 import/tcdecode.c:
  Document the new -t package flag for tcdecode. See tcdecode(1) for
  more information

2003-09-03 Benjamin Riefenstahl <Benjamin.Riefenstahl at epost.de>

  * configure.in:
  Detect dlsym_prepend_underscore instead of hard-coding it (Mac OS X).

  * configure.in, acinclude.m4:
  Detect and use Fink packages (Mac OS X).

2003-09-03 Tilmann Bitterberg <transcode at tibit.org>

  * export/{export_xvid[234].c}:
  Fixes for MacOSX (dlerror must be const) and verbose debugging
  for export_xvid2

2003-09-03 Tilmann Bitterberg <transcode at tibit.org>

  * filter/extsub/filter_extsub.c tools/tcmodinfo:
  Enable option string interface in the subtitle filter.

2003-09-03 Nicolas Laurent <nl at gnu.org>

  * export/aud_aux.c: 
  Completely rewritten audio export core. There should be no user
  visible changes.

2003-09-02 Tilmann Bitterberg <transcode at tibit.org>

  * import/{Makefile.am Makefile.in fileinfo.c ioaux.c magic.h
  probe_stream.c tc.h tcxpm2rgb.c import_vnc.c probe_vnc.c
  src/probe.c}:
  Enable support for VNC (Virtual Network Client) recordings. To
  use this (IMHO pretty cool) feature, you need vncrec from
  <http://www.sodan.org/~penny/vncrec/>
  I have created a video tutorial about how to use this new module,
  grab the clip from
  <http://zebra.fh-weingarten.de/~transcode/pre/tc-vnc-tutorial.avi>

2003-09-02 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avilib.c import/extract_pcm.c:
  Small fixup for WAVE files with a slighly different header

2003-08-31 Markus Linnala <maage at sauna.ton.tut.fi>

  * acinclude.m4:
  Better check for theora.

2003-08-31 Markus Linnala <maage at sauna.ton.tut.fi>

  * export/export_ogg.c:
  Use oggenc --resample if ifreq is not ofreq (and if the resample
  filter is not used).

  * src/transcode.c:
  Lowest oggenc quality accepted is -1 not 0.

2003-08-29 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_smartyuv.c:
  More MMX code. Slighly faster Highq routine.
  Highq processing is what eats most of the CPU time. If you
  disable high quality processing with highq=0 the filter nearly
  doubles its performance.

2003-08-29 Antonio Beamud Montero <antonio.beamud at linkend.com>

  * filter/filter_compare.c:
  Support for multiple instances. Its now possible to use the
  filter multiple times during a transcode run.

2003-08-29 marrq <marrq at ugcs.caltech.edu>

  * INSTALL:
  Info about how to get access to the CVS tree.

2003-08-27 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_mask.c:
  Fix YUV mode, make the filter clear out chroma, too. Helptext.

2003-08-27 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_smartyuv.c:
  Added MMX assembly code and rewrote some of the other routines

2003-08-26 Antonio Beamud Montero <antonio.beamud at linkend.com>

  * filter/filter_compare.c:
  new debug messeages and make the code more robust

2003-08-25 Malanchini Marzio <marzio_malanchini at vodafone.it>
  
  * docs/export_pvm.txt export/export_pvm.c
  pvm3/{export_pvm_slave.c external_codec.c pvm_version.h
  tcpvmexportd.c}:
  support for export_mpeg encode.

2003-08-23 Tilmann Bitterberg <transcode at tibit.org>
  
  * export/{export_ffmpeg.c export_xvid[234].c} src/transcode.c:
  new commandline option --config_dir DIR. This tells the both
  modules -yffmpeg and -yxvid4 to look for their configuration in
  the given directory. Suggested by Joern Reder.

2003-08-23 Edouard Gomez <ed.gomez at free.fr>

  * export/{export_xvid4.c xvid4.cfg xvid4.h}:
  - Added greyscale option and help message.
  - small xvid4.h upgrade.
  - added more help messages to xvid4.cfg
   
2003-08-23 Tilmann Bitterberg <transcode at tibit.org>
  
  * import/import_ogg.c:
  enable real ogg demuxing as it was broken for quite a while.
   
2003-08-23 Christian Marillat <marillat at debian.org>

  * export/Makefile.am export/Makefile.in:
  When doing the symlink for export_xvid.so, respect DESTDIR

2003-08-23 Tilmann Bitterberg <transcode at tibit.org>

  * docs/man/tcdecode.1:
  Add description of -A flags

2003-08-23 Tilmann Bitterberg <transcode at tibit.org>

  * import/import_ffmpeg.c:
  enable support for color space YUV4:1:1p in -V and RGB modes.
  This should enable import_ffmpeg for "dvsd" AVI files.

  * src/transcode.c docs/man/transcode.1:
  WARNING: this change breaks backward compatibility for
  --encode_fields.

  The transcode option --encode_fields now takes an argument
  specifying the type of interlace.

  Valid arguments are:
    p    progressive (default)
    t    top-field first
    b    bottom-field first

  This affects the export_mpeg2enc und export_yuv4mpeg output
  modules. If you don't specify --encode_fields, its assumed to be
  progressive (ie not interlaced) output. Pointed out by Florin
  Andrei.

  * export/export_mpeg2enc.c export/export_yuv4mpeg.c:
  Don't write the XM2AR tag to the stream anymore as it is
  obsolete. Write a correct SAR to the stream. Respect the
  --encode_fields setting.

2003-08-22 Tilmann Bitterberg <transcode at tibit.org>

  * filter/resample/filter_resample.c:
  If filter_resample is used although there is no conversion
  requested (inrate == outrate) return an error. Useful for
  scripts. Suggested by Nicolas Boos.

2003-08-20 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_mpeg.c:
  Flush all buffers at exit. Pointed out by Marzio Malanchini.

2003-08-20 marrq <marrq at ugcs.caltech.edu>
   
  * docs/README.filter.modfps:
  New README file about -J modfps. Contains verbose information on
  usage and workings of this much improved filter. If you plan
  frame rate conversion this document contains very useful
  information.

  * docs/framerate.txt:
  Better categorize the filter modfps and correcting its
  description.

2003-08-20 Malanchini Marzio <marzio_malanchini at vodafone.it>
  
  * docs/export_pvm.txt docs/man/tcpvmexportd.1 docs/pvm.cfg
  export/export_pvm.c pvm3/export_pvm_slave.c
  pvm3/export_pvm_slave.h pvm3/pvm_parser.c pvm3/pvm_parser.h
  pvm3/pvm_version.h pvm3/tcpvmexportd.c:

  added BuildOnlyBatchMergeList=2 in [SystemMerger] section to
  build only the intermediate system files and
  BuildOnlyIntermediateFile in [SystemList] section (dvdauthor
  don't like a merged file).

2003-08-20 marrq <marrq at ugcs.caltech.edu>
   
  * src/encoder.c:
  Fix a bug where a frame gets (post)processed twice mostly
  noteable in split mode (-t)

2003-08-19 Tilmann Bitterberg <transcode at tibit.org>

  * export/tc_lzo.h import/decode_lzo.c import/extract_lzo.c
  export/export_lzo.h:
  unfinished lzo2 stuff to enable better streaming

2003-08-19 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_smartyuv.c:
  More speed optimizations rendering the filter source completely
  unreadable.

2003-08-19 Malanchini Marzio <marzio_malanchini at vodafone.it>

  * acinclude.m4 configure.in docs/export_pvm.txt docs/Makefile.am
  docs/man/Makefile.am docs/man/tcpvmexportd.1 docs/pvm.cfg
  export/export_pvm.c export/Makefile.am Makefile.am
  pvm3/export_pvm_slave.c pvm3/export_pvm_slave.h
  pvm3/external_codec.c pvm3/external_codec.h pvm3/Makefile.am
  pvm3/pvm_functions.c pvm3/pvm_functions.h pvm3/pvm_interface.c
  pvm3/pvm_interface.h pvm3/pvm_parser.c pvm3/pvm_parser.h
  pvm3/pvm_version.h pvm3/tcpvmexportd.c:

  this patch add a new "meta" module that enable transcode to encode
  a video and audio stream on different machine using the PVM3
  library (Parallel Virtual Machine) in a distributed processing
  environments.

  More details in the docs/export_pvm.txt file.

2003-08-19 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/{avilib.c avilib.h}:
  Enable support for reading OpenDML AVI files. I tested this with
  files produced by VirtualDub and with a header of a DV file
  produced by Adobe. Please report problems.

2003-08-19 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avilib.c:
  fixup writing header of PCM tracks

2003-08-15 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_ffmpeg.c:
  Fix a bug in RGB mode where -y ffmpeg used the transcode provided
  buffer to do an rgb2yuv transform. This caused distorted frames
  with a cloning filter (eg. -J modfps). Pointed out by Marrq.

2003-08-15 Tilmann Bitterberg <transcode at tibit.org>
  
  * src/transcode.c:
  Fix a bug with framerate codes. "probe" the frc later (this is not
  the final solution)

  * src/transcode.c:
  Fix a bug in split mode (-t) where transcode did not update the
  audio_out_file. Pointed out by Erik Slagter.

2003-08-15 Tilmann Bitterberg <transcode at tibit.org>
  
  * filter/filter_hqdn3d.c:
  Fix a bug when parsing the options (%f != %lf). Pointed out by
  Erik Slagter.

2003-08-14 Tilmann Bitterberg <transcode at tibit.org>

  * filter/preview{Makefile.am filter_pv.c pv.c pv.h display.c} src/{socket.c
  socket.h filter.c}:
  Add a feature which saves the current displayed frame as a jpeg.
  Note that this doesn't work when you are using -y jpg.
  Hit "j" in the preview window of -J pv or issue the command
  "preview grab" on the socket.

  Also disabled the display hack it does not seem to be needed
  anymore. If segfaults at closing time with -J preview or -J pv
  happen, please report.

2003-08-13 marrq <marrq at ugcs.caltech.edu>
  
  * filter_modfps.c:
  Make the filter independant of the start frame and add a better
  mode=1 (which is now the default).

2003-08-12 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avilib.c import/import_ffmpeg.c:
  Fix a bug when import_ffmpeg didn't detect pass-through mode
  properly.
  Fix a bug when avilib parses the index file.

2003-08-11 Tilmann Bitterberg <transcode at tibit.org>

  * acinclude.m4 aclocal.m4 config.h.in configure export/af6_aux.cpp
  export/export_af6.cpp import/af6_decore.cpp:
  Enable support for new avifile versions. Pointed out by Rainer
  Lay.

2003-08-10 Christopher Cramer <crayc at pyro.net>

  * filter/filter_fps.c:
  Bumped version number.
  Last update screwed up option parsing - fixed.
  Reduced number of printf() calls in help.

2003-08-10 Christopher Cramer <crayc at pyro.net>

  * import/extract_avi.c, import/magic.h, src/probe.c:
  Added support for MSMPEG4 v3 (MP43).
  Improved description of MSMPEG4 v2 (MP42).

2003-08-09 Kurt Huwig <transcode at huwig.de>

  * docs/README.xvid-credits export/xvid_vbr.c:
  Fix a bug related to calculation of total bytes encoded and wrote
  a HOWTO about usage of the xvid[2] credits mode.

2003-08-09 Lenz Grimmer <lenz at grimmer.com>

  * transcode.spec.in:
  fixed docs installation (current spec file did not work on Red Hat
  9); minor cleanups.

2003-08-08 Christopher Cramer <crayc at pyro.net>

  * filter/filter_fps.c:
  Use vob->fps and vob->ex_fps when no options are given.
  Move frame dropping from TC_PRE_PROCESS to TC_PRE_S_PROCESS.

2003-08-07 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_xvid4.c:
  Give a message to the user about an API mismatch when someone
  tries to use -y xvid4 with an old version of libxvidcore.

  * import/magic.h:
  Add a few more codecs for lavc.

  * import/decode_divx.c:
  Removed, it never worked.

  * import/decode_lavc.c import/tcdecode.c:
  stream decoder based on libavcodec. Basically this should enable
  tcdecode to decode all formats libavcodec can decode. Use the -t
  option to tell tcdecode you want "lavc" and then use -x for the
  codec (tcextract -i sample.avi -x yv12 | tcdecode -g 512x384 -x
  divx -t lavc -y yv12).

  * import/import_mplayer.c:
  Make the module respect transcode's -k.

2003-08-06 Benjamin Riefenstahl <Benjamin.Riefenstahl at epost.de>

  * filter/preview/display.c, filter/preview/pv.c:
  MacOSX fixes: Remove the need for on_exit, disable SDL. 

2003-08-06 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c:
  New option --nice which renices transcode to the given positive or
  negative value. -10 sets a high priority; +10 a low priority.
  This might be useful for cluster mode. Pointed out by GigaStorm.

  * src/decoder.c:
  Fix a thread race condition. The frame threads were able to pick up
  a frame although it hadn't be processed by the synchronous
  filters leading to image distortion.
 
2003-08-05 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_jpg.c:
  Native YUV mode encoding; there will be no more an rgb2yuv
  transform needed so its considerable faster.
  
--------------------------------------------
transcode-0.6.9 Tue Aug  5 09:22:09 CEST 2003

  * Terse/less technical ChangeLog:
  - Add subtitle support to -x dvd
  - Big endian fixes for wav audio handling
  - Big xvid update, there are now 3 modules. Read the ChangeLog for this
  - Bugfix for -z; thread issues caused image distortion
  - Bugfix for libac3, can be compiled with -msse now
  - Bugfix in -J text; transparency was broken.
  - Bugfix in -y ogg; quoting related
  - Bugfix in -x ogg; probing and decoding broken
  - Bugfix: avimerge, -split and -sync were broken for PCM audio
  - Docu: (Developer) internal architecture
  - Docu: avisplit(1) explains what do about bad AVI sync.
  - Docu: how to do framerate conversions with transcode
  - Docu: transcode(1) explains the different meanings of -F
  - Enable directory mode for pass-through AVI files with -y raw
  - Filters can now take arguments at any length
  - Fix sefault in tccat when called with no -i argument
  - Improved -J 29to23; more accurate interpolation
  - Improved -J 32detect; now searches chroma planes too
  - Improved filter smartyuv; much faster now
  - Improved filter cut; Make the filter aware of framerate changes
  - Improved option --keep_asr; takes probed import asr into account
  - Improved spec file
  - Internal; New frame attribute TC_FRAME_IS_OUT_OF_RANGE
  - Internal; config parser more generic
  - Internal; really clone a frame
  - MP2/MP3 synchword detection improved, better broken streams handling
  - Native directory mode for -x auto,mp3
  - Nearly bugfix when doing AC3-passthrough with multiple PSUs
  - New command line option --export_fps N,frc
  - New configure switch --with-default-xvid; creates a export_xvid symlink
  - New contrib/mpipe.c; a simple tool for input data multiplexing
  - New filter detectsilence; prints silence position in milliseconds
  - New filter fps; convert framerate X to Y; similar to modfps
  - New filter modfps; convert framerate X to framerate Y
  - New filter msharpen; spatial sharpening
  - New tool tcmp3cut which can cut mp3 streams at milliseconds positions
  - No more Latin-1 characters -- Sorry Thomas .
  - Option -b now takes a 4th argument; lame encoding mode
  - Re-enable detection of DIV3 keyframes with -x divx
  - The linear blend deinterlace now also deinterlaces chroma
  - Transcode now writes a correct AVI PCM header for windows players
  - Variable framerate mpegs support
  - Very much improved MacOSX support
  - libtheora configure check update
  - ./configure's lame detection improved
  - print the correct PCM bitrate
  - Nicer/correct printout for -r
  - xml import module can read all af6 supported codecs


2003-08-05 Tilmann Bitterberg <transcode at tibit.org>

  * import/{ogmstreams.h probe_ogg.h}:
  Fix ogm probing an a few mem leaks.

2003-08-04 Benjamin Riefenstahl <Benjamin.Riefenstahl at epost.de>

  * avilib/avilib.c, avilib/avilib.h:
  Add routines for reading and writing headers and LE encoded PCM data
  for WAV files.

  * export/Makefile.am, export/Makefile.in, export/export_mp2enc.c,
  export/export_sampeg.c, export/export_wav.c, import/extract_pcm.c,
  import/probe_wav.c:
  Use the new routines. 

  * configure.in:
  Add dlsym define for libdlcompat

2003-08-04 Tilmann Bitterberg <transcode at tibit.org>

  * configure.in export/Makefile.am:
  New configure switch:
    --with-default-xvid=xvid2   Default xvid (xvid2)
  Because there is no export_xvid module anymore this option creates
  a symlink from xvidN to xvid so that one can continue to use -y
  xvid.

  * import/import_mp3.c:
  Enable a native directory mode with tccat.

  * export/export_raw.c:
  Enable directory mode for pass-through AVI files, its now possible
  to do: transcode -i dir/ -P1 -o x.avi -x dv,null -y raw,null
  Pointed out by Frederic Briere. (In dir/ are DVSD AVI files)

  * src/transcode.c:
  --keep_asr now takes the probed import aspect ratio into account.
  Pointed out by Bernhard Rosenkraenzer.

2003-08-04 Edouard Gomez <ed.gomez at free.fr>

  * export/export_xvid4.c:
  patch-11
    Module cleanups (comments + missing memory freeing)
  patch-12
    Updated the config system to new transcode capabilities.
  patch-13
    Fixes PSNR U,V planes

2003-08-03 Edouard Gomez <ed.gomez at free.fr>

  * export/{export_xvid4.c xvid4.cfg xvid4.h}:
  The transcode module allowed me to spot bugs in xvidcore...
  Update you xvid-dev-api-4 snapshot to the latest and greatest.
  Here is the changelog summary:
  patch-9
    Added PSNR measurement + Chroma flag bugfix.
  patch-10
    API updates and fix to the PSNR output.

  * libioaux/{configs.c configs.h}:
  Added a CONF_TYPE_SECTION element type to be able to modelize
  sections directly in struct config arrays, it is convenient to
  read various sections at a time in a config file. 
  Added a CONF_TYPE_SECTION element type to be able to modelize
  sections directly in struct config arrays.
  Instead of reading the config file twice to get a section at each
  module_read_config call, you can define an array with
  CONF_TYPE_SECTION elements.

  A CONF_TYPE_SECTION element uses the config fields as follow:
  {"section1", "God damn i'm good", CONF_TYPE_SECTION, 0, 0, 0, NULL},
    ^^^^^^^^^     ^^^^^^^^^^^^^^^        ^^^^^^
  |section name | Section description | type .... not used

  The section name is used while loading the settings, the section
  description is used (when given) as a description for the
  module_print_config function (else it uses the section name). See
  the source code for more comments and a usage example.

2003-08-03 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_smartyuv.c:
  Significant speed increase by doing careful plain C optimizations.
  On my system, the filter now runs at 24.5 fps instead of 16.8 fps.

2003-08-02  Benjamin Riefenstahl  <Benjamin.Riefenstahl at epost.de>

  * filter/extsub/filter_extsub.c, filter/extsub/subtitle_buffer.c,
  import/clone.c, import/packets.c, src/decoder.c, 
  src/frame_threads.c, src/transcode.c:
  Workaround for MacOSX pthreads limitation.  Add pthread_testcancel
  to all pthread_cond_wait and sigwait.  Add pthread_cond_signal or
  pthread_kill to all pthread_cancel/pthread_join.  Cleanup for
  previous attempts at fixes. 

2003-08-02 Tilmann Bitterberg <transcode at tibit.org>

  * filter/{filter_32detect.c filter_aclip.c filter_astat.c
  filter_compare.c filter_cpaudio.c filter_cshift.c
  filter_dilyuvmmx.c filter_dnr.c filter_hqdn3d.c filter_invert.c
  filter_logo.c filter_logoaway.c filter_mask.c filter_nored.c
  filter_normalize.c filter_pp.c filter_skip.c
  filter_smartdeinter.c filter_smartyuv.c filter_smooth.c
  filter_testframe.c filter_unsharp.c filter_videocore.c
  filter_xsharpen.c filter_yuy2toyv12.c ivtc/filter_decimate.c
  ivtc/filter_ivtc.c yuvdenoise/filter_yuvdenoise.c
  yuvdenoise/filter_yuvmedian.c}:
  Fix a typo.

2003-07-31 marrq <marrq at ugcs.caltech.edu>
  
  * src/encoder.c:
  Make skipping work for POST_S plugins. There are still a few
  issues to be sorted out, for example what should happen to a frame
  if it is SKIPPED and CLONED?

  * filter/filter_cut.c:
  Make the filter_cut be aware of an fps change. If input
  and output frame rates were different it will skip more/less
  audio frames so that they'll be in sync.

2003-07-31 Lenz Grimmer <lenz at grimmer.com>

  * transcode.spec.in:
  New description of transcode for the RPM file, fixed file list,
  use more macros (_mandir, _libdir), added URL.

2003-07-31 Tilmann Bitterberg <transcode at tibit.org>

  * bbmpeg/tcmplex/tcmplex.c import/ioaux.c src/transcode.c
  tools/tcmodinfo.c tools/avifix.c tools/avimerge.c
  tools/avisplit.c tools/avisync.c tools/aviindex.c:
  Remove the Latin-1 character from output it caused garbled
  displays sometimes. Sorry Thomas. Pointed out by Benjamin
  Riefenstahl.

  * src/{framebuffer.h filter.c}:
  Give the filters a hint about the frame size. That might not be
  the framesize which the filter will get at runtime, but the
  runtime size will be less or equal to that at init time. Changes
  in the frame_list_t structures were needed for a sane
  implementation.

  * configure.in */Makefile.in:
  Remove configure check for XVID, it is not needed since transcode
  ships all the files required.

  * contrib/mpipe.c:
  A very small and simple tool which can be used as a pipe
  multiplexer. It is useful if you want to run tcdemux, tcscan and
  copy the file to disc from the dvd at the same time:
     $ tccat -i /dev/dvd -P1 | \
     mpipe \
     "tccat -t vob >file" \
     "tcdemux -x vob -W>seek.log" \
     "tcextract -t vob -x ac3 | tcdecode -x a52 | tcscan -x pcm"
  Tool suggested by GigaStorm. NB: this is a five-minute hack so
  don't expect wonders on performance.

2003-07-30 marrq <marrq at ugcs.caltech.edu>

  * filter/{filter_32detect.c filter_aclip.c filter_astat.c
  filter_compare.c filter_cpaudio.c filter_cshift.c
  filter_dilyuvmmx.c filter_dnr.c filter_hqdn3d.c filter_invert.c
  filter_logo.c filter_logoaway.c filter_mask.c filter_nored.c
  filter_normalize.c filter_pp.c filter_skip.c
  filter_smartdeinter.c filter_smartyuv.c filter_smooth.c
  filter_testframe.c filter_unsharp.c filter_videocore.c
  filter_xsharpen.c filter_yuy2toyv12.c ivtc/filter_decimate.c
  ivtc/filter_ivtc.c yuvdenoise/filter_yuvdenoise.c
  yuvdenoise/filter_yuvmedian.c}:
  These filters will never need skipped frames so if they encounter
  a skipped frame, they'll return immediatly.

  * filter/filter_modfps.c:
  The filter now supports two modes of operation,  buffered and
  unbuffered, unbuffered is quick, but buffered, especially when
  dropping frames should look better. See "tcmodinfo -i modfps" for
  options.
  

2003-07-30 Edouard Gomez <ed.gomez at free.fr>

  * import/{import_xvid.c decode_xvid.c}:
  Fix includes, since xvidcvs.h does not exist anymore.

  * Big update of all export_*xvid* modules:
  o  export_xvid -> export_xvid2. This module uses xvid-0.9.x.
  
  o  export_xvidcvs -> export_xvid3. This module uses HEAD which
     is available in xvid cvs.
  
  o  new module export_xvid4. This module will use xvid-1.0 when
     this xvid library will be released by the XviD team. xvid4 is to
     be configured through the well commented xvid4.cfg. If you want
     improved quality, you must tweak xvid4.cfg otherwise the quality
     will be the same as what xvid2 does because of the default
     parameters.
  
  o  all xvidraw modules removed. If you want to write a raw
     bitstream, use transcodes -F option: `-F raw'.
  
  o  all modules can coexist. You can have several libxvidcore.so.$VER
     libraries installed, the module will pick the right one. Don't
     forget to run ldconfig so that the export module will find the
     codec.

  o  transcode now ships three configuration files for the different
     xvid export modules. The file xvid2.cfg is read by -y xvid2,
     xvid3.cfg is read by -y xvid3 and xvid4.cfg is read by -y xvid4
     The files are looked for in the current working directory. Each
     module will tell you if it found its config file or not.

  o  To fetch the various xvid codecs, use the following cvs
     commands. Set your CVSROOT, login and check out.
     export CVSROOT=":pserver:anonymous@cvs.xvid.org:/xvid"
       export_xvid2 : cvs -z3 co -rrelease-0_9_2 xvidcore
       export_xvid3 : cvs -z3 co -rHEAD          xvidcore
       export_xvid4 : cvs -z3 co -rdev-api-4     xvidcore
     build and install xvid as usual. More help is at
     <http://www.xvid.org/modules.php?op=modload&\
     name=Sections&file=index&req=viewarticle&artid=1&page=1>

2003-07-30 Tilmann Bitterberg <transcode at tibit.org>

  * import/import_divx.c:
  Fix a compile error. Do not use new structures with old codec.
  Pointed out by Edouard Gomez.

  * import/import_rawlist.c:
  Add a few more colorspace conversions.

  * src/filter.c:
  The filters now return if they don't want skipped frames so there
  is no need anymore for the filter core to skip the filters

  * export/export_xvid[234].c:
  Use vob->ex_fps instead of vob->fps

  * docs/architecture.txt:
  A document describing the internal architecture of transcode and
  contains useful information if you want to write a filter but are
  not sure which slot transcode offers you should choose. Needs to
  be worked on.

  * docs/framerate.txt:
  A document describing how to do framerate conversions with
  transcode. Needs to be worked on.

2003-07-29 Christopher Cramer <crayc at asuka.halfassedprojects.com>

  * filter/filter_fps.c:
  This patch adds the "fps" filter to transcode, which can convert
  any video frame rate to any other rate by repeating or dropping frames.
  For example:
        -J fps=25:29.97         convert from 25 fps (PAL) to 29.97 fps (NTSC)
        -J fps=120:12           convert from 120 fps to 12 fps
        -J fps=15:30            convert from 15 fps to 30 fps
  The frame rate you should give with the -f option should be the
  output frame rate. If --export_fps is specified, the supplied
  value will be taken for export.

  * import/import_divx.c:
  Again fixed empty frames problem with some divx3 and xvid files
  by buffering every frame.

2003-07-29 Tilmann Bitterberg <transcode at tibit.org>

  * import/ac3scan.c:
  Fix a long standing AC3 pass-through bug with multiple PSUs. The
  problem was that with AC3 we encoded more pictures then with MP3
  and so we were running out of audio which caused bas sync at PSU
  boundaries. After some weeks of intensive debugging I found the
  bug has its roots in a float to int conversion. So now we
  correctly round and the bug is gone. Thanks go to Tyler for
  samples.

  * import/import_divx.c:
  Re-enable detection of DIV3 keyframes. Useful for broken files
  when rebuilding the index with -P3. Pointed out by LethalWP

2003-07-28 Tilmann Bitterberg <transcode at tibit.org>

  * export/{export_ffmpeg.c ffmpeg_cfg.h ffmpeg_cfg.c}
  libioaux{configs.c configs.h}:
  Moved the `struct config' routines to a more generic place and
  made them more generic. Idea by Edouard Gomez.
  The search location of the ffmpeg.cfg changed. Instead of looking
  for $HOME/.ffmpeg.cfg transcode will now look at
  $HOME/.transcode/ffmpeg.cfg.

  * src/transcode.c:
  Fix a bug related to fps/export_fps handling

  * src/export_mpeg2enc.c:
  Respect export_fps and not the import side.

  * filter/filter_detectsilence.c:
  New filter. This filter detects silence in the audio stream and
  prints out the position in Milliseconds. This filter may be
  useful for splitting a large MP3 stream recorded from radio.
  At closing time, the filter prints out a `tcmp3cut' commandline
  which the user can execute then.

  * tools/tcmp3cut.c:
  A very simple utility which can split MP3 files at given
  millisecond positions.

  * src/transcode.c export/aud_aux.c:
  New option for lame. Option -b now takes a 4th argument which
  controls which mode lame will use for encoding. Mono will be used
  when dealing with mono audio streams. Available modes are:
      0   Joint Stereo (default)
      1   Full stereo
      2   Mono


2003-07-26 Tilmann Bitterberg <transcode at tibit.org>

  * import/tccat.c:
  Fix a segfault when tccat reads from stdin. Pointed out by
  heffner_ on #transcode.

  * src/filter.c:
  Fix errors reported by valgrind because of new dynamic string
  handling.
  
2003-07-25 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.[ch]:
  support for ex_fps. Its use will be explained in a separate
  document. The export fps are set to the import fps if not
  specified.

  * src/encoder.c:
  maintain a counter for skipped frames.

  * filter/filter_29to23.c:
  Move the filter the PRE_S since skipping frames in POST_S is not
  possible.

  * src/video_trans.c src/audio_trans.c src/filter.c
  src/frame_postprocess.c src/frame_preprocess.c:
  Support for new frame attribute TC_FRAME_IS_OUT_OF_RANGE.

  * src/frame_threads.c:
  Support for generic cloning (not only in encoder) and reenable the
  skipping in frame_threads. This is now possible because transcode
  can differentiate between frames which are skipped and frames
  which are not to be encoded because they do not fit in a range by
  -c.

2003-07-24 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_32detect.c:
  New options for setting different thresholds for chroma than for
  luma. This is useful when looking for frames which were missed by
  the ivtc and only have chroma interlaced but not luma. The
  thresholds for chroma need to be about the half of luma (which is
  the default). See "tcmodinfo -i 32detect" for all options.

  * export/export*.c:
  Replace all uses of vob->fps with vob->ex_fps

  * import/{demuxer.c import_vob.c seqinfo.c seqinfo.h tcdemux.c}:
  support for tcdemux' new option -H which disables "smooth"
  demuxing mode. This is needed for variable fps input mpegs. The
  switch -H means "hard sync".

  * src/{Makefile.am Makefile.in}:
  remove a bogus file.

  * src/video_yuv.c:
  When doing the linear blend deinterlacer (-I5) deinterlace chroma
  too, not only luma.

  * src/tc_defaults.h:
  New frame attribute: OUT_OF_RANGE. This attribute alles the frame
  processing threads and the encode do differ between (single)
  skipped frames and frames which do not fall in the region given
  by -c.

  * src/frame_buffer.h:
  Headers for the cloning frames functions which are already
  committed.

2003-07-23 William Hawkins <whawkins at vt.edu>
  
  * filter/filter_msharpen.c:
  New filter ported from VirtualDub. This filter performs sharpening
  limited to edge areas of the frame. You also get this help by
  doing "tcmodinfo -i msharpen".
  - Overview
    This plugin implements an unusual concept in spatial sharpening.
    Although designed specifically for anime, it also works well with
    normal video. The filter is very effective at sharpening important
    edges without amplifying noise.
  - Options
    - Strength 'strength' (0-255) [100]
      This is the strength of the sharpening to be applied to the edge
      detail areas. It is applied only to the edge detail areas as
      determined by the 'threshold' parameter. Strength 255 is the
      strongest sharpening.
    - Threshold 'threshold' (0-255) [255]
      This parameter determines what is detected as edge detail and
      thus sharpened. To see what edge detail areas will be sharpened,
      use the 'mask' parameter.
    - Mask 'mask' (0-1) [0]
      When set to true, the areas to be sharpened are shown in white
      against a black background. Use this to set the level of detail to
      be sharpened. This function also makes a basic edge detection filter.
    - HighQ 'highq' (0-1) [1]
      This parameter lets you tradeoff speed for quality of detail
      detection. Set it to true for the best detail detection. Set it to
      false for maximum speed.

2003-07-22 Max Kliche <max at kliche.org>

  * libac3/imdct.c:
  Found a way to free a register so that the code compiles with
  "-march=pentium3 -mfpmath=sse -msse". Pointed out by Brian Hall.

2003-07-22 Tilmann Bitterberg <transcode at tibit.org>

  * export_mpeg2enc.c:
  Support for --encode_fields

  * src/{audio_buffer.c video_buffer.c}:
  add {a,v}frame_dup functions to insert a copy of the current frame
  after the current frame. The new frame will be a complete copy
  with all its attribute and payload.

2003-07-21 William Hawkins <whawkins at vt.edu>

  * import/import_dvd.c:
  Add subtitle support to -x dvd (support for the extsub filter)

2003-07-18 marrq <marrq at ugcs.caltech.edu>

  * filter/filter_modfps.c:
  NEW: This filter aims to allow transcode to alter the fps
  of video.  While one can reduce the fps to any amount,
  one can only increase the fps to at most twice the
  original fps.
  There are two modes of operation, simple dropping and cloning,
  and one can decimate when lowering the framerate (I.E. allow
  3 out of every 5 frames will pick the three frames least like the
  frame following it.  This should yield best results, but won't
  work for all framerates.
  Temp: decimate not implemented.
  See tcmodinfo -i modfps for options.

2003-07-18 Antonio Beamud Montero <antonio.beamud at linkend.com>
  
  * filter/filter_compare.c:
  NEW: This filter looks for a pattern in the video stream. When it
  finds one, it notes that in a log file. See tcmodinfo -i compare
  for help.

2003-07-18 Max Alekseyev <relf at os2.ru>

  * filter/filter_29to23.c:
  Do more accurate linear interpolation, YUV support and cleanup

2003-07-17 Tilmann Bitterberg <transcode at tibit.org>
  
  * src/{video_rgb.c video_trans.c video_trans.h video_yuv.c}:
  Make the flipping routine (-z) thread-safe. When running on
  multiple CPUs with more than 1 frame processing threads, the
  flipping caused distortion. Pointed out by Max Alekseyev.
  
2003-07-16 Tilmann Bitterberg <transcode at tibit.org>

  * src/filter.c src/filter.h:
  When passing large options strings into the filter core, it
  segfaulted. Removed the hardcoded max length and changed to
  dynamic allocation. Pointed out by Jason Bishop.

  * acinclude.m4 aclocal.m4 configure:
  Decrement lame version when lame advertises to be an alpha or
  beta version. Pointed out by Jason Bishop.

  * export/export_ogg.c:
  Fix a quoting bug which causes oggenc to fail when there are
  spaces in the output filename. Pointed out by Christophe Nowick.

2003-07-15 Andreas Kies <andikies at t-online.de>

  * import/dvd_reader.c:
  Implement a locking of the DVD device so that not both audio and
  video import hammering on the DVD device at the same time.
  
2003-07-14 Tilmann Bitterberg <transcode at tibit.org>
  
  * import/mpg123.c:
  When searching for MP3/MP2 syncwords be more strict and double
  check to sort out false positives. Pointed out by Sebastian
  
2003-07-13 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_text.c:
  transparency was broken. Pointed out by Ralf Smolarek

2003-07-10 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avilib.c:
  Changed to write a different header for PCM files so that
  windows player like to play the generated file. Pointed out by
  Petr Holub.

  * docs/man/avisplit.1:
  Added a note how to handle files where avisplit produces bad A/V
  sync. Applies to DV AVI files and files produced by mencoder with
  PCM soundtrack.

  * docs/man/transcode.1:
  Explain the various meanings of the -F switch for the different
  export modules.

2003-07-10 marrq <marrq at ugcs.caltech.edu>

  * src/transcode.c:
  When using -r, calculate the correct aspect ratio.

2003-07-09 Tilmann Bitterberg <transcode at tibit.org>

  * tools/avisync, avisplit, avimerge:
  Bugfix when handling files with PCM audio track. Pointed out by
  Petr Holub.

2003-07-09 Marzio Malanchini <marzio_malanchini at vodafone.it>

  * import/af6_decore.cpp import/import_xml.c import/ioxml.c
  import/magic.h:
  enable support for all source files readable by avifile (af6) (see
  document file docs/import-xml.txt).
  
2003-07-08 Tilmann Bitterberg <transcode at tibit.org>

  * acinclude.m4 aclocal.m4 configure import/probe_ogg.c:
  check for libtheora version after 20030609. Pointed out by Rainer
  Lay.

  * src/transcode.c:
  print meaningful PCM bitrate

--------------------------------------------
transcode-0.6.8 Mon Jul 7 08:36:58 CEST 2003

  * Terse/less technical ChangeLog:
  - Probing support for FOURCC "DX50" and "XVID"
  - yuy2 mode support in xml import
  - Better signal handling
  - Bugfix in the text filter
  - Bugfix for v4l import module
  - Bugfix for fast rescaler -X
  - Bugfix for the telecine filter
  - Bugfix for the text filter
  - Bugfix for tcprobe with corrupted AVI files
  - Bugfix for -x auto,dvd and -x auto,ac3 with AC3 pass-through
  - Bugfix for probing YUV4MPEG2 files
  - Bugfix for RH9/NPTL
  - Bugfix for -x im.
  - No more zombies during PSU mode
  - Fix YUV encoding in image export modules
  - Greatly improved avisplit, avimerge and avisync
  - tcscan prints duration estimation for MP3 files
  - avimerge can multiplex raw MP3 and AC3 files into an AVI
  - Support for reading AVI files with broken MP3 audio tracks
  - Support for reading large AVI files
  - Support for adding comments in the AVI header
  - Support for fast reading of vob files with multiple ranges
  - Support for VBV profiles for divx5; fix two-pass encoding
  - Support for any width/height in -y mov
  - configure improvements
  - New export module debugppm mainly for developer use
  - Cleanups for filters
  - New filter hqdn3d; a fast denoiser
  - New filter unsharp; unsharp mask or gaussian blur
  - New filter nored; color adjustment
  - New filter doublefps; double frame rate
  - New filter smartbob; deinterlacing for double-frame-rate output
  - New filter slowmo; poor man's slow-motion effect
  - New filter smartyuv; smartdeinter for YUV mode.
  - Upgrade included libavcodec to 4669
  - New utility aviindex; generates index of AVI file.
  - Experimental seeking/fast skipping support in AVI files with --nav_seek
  - Faster skipping. If a frame is skipped, it will bypass all transforms
  - Big xml update. Improved documentation an more features
  - Detection of theora codec in OGG/OGM files.
  - Setting the video bitrate through -w for -y mpeg


2003-07-06 Tilmann Bitterberg <transcode at tibit.org>

  * import/a52_decore.c:
  tcdecode can now behave like tcextract. It decodes the stream but
  will write out the raw stream it got from the input pipe. This is
  currently only used for debugging

  * filter/filter_clone.c:
  Make the filter to do something useful. It will convert a 15 fps
  video to 25 fps by cloning frames.

  * import/import_mp3.c:
  Enable fast skipping in AVI files by use of a nav_seek file. See
  aviindex(1).

  * import/import_vob.c:
  Cleanup; fix a alignment bug at the beginning of the stream and
  disable dropping of AC3 frames (the core does that).

2003-07-04 Greg Brauer <greg at wildbrain.com>

  * export/export_mov.c:
  Only cyuv requires the width and height to be a multiple of 16.

  * import/import_im.c:
  import_im.c (originally written by me) was not handling file names
  for frames numbered without leading 0s correctly, causing fatal
  segfaults. This patch fixes the bug.

2003-07-04 Stefan Jones <cretin at gentoo.org>

  * import/clone.c:
  Make clone_close be able to be safely called at any time. (Fixes
  an RH9/nptl bug).

2003-07-04 Tilmann Bitterberg <transcode at tibit.org>

  * import/tcextract.c:
  Add -f option to pass in a nav_seek file.

  * import/tcdecode.c:
  Add a -y raw option to tcdecode telling tcdecode to decode the
  audio (only works for AC3 currently) put to write out the
  undecoded stream.

2003-07-03 Bernhard Rosenkraenzer <bero at arklinux.org>

  * src/probe.c import/probe_ogg.c acinclude.m4 configure.in:
  Preliminary probing support for Theora <http://www.theora.org/>
  coded video files. Native transcoding is not available yet so the
  mplayer import module will be used which works fine.

  * bbmpeg/tcmplex/tcmplex.c bbmpeg/params.c bbmpeg/bbencode.h
  export/export_mpeg.c src/transcode.h src/transcode.c
  docs/man/transcode.1 docs/html/options.html:
  Support different bitrates for MPEG-1/MPEG-2 encoding using export_mpeg.c
  - writing DVDs at 1800 kbit/s is not acceptable most of the time.
  It will now default to 6000 kbit/s for DVD.

  * avilib/avilib.c:
  Make avilib more robust when dealing with corrupt AVI files.

2003-06-30 Marzio Malanchini <marzio_malanchini at vodafone.it>

  * docs/import-xml.txt /import/import_xml.c import/ioxml.c
  import/ioxml.h import/Makefile.am import/probe_xml.c
  import/tcxmlcheck.c src/transcode.c docs/man/tcxmlcheck.1
  docs/man/tcdecode.1 docs/man/transcode.1:
  - change the evaluation order of audio parameter (priority: -p
    audio.smil, <audio> tag and then <video> tag)
  - review of syncronization time for ntsc and pal
  - support for source with different height and width 
  - adding target-height target-width and resize-filter
  - document file rewritten (see docs/import-xml.txt)

2003-06-30 Tilmann Bitterberg <transcode at tibit.org>
  
  * audio_trans.c decoder.c encoder.c filter.c frame_postprocess.c
  frame_preprocess.c frame_threads.c video_trans.c:
  Skipped frames handling redesign. If a frame is skipped - either
  by being out of range by -c or internal by a filter module - it
  will bypass all transformations be that internal ones like
  clipping and rescaling or external ones via filter plugins.
  With -c, the frames are marked as skipped very early in the
  decoder right when the frame arrives transcode-core.
  The frame_threads routine does not skip frames anymore, it will
  pass through all frames to the encoder. The encoder will honor the
  TC_FRAME_IS_SKIPPED flag then and won't encode this frame. This
  leads to significantly faster -c processing. The filter_cut should
  be obsolete now.

  * import_im:
  Make the regex a little better. Following should work:
    $ transcode -i [...] -y ppm -o snapshot-
    $ transcode -i snapshot-000000.ppm [...]

  * import/import_dvd.c import/import_ac3.c:
  Small bugfix. We read too much ac3 data from the pipe when we have
  read the header only earlier.

  * import/extract_yuv.c:
  The YUV4MPEG2 header was not read correctly.
  
2003-06-27 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_text.c:
  Small bugfix for YUV mode. Do not clamp but rescale from the range
  from 0-255 to 16-240

2003-06-26 Tilmann Bitterberg <transcode at tibit.org>

  * tools/aviindex.c:
  When reading the file in dumb mode, scan the file for correct
  position entries in the idx1 chunk. Sometimes these entries are
  relative to the start of the file, sometimes relative to start of
  the "movi" chunk.

  * src/transcode.c:
  When doing pass-trough mode, we have to start "decoding" at a
  keyframe position and its not possible to skip frames to the
  position specified by -c.
  
2003-06-25 Tilmann Bitterberg <transcode at tibit.org>
  
  * tools/aviindex.c docs/man/aviindex.1:
  New tool with verbose documentation. Extract from the manpage:

  aviindex reads the AVI file ifile and writes the index into ofile. This
  can either happen in "dumb" mode where aviindex looks for an existing
  index (and trusts this index!)  in the file and dumps this index into a
  human readable form. The "dumb" mode is used, when -n is NOT specified
  or when the filesize of the input file is smaller than 2 GB.

  In "smart" mode, aviindex scans through the complete AVI file and
  searches for chunks (may that video or audio) and reconstructs the
  index based on the information found. If an index chunk is found acci-
  dently, aviindex will use the information in this index to recover the
  keyframe information, which is important. aviindex will use smart mode,
  if given the -n option OR if the AVI file is larger than 2 GB. If the
  file is large, the index chunk cannot be found the usual way so one
  must use -n but it is possible that there is an index chunk in this
  file. Cross fingers.

  The generated index file serves different purposes.

    - The library which handles AVI files in transcode(1) can read
      such index files and use this file to rebuild the index instead
      of scanning through the whole AVI file over and over again.
      Reading the index from the index file is *much* faster than
      scanning through the AVI.

    - It can be used as a seeking file. When given to transcode via
      the --nav_seek switch, transcode will use the file to seek
      directly to the position you specified via -c. This also works
      for multiple -c ranges.

 
  Example:
     $ aviindex -i 3GBfile.avi -o 3GB.index
  generates and index of the large file 3GBfile.avi. You can use the
  file 3GB.index to tell transcode to read the index from this file
  and not from the avi. This leads to much faster startup time.

  Suppose 3GBfile.avi has MPEG4 video and PCM sound and you want to
  encode several ranges.

    $ transcode -V -i 3GBfile.avi --nav_seek 3GB.index -x xvid,avi \
      -c 5000-6000,0:20:00-0:21:00,100000-100001 \
      -y xvid --lame_preset standard -o out.avi

  * export/{export_ffmpeg.c ffmpeg_cfg.c ffmpeg_cfg.h} ffmpeg/*:
  Upgrade to ffmpeg-cvs-2003-06-24 (4669) and modify export module to
  understand all the new parameters.

  * avilib/avilib.{c,h}:
  Routine for reading the index of an AVI from a separate file.

  * import/tcprobe.c:
  Accept a nav_seek_file on the commandline and pass it through to
  the selected probing routine for all modules which deal with AVIs.
  If the AVI which is to be probed has no index and an index file is
  specified on the commandline, this will lead to much faster
  probing time.

  * src/probe.c:
  Pass nav_seek_file down to tcprobe if specified.

  * src/transcode.c, src/transcode.h:
  New field in the vob structure for the the nav_seek_file. This
  allows the import modules which have do deal with AVI files
  to directly jump to a posion in the AVI file given by transcodes
  -L option.

  * import/`grep -l AVI_open *.c`:
  At opening time, seek to the correct position in th AVI file.

2003-06-23 Tilmann Bitterberg <transcode at tibit.org>
  
  * filter_smartyuv.c:
  New filter smartyuv. This filter is basically a rewrite of the
  smartdeinter filter by Donald Graft (without advanced processing
  options) for YUV mode only. Its faster than using the smartdeinter
  in YUV mode and is also tuned with its threshold settings for YUV
  mode. The filter detects motion and static areas in an image and
  only deinterlaces (either by blending or by cubic interpolation)
  the moving areas. The result is an image with high detail in
  static areas, no information is lost there.

  Options:
  'motionOnly' Show motion areas only (0=off, 1=on) [1]
    'diffmode' Motion Detection (0=frame, 1=field, 2=both) [0]
   'threshold' Motion Threshold (luma) (0-255) [14]
 'chromathres' Motion Threshold (chroma) (0-255) [7]
  'scenethres' Threshold for detecting scenechanges (0-255) [31]
       'cubic' Do cubic interpolation (0=off 1=on) [1]
       'highq' High-Quality processing (motion Map denoising) (0=off 1=on) [1]
       'Blend' Blend the frames for deinterlacing (0=off 1=on) [1]
    'doChroma' Enable chroma processing (slower but more accurate) (0=off 1=on) [1]
     'verbose' Verbose mode (0=off 1=on) [1]

  The threshold settings should be sufficent for most users. As a
  rule of thumb, I recommend setting the chroma threshold to about
  the half of the luma threshold. If you want more deinterlacing,
  lower the thresholds. The scene threshold can be easily found by
  turning on verbose mode and the preview filter. In verbose mode,
  the filter will print out, when it detects a scene change. If
  scenechanges go by unnoticed, lower the scene threshold. You can
  completly disable chroma processing with the doChroma=0 option.
  Here is a sample commandline

    -J smartyuv=hiqhq=1:diffmode=2:cubic=1:Blend=1:chromathres=4:threshold=8:doChroma=1

  * filter_slowmo.c:
  This filter produces a simple slow-motion effect by
  duplicating certain frames. I have seen this effect
  on TV and despite its a simple algorithm it works
  quite well. The filter has no options. Example commandline:
   
    -J slowmo

  * filter_doublefps.c filter_smartbob.c:
  These two filters go together.
  The filter doublefps takes one frame as input and spits out two
  frames at half height. It uses the odd and the even fields to make
  up two frames out of one. The filter smartbob merges these
  field-frames back into two full-sized frames. While it does that,
  it uses motion adaptive deinterlacing.

  The filter doublefps only has one option: shiftEven which is off
  by default. If you experience very jerky
  "forward-backward-forward-backward" movement set this to 1.

  The filter smartbob has these options:
      'motionOnly' Show motion areas only (0=off, 1=on) [1]
       'threshold' Motion Threshold (0-255) [15]
         'denoise' denoise (0=off, 1=on) [0]
       'shiftEven' Phase shift (0=off, 1=on) [0]

  The filter_smartbob.c is based on yet another excellent
  VirtualDub filter by Donald Graft.
  http://shelob.mordor.net/dgraft/bob.html
  The filter_doublefps is my invention (not very difficult, though)

  If you force reading the imput file twice its actual frames 
  per second, A/V will stay in sync (for PAL):
   -f 50 -J doublefps=shiftEven=1,smartbob=denoise=1:threshold=12

  * filter/*.c:
  -Wall warning fixes

2003-06-20 marrq <marrq at ugcs.caltech.edu>

  * src/video_rgb.c src/video_yuv.c:
  Bugfix for fast rescaler -X. Special case for the last line of the
  frame. It got merged with the line after it leading to green
  artifacts in YUV mode. It was wrong for RGB mode too but wasn't
  very noticeable.
  
2003-06-18 marrq <marrq at ugcs.caltech.edu>

  * export/export_debugppm.c:
  This module aids debugging with writing out raw frames.
  If using rgb color, three grayscale pgm's will be made                                          
  so one can look at a colormap of each separate color.                                           
  Names end in _{r,g,b).pgm                                                                       
                                                                                                        
  If using yuv color, one pgm with 3 sub images within it                                         
  will be written.  The large sub image is the original                                           
  image resolution and the luminance data.  Beneath that,                                         
  at 1/4 size are two images for each chrominance.  The                                           
  first chrominance following Y data is on the left.

2003-06-18 Tilmann Bitterberg <transcode at tibit.org>

  * avilib/avilib.{c,h}:
  Enable reading of files >2GB. Note that does not mean that large
  AVI files are a legal thing to do, its still out of the spec. The
  index will be missing (or can not be found) from such a file and
  it needs to be rebuilded at transcodes startup time, which will
  cause a delay, because the whole file needs to be scanned. This
  change just changes file offset where transcode reads from the
  file from "long" to "off_t" which should have always be the case.
  
  * avisplit, avimerge, avisync:
  Greatly improved versions. A lot of different AVI files should now
  be handled correctly with best available A/V sync.
  Added synced time support for PCM audio in AVI files. Files
  produced by mencoder (and of course transcode) should now be
  handled now. Splitting AVI files created by mencoder may lead to
  offsync but thats not a bug of avisplit. Mencoder writes one large
  audio chunk which will last ~12 frames while transcode writes one
  small audio chunk per frame which enables easier splitting.

  * configure:
  Check if the CXX (C++) eats largefile flags.

2003-06-16 Tilmann Bitterberg <transcode at tibit.org>

  * filter_unsharp.c:
  New filter ported from mplayer (vf_unsharp). This filter can
  applies an unsharp mask or gaussian blur to the image
  This filter blurs or sharpens an image depending on
  the sign of "amount". You can either set amout to the
  same for luma and chroma or you can set it individually
  A positive value for amount will sharpen the image, a negative
  value will blur it. A sane range for amount is -1.5 to 1.5.  The
  matrix sizes must be odd and define the range/strength of the
  effect. Sensible ranges are 3x3 to 7x7.
  It sometimes makes sense to sharpen the luma and to blur the
  chroma. Sample string is:
  
  luma=0.8:luma_matrix=7x5:chroma=-0.2:chroma_matrix=3x3

  Options:
           amount : Luma and chroma (un)sharpness amount
           matrix : Luma and chroma search matrix size
             luma : Luma (un)sharpness amount
           chroma : Chroma (un)sharpness amount
      luma_matrix : Luma search matrix size
    chroma_matrix : Chroma search matrix size
              pre : run as a pre filter

 * export_toolame.c:
 Do not calculate float from 2 ints. Pointed out by elronxenu.

2003-06-14 Tilmann Bitterberg <transcode at tibit.org>
  
  * avilib.c:
  Bugfix when writing length for AVI comments.
  Bugfix for AVI_read_audio_chunks, advance the chunk counter also for zero
  sized frames.

2003-06-12 Tilmann Bitterberg <transcode at tibit.org>

  * export_divx5.c:
  Apply VBV settings to first pass, too.

2003-06-11 Tilmann Bitterberg <transcode at tibit.org>

  * src/decoder.c export/export_xvidcvs.c:
  Added tested support for bframes. The special thing about bframes
  is, the encoder will not output a frame because it first has to
  fill its internal buffers. So transcode is not allowed to write
  either a 0byte video frames (causes problems on some decoders) but
  also should write no audio frame.
  
  * import_{vob,dvd}:
  Fix MP2 decoding which I broke when adding support for broken MP3
  streams.
  
  * import_v4l.c:
  Typo/segfault. Pointed out by Aurelien Marchand.
  
  * import/{extract_avi.c import_ogg.c magic.h probe_ogg.c probe.c}:
  Add probing/decoding support for the FOURCC "XVID".

2003-06-10 Tilmann Bitterberg <transcode at tibit.org>

  * import/decode_mp3.c import/import_mp3.c import/mpg123.c
  import/mpg123.h import/tc.h import/tcdecode.c
  import/tcextract.c:
  Reading mp3 which did not start with a mp3 header caused problems
  sometimes. Sometimes -- when scanning through the file for a MP3
  sync byte transcode found illegal ones and treated them as valid.
  This caused a tons of messages like:

   bitstream problem: resyncing...
   fatal error. MAXFRAMESIZE not large enough.

  Pointed out by Cornelius Klbel.

  * filter/filter_tc_video.c:
  The telecide video filter produced wrong (not telecide but
  something else) for YUV mode and is still wrong in RGB mode.

  * export_divx5.c src/transcode.c docs/man/transcode.1:
  When using divx5 2pass (Nth-pass) with the new divx5.0.5 transcode
  set some wrong VBV parameters. Added support for predefined VBV
  profiles and user defined parameters through the new commandline
  parameter --divx_vbv_profile and --divx_vbv.
  Valid values are (default is 3):

     0    Free/No profile  (Use supplied values)
     1    Handheld         (  320,  16,  3072)
     2    Portable         ( 1920,  64, 12288)
     3    Home Theatre     (10000, 192, 36864)
     4    High Definition  (20000, 384, 73728)
  
2003-06-09 Tilmann Bitterberg <transcode at tibit.org>

  * export/* avilib.c docs/avi_comments.txt:
  It is now possible to write tomb-stone data like the name of the
  creator or the Subject of the file into the AVI header. There are
  a lot of tags available see the sample config file
  docs/avi_comments.txt. Example:
  
   transcode [...] -y xvid -o foo.avi --avi_comments mycomms.txt
   
  Where mycomms.txt is:

   # Name of the file
   INAM My 1st Birthday
   # Subject
   ISBJ My first steps!
   # Artist
   IART My proud family

2003-06-08 Tilmann Bitterberg <transcode at tibit.org>

  * tools/avimerge.c:
  Enable merging raw mp3 files with avimerge. That means you don't
  have to reencode a MP3 into an AVI container but can work directly
  with the MP3 track. Example:

   avimerge -i in1.avi -p soundtrack.mp3 -o out.avi

2003-06-06 Tilmann Bitterberg <transcode at tibit.org>

  * filter_nored.c:
  A very simple filter which reduces the color red in the image by simply
  decrementing Cr. Only works in YUV mode.

  * filter_hqdn3d:
  Ported from mplayer, a High Quality 3D Denoiser. This filter aims
  to reduce image noise producing smooth images and making still
  images really still (this should enhance compressibility). See
  `tcmodinfo -i hqdn3d' for all options.

2003-06-05 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_jpg.c export/export_im.c:
  Fix YUV encoding (no need to use -z -k anymore)

2003-06-04 marrq <marrq at ugcs.caltech.edu>

  * src/transcode.c libioaux/*:
  If one uses --nav_seek for fast seeking on vobs, one can only use
  one -c option.  The attached patch works allows me to encode multiple
  segments, and encodes the same frames as would be encoded doing each
  seperately.  However, I'm not sure that this won't interfere in some other
  code paths ... an example command which works now is:

  transcode -i vob -x vob -g 720x480 -y xvid -V -M 0 -f 23.976 -B 0,25,16 
  -r 2,1 --nav_seek nav_log -o out.1.avi -E 32000,16,2 -b 64 -w 1192 
  -c 2709-2862,3499-3571,3746-3820,3903-4018,4184-4332

2003-06-04 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c:
  remove signal() and replace it with the proper pthread
  aequivalent.

  * import/clone.c:
  Especially at closing time with multiple PSUs sometimes zombie
  processes hang around. Pointed out by Florin Andrei.

2003-06-03 Tilmann Bitterberg <transcode at tibit.org>

  * import/v4l/video.c:
  Fix a bug which caused transcode to segfault at closing time.
  Pointed out by Thomas.

  * import/tcscan.c:
  tcscan now prints a duration estimation for mp3 files. Its
  actually very accurate.

2003-06-03 Zsolt Lszl BRCZES" <arris at gmx.at>

  * filter/filter_text.c:
  Fix a copy and paste error

2003-05-30 Marzio Malanchini <marzio_malanchini at vodafone.it>

  * docs/import-xml.txt import/import_xml.c import/ioxml.c:
  Enable support for libdv-yuy2.

2003-05-30 Tilmann Bitterberg <transcode at tibit.org>

  * filter/divxkey/filter_divxkey.c import/extract_avi.c
  import/import_ogg.c import/magic.h import/probe_mov.c
  import/probe_ogg.c src/probe.c:
  Add probing support for "DX50" and a magic tag TC_CODEC_DIVX5

--------------------------------------------
transcode-0.6.7 Thu May 29 18:50:46 CEST 2003

2003-05-29 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_divx5.c import/import_divx.c:
  Experimental support for decoding and encoding divx5.0.5. I used
  divx4linux-20030428 for development and testing.
  
  * configure.in:
  Add configure check for encore2.h/decore.h from divx4linux and use
  these instead of ours.

2003-05-28 Hendrik Scholz <hscholz at raisdorf.net>
  
  Various BSD stuff from various authors

  * import/ioaux.c: 
  Repeat the read() if failed and error is EINTR.
  
  * filter/preview/pv.c: 
  Fix FreeBSD on_exit hack

  * filter/preview/display.h:
  Remove SDL/ path from includes. sdl-config --cflags returns the
  include-path with SDL/.

  * bbmpeg/mplex.h:
  include <sys/types.h>

  * filter/subtitler/frame_list.c:
  Remove declaration of malloc.

2003-05-28 Tilmann Bitterberg <transcode at tibit.org>
  
  * export/aud_aux.c:
  Again memory corruption when encoding with lame which happend with
  only with small audio buffer sizes. Also a speed improvement by
  100% (reduced memmove usage). Thanks go to marrq for pointing it
  out and provided sample files to reproduce it.

  * tcscan:
  Added support for scanning MP3 files. tcscan will print the number
  of MP3 chunks and the average bitrate of the file. It also
  calculate the maximum AVI overhead.

  * configure.in:
  remove double check for malloc().

  * acinclude.m4:
  remove duplicated SDL check.
  
2003-05-28 mpd <mpd at rochester.rr.com>

  * import/clone.c:
  have clone_fifo return logfile instead of name

2003-05-24 Tilmann Bitterberg <transcode at tibit.org>

  * acinclude.m4:
  Check for libdv version >= 0.99

2003-05-23 Tilmann Bitterberg <transcode at tibit.org>

  * *Makefile.am*:
  Enable building in a separate dir. For e.g. Replaced EXTRA_DIST =
  *.h with the real filenames.

  * avilib/avilib.c:
  Remove a check for filesize because transcode does this check
  itself. This breaks some xvid 1st passes. Lots of thanks go to
  fluffle on #transcode.

2003-05-22 Tilmann Bitterberg <transcode at tibit.org>

  * src/dl_loader.c src/encoder.c src/transcode.c src/transcode.h
  tools/tcmodinfo.c:
  Simple color support for runtime warnings and errors. If you don't
  like it disable it with --color 0 or --colour 0. If the output of
  transcode is written to a pipe or file it will be automatically
  disabled.
  
  * export/aud_aux.c:
  Fixes a bug when encoding to mp3 where lame returned immediatly with
  'lame encoding error -3'. Reported by marrq.


--------------------------------------------
transcode-0.6.6 Wed May 21 08:51:00 CEST 2003

2003-05-21 Tilmann Bitterberg <transcode at tibit.org>

  * tools/avimerge.c, tools/avisplit.c tools/avisync.c:
  Modified the avi tools to work with the now generated AVI files.
  They now support a switch `-b N' where N should be `0' for CBR MP3
  audio and `1' for ABR and VBR MP3 audio. This only affects how the
  header of the output AVI file is written.

  If you have to deal with a VBR or ABR file and forgot to use `-b 1'
  You can fix it by merging just one file:
    
    $ avimerge -i no-vbr-header.avi -b 1 -o vbr-header.avi

  * docs/transcode.1, src/transcode.c, export/aud_aux.c:
  New commandline switch --lame_preset. The switch enables
  "profiles" for lame where lame tries to choose the best settings
  possible.
  This is experimental.
  Valid arguments are (http://www.mp3dev.org/mp3/doc/html/presets.html)

  <N kbps>     Using this preset will usually give you good
               quality at a specified bitrate. Depending on
               the bitrate entered, this preset will
               determine the optimal settings for that
               particular situation. While this approach
               works, it is not nearly as flexible as VBR,
               and usually will not reach the same quality
               level as VBR at higher bitrates. ABR. 

  medium       This preset should provide near transparency
               to most people on most music.  The resulting
               bitrate should be in the 150-180kbps range,
               according to music complexity. VBR.

  standard     This preset should generally be transparent
               to most people on most music and is already
               quite high in quality.  The resulting bitrate
               should be in the 170-210kbps range, according
               to music complexity. VBR.

  extreme      If you have extremely good hearing and similar
               equipment, this preset will provide slightly
               higher quality than the "standard" mode.  The
               resulting bitrate should be in the 200-240kbps
               range, according to music complexity. VBR.

  insane       This preset will usually be overkill for most
               people and most situations, but if you must
               have the absolute highest quality with no
               regard to filesize, this is the way to go. This
               preset is the highest preset quality available.
               320kbps CBR.

  * avilib/avilib.c, export/aud_aux.c:
  Enable creation of VBR AVI files. While transcode itself can read
  the VBR AVI files, some of transcodes avi* utils may have problems
  especially avisync is broken.
  MPlayer and Xine play the files. I also tested and verified working
  with windows players with the GordianKnot codec pack. The players I
  tried were bsplay and zoomplayer. It seems also the AC3 passthrough
  bug disappeared (seeking was not possible with AVI-AC3 files
  generated by transcode on windows).

  * configure.in, acinclude.m4:
  HAVE_LAME now contains the version number of lame (e.g. "393").
  Removed LAME_3_92.

2003-05-19 Bill Wittig <bwittig at qix.net>

  * filter/filter_cpaudio.c:
  New Filter. This filter takes the audio signal on one channel and
  dupes it on the other channel. Only supports 16 bit stereo (for
  now). See tcmodinfo -i cpaudio.

2003-05-16 Tilmann Bitterberg <transcode at tibit.org>

  * tools/avisync.c:
  When syncing AVI files with multiple audio streams only the selected
  channel was processed correctly. The other channels were dismissed.
  Pointed out by Christoph Lampert.

2003-05-15 Thomas Oestreich <ostreich at Theorie.Physik.UNI-Goettingen.DE>

  * import/extract_mpeg2.c import/magic.h import/scan_pes.c:
  Read even more streams produced by VDR

  * import/v4l/audio.c import/v4l/import_v4l.c import/v4l/video.c:
  Enable sound recording from a microphone through /dev/dsp even if
  the v4l device does not have support for an audio tuner. Fix a bug
  to allow audio recording for <25 fps. For low-budged movies:

   $ transcode -i /dev/video1 -p /dev/dsp -V -x v4l=yuv422 \
     -y xvid -J pv -g 352x288 -o moo.avi -f 7

2003-05-15 Tilmann Bitterberg <transcode at tibit.org>

  * dvdread/*: Remove the included libdvdread from transcode source
  tree. You must have a local version of libdvdread installed if you
  want to be able to read DVDs.

2003-05-14 Roberto <robertoaragon at iespana.es>

  * export/export_mpeg2enc.c:
  A user VCD profile generated mpeg file should have the extension m1v
  and not m2v.

2003-05-13 Marzio Malanchini <marzio_malanchini at vodafone.it>

  * docs/import-xml.txt import/decode_mov.c import/import_xml.c
  import/ioxml.c import/ioxml.h import/Makefile.am import/probe_mov.c
  import/probe_xml.c import/tcdecode.c import/tc.h:
  Import XML update. 
   - manage quicktime (as import_mov) , avi and dv file in the same xml                                     
   - manage quicktime_dv format (generated by kino not yet supported by
     import_mov)
   - tcdecode can manage mov input file
   - enable new parameters in the PARM option (see file import-xml.txt
     under docs directory )               `

2003-05-11 Tilmann Bitterberg <transcode at tibit.org>
  
  * import/dvd_reader.c: 
  Have tcprobe print detailed chapter information when probing a DVD.

  * export/export_dvraw.c: 
  fix a typo

  * src/filter.c: 
  Add suport for quoted commas which will be passed through to the
  filter and not considered as a filter name separator.
  This allows you to do things like

    -J text=string="Hello\, World",preview

  Or if you leave out the quotes you must take care so that the shell
  won't eat the '\' (The space needs to be protected too)

    -J text=string=Hello\\,\ World,preview

2003-05-11 Thomas Wehrspann <thomas at wehrspann.de>

  * filter_logoaway.{c,txt}:
  Features/updates. Make the filter respect YUV/RGB mode. The filter
  can now read shape information from a greyscale bitmap. See
  /docs/filter_logoaway.txt for more information and usage examples.

--------------------------------------------
transcode-0.6.5.20030510 Sat May 10 09:31:34 CEST 2003

2003-05-10 Tilmann Bitterberg <transcode at tibit.org>

  * export/Makefile.am, ffmpeg/libavcodec/Makefile.am,
  import/Makefile.am: renamed libavcodec which ships with transcode
  to libtcavcodec to prevent linking to a system installed
  libavcodec.so. It did not work anyway and resulted in a
  headerfile<->library mismatch.
  
2003-05-09 Tilmann Bitterberg <transcode at tibit.org>

  * docs/OPTIMIZERS: New file based on a suggestion by Christoph
  Lampert. It contains information about filters and suggestions and
  documentation for optimizing them. If you know SIMD and/or know
  how to write efficient code then this document might be for you.

2003-05-08 Thomas Oestreich <ostreich at Theorie.Physik.UNI-Goettingen.DE>

  * configure.in docs/man/tcdecode.1 docs/man/transcode.1
  export/Makefile.am export/export_dv.c export/export_dvraw.c
  export/vid_aux.* import/decode_dv.c import/import_dv.c
  import/tcdecode.c src/transcode.*: Digital Video DV fixes/updates.
  transcode is now able to adjust to libdv beeing compiled with option
  "--with-pal-yuv=YV12". This the default behavior for PAL users.
  Without this compiler option for libdv, transcode needs the new
  "--dv_yuy2_mode" runtime option. Both modes YUV (-V) and RGB are fully
  supported for de/encoding. Encoding to DV need a patched version (s.
  below) for libdv since YV12 encoding has a bug. You will notice the
  absence of chroma components. In addition, NTSC audio raw DV encoding
  is also somewhat buggy. Encoding to AVI is fine, since the audio is
  encoded in a separate track, wheras in raw DV the PCM audio is merged
  into the video frame. The "libdv-0.99-transcode-patch" is provided on
  the transcode homepage and fixes the YV12 bug and enables NTSC raw DV
  encoding.  You do not need this patch for decoding. transcode compiles
  fine without this patch, too. By the way, "-x af6" enables YUV only
  decoding with "qdv.dll" and "-x ffmpeg" also has a DV decoder. Both
  import modules however do not handle raw DV streams.

2003-05-07 Tilmann Bitterberg <transcode at tibit.org>

  * configure.in, src/Makefile.am: For MacOS X. Implemented a
  ed(1) script to tweak ./libtool after ./configure. This is kind of
  ugly but works for now. Added necessary linker flags at link time
  of src/transcode.

2003-05-07 Tilmann Bitterberg <transcode at tibit.org>

  * import/v4l/*: added support for webcams. Well at least for the
  quickcam. The device does not provide the video data in yv12
  format, so you need to supply the input parameter "yuv422" to
  import_v4l. The webcam also has no audio device. Example:

   transcode -i /dev/video1 -p /dev/null -V -x v4l=yuv422,null
   -y xvid -J pv -g 352x288 -o moo.avi -f 7

  The feature was requested and tested by Todor T. Zviskov
  <warder at warder.ath.cx>

2003-05-05 Tilmann Bitterberg <transcode at tibit.org>

  * filter/preview/*: remove all gtk types like gint, gboolean since
  they are not needed. Also remove referencies to popt.

2003-05-05 Tilmann Bitterberg <transcode at tibit.org>

  * src/transcode.c: Fix AC3 pass-through. transcode calculated a too
  large audio buffer, resulting in the audio stream ending too early and
  not transcoding the complete video.

2003-05-02 Tilmann Bitterberg <transcode at tibit.org>

  * export/export_mpeg2enc: added -I to the command line of mpeg2enc.
  For progressive (i.e non-interlaced) input we will save a lot of
  time setting `-I 0'. If the input to mpeg2enc is interlaced, it
  should be set to `-I 1'. You can toggle the setting with the
  transcode `--encode_fields' option. If the option is specified,
  transcode will use `-I 1', the default is `-I 0'

2003-03-06 Christian Limpach <chris at pin.lu>
  
  * avilib/avilib.c: Setting the keyframe flag for audio packets helps
  when playing transcode generated AVI files on windows. If this
  causes ill side-effects, please report.

--------------------------------------------
transcode-0.6.4 Wed Apr 30 09:34:42 CEST 2003

2003-04-28 Tilmann Bitterberg <transcode at tibit.org>

  * filter/filter_text.c, docs/filter_text.txt: New filter filter_text.
  It renders arbitrary text in the image. See documentation
  /docs/filter_text.txt. The filter does both RGB and YUV, a sample is

    $ transcode -J text=string="Hello World":fade=3:range=50-250

2003-04-28 Thomas Oestreich <ostreich at Theorie.Physik.UNI-Goettingen.DE>

  * import/extract_mpeg2.c, import/fileinfo.c, import/magic.h,
  import/probe_stream.c, import/scan_pes.c: fix the
  detection/transcoding of some newer VDR streams

2003-04-27 Tilmann Bitterberg <transcode at tibit.org>

  * /*/Makefile.am: remove the -no-undefined switch when building
  export modules, this is needed for compiling on MacOS X. Added a
  dummy.c file in libdldarwin for `ar's who do not like creating empty
  archives. Pointed out by Sarah Hay.

2003-04-25 Tilmann Bitterberg <transcode at tibit.org>

  * export/aud_aux.c: do not compare strings if one is NULL
  
2003-04-25 Tilmann Bitterberg <transcode at tibit.org>
  
  * filter/ivtc/README.Inverse.Telecine: moved to 
  README.Inverse.Telecine.txt

2003-04-23 Jean Delvare <khali at linux-fr.org>

  * import/tcprobe.c: show duration of a file (if available) in a
  human-readable format (hh:mm:ss.mm)

2003-04-23 Thanasis Tsiodras <ttsiod at softlab.ece.ntua.gr>
  
  * filter/ivtc/filter_{ivtc,decimate}: It reduces memory requirements
  to 1/3 of the original, corrects a bug in the decimate filter and
  it's a lot better commented than what it used to be.

2003-04-18 Marzio malanchini <marzio_malanchini at vodafone.it>

  * import/ioxml.c, docs/import-xml.txt: allow ioxml to handle the multiple
  video and audio elements in the same seq statement

2003-04-12 Tilmann Bitterberg  <transcode at tibit.org>

  * src/callbacks.c: Do not try to rename /dev/null (pointed out by Dee
    <dfisher at uptimedevices.com>)

2003-04-10 Tilmann Bitterberg  <transcode at tibit.org>

  * export_mpeg2enc, export_mp2enc: Do not write to /dev/null.{m1v,m2v}

--------------------------------------------
transcode-0.6.4.20030409

- Changed export_{divx4,divx5,xvid,xvidcvs} to not write a too large AVI
  file. When doing two-pass encodes, the first-pass file can grow very
  large. Pointed out by Frederic Briere <fbriere AT fbriere.net>

- Added a INSTALL file with compiling instructions and tipps. Manpage
  updates.
      	
- Fix compiling without libxml and some warnings

- Big import_xml update:
  - manage different file type in the same xml (only for dv and avi
    created with dvgrab/kino)
  - add a program to check the consistence of xml file
  - enable new parameters in the PARM option (see file import-xml.txt
    under docs directory )
   -- Marzio Malanchini <marzio_malanchini AT vodafone.it>

- reworded description for the -c parameter.
   -- Udo Wolter <uwp AT dicke-aersche.de>

- Changed black frame behaviour. When an empty frame is detected in
  DIV3 input, transcode now uses the last non-empty frame instead of
  setting the frame to black. Modified import_ffmpeg and import_divx.

- configure check for libXpm and Xaw. Fixed lve detection.

- Very preleminary MacOS X support. Compiling and running still needs
  some tweaking. Thansk to the great help from Hvard Dahle
  <havardda AT orakel.ntnu.no>. The port included various real bugfixes
  even in transcode core and in some of the import and export modules.

- changed ALTIVEC flags in libavcodec to '-maltivec -mabi=altivec'

- Fixed a bug where ffmpeg crashed when doing a two-pass encode

- Fixed mmx code in yuvdenoise/deinterlacer
   -- Christoph Lampert <chl at math.uni-bonn.de>

- vob2divx renamed to V2divx and new version
  http://www.lpm.univ-montp2.fr/domi/V2divx
   -- Caron Dominique <domi at LPM.univ-montp2.fr>

- renamed libioaux to libtcioaux and install it into $prefix/lib
  pointed out by Dag Wieers <dag at wieers.com>

- fix ac3scan issue I introduced last release; trancode incorrectly
  probed the channels of a dolby stream as mono. Pointed out by 
  Lethal Weapon <lethalwp at tiscali.be>

- made volume rescale available to mono audio streams too, I have not
  found any problems with it.

- New filter lowpass based on the 'filt' algorithm by Markus Wandel
  <http://wandel.ca/homepage/audiohacks.html>

--------------------------------------------
transcode-0.6.4.20030325

- again upgrade of libavcodec. Included version is now 4655. the same
  one mplayer ships with -rc5. Also updated the export_ffmpeg module to
  support all features of libavcodec. Configuration is still done
  through a config file (./ffmpeg.cfg or ~/.ffmpeg.cfg). The syntax is
  simple.

  --- ~/.ffmpeg.cfg ----
  [mpeg4]
  vhq = 1 # this is the default
  qpel = 1
  trellis = 1

  [mpeg1video]
  --- ~/.ffmpeg.cfg ----

  The [header] is the same string you pass in through -F and then the
  options. To fill your config file real quickly, just enter 
  `transcode -y ffmpeg -F mpeg4 -q2' and you'll see the list of all
  supported options.

- Read number of channels from an ac3 stream. This is mainly important
  when using -A -N 0x2000. Pointed out by Xavier <xizard at enib.fr>

- Added manpage explanation of de-interlacing algos -I1-5
   -- marrq <marrq at ugcs.caltech.edu>

- OGG/OGM input support.
  This enables transcode to read and demux ogg/ogm streams produced by
  the ogmtools. For this to work, divx decoding in tcdecode was needed.
  It defaults to use xvid for decoding because of several technical
  reasons.
  tcextract understands the ogm format native. import_ogg was modified
  to build the correct pipelines for decoding. Vorbis decoding was also
  added to tcdecode.

  You can use tcextract to demux the ogm files. It basically does the
  same thing what ogmdemux can do.
    tcextract -i "file.ogg" -x ogg -a 0 -d 0 | ogg123 -
    tcextract -i "file.ogg" -x raw      -d 0 > video.1
  or build an ogg->pcm pipeline
    tcextract -i "file.ogg" -x ogg -a 0 -d 0 | \
    tcdecode -x ogg -d 0 | \
    play -t raw -c 2 -r 48000 -f s --size=w -

  Basically all of this would be impossible without the ogmtools written
  by Moritz Bunkus and I took large code portions from him.

- added Documentation for logoaway filter
   -- Thomas Wehrspann <thomas at wehrspann.de>

- Finished import_avi/export_raw fix for uncompressed RGB avifiles. They
  must be aligned on a 4 byte boundary.

- This time really: bug in yuv_merge_fields noticed and fixed again by
   -- marrq <marrq at ugcs.caltech.edu>

--------------------------------------------
transcode-0.6.4.20030318 Tue Mar 18 13:29:39 CET 2003

- fix missing fmmpeg/* files

- bug in yuv_merge_fields which is called when one uses the -M2 or -M4
  option
   -- marrq <marrq at ugcs.caltech.edu>

- upgrade to ffmpeg-0.4.6 Build 4646

- update import_ffmpeg and export_ffmpeg to use new ffmpeg

- fix import_ffmpeg to understand other YUV formats than 4:2:0. This
  (re-)enables import of MJPG stuff mostly produced by digital cameras.

- improve export_ffmpeg so that -F mpeg1video will not be written to
  an AVI file which is kind of brain dead. Instead, video will be
  written to an .m1v for easy multiplexing afterwards. It makes sense to
  not use the default ffmpeg module for audio if you are encoding to
  mpeg1video. Use one of `mpeg', `mp2enc' or `toolame' exports.

    transcode -V -i infile -y ffmpeg,mpeg -F mpeg1video -o test
    tcmplex -i test.m1v -p test.mpa -o test.mpg

- When encoding with -F mpeg1video, set the gop_size to 12 and not
  to the default keyframes (which is 250) pointed out by Nicolas Boos

- Fix (longstanding) bug where transcode failed to probe some mpeg
  streams in connection with -q2

- Reenable the MMX routines in filter_yuvdenoise.c, this makes the
  filter considerable faster (about 70%) on MMX-capable machines
   -- Christoph Lampert <chl at math.uni-bonn.de>

- Fix a bug in af6_decore.cpp, when the audio buffer size is smaller
  than what the codec requires.
   -- Leif Harcke <lharcke at Stanford.EDU>

- Resolve the frc to fps even if autoprobing is disabled
   -- Leif Harcke <lharcke at Stanford.EDU>

- Make export_mpeg2enc listen to a user specified --export_frc setting
   -- Leif Harcke <lharcke at Stanford.EDU>

- The export_mp2enc.so module doesn't recognize when single channel mono
  is input and stereo output is requested via -E. Allow mono to stereo
  doubling.
   -- Leif Harcke <lharcke at Stanford.EDU>

- export_xvidcvs update to the latest and greatest:
  - Adds the frame.bframe_threshold parameter. This parameter controls
    how much sensible is the frame type algorithm. A -100 value for this
    parameter makes XviD not generates bframes. A 0 value (default)
    makes XviD works as before. A greater value increases the
    probability that a frame would be a bframe.

  - Adds *_BITS flags to use the "cost bits" MB mode decision instead of
    the SAD based method.

  - As XviD CVS_HEAD installs the library as libxvidcore.so.3.0 with a
    SO_NAME==libxvidcore.so I had to change the transcode module as
    well. So now it loads libxvidcore.so again and not the libtestcore
    anymore.
   -- Edouard Gomez <ed.gomez at free.fr>

- avimerge - hack for more audio chunks per video frame
   -- Jindrich Makovicka <makovick at kmlinux.fjfi.cvut.cz>

--------------------------------------------
transcode-0.6.4.20030311 Tue Mar 11 15:09:44 CET 2003

A lot of stuff has been collected over 6 weeks. A lot of critical errors
have been fixed since 0.6.3 

- New export module export_ac3.c which is a frontend for ffmpeg
   -- Daniel Pittman

- Support frame ranges in RAWDV files
   -- Daniel Pittman

- Make our scripts more portable
   -- Steven M. Schultz <sms at TO.GD-ES.COM>

- Unitialized fields in the vob_t structure 
   -- Pierre Beyssac <pb at fasterix.frmug.org>

- tcmplex doesn't return 0 on success
   -- Christopher Cramer <cray at pyro.net>

- Compile transcode on PowerPC without altivec support
   -- Arkadiusz Miskiewicz <misiek at pld.ORG.PL>

- WAV header fix to export_mpeg2enc
   -- Luigi Capriotti

- Support for -x mplayer=options,mplayer=options
   -- Nils Petter Vaskinn <nils.petter.vaskinn at itsopen.net>

- export_xvid* Module update:
  New:
    - Added support for Custom matrices (using XVID_CUSTOM_QMATRIX in
      frame.general option)
  
  Fixes:
    - debug level now reports bitrate correctly when doing 2pass or Fixed
      quantizer pass (it's been a very old smallbug :-).
    - cosmetic changes to the debug output (wow! impressive isn't it ?).
    - fix a signed/unsigned comparison warning reported by gcc 3.3
      snapshot in export_xvidcvs.c
   -- Edouard Gomez

- Check nasm version in configure

- update to autoconf-2.57 and automake-1.7.2

- Developer docs update

- Support for -y vmod=option,amod=options for passthrough command-line
  arguments to underlying tools, suggested by Alexandre CONRAD

- Filter update. A videoframe is not SIZE_RGB_FRAME large. filter_videocore
  completed, The videocore filter lets you use the internal frame
  transformations from a filter plugin. See 'tcmodinfo -i videocore' for
  options.

- Fixes a few warnings when compiled with gcc-3.2.2

- Read back attributes set from the encoder (for clone)

- Bug in export_raw pointed out by Loc

- Manpage and -h update for `-c' with multiple ranges. Also removed the
  --duration and --record_v4l options as they are obsolete now and broken
  anyway.

- Fix a segfault (coredump) of tcmodinfo


--------------------------------------------
transcode-0.6.3 Thu Jan 30 20:33:26 CET 2003

- more clean-ups for the new filter interface by Tilmann and Joern as 
  outlined below:

- new option "--socket file_name" creates a socket file for run-time control
  of filter options together with a new binary "tcmodinfo" (with man-page).
	
  This is explained by Tilmann:

  You can use this socket to do runtime configuration of
  transcode. I've rewritten basically the complete filter plugin
  handling to allow filters to be loaded and configured on the
  fly. The idea was to allow in conjunction with the -J pv Preview
  plugin to see the effect of filters in realtime and then decide
  if the you like the outcome of the filter.

  There is a new tool available, called tcmodinfo. It has a
  manpage so please do not hesitate and read it :). This tool
  serves two purposes: First, it can retrieve information from
  filter plugins and second, it can be used as a simple socket
  client.

  Ok, before this bores you, here is an example session. We will
  load a filter (the smooth-filter), configure it, and then
  disable it again.

   $ transcode -V -i in.avi -J pv=cache=30 --socket /tmp/tc-socket --progress_off &

   $ tcmodinfo -s /tmp/tc-socket

   # Pause the preview window
   preview pause

   # load the smooth filter
   load smooth

   # See what parameters it has. The format is explained in
   # /docs/filter-socket.txt
   parameters smooth
   "filter_smooth.so", "(single-frame) smoothing plugin", "v0.2.1 (2003-01-21)", \
    "Chad Page", "VYEM", "1"
    "strength", "Blending factor", "%f", "0.25", "0.0", "0.9"
    "cdiff", "Max difference in chroma values", "%d", "6", "0", "16"
    "ldiff", "Max difference in luma value", "%d", "8", "0", "16"
    "range", "Search Range", "%d", "4", "0", "16"

   # configure the filter to be more agressive
     configure smooth strength=0.9

   # show the effect of the filter
   preview draw

   # Uhh, that looks really ugly
   preview undo

   # Disable the filter
   disable smooth

   # Unpause transcode
   preview pause

   # Disconnect
   quit

   For all the details, available commands, etc., please read 
   /docs/filter-socket.txt.

- Dominique CARON <domi@LPM.univ-montp2.fr> updated vob2divx.pl to v1.1.0
  in the contrib directory.

- some cleanups for source import handling with "fwrite" by 
  Tomi Ollila <too@guru.megabaud.fi>.

- export_mpeg2enc.so fix by Markus Plail <transcode-devel@gitteundmarkus.de>.

- negative cropping info added to manpage by Roman Fietze <fietze@s.netic.de>.
	
-----------------------------------------------------
transcode-0.6.3.20030123 Thu Jan 23 22:49:19 CET 2003

- mainly an internal development snapshot for Tilmann and Joern.
	
- fixes by Tilmann for new the avifile-0.7.25 API.

- feature extension patch for filter_cut.so by Torsten Werner <email@twerner42.de>. Example: transcode [...] -Jcut=%4 
  processes only every 4th frame. Useful for fast-forward with preview mode.

- removed unneeded libxvidcore.so linking that slipped into Makefile.
 	
-----------------------------------------------------
transcode-0.6.3.20030116 Thu Jan 16 22:54:20 CET 2003

- video buffer size is now dependent on the maximum frame size required.

- small avilib.c bugfix for non-AVI files by Tilmann.
 	
- updated filter_logoaway.so plug-in and documentation by Thomas Wehrspann 
  <thomas.wehrspann@tu-clausthal.de>.

- tcmplex segfault fix for long filenames by Tilmann.

- added xvid.h back into transcode's source.

- XviD updates for export-xvidcvs.so by Edouard Gomez <ed.gomez@free.fr>.
  Quoting form the posting:
	
  - Adds support for today's xvid cvs (aka dev-api-3)

  - Fix RGB mode for new core which seems to flip input frame all the
    time (more over XVID_CSP_VFLIP seems to be broken, so it's a
    workaround i'm using)

  - Fixed Key Frame report as XviD now return BVOP, SVOP, Packed and
    NVOPS.
 
  Changes:
   - bframes are now always enabled in transcode's module
     (but they are not used by default)

   - added hook for bquant_offset in param. settings in xvid conf files.

   - __uses libtestcore.so__ instead of libxvidcore.so, so the user can
     have both versions (stable and dev-api-3) on the same box.

     NB: Users should install xvid dev-api- 3 unsing the install-test
         target, it will take care installing xvid as libtestcore.so

   - __uses ./xvidcvs.cfg or ~/.xvidcvs.cfg filenames__ for settings
     instead of ./xvid.cfg  and ~/.xvid.cfg.  This is also  to let users
     have both versions at the same time.

   Warnings:
   - 2pass code will *not work* with this module, use fixed quant or
     1pass only. I'll not update this because 2pass wil be put into
     xvidcore for dev-api-3 so it's not worth porting xvid vfw changes
     to xvid_vbr.c again.

   - This module is not intended to be used for real encodes. It is
     intended for testing purposes. Don't complain if your videos are
     not well encoded, or if xvid cvs created a bad stream. _you are
     playing with test code_ you're warned.

     Please send your feedback to Edouard Gomez <ed.gomez@free.fr>.

- yuv2rgb and an rgb2yuv wrapper in filter_smartdeinter.so by Tilmann.
	
-----------------------------------------------------
transcode-0.6.3.20030109 Thu Jan  9 21:58:40 CET 2003

- subtitle patch by Jarno Elonen <elonen@iki.fi>, updated by Jrn Reder 
  <joern@zyn.de>. This patch seems to fix the persistent rendering problems.

- fixes and updates for xvid export by Edouard Gomez <ed.gomez@free.fr>.
    Quoting from his mail to transcode-devel:
  - Hinted ME support
    Though this option reduces quality severely, i added support for it
    for test purposes. It's coded so i  don't see why it would not go
    into mainstream.

    Bugfix:
  - small mistake with headers (was including xvidcvs.h instead of xvid.h)

    What's Hinted ME:
    Hinted ME was a nice idea of reusing first pass Motion Estimation
    vectors for second pass. This speeds up second pass a lot as most of
    encoding time is lost in Motion Estimation. The drawback is a loss in
    quality because vectors are usually chosen according to a penalty
    threshold (the higher the bitrate, the longer vectors can be and vice
    versa) When using Hinted ME, this penalty system that discard Motion
    Vector candidates because of their length is not used, this results in
    more bits spent in MVs. This leads to a quality loss when the difference
    of bitrate during 1st and 2nd pass is high. As xvid modules usually do
    the 1st pass at quant2 to obtain a natural curve, the 2nd pass is not
    near enough from the first one to make 1st pass MVs good vectors for 2nd
    pass bitrate.

    How to use it:
    The easiest way is to use the meta flag XVID_HINTEDME in frame.general
    flag. This meta flag will take care of performing XVID_HINTEDME_GET
    during first pass and XVID_HINTEDME_SET during 2nd pass. 
    Btw, you can use the real flags XVID_HINTEDME_SET/GET, but they are
    checked and during 2nd pass GET is unset and SET is unset during 1st
    pass. So it's not worth worrying about what flag to use, just use
    XVID_HINTEDME. 

- patch for probe_xml.c by Marzio Malanchini <marzio_malanchini AT vodafone.it>. 

- fix for the DivX green frame problem by Andreas Phlsson <tml@pahlsson.info>. 
- new yuvmedian filter added by Tilmann, a port from the mjpeg toolkit. It
  smoothes the frame using a median algorithm. (see -J yuvmedian=help)
 
- fix for "p_write" namespace pollution in some export modules which popped 
  up with gcc-3.x. Patches by Tilmann.

- Dominique CARON <domi@LPM.univ-montp2.fr> updated vob2divx.pl to v1.0.2
  in the contrib directory.

- filter_logo and /docs/filter-API.txt updates by Tilmann with useful hints how
  to use the optstr_* functions.

- small nuppelvideo audio import bug fixed by Tilmann. 	
	
- highly experimental demo filter called filter_videocore.so by Tilmann. This
  filter allows access to selected internal frame processing operations.
  This makes it possible to workaround the hard-coded frame processing 
  queue order.

- patches for the Alpha port provided by Tilmann based on the ML discussion. 

- fixed xvid/bbmpeg quant_intra name clash reported by Michael Lausch.

- small fix for spec-file and man-page path by Rainer Lay.

- corrected tcdemux option -A (pass-through) man-page description.

- export_mpeg2enc.so DVD profile enabled with -F 8. BTW, -F 6,"XXXXX"
  passes almost only a user specified option string to mpeg2enc. 	
	
-----------------------------------------------------
transcode-0.6.3.20021219 Thu Dec 19 23:55:39 CET 2002

- more documentation updates in docs/html.	

- replaced invalid MMXEXT movntq intruction by movq in MMX code.

- assiged ac_rescale_mmx to MMXWXT code to workaround -B MMX-only bug.
 
- proper transport stream sync-byte detection.	

- patch from XI <xizard@enib.fr> to fix a compilation issue with libdv.

- Philippe Troin <phil@fifi.org> fix for umask extra bits. 

- locally installed liba52 is now the default library for AC3 decoding.
	
-----------------------------------------------------
transcode-0.6.3.20021205 Thu Dec  5 23:09:55 CET 2002
	
- ^C enabled to kill hanging tcprobe process.

- fixed another import thread related bug affecting thread cancelation.

- minor documentation updates in docs/html.

- patch by Tilmann to enable libpostproc filter plug-in also in pre-processing
  slot. '|' or the '/' character can be used to separate arguments. Example: 

  transcode [...] -J pp=pre/linblenddeint -Z 320x240 -J pp=autolevels/tmpnoise:1:2:3/dering

- new filter "-J logoaway" by Thomas Wehrspann <thomas.wehrspann@tu-clausthal.de>. This filter removes an image in a user specified area from the video.
  Use "-J logoaway=help" to learn about the filter plugin-in inspired by
  a similar filter of VirtualDub.

- very experimental MPEG transport stream support for video added. Example:

  transcode -i vertical.ts --ts_pid 0x11 -x mpeg2,null -g 1920x1088 -H 0 -J pv -V -Z 400x300 

  Extraction is done via "tcat" and option -n for transport pid selection. 
  No auto-probing. You need to know the framesize and the pid before you start.
	
-----------------------------------------------------
transcode-0.6.3.20021128 Thu Nov 28 22:32:28 CET 2002

- removed SSE instructions from MMX assembler code, thanks to a hint by
  Svante Signell <svante.signell@telia.com>.

- fixed a hidden encoder/decoder bug where pre-preprocessing slot (A) was 
  actually called twice. Affected only --pre_clip so far.

- fixed the mono export bug in export_toolame.so, thanks to a hint by 
  Miguel Martins <miguelm@ieg.com.br>.

- new (experimental) lame export audio module -y lame.

- export_divx5raw.c added by Loic Le Loarer <loic.le-loarer@polytechnique.org>.
	
-----------------------------------------------------
transcode-0.6.3.20021126 Tue Nov 26 22:37:16 CET 2002

- fixed the tcscan DVD angle option bug.

- fixed name clashes for import/export LZO.

- fixed compiling problem with older versions of libdv in scan_dv.c

- added manpages for tcdecode/tcextract.

- removed all mutex locks from signal handler.

- removed testcancel calls from within a mutex protected decoder code section.

- enabled directory mode for audio only files.

- fixes for audio merging in export_dvraw.so. 
	
--------------------------------------------
transcode-0.6.2 Fri Nov 22 00:10:11 CET 2002

- fixed deadlock in core mode "-t,foo" with ^C.

- fixed missing SSE code run-time error on non-SSE machines.

- man-page update/clean-up to reflect latest option add-ons.

- quicktime support is now disabled by default due to library name clashes
  with libdv. You need to enable it explicitly with "configure --with-qt=yes".

- fixed import_ffmpeg.c to make it work in the directory core mode with 
  the "--dir_mode basename" option.

- added checks for lame-3.92 to enable lame assembler code. 

- small fixes by Tilmann for a parsing problem with -c and raw 8-bit 
  import with import_imlist.so.

- fixes for MPEG audio stream detection, i.e., MPEG-2/MPEG-2.5 layer-3.

- enabled raw DV pass-through mode. Example:

  transcode [...] -i raw.dv -P 1 -y dvraw -o new.dv

  will simply copy the stream. You can now cut the stream before concatenating
  by using option "-c".

  transcode [...] -i raw.dv -P 1 -y raw -o newmp3.avi

  will pass-through video, add a mp3 sound track and writes to an AVI-file.
	
- updated import_mplayer.so module to work with latest release.

- lastest vob2divx.pl by Dominique CARON <domi@lpm.univ-montp2.fr> included.
	
-----------------------------------------------------
transcode-0.6.2.20021114 Thu Nov 14 23:03:24 CET 2002

- high-quality resizing -Z has been optimized for speed. This
  should give a performance boost of 10-30%. No assembler code yet.

- enabled sse2 assembler code for fast vertical resizing -B/-X.	

- new de-interlacing mode with option "-I 5" available. This mode
  does a simple linear interpolation of each field to restore the full frame, 
  blending the resulting frames. Similar, but not identical to "-J pp=lb".
  Also available for RGB processing mode.

- improvements in frame range selection for AVI-files. Selecting a frame 
  for encoding with "-c a-b" normally does a complete decoding of all 
  preceding frames, i.e., 0-a before the selected range is processed.
  However, this is not very useful for large AVI-files. 
  It is now possible to pass a single frame range interval via the
  import module string parameter directly to "tcextract" which understands
  the option "-C" (capital C!). Example:

  transcode [...] -x dv="-C 100-150",dv="-C 100-150" 
  
  will do a fast-forward to frame 100 before decoding is started.
  Currently, only "-x dv and -x raw" support this feature.

- implemented a simple stereo to mono down-sampling, available with option -E,
  as well as 16bit signed to 8bit unsigned conversion. Lame does not seem
  to support 8bit samples but using export to wav, sox can handle the output.

- small patch by Martin Thierer <thierer@web.de> for yuv4mpeg import in 
  directory mode.

- cluster mode was broken in the 0.6.2 pre-releases due to changes in the
  "-c" option - fixed.

- new option "--no_bitreservoir" for lame audio export. This option
  forces lame to produce an audio stream, which has no raw audio samples 
  spread over MP3 frame boundaries. Useful for extensive cutting/splitting
  jobs on post-processing.

- small fix for subtitles in psu-mode by P.C. Chan <pc.chan@alcatel.com>.

- fixes for the new libpostprocess API starting with MPlayer-0.90pre9. 
  transcode looks for the installed shared library first. Merged
  filter_ppcvs.c and filter_pp.c into filter_pp.c

- new option --avi_limit N where N is an upper limit for the AVI file size
  in MB. Useful for raw codec output or LZO. Available/implemented only
  for export_{raw,lzo,dv,ffmpeg}. Default is N=2048 (=2G).

- Gerhard Monzel <gmo18t@web.de> has converted more assembler code in the
  bbmpeg core to nasm compliant source.

- small fix for frame parameter checks and --keep_asr by Eckart Haug 
  <eci@syntacs.com>.

- small fix for v4l percentage readings of brightness, color, hue and contrast
  values by Henrik <hmr@bostadsbolaget.net>. 	
	
-----------------------------------------------------
transcode-0.6.2.20021107 Thu Nov  7 22:57:46 CET 2002

- added Moritz Bunkus latest fixes to import/export_ffmpeg.c.

- added import auto-detection for ffmpeg supported export formats.

- enabled ffmpeg's Digital Video decoding capability. You need to select
  the import module with "-x ffmpeg" to override the defaults.
	
- added assembler accelerated code for fast vertical resizing (-B/-X),
  simple de-interlacing with -I1 and RED<->BLUE rgb-swapping.
  transcode tries to guess supported multimedia extensions at run-time.
  If this fails, enable your platform specific accelerated code 
  with the new option "--accel mode".
  Supported modes are "C,asm,mmx,mmxext,3dnow,sse,sse2". However, 
  there	is no 3dnow specific code added yet. "C" is the default plain C code.
  The new code is nasm dependent. More will be added soon.

- Marco Zhlke <MZuehlke@myrealbox.com> added a patch to make transcode 
  compile with lzo-1.07.

- small fix for export/xvid_vbr.c by Edouard Gomez.

- small fix for dvd_reader.c for broken nav packs.

- changes in the assembler code for bbmpeg.

------------------------------------------------------
transcode-0.6.2.20021024 Thu Oct 24 22:28:38 CEST 2002

- this snapshot updates the ffmpeg/bbmpeg port.
	
- Moritz Bunkus <moritz@bunkus.org> has updated the ffmpeg port
  of transcode. I quote from his posting to the devel-ML:

- import module "import_ffmpeg.so":
  Pretty straight forward to use: "transcode ... -x ffmpeg,..." and
  you're set. It tries to derive the FFMPEG codec to use from the fourCC.
  I've tested the module with movies encoded with DivX ;-) 3.20, DivX
  5.02 Pro, ffmpeg's own MPEG4/MSMPEGv{1,2,3}/MPEG1VIDEO codecs and with
  ffmpeg's own Motion JPEG codec

  NB: this module replaces the "import_mjpeg.so" module. AVI-files with 
      FOURCC=mjpeg are automatically decoded by ffmpeg.
	
- export module "export_ffmpeg.so":
  This one is a little bit trickier. You start with "transcode ... -y
  ffmpeg,...". But this does not select the _codec_ to use. You have to
  add an additional '-F <codecname>' to the command line. All supported
  codecs can be listed with "transcode -y ffmpeg -F list". The output
  will look like this:

  [export_ffmpeg.so] v0.2.0 (2002-10-21) (video) FFMPEG API | (audio)
  MPEG/AC3/PCM
  [export_ffmpeg.so] List of known and supported codecs:
  [export_ffmpeg.so] Name       fourCC multipass comments
  [export_ffmpeg.so] ---------  ------ --------- -----------------------------
  [export_ffmpeg.so] mpeg4       DIVX     yes    MPEG4 compliant video
  [export_ffmpeg.so] msmpeg4     div3     yes    old DivX3 compatible (aka
  MSMPEG4v3)
  [export_ffmpeg.so] msmpeg4v2   MP42     yes    old DivX3 compatible (older
  version)
  [export_ffmpeg.so] mjpeg       MJPG      no    Motion JPEG
  [export_ffmpeg.so] mpeg1video  mpg1     yes    MPEG1 compliant video

  The "name" field is the interesting one. You'll get your old Motion
  JPEG export functionality with "transcode ... -y ffmpeg -F mjpeg", and
  "transcode ... -y ffmpeg -F mpeg4" replaces "-y ffmpeg4".

  Another nice thing is that the ffmpeg export module supports config
  files - just like the new XviD export modules. It automatically
  searches for ./ffmpeg.cfg and ~/.ffmpeg.cfg. The format is really easy.
  
  Here's an example:

  [mpeg4]
  vhq = 1
  v4mv = 1
  [mjpeg]
  vhq = 0

  Of course only the section corresponding to the current codec's name is
  evaluated. In this case the user wanted the best quality for his/her
  MPEG4 encodings and the faster version for '-F mjpeg'. All allowed
  variables and their current values will be listed if you run transcode
  on debug level 2 (e.g. "transcode -y ffmpeg -F mpeg4 -q 2"). This way
  you can easily copy and paste the values to your ffmpeg.cfg. 

- the bbmpeg library has been upgraded assembler optimized code
  for the IA32 taken from the XVID project. It replaces the code that
  was not compiled correctly by gcc-3.x. The library requires
  nasm to be installed on your system.
	
---------------------------------------------------------------
transcode-0.6.2.20021021 Mon Oct 21 08:36:14 Europe/Berlin 2002

- updated ffmpeg libavcodec to latest CVS available. "nasm" is no longer
  required to compile the library.
	
------------------------------------------------------
transcode-0.6.2.20021017 Thu Oct 17 22:16:23 CEST 2002

- Chad Page added a new YUV smoothing filter, available via "-J smooth".

- small bugfix for the -c option handing.

- some code cleanup in the core. Cleaner error handling on intialization.
  Fixes for a ^C bug introduced in last weeks snapshot.

- propagate frame rate to import_nvrec.c patch by Bryan Mayland 
  <bmayland@leoninedev.com>.

- fixes for <q>,<Q> and new preview plug-in. No frames will be buffered
  anymore while not rendering.

- Arne Driescher updated the subrip utility in the contrib directory.
	
------------------------------------------------------
transcode-0.6.2.20021010 Thu Oct 10 22:53:42 CEST 2002

- audio byte swapping (-d) and rescaling (-s) order changed.
  Swapping now comes first, which makes more sense.

- tcprobe now reports subtitle number and language for DVD/DVD-images
  as extracted from the IFO file.
	
- new XV-only preview plug-in "-J pv" ripped and modified from existing code. 
  This is going to be a more powerful preview modules in the future with 
  support for keyboard-based navigation. It is YV12/I420 raw format only.

  Example: "-J pv=cache=200"

  generates an additional internal frame buffer cache for 200 decoded frames.
  What is already implemented? 

  <Space> stops transcoding. Actually, it throws transcode in a loop waiting
  for <Space> to be pressed again.

  Navigate the cache with cursor keys:
	<LEFT>   -1 frame back           <UP>   25 frames forward
	<RIGHT>  +1 frame forward       <DOWN> -25 frames backward
  For better orientation, Tilmann has contributed some handwritten on-the-fly
  frame number overlay logos. Check it out. If the frame numbers are 
  un-readable on white background, use "-Y -20,0,0,0". Asterics "*" denotes
  a key-frame, if properly detected for MPEG-4.

  <q>,<Q> toggles rendering into the preview window. The window is no 
  longer closed. This reduces the CPU load. Useful for v4l grabbing to
  catch up some delays in encoding.

  <y>,<Y> toggles to a mode were only every 25th frame is rendered.
  This parameter can be changed via plug-in "skip=N" option.

  <s>,<S> introduces a delay, increasing in 1/10 seconds step, until the
  rendering speed is down to 1fps. 
  <f>,<F> reduces the delay introduced above until full speed is recovered.
  	
  <ESC> closes the preview window.  
	
  <r>,<R> saves the current output file given with option "-o outfile" 
  to "outfile-000n", incrementing n for every event, starting with n=0. 
  This is enabled for most export modules. The active outputfile is closed 
  if and only if a keyframe will be written next. 
  Please note, This may cause a some delay between pressing "<r>/<R>"
  and the switch of output files. You will be notified at the status bar.
  Useful for video recordings with active preview. 
  Note: this option does not work in <pause> mode. You need to slow down
  preview with <s> in critical sections.

- XV preview windows now also enabled for MPEG-4 pass-through mode using the 
  "-x divx" import modules. This requires decoding and will be slower 
  compared to pure pass-through. 
	
- adapted export_dv.so to the new encoder API of libdv-0.98.
  RGB to DV encoding is working fine, but YV12 encoding seems to be broken in 
  libdv. You need to compile libdv with --with-pal-yuv=YV12.

- small patch for import_im.so by Gregory Brauer <greg@wildbrain.com>. 

- new export module for native "JPEG" encoding support with "libjpg" by 
  Tilmann. Use it with "-y jpg". 

- support for lossless video compression using LZO library. LZO is a portable 
  lossless data compression library written in ANSI C.
  It offers pretty fast compression and very fast decompression.
  This is supported via "-V" mode and "-y lzo" for encoding as well as 
  decoding. Compressed blocks are written to AVI-file container with 
  unofficial FOURCC=LZO1 for proper detecting by transcode.

- fixes for -J cut/skip by Martin Thierer <thierer@web.de>.

- option -c now supports time and frame based arguments. See "avisplit" for 
  option details. Patch by Tilmann. 

- documentation is now installed in $(datadir)/doc/transcode.

- import_mpeg3.so audio decoding support added by Tilmann.

- tcprobe support for toc files generated by mpeg3toc added by Tilmann.
  You need libmpeg3, which can be extracted from the "hvirtual" source
  or use "--with-libmpeg3-includes=/usr/src/comp/video/hvirtual-1.0.0"
  with your configure command. Untested.
	
------------------------------------------------------
transcode-0.6.2.20021001 Tue Oct  1 23:23:18 CEST 2002

- only some code cleanup, missing contributed patches make in into next 
  snapshot, sorry, but I need some feedback. 
  This snapshot may also be broken;-(

- the NTSC psu-mode bug seems to be fixed. 

- small bugfix in the audio buffer flush routine.

- chapter mode now accepts frame range selection with option -c. 
  This only makes sense if you want to generate a fast preview.
  
  Example: "transcode [...] -i /dev/dvd -c 0-250 -U trailer -y xvid --no_split"

  generates 10 sec of each chapter of a PAL-DVD and merges the clips into
  "trailer.avi".

- some file handle "pclose" fixes in import_{vob,dv,dvd}.c
	
- lastest vob2divx.pl by Dominique CARON <domi@lpm.univ-montp2.fr> included.

- Tilmann's fixes for avifile namespace collisions of header files.

- yuvdenoise filter patch by Martin Thierer <thierer@web.de>. 
	
------------------------------------------------------
transcode-0.6.2.20020923 Mon Sep 23 22:48:23 CEST 2002

- updated libmpeg2 to 0.2.1 - this fixes some decoding issues reported.

- added first draft of missing manpages for tcdemux and tcscan.

- the obsolete OPENDivX code tree has been removed. Use XviD instead.	

- support for obsolete avifile-0.53 export has been dropped.

- new option --import_asr ASR_CODE to force a specific aspect
  ratio for transcode's calculations and manpage update to document ASR_CODE
  by Tilmann.

- small export_ffmpeg4 fix by Tilmann.

- make transcodes exit code on invalid commandlines !0, by Tilmann.
	
---------------------------------------------
transcode-0.6.1 Thu Sep 19 22:15:28 CEST 2002

- LFS bugfix for NuppelVideo import by Tilmann.

- improved divx[4,5] codec detection by alex@foogod.com. 

- a new import module "import_xvid.so" by Moritz Bunkus for MPEG-4 AVI-files 
  decoded with the XVID codec.
	
- frame number detection fix for NTSC by Christian Vogelgsang.

- export_toolame fix for spaces in filenames by Christian Vogelgsang.

- More fixes and updates for XVID encoding by Edouard Gomez.
  xvid and xvidraw work with the latest snapshot (with bframes disabled). 
  xvidcvs can still use a bframe XviD build. 
  Added twopass_max_bitrate, twopass_max_overflow_improvement,
  twopass_max_overflow_degradation bindings into config file.
  twopass_max_bitrate has been set to much higher default, so nasty
  blocking effects during scene  changes and/or high motion scenes is no more.

- export_xvidcvs.c: Now the xvid cvs module looks for the config file into 
  current directory and if the ./xvid.cfg does not exist, it tries to read
  the ~/.xvid.cfg. If neither ./xvid.cfg nor ~/.xvid.cfg  files are
  found, then fall back to hard-coded defaults as usual. E.G.

- updated filters (telecide and decimate).

- small patch that changes mp3quality (the third parameter for -b) to a float.
  This is necessary as oggenc can use floats for its
  -q parameter - and export_ogg.c uses mp3quality just for this purpose. Patch
  by Mosu (Moritz Bunkus).

- new experimental filter to "down-sample" NTSC TV @ 29.9 fps to 23.9 fps
  by Tilmann. Usage is not that easy and the audio has to be handled in a
  separate step. It only works for RGB right now.
  // video
  transcode -i 29.9.avi -J 29to23 -y xvidcvs,null -x auto,null -o vid.avi
  // fix header
  avifix -i foo.avi -f 24000,1001
  // audio
  transcode -i 29.9.avi -f 0,1 -x null,auto -g 0x0 -y raw -o audio.avi
  // merge
  avimerge -i vid.avi -p audio.avi -o comp.avi

- re-enabled large file support (LFS) for libbbmpeg.
	
------------------------------------------------------
transcode-0.6.1.20020829 Thu Aug 29 22:42:15 CEST 2002

- new option "--progress_off" to disable display of the progress meter 
  status line as suggested by Philippe Troin <phil@fifi.org>.

- regrouped the option list on "-h" into more logical units. 

- added Tilmann's filter_tc_video.o and filter_tc_audio.o filter plug-ins.
  See /docs/clone.txt for more information.
	
- Dominique CARON <domi@LPM.univ-montp2.fr> updated the vob2divx.pl
  perl script in the contrib directory to v.1.0rc2.

- added Tilmann's nasm/avifile patch to fix some compilation problems for 
  related modules. 

- transcode -p option is now passed to import_nvrec.so, thanks to a hint
  by Bryan Mayland <bmayland@leoninedev.com>.

- applied a patch by Edouard Gomez <ed.gomez@wanadoo.fr> to
  replaces all strncmp calls by their strcmp counterparts. 

- more filter_yuvdenoise.so updates by Tilmann.
	
------------------------------------------------------
transcode-0.6.1.20020814 Wed Aug 14 22:40:48 CEST 2002

- last snapshot was broken. Here is a fix plus some more cleanups by Tilmann.

- import_nvrec now takes options as an import module option
  string, like this. The options are passed through to nvrec.

  transcode ... -x nvrec="-wav -N 32"

  The documentation is updated to reflect the changes and added 
  Christoph Gaitzsch' tip (recording using -y yuv4mpeg) to the documentation. 

- update for avisync manpage to document -N

- removed ugly DEBUG info in probe.c 

- Arne Driescher updated his subrip packages located in the contrib directory.
  See the Changelog for details.
	
------------------------------------------------------
transcode-0.6.1.20020813 Tue Aug 13 22:43:08 CEST 2002

- transcode.1 manpage updates by Tilmann.

- import_rawlist.c adds support for raw uyvy (tested) and yuy2 files (untested)
  These not transcode compatible color spaces get subsampled to yv12.
  Also Tilmann made the module more tolerant of whats in the filelist.

- Feature to pass a string to the import modules added by Tilmann. 
  This is needed for import_rawlist to specify the import format. 
  The syntax is like for the filters plugins

  -x vmod[=options][,amod[=options]]

  Example: -x rawlist=uyvy,null
  
  Note this module makes "import_yuv.so" obsolete.
	
- fixes for -J yuvdenoise by Tilmann for a color problem.

- small bugfixes in export_ogg.c and filter_cut.c by Tilmann.

- 2 new NTSC only filter for inverse telecine by 
  Thanassis Tsiodras <ttsiod AT softlab.ntua.gr> ported from 
  Donald Graft (author of Decomb). See /filter/ivtc/README.Inverse.Telecine
  for more information.

- giant memory leak fixed in export_im.so by Tilmann.

- updates for XviD export by Edouard Gomez <ed.gomez AT wanadoo.fr>.
  2-pass encoding has been improved and a configuration file "xvid.cfg" 
  has been introduced to tweak a couple of more parameters in conjunction
  with "export_xvidcvs.so". You need a recent XviD CVS snapshot to make it
  work.
  The config file must be called xvid.cfg and must reside in the
  transcode working directory (where it is run from). You can find a
  sample file in the /export directory. The XviD flags are described in the 
  xvid-encoder.txt document on xvid.org. A "Joe" user should not modify the 
  defaults!

- merged Tilmanns TC_FRAME_IS_CLONED patch to prepare infra-structure
  for upcoming filter_clone.so plug-in.

------------------------------------------------------
transcode-0.6.1.20020808 Thu Aug  8 22:15:32 CEST 2002

- filter `-J' arguments are now cumulative.
  With Tilmanns patch, this is now possible, e.g.,

  -J normalize=smooth=0.05 -J yuvdenoise=sharpen=0,ppcvs="lb dr"

  same as

  -J normalize=smooth=0.05,yuvdenoise=sharpen=0,ppcvs="lb dr"  

- fixed tar.gz issue in tramscode.spec.in

- patch by Tilmann to add --dir_mode capabilities to import_divx. 

- patch by Tilmann which introduces a new command line option 
  '--write_pid pidfile'. When enabled, transcodes writes the pid of its 
  signal thread to "pidfile".

  Usage is pretty straight forward:

  $ transcode .. --write_pid /tmp/transcode.pid &
  $ kill -2 `cat /tmp/transcode.pid`

  Note: If you send other signals than SIGINT (2) to transcode,
  transcode will not exit correctly and leave its output file(s)
  probably in an unusable state. 

- various nasm/configure related fixes by Tilmann.

- patch by Tilmann to display the desired information. He called it
  EMT for Elapsed Movie Time. It displays the encoded frames in a 
  more human readable way.    

- new filter plug-in "filter_fields.so" by Alex Stewart. See
  the source code in the filter directory for more information or
  try -J fields=help.

- new option to restrict the progress meter updates and LF/CR behavior
  by Alex Stewart.

- transcode is now dynamically loaded against libioaux.so so modules like 
  export_xvidcvs.so can access functions from libioaux.so.
  Changes made by Tilmann.
	
---------------------------------------------
transcode-0.6.0 Thu Aug  2 00:20:07 CEST 2002

- This is 0.6.0 (final), fixes for rc4 provided by Tilmann Bitterberg.
	
- fixes for GCC-3.X compile problems with the new yuvdenoise filter.
	
- import_nuv fixes for directory mode.

- transcode manpage updates.
	
- obsolete debian build support directory removed.

------------------------------------------------
transcode-0.6.0rc4 Tue Jul 30 21:13:00 CEST 2002
	
- last release candidate (rc4) for 0.6.0 (final).

- Experimental Ogg multimedia support added by Tilmann Bitterberg.
  This includes Ogg Vorbis audio encoding/decoding modules. 
  For more information on creating Ogg compliant media streams see 
  Moritz Bunkus' oggmtools:

  http://www.bunkus.org/videotools/ogmtools/ 

  Encode, e.g., to separate AVI XviD video / Ogg Vorbis audio stream with

  $ transcode [...]  -y xvid,ogg -m audio.ogg -o video.avi 

  and use oggmerge to multiplex into a n Ogg Multimedia stream. 
  Auto-probing is also available but no demuxing. 
  Decoding only for Ogg Vorbis single audio streams with the new import 
  module "import_ogg.so". 
	
- Dominique CARON <domi@LPM.univ-montp2.fr> updated the vob2divx.pl
  perl script in the contrib directory to v.0.9.9

- Patch by alex@foogod.com should fix most of not all of the issues with 
  auto-probing  LAV editlists.

- removed the PVM_HALFPELDIAMOND8 flag from the quality levels in the 
  XVID export modules family.

- first version of a YUV denoise filter by Tilmann Bitterberg.
  Read /docs/filter_yuvdenoise.txt for general and transcode
  specific information. Syntax is as usual:

  $ transcode [...] -q2 -J yuvdenoise=help:sharpen=100:mode=2
  
- Patch by Damian Ivereigh <damian@cisco.com> to fix a problem when trying 
  to get audio from AVI files when you refer to them just by the directory 
  name.

- Patches by alex@foogod.com for the MJPEG import filter, which will allow
  it to (correctly) read:

  1) Files with interlaced MJPEG fields
  2) Files with frames using YUV 4:2:2 and 4:4:4 representations.

  Among other things, this means that import_mjpeg can now read  interlaced 
  MJPEG files produced by lavrec (interlaced 4:2:2) directly. 

- Patch by alex@foogod.com for export_divx4.c 
  to make it work correctly with either DivX 4.x or 5.x encoder libraries. 
  Further development will focus on DivX 5.xx.

- bits per pixel info added by Tilmann Bitterberg.

- new import module "import_rawlist.so" to process a file list of raw video 
  frames. Simalr to "import_imlist.so" but only raw frames. You
  need to supply all video data on the command line. Untested.
	
------------------------------------------------
transcode-0.6.0rc3 Thu Jul 11 22:19:11 CEST 2002

- this snapshot is the third release candidate (rc3) for 0.6.0 (final).
  Not much fixes but pending patches. 
	
- Dominique CARON <domi@LPM.univ-montp2.fr> updated the vob2divx.pl
  perl script in the contrib directory to v.0.8.3

- new audio filter "-J normalize" by Tilmann Bitterberg 
  <transcode@tibit.org>. 	 

- improved buffered reading/writing in the popen import sequence by 
  Tilmann Bitterberg.

- the preview window "-J preview" now closes typing "q" and 
  transcode continues to run, thanks to some patching by Tilmann.

- Moritz Bunkus <moritz@bunkus.org> conributed a Mplayer plugin for import. 
  This is mainly intended for severly broken sources, that otherwise
  fail to encode properly with transcode. There will be no autodetection
  of video and audio parameters. Untested.
	
------------------------------------------------
transcode-0.6.0rc2 Thu Jun 20 22:15:12 CEST 2002

- this snapshot is the second release candidate (rc2) for 0.6.0 (final).
	
- applied Tilmanns fix for the NuppelVideo import bug.

- added the export_xvidraw.so module requested by Fabio Bizzi 
  <bizzi@albacom.net>. 

- header fix for export_wav.so by Tilmann.

- avisync fix for muting sound by Tilmann.

- ISO8601 date compliance fixed by Eduardo Perez <eperez@dei.inf.uc3m.es>

- fixed tcmplex to correctly detect and multiplex MP3 audio streams, which
  actually never worked before.

- import_v4l.so patched to support percents settings for the hue, contrast, 
  color and brightness settings in the file ~/.xawtv by Edouard Gomez 
  <ed.gomez@wanadoo.fr>.

- updates for Tilmann's "filter_logo.so" plug-in. Support for animated GIF
  added.

- finally fixed the --no_split / --psu_mode NTSC bug which caused a decoder 
  thread to restart on full frame buffer condition and messed 
  the encoding process. Thanks to Torsten Howard for the "Willow" donation
  to make the debugging possible.

- new option -c activated for tcmplex. Use "-c a-b" to multiplex a given
  time interval a-b in units of seconds only. This is very convenient for
  splitting VCD/(S)VCD/VOB into suitable chunks.

- fixes for import_nvrec.so keep up to date with latest NVrec tools, submitted
  by Tilmann.
	
------------------------------------------------
transcode-0.6.0rc1 Wed Jun 12 22:16:18 CEST 2002

- this snapshot is the first release candidate (rc1) for 0.6.0 (final).
	
- Dominique CARON <domi@LPM.univ-montp2.fr> updated the vob2divx.pl
  perl script in the contrib directory to v. 0.7.0

- Arne Driescher <driescher@mpi-magdeburg.mpg.de> updated
  the subrip program in the contrib/subrip directory.

- fixes for the odd cut filter behavior by Tilmann Bitterberg 
  <transcode@tibit.org>.	

- manpages updates by Tilmann Bitterberg.

- updates for "-J 32detect". The filter now accepts a couple of options:

   'threshold'  interlace detection threshold [10]
   'equal'      threshold for equal colors [10]
   'diff'       threshold for different colors [30]
   'force_mode' set internal force de-interlace flag with mode -I N [0]
                (currently only 1 and 3 are supported)
   'verbose'    show results [off]

  Example:
  transcode -i ~/d.vob -J 32detect=diff=30:force_mode=3

  The testframe generated with "-J testframe" gives a maximum of approx. 1000
  renormalized counts but a typical interlaced video frames gives much 
  less counts, therefore the default threshold is 10. The check is based 
  on pixels changing color going to neighbor row (diff), while having 
  almost equal color to next-neighbor row (equal) of same column.

- Tilmann added a color inversion filter "-J invert". Use "-J invert=help"
  to learn about options.

- applied a patch by Percy Jahn <jahn@kima.mv.ad.uni-kl.de> which
  adds some more parameters for the user profile. Untested.

----------------------------------------------------------
transcode-0.6.0pre6-20020608 Sat Jun  8 23:43:09 CEST 2002

- fixes for import_xml.so by Marzio <Marzio.Malanchini@omnitelvodafone.it>.

- fixes for too small buffer arrays in various export modules.

- docu update for import_nvrec.so by Tilmann Bitterberg <transcode@tibit.org>.

- new long option "--encode_fields" to enable field based encoding in 
  export_xvidcvs.so.

- changes in the AV re-sync algorithm. Dropping/duplicating frames for "-M 2"
  should be much smoother now fixing the observed jerky motion on replay. 

- Tilmann Bitterberg <transcode@tibit.org> added some option string parsing 
  code for modules/filters. Quoting Tilman: 
  
  The string has to look like

  char opt[]="flag=1:range=100-200:sound=44100,16,2:file=foo.avi"
 
  The author of a module who wants to use this facility must only
  do the following

  #include "optstr.h"

  optstr_get(opt, "file",  "%[^:]",    infile);
  optstr_get(opt, "flag",  "%d",       &flag);
  optstr_get(opt, "range", "%d-%d",    &start, &end);
  optstr_get(opt, "sound", "%d,%d,%d", &freq,  &bits, &chan);

  If one would like only test if a string is specified

  if (optstr_get(opt, "flag", "") >= 0) ...

  I converted my filter modules to use these functions. With this
  i hope we will get options to import and export modules like

  -x ivmod=flag=1:range=0-100,iamod=...  

  Note: this is not implemented for modules yet.
	
----------------------------------------------------------
transcode-0.6.0pre6-20020529 Wed May 29 23:18:46 CEST 2002

- updated included ffmpeg libavcodec to 0.4.6 (CVS).

- new export module "-y ffmpeg4" to encode with ffmpeg's fast
  MPEG-4 implementation contributed by Moritz Bunkus <moritz@bunkus.org>.

- fix for the -P2 bug by Tilmann Bitterberg <transcode@tibit.org>.

- various updates for "-x nvrec" by Tilmann Bitterberg.

- the configure script now searches for an installed libdvdread. If 
  you have already libdvdread installed, it is prefered, otherwise
  transcode falls back and uses the included copy. DVD navigation can be 
  disabled with configure option "--with-dvdread=no".

- new pass-through option -A for tcdemux. For example, if you want to
  reduce a VOB to audio track 1, video and maybe the first subtitle, run:

  tcdemux -i foo.vob -A 0xe0,0x81,0x20 > smaller_foo.vob

- export_toolame enhanced with a high-quality sox audio resampling filter by
  Cristian Vogelgsang <Vogelgsang@informatik.uni-erlangen.de>.

- Tilmann Bitterberg <transcode@tibit.org> introduced a dummy import
  module "auto". This module simply invokes the autoprobing of transcode
  for video/audio.This comes in place if you only want to force a audio import
  module and let video be probed, eg:

  transcode -i file -x auto,null ...

----------------------------------------------------------
transcode-0.6.0pre6-20020524 Fri May 24 17:30:20 CEST 2002

- more fixes for avisplit by Tilmann Bitterberg and Chris C. Hoover.
  Special split mode with "-s 0" re-enabled.

- long option --psu_mode no longer takes an argument. This
  is now elegantly handled by option -o, thanks to Joern Reder and Jason Lunz.

- new long option --a52_dolby_off to disable dolby surround decoding.
  Required when using audio resampling based on bug report by 
  Christian Vogelgsang.

- small configure fixes. Disable X11 mods with "--disable-x".

- renamed export_mjpeg.c to export_ffmpeg.c to make it a general ffmpeg export
  API soon.

- new export module for encoding to fourcc MJPG with libjpeg by
  Ben Collins <bcollins@debian.org> with "-y mjpeg". Not yet tested.
  The module is compiled if libjpeg is properly installed on your system.
  No -V and -Q options yet implemented.
	
- moved some general purpose routines for libioaux.

- new man pages contributed by Tilmann Bitterberg <transcode@tibit.org>.

- fixes for -q 0 (quiet) option by Tilmann Bitterberg.

- stdint.h now only included if HAVE_STDLIB_H also defined.
	
-------------------------------------------------
transcode-0.6.0pre5 Thu May 16 13:12:52 CEST 2002

- fixes for avisplit: absolute paths now working again. Enabled
  option "-c" to merge chunks generated by "-t" option on-the-fly.
  Infos printed on "-h" updated.

- ImageMagick now hopefully detected correctly.

- reorganized the off-line documentation in /docs/html/.

- patch for import_mov.c for a reported audio problem by Cristian Vogelgsang 
  <Vogelgsang@informatik.uni-erlangen.de>.

- updates for "-x nvrec" by Cristian Vogelgsang. Please read the documentation
  /docs/import_nvrec.txt for detailed changes.
	
----------------------------------------------------------
transcode-0.6.0pre5-20020514 Tue May 14 16:05:03 CEST 2002

- fixed unwanted chapter looping for audio only processing.

- fix for broken "-T 1,-1" chapter looping in tccat.

- updated the off-line documentation in /docs.
	
----------------------------------------------------------
transcode-0.6.0pre5-20020513 Mon May 13 08:56:28 CEST 2002

- fixed the stupid -E option check bug. However, the changing the audio bits 
  and channels with option parameters is not yet implemented.

- new core mode "--dir_mode" to work-around import modules
  that lack the "tccat" capability to process directory contents.
  This option enables avimerge functionality in addition with --no_split" for
  pass-through processing without merging first.

- small fix for af6_decore.cpp by Andreas Boman <aboman@nerdfest.org>.
	
----------------------------------------------------------
transcode-0.6.0pre5-20020510 Fri May 10 13:43:06 CEST 2002

- VDR/MPEG directory mode enabled.

- fixes for encoding of chapter range with -T. Example: -T 1,2-5
  encodes chapters 2,3,4,5 and is now working without -U option.

- patch to fix option processing of -T by Kresimir Kukulj <madmax@iskon.hr>.

- more BSD fixes by Steven M. Schultz <sms@2BSD.COM>.

- liba52 dynamic range compression enabled by default. Switch it
  off with new long option --a52_drc_off

- new audio export module "-y pcm" for raw PCM data output. This
  module is only useful for demultiplexing multi-channel audio, e.g.,
  AC3/A52 in connection with required liba52. Demultiplexing is enabled with
  new long option --a52_demux and correct import channel number.

  Example: transcode [...] -e 48000,16,6 -y null,pcm --a52_demux -m track

  produces 6 files:
  track_c.pcm  track_l.pcm  track_lfe.pcm  track_ls.pcm  track_r.pcm  
  track_rs.pcm
	
  It is not checked, if the import source is suitable. YMMV.
  Note: this feature is currently not working!!!!

- Tilmann Bitterberg added a new import module to connect NVrec with
  transcode. Please read the documentation /docs/import_nvrec.txt
  for detailed information.
	
----------------------------------------------------------
transcode-0.6.0pre5-20020506 Mon May  6 16:31:37 CEST 2002

- introducing pre/post processing slots for video processing.
  Currently only -j/-Y with equivalent long options --pre_clip/--post_clip
  is implemented.  
	
  (A) pre-processing (internal, fixed order, video only, single-threaded)
      Ex: --pre_clip (NEW!)

  (B) pre-processing (plug-ins, user defined order, single-threaded)
      Flag set: TC_PRE_S_PROCESS
      Ex: -J extsub, astat

  (C) pre-processing (plug-ins, user defined order, multi-threaded)
      Flag set: TC_PRE_M_PROCESS
      Ex: -J mask

  (D) main processing (internal, fixed order, multi-threaded)
      Ex: -j, -I, -B, ..., -C

  (E) post-processing (plug-ins, user defined order, multi-threaded)
      Flag set: TC_POST_M_PROCESS

  (F) post-processing (plug-ins, user defined order, single-threaded)
      Flag set: TC_POST_S_PROCESS
      Ex: -J extsub=0:0:0:0:1,preview

  (G) post-processing (internal, fixed order, video only, single-threaded)
      Ex: --post_clip (NEW!)

- changes for option -T to allow encoding of a chapter range.
  Example: -T 1,1-4 
  encodes DVD chapters 1,2 and 3 of DVD title 1. This extended option
  is fully backwards compatible, i.e, -T 1,2 encodes only chapter 2
  and -T 1,-1 concatenates all chapters before encoding. The option can also 
  be used to limit chapters for chapter (core-)mode with -U. 
  Extended options for -T also available for tccat.
	
- more infos with -q2 on path of loaded external MPEG-4 codecs.

- small --nav_seek bugfix by Jason Lunz.

- dvenc.c libdv-CVS related fix by Stefan Lucke. 

- tcprobe related bug reported by Moritz Bunkus with spaces in filenames fixed.

- check for lame.h in lame/lame.h to make it compile on RH7.2

- duplicated "extsub" filter to "extsub2". Currently this is the only
  way to add 2 subtitles at the same time in case someone ever needs this
  feature.

- typo in --record_v4l option fixed thanks to Yannick Calmes.
	
----------------------------------------------------------
transcode-0.6.0pre5-20020503 Fri May  3 13:55:51 CEST 2002

- Andreas Neukoetter <anti@webhome.de> wrote a toolame export filter.    

- changes for avisplit by Chris C. Hoover <cchoover@charter.net>.
  The option -t is able to split an AVI-file based on time and frame 
  parameter. Here is an example:

  avisplit [...] -t ::.-12345,:.2-1:18.345

  does he following. It will split a first chunk starting at
  0 minutes, 0 seconds and 0 frames to 12345 frames. In addition, a second
  chunk covers 0 seconds and 2 frames to 1 minutes, 18 seconds and 345 frames.
  Sounds complicated but gives you full freedom to choose a chunk.
  Please note, for MPEG-4 AVI-files, the cut is made at a nearby keyframes.

  Another example for a single chunk:
  avisplit [...] -t -n:m:l.k 
  
  means 0 hours, 0 minutes, 0 seconds and 0 frames to n hours, m minutes, 
  l seconds and k frames. Any timecode is translated to frames based on the
  frame rate.
	
- a couple of "-q 0" related bugs fixed, thanks to a report by
  Thilo Mezger <thilo.mezger@web.de>.

- AVI-files with raw YV12/I420 codec now correctly processed.

- fixed the configure error on "--with-avifile-mods=no".

- added 1s delay on encoder closing in chapter/psu mode. The reported 
  segfault with --no_split has been fixed.

- proper parameter initialization in export_divx(4/5).so fixed
  by Christoph Lampert.
  
----------------------------------------------------------
transcode-0.6.0pre5-20020426 Fri Apr 26 09:12:41 CEST 2002

- this release does not fix any bugs or adds new features!

- changes in the configure.in. Upgraded my development platform to:
  autoconf (GNU Autoconf) 2.53
  libtoolize (GNU libtool) 1.4.2
  automake (GNU automake) 1.6.1

----------------------------------------------------------
transcode-0.6.0pre5-20020425 Thu Apr 25 21:53:16 CEST 2002

- update for the contrib/vob2divx.pl script by
  CARON Dominique <domi@LPM.univ-montp2.fr>. Support for dvdrip added.

- experimental support for latest DivX 5.xx encoding available.
  The export module has been contributed by Christoph Lampert 
  <chl@math.uni-bonn.de>. If you want to make a transition to this
  new DivX binary only codec version please use "-y divx5". If you are not 
  planning to switch and want to stick to DivX 4.02, use "-y divx4" instead. 
  For both major version, the encoder binary is named "libdivxencore.so".
  The new module will not work with the older codec binary.
	
  In addition, the new module "export_divx5.so" now also generates a 
  logfile for 2-pass encoding using -R3 (fixed quantizer).

- fix for the giant bitrate problem and XviD encoding. The export module
  "-y xvid" should now work with latest official XviD codec release of
  2002-04-12.
	
----------------------------------------------------------
transcode-0.6.0pre5-20020423 Tue Apr 23 21:35:44 CEST 2002

- new long option "--no_split" to enable 
	o DVD chapter mode "-U <base>" 
	o VOB program stream unit (psu) mode "--psu_mode <base>"
  to encode to a single outputfile, rather than splitting the
  output for each chapter/psu. Useful for 2-pass encoding.

- RGB mode extensions for 32drop/cshift/mask filter plugins and small
  bugfixes by Chad Page <cpage@silcom.com>.

- bugfix for the subrip program in contrib/subrip by Arne Driescher 
  <driescher@mpi-magdeburg.mpg.de>.

- bugfix for audio only cluster mode bug introduced in last snapshots
  reported by Frank.Seidel@student.fh-nuernberg.de.

- fixes for MPEG VOB from DVB-C, that have a PTS every second packet only.
  Thanks to samples provided by Peter Bieringer <pb@bieringer.de>. 
	
----------------------------------------------------------
transcode-0.6.0pre5-20020419 Fri Apr 19 13:43:27 CEST 2002

- new long option "--cluster_chunks a-b" for convenient
  selection of a chunk range in addition to existing cluster encoding
  options. This is a mainly for (S)VCD/DVD cluster encoding. New
  option works for audio and video.

- new transcode core mode that is suitable for NTSC programs streams that
  show a high fragmentation due to program stream units (PSU). It seems
  that the PSUs, that are defined by a reset of the presentation time stamp 
  (PTS) require also a re-synchronization of audio and video.
  This is impossible in the current design of transcode. However, this new mode
  takes the navigation logfile with "--nav_seek <logfile>" and can be enabled
  by "--psu_mode <base>". Similar to DVD chapter mode, the import is 
  restarted at every PSU, thus taking a proper re-synchronization into account,
  whereas the audio encoding in continuous. The individual files can be 
  merged to one or more bigger chunks. If you only need to 
  encode a certain PSU range, use the additional new long option 
  "--psu_chunks a-b[,c]". The third parameter is a threshold, that avoids
  encoding units that contain less or equal c frames to skip junk units
  without messing AV synchronization. Default is c=12.

  Please note: 
     o experimental, not yet tested on a 2h movie.
     o this mode may show audible artifacts at the unit transitions.
     o it can only be used with "-x vob".
	
- new long option "--seek_nav <logfile>" to support fast seeking
  to a frame region with option -c using the navigation logfile produced 
  by "tcdemux -W". Patch contributed by Jason Lunz <lunz+mlist@falooley.org>.
  This option will only work in connection with "-x vob".
	
- CVS XviD module "export_xvidcvs.so" updated by Christoph Lampert 
  <chl@math.uni-bonn.de>.

- "import_divx.so" import module update to DivX 5.0 by Christoph Lampert.
	
- update for the subrip program in contrib/subrip by Arne Driescher 
  <driescher@mpi-magdeburg.mpg.de>.

- fixes for the spec file by Michel Alexandre Salim <salimma1@yahoo.co.uk>.
	
----------------------------------------------------------
transcode-0.6.0pre5-20020416 Tue Apr 16 22:20:01 CEST 2002

- more fixes for "avisplit" and "avisync" by Chris C. Hoover.

- transcode is now able to detect field/frame encoded MPEG sequences 
  and to adjust AV sync algorithm if necessary. This fixes also related
  subtitle timing problems.

- update for MPlayer libpostproc dependent filter plug-in by 
  Tilmann Bitterberg. If you need to work with MPlayer CVS, use
  the new "-J ppcvs". To obtain information on option parameter, 
  try "-J ppcvs=help". The default plugin "-J pp" is compliant with the 
  official MPlayer 0.60 libpostproc API.

- small bug for -D detected by Michael Stuermer <Michael.Stuermer@mallorn.de>.

- changes in the spec file by Michel Alexandre Salim <salimma1@yahoo.co.uk>.
	
----------------------------------------------------------
transcode-0.6.0pre5-20020415 Mon Apr 15 09:39:42 CEST 2002

- Chris C. Hoover <cchoover@charter.net> has updated the "avisplit" tool
  and add new features.

- MP2 audio detection was broken in last snapshot - fixed.

- new import module for raw yuv picture import "-x yuv" by 
  Marek Blaszkowski <mb@intercon.pl>. No auto-detection for raw frames and
  directory mode for "-i" only. You must specify the frame parameter. 
  See import/yuv/Readme for details.

- changes to compile with libdv-0.9.5, if detected.

- preliminary fixes for subtitles and -V showing shadow effects due
  to chroma misalignement.
	
----------------------------------------------------------
transcode-0.6.0pre5-20020410 Wed Apr 10 15:04:46 CEST 2002

- option -f now allows "0" if frame rate code is provided.
  Example: -f 0,1 sets framerate to 24000/1001=23.976024

- fixes for non-symmetric negative vertical cropping values. Now
  both options "-Y/-j" fully functional for positive and negative
  arguments.

- applied a patch contributed by Nicolas Vignal <nicolas.vignal@fnac.net>
  to make transcode work with filenames that include spaces.

- updates for filter_32drop.so by Chad Page <cpage@silcom.com>.

- bugfix for filter_xsharpen.so by Tilmann Bitterberg.	

- Chad Page <cpage@silcom.com> reintroduced mode "-F 6" for export_mpeg2enc.so   to support user specification of almost all mpeg2enc options.  
  This allows you to set up really good (but slow) encodes.               

- added "filter_logo.so" contributed by Tilmann Bitterberg. The filter
  needs ImageMagick installed. Get some usage help with "-J logo=help".

- new long option "--av_fine_ms t" for AV sync correction expressed in ms.
  t>0 will drop audio samples equivalent of t ms to change AV sync.
  t<0 will padd audio samples equivalent of t ms to change AV sync.
  note: t > 1./fps will be converted to -D option parameter to yield
  an effective t < 1./fps [ms].
	
- experimental support for new AV sync correction strategies "-M3/-M4"
  for automatic/manual AV fine-tuning down to 1ms.

  -M 3 (like -M 1) but invokes "-D/--av_fine_ms" options internally based
       on "tcprobe" PTS analysis.
  -M 4 (like -M 2) with additional frame rate enforcement (for NTSC). 

- added AVI-file index printout to tcscan.
	
----------------------------------------------------------
transcode-0.6.0pre5-20020404 Thu Apr  4 10:10:49 CEST 2002

- new long option "--keep_asr" for smart resizing and keeping the aspect ratio
  introduced by Tilmann Bitterberg. This option requires also use of "-Z".

- updated the anti-alias routines to use integer arithmetic and lookup tables
  for minor speedups. New long option "--antialias_para w,b" to fine tune 
  processing. "w" (0<w<1) denotes center pixel weight (default=1/3) with
  respect to the 8 neigbours. "b" (0<w<1) determines relative x/y weight 
  (default=0.5). b=0 disables anti-aliasing in x-direction and b=1 disables 
  anti-aliasing in y-direction. Option -C is now thread-safe and fully
  working for all modes (1-3).

- new long option "--duration hh:mm:ss" introduced by Chris C. Hoover which
  limits grabbing from a v4l device.

- new long option "--no_audio_adjust" to disable periodically audio frames size
  adjustments for odd frame rates.

- added option parameter for "extsub" plugin to enable overlay on
  post-processing. This makes it possible to add black bars with "-j/-Y"
  before adding the subtitle and avoids fonts beeing messed by other frame
  processing routines. See "Examples" section on transcode homepage.
	
----------------------------------------------------------
transcode-0.6.0pre5-20020402 Tue Apr  2 22:45:16 CEST 2002
	
- changes in the AV sync mode in the MPEG demuxer. Removed drop sequence in
  favor of "-D" option, which seems to work better.

- new filter plugins added by Chad Page <cpage@silcom.com>. First and last 
  filter mostly for NTSC. Here is what he posted:
  
      o 32drop (no options) is like 32detect but drops frames and
	maintains an internal frame counter so that if interlaced frames are
        irregular the video will not fall out of sync more than 1 or 2 frames.

      o mask (mask=left:right:bottom:top, sorry that's not in the right
        order yet) is YUV only for now, and sets Y in the masked areas to 0 so
        that you can crop out unstable captured areas from VHS tape and make
        32drop work better.

      o chroma shifter (cshift=#) is another YUV-only filter shifts the
        chroma values by #, so that if your NTSC vhs cap has lagged colors
        (noticable here in animation) you can partially correct it. 
	I have found that black line areas maintain color information.

- Makefile in libsupport replaced by Juergen Hennerich 
  <s-hej4@jura.uni-tuebingen.de>.

- some unused network code removed.
	
- fix for an "assert" problem in ifo_read.c by eperez@dei.inf.uc3m.es.

- Altivec support added by Guillaume Morin <guillaume@morinfr.org>.

- small BSD fixes by Steven M. Schultz <sms@2BSD.COM>.

- small fixes for export_xvid(cvs).so by Christoph Lampert <chl@math.uni-bonn.de>.

- new long option "--record-v4l" for grabbing based on a time interval 
  in seconds as suggested by Chris C. Hoover <cchoover@charter.net>. 

- updates for filter_extsub.so.

------------------------------------------------
transcode-0.6.0pre4 Wed Mar 27 00:08:40 CET 2002

- fixes for the avifile import API provided by Christian Vogelgsang 
  <Vogelgsang@informatik.uni-erlangen.de>. His update also enables
  packed to planar 4:2:0 conversion if necessary and MainActor MJPEG codec
  is now fully working.
	
- fixes for interlaced MJPEG codec by MainActor for the native import support.
  In this case only one field is currently decoded.
  Example: let 720x576 be the frame dimension detected by tcprobe. You need
  transcode [...] -g 720x288 -k (-X 9,0 or -Z 720x576)
  to resize the field to a full frame.

- applied PPC patch contributed by Guillaume Morin <guillaume@morinfr.org>.
  
- bugfix for the NuppelVideo import module by
  Christian Vogelgsang <Vogelgsang@informatik.uni-erlangen.de>.

- forked the XviD export:
  
  o Use latest official snapshot 2002-03-17 with "-y xvid". 
  o If you follow CVS, please use "-y xvidcvs" instead.
	
- small update for export_xvidcvs.c by Edouard Gomez <ed.gomez@wanadoo.fr>.

- update for import_xml.so. Please see the documentation in 
  /docs/import_xml.txt provided by Marzio Malanchini on how to use this
  module.

- avimerge progress info finally available.

- added new export module "-y divx4raw". This will basically have all the
  features of "-y divx4" but will write a raw bitstream to the filename
  provided with "-o". You also need to supply "-m" if you want to obtain
  the raw audio stream with your format/codec of choice.
	
---------------------------------------------------------
transcode-0.6.0pre4-20020324 Sun Mar 24 20:45:52 CET 2002

- updates for the MPEG export. The most important features are now documented
  and available both for PAL and NTSC. Please see
  http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/mpeg.html

  known issues:
  o mjpeg-tools and option --pulldown for 3:2 pulldown does not work
  o bbtools mpeg2 encoder for frame size 352x240 broken
  o tcmplex profile parameter "max_file_size" untested

  changes:
  profiles merged in "-y mpeg2enc", i.e., 
	-F 0    MPEG-1
        -F 1    standard VCD
	-F 2    user VCD
        -F 3    MPEG-2
	-F 4    standard (S)VCD
	-F 5    user (S)VCD
  support both PAL and NTSC depending on framerate. In addition, more options
  can be passed to "mpeg2enc" with a 2nd argument to "-F". However, for the
  standard profiles (1+4) parameters beyond specification are ignored.
	
---------------------------------------------------------
transcode-0.6.0pre4-20020322 Fri Mar 22 14:31:08 CET 2002
	
- progress info added to avimerge by Joern Reder.

- patch by Jason Lunz <j@falooley.org> to lift frame size restriction if frame
  resizing is only applied to one dimension (-B/-X).

- Linux/Alpha patch broke bbmpeg. Fixed.

- tcmplex has a new option to alter default profile settings for video/audio 
  delay in ms. For example, the DVD profile "-m d" sometimes 
  requires "-D 0" to adjust AV sync.
	
---------------------------------------------------------
transcode-0.6.0pre4-20020321 Thu Mar 21 20:23:49 CET 2002

- AV sync improvements for program streams.
	
- disabled auto-probing of AV shift for -M 1/2.
	
- quick bugfix release for the broken directory mode.
	
- title set number info added to tcprobe by Christian Vogelgsang.

- compilation problems, if no libxml2 present, hopefully solved.

- small scan_pes.c fix for not detecting MPEG video sequence headers.

- included the new filters that somehow got lost.

- vob2divx perl script updated by CARON Dominique <dcaron@LPM.univ-montp2.fr>
 	
---------------------------------------------------------
transcode-0.6.0pre4-20020320 Wed Mar 20 20:17:40 CET 2002

- export_xvid.so updated by Edouard Gomez (alias GomGom) to support latest 
  official XviD codec snapshot of 2002-03-17 to be found here:
  <http://www.xvid.org/index.php?section=Download>

- improved AV sync for VDR MPEG videos.
	
- new import module "import_xml.so" to process xml tag files
  with further information on input files and frame range.
  The import module can manage dv and avi audio/video.
  This experimental module is contributed by Marzio Malanchini 
  <Marzio.Malanchini@omnitelvodafone.it>.

- frame range support for tcextract and AVI-files added by Marzio Malanchini.
  Use this feature with the new -C option. Currently, only
  the import_xml.so module makes use of it.
	
- patch by Nikita Schmidt <cetus@cnds.ucd.ie> to make transcode
  compile on Linux/Alpha. Untested.

- updates for the v4l import by Chris C. Hoover <cchoover@charter.net>.
  Two new long options have been added. Try "--more_help import_v4l"
  to learn about video grabbing.

- new filter plugins ported from VirtualDub to transcode by 
  Tilmann Bitterberg <bitterberg@gmx.de>:
  (1) A new de-interlace filter, see /docs/Smart for excessive documentation 
  in HTML format or use "-J smartdeinter=help".
  Tilmann did some testing of de-interlace filters of transcode
  You can view and read the result at <http://tibit.org/video/>.
  For more information see <http://sauron.mordor.net/dgraft/smart.html>
  (2) The filter "-J xsharpen" performs a subtle but useful sharpening effect,
  see the examples on the above mentioned page. Get some help
  on arguments with "-J xsharpen=help".
  For more information see <http://sauron.mordor.net/dgraft/xsharp.html>.

- changes in avimerge to enable simultaneous merging of multiple
  AVI-files and adding another audio track with "-p". Untested.

- small fix in /export/Makefile.am for libMagick support.
	
---------------------------------------------------------
transcode-0.6.0pre4-20020312 Tue Mar 12 16:13:48 CET 2002

- fixed a small bug in filter_extsub.c where the audio import module was 
  accessed and caused problems with the null module.

- added -N option for tcmplex to switch to NTSC mode, default is PAL.
	
- applied a patch by Chris C. Hoover <cchoover@charter.net> to extend
  fixed profiles for NTSC available in "-y mpeg2enc". Untested.
  Note: This is only a temporary solution until the MPEG export port
        is fully tested for both PAL and NTSC.

   -F 11    //Standard VCD. An MPEG1 profile NTSC at 29.97
              //exactly to the VCD2.0 specification.

   -F 12    //Standard VCD. An MPEG1  profile NTSC at 23.976
              //exactly to the VCD2.0 specification.
 
   -F 13    //Standard VCD. An MPEG2 profile NTSC at 29.97
              //exactly to the SVCD2.0 specification.

   -F 14    //Standard VCD. An MPEG2 profile NTSC at 23.976
              //exactly to the SVCD2.0 specification.

- fixed a small bug in the new percentage based cluster mode.
  Use -W 100,100 for audio encoding.

- perls script vob2divx4.pl update in the /contrib directory by 
  CARON Dominique <domi@lpm.univ-monp2.fr>. he also contributed a cluster
  mode script "runclust".

- first set of expert options for divx encoding available via 
  --divx_quant and --divx_rc. Changes in export_xvid.c and export_divx4.c.
	
---------------------------------------------------------
transcode-0.6.0pre4-20020310 Sun Mar 10 08:35:28 CET 2002

- fixes for NTSC cluster mode. The logfile generated by "tcdemux -W"
  is now independent of the framerate. 

- small long options update by Juergen Hennerich.

- new configure option "--enable-liba52" to make liba52 your
  default AC3/A52 decoder. You need the latest v0.7.3 to compile
  the decoder plugin. Default is libac3 decoding.

---------------------------------------------------------
transcode-0.6.0pre4-20020306 Wed Mar  6 14:17:21 CET 2002

- added missing user donated scripts in the contrib directory.

- added INFO list to AVI file header. Currently the only entry
  is ISFT, which identifies the name of the software package used to
  create the file.
	
---------------------------------------------------------
transcode-0.6.0pre4-20020305 Tue Mar  5 23:51:35 CET 2002

- inverse cropping "-j/-Y" extended for non-symmetric option
  parameter.
	
- updated Arne Driescher's /contrib/subrip/ subtitle processor

- applied a patch by Juergen Hennerich <s-hej4@jura.uni-tuebingen.de> 
  to make the long options work if not supported by the C-lib.

- some changes in the frame buffer structure for upcoming
  speed-ups. Eliminated a frame memcpy system call for -Z/-X.

- new percentage based cluster mode enabled with "--cluster_percentage".
  Contributed by by CARON Dominique <domi@lpm.univ-monp2.fr>. 
  This option switches the meaning of -W arguments. Example:
	-W A,B
  means: skip A percent and encode B percent. If you have a slow and a fast 
  machine you might want to try -W 0,20 for the slow and -W 20,80 for the 
  fast one. You need to take care of the numbers. Untested.

- added more user donated scripts in the contrib directory.

- added long option "--export_asr C" where C is a suitable
  aspect ratio code for the exported material. Used by encoders, that 
  do support this information, e.g., "-y mpeg".
  0=invalid, 1=1:1, 2=4:3, 3=16:9, 4=2.21:1 are common.

- the AC3/A52 decoding to A52_DOLBY has been enabled by a patch
  contributed by Joerg Sauer <js-mail@gmx.net>. According to his
  investigation, the resulting stereo audio has matrix encoded 
  surround channels. More user options coming soon.
	
---------------------------------------------------------
transcode-0.6.0pre4-20020301 Fri Mar  1 23:04:59 CET 2002

- introducing the first long option "--zoom_filter"
  This option enables selection of a non-default filter for high-quality
  frame rescaling (zooming) in connection with -Z.

  Examples:  --zoom_filter L[anczos3]  (default, highest quality)
  
  others: M[itchell], B[_spline], T[riangle], H[ermite], bell, box. 

  The filter functions are defined in /src/zoom.c. Feel free to add
  your favorite filter here. The filters and methods differ in speed
  and image quality. 

- some LFS updates for the avilib directory.

- Tilmann Bitterberg <bitterberg@gmx.de> has contributed a patch
  to enable the inverse cropping "-j/-Y" for the horizontal frame 
  dimension also. This finally enables DV export PAL/NTSC at the
  required framesize without rescaling.

- added first version of a MJPEG export module. Encoding is done
  by ffmpeg. This is going to be a more general interface for ffmpeg
  supported codecs, however this version is hardcoded for MJPEG.
  I am not satisfied with the codec quality - this is alpha code.
	
---------------------------------------------------------
transcode-0.6.0pre4-20020228 Thu Feb 28 22:50:36 CET 2002

- updates for "import_v4l.so" by Chris C. Hoover <cchoover@charter.net>
  to make the module process your $HOME/.xawtv file. 
  Select a TV channel with "-a 0,X" where X is the channel id in
  your ".xawtv" file. For example, "-a 0,E7" selects "ARD" in Germany, and
  "-a 0,-1" does not touch the current presettings.
  
- started to implement long options as suggested and prepared 
  by Juergen Hennerich <s-hej4@jura.uni-tuebingen.de>. Not used yet.

- added a first version of an ImageMagick export module "export_im.c".
  Export image codec and file format determined by "-F X". For example:
  "-y im -F tiff" writes a sequence of TIFF images, named 
  frame.000000.tiff, frame.000001.tiff, ...
  Currently, "-V" is slow, because of yuv2rgb conversion. Need to fix this.

- small bugfix for the subtitle plugin concerning the vertical shift option.
  Subtitles can be arbitrarily shifted up and down. 

- updated the subrip contribution to match latest subtitle header changes.
	
---------------------------------------------------------
transcode-0.6.0pre4-20020227 Wed Feb 27 22:54:36 CET 2002

- small bugfix for fast vertical resizing -B/-X.
  Juergen Hennerich <s-hej4@jura.uni-tuebingen.de> contributed a patch
  that removed some of the frame parameter restriction of -B/-X. An
  optional 3rd parameter was added for -B/-X which must be a muliple of 8. 
  Default is 32 for backward compatibility. Examples:

  -B 1,1,8   reduces a PAL image to 712x568
  -B 2,0,16  reduces a PAL image to 704x576 and is equivalent to 
	     -B 1,0 or -B 4,0,8.

  Note that the frame dimension must be an integral multiple of the
  third parameter.

- configure option "--disable-x" will no longer build X11 dependent
  modules like "subtitler" and "preview".

- compilation problems with liba52 solved and a52_decore.c updated.
  You need libac52 v0.7.3 installed to make it work.
  Switch to liba52 decoding with audio import pseudo codec "-n 0x2001".

- small update for filter_testframe.so.
	
---------------------------------------------------------
transcode-0.6.0pre4-20020226 Tue Feb 26 21:09:28 CET 2002

- some updates for NTSC program streams to improve AV sync.
	
- added a new import module for image processing "import_imlist.so".
  Same functionality as "import_im.so" except that it processes
  a list of images given as filenames with transcode "-i" option.
  All images must be same size and filetype. You must also provide
  image size and requested frame rate of your movie at the commandline.
  Example: 
  
  transcode -i image_list.txt -x imlist,null -g 352x288 -y divx4,null -f 1.0

  produces a slide show of one image per second. You can find out the frame 
  parameter (-g wxh) with tcprobe. 

- added a shell script for mpeg2divx conversion to the contrib directory by 
  Andreas Reichel <andreas.reichel@i-kit.de>.

- added a small audio plugin for audio only processing that skips audio 
  frames below a certain noise level. This may be useful
  for DVD's with tracks that have the film music only but long pausing
  during dialogs. Furthermore, a keyframe flag is set at every cut.
  Write to an AVI-file container with "-g 0x0" and null import/export
  video modules. Use avisplit and tcextract to obtain a set of
  audio clips at the end. Use this module with "-J aclip=a:b", where
  a is shreshhold (10) and b is the number of frames (25) that need to be
  below this threshold before frames are dropped.
	
------------------------------------------------
transcode-0.6.0pre3 Mon Feb 25 11:22:06 CET 2002

- DVD subtitles are now anti-aliased before rendering into
  the video frame. The option list for the filter plugin has been extended:
  
  -J extsub=s:h:t:f:a:b:p:q

  with:
        s   subtitle track id [0-31]
        h   offset of subtitle with bottom of frame 
        t   global display start time correction in msec
        f   fast rendering (no anti-aliasing) (0=off, 1=on)
        a   graylevel value a [0-255]
        b   graylevel value b [0-255]
        p   assign subtitle color p [0-3] to graylevel value a
        q   assign subtitle color q [0-3] to graylevel value b

  normally, subtitle color 0 is treated as transparent.
  Default is -J extsub=0:0:0:0:0:0 with p and q auto-detected.

- added a little audio filter plugin "-J astat" that will print the
  "-s" option parameter for volume rescaling (normalizing) on exit.

- Arne Driescher <driescher@mpi-magdeburg.mpg.de> has contributed a
  subtitle ripper for the contrib/ directory. It uses transcode
  to rip the subtitle packets and converts them to images, which
  can be further converted to ASCI text and eventually be rendered
  with custom fonts and displayed by players, that support it.
  Please see README.subtitle2pgm for details.

- fixed another core bug on import side for multiple
  frame processing threads on a full frame buffer condition, leading
  to shutdown for failed buffer allocation.

- subtitler filter plugin updated to 0.6.3
	
---------------------------------------------------------
transcode-0.6.0pre3-20020221 Thu Feb 21 15:18:38 CET 2002

- more serious issues reported. Added a force exit flag for deadlock on
  transcode termination. Fixed transcode hangs on exit problem
  for full frame buffer or busy frame processing threads.

- new de-interlace option "-I 4". This option throws away a field,
  but unlike "-I 3", it does not zoom to full frame size again.

- added a missing option for SVCD encoding with "-y mpeg2enc -F 5" reported by
  Chad Page <cpage@silcom.com>.

- the audio resample filter now does the resampling, i.e.,
  "-J resample" forces transcode to use this re-sample filter instead
  of the export re-sample routines (lame/ffmpeg/mp2enc). Untested.
	
---------------------------------------------------------
transcode-0.6.0pre3-20020220 Wed Feb 20 21:05:21 CET 2002

- one more snapshot before pre3, beacuse of broken tcdemux logfile 
  output with option -W for cluster-mode. Fixed, hopefully.

- NuppelVideo import was broken. Fixed it by duplicating
  decoder code to make it work for audio and video in parallel.
  No cleanup yet. 

- added an audio resampling filter plugin. Use it with
  "-J resample" and specify output sampling rate with -E. Do not use this
  plugin with export modules, that already have an internal re-sampling
  capability. The code has been taken from the NuppelVideo import module
  goes back to sox code. Use this plugin for PCM audio output.
  
- Yannick Vignon <ye.vignon@enst-bretagne.fr> added an export module for 
  another MPEG-4 codec, part of the libfame library. 
  Libfame (you need CVS) can be found on sourceforge:  
  "http://sourceforge.net/projects/fame".
  Use it with "-y fame", options similar to OpenDivX.

- fixed the DVD chapter looping audio only transcoding with "-p".

- applied a patch by Charles Wilson <cwilson@ece.gatech.edu> to enable
  build of transcode outside source directory.
	
---------------------------------------------------------
transcode-0.6.0pre3-20020218 Mon Feb 18 13:11:21 CET 2002

- AC3 pass-through now works on a per frame basis, i.e.,
  AVI-file chunks contain integral number of AC3-frames, usually 1-2.

- frame reduction option "-r" now accepts 2 arguments for
  independent rescaling of height and width. As usual,
  "-r 2" corresponds to "-r 2,2". Use "1" for no change, i.e.,
  "-r 2,1" will only keep every 2 row, columns unchanged.

- changes in the internal subtitle header structure, thanks
  to suggestion by Arne Driescher <driescher@mpi-magdeburg.mpg.de>.

- a small perl script for automatic audio rescaling/re-encoding of
  AVI-files was added in the contrib directory by
  Steffen Klupsch <steffen@informatik.tu-darmstadt.de>.

- DVD subtitle support for NTSC enabled. Extended arguments for
	-J extsub="s:h:t:a:b"
  "t" will add a constant shift in milliseconds to the beginning of
  the subtitle display. Subtitles may lag a little behind. 
  "a","b" changes color parameter (not color). There are 4 "colors" (0-3)
  available. More infos on that soon.
	
- audio export info messages for MPEG layer-II request cleanup up.

- no channel selection for -a 0,-1 to enable recording from
  currently active channel set by, e.g., xawtv.
  Fixed problem to set grabbing frame size with -g.

- audio export with "-y *,mp2enc" now allows setting export bitrate
  and sampling rate. As a consequence, for VCD compliant audio 
  the options "-E 44100 -b 224" are now mandatory.

- enabled audio re-sampling for "-y mpeg", which was not activated and
  causes slowing down of audio for sample rates not equal the input
  sample rate.

- transcode server thread now only started in connection with "-y net".
	
---------------------------------------------------------
transcode-0.6.0pre3-20020214 Thu Feb 14 15:15:01 CET 2002

- transcode option -f expanded to provide the frame rate code information
  for improved precision. The frame rate code overwrites the first parameter.
  Use "-f 0,1" for setting the frame rate to 24000/1001.  

- changed AVI-header (strh) size from 64 to 56 bytes to avoid 
  "aviplay" complaining. Maybe this fixes also "kino" problems.

- wait for termination of frame processing threads before buffer
  release re-enabled.

- export_ppm.so now exports grayscale images along with option "-K"
  and suffix "pgm" for use with "pgmfindclip" written by Christian Vogelgsang.
	
---------------------------------------------------------
transcode-0.6.0pre3-20020213 Wed Feb 13 14:16:46 CET 2002
	
- mostly core cleanups for upcoming pre3. Proper locking when
  issuing a signal for a condition variable. This may fix
  the Negative buffer counter problem. 

- removed debugging code in avimerge.

- fixed a small bug in probe.c detected by Christoph Lampert.
	
---------------------------------------------------------
transcode-0.6.0pre3-20020211 Mon Feb 11 12:18:43 CET 2002

- bugfix for subtitle plugin buffer release notification.

- more core changes, cleaner frame processing thread termination, bugfix.
	
---------------------------------------------------------
transcode-0.6.0pre3-20020209 Sat Feb  9 18:49:03 CET 2002

- some core cleanup for encoding/decoding. Cleaner handling
  of buffer requests and queuing. Negative buffer indicator problem 
  still unresolved.

- added import audio bitrate display.

- patch for "-x v4l" to enable grabbing in YUV mode, thanks to a patch
  by Tilmann Bitterberg <tilmann@bitterberg.de>. 
  Watch and record from TV with an ultra-fast de-interlace filter

  Example:
  transcode -i /dev/video -p /dev/dsp -V -y xvid -o q.avi -a 0,5 
	    -g 400x300 -H 0 -x v4l -u 100 -J pp=lb,preview

  Replace the frame size by values supported by your hardware for real-time
  encoding. Auto-probing for v4l still broken. 
	
- !!Alpha!! code for DVD subtitle support enabled. Subtitles are added with

  -J extsub="n:s"

  where "n" is the subtitle stream number (0-31) and "s" denotes a vertical 
  shift in the subtitle position. Default is "0:0", which places the subtitle 
  lined up with the bottom of the frame, usually filled with a black bar.
  Currently, this feature works only with import module "-x vob", i.e., not 
  with direct DVD transcoding. It's also only tested with PAL, NTSC may 
  not work, maybe only if -M1 also works for you.  
  This module is only for direct rendering the subtitle onto the video
  frame. Other methods will be added in the near future.
  
  KNOWN BUGS: 
  o A reset of the PTS within the stream will break the subtitles.
  o You need to figure out yourself, what subtitles are available.
    Use "tcprobe -i my.vob -H N" with N=10-20 to detect the total number 
    of subtitles within the stream.
  o If you do not start with the very first VOB chunks, it may take
    some time before the first subtitle is displayed.

- added custom mode (pseudo profile) "6" for "-y mpeg2enc" to use with
  -F "6,<string>"
  where string is directly passed to "mpeg2enc". This mode was suggested
  by <Marzio.Malanchini@omnitelvodafone.it>.
	
---------------------------------------------------------
transcode-0.6.0pre3-20020206 Wed Feb  6 15:15:12 CET 2002

- fixed v4l configure/build bug.

- minor cleanup in export_mp2enc.c, -E disabled by default.

- added synchronous filter pre/post processing. Some filter
  simply are unable to run in parallel.
	
---------------------------------------------------------
transcode-0.6.0pre3-20020205 Tue Feb  5 10:21:46 CET 2002

- quick bugfix release
	
- fix for broken "-F" option in export_mpeg.c.

- patch for streaming wav by Andrew Maltsev <am@amsoft.ru>.
	
---------------------------------------------------------
transcode-0.6.0pre3-20020204 Mon Feb  4 10:53:16 CET 2002

- updates for MPEG encoding / NTSC framerate precision by Gerhard Monzel
  based on suggestions and patches from the ML.

- configure changes ImageMagick related suggested by Markus Plail, but
  the problems are most likely due to a broken "Magick-config".

- export to Quicktime movies improved by Christian Vogelgsang.
  Use it with "-y mov". It replaces the old Quicktime export modules "qt,mov".
  All codecs by the quicktime4linux library are enabled with option 
  string for -F. Examples:
            -F "mjpa,ima4" (default) 
  The IMA4 compressor reduces 16 bit audio data to 1/4 size, with very 
  good quality and MJPA stores each frame as two JPEGs interlaced.
  Thanks to Christian for completing the quicktime4linux import/export
  capabilities of transcode.
	
- fatal bug in avisync corrected.

- new audio only export module interface to mjpegtools mp2enc program 
  contributed by Georg Ludwig <email@georg-ludwig.de>. 
  This is the companion module for MPEG video encoding with mpeg2enc, so
  you probably use it with "-y mpeg2enc,mp2enc".
  I have added the capability to pipe the audio stream through sox for
  resampling. Use this feature with "-E". Untested.

- new import module "-x v4l". This module enables very primitive
  audio and video grabbing form a video4linux device. Added this
  for my personal pleasure and to make use of my old vcr-like 
  grabbing code, probably based on the great xawtv program.
  It enables realtime encoding to divx/mp3 at 352x288
  resolution and 25fps on my CII533@800. Do not use this experimental module.
  Currently works only in RGB mode. Examples:

  (1) record MPEG audio stream from /dev/dsp at (48000Hz,16bits,2ch)
  transcode -p /dev/dsp -y null,raw -o sound.mp3

  (2) record TV show (PAL), grabbing is at 360x288, but encoder needs 352x288,
      from preset station 2:
  transcode -i /dev/video -p /dev/dsp -a 0,2 -j 0,4 -y xvid -o show.avi

- DV type-1 AVI-files supported for import via directory mode
  of option "-i". No auto-probing available. You need to switch it off 
  completely with "-H 0" and provide video/audio parameter.
  Alternatively, extract the raw DV stream with "tccat" providing
  the directory name as input.
	
---------------------------------------------------------
transcode-0.6.0pre3-20020130 Wed Jan 30 09:51:31 CET 2002

- patch applied to avisync for quiet operation donated by
  Tilmann Bitterberg.

- import_mov.so has been improved by 
  Christian Vogelgsang <Vogelgsang@informatik.uni-erlangen.de>.

- QuickeTime files are now processed by tcprobe. However, only
  a few codecs are actually supported.

- avimerge bug for multiple audio tracks has been fixed.

- patches by Vladimir Kushnir <vkushnir@alfacom.net> applied to
  make transcode compile and work on FreeBSD.

- audio pass-through mode has been fixed.

- import divx speedup for pass-through mode.

- pass-through mode now allocates 50 frame buffer. Overwrite with -u.
	
---------------------------------------------------------
transcode-0.6.0pre3-20020126 Sat Jan 26 16:23:04 CET 2002

- added some README files to the /docs directory, based
  on the first week of mailing list discussion.

- inverse vertical cropping enabled for -j (pre-processing).	

- changes in tcdemux option -S default configuration. Streaming
  is started at unit N for -S N and all following units, if no
  (finite) sequence intervall is provided. This change was necessary, because
  trancodes chooses start unit on tcprobe recommendation.
	
- zero byte video frame size enabled for fast audio track encoding.

- added multiple audio track feature to transcode's avilib code. 
  However, adding more audio tracks to an AVI file has to be done separately.
  transcode supports reading from multi-track AVI-files but output is
  single audio. "avimerge" has a new option -p to add an additional
  audio track to an existing AVI-file. This feature has been requested
  frequently. Thanks to Rainer Lay for providing me a sample.

  Example: first session gives you movie.avi with a single audio track.

  second session:
	
  (1) transcode the second audio track into an AVI container file:
  For a VOB stream, this looks like:
	
  transcode -i (...) -x null,vob -g 0x0 -y raw -a 1 -o add-on.avi	
  	
  The resulting file is only a temporary file. Replace "vob" if you encode
  from DVD. Video import module set to null. If all goes well, 
  both files should be identical with respect to the number of frames. 
  Choose the proper audio track etc.

  (2) merge this track into movie.avi

  avimerge -i movie.avi -o dualaudiomovie.avi -p add-on.avi 	
  
- updated /tools and various other files to support the new multiple audio 
  track feature. 

- minor fixes in /bbmpeg by Gerhard Monzel.

- minor fix for import_im.c.

- improved NTSC frame rate detection based on tff/rff flags.

------------------------------------------------
transcode-0.6.0pre2 Tue Jan 22 10:38:14 CET 2002

- final pre-release #2. Issues not fixed must wait for pre3.
	
- Christoph Lampert <chl@math.uni-bonn.de> updated the export to XviD.
  You need to install a recent snapshot of the OpenSource XviD codec.
  The codec file loaded at runtime has been renamed to "libxvidcore.so".

- added rgb2yuv conversion to export with "mpeg,mpeg2enc,yuv4mpeg", in case
  the decoder (import) is unable to decode to YV12/I420.

- updated export_mpeg2enc.c to use the new mjpegtools stream header IO API.

- fixed a problem with avifile stdout pollution by loading avifile code
  only on demand.

- updated "avisync", decided to keep it for awhile. Recycled old frames
  as padding frames for proper timing. Good for small delays, but makes 
  no sense for large delay. You need to cut afterwards.
	
- post-processing option -Y now allows for adding symmetrical black bars 
  on top and bottom of video frame (inverse cropping). Based to a 
  suggestion by Julio Sanchez Fernandez.
	
- more Makefile fixes by Steven M. Schultz.

- more Manual-pages added by Dirk Gouders.
	
- subtitler filter plugin updated to 0.6.

- expanded volume gain option "-s" for AC3 down-mixing provided by
  German Gomez Garcia <german@piraos.com>. 

	-s gain,center,front,rear

  gain is an overall scaling factor applied to both stereo channels.	
  The rest of options are only valid for AC3 streams, they are
  used while down-mixing several channels into stereo sound. The
  most common use is to amplify the center channel used for voice,
  a value of 3.0 is usually right for most common movies with high
  density of sound effects that make people whisper. Anyway
  experiment with different values and see for yourself.
  All four option parameter are positive floats. Import modules "ac3,dvd,vob"
  updated.

- import module "-x lav" updated to work with directories containing
  multiple streams.

- AVI file header updated (written to disk), whenever video/audio 
  parameter are set. If transcode or hardware crashes, the truncated file 
  is in most cases playable for advanced players. 
  Repairing the file is also possible via pass-through option "-P3".
  Example:  "transcode -i crashed.avi -o new.avi -P3 -u X"
  Option "-u X" with X>>10 enhances pass-through speed.

- more fixes for the cluster option "-W". 

- option "-H n" now takes an argument. It is passed to tcprobe and
  determines the amount of MB seeked into the source file for auto-probing.

---------------------------------------------------------
transcode-0.6.0pre2-20020115 Tue Jan 15 23:27:16 CET 2002

- this snapshot adds a couple of new features:
	
- a manpage for transcode has been contributed. Thanks to
  Dirk Gouders <gouders@et.bocholt.fh-ge.de>.

- port to BSD/OS 4.3, thanks to a patch by Steven M. Schultz <sms@2BSD.COM>.
  Untested.
	
- fixed a bug for the cluster mode -W were a frame was missing at
  certain chunks, thanks to a report by Henning Weber.
	
- changed tccat option -P default behavior. A complete DVD title can
  be streamed for backup purpose. Note the essential differences between
  "-T" and "-P":

  "-T N,-1,A" streams the title N starting with chapter 1 and so on for
  a single viewing angle A. The resulting file/stream can be viewed by a player
  or is used for transcode's single file / directory mode with option "-i". 
  DVD navigation with the stream is no longer possible. To stream only a single
  chapter M, use "-T N,M,A".
	
  "-P N" streams the complete set of VOB files from the DVD for the selected
  title including mulitple angle scenes and navigation packs on a per 2kB 
  sector basis. Copy the IFO files by hand and the stream/files can be used for
  DVD navigation, provided proper renaming. Chapter and Angle parameter do not
  make any sense here. A progress meter is also available.
	
- added the "-D_LARGEFILE_SOURCE" compiler option.
	
- updates for "import_vdrac3.so". The hack enables reading of incorrect
  AC3 packets with useless track ids in VDR streams for transcode.

- Gerhard Monzel added export module "export_mpeg2enc.so", based on a 
  suggestion by Andrew Stevens <andrew.stevens@nexgo.de> to enable
  use of mjpegtools MPEG/(S)VCD encoding capabilty. This requires
  the new mjpegtools-1.6.0 installed on your system. 
  Currently, predefined profiles are passed to the module via -F n.
  Check the mpeg2enc manpage for the corresponding option "-f".
  In addition, use "-b" for the encoder maximium bitrate and let transcode
  do the resizing. Only PAL for now.
  
   "-F n" supported profiles:
	
      0 = Generic MPEG-1 (default)
      1 = Standard VCD. An MPEG1 profile exactly to the VCD2.0 specification.
      2 = User VCD. 
      3 = Generic MPEG-2
      4 = Standard SVCD. An MPEG-2 profile exactly to the SVCD2.0 specification
      5 = User SVCD.
      6-8 yet unsupported.
	
  Note: (1) and (4) have predefined bitrates and option -b has no effect.
	
- changes for the audio MP3 encoding option "-b". Third argument is passed
  to the lame library for setting the encoding quality=[0-9] with 
  0=best (very slow) up to 9=worst, the default is 5.

- added native support for AVI-files with MJPG video codec. Decoding is done
  via ffmpeg. If auto-detections fails, use "-x mjpeg".
	
- updated divx import module "-x divx". Now supported is 
  pass-through mode with the capability to detect intra (key) frames. 

  Example 1: remux old DivX;-) AVI-file with interleaved MP3 audio

  transcode -i old.avi -P 3 -x divx,avi -y raw -o new.avi

  Example 2: audio transcode old DivX;-) AVI-file with non-interleaved 
             MP3 audio

  transcode -i old.avi -P 1 -x divx,mp3 -y raw -o new.avi       

  the resulting files are suitable for avisplit. 
  Fixed the bug that prevented re-export to DivX.
	
- small changes in avisplit. Added option "-o base" to choose a basename for
  splitting to base-%04d.avi instead of in_file-%04d (optional).
  Using -s 0 will now dechunk the AVI file into the smallest available
  units based on the keyframe info. Each chunk has only a single keyframe.
	
- transcode's progress meter now thread safe.

---------------------------------------------------------
transcode-0.6.0pre2-20020112 Sat Jan 12 21:16:47 CET 2002

- Gerhard Monzel updated the bbmpeg directory and also
  the export to MPEG with "-y mpeg". This hopefully fixes
  a segfault after 11 frames with (S)VCD export "-F s".

- added divx import module "-x divx". Currently, this
  module requires the DivX 4.xx codec "libdivxdecore.so" installed on your 
  system. The module does not work with divx re-export for yet unknown
  reasons, but MPEG/PPM export should be fine.

- added import module "import_vdrac3.so" for certain digital video
  capture cards producing incorrect AC3 packets (track 1) in addition to
  MP2 audio track 0.
  No autoprobing yet, usage example (relevant parameter in bracket)
  "transcode (-x vob,vdrac3 -H -M 0 -a 1) -i ... -y ... -o ..."
	
- DVD subtitle packets can be now be ripped with tcextract.
  Example: "tcextract -x ps1 -t vob -a 0x20 -i file.vob"
  dumps subtitle id=0 packets encapsulated in private stream 1 (-x ps1)
  to stdout. Subtitles id's range from 0x20-0x3F. Check with tcprobe,
  if your stream comes with subtitle. Hopefully, someone will
  write a filter plugin for DVD subtitles.

- Andrew Stevens <andrew.stevens@nexgo.de> (mjpegtools) has contributed
  a patch to make the export_yuvmpeg.so module (-y yuv4mpeg) use the new
  YUV4MPEG2 header. You must have mjpegtools-1.6.0 installed.
	
- added quicktime export module for RGB/YV12 raw video and 
  PCM audio "-y mov". This module is only useful, if you
  plan some post-processing with Broadcast or encoding with
  RealProducer under linux. Currently xmovie plays the files, but the
  sound is broken and Broadcast does not recognize the file.
  STATUS: unusable - for developers only.
	
- added quicktime import module for RGB/YV12 raw video and 
  PCM audio "-x mov". Not yet tested. STATUS: unusable - for developers only.

- minor fixes in tcscan.

- minor fixes in import_yuvmpeg.c.
	
---------------------------------------------------------
transcode-0.6.0pre2-20020107 Mon Jan  7 17:57:37 CET 2002

- some configure.in changes.

- fixed another tcprobe bug with DVD bitrate calculation.

- preliminary openquicktime support (configure only, no modules yet).

- ImageMagick interface added by Gregory Brauer <greg@wildbrain.com>
  and Philipp Zerelles <philipp@moongate.de>.
  The import module is invoked by "-x im" and transcode needs
  the first image of the sequence with option "-i". 
  Currently, the frame display time (default is 1 fps) is a constant for 
  all frames.

- fixed hardcoded "libdvdcss" access in dvd_reader.c, thanks to a hint by
  Steffen Kremser.

- new direct streaming option "-P N" for tccat, to linearly rip a complete
  single angle DVD title. 

- new option "-S n" for tccat, to seek to file offset n*2kB for VOB streams.
  Works also for directory mode. This option is mainly used by transcode
  for cluster encoding.

- support for cluster batch encoding with transcode's new options "-L" and "-W"
  for VOB processing. For more information, see the related documentation
  on the transcode homepage or the file cluster-guide.txt in the /docs 
  directory. Patch from Joern Reder applied.

- Gerhard Monzel added filter plugin interface to MPlayer postprocessing 
  routines. Use this filter with "-J pp". You need to specify the MPlayer build
  directory with "--with-libpostproc-builddir" to enable compilation of
  the plugin. See MPlayer for module options. For example, a high quality
  de-interlace routine is available with "-J pp=lb".
	
- skip MMX filter on non-MMX machines.

- some updates for MPEG encoding with "-y mpeg" by Gerhard Monzel.
  Some documentation for user profile parameter has been added, see
  file template.cfg.doc. 
	
- some info updates in tcscan for program streams.

- the subtitler filter plugin has been updated to 0.5.7.
	
- removed the old libmpeg directory, only CVS code available now.
	
---------------------------------------------------------
transcode-0.6.0pre2-20011223 Sun Dec 23 18:52:59 CET 2001

- pre-release development snapshot (some features unfinished)
 	
- fixed tcprobe problem with data initialization for gcc-2.96.

- fixed zero byte bogus write error in decode.c/aud_aux.c, which
  broke a couple of things both on import and export.

- fixed broken yuv4mpeg import.
        
- fixed core bug in connection with "-M 2" "-x dvd" and "-y ppm" and "-c"
  parameter combination.

- fixed missing MP2 codec handling in "-x vob" and "-x dvd".
        
- fixed AC3 frame auto-probing issue related to incorrect probing of
  truncated packs. 

- changes in the auto-probing. tcprobe now resets collected information
  in program streams if a reset of the SCR (system clock reference) is 
  detected. Example: There may be a few seconds of junk without audio 
  prepended to the main presentation. This information is passed to transcode
  via the "-S" option. If you encounter a problem with this change, overwrite
  it at the command-line with "-S 0" to establish the old (<0.5.3) behavior.
  This should improve trancoding of NTSC sources. Direct DVD probing is 
  not affected, since IFO files are read.

- added option "-H n" for tcprobe for increasing the default the search 
  range for audio and video tracks. Default is 1 MB (n=1), suggested 
  by Christoph Lampert. 

- added "-V" capability to PPM export module, i.e., yuv2rgb conversion.

- added preview filter plugin "-J preview=Y", where Y={xv,gtk,sdl}
  to take a look at the export picture before encoding.
  Code borrowed from libdv.

- added filter "-J dixvkey" that scans divx frames for encoding parameters,
  mostly to detect keyframes for pass-through mode, not working yet.
	
- new import module "-x tiff" for reading sequences of (identical) tiff files
  and making nice animations. 
  Contributed by Philipp Zerelles <philipp@matrix-computer.com> 

- new import module for reading the lav format of mjpegtools.
  Contributed by German Gomez Garcia <german@piraos.com>. 
	
------------------------------------------------
transcode-0.6.0pre1 Fri Dec 14 15:17:12 CET 2001

- development branch with major feature enhancements:

  NOTE: new features are highly experimental
  and may not work as advertised, but in most cases the 
  results are promising and usable.

  What's new in 0.6.0pre1:
	
- Gerhard Monzel finally added a module for transcoding to MPEG-1/2. 
  Included are the sources of his port of bbmpeg to linux.
  This code is still under development but usable. Use with "-y mpeg"
  and option string provided with "-F":
   
  Option "-F" is analyzed as follows:
  -F "<base-profile>,<resizer-mode>,<filename of user-profile>" 
  with
	base-profile:   1 = mpeg1 vbr, buffer 46Kb (*** default XVCD)
                        b = mpeg1 vbr, buffer 224Kb (experimental)
                        2 = mpeg2 vbr
                        d = DVD
                        s = SVCD
                        v = VCD
        resizer-mode:   0 = no resizing
                        1 = resizing to 352x288
                        2 = resizing to 480x480
                        3 = resizing to 480x576
  filename of user-profile: see ./bbmpeg/template.cfg for details

  Option -o name produces two files:
  1) name.m1v or name name.m2v depending on the base-profile
  2) name.mpa MP2 audio stream
  The raw streams can be multiplexed with the new tool "tcmplex" which
  is merely a frontend to mplex code based on original work of Christoph Moar.
  Additional documentation will be provided by Gerhard. 
  You need "nasm" installed to compile the libraries.
  Currently, only PAL frame rate supported.
	
- added the encoder/decoder core library of ffmpeg-0.4.5 by Gerard Lantau. 
  Currently, this is only used to provide MP2 audio streams with "-y mpeg".

- transcode core changes:
  import of audio and video is now decoupled with independent threads 
  and buffers. This move prevents a deadlock with the new net stream
  features. Note: breaks the 0.5.x filter interface.
  Status: Almost working with no problems. 

- transcode progress bar now displays information on the internal video buffer
  status like for example "(10,2,0)".
  This means, 10 frames are loaded in the buffer chain, 2 frames are currently
  locked by the frame processing threads and no frame is waiting for the
  encoder. In most cases, all frames are queued in the encoder waiting room, 
  i.e., "(0,0,12)". The sum of all different buffer numbers should be a 
  constant. Play around with option "-u" to fine-tune transcode.

- added "net" import/export modules. What is it good for? 
  The export module "-y net" writes raw video and audio frames on host A 
  to network sockets, instead of calling the encoder. Unless a transcode 
  instance reads from this sockets, the process is waiting. Start transcode 
  on host B with "-i A -x net" to read the raw streams over the network.
  Use "tcprobe -i A" to query host A for details of the raw stream.
  Now, host B might be used for further frame processing. Use "-y net"
  to pipe the streams to the network sockets on host B and start transcode
  on host C to pick up the streams for encoding. 
  Note: Unless you have a high-speed network connection, this feature
  is totally useless due to the amount of raw data. However, if frame 
  processing is consuming most of your time and you do not want to split
  encoding the basic way, you are able to chain an arbitrary number of
  transcode instances on a cluster. Status: Highly experimental.

- added a daemon thread that communicates with tcprobe.
	
--------------------------------------------
transcode-0.5.2 Fri Dec 14 11:22:30 CET 2001

- minor bugfixes and feature enhancements:

- added a filter "filter_testframe.so" module for developers and
  debugging. This plugin module generates alternating pattern of black and 
  white rows (mode=0) or vertical columns (mode=1). Useful for testing frame 
  resizing/deinterlacing routines.

- preliminary bugfix for the fast horizontal frame resize routine. 

- support for the new mjpeg-tools YUV4MPEG2 stream header format for import
  thanks to a hint by Tomi Ollila.

- fixed a bug with odd file permission in export_yuv4mpeg.c.

- fixed a bug in dvd_reader.c, where wrong title IFO files were selected.
	
- raw DV to AVI type2 conversion via pass-through mode "-P 1" added.
  Restriction: The stream has to be detected properly as a DV stream.

- improved DV auto-detection.

- auto-detection now distinguishes between MP3 and MP2 audio.
	
- subtitler (filter) plugin upgraded to version 0.4.

- added plain WAVE audio export module for PCM sound "-y wav".

- lame vbr encoding mode set as second argument to "-b". Default is CBR.
	
- export to raw DV stream "-y dvraw" (audio interleaved) or AVI-file with 
  DV video and audio on separate track in transcode's supported formats 
  (MPEG/PCM/AC3) with "-y dv".
	
- zero video frame problems with pass-through mode fixed.

- cut filter stops transcode after last cut region processing. 

- sub-command-line options for dynamic noise filter "-J dnr" added
  by Gerhard Monzel.

- fixed avilib checking 4G limit on "dev/null" thanks to a bug report
  by Gert-Jan op XP by setting frame size to 0, if no video import detected. 

- debian specific build files added.
	
--------------------------------------------
transcode-0.5.1 Fri Nov 30 12:47:50 CET 2001

- minor bugfixes and some improvements.

- extended AVI-file size limit to 4GB and up to (1<<20) frames for
  convenient on file encoding.

- fixes in the avifile export module "-y af6" made by Gerhard Monzel.
  Proper DivX encoder parameter settings has been reestablished. In addition,
  a parameter file "export_af6.conf" has been added to the module 
  directory for pre-setting of other parameters supported by avifile. 
  Currently, only a few DivX codecs are supported, c.f. config file.
  Users can put a modified configuration file into "~/.transcode/", which
  will be prefered.

- new export module to support XviD Open-Source codec, which is the successor
  to OpenDivX, called "export_xvid.so", enabled with "-y xvid".
  You need to compile the codec yourself and put the binary
  file named "libxvidencore.so" in your lib search path. 
  Extended options for this codec are also available, thanks to
  extensive work by Christoph Lampert. Not tested yet.
  Visit http://www.videocoding.de for more information.

- setting keyframes at proper position in "export_af6.conf" should work now.
	
- fixed a bug in the MPEG video frame size detection. This
  bug affected proper MPEG-1 video auto-probing and more aspect ratio codes 
  for MPEG added. New file format RIFF data CDXA properly recognized.
	
- support for zero padding source files (2 byte boundaries only).
	
- more autoprobe fixes. Support for libmpeg3 unofficial framerates.

- some fine-tuning of AV sync in the demuxer.

- limited support for broken streams. Try to skip data until next 
  valid stream packet in MPEG video.
	
- small changes in the filter interface. An option string is
  supported and passed to the filter modules. This is done as follows:

  Example: -J my_filter="fonts=3 position=55 -v"

  In this example, the filter module "filter_my_filter.so" is loaded and 
  the string "fonts=3 position=55 -v" is passed as a second argument to 
  the filter routine at the initialization call. 
  Two restrictions apply: please avoid filter names containing a "=" 
  and the character "," in the options string or write a better parser.

- a subtitle filter has been added by Jan Panteltje. Untested.
  This filter is mainly for adding text subtitles from a file.
  For details, visit http://www.home.zonnet.nl/panteltje/subtitles/ 

- a frame skip filter has been added based on a suggestion by Udo Wolter.
  Use like in the following example
	-J skip="10-15 30-190"	
  to skip encoding (but decoding) of frames 10-15 and 30-190 for example.
  Note: like the -c option, frames 15 and 190 are not skipped.

- a frame selection filter has been added based on a suggestion 
  by Udo Wolter. Use like in the following example
	-J cut="10-15 30-190"	
  to encode only frames 10-15 and 30-190 for example.
  Note: like the -c option, frames 15 and 190 are not encoded.

- a filer for dynamic noise reduction of video frames has been added
  by Gerhard Monzel. Support for changing default parameter via
  filter sub-commandline will be added later. Use filter with "-J dnr".
	
- new single-pass mode "-R 3" for DivX 4.xx "-y divx4" by Gerhard Monzel. 
  This mode allows for encoding with constant quality. You need to specific
  the quantizer with the bitrate option -w. Allowed values are 1-31 with 
  decreasing quality for higher quantizer. Not tested. 
  Default setting is "-w 10" for this mode.

- enabled frame processing threads. Default was no thread, which
  was supposed to be 1.
	
- added a copy of "examples.html" to the doc directory.

- updated libmpeg2-0.2.1-cvs with latest snapshot. 
	
--------------------------------------------
transcode-0.5.0 Thu Nov 15 09:59:02 CET 2001

- after over 3 months and countless pre-releases, this is the official release
  of transcode-0.5.0. Cleanups and minor bugfixes since 20011109:

- the import module "import_af6.so" enabled with "-x af6" is now
  fully functional. Decode any audio/video codec and fileformat supported 
  by avifile to to any video codec provided by the avifile library.
  Currently audio export "-y af6" is restricted to transcode's audio export.
  If you want to use this module, you must supply "-x af6". 
	
- respect umask settings when creating video/audio output file.

- DVD encoder bitrate calculation done also by "tcprobe" without 
  scanning the full DVD. Information on max titles, chapters
  for selected title and viewing angles printed.
  Note: A VOB chunks with more than 1 angle can only be transcoded
  with "-x dvd". You need the *.IFO files in place.
  If you prefer the directory mode, use tccat for DVD copy, since
  only a single angle stream of your choice is extracted. 

- export_ppm.so with option "-o foo" now writes frames to foo%05d.ppm
  or falls back to frame%05d.ppm.

- support for Digital Video YUY2 codec via option "-V". Frames
  are downsampled to YV12 before processing. 
  This results in faster processing (2x), especially when de-interlaced 
  with "-I 3". Note: PAL DV decoded to YV12 by libdv, when configured 
  with "--with-pal-yuv=YV12" seems to be broken.

- fixed a bug in the AC3 pass-through mode "-A -N 0x2000" in connection with
  multiple output files setting incorrect bitrate.

- cleanup in the avilib library. Fixed a bug, where the video codec 
  information is falsely read from the stream header information, instead 
  of the bitmapinfoheader structure. The latter is required, whereas the former
  is only optional.

- fixed a bug in the import_avi.so module occuring for processing audio in 
  non-transcode produced AVI files.
	
- avicodec utility replaced by a more general new "avifix" utility.
  avifix allows to rewrite the most important AVI header information. 
  If you need to repair a truncated AVI-file, try transcode' "-P 3" 
  pass-through mode instead.

- disable compilation agianst avifile library with configure option "--with-avifile-mods=no".
	
-----------------------------------------------------
transcode-0.5.0-20011109 Fri Nov  9 12:35:47 CET 2001

- autoprobe fixes. Fixed NuppelVideo samplerate typo.
  AVI-files with Digital Video mapped to "-x dv,X", were
  X=raw for PCM, X=ac3 for AC3 and X=mp3 for MPEG audio sound track.

- fixed a bug in the audio export module, where lame changed 
  the audio samplerate without notice, leading to a mismatch
  in the AVI-file header and the encoded stream.
	
- maximum import/processing frame size is now 1024x768.

- avisplit now also accepts 0 frames AVI-files, as reported by the header,
  thanks to samples provided by Matija Grabnar.

- Digital Video import fix. Ignores invalid frame header.
  This will prevent a decoder stop but will resuse previous frame
  header information. Thanks to Henrik Wann Jensen for the sample.

- tccat now also extracts the audio stream in directory mode for AVI-files
  with option "-a".

- tcscan tries to detect codec or filetype, if option -i is provided.
  If you pipe into tcscan, you must use the codec identification.
	
- avidump utility phased out. Functionality taken over by:
          tcprobe -i f.avi                 (avidump -i f.avi)
	  tcscan -i f.avi                  (avidump -s f.avi)
          tcextract -i f.avi -t avi        (avidump -v f.avi)
	  tcextract -i f.avi -t avi -x aud (avidump -a f.avi)

- the directory "contrib" contains 2 perl scripts for automatic
  encoding of DVDs, thanks to contribution by Roland Seuhs.

- last minute export module addition by ken@hero.com.
  Use with "-y qt" and export to mjpeg/ima4 quicktime movies.
  Currently, only 24fps, 48000, 2chan, 16bit is supported.
  You need quicktime4linux installed on your system. Untested.

- minor fix in tcscan for bitrate calculation of oversize movies.
	
-----------------------------------------------------
transcode-0.5.0-20011105 Mon Nov  5 21:13:38 CET 2001

- minor autoprobe fixes. Fixed failure to detect block device,
  thanks to a report by Joern Reder. Added subtitle detection. 

- support for LPCM DVD audio sub-streams added. This
  is autodetected by default. You can force LPCM import by -n 0x10001.
  Option "-d" for byte swapping may be required.

- fixes in the new export_yuv4mpeg.so module.

- replaced read/write by p_read/p_write in avilib to fix problems 
  related to avimerging over NFS.
	
-----------------------------------------------------
transcode-0.5.0-20011103 Sat Nov  3 08:53:14 CET 2001

- most important final new feature is a user-friendly auto-probing of the 
  input source. This will make it more convenient to transcode a movie, 
  taking care of most audio and video import parameters as well as the 
  appropriate choice of the required modules. Of course, command line 
  parameter will overwrite the pre-selection

- new option "-H" to disable autoprobing of sources provided with
  "-i" and "-p".

- tcprobe finally probes the source for video and audio contents. For
  probing a DVD, you need to provide the absolute path (required by libdvdread)
  to the device/link or directory containing a DVD copy. 

- fixed a bug in the demuxer, that caused severe frame dropping after 
  approximately 1000s with option "-M 2". Thanks to a hint by Markus Sand.

- zooming with "-Z" and "-I 3" is now thread-safe, thanks to hint by
  Raphael Manfredi. This resolves some frame processing glitches on SMP
  machines.
	
- option "-n" now takes only a single argument, denoting the input
  audio format. New Option "-N" for audio export format selection.

- option "-Q" takes a second argument to choose decoding quality.
  Currently only supported by "-x dv" and libdv.

- tcframe utility phased out. Functionality taken over by new (non-AVI)
  export modules "export_ppm.so" and "export_yuv4mpeg.so".
	
- added checks for odd user provided frame parameter to avoid DivX 4.xx
  or OpenDivX encoder crash.

- added checks for odd clip parameter in Y'CbCr processing mode.
	
- added more checks for broken frames in libac3, audio is muted for pcm data
  of the frame, thanks to a bug report of Matthias Riese.

- added includes of "strings.h" to overcome compile problems, thanks to 
  a hint by Fergal Daly.

- fixed segfault when using two zooming instances with "-Z" and "-I 3",
  thanks to hint by Udo Wolter.

- enabled DVD mode for separate audio file with option "-p". Useful for
  pass-through sessions.
	
--------------------------------------------------
transcode-0.5.0-pre8 Thu Oct 25 09:58:30 CEST 2001

- last pre-release with more bugfixes, cleanups and improvements 
  for 0.5.0-final.

- established pre4 AC3 decoding core after reports of audio corruption
  problems. 

- improved demuxer modes "-M 1" (default) and "-M 2". AV synchronization
  is now locked to audio track id, rather than MPEG/AC3 audio packet.
  Option "-M 2" now drops video frames, if selected audio track is behind.
  This occurs only at the beginning of the movie and may resolve issues
  with certain PAL DVDs reported not to work with "-M 1", resulting in
  a constant AV offset. Thanks to Raphael Manfredi and Christian Worm
  for providing me with samples.

- Fix for a segfault in chapter mode "-U" and "-M 2", thanks to a hint
  by Chris C. Hoover. This was caused by a reentrance problem in clone.c.
	
- maximum import/processing frame size is now 768x576, i.e., zooming (out)
  encoded frames at 720x576 to proper aspect ration 4:3 possible. 

- new option "-X" similar to "-B", but increasing the frame size
  by a multiple of 32 rows/columns up to the maximum frame size of 768x576.
  This is useful for, e.g., resizing NTSC frames 720x480 for required 
  aspect ration 4:3 to 720x544 resolution with "-X 2". 
  Use "-Z" for better quality or more precise frame dimension requirements, 
  but this is slower. Video frame operations ordering update:
  "-j -I -X -B -Z -Y -r -z -l -k -K -G -C".	

- tcscan, in addition, dumps information on the audio AC3/MPEG tracks found in
  program streams with option "-x vob". Thanks to Julia Weissbrot for providing
  me with a sample containing only a single audio track, that had to be
  enabled with "-a 2".
	
- added an import module "import_nuv.so" for NuppelVideo contributed
  by Andreas Phlsson. You need to provide the options "-V -e 44100" 
  to make it work, as well as the proper frame size. 

- Not working yet, but added code for import module "import_af6.so" 
  to enable import of more codecs and AVI file types supported by avifile-0.6.
  Maybe this will enable ASF file format for reading.

- patch provided by Oliver Bausinger to compile against latest official avilib
  CVS snapshot avifile-0.6.0.20011018.
	
- minor transcode core improvements. Video/Audio frame processing is now
  managed by a thread pool. Default is a single thread, but can be changed with
  the second argument for option "-u". Maybe useful for SMP machines.
  Theses changes are based on suggestions by Peter Zijlstra.
	
- from pre8 on, you need liba52 installed to enable audio decoding support 
  using this library, instead of libac3, and option "-n 2001". 
  Fixed small unknown symbol bug. Status: Not working reliable yet.

- Added support for reverting a possible 3:2 pulldown of NTSC videos 
  with demuxer mode "-M 2".
  The pulldown is autodetected by checking for interlaced video frames in 
  certain MPEG sequences. The reconstruction will not always be successful, 
  due to week (=barely noticeable) interlace effects, but the AV 
  synchronization should be ok. I also changed the import of sync 
  infos produced by tcdemux to avoid program hangs on import. Still problems 
  on SMP machines reported, though.

- final changes in the clipping option "-j". Pre-processing
  frame region selection works like "-Y". with up to 4 parameter.
  If you supply less than 4, transcode default behavior is like that: 
  -j 80      is expanded to -j 80,0,80,0 (top,left,bottom,right)
  -j 80,8    is expanded to -j 80,8,80,8
  -j 80,8,10 is expanded to -j 80,8,10,8
  same applies for "-Y". Note: bottom maybe top for flipped frames.

- changes in the import/export API. Modules are able to provide limited
  information on frame attributes. Useful and applied to pass-through mode,
  where key-frame information got is now passed to the export module and
  avilib.

- fixed the "last chapter missing" bug in tccat.

- added interlace option mode "-I 3", where the frame field is expanded
  with the internal high-quality zooming. This is slow, but may
  give better results.

- changes in the filter API: Take at look at the examples. Added an "init" and 
  "close" call for convenience.
	
- added test filter "filter_32detect.so", which actually only tries to
  detect interlaced video frames. Just to play around.

- added YUY2->YV12 converter filter "filter_yuy2toyv12.so". 

- added deinterlace filter "filter_dilyuvmmx.so" for YV12 and MMX,
  code ported from the DScaler Project by the xine project.

- anti-alias option for Y'CbCr colorspace frame processing enabled.
  Not yet tested.

- some minor changes in the frame buffer core. Static video buffer
  is now aligned at page boundaries.
	
- included libdvdread library updated to v0.9.2.
	
- OpenDivX module forced to include proper encore2.h.

- minor small bug fixed in clipping routines.

- small bug in avilib fixed, thanks to patch by Sergei Golubchik.
	
- renamed pread/pwrite to avoid name conflicts with system routines.

- display of correct video frame aspect ratio on status info messages. 
	
--------------------------------------------------
transcode-0.5.0-pre7 Wed Oct 10 13:56:02 CEST 2001	

- more bugfixes and cleanups for 0.5.0-final:

- the OpenDivX memory leak was tracked down thanks to Martin Miels who
  also provided a fix. As suspected, the bug was in the encoder core.

- the fast resizing with option "-B" has been improved in speed by 
  switching to integer arithmetic, thanks to a patch by Carsten Geckeler.

- improved gamma correction (option "-G") implemented by Carsten Geckeler
  for Y'CbCr and RGB colorspace. Try to stay between 0.5 and 2.0.
	
- changes in the export section to make transcode work with the latest
  avifile-0.6.0.20011003 CVS snapshot, thanks to patches submitted
  by Oliver Bausinger and Kurt Huwig. The snapshot contains some 
  annoying debugging code. You might want to comment out lines 227 and 234
  in file avifile-0.6.0.20011003/plugins/libwin32/videocodec/VideoEncoder.cpp.

- fixed a dump bug in the Cr/Cb swap routine for option "-k".

- import module "import_yuv4mpeg.so" now supports "-V" turbo and "-i" directory mode.

- changes in the frame drop/clone decision alogorithm "-M 2" to prevent 
  small amplitude fluctuations of +1/-1 frames to be corrected. 
  Some people reported jerky playback.

- the included libdvdread has been renamed to avoid linking against a
  locally installed version of libdvdread.

- DVD chapter mode encoding (option "-U") possible running out of audio samples
  at the end fixed.

- new option "-O" to change MPEG audio encoding internal cleanup. 
  This option enables lame >=3.89 to flush the internal mp3 buffer
  when the AVI file, not the encoder, is closed. In addition, these mp3 
  frames are appended to the last audio "frame" of the interleaved AVI file. 
  Do not use this option unless you think you really need it or you do not
  want to "avimerge" your encoded DVD chapters.

- import module "import_mp3.so" now supports audio extraction from AVI-files.
	
--------------------------------------------------
transcode-0.5.0-pre6 Tue Oct  2 12:55:25 CEST 2001

- this pre-release fixes couple of bugs and reorganizes the configure script:

- all previously marked as "experimental" features are now enabled by default. 
  You need to explicitly disable them, if you encounter problems. 
  The configure script now tries to detect and use a local installation 
  of lame. If it fails, the included "libmp3lame" based on version 3.87 is 
  used. If you cannot get trancode to compile with your avifile installation,
  use "--with-avifile-mods=no" to disable build of "export_af6.so".
  avifile-0.53 is considered to be obsolete, but can be enabled with 
  "--enable-avifile6=no".
	
- import_dvd.so: 
  A wrong assumption on the layout of DVDs has lead to 
  incomplete extraction of DVD chapters with "-x dvd". Most
  DVDs work, e.g., "The Matrix" (PAL) did not. This bug was fixed.
  I also reintroduced a finite time delay (3 secs) between access to the 
  DVD device for audio and video stream extraction. 

- export_af6.so:  
  Now works with the latest avifile-0.6.0.20010928 snapshot,
  thanks to a patch by Oliver Bausinger.

- a small bug for odd frame parameter disabled frame processing. Fixed,
  but most encoders do not work with odd frame width or height anyway.
	
- broken directory mode "-i" fixed with a patch by Harm van der Heijden.

- the audio encoder wrongly flushed the buffer with mp3-frames and 
  transcode options "-U" or "-t" and lame 3.89  enabled when the files are 
  closed. Reestablished pre4 behavior.
	
- a small bug in clone_clode(), leading to segfaults on ^C in connection 
  with "-M2" has been fixed.
	
- hidden debug mode "-q 128" for interested users prints out some 
  information on the synchronization process with option "-M 2":
  
  Displayed are:
  (1) total stream frame number (as encoded in the stream) 
  (2) current MPEG sequence number
  (3) total number of frames dropped (<0) or cloned (>0) so far
  (4) current AV sync delay with respect to provided "-f" frame rate
  (5) current PTS based frame rate / provided fps ratio  
  (6) current MPEG sequence header PTS 

  What can you expect: 
  If your provided frame rate "-f" is OK, the calculated fps ratio (5)
  should go to 1 and the total number of frames dropped/cloned should stay 
  constant at some point. The AV sync delay will always be close to 0, 
  if the algorithm can adjust within its given limits, e.g., a sequence
  can only drop every second frame. Play around by varying "-f".
  You will find that PAL program streams are "encoded" at a constant
  frame display time of 0.04 seconds, correspoding to 25 fps.
  Note for NTSC "users": In order to obtain relaiable results, decode well 
  into the actal movie, since trailer and list of cast may be encoded
  at different speeds. Example: "Highlander I".

- new option "-G" for a gamma correction in RGB based video frames.
	
--------------------------------------------------
transcode-0.5.0-pre5 Fri Sep 28 13:44:09 CEST 2001	

- this pre-release is mainly intended for interested users. It adds more 
  missing features and changes in the default behavior of transcode
  that have to make it into 0.5.0-final. Not perfect and well tested yet, 
  but mostly usable. Maybe one more pre-release to come.

- change in the order of how video frame operations are applied:
  It's  "-j -I -B -Z -Y -r -z -l -k -K -C". 
  All operations are displayed with a short status information. 
  For the new "-Y" option, s. below.

- if you want to try out the latest libmpeg2-0.2.1 CVS snapshot 2001/09/26,
  configure with "--enable-libmpeg2cvs".

- change in the default behavior of the "-S" option. 
  All units beginning with 0 are processed by default if no
  "-S" option is provided.
  If you provide a unit argument "-S N", processing starts at this
  unit N until the end of the stream.
  If you provide additional sequence arguments "-S N,s1-s2, only this 
  selected chunk is processed.
  This option is passed directly to "tcdemux"
	
- new option "-M mode" that controls the processing of program
  streams handled by "tcdemux". 

  mode=0: pass-through, do not mess with the stream, switch off
	  any synchronization/demuxing process. 
  mode=1: (default mode) Synchronize video and audio by inspecting
	  PTS/DTS time stamps of audio and video and dump to stdout
	  depending on the selected payload.
	  Preferred mode for PAL VOB streams and DVDs.
  mode=2: new very experimental (=alpha) NTSC VOB stream synchronization 
	  feature. This mode generates synchronization information for 
	  transcode by analyzing the frame display time. As a result, 
	  a strict frame rate will be enforced, which matches the audio and
	  has to be provided by the user with option "-f".
	  Do not expect this mode to work!!!!! Use chapter mode for DVD's
	  for testing. Occasional encoding lock-ups still have to be resolved. 

  Currently, only import_vob.c and import_dvd.c support this option,
  which is passed directly to "tcdemux".
	
- support for MP3 decoding has been added. However, you need to have
  the newest lame-3.89 library installed on your system. Enable linking
  against lame-3.89, instead of the included version, with "--enable-lame89"
  and provide the prefix to the directory tree of the installed library and 
  include files. I will eventually switch to lame-3.89 as a completely 
  external library. 
  The "-n" option changed and now takes 2 arguments. The first denotes 
  the codec of the audio track or stream. The second argument will be the 
  codec of the audio of the encoded movie, if transcode supports it.
  Enable MP(123)->PCM->MP3 re-encoding with the following two argument 
  "-n 0x55,0x55" which allows audio frame processing before re-encoding to MP3.
  Use "tscan" for program streams to obtain information about available audio 
  tracks. No pass-through for MPEG audio yet. The default is "-n 0x2000,0x55" 
  for AC3->MP3. A new import module "import_mp3.so" was added to decode
  raw MP3 audio stream. For program streams, use "-x dvd" or "-x vob", which
  are updated to support MP3.
	
- new video frame clip option "-Y". This option enables post-processing
  clipping of frames and takes up to 4 arguments. 
  For Example, "-Y 80,100,10,40" cuts 80 pixel rows from the top, 
  100 columns from the left, 10 rows from the bottom and 40 columns from the 
  right of your frame. This clipping is the final video frame operation
  and enables cutting out an arbitrary region of the frame.

- fault tolerant AC3 decoding, thanks to a patch by Vaclav Slavik, who
  updated the libac3 related stuff. This should prevent transcode crashing  
  on broken AC3 frames. I also changed the extraction routine for AC3 
  streams to support non-strict MPEG format.	

- experimental support for liba52, a free ATSC A/52 stream decoder, successor 
  to libac3 and ac3dec. Enable decoding (pseudo format id 0x2001) and 
  encoding to MP3 with "-n 0x2001,0x55".

- improved support for MPEG-1 video streams. Most streams can be transcoded
  with import modules "-x (vob mpeg2 mpeg3)".
	
- new universal frontend for extraction only with the utility "tccat".
  The utility extracts chapters from DVD's, concatenates VOB/DV/raw-stream 
  chunks from a directory, extracts and concatenates video from a directory 
  containing AVI files, and more to come. Replaced "cat" and "ls"
  commands with system library call in the directory mode. DVD chapter
  extraction with option "-T" now handled by "tccat".

- reorganized source preparation for import and updated import modules:
	
  tccat - tcdemux - tcextract - tcdecode
  |       |         |           |
  ^extraction of multiplexed streams from filesystem/device
	  |         |           |
	  ^synchronize stream and separate video/audio packets
	            |           |
		    ^extract elementary stream from packets/container-file
		                |
				^decode into suitable raw format for processing

- bugfix in the audio encoder to enable processing of mono streams 
  (lame-3.89 only).
	
--------------------------------------------------
transcode-0.5.0-pre4 Wed Sep 12 12:00:00 CEST 2001

- this pre-release contains some new features and new options:

- "tcdemux" rewritten and improved. It now features a more advanced 
  audio/video synchronization processing core for MPEG2 program streams.
	
- new option "-S" to navigate somehow in a program stream. In combination with
  "-x vob", this option allows to seek and process a single presentation unit. 
  A new presentation unit is defined by a reset of the 
  PTS (presentation time stamp) in the packet header. A second, optional 
  argument (s1-s2) lets you seek to the beginning of a package containing 
  MPEG sequence header s1 and process the stream until MPEG sequence header s2.
  This option and arguments are passed directly to "tcextract/tcdemux".
  The default is unit 0 and all sequences within a unit. Use "tcscan"
  see below for more information on your VOB stream before you use this
  option, since "tcdemux" may seek forever. Useful if (1) you cannot use 
  DVD navigation with "-x dvd", or (2) need to cut a chunk out of a 
  VOB stream, or (3) if you have an NTSC video with some non-audio or junk 
  units prepended to the main presentation unit, which prevents basic 
  synchronization of audio and video.

- "tcscan" accepts pseudo codec "-x vob" to scan a program stream for 
  presentation units and MPEG sequences.

- new option "-Z" for arbitrary high-quality frame resizing, i.e., zooming.
  This patch is contributed by Vaclav Slavik, who ported the original
  code of Ray Gardener, Daylon Graphics Ltd, from Graphics Gems III, adapted 
  and optimized for use in transcode. 

- a bug, that affected audio encoding with non-PAL frame rates was fixed, 
  thanks to a hint by Markus Sand.

- new option "-E" for down-sampling the audio rate for export, provided
  by Vaclav Slavik. Down-sampling is done with "lame".

- upgraded to "libdvdread-0.9.0". This version also uses "libdvdcss"
  in replacement of "libcss" to access an encrypted DVD. 
  This fixes some problems with DVD images. Option "-i" should now
  also work with a directory/mountpoint for DVD navigation with "-x dvd".
  Take care to provide an absolute path in this case. 

- a bug in "tcscan", where audio packets were wrongly scanned for MPEG 
  video sequence headers was fixed.

- a progress meter for option "-c" was added by Vaclav Slavik.
	
--------------------------------------------------
transcode-0.5.0-pre3 Wed Aug 22 12:00:00 CEST 2001

- this pre-release fixes a few bugs and addresses the import section:

- reduced transcode's default encoder bitrate to 1800 kbps, since
  avifile 0.6 and DivX 4.0/OpenDivX now pay more attention to provided values.

- new utility "avisplit". It tries to split large AVI-files at keyframe
  boundaries into approximte chunks of your choice of size. It currently 
  only works as intended for DivX 4.0/OpenDivX or raw AVI files.

- new video only import module "import_mpeg3.so", based on 
  libmpeg3. You need to have libmpeg3 installed or provide
  a path to the library and include files. Enable/disable build of the module
  with configure option "--with-libmpeg3", which is the default. Not
  tested much yet but is meant to be an interface to all file formats
  supported by libmpeg3. Audio decoding to be done.
	
- transcode/tcextract now accept DVD chapter value "-1", which means that
  the DVD is treated as a single huge program stream (VOB) chunk. This
  makes some more transcode options, e.g. "-c" or "-t", work for DVDs.

- tcscan estimates the optimum encoder bitrate after a PCM scan of the source
  with option "-x pcm" for a 1-2 CD burn. The bitrate calculator can also be
  called directly with option "-w X", with the number of frames of the movie
  and "-b" for the MP3 audio bitrate. 

- obsolete modules "cat", "yuv" and "mpeg3cat" removed. Functionality of 
  import module import_yuv.so now included in "import_raw.so".

- fixed a bug that disabled RGB output of import_mpeg2.so".

- fixed a segfault for "-R 2" in cases where the (pass-1) logfile is not found.
	
--------------------------------------------------
transcode-0.5.0-pre2 Fri Aug 17 12:00:00 CEST 2001

- this pre-release addresses the export section and speed improvements:

- experimental "avifile-0.6" support added. Configure with "--enable-avifile6".
  The corresponding new export module is "export_af6.so", use option
  "-y af6" and optionally "-F STRING", where STRING is a valid avifile
  codec string. Default is "DivX ;-) low-motion".
	
- Y'CbCr color space support expanded. Most important frame processing 
  operations do accept YV12 internal codec enabled with option 
  "-V". This will boost encoding speed up to 30%!!! depending on the
  frame operations applied.

- 2-pass encoding option "-R" flags 1+2 enabled for DivX 4.0 Beta "-y divx4".
  Two-pass-code from OpenDivX ported by Christoph Lampert.
  Not yet tested but working. 
  
- changes in the export API. The initialization of the
  encoder is done only once. The "open" and "close" routines
  are called, if a new AVI output file is needed, 
  enclosing the encoder core loop. This is much cleaner, but breaks 
  the obsolete export_divx2.so. This may also fix a memory leak in the 
  OpenDivX export module.

- export module "divx2" has been phased out, use "divx" instead.

- export module "iv50" updated and enabled multiple audio output option.
	
- option "-w" now accepts crispness 0-100 as a third video encoder argument.

- the quality option -Q x (x=1-5) is translated to x*2000 for
  the old Divx;-) dll codec in "-y divx".

- introducing limited support for a filter-plugin facility with option "-J".
  see /filter/filter_null.c for more hints how to use and write
  your own plugin for video/audio raw data manipulation.
  Currently, frame manipulations are not allowed to change the frame size.
	
--------------------------------------------------
transcode-0.5.0-pre1 Fri Aug 10 12:00:00 CEST 2001
	
- encoding using DivX 4.0 Beta enabled with new the export module
  "export_divx4.so". Currently, only single-pass encoding is available.
  Use the new option "-Q x", with x=(1=fastest-5=best) for quality
  setting.
  Note: transcode dynamically loads the codec file "libdivxencore.so".
	This file must either be located in the MOD_PATH directory
	or in your default library search path. 

- multi-pass encoding for "-y divx4" will be added later.  

---------------------------------------------
transcode-0.4.2 Thu Aug  9 10:53:50 CEST 2001

- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  Note: this release contains the unofficial pre-release of v0.5.0 
  experimental major feature enhancements;-). Use at your own risk!
  If you want to try it out, use configure with "--enable-dvdread" option.
  You also need "libcss-0.1.0" (not included) as a dynamical library 
  installed in your default library search path to enable usage of the new 
  import_dvd.so module "-x dvd" and to extract or transcode a single 
  encrypted DVD on-the-fly with the included new libdvdread library.

  !!However, transcoding of complete DVDs is not yet tested very well. 
  It may smoke your DVD drive and I do not take any responsibility!!
  
  New option "-T" to enable transcoding of a single chapter of a
  selected DVD title stream, and selection of a specific viewing angle,
  if the DVD is mastered with a multi-angle feature. 
  
  New option "-U" for encoding a full DVD title, each chapter into a separate 
  file. 

  Option "-i" needs the !!full absolute path to your DVD block device!!,
  the mountpoint will not work correctly with libdvdread v0.8.0! 
  This will, hopefully, be fixed in v0.5.0.
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	
- added more audio export options to export_opendivx.so and export_raw.so 
  modules. "divx", "raw" and "opendivx" now share a common audio encoding 
  interface with PCM->MPEG, PCM->PCM and AC3->AC3.

- single VOB chunk encoding no longer suffers from audio/video sync problems,
  which makes option "-D" obsolete.

- DV-NTSC encoding frame size bug fixed and much faster de-interlacing. 

- rewrite of import_avi.so module. Import of interleaved AVI files with
  any audio/video codec for new pass-through option "-P" enabled.
	
- transcode will now pass-through any unsupported compressed audio/video 
  frames from AVI files with new experimental option "-P" and import 
  module import_avi.so. This allows for audio "-P 2" or video "-P 1" only
  transcoding with export module export_raw.so. Using "-P 3" should 
  simply copy your input AVI file.

- new helper tool "tcdemux". Currently it can only handle program streams.
  Video and audio program stream packets can be filtered out. Options "-o O"
  and "-s num" seeks to packets with video payload and 
  sequence start code num and pipes the remaining of the VOB chunk to stdout.
  tcdemux will eventually split audio and video contents of a multiplexed 
  input stream and send the output streams to a socket pair or named pipes for 
  remote transcoding.
	
- tcscan now analyses MPEG video stream for sequence header information
  with option "-x mpeg2".

- transcode verbosity flag is passed on to tcextract, tcdecode, ... 
  No more annoying error messages at the end of import streams. Use "-q 2" 
  debug mode first, if you have any problems transcoding.
	
- bugfix audio import that affected modules not doing the actual reading
  of the byte stream.

- import of AC3 audio also possible with "-x vob" and "-x dvd".
	
- enabled writing audio to separate files with option "-m".

- transcode core changes, to enable DVD chapter mode.
	 
---------------------------------------------
transcode-0.4.1 Sat Jul 28 19:11:51 CEST 2001

- this is only a bugfix release, no new features.

- export_divx.cpp now initializes lame encoder only at the very first call 
  and keeps it  open because avifile drops a few mp3 frames on closing 
  the encoder at the end.  This should solve audio/video sync problems 
  for encoding split to smaller AVI files with option "-t". A cleaner
  fix is scheduled for v0.4.2. 
	
- a bug (race condition) in the decoder thread was fixed, that affected the
  seeking option "-c", or in rare instances, encoding on ultra fast machines.

- a bug in export_divx.cpp was fixed related to the output to "/dev/null".
	
- minor changes related to the extraction of AC3 streams. Import aborted if
  no AC3 sync frame found within 1 MB stream data. 

- default audio codec id for MPEG is now layer-3, 0x55.
	
- minor cleanups in the tools directory.

- tcscan now also has a frame rate option "-f".
	
---------------------------------------------
transcode-0.4.0 Mon Jul 23 11:26:15 CEST 2001

- transcode now accepts a directory name as input file (option -i)
  containing, e.g., the chunks of a ripped DVD. The VOB streams are
  concatenated for processing, thus appearing as a single
  stream - this way, almost perfect audio/video synchronization is achieved.

- new option -B to enable resizing and changing the aspect ratio
  of the encoded frame. Some restrictions apply, e.g. reduction only by 
  integral values of 32 rows/cols possible. Good for anamorphic DVDs.
  Example with PAL input: "-j 80,8 -B 3,0" yields 704x320 frame size
  and an aspect ratio of 2.20:1

- new option -A to enable pass-through of AC3 audio frames.
  Use "-x mpeg2,ac3 -y divx -A -n 0x2000" to transcode to DivX;-) 
  AVI files with AC3 sound. No encoding or processing yet, your source 
  must already be AC3. Works with mplayer and Windows Mediaplayer. 

- bugfix: outdated code in the libvo removed that prevented users from
  processing non-PAL VOB streams. Thanks to Udo Wolter for giving me the hint.

- bugfix: counter shows 0 fps for option -t from second file on,
  bug introduced in v0.3.3-pre3.
	
- new option -I enables de-interlacing of video frames (simple bob),
  most useful for full screen processing of Digital Video.

- new option -C enables anti-aliasing of video frame.
      mode=1: only rows are processed, that have been altered by
      previous frame operations.
      mode=2: full frame anti-aliasing (slow).
	
- note: turning on the debug mode "-q 2" produces white dots
  where anti-aliasing "-C" has altered the original frame. 

- new option -K for removing color of video frame (b/w mode), useful
  for previews and who knows what.
	
- new option -V to enable pass-through of YUV (YV12) video frames.
  Currently, only export_raw.so exports to uncompressed AVI files for xanim.

- new tool "tcscan" replaces pcmscan. Does some simple
  audio stream checks (ac3/pcm).	

- tcextract converts AC3 stream with padding bytes or junk between frames 
  as extracted, e.g., from VOB files to a clean connected sequence of AC3 
  frames: "tcextract -i file.VOB -x ac3 | tcextract -x ac3"
	
- some cleanups in the configure script. Added "-lm" for SuSe et al. users.

- small changes in the API for import/export
  (1) transcode now respects amount of bytes read per frame in input modules. 
      Useful for AC3/YUV frames.
  (2) transcode tries to query import/export capability flag. For useful
      values s. tc_defaults.h
  Changes in vob_t structure, external modules need to be recompiled. 
	
---------------------------------------------
transcode-0.3.2 Tue Jul 10 22:54:08 CEST 2001

- new option -D to synchronize audio and video. A positive number N means
  start at audio frame N for video frame 0. A negative number inserts
  |N| silent audio frames at the start of the movie. 

- new tool "avisync" tries to sync the already finished AVI file similar
  to the -D option of transcode by shifting audio and video by N frames. 
  N>0 works but most player ignore 0 byte audio frames. This can be improved
  later.

- added a transcode.spec file kindly provided by Volker Moell <moell@gmx.de>. 
  This is certainly useful for building custom RPMs. Some binary RPMs are now
  available which only need the "avifile-0.53.*" library installed
  to get the DivX;-) export modules working.
	
---------------------------------------------
transcode-0.3.1 Sun Jul  8 22:33:55 CEST 2001

- fixed error messages in tcdecode that slipped into the raw streams. 
  This broke, e.g., the pcmscan tool. 

- reading from a FIFO with option (-i) should now work, except for DV and
  AVI files which use lseek in low level routines.
	
- more warnings issued if codec options (-x/-y) or filename options (-i,-o) 
  are missing in the command line.

- added output raw stream codec option -y for tcdecode. For example,
  tcdecode -x dv -y (rgb,yv12,pcm) decodes raw DV frames into
  raw RGB,YV12 (video) or PCM (audio) stream.

- Digital Video now handled by tcdecode and tcextract. No more patching
  of libdv required. You still need libdv installed on your system.
  However, sound extraction in libdv seems to be broken. Use "-x dv,raw"
  if you have an AVI file containing the DV frames.

- tcframe now transforms YUV raw stream into YUV4MPEG stream (stdout) 
  for viewing stream with, e.g., "yuvplay".

- renamed: libvoppm -> libvo and libvoppm.a -> libvout.a
  added yuv output option in libvo. 

- added Intel Indeo 5 export module FourCC=IV50, but avifile support
  seems to be broken.
	
- some changes in the configure.in script for libdv and lame.
	
---------------------------------------------
transcode-0.3.0 Tue Jul  3 12:48:46 CEST 2001

- (1) import feature enhancements:
	
- package now includes ac3dec (0.6.1), mpeg2dec (0.2.0), lame (3.87),
  no more patches for MPEG VOB files / unencrypted DVD's required.

- new import modules (some with overlapping functionality with older modules) 
	"vob"        MPEG2/AC3 program stream only (*.VOB)
  	"yuv"        reads raw yuv (YV12) video stream and converts it to raw RGB
	"yuv4mpeg"   mjpeg-tools yuv video stream format / wav pcm audio 
	             (not tested very well)
	"raw"        raw rgb/pcm from RIFF AVI/WAVE files, or raw streams with
	             autodetect feature provided by "tcextract" s. below.
		     (combines functionality of "cat" and "avi" modules,
                      s. also transcode homepage for module description) 
	"null"       dummy module, if no audio stream will be processed.
	
- new helper programs for easy building/debugging of new import modules:

	"tcextract" handy extractor frontend transcode, extracts from different
	 file formats and stdin, output goes to stdout

	"tcdecode" handy decoder frontend for transcode, decodes raw stream 
         from file or stdin into rgb stream for stdout 
        
	"tcframe" reads raw rgb stream from file or stdin and produces a 
	 sequence of ppm files for debugging or still images.

- some old import modules switched to use included "tcextract" and "tcdecode"
  binaries. Minor updates.
	
- added "avicodec" in tools subdirectory to change video/audio codec 
  in header of AVI files

- (2) transcode core bugfixes/changes:

- fixed encoder segfault on import close on instances 
  with no valid first frame

- fixed race condition with import thread on exit where encoder was not
  properly closed	

- transcode now uses "-i /dev/zero -x null -o /dev/null -y null" as defaults
  if no input/output files or codecs are provided. 	
	
- (3) export feature enhancements: none, minor code cleanup.

- changes in the configure file for auto-detection of MMX, ...
	
---------------------------------------------
transcode-0.2.2 Thu Jun 21 22:46:25 CEST 2001

- divxbitrate problem solved for export_divx.so	

- feature enhancements:
   -cut columns in frame at left and right side with option -j                
   -mirror image of frame with new option -l
   -add keyframe interval parameter with option -w

- added "avimerge" in tools subdirectory: works with mplayer
  but aviplay "clicks" at movie transition	
	
- more video processing infos displayed
	
- added static frame buffers for import thread (configure with --statbuffer) 
  to avoid alloc/free cycles. 

- changes in the video/audio processing core module. All video/audio
  transformations are performed on actual frame buffer

- _vob_t structure changes -- external modules need to be recompiled!	

- minor language cleanups	

---------------------------------------------	
transcode-0.2.1 Sun Jun 17 19:55:39 CEST 2001

- added mp3bitrate, proper audiocodec and interleaved flag in avilib.c.
  videos produced by export_divx.so now playable by "aviplay"
  and "mplayer". 	

- fixed AVI file corruption bug in dl_loader.c, where program
  aborted on input stream error rather than performing proper cleanup

- removed required output file if -t option is given

- moved encoder init and stop calls from transcode.c to encoder.c

- added pcmscan and vobscan.sh in tools subdirectory to
  estimate the maximum volume increase for audio stream, in case
  you do not have "sox"	.

- fix for segfault on mp3bitrate < 192 kbs in export_divx2.so

---------------------------------------------	
transcode-0.2.0 Thu Jun 14 00:05:04 CEST 2001

- initial public release

vim: tw=68
