--------------------------------------------
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
