2007-08-31 Francesco Romani <fromani at gmail dot com>
  * import/import_ffmpeg.c
  allow brave people to easily experiment with new (buggy?) libavformat
  demuxer. Still disabled by default, of course.

2007-08-28 Francesco Romani <fromani at gmail dot com>
  * configure.in
  backport gcc -Werror fixes from HEAD.

  * docs/man/transcode.1 encode/encode_lame.c encode/encode_xvid.c
    export/aud_aux.c src/cmdline_def.h src/socket.c src/transcode.c
    src/transcode.h
  generalize and make coherent the behaviour of -O.
  long option was renamed from --lame_flush to --encoder_noflush accordingly
  (closes issue #0000030).

2007-08-25 Francesco Romani <fromani at gmail dot com>
  * export/Makefile.am

  * added file: export/export_pcm.c
  export_pcm is back.
  Requested by "Jason P. Stanford <jps3 at Lehigh dot EDU>" .

  * src/decoder.c
  more serious internal cleanup and refactoring. Testing still ongoing.

  * configure.in
  transcode 1.1.0 alpha 4.

2007-08-24 Francesco Romani <fromani at gmail dot com>
  * import/import_mplayer.c
  new minor version of module. More improvements on #0000028 camp.
  Extensive testing still needed, and decoder still needs some cleanups.

2007-08-22 Francesco Romani <fromani at gmail dot com>
  * import/v4l/import_v4l2.c
  allow VIDIOC_G_STD ioctl to fail, and fix STREAMON/STREAMOFF ioctl calls.
  Pointed out by Maurizio Monge <maurizio dot monge at gmail dot com>.

  * import/import_mplayer.c
  new version of module. Internal refactoring, cleanup and (hopefully)
  closes issue #0000028.

  * src/encoder-buffer.c
  reorganize logging.

2007-08-21 Francesco Romani <fromani at gmail dot com>
  * src/encoder-buffer.c src/encoder.c src/encoder.h tools/rawsource.c
  have_data() buffer method is now obsolete.

  * src/tc_defaults.h
  reorganize log modes.

2007-08-20 Francesco Romani <fromani at gmail dot com>
  * src/decoder.c src/decoder.h src/encoder-buffer.c src/encoder-common.c
    src/encoder-common.h src/encoder.c src/frame_threads.c src/transcode.c
    src/transcode.h tools/tcstub.c
  simplify interruption (^C) handling code by using a common, single
  interruption check. This also significantly simplifies the frame
  acquisition code in encoder, leading to (slightly) better code.
  Documentation is coming. This should fix issue #0000021 and partially
  issue #0000028.

2007-08-17 Francesco Romani <fromani at gmail dot com>
  * export/export_dvraw.c
  avoid memory corruption with mono audio. This addresses
  reproduceable part of issue #0000026 (which will be closed).

2007-08-11 Francesco Romani <fromani at gmail dot com>
  * import/ioxml.c import/tcxmlcheck.c
  do not free internal tree if it was not created.
  (fixes issue #0000025).

  * libtc/ratiocodes.c testsuite/test-bufalloc.c
    testsuite/test-cfg-filelist.c testsuite/test-cfg-filelist.sh
    testsuite/test-export-profile.c testsuite/test-framealloc.c
    testsuite/test-iodir.c testsuite/test-mangle-cmdline.c
    testsuite/test-pvmparser.c testsuite/test-ratiocodes.c
    testsuite/test-resize-values.c testsuite/test-tcglob.c
    testsuite/test-tclog.c testsuite/test-tcmodchain.sh
    testsuite/test-tcmodule.c testsuite/test-tcmoduleinfo.c
    testsuite/test-tcstrdup.c
  Switch to GPL header as suggested on: http://www.gnu.org/licenses/gpl-howto.html
  Re-release my code under GPL v2 or later (round 3) since this is the most
  compatible option
  (see http://www.gnu.org/licenses/gpl-faq.html#TOCAllCompatibility)
  Anyway, I still have some concerns regard GPL V3 vs V2.

2007-08-11 Francesco Romani <fromani at gmail dot com>
  * export/export_xvid4.c
  handle flush requests (fix issue #000017).

2007-08-10 Francesco Romani <fromani at gmail dot com>
  * multiplex/multiplex_avi.c multiplex/multiplex_raw.c
    multiplex/multiplex_y4m.c
  do not multiplex zero-sized frames.

  * src/encoder.c
  internal rearrangements: END_OF_STREAM frames should NOT be muxed.
  smarter flush handling, but this needs serious improvements in
  1.2.0 cycle.

  * docs/tech/module-system-API.txt
  note that we must improve encoder flush and maybe muxer API.

  * encode/encode_xvid.c
  handle flush requests. This fixes 33% of issue #000017
  (http://tcfoundry.hostme.it/mantis/view.php?id=17)
  still pending: OMS flush code, 1.0.x backport (straightforward from OMS).

2007-08-08 Francesco Romani <fromani at gmail dot com>
  * src/socket.c
  avoid accidental polling.

  * src/decoder.c src/encoder-buffer.c
  make messages more debug friendly.

  * src/encoder.c
  export last valid frame too.
  (this addresses, but not yet resolves, issue #000017).

  * encode/encode_copy.c encode/encode_lavc.c encode/encode_lzo.c
  header compliancy fixes (cosmetics).

  * libtc/ratiocodes.c libtc/ratiocodes.h libtc/tcavcodec.h libtc/tccodecs.c
    libtc/tcframes.c libtc/tcframes.h libtc/tcglob.c libtc/tcglob.h
    libtc/tctimer.c libtc/tctimer.h libtc/tcmodule-core.h
    libtc/tcmodule-data.h libtc/tcmodule-info.h libtc/tcmodule-plugin.h
    libtc/tcmodule.c libtc/tcmoduleinfo.c
  Switch to GPL header as suggested on: http://www.gnu.org/licenses/gpl-howto.html
  Re-release my code under GPL v2 or later (round 2) since this is the most
  compatible option
  (see http://www.gnu.org/licenses/gpl-faq.html#TOCAllCompatibility)
  Anyway, I still have some concerns regard GPL V3 vs V2.

2007-08-08 Francesco Romani <fromani at gmail dot com>
  * added files: docs/pvm3/export_pvm.txt
  docs/pvm3/pvm_10x.cfg docs/pvm3/pvm_11x.cfg docs/pvm3/pvm_config.txt
  docs/pvm3/Makefile.am

  * removed files:
  docs/pvm.cfg docs/export_pvm.txt

  * configure.in
  move pvm3 documentation in a separate subdirectory.
  provide template for new configuration syntax introduced in 1.1.0,
  and put placeholder for a document listing the changes.

  * docs/pvm3/pvm_config.txt
  document changes in configuration file between 1.0.x and 1.1.x.

  * import/import_im.c
  module updates. Closes bug #000020 (hopefully).

  * configure.in
  transcode 1.1.0 alpha 3.

2007-08-07 Francesco Romani <fromani at gmail dot com>
  * libtc/ratiocodes.c libtc/ratiocodes.h
  add another helper function (to replace src/probe/asr2str).

  * src/probe.c src/probe.h src/transcode.c
  kill almost completely private stringifier functions for
  codecs/ratios/formats and eventually switch to libtc ones.

  * pvm3/pvm_version.h pvm3/pvm_parser.h pvm3/export_pvm_slave.c
    pvm3/tcpvmexportd.c export/export_pvm.c
  parser API fixes (prepare for the big leap).

  * libtc/cfgfile.h pvm3/pvm_parser.c pvm3/pvm_parser.h pvm3/pvm_version.h
  finish to port PVM configuration parser to new libtc code.
  Of course new code is NOT tested enough yet. Work in progress.

  * pvm3/pvm_parser.c pvm3/pvm_parser.h
  fixes and enhancements on parser interface: parse server section
  of configuration file only if requested by client, not always.
  Also, use a new option to give an hint about the expected number
  of node sections.

  * export/export_pvm.c pvm3/export_pvm_slave.c pvm3/tcpvmexportd.c
  port to last PVM parser API.

  * added file: testsuite/test-pvmparser.c

  * testsuite/.cvsignore testsuite/Makefile.am

  add very basic testcase specific for PVM parser.

  * encode/encode_copy.c encode/encode_lavc.c encode/encode_lzo.c
    encode/encode_null.c filter/preview/filter_sdlview.c 
    import/import_alsa.c import/probe_ffmpeg.c import/probe_mplayer.c
    import/probe_wav.c import/probe_x11.c multiplex/multiplex_avi.c
    multiplex/multiplex_null.c multiplex/multiplex_raw.c
    multiplex/multiplex_y4m.c src/export_profile.c src/export_profile.h
    src/framebuffer.c src/framebuffer.h tools/rawsource.c tools/rawsource.h
    tools/tcexport.c tools/tcmodchain.c
  Switch to GPL header as suggested on: http://www.gnu.org/licenses/gpl-howto.html
  Re-release my code under GPL v2 or later (round 1) since this is the most
  compatible option
  (see http://www.gnu.org/licenses/gpl-faq.html#TOCAllCompatibility)
  Anyway, I still have some concerns regard GPL V3 vs V2.

2007-08-05 Francesco Romani <fromani at gmail dot com>
  * libtc/cfgfile.c libtc/cfgfile.h
  new configuration file list section parsing, pulled from
  ongoing PVM3 fixes. PVM3 configuration file (pvm.cfg)
  has some sections significantly different from other
  encoder/export modules, so looks like some changes in
  configuration file support are unavodable.

  * added files: testsuite/test-cfg-filelist.c
                 testsuite/test-cfg-filelist.sh

  * testsuite/Makefile.am testsuite/.cvsignore
  basic testcases for configuration list support.
  valgrind says code looks ok at first glance.

2007-08-05 Francesco Romani <fromani at gmail dot com>
  * import/import_imlist.c
  chop trailing '\n' in filenames read from image list.
  (pointed out by Martin Guy < martinwguy at yahoo dot it>)

  * src/socket.c
  clarify a bit internals, improve documentation, and finally
  make tc_socket_wait() blocking even if there isn't any event
  (i.e.: no --socket specified). This avoids a nasty busy wait
  loop on event thread recently introduced. Does pause() call
  fit our needs or there is something better out there?

  * export/export_pvm.c src/transcode.c pvm3/pvm_version.h
  PVM support: kill warnings and sanitize code a tiny bit.

2007-08-03 Francesco Romani <fromani at gmail dot com>
  * export/export_pvm.c src/transcode.c pvm3/pvm_version.h
  PVM support: kill warnings and sanitize code a tiny bit.

2007-08-03 Francesco Romani <fromani at gmail dot com>
  * src/encoder-common.c src/encoder.c src/transcode.c
  significant internal socket handling overhaul to start to address
  and improve socket handling misbehaviour (but I'm afraid this
  still not solves issue): http://tcfoundry.hostme.it/mantis/view.php?id=11

  Notable changes:
  - move socket control code in a separate thread, no longer make
    calls synchronous on main encoder thread. I'm not particulary
    proud of this solution nor I'm convinced this is the only one
    but I think this helps in clean up things and simplifies the pause
    (also considere the preview pause) code path.
  - merge signal thread and socket thread in an one event thread.
    Some corner cases still uncovered, need further investigation.

  * src/socket.c src/socket.h tools/tcstub.c
  add a new tc_socket_wait() call that sits and waits forever a new
  socket command.

  * configure.in
  transcode 1.1.0 alpha 2.

2007-07-31 Francesco Romani <fromani at gmail dot com>
  * import/scan_pes.c
  do not assert random defaults if MPEG sequence has incorrect data.

  * libtc/ratiocodes.c libtc/ratiocodes.c
  guess ASR as well as FRC (minor internal refactoring involved).

  * import/probe_stream.c
  try to guess ASR value from width and height if probing fails.

  * configure.in
  transcode 1.1.0 alpha 1

2007-07-30 Francesco Romani <fromani at gmail dot com>
  * filter/filter_compare.c filter/filter_logoaway.c
  temporary (hopefully) backport the 1.0.x fixes.

2007-07-28 Francesco Romani <fromani at gmail dot com>
  * import/import_x11.c import/x11source.c import/x11source.h
  X11 overhaul part 1: improve internal frame rate emulation (still pretty
  inaccurate :( ), first bits of cursor grabbing.
  Better GPL preamble, this should be FSF-compliant.
  Back again to GPL v2 or later, since strict GPL v2 is not compatible with
  v3 (and that makes me bad).

2007-07-22 Francesco Romani <fromani at gmail dot com>
  * (everything)
  created transcode 1.1.x branch (-r transcode_1_1).
  transcode 1.1.0 alpha 0.

  * configure.in 
  detect XFixes avalability, needed by cursor grabbing facilties.

  * import/import_x11.c
  better timing handling (still needs some work)

  * import/x11source.c import/x11source.h
  cursor grabbing foundations.

  * avilib/wavlib.c avilib/wavlib.h encode/encode_copy.c encode/encode_lzo.c
    encode/encode_lavc.c encode/encode_null.c encode/encode_xvid.c
    filter/preview/filter_sdlview.c import/import_alsa.c import/import_x11.c
    import/probe_ffmpeg.c import/probe_mplayer.c import/probe_wav.c
    import/probe_x11.c import/x11source.c import/x11source.h
    libtc/ratiocodes.c libtc/ratiocodes.h libtc/tcavcodec.h libtc/tccodecs.c
    libtc/tcframes.c libtc/tcframes.h libtc/tcglob.c libtc/tcglob.h
    libtc/tcmodule-core.h libtc/tcmodule-data.h libtc/tcmodule-info.h
    libtc/tcmodule-plugin.h libtc/tcmodule.c libtc/tcmoduleinfo.c
    libtc/tctimer.c libtc/tctimer.h multiplex/multiplex_avi.c
    multiplex/multiplex_null.c multiplex/multiplex_raw.c
    multiplex/multiplex_y4m.c src/export_profile.c
    src/export_profile.h src/framebuffer.c src/framebuffer.h
    testsuite/test-bufalloc.c testsuite/test-export-profile.c
    testsuite/test-framealloc.c testsuite/test-iodir.c
    testsuite/test-mangle-cmdline.c testsuite/test-ratiocodes.c
    testsuite/test-resize-values.c testsuite/test-tcglob.c
    testsuite/test-tclog.c testsuite/test-tcmodule.c
    testsuite/test-tcmoduleinfo.c testsuite/test-tcstrdup.c tools/rawsource.c
    tools/rawsource.h tools/tcexport.c tools/tcmodchain.c
  OK, that's (*really*) boring but needed. Bump copyright year for every (?)
  file written by me, AND put every file on which I have full copyright
  (I.e. every piece of transcode written by myself at least at 99%) under
  GPL strict v2 license. In short: drop the 'or later' in GPL statement.
  Rationale for that: I have'nt fully read, studied and understood GPL v3
  at this moment, and I don't blindly trust anybody, included FSF (even
  I frankly think that I'll end agree and adopt GPL v3 for future code).
  PLEASE let me know if I've wrongly modified files which aren't copyrighted
  by myself.

2007-07-21 Francesco Romani <fromani at gmail dot com>
  * libtc/tctimer.c libtc/tctimer.h
  increase resolution in timer.
  Add gettime() function.

  * import/import_x11.c
  increase resolution for time variables.

2007-07-20 Andrew Church <achurch at achurch dot org>
  * src/transcode.c
  Fix bug that forced export frame rate to 25fps regardless of input rate.

2007-07-19 Andrew Church <achurch at achurch dot org>
  * encode/encode_faac.c
  Add a tiny comment.

2007-07-18 Francesco Romani <fromani at gmail dot com>
  * import/import_im.c import/import_imlist.c import/probe_im.c
  port import layer to MagickWand interface.

  * configure.in import/import_im.c import/import_imlist.c import/probe_im.c
  OK, my bad: the Wand-config/Magick-config interchangeability was too
  optimistic. Second try: MagickWand requirements should be always a superset
  of MagickCore ones, so let's use Wand-config alone.

  On the other hand, looks like the MagickWand main header was _renamed_
  in a minor ImageMagick release, and this, if confirmed, really start to make
  me wonder about IM sanity.

  This changeset allow to detect and handle this issue, and fixes some
  other typos as well.

2007-07-18 Andrew Church <achurch at achurch dot org>
  * encode/encode_faac.c
  Remove bogus indentation that mysteriously appeared.

  * libtc/tccodecs.c
  Add "aac" codec tag for AAC audio.

2007-07-16 Francesco Romani <fromani at gmail dot com>
  * src/cmdline_def.h
  --debug option is bogus, so comment it temporary.

2007-07-16 Andrew Church <achurch at achurch dot org>
  * configure.in
  Disable -Werror when compiling with GCC 4.2.0, as it produces spurious
  warnings that would break compilation.

  * src/cmdline_def.h
  Increase module option string size limits to 1000 bytes per module.

  * export/export_im.c filter/filter_compare.c filter/filter_logo.c
    filter/filter_logoaway.c import/import_im.c import/import_imlist.c
    import/probe_im.c
  Add a new workaround for ImageMagick's careless namespace pollution,
  since the old one doesn't work with newer versions of the library.

  * export/export_mov.c filter/tomsmocomp/filter_tomsmocomp.c
  Fix various compiler warnings and typos.

2007-07-15 Francesco Romani <fromani at gmail dot com>
  * src/transcode.c src/tc_defaults.h
  another try to improve input source handling.
  Looks like the situation is slowly improving.

  * src/decoder.c
  minor updates and sync with new input file handling.

  * import/dvd_reader.c
  minor fixes; make code less verbose *BY DEFAULT*. User can still
  access all messages by increasing the verbosiness level in
  tcprobe/transcode.

  * import/import_vnc.c
  vnc timeout as constant, not as option.

  * import/import_dvd.c
  access delay as per-module option.

  * src/cmdline_def.h src/transcode.c src/transcode.h
  kill --dvd_access_delay option.

2007-07-14 Francesco Romani <fromani at gmail dot com>
  * src/decoder.h src/encoder-common.h src/transcode.h src/socket.c
  de-genericize prototypes moving them from transcode.h to specific
  headers.

  * docs/man/transcode.1
  rewrite the beginning of manpage, aiming to make it a little less scary.
  Enforce that -i is (99% cases) needed for a transcode session doing
  something useful.

  * src/cmdline.c src/cmdline.h src/cmdline_def.h src/tc_defaults.h
    src/transcode.c src/transcode.h
  simplfy input/output file handling and introduce TCGlob objects to properly
  handle input stream sequences. Now at least -i is mandatory (it has ever had
  any sense to run transcode without at least -i or -p?). New code should
  be fully backward-compatible (otherwise we have [at least one] a bug,
  folks! :) ) and allow a better integration with new sequential decoder.

2007-07-12 Francesco Romani <fromani at gmail dot com>
  * pvm3/pvm_parser.h
  start to address pvm3 issues: make this header more STYLEish.

  * export/export_divx5.c export/export_dv.c export/export_ffmpeg.c
    export/export_lzo.c export/export_ppm.c export/export_raw.c
    export/export_xvid4.c export/export_yuv4mpeg.c
  tc_warn(...) -> tc_log_warn(MOD_NAME, ...).

  * src/transcode.c
  revert some uncareful tc_error() switches.
  switch -> tables in informative messages

2007-07-11 Francesco Romani <fromani at gmail dot com>
  * src/cmdline_def.h
  --dir_mode -> --directory_mode.

  * libtc/tcglob.c
  fix tcglob behaviour in critical corner case (glob no match).

  * src /transcode.c
  tc_error()ize abort conditions.

  * src/decoder.c
  round 1 fixes. It's still a long road.

2007-07-10 Francesco Romani <fromani at gmail dot com>
  * filter/tomsmocomp/filter_tomsmocomp.c
  optstr_get() -> optstr_lookup() fix.

  * configure.in
  warn if PVM3 support is enabled.

  * added file: testsuite/test-tcglob.c

  * testsuite/Makefile.am

  add very-very-basic testsuite for new globbing facilities.

  * src/cmdline_def.h
  reenable --dir_mode options, that will trigger usage of new
  sequential import decoder. Yet useless.

  * src/decoder.c src/decoder.h src/transcode.c
  ok ladies and gentlemen, let's bite the bullet: here it is
  the new sequential decoder code. Compiles, but is still
  COMPLETELY untested and can be BADLY BROKEN. Just wait a little
  bit more.

2007-07-09 Francesco Romani <fromani at gmail dot com>
  * libtc/tcglob.h
  basic inline documentation.

2007-07-06 Francesco Romani <fromani at gmail dot com>
  * src/dl_loader.c src/dl_loader.h
  constantize module name param.

  * added files: libtc/tcglob.c libtc/tcglob.h

  * libtc/Makefile.am

  add basic globbing facilities.

2007-07-04 Francesco Romani <fromani at gmail dot com>
  * export/Makefile.am
  ship profiles data only if ENABLE_EXPERIMENTAL.

  * export/aud_aux.c
  register all encoders, since specific needed encoders
  are no longer (easily) accessible with newer libavcodecs.

  * filter/preview/filter_sdlview.c
  add preview window title.

  * added file: libtc/tcavcodec.h

  * libtc/libtc.h

  factorize most of ours libavcodec utilities in a common header.

  * export/aud_aux.c export/aud_aux.h
  tc_ prefix to all exported functions.

  * encode/encode_lavc.c export/export_divx5.c export/export_dv.c
    export/export_ffmpeg.c export/export_lzo.c export/export_ppm.c
    export/export_raw.c export/export_xvid4.c export/export_yuv4mpeg.c
    import/decode_lavc.c import/import_ffmpeg.c import/probe_ffmpeg.c
  sync modules with new tcavcodec and aud_aux changes.

  * added file: export/export_tcaud.c

  * export/Makefile.am

  add lightweight aud_aux separate frontend module. The whole plan:
  1) avoid to duplicate aud_aux.c code in a bunch of shared objects
  2) start to suggest users that use a single module for export is
     no longer the Right Thing To Do (NMS, when in place, will make
     this almost always unconvenient or just unfeasible)
  Also add a warning message with (approx.) this content at init
  of every aud_aux-enabled export. module.

2007-07-03 Francesco Romani <fromani at gmail dot com>
  * import/tccat.c import/tcdecode.c import/tcdemux.c
    import/tcextract.c import/tcprobe.c import/tcscan.c
    import/tcxmlcheck.c tools/avifix.c tools/aviindex.c
    tools/avimerge.c tools/avisplit.c tools/avisync.c
    src/transcode.c
  (finish to) bump copyright year.

2007-06-27 Francesco Romani <fromani at gmail dot com>
  * src/decoder.c src/frame_threads.c src/frame_threads.h
    src/transcode.c 
  tc_ prefix for frame_threads functions.

2007-06-23 Francesco Romani <fromani at gmail dot com>
  * configure.in tools.Makefile.am tools/tcmodinfo.c
  another little step to 1.1.0 release: add configuration check
  to enterely enable/disable experimental or incomplete code,
  as NMS (unfortunately) still is. 1.1.0 will ship all existing NMS
  code, but disabled by default.
  Also update tcmodinfo to build with NMS code disabled.

  * encode/Makefile.am multiplex/Makefile.am
  build NMS modules only if experimental code is enabled.
  (Is this the right thing to do so? There is any better?)

  * filter/Makefile.am filter/tomsmocomp/Makefile.am
  allow tomsmocomp filter to build with gcc 4.x.
  Patch kindly provided by Wolfgang Frisch <xororand at unfoog.de>

2007-06-17 Francesco Romani <fromani at gmail dot com>
  * src/decoder.c src/decoder.h src/encoder-buffer.c src/transcode.c
  aimport    -> tc_import_audio
  vimport    -> tc_import_video
  import_*() -> tc_import_*()
  (just rename).
  Make import thread routines private.

  * src/encoder.c src/encoder.h src/transcode.c tools/tcexport.c
  export*()  -> tc_export*()
  encoder*() -> tc_encoder*()
  (just rename).

2007-06-16 Francesco Romani <fromani at gmail dot com>
  * src/decoder.c
  decoder rewrite take 1: starting base clean up.
  decoder rewrite take 2: factorize internal data in a structure.
  decoder rewrite take 3: a little more STYLEish. Check module
                          capabilities against tables, not using
			  switch(es).
  decoder rewrite take 4: generic shutdown test code.

  * src/decoder.c src/transcode.c src/transcode.h
  tc_pthread_main is used only in decoder.c, so move it in here.

  * src/frame_threads.c
  kill some survivor tabs.

  * src/decoder.c src/encoder-buffer.c src/encoder.h src/frame_threads.c
    src/frame_threads.h src/transcode.c
  kill have_{a,v}frame_threads globals and also sanitize a tiny bit the
  encoder-buffer interface.

2007-06-15 Francesco Romani <fromani at gmail dot com>
  * src/framebuffer.h src/encoder-buffer.c src/frame_threads.c
  check if TC_FRAME_IS_END_OF_STREAM even at filter layer;
  rename checking macro to use a sane name and export it to
  framebuffer.h.

  * src/framebuffer.h src/tc_defaults.h
  enum-erize frame attributes constants and move them where they
  belongs, into framebuffer.h.

  * src/transcode.h
  include framebuffer.h. Of course it would be better to #include
  framebuffer.h directly in every place needed, but that is for
  today.

  * import/import_dvd.c import/import_mpeg2.c import/import_vob.c
  kill TC_FRAME_IS_{I,B,P}_FRAME attributes: they was set on those
  modules and never used again.

2007-06-14 Francesco Romani <fromani at gmail dot com>
  * src/decoder.c src/encoder-buffer.c src/encoder,c
    src/tc_defaults.h
  new thread code recently added has some design flaws that can
  lead to race conditions, triggered by usage of import modules that
  uses (some flavour of) popen(). This patchset improves
  significantly this behaviour. I'm still not fully satisfied of how
  things works, but this is much better than past. Anyway, further
  testing is still needed, especially when using filters.
  Moreover, I've not performed full-blown code analysis hunting for
  race conditions. I'll follow up on this ASAP.
  
  The key idea is to explicitely notify EOS by let the decoder to
  push into filters/encoder special tagged zero-sized frames,
  instead to just exit as soon as is possible making some noise.
  A couple of bugs on encoder side are been fixed as well (two
  nested loops are dangerous, and fill_level conditions still needs
  some sanitization).

2007-06-12 Francesco Romani <fromani at gmail dot com>
  * filter/filter_astat.c
  tunable silence threshold.

  * tools/tcmodinfo.c
  dont double-print help message (due to old, now invalid, request).

2007-06-09 Francesco Romani <fromani at gmail dot com>
  * libtcaudio/tcaudio.h
  Add constants for maximum allow sample values for any
  recognized format.

  * filter/filter_astat.c filter/filter_detectsilence.c
  Use new tcaudio constants for max sample values.

  * filter_detectsilence.c
  minor cleanups; add an option to just detection silence intervals
  in audio track.

  * libtc/tcmodule-plugin.h
  a tiny bit more debug-friendly.

  * filter/filter_levels.c
  minor updates, port to new macros.

2007-06-06 Francesco Romani <fromani at gmail dot com>
  * filter/filter_detectsilence.c filter/filter_resample.c
  S16_?? are int16_t internally, not uint16_t.
  Maximum value is 0x7FFF (signed) not 0xFFFF (unsigned).
  FIXME: constantize such value and put in a proper way into
  libtcaudio.

  * filter/filter_astat.c
  minor updates and port to NMS.
  add very basic silence detection.

2007-06-02 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmodule-plugin.h
  macro boilerplate code for back-compatible filters.
  With this, we hoperfully care only of NMS code in filters,
  and let this macro handle the boring backward-compatible details.

  * filter/filter_null.c
  refresh, update and port to new macro.

  * filter/preview/filter_sdlview.c, filter/filter_doublefps.c
  port to new macro.

  * filter/filter_resample.c, filter/filter_detectsilence.c
  minor updates.
  port to new macro.

  * filter/Makefile.am filter/filter_detectsilence.c
  detectsilence needs libm now.

2007-05-31 Francesco Romani <fromani at gmail dot com>
  * added file: docs/tech/filter_template.c

  * docs/tech/Makefile.am

  add new, updated template module for NMS and back compatible
  filters. Based on filter_doublefps.c with minimal changes.
  It would be nice to be able to auto-generate this code.
  Isn't that hard except for the part that has to choose when
  run the filter core. I don't see yet any straightforward way
  to automatize or genericize it.

  * fiulter/filter_null.c
  minor updates; make a bit more STYLEish.

2007-05-30 Francesco Romani <fromani at gmail dot com>
  * filter/filter_smartyuv.c
  clamp pixel values in [0,255] interval by using smarter clamp
  functions.
  Bug pointed out by Ralf Hoffmann ralf at boomerangsworld dot de.

2007-05-26 Francesco Romani <fromani at gmail dot com>
  * tools/aud_scan.c
  refactor a bit, make more STYLEish and apply ac3 fix already
  seen in 1.0.x branch recently. (FIXME: double-(re)check
  correctness of fix in there).

  * added file: filter/preview/filter_sdlview.c

  * filter/preview/Makefile.am

  Add (intentionally) simple SDL only preview filter. The idea is
  to phase out filter_preview enterely AFTER 1.1.0 released.
  So we need:
  1) drop unused GTK preview code in filter_preview (almost done)
  2) provide functionality replacements 
     (Xv: done with filter_pv; SDL: done with this commit)
  3) kick out filter_preview.

  * src/transcode.c
  factorize in a single macro clipping checks.
  make ratio data common and static (libtc hasn't some replacements?)

  * added files: filter/filter_yait.c tools/tcyait.c

  * filter/Makefile.am tools/Makefile.am
  merge yait filter patch, courtesy of Allan Snider. STYLE-fixation
  still pending.

2007-05-23 Francesco Romani <fromani at gmail dot com>
  * src/probe.c src/probe.h
  export some low-level probing functions, needed by future input
  rotation code (no, is not vaporware...).

2007-05-22 Francesco Romani <fromani at gmail dot com>
  * configure.in
  better OSX detection. Kindly provided by cremes.devlist at mac dot com

2007-05-13 Francesco Romani <fromani at gmail dot com>
  * import/Makefile.am

  * removed file: import/frame_video.h
  trusting grep and a quick build test, nobody longer needs
  this file.

2007-05-12 Francesco Romani <fromani at gmail dot com>
  * import/Makefile.am

  * added file: import/import_alsa.c, docs/import_alsa.txt
  add experimental ALSA import module. Requires ALSA >= 1.0.x
  (standard on most linux distributions from ages).
  Also add some basic user documentation.

  * src/framebuffer.c
  enforce cleanup on frame disposal.

  * src/transcode.c
  shutdown markers.

2007-05-11 Francesco Romani <fromani at gmail dot com>
  * acinclude.m4 configure.in
  ALSA detection and support in build system.

  * libtc/tcformats.h
  ALSA specific format (this will be moved into something like
  libtcsource, as well as X11 support, after 1.1.0 eventually out).

2007-05-08 Andrew Church <achurch at achurch dot org>
  * encode/encode_x264.c
  Add x264.cfg option "aud" to enable AUDs (Access Unit Delimiters).

  * filter/preview/display.c
  Fix a compilation warning.

2007-05-07 Francesco Romani <fromani at gmail dot com>
  * configure.in filter/preview/Makefile.am filter/preview/display.c
    filter/preview/display.h
  drop no longer used, obsolete gtk+ code.

2007-05-06 Francesco Romani <fromani at gmail dot com>
  * src/transcode.c src/cmdline_def.h src/tc_defaults.h
  TC_ON -> TC_TRUE; TC_OFF -> TC_FALSE;
  kill TC_ON, TC_OFF.

  * src/transcode.c
  separate initalization/finalization of transcode engine, by
  splitting transcoder() into transcode_init() and transcode_fini().
  move navigation file parsing code in a separate private function.

2007-05-03 Andrew Church <achurch at achurch dot org>
  * import/import_mplayer.c
  Change mplayer command line to use a single -ao option rather than two
  (avoids a click at the beginning of the audio from a WAVE header
  embedded in the audio data).

2007-05-01 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h
  include <sys/param.h> that should define PATH_MAX on OSX and
  should be harmless on linux/BSD.

2007-05-01 Andrew Church <achurch at achurch dot org>
  * testsuite/test-acmemcpy.c testsuite/test-acmemcpy-speed.c
  Don't try to test accelerated functions if they've been disabled with
  --disable-mmx, etc.

  * testsuite/test-tcstrdup.c
  Avoid using strndup(), since it's not a standard function.

  * libtc/libtc.h
  Edit tc_strndup() documentation to reflect the fact that strndup() is
  not standard.

  * libtc/libxio.c
  Use tc_strndup() rather than strndup().

2007-04-30 Andrew Church <achurch at achurch dot org>
  * aclib/memcpy.c
  Avoid binary constants and the .align directive, as some versions of
  binutils seem to choke on them.

2007-04-28 Francesco Romani <fromani at gmail dot com>
  * added file: docs/tech/html/tc_libraries.html

  * docs/tech/LIBRARIES docs/tech/html/tc_input_rotation.html
    docs/tech/html/tc_internals.html docs/tech/html/tc_template_page.html
  Documentation update.

2007-04-28 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h
  some #define -> enum; also add a new symbol.

  * import/tc.h import/demuxer.h
  move tcdemux_thread declaration into demuxer.h, where it belongs.

  * import/tc.h import/probe_stream.c import/tcprobe.c
  just rename: tcprobe_thread() -> probe_stream() (more meaningful)

  * import/scan_pes.c
  sometimes information probed by probe_pes need some adjustements,
  so let's do them at the end of probe_pes instead than outside,
  in the caller. A little cleaner (I hope), even if still not
  good (we need to get rid/rewrite scan_pes.c enterely).

  * import/probe_stream.c
  modularize probing separating probing of plain files from probing
  of special stuff (devices, mplayer probing...)
  Also do not longer adjust probe data, any specifi probing function
  must do this, if needed, by it's own.

  Please also note that this patch remove a previous line that
  forced TC_MAGIC_DV_PAL for every DV probed.

  * added file: import/probe_stream.h

  * import/tc.h import/Makefile.am
  move declarations of probe subsystem in a separate file (included
  by tc.h for full backward compatibility), and also clean a bit tc.h

  * added files: docs/tech/html/README docs/tech/html/tc_basic.css
                 docs/tech/html/tc_frame_buffer.html
		 docs/tech/html/tc_input_rotation.html
                 docs/tech/html/tc_internals.html
		 docs/tech/html/tc_logo.png
                 docs/tech/html/tc_template_page.html
		 docs/tech/html/Makefile.am
    start to add new-style technical documentation. Only
    placeholders right now.

   * docs/tech/Makefile.am configure.in
   add makefile infrastructure for new docs.

2007-04-15 Francesco Romani <fromani at gmail dot com>
  * src/transcode.h
  some #define -> enum.

2007-04-09 Francesco Romani <fromani at gmail dot com>
  * src/encoder.c
  return value of a module multiplex operation is not usable as
  direct failure(TC_ERROR)/success(TC_OK) indicator.

2007-04-09 Andrew Church <achurch at achurch dot org>
  * encode/encode_lavc.c encode/encode_x264.c
    export/export_ffmpeg.c export/export_mpeg2enc.c export/export_yuv4mpeg.c
    filter/filter_doublefps.c multiplex/multiplex_y4m.c
    src/cmdline_def.h src/tcinfo.h src/transcode.h
  Use named constants for vob->encode_fields, and fix incorrect processing
  of --encode_fields parameter.

  * src/encoder.c src/transcode.c
  Move encoder buffer alloc/free from encoder_loop to encoder_{init,stop}
  to fix a segfault when encoder_close() tries to flush audio.  Also make
  use of TC_OK/TC_ERROR in export code.

  * encode/encode_lame.c
  Add an extra sanity check.

2007-04-08 Andrew Church <achurch at achurch dot org>
  * src/audio_trans.c src/transcode.h
  Fix incorrect handling of --av_fine_ms.

  * import/fileinfo.c import/import_pv3.c
  Support PV3 version 2 video files.

2007-04-07 Andrew Church <achurch at achurch dot org>
  * import/import_pv3.c
  Revert bad usage of TC_OK introduced in revision 1.11.

2007-04-06 Francesco Romani <fromani at gmail dot com>
  * export/export_mov.c
  Add a slow but safe path to fix green images problem
  when using YUV420 colorspace.
  Patch courtesy of Stefan Scheffler <stefanscheffler at gmx dot net>

  * import/fileinfo.c
  detect mp4 atoms.
  Patch courtesy of Stefan Scheffler <stefanscheffler at gmx dot net>

  * src/decoder.c src/framebuffer.h
  effectively drop *frame_list_t.thread_id, since nobody wants it
  anymore.

2007-04-04 Francesco Romani <fromani at gmail dot com>
  * src/cmdline_def.h src/transcode.c
  Simplify writepide handling.
  An educated guess of the reasons behind old code follows.
  Former implementation was created to cope with LinuxThreads
  limitations, so formerly to use the PID (different, at time)
  of the signal thread was a need. Now we have NPTL, that is 
  much more POSIX-ly, and new code relies on that.

2007-04-01 Francesco Romani <fromani at gmail dot com>
  * src/cmdline_def.h
  re-enable -M short options (typo fix I guess).

  * src/decoder.c src/encoder-buffer.c src/transcode.c
  ^C hangup fix, try #1.

  * src/decoder.c src/framebuffer.c src/framebuffer.h
  avoid to export {a,v}frame_list_{head,tail} and add another
  helper function to improve encapsulation.

  * src/decoder.c
  make decoder smarter checking for NULL frames before registration
  and avoiding silly loop/sleeps.

  Still work in progress.

2007-03-26 Francesco Romani <fromani at gmail dot com>
  * src/decoder.c src/encoder-buffer.c src/encoder.h src/frame_threads.c
  make encoder a bit smarter avoiding sleep()s and polling for
  new frames.
  New code is (supposed to be) cleaner, more elegant, maintenable
  and delivers a nice ~1200% speedup in absolutely useless testcase
  (transcode -x null -y null).

  KNOWN ISSUES:
  ^C causes hangup in some circumstances. Still work in progress.

  * import/tccat.c src/transcode.c tools/tcexport.c tools/tcmodchain.c
  extend copyright year to 2007 (I surely forgot something).

2007-03-25 Francesco Romani <fromani at gmail dot com>
  * src/framebuffer.c src/framebuffer.c
  add explicit TC_BUFFER_NULL handling.

2007-03-24 Francesco Romani <fromani at gmail dot com>
  * docs/man/transcode.1 src/cmdline_def.h
  deprecate --divx_quant, introduce --quantizers.

2007-03-23 Andrew Church <achurch at achurch dot org>
  * src/frame_threads.c
  Add missing #include "decoder.h"

2007-03-22 Francesco Romani <fromani at gmail dot com>
  * configure.in docs/tech/Makefile.am
  build system fixes.

2007-03-21 Francesco Romani <fromani at gmail dot com>
  * Added directory: docs/tech
  documentation reorganization: add separate technical documentation
  directory.

  * Added files: 
  docs/tech/LIBRARIES docs/tech/Makefile.am docs/tech/OPTIMIZERS
  docs/tech/architecture.txt docs/tech/avi_comments.txt
  docs/tech/clone.txt docs/tech/export-API.txt docs/tech/filter-API.txt
  docs/tech/ibp_support.txt docs/tech/import-API.txt
  docs/tech/module-system-API.txt
  docs/Makefile.am
  
  Move technical doc into separate subdir 1/2: add files into 
  new specific subdirectory.

  * Removed files:
  docs/LIBRARIES docs/OPTIMIZERS docs/architecture.txt
  docs/avi_comments.txt docs/clone.txt docs/export-API.txt
  docs/filter-API.txt docs/ibp_support.txt docs/import-API.txt
  docs/module-system-API.txt

  Move technical doc into separate subdir 2/2: remove files from
  former directory.

  * docs/Makefile.am docs/tech/Makefile.am
  Finally update makefiles.

2007-03-17 Francesco Romani <fromani at gmail dot com>
  * tools/tcstub.c tools/tcstub.h tools/tcmodinfo.c
  Fix former filter array static nonsense.
  Make tcmodinfo a little more verbose on errors.
  Increase default verbosiness.
  Make output more like 1.0.x branch.

  * src/transcode.c
  sig_tstp is never used, so it's time to drop it.
  rename sig_int in something more meaningful.

2007-03-15 Francesco Romani <fromani at gmail dot com>
  * src/decoder.c src/decoder.h src/encoder-buffer.c
    src/frame_threads.c src/frame_threads.h
    src/framebuffer.c src/framebuffer.h
  make condition variables private.

2007-03-14 Francesco Romani <fromani at gmail dot com>
  * src/framebuffer.c
  make *fill_level implementation (hopefully) clearer.
  No functional changes expected.

2007-03-13 Francesco Romani <fromani at gmail dot com>
  * src/decoder.c src/frame_threads/c src/frame_threads.h
  STYLEish cleanup and micro updates: remove dead/unused code and
  minor refactoring. No functional changes. Regression test still
  not run (coming soon).

2007-03-11 Francesco Romani <fromani at gmail dot com>
  * src/transcode.c
  make more STYLEish.

2007-03-10 Francesco Romani <fromani at gmail dot com>
  * src/transcode.c
  a bit more initializers.

2007-03-04 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc,h
  new buffer size symbol avalaible. This buffer size is usually
  used for reading/parsing log/configuration file, so the name.

  * import/import_dvd.c import/import_vnc.c
    src/cmdline_def.h src/transcode.c src/transcode.h
  Symbol interdependencies reduction, step M of N:
  tc_dvd_access_delay -> vob.dvd_access_delay
  (why it was outside before?)

2007-03-03 Francesco Romani <fromani at gmail dot com>
  * libtc/optstr.c
  discard equal sign in option string only if there is really
  an equal sign.
  Patch provided by
  Allan N. Snider <allansnider at istop dot com>

2007-02-27 Andrew Church <achurch at achurch dot org>
  * src/cmdline_def.h
  Handle quotes (single or double) inside -x option string, to allow usage
  like: -x mplayer="-vf eq2=0.9,pp=dr",mplayer (modulo shell quoting).

2007-02-27 Andrew Church <achurch at achurch dot org>
  * import/import_pv3.c
  Fix compilation error.

2007-02-11 Francesco Romani <fromani at gmail dot com>
  * src/decoder/c src/decoder.h
  some internal cleanups. Sync code was change a little and needs
  some serious testing.

  * src/transcode.c /src/transcode.h
  move frame variables where they are needed most. Still globals.

2007-02-10 Francesco Romani <fromani at gmail dot com>
  * src/decoder.c
  make more STYLEish.

2007-02-08 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmodule-core.h libtc/tcmodule-data.h libtc/tcmodule-info.h
    libtc/tcmodule-plugin.h libtc/tcmodule.c src/encoder.c src/tc_defaults.h
  NMS api change (core): specify to TCModule instances which feature are
  expected from them.

  * testsuite/test-tcmodule.c tools/tcmodchain.c tools/tcmodinfo.c
  NMS api change (support): specify to TCModule instances which feature are
  expected from them.

  * encode/encode_copy.c encode/encode_faac.c encode/encode_lame.c
    encode/encode_lavc.c encode/encode_lzo.c encode/encode_null.c
    encode/encode_x264.c encode/encode_xvid.c export/export_pvn.c
    filter/filter_doublefps.c filter/filter_levels.c filter/filter_null.c
    filter/filter_resample.c
    import/import_pv3.c import/import_pvn.c import/import_vag.c
    import/import_x11.c import/nuv/import_nuv.c
   multiplex/multiplex_avi.c multiplex/multiplex_null.c
   multiplex/multiplex_raw.c multiplex/multiplex_y4m.c
  NMS api change (modules): specify to TCModule instances which feature are
  expected from them.

2007-02-05 Andrew Church <achurch at achurch dot org>
  * import/tcdecode.c import/tcdemux.c import/tcextract.c import/tcscan.c
  Don't call ac_init() until after command-line arguments have been
  processed (though it doesn't matter yet).

2007-01-30 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmodule.c
  minor internal updates.

2007-01-28 Francesco Romani <fromani at gmail dot com>
  * encode/encode_faac.c
  move sanity check to libtc macros.

  * encode/encode_copy.c
  copy frame attributes for audio too.

2007-01-27 Francesco Romani <fromani at gmail dot com>
  * encode/encode_x264.c encode/encode_lavc.c
  mark keyframes.

  * encode/encode_copy.c
  correctly handle encoder audio flush requests.

  * multiplex/multiplex_avi.c
  recognize new-style codec identifiers too.
  annotate supported but problematic input codecs.

  * src/cmdline_def.h
  typo.

  * libtc/tccodecs.c
  change codec for MPEG4 video to avoid conflicts with MSMPEG4*.
  The new one is at least mplayer friendlier.

  * libtc/libtc,h libtc/tc_functions.c
  change return values, being a bit more coherent and detailed.

  * encode/encode_lavc.c
  more sane video codec selection.
 correctly handle colorspace for MJPEG.
 detect video codec as early as is possible to let the things work
 properly.

2007-01-24 Andrew Church <achurch at achurch dot org>
  * import/import_nuv.c
  Fix handling of files that start with nonzero timestamps, such as the
  second and later parts of multi-part capture streams.  Reported by Steve
  Hosgood (steve at caederus dot com).

2007-01-22 Francesco Romani <fromani at gmail dot com>
  * multiplex/multiplex_avi.c
  add more supported formats, mark AAC as problematic 
  (as is according to avalkaible data)

  * tools/tcmodinfo.c
  new argument usage fix.

  * encode/encode_lavc.c
  add docs for yesterday's functions and do some
  minor internal cleanup.
  restrict optstr_get search range.

2007-01-21 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc,h libtc/tc_functions.c
  add tag field to tc_find_best_aspect_ratio

  * tools/tcstub.h tools/tcstub.c
  frame allocation stubs.

  * encode/encode_lavc.c encode/encode_x264.c
  adapt code to new tc_find_best_aspect_ratio signature.

  * tools/tcmodinfo.c tools/Makefile.am docs/man/tcmodinfo.1
  add new (debug helper) option; also use new stubs to make
  encode_lavc happy.

  * libtc/libtc,h libtc/tccodecs.c
  int -> TCCodecID where appropriate.

  * encode/encode_lavc.c
  better detection and validation of video codec.
  Still needs some work.

2007-01-20 Francesco Romani <fromani at gmail dot com>
  * added files: encode/encode_lavc.c encode/lavc.cfg
  add stub for libavcodec-based encoder.
  ***KNOWN BROKEN*** -> don't use it yet. I'm working on.
  Suggestions/patches welcome as usual ;)

  * encode/encode_x264.c
  (private) vob_get_sample_aspect_ratio()
  =>
  (libtc)   tc_find_best_aspect_ratio()

  * libtc/libtc.h libtc/tc_functions.c
  move 'best' ASR finding helper code for encoder into
  a new function on libtc. Algorythm used was the one found
  formerly in a private copy on encode_x264.c, and deserve
  some more care.
  encode_x264.c and upcoming encode_ffmpeg.c will be ported
  soon to new code.

2007-01-09 Francesco Romani <fromani at gmail dot com>
  * filter/filter_resample.c
  better log messages.

  * src/framebuffer.c
  fix a bunch of typos.

2007-01-07 Francesco Romani <fromani at gmail dot com>
  * filter/filter_levels.c
  port to last macros.

  * filter/filter_resample.c
  port to NMS, and start investigating last bug-report received.

2007-01-06 Francesco Romani <fromani at gmail dot com>
  * tools/tcstub.c tools/Makefile.am
  add {a,v}frame_copy stubs.

  * tools/tcmodchain.c
  revamp tcmodchain, adding list mode support.

  * testsuite/Makefile.am
  * added file: testsuite/test-tcmodchain.sh
  basic tcmodchain test (more to come).

  * docs/man/Makefile.am
  * added file: docs/man/tcmodchain.1
  basic tcmodchain man page.

2006-12-29 Francesco Romani <fromani at gmail dot com>
  * import/decode_mov.c import/decode_mp3.c import/decode_ogg.c
    import/decode_yuv.c import/extract_ac3.c import/extract_mp3.c
    import/extract_mpeg2.c import/extract_ogm.c import/extract_pcm.c
    import/extract_rgb.c import/extract_yuv.c import/tc.h
  Avoid blind writes, take 1:
  - drop write/fwrite to tc_pwrite
  - always check the return value of tc_pwrite
  - exit immediately and making a lot of noise if written data
    is less than expected.

2006-12-12 Andrew Church <achurch at achurch dot org>
  * configure.in
  Fix a bug causing --enable-nuv to be ignored.

  * import/nuv/import_nuv.c
  Typo fix.

2006-12-05 Andrew Church <achurch at achurch dot org>
  * import/import_pv3.c
  Typo fix.

  * testsuite/Makefile.am
  Add test-mangle-cmdline to test-low target.

2006-12-03 Francesco Romani <fromani at gmail dot com>
  * export/export_mov.c import/decode_lavc.c import/extract_avi.c
    import/import_ffmpeg.c import/probe_mov.c import/probe_ogg.c
    import/tcdecode.c libtc/tccodecs.c libtc/tccodecs.h
    multiplex/multiplex_avi.c src/probe.c
  TC_CODEC_MJPG -> TC_CODEC_MJPEG, as planned some time ago
  (just a rename).

  * docs/man/transcode.1
  add basic documentation for newly introduced environment variable.

2006-12-02 Francesco Romani <fromani at gmail dot com>
  * filter/filter_resample.c
  make more STYLEish before to start looking for segfault recently
  reported.

  * import/tccat.c import/tcdecode.c import/tcdemux.c import/tcextract.c
    import/tcprobe.c import/tcrequant.c import/tcscan.c import/tcxmlcheck.c
    src/transcode.c tools/tcexport.c tools/tcmodchain.c tools/tcmodinfo.c
  Introduce libtc_init before option processing loop.

  * src/cmdline_def.h
  produce only help messages for no_log_color, since this
  option must be processed outside main option loop.

  * libtc/libtc.h
  Forgot to add header for tc_codec_is_multipass :)
  Add new libtc_init to handle disabling of colored logging.
  libtc_setup is now gone.

  * libtc/tc_functions.c
  drop libtc_setup, enter libtc_init.

2006-11-30 Francesco Romani <fromani at gmail dot com>
  * added file: testsuite/test-mangle-cmdline.c

  * testsuite/Makefile.am
  add basic testsuite for tc_mangle_cmdline()

  * libtc/libtc.h libtc/tc_functions.c
  allow tc_mangle_cmdline to handle options without values.

  * libtc/tccodecs.c libtc/tccodecs.h
  add another helper function: multipass capability check.

2006-11-23 Francesco Romani <fromani at gmail dot com>
  * import/decode_mpeg2.c
  make more STYLE compliant
  review RGB24 handling
  small (and mostyl cosmetical) fixes

2006-11-15 Francesco Romani <fromani at gmail dot com>
  * src/cmdline_def.h docs/man/transcode.1
  review a bit --no_log_color option and update manpage accordingly.

2006-11-12 Francesco Romani <fromani at gmail dot com>
  * Added files: tools/tcstub.c tools/tcstub.h
  refactorize and extract stub code needed by helper tools.

  * tools/Makefile.am tools/tcmodinfo.c tools/tcexport.c
  port to new stub code.

  * tools/Makefile.am tools/aud_scan.c tools/aud_scan_avi.c
    tools/avifix.c tools/aviindex.c tools/avimerge.c tools/avimisc.c
    tools/avisplit.c tools/avisync.c tools/buffer.c tools/rawsource.c
    tools/tcmp3cut.c
  add format helper trailer.

  * docs/man/tcmodinfo.1
  minor fixes.

  * added file: tools/tcmodchain.c

  * tools/Makefile.am
  new helper, still experimental, tool to let the user check the
  compatibility between some modules before to load transcode.
  Manpage will be added soon.

2006-11-11 Francesco Romani <fromani at gmail dot com>
  * Added file: libtc/tcformat.h
  Add known formats specifier much like already done for codecs.

  * libtc/tcmodule-info.h
  Add supported formats for modules, useful for de/multiplexors.

  * libtc/libtc.h libtc/tccodecs.c libtc/tcmoduleinfo.c
  Since we have now TCCodecID, use it instead of plain `int'.

  * libtc/tcmodule.c
  fill format fields for dummy internal class too.

  * encode/encode_copy.c encode/encode_faac.c encode/encode_lame.c
    encode/encode_lzo.c encode/encode_null.c encode/encode_x264.c
    encode/encode_xvid.c export/export_pvn.c filter/filter_doublefps.c
    filter/filter_levels.c filter/filter_null.c import/import_pv3.c
    import/import_pvn.c import/import_vag.c import/import_x11.c
    import/nuv/import_nuv.c multiplex/multiplex_avi.c
    multiplex/multiplex_null.c multiplex/multiplex_raw.c
    multiplex/multiplex_y4m.c testsuite/test-tcmoduleinfo.c
  switch to TCCodecID/TCFormatID when declaring module properties.
  (In filling TCModuleInfo)

  * encode/encode_lzo.c
  staticize encoder buffer as part as module's PrivateData.

2006-11-11 Andrew Church <achurch at achurch dot org>
  * import/import_pvn.c
  Fix processing of floating-point files with negative maxvals.

  * export/export_pvn.c
  Write grayscale (PV5a) files when -K is given to transcode.

2006-11-09 Andrew Church <achurch at achurch dot org>
  * configure.in
  Add AM_PROG_CC_C_O as requested by automake 1.10.

  * import/import_pvn.c
  Add workaround for broken compilers that can't align stack-based structures
  (and update/clean up the #if's).

2006-11-05 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmodule-plugin.h
  use parameter name in log.

  * libtc/tccodecs.h
  from #define to enum.

2006-11-01 Francesco Romani <fromani at gmail dot com>
  * encode/encode_lame.c encode/encode_lzo.c encode/encode_x264.c
  switch to libtc macros whenever possible (and reasonnable).

  * multiplex/multiplex_avi.c
  provide default fallback fourcc string.

  * import/tcprobe.c
  fix output glitch.

  * encode/encode_lame.c
  properly handle MONO audio.

2006-10-23 Francesco Romani <fromani at gmail dot com>
  * src/framebuffer.c
  enlarge audio buffers too (see new comment) to make
  encoded buffers suitable for encoder flush and make lame happy.
  For post-1.1.0 buffer (size) management really need to be reviewd
  again.

  * src/encoder.c libtc/tcmodule-data.h encode/encode_copy.c
    encode/encode_lame.c
  Introduce flushing support for audio encoder.
  Currently BROKEN (need more testing, and encoder core deserve
  a refactoring and more documentation).

2006-10-23 Francesco Romani <fromani at gmail dot com>
  * import/decode_lavc.c import/extract_avi.c src/probe.c
  TC_CODEC_MPG1 must die (too generic, redundant).

  * encode/encode_copy.c encode/encode_faac.c encode/encode_lame.c
    encode/encode_lzo.c encode/encode_null.c encode/encode_x264.c
    encode/encode_xvid.c
  move return codes to new TC_OK/TC_ERROR

2006-10-21 Andrew Church <achurch at achurch dot org>
  * import/import_vag.c
  Trivial debug message fix.

2006-10-20 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h
  add TC_{OK,ERROR,UNKNOWN} generic enums, so we can
  start to get rid of TC_IMPORT/EXPORT_* counterparts.
  New enums use back-compatible values.

2006-10-19 Francesco Romani <fromani at gmail dot com>
  * src/transcode.c src/transcode.h src/socket.c import/import_dvd.c
  remove vob_t.in_flag field since nobody uses it anymore
  (checked with plain old grep -R).

  * import/tcprobe.c
  implement first draft of new output mode.

2006-10-18 Francesco Romani <fromani at gmail dot com>
  * import/tcprobe.c
  restore old output (well, almost identical :) ) as default
  behaviour for tcprobe, and add a new option to toggle new
  fancy output (not yet implemented), much like raw output mode.

2006-10-17 Andrew Church <achurch at achurch dot org>
  * import/import_pvn.c
  Allow a framerate field of 0 (defaulting to 15 fps), and do not use SSE2
  code if SSE2 acceleration is disabled (--accel) or unavailable.

2006-10-15 Andrew Church <achurch at achurch dot org>
  * acinclude.m4
  Modify TC_PKG_* macros to use variables rather than temporary files
  for package reports.

  * configure.in
  Update another obsolete macro.

2006-10-14 Andrew Church <achurch at achurch dot org>
  * encode/encode_x264.c
  x264 API change: i_rf_constant -> f_rf_constant

  * configure.in
  Check x264 API version; also update obsolete autoconf macros.

2006-10-14 Andrew Church <achurch at achurch dot org>
  * import/import_pvn.c
  Fix divide-by-zero bug with negative maxvals.
  Handle reading from pipes properly.
  Allow "-" for input from stdin.

  * export/export_pvn.c
  Fix typo in module name.
  Handle writing to pipes properly.
  Allow "-" for output to stdout.

  * src/cmdline.c
  Allow "-" as an input filename.

  * src/cmdline_def.h
  Allow "-" as an output filename.

  * src/cmdline.c src/counter.c src/decoder.c src/dl_loader.c src/encoder.c
    src/frame_threads.c src/split.c src/transcode.c
  Make sure all messages go to stderr, and change the "cleanup countdown"
  messages to debug-only output.  (Raw progress meter data, with
  --progress_meter 2, still goes to stdout.)

  * src/transcode.c
  Always default to --progress_meter 1, since it no longer pollutes stdout.

2006-10-13 Andrew Church <achurch at achurch dot org>
  * configure.in export/aud_aux.c
  Drop support for versions of LAME before 3.93.

2006-10-12 Andrew Church <achurch at achurch dot org>
  * configure.in
  Fix libpostproc test; also work around insane stupidity in avformat.h
  (declaring as deprecated structures the header itself uses?? WTF??)

  * import/import_ffmpeg.c
  Revert to pre-9/15 version, as the avformat code causes some input
  frames to be dropped (resulting in corrupt video).

2006-10-12 Andrew Church <achurch at achurch dot org>
  * export/Makefile.am import/Makefile.am import/fileinfo.c import/magic.h
    import/probe_stream.c import/tc.h src/probe.c
    Added: export/export_pvn.c import/import_pvn.c import/probe_pvn.c
  Rewrite and restore PVN import and export modules, at the request of
  Jacob (Jack) Gryn (jgryn at cse dot yorku dot ca).

2006-10-11 Francesco Romani <fromani at gmail dot com>
  * encode/encode_faac.c
  implement 'quality' module option.

2006-10-11 Andrew Church <achurch at achurch dot org>
  * INSTALL configure.in encode/Makefile.am libtc/tccodecs.h
    multiplex/multiplex_avi.c
    Added: encode/encode_faac.c
  Add preliminary FAAC encoding module (doesn't seem to work properly yet).

  * encode/encode_lame.c
  Cosmetic fixes.

2006-10-11 Andrew Church <achurch at achurch dot org>
  * Makefile.am configure.in
    Removed: contrib/*
  Remove outdated/obsolete contrib directory.

  * AUTHORS docs/man/tcdecode.1
    Removed: libac3/*
  Remove libac3, as no problems have been reported without it.

  * src/transcode.c
  Remove old command-line handling code (already #ifdef'd out).

  * src/cmdline_def.h
  Rename --import_as and --export_as to --import_with and --export_with,
  to reflect that they name modules, not formats; also edit some help
  strings.

  * encode/Makefile.am
  Fix typo.

  * encode/encode_lame.c
  Ensure local data is initialized correctly.

2006-10-09 Andrew Church <achurch at achurch dot org>
  * encode/encode_x264.c encode/x264.cfg
  Add support for new x264 parameters: interlacing (handled automatically),
  direct_8x8, bidir_me, dct_decimate, ssim.  Also add keyint_max as an
  alias for keyint.

  * libtc/cfgfile.c
  Fix handling of flag options.

2006-10-09 Andrew Church <achurch at achurch dot org>
  * encode/Makefile.am
    Added: encode/encode_lame.c
  Add LAME encoding module.

2006-10-09 Andrew Church <achurch at achurch dot org>
  * acinclude.m4 configure.in
  Rename TC_C_ATTRIBUTE_FORMAT and HAVE_ATTRIBUTE_FORMAT to
  TC_C_GCC_ATTRIBUTES and HAVE_GCC_ATTRIBUTES, and test for the "unused"
  attribute as well.

  * libtc/cfgfile.c libtc/libtc.h libtc/optstr.h
  Use the new define name.

  * libtc/tcmodule-code.h libtc/tctimer.h
  Add __attribute__((unused)) before static functions in headers.

  * encode/encode_x264.c
  Set x264 acceleration flags based on transcode's flags, and add extra
  checks for output buffer overflow (because the x264 library currently
  doesn't check).

  * multiplex/multiplex_avi.c
  Add MP2 (audio) to list of allowed codecs.

2006-10-09 Andrew Church <achurch at achurch dot org>
  * libtc/cfgfile.c libtc/cfgfile.h
  Add module_read_config_line() (bad name...) to parse an arbitrary string
  as if it were a configuration file line.

  * encode/encode_x264.c
  Allow x264.cfg options to be specified as module options in -y
  (-y x264=name1=value1:name2=value2:...).

2006-10-09 Andrew Church <achurch at achurch dot org>
  * encode/encode_x264.c encode/x264.cfg
  Rewrite the x264 parameter processing code entirely.  A few option names
  have been changed (not a big deal since they were already different from
  mencoder), the "turbo" option has been removed (since changing options
  between passes can confuse the rate control), and x264.cfg has been
  replaced with a full, commented list of options.

2006-10-08 Andrew Church <achurch at achurch dot org>
  * encode/encode_x264.c
  Check for NTSC 24fps and 60fps as well as 30fps.

  * src/cmdline_def.h
  Set vob->ex_m_string on "-y ,,mmod=opts".

  * src/transcode.c
  Fix some uninitialized fields in vob_t.

2006-10-08 Andrew Church <achurch at achurch dot org>
  * configure.in
  Fix typo in --enable-pv3 handling.

  * import/import_pv3.c
  Fix small bug in file handling.

  * import/w32dll.c
  Fix compilation problem with recent Linux kernels.

2006-10-08 Francesco Romani <fromani at gmail dot com>
  * import/import_oss.c
  change setting sample rate ioctl to avoid misbehaviour
  with nasty OSS-compatible sources like saa7134 card.
  There isn't yet a clean way to detect limited devices
  just like saa7134.
  minor (mostyle cosmetical) fixes.

2006-10-07 Francesco Romani <fromani at gmail dot com>
  * libtc/tccodecs.h
  add LPCM codec id. As soon as I'll shore that no longer
  code relies on actual *value* of identifiers (see TC_MAGIC_*
  usage) I'll very happily move all those #define into a much
  nicer enum.

  * libtc/libtc.h libtc/tccodecs.c
  prepare land to replace codec2str, aformat2str and other
  (duplicated) code found on src/*.
  Review again a little codecs table, adding TC_CODEC_ `kind'
  (audio, video, both...) and using more sensible comments.

2006-10-06 Andrew Church <achurch at achurch dot org>
  * import/import_ffmpeg.c
  Fix bug in colorspace conversion.

2006-10-06 Francesco Romani <fromani at gmail dot com>
  * export/export_yuv4mpeg.c
  STYLEish cleanup.
  chroma mode must be specified.

  * src/probe.c
  select audio import module to v4l2 if video import module is v4l2
  too in order to improve synchronization.
  For post-1.1.0 a better and more generic synchronization code
  is definitively needed.

2006-10-06 Andrew Church <achurch at achurch dot org>
  * import/v4l2/import_v4l2.c
  Fix typo bugs in V4L2 device capability checking.

2006-10-03 Andrew Church <achurch at achurch dot org>
  * src/cmdline_def.h
  Fix parsing of command line options containing spaces.

2006-09-29 Andrew Church <achurch at achurch dot org>
  * aclib/img_yuv_rgb.c
  Added support for converting between all RGB formats and all YUV formats.

  * libtcvideo/tcvideo.c libtcvideo/tcvideo.h
  Change tcv_convert() to take two image pointers, source and destination,
  rather than a single image that is then modified in place.  (The same
  pointer can be used for both source and destination.)

  * encode/encode_xvid.c export/export_mpeg2enc.c export/export_raw.c
    export/export_xvid4.c export/export_yuv4mpeg.c filter/filter_ascii.c
    filter/filter_facemask.c filter/filter_logo.c filter/filter_msharpen.c
    filter/filter_smartbob.c filter/filter_smartdeinter.c
    filter/filter_whitebalance.c import/import_pv3.c
  Use the new tcv_convert() calling format.

  * export/export_dv.c export/export_dvraw.c export/export_ffmpeg.c
    export/export_im.c export/export_ppm.c filter/filter_fieldanalysis.c
    filter/filter_msharpen.c filter/filter_smartbob.c
    filter/filter_smartdeinter.c filter/filter_xsharpen.c
    filter/preview/filter_pv.c filter/tomsmocomp/filter_tomsmocomp.c
    filter/tomsmocomp/filter_tomsmocomp.h import/Makefile.am
    import/decode_dv.c import/decode_lavc.c import/import_bktr.c
    import/import_dv.c import/import_ffmpeg.c import/x11source.c
    import/x11source.h import/v4l/import_v4l2.c src/video_trans.c
  Use tcv_convert() rather than ac_imgconvert() where possible.

  * testsuite/test-imgconvert.c
  Minor acceleration-related cleanups.

2006-09-29 Andrew Church <achurch at achurch dot org>
  * filter/Makefile.am
    Removed: filter/filter_clone.c
  Remove "clone" filter, as the only thing it does (15->25fps conversion)
  is done better by modfps, it's not documented, and Google says it's not
  in use anyway.

2006-09-29 Andrew Church <achurch at achurch dot org>
  * import/tcxmlcheck.c src/probe.c
  Change XML probing code to use a two-way pipe to tcxmlcheck rather than
  sharing memory across two executions (untested).

2006-09-29 Andrew Church <achurch at achurch dot org>
  * src/cmdline_def.h
  Make sure that -T t,c selects only a single chapter, regardless of any
  previous -T options.

  * src/framebuffer.h
  Minor comment update.

2006-09-28 Andrew Church <achurch at achurch dot org>
  * src/cmdline_def.h
  Fix -y setting multiplex module to the wrong value.

2006-09-28 Andrew Church <achurch at achurch dot org>
  * export/aud_aux.c export/export_ffmpeg.c export/export_raw.c
    pvm3/export_pvm_slave.c src/socket.c src/transcode.c src/transcode.h
  Rename vob->out_flag field to vob->audio_file_flag.

  * src/cmdline_def.h
  Fix -m (vob->audio_file_flag was not being set).

2006-09-28 Andrew Church <achurch at achurch dot org>
  * configure.in
  Fix library order error in libavformat test, while wishing that linkers
  would finally get smart enough to resolve symbols regardless of order...

  * src/cmdline_def.h
  Fix "-T 1,-1".

2006-09-27 Andrew Church <achurch at achurch dot org>
  * import/Makefile.am
  Ensure that X11 libraries are linked into tcprobe as well as import_x11.

  * src/cmdline_def.h
  Use named constants in struct option (also working around a bug in GCC
  3.4.6).  Also fix a bug causing the first character of module option
  strings to get cut off.

2006-09-26 Francesco Romani <fromani at gmail dot com>
  * import/x11source.c
  resync prototypes with/without X11 import support.

2006-09-25 Francesco Romani <fromani at gmail dot com>
  * import/probe_ffmpeg.c
  first bits of ffmpeg-based probing. CODEC_ID translation
  still missing.

2006-09-24 Francesco Romani <fromani at gmail dot com>
  * added file: docs/LIBRARIES

  documentation deserve some attention as well, so introduce
  a little overview of our internal new fancy libraries
  organization.

2006-09-23 Francesco Romani <fromani at gmail dot com>
  * import/probe_stream.c import/Makefile.am
  Don't use anymore existing TS probing code, it hurts more than it helps.
  Such code will replaced wit libavformat-based code soon.

  * added file: import/probe_ffmpeg.c

  * import/tc.h import/probe_stream.c import/Makefile.am
  Add foundation to probe streams using libavcodec/libavformat.

  * filter/filter_levels.c filter/filter_logo.c
  Add format helper trailer.

  * export/export_dvraw.c
  audio samples fix derived from
  http://bugs.gentoo.org/show_bug.cgi?id=146307

2006-09-20 Francesco Romani <fromani at gmail dot com>
  * src/cmdline.c src/cmdline_def.h
  add no_colored_log option (should be self-explicative).
  Still not update manpage since I'm not enthusiast about naming.
  Also note that unlike other transcode option the usage order for
  this function MATTERS, I'd like to improve this if feasible.

  * src/transcode.c
  Do not use colours directly in printf.

  * libtc/libtc.h
  update libtc_setup documentation.

2006-09-19 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h libtc/tc_functions.c
  (start to) introduce libtc_setup() to tune up libtc
  behaviour (=disable coloured tc_log*, yet).

2006-09-15 Andrew Church <achurch at achurch dot org>
  * src/transcode.c
  Revert tc_malloc change (the use of plain malloc is intentional, as
  this is called before any libtc-related setup is performed, particularly
  before any future --color or similar command line option is processed).

2006-09-15 Francesco Romani <fromani at gmail dot com>
  * src/cmdline.c
  make gcc happy on amd64

  * src/transcode.c
  use tc_malloc instead plain malloc in new_vob

  * configure.in
  bump up libavcodec requirements and check for libavformat too.

  * import/Makefile.am import/import_ffmpeg.c
  rewrite module almost enterely by adding libavformat support.
  Audio import will come later, and directory mode will
  be reintroduced soon.

  * import/import_x11.c import/probe_x11.c
    import/x11source.c import/x11source.h
  Let X11Source to emit frames in YUV formats too (still testing).

2006-09-14 Andrew Church <achurch at achurch dot org>
  * AUTHORS
  Update maintainer list.

  * src/filter.c
  Remove outdated comments.

  * src/transcode.c
  Update version message, and do lots more STYLEish fixes.

  * testsuite/Makefile.am
  Add newtest.pl to distribution list, and add test-{low,high,all} targets
  for running tests.

2006-09-14 Andrew Church <achurch at achurch dot org>
  * docs/architecture.txt docs/clone.txt docs/filter-API.txt
    filter/filter_32drop.c filter/filter_ascii.c filter/filter_compare.c
    filter/filter_cpaudio.c filter/filter_denoise3d.c filter/filter_dnr.c
    filter/filter_facemask.c filter/filter_hqdn3d.c filter/filter_invert.c
    filter/filter_levels.c filter/filter_logo.c filter/filter_logoaway.c
    filter/filter_msharpen.c filter/filter_normalize.c filter/filter_null.c
    filter/filter_smartdeinter.c filter/filter_smartyuv.c
    filter/filter_smooth.c filter/filter_testframe.c filter/filter_text.c
    filter/filter_unsharp.c filter/filter_xsharpen.c
    filter/divxkey/filter_divxkey.c filter/preview/filter_pv.c
    filter/subtitler/filter_subtitler.c filter/yuvdenoise/filter_yuvdenoise.c
    filter/yuvdenoise/filter_yuvmedian.c src/encoder-buffer.c
    src/tc_defaults.h
  Get rid of compatibility constants TC_{PRE,POST}_PROCESS, replacing them
  with TC_{PRE,POST}_M_PROCESS.

2006-09-14 Andrew Church <achurch at achurch dot org>
  * filter/preview/filter_preview.c filter/preview/filter_pv.c
    src/encoder-buffer.c src/tc_defaults.h
  Show preview image after all processing, including --post_clip.

  * docs/architecture.txt
  Document new preview filter behavior.

  * src/transcode.c src/transcode.h tools/tcmodinfo.c
  Remove no-longer-needed variables tc_x_preview and tc_y_preview.

2006-09-14 Andrew Church <achurch at achurch dot org>
  * import/tccat.c
  Remove -L option, as it doesn't actually do anything.

  * import/dvd_reader.c
  Remove code to add now-obsolete -L option to tccat command line.

  * export/aud_aux.c
  Remove extraneous (and sometimes broken) sanity check for import audio.

  * src/transcode.c src/transcode.h
  Remove (now-)unused variables tc_decode_stream and tc_encode_stream.

2006-09-14 Andrew Church <achurch at achurch dot org>
  * libtc/framecode.c
  Make set_fc_time() robust against an invalid range parameter.

  * src/audio_trans.c src/cmdline.c src/counter.c src/video_trans.c
  STYLEish fixes.

  * src/decoder.c
  Use fc_time_contains() rather than checking frame ranges manually.

  * src/probe.c src/probe.h
  Add probe_source_xml(), which runs tcxmlcheck to probe data from XML
  files.  Also some STYLEish fixes.

  * src/transcode.c
  Move vob_t initialization code to a separate routine, new_vob().
  Replace old XML probing code with calls to probe_source_xml().
  Various STYLEish fixes.

  * tools/tcexport.c
  Add symbols now needed by probe.c.

2006-09-14 Andrew Church <achurch at achurch dot org>
  * (all files)
  Replaced high-ASCII characters like \xD6 (O-umlaut) with their ASCII
  equivalents in text files and source comments.  (Sorry, ThOe, but I'm
  tired of having to manually set the encoding every time I load transcode
  source files...)

2006-09-14 Andrew Church <achurch at achurch dot org>
  * export/export_ffmpeg.c import/decode_dv.c
  Avoid writing info messages with -q 0.

  * src/counter.c
  Output a newline when counter_off() is called in human-readable counter
  mode.

  * src/encode.c
  Make counter output depend (properly) on --progress_meter, not -q.

  * src/transcode.c
  Disable progress meter by default with -q 0; ensure counter_off() is
  called at exit.

2006-09-13 Francesco Romani <fromani at gmail dot com>
  * libtc/tcframes.c
  Properly initialize vframe_list_t.free field.

2006-09-12 Andrew Church <achurch at achurch dot org>
  * import/import_ffmpeg.c
  Fix video data disappearing when the ffmpeg line stride is the same as
  the frame width.

  * src/cmdline_def.h
  Fix bugs in handling -X, -B, and -Z.

  * src/framebuffer.c
  Force all video frame buffers to maximum size, to avoid crashes with
  -y raw -F rgb.

  * src/video_trans.c
  Add sanity checks on video frame parameters.

  * testsuite/newtest.pl
  Add -T option to assume certain tests have succeeded without running them.
  Also remove test for obsolete -y mjpeg.

2006-09-12 Andrew Church <achurch at achurch dot org>
  * Added files: src/cmdline.c src/cmdline.h src/cmdline_defs.h
  New command line parsing code, allowing option names, descriptions, and
  processing code to be collected in the same place.  The -h option list is
  much cleaner, and option processing itself has been completely rewritten.

  * src/Makefile.am
  Add new files.

  * src/transcode.c
  Hook into new command line parser.  The old code can be re-enabled by
  commenting out the NEW_CMDLINE_CODE #define.

2006-09-11 Andrew Church <achurch at achurch dot org>
  * src/transcode.h
  Add missing external declarations of keepasr, fast_resize, tc_niceness,
  and tc_dvd_access_delay.

  * src/transcode.c
  Eliminate mostly-unused RED/GREEN/etc. string constants, replacing them
  with tclib's COL_RED/COL_GREEN/etc. where necessary.

  * contrib/tccomplete.source docs/man/transcode.1 src/transcode.c
  While we're at it, eliminate the --color option entirely, since it's not
  doing much of anything anyway.

2006-09-10 Francesco Romani <fromani at gmail dot com>
  * import/probe_wav.c
  fix copyright notice and format help trailer.

  * src/tc_defaults.h
  remove no longer used (trusting grep -R :) ) port identifers.

  * src/encoder-buffer.c
  we don't need dl_loader here

  * src/export_profile.c
  minor macro improvement.

  * libtc/libtc.h libtc/tcframes.c
  typos.

  * filter/filter_slowmo.c
  minor updates in more STYLEish direction.

  * testsuite/test-tclog.c
  one more test case.

2006-09-06 Andrew Church <achurch at achurch dot org>
  * import/import_mplayer.c
  Fix a silly copy/paste typo in an error message.

2006-09-01 Andrew Church <achurch at achurch dot org>
  * configure.in
  Ensure that the user-supplied --{enable,disable}-{mmx,3dnow,sse,sse2}
  options are consistent, and don't default to enabling later extensions
  when earlier ones are disabled.

  * aclib/average.c aclib/img_rgb_packed.c aclib/img_yuv_mixed.c
    aclib/img_yuv_packed.c aclib/img_yuv_planar.c aclib/img_yuv_rgb.c
    aclib/memcpy.c aclib/rescale.c
  Obey the --disable-{mmx,sse,sse2} configure options.

2006-08-23 Francesco Romani <fromani at gmail dot com>
  * configure.in
  check for X11 extensions/libraries if and only if X11 support
  is found/requested

  * import/x11source.c
  resync prototypes with/without X11 support.

2006-08-20 Francesco Romani <fromani at gmail dot com>
  * configure.in import/x11source.h
  autodetect presence of XShm extension.

  * import/import_x11.c import/probe_x11.c
    import/x11source.c import/x11source.h
  fix swapped colors (X it's BGRA32 not RGBA32, at least here
  on little-endian-PC-land) and implement (first try of)
  XShm acquisition code.

2006-08-18 Francesco Romani <fromani at gmail dot com>
  * added file: docs/import_x11.txt

  add basic user documentation for new X11 stuff.

2006-08-17 Francesco Romani <fromani at gmail dot com>
  * added files:
    import/import_x11.c import/probe_x11.c
    import/x11source.c import/x11source.h

  * import/Makefile.am import/fileinfo.c import/ioaux.h
    import/magic.h import/probe_stream.c import/tc.h
    import/tcprobe.c src/Makefile.am src/probe.c src/transcode.c

  Enter first version of new, experimental, funny X11 import module.
  Code works (...mostly ;) ), has documentation and stuff, but there
  is some things to consider:
  - multithreading pain with Xlib. Current solution is pretty
    brutal, and requires a hook to transcode core (the annoying
    stuff is that transcode binary too must be linked to Xlib).
    Of course we can do better, and I'm working on a saner locking
    policy as soon as I figure out a couple more of things.
  - autoprobing stuff is pretty brutal and naif too. I'm not
    enthusiast of current solution, I'm working on this too.
    Suggestions welcome.
  - last but not least, the module itself is still pretty simple:
    it just use some simple Xlib functions, so it wastes a good
    amount of bandwith (not Shm nor XV nor DAMAGE extensions or
    other fancy stuff. Yet ;) ), it doesn't grab the pointer,
    supports only 24-bit depth servers and stuff.
    Take a look at import/x11source.? and import/import_x11.c
    to figure out. Of course most of those limitations will
    go away as soon as I get rid of above issues.

    At moment of writing, this module is more a working demo
    than an usable one. Neverthless, I already like it more
    than import_vnc! (no, this isn't because I wrote it :P)

  * libtc/tctimer.c
  cleanup unexpected mess.

  * configure.in
  AM_CONDITIONAL for gettimeofday, needed by timer facilities.

  * ChangeLog docs/module-system-API.txt
    encode/encode_copy.c encode/encode_lzo.c encode/encode_null.c
    encode/encode_x264.c encode/encode_xvid.c
    filter/filter_doublefps.c filter/filter_levels.c filter/filter_null.c
    import/import_pv3.c import/import_vag.c import/nuv/import_nuv.c
    libtc/tcmodule-core.h libtc/tcmodule-data.h libtc/tcmodule-plugin.h
    libtc/tcmodule.c
    multiplex/multiplex_avi.c multiplex/multiplex_null.c
    multiplex/multiplex_raw.c multiplex/multiplex_y4m.c
    tools/tcmodinfo.c

  Yet another (small!) change to NMS API. Slightly improve the
  semantic of inspect() operation since previously both return value
  and status notification was packed on operation return parameter,
  and that's not-so-good. Moreover, having only inspect() operation
  to return not an integer would not allow some useful generic
  common checks and code factorizations.
  After this change, all operations returns success/error via
  return value, and does I/O through parameters.
  Please note that this change DOES NOT modify the behaviour nor
  of module nor of client code since now client code just access
  the inspect()ed informations via an additional constant pointer.
  See code to learn more (hey, it's really simple!) or blame me
  via email ;)

2006-08-16 Francesco Romani <fromani at gmail dot com>
  * added files: libtc/static_tctimer.h libtc/tctimer.c libtc/tctimer.h

  * libtc/Makefile.am
  Add simple (yet) software timer based on nanosleep() and
  gettimeofday() (any sane POSIX platform is suppsoed to ship both
  of them), needed by upcoming X11 import module.

2006-08-03 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmodule-core.h
  prefer static inline functions over old-not-so-good macros.

2006-08-02 Francesco Romani <fromani at gmail dot com>
  * src/export_profile.c libtc/libtc.h libtc/tc_functions.c
  Move some utility functions private to export_profile code (since
  it is the only user of such code, yet) into libtc, so they gain
  better visibility and review.

2006-07-29 Francesco Romani <fromani at gmail dot com>
  * acinclude.m4 configure.in
  fix a couple of glitches in our autostuff (Debian CVS autoconf
  problem hopefully closed). Thanks to 'ak' for hints.

2006-07-24 Francesco Romani <fromani at gmail dot com>
  * encode/encode_x264.c
  update  module to work against lastest x264 build.
  Still needs some care.

2006-07-22 Francesco Romani <fromani at gmail dot com>
  * src/framebuffer.c
  append format/STYLE helper trailer

  * src/encoder-buffer.c
  Documentation update.

  * src/framebuffer.h src/fraembuffer.c
  re-export framebuffer list tail/head, decoder needs them
  Proper (cleaner) solution will follow soon.

2006-07-21 Francesco Romani <fromani at gmail dot com>
  * src/framebuffer.c
  documentation round tw, plus a small enhancement to retrieve
  frame code.

2006-07-20 Francesco Romani <fromani at gmail dot com>
  * src/framebuffer.h
  documentation round one.

  * src/fraembuffer.c
  complain louder whern wrong (NULL) parameters are used.

2006-07-19 Francesco Romani <fromani at gmail dot com>
  * src/encoder.c
  simplify private frame allocation code by switching to
  libtc frame allocation routines (tcframes).
  Reset only attributes field, not the whole frame metadata.

  * multiplex/multiplex_avi.c
  fix everything-is-a-keyframe bug (was ex_{a,v}_codec, NOT
  im_{a,v}_codec!).

  * libtc/libtc.h libtc/tc_functions.c
  drop old tc_{a,v}frame_{del,new}, now we have better replacements.

  * Added file: src/framebuffer.c
  * src/framebuffer.h src/transcode.c src/Makefile.am
  tools/Makefile.am
  Enter the new framebuffer handling code. Works nicely, but it's still
  under testing. Documentation is on the road.

  * Removed files: src/audio_buffer.c src/video_buffer.c
  No longer needed, superceeded by new unified framebuffer code.

  * src/encoder.c
  Don't reset inexistent frame attributes when using OMS modules.

  * import/tcprobe.c
  fix output glitch when displaying audio bitrate only.

2006-07-09 Francesco Romani <fromani at gmail dot com>
  * src/decoder.c
  verbosiness switch.

  * added files: libtc/tcframes.c libtc/tcframes.h
  testsuite/test-framealloc.c

  * libtc/Makefile.am testsuite/Makefile.am
  Add unified, generic, frame allocation helpers.

  * import/extract_yuv.c
  switch to new frame allocation code.

  * configure.in
  recommend to use statbuffers.

  * src/frame_threads.c src/frame_threads.h
  Add flush counter helpers (that will help later
  to reduce framebuffer/core interdependencies and
  to make code more generic).

  * libtc/tcframes.c
  build fixes without static buffers support.

  * filter/preview/filter_pv.c filter/extsub/subtitle_buffer.c
  another couple of build fixes if static buffer support
  isn't enabled. That's a temporary solution, both filters
  deserve some care.

  * tools/rawsource.c tools/tcexport.c
  switch to new frame handling code.

2006-07-08 Francesco Romani <fromani at gmail dot com>
  * import/extract_mpeg2.c
  extend video stream code range to all possible values.

2006-07-06 Francesco Romani <fromani at gmail dot com>
  * configure.in
  fix glitch in libavcodec version detection (#ifdef -> #if).

2006-06-29 Francesco Romani <fromani at gmail dot com>
  * encode/encode_x264.c
  small cleanup: use libtc commodities when feasible, remove
  some magic numbers, temporary disable big buffer (seems to
  be unused, yet), make more NMSish and STYLEish where feasible.

  * src/transcode.c
  slightly stricter check on sanity of ex_asr option.

  * encode/encode_copy.c encode/encode_lzo.c encode/encode_null.c
    encode/encode_xvid.c libtc/ratiocodes.h libtc/tcmodule-core.h
    libtc/tcmodule-data.h libtc/tcmodule-info.h libtc/tcmodule-plugin.h
    multiplex/multiplex_avi.c multiplex/multiplex_null.c
    multiplex/multiplex_raw.c multiplex/multiplex_y4m.c
  Bump copyright year.

2006-06-28 Francesco Romani <fromani at gmail dot com>
  * encode/encode_copy.c encode/encode_lzo.c encode/encode_null.c
    encode/encode_x264.c encode/encode_xvid.c
    multiplex/multiplex_avi.c multiplex/multiplex_null.c
    multiplex/multiplex_raw.c multiplex/multiplex_y4m.c
  No longer mess with {audio,video}_size to pass the encoded
  frame size between encoder and multiplexors. Use brand new
  {audio,video}_len field instead.

  * src/audio_buffer.c src/video_buffer.c
  when copying frames, copy len field too.

  * src/framebuffer.h
  add size VS length explanation and convert a couple of
  #define set to enums.

2006-06-27 Francesco Romani <fromani at gmail dot com>
  * src/video_buffer.c
  don't mess with vframe_list_t.plane_mode (removed with previous
  patch), really nobody cares about it.

  * src/framebuffer.h
  minor cleanup (which breaks ABI, but I think isn't a problem
  since module interface is still a [maybe slowly] moving target).
  Refactorize some common fields of *frame_list_t structures,
  and add 'len' fields, useful for demuxer/decoder and encoder/muxer
  comunications.

  * configure.in
  adapt configure to properly check version of newest libavcodec.
  If anyone has a better fix just send it. ;)

2006-06-25 Francesco Romani <fromani at gmail dot com>
  * src/framebuffer.h src/encoder.c src/transcode.c
    src/video_buffer.c tools/tcexport.c
  drop tc_adjust_frame_buffer and remove
  tc_framw_{width, height}_max symbols. The idea is to reduce both
  module interdependencies and to avoid to use globals; same result
  can be achieved with a very simple API change at vframe_alloc
  function. Anyway, since this change touches a critical area of
  buffer management, an (already ongoing) careful test is needed.

  * src/filter.c
  looks like size field si never used at filter initialization, so
  set it to 0, allowing also to reduce symbol interdependency.

  * filter/filter_unsharp.c
  switch to TC_{MIN,MAX,CLAMP} macros instead to use private ones.

  * libtc/libtc.h
  common naif MIN/MAX/CLAMP macro. More optimization will come if needed
  and where it's needed (aclib? cmov?)

2006-06-21 Francesco Romani <fromani at gmail dot com>
  * added file: encode/xvid.cfg
  sample configuration file (identical to export/xvid4.cfg yet)

  * encode/Makefile.am
  pass proper CFLAGS to encode_x264 module; ship encode_xvid sample
  configuration file

2006-06-20 Francesco Romani <fromani at gmail dot com>
  * import/dvd_reader.c
  fix compilation without libdvdread support.

2006-06-19 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmoduleinfo.c
  tiny fixes/updates after a review of match handling code.

  * import/tcprobe.c
  a couple of fixes: let dvd probe work again with default arguments
  (i.w. without -T) and fix a little regression in bitrate
  suggestion.

2006-06-11 Andrew Church <achurch at achurch dot org>
  * filter/filter_doublefps.c
  Remove unused constants, and handle (re)configuration more cleanly.

2006-06-11 Francesco Romani <fromani at gmail dot com>
  * import/tccat.c
  reformat/make more STYLEish, no functional changes (yet,
  but prepare land for such changes).

  * encode/encode_xvid.c encode/encode_x264.c
  vob->ex_v_codec will be set from core, so don't overwrite it.

  * src/transcode.c docs/man/transcode.1
  change meaning of option -N so can user can (must) choose
  codec to use for exporting when export modules provides more
  than one. At moment of writing, specifying both -N and -y
  it's needed to let the things works, but in future releases
  -y can be deducted from -N.
  Add back-compatibility code

  * testsuite/test-tcmoduleinfo.c
  a few more testcases.

  * libtc/tcmoduleinfo.c
  check for FEATURE_VIDEO/AUDIO too in tc_module_match.

  * src/encoder.c
  add code to promote default formats from loaded encoder
  modules to export formats, so user no longer *needs* (but, of
  course, still cans) to specify/choose them.
  That's a temporary solution until export layer will be fully
  ported to NMS; later this solution will be rediscussed.

2006-06-09 Francesco Romani <fromani at gmail dot com>
  * libtc/tccodecs.c
  make a couple of codec names a little more sane.

2006-06-07 Andrew Church <achurch at achurch dot org>
  * INSTALL configure.in import/Makefile.am
  Add --enable-nuv configure option to explicitly enable/disable
  NuppelVideo support (disabled by default, as it depends on liblzo2).

  * import/import_mplayer.c
  Avoid using the fixed filename "stream.yuv" for the video FIFO, instead
  generating a temporary filename as for audio.

2006-06-06 Francesco Romani <fromani at gmail dot com>
  * import/tcprobe.c
  drop old dirlist code (libtc/iodir) from here and use a
  better and more reliable heuristic for probing directories,
  plus a little output format fix.

  * import/magic.h
  add new magic numbers for MPEG stream subtypes (well, at least
  most common ones), in order to reorder a bit magic numbers.
  Remove a magic number (TC_CODEC_MPG) used only internally.

  * import/fileinfo.c import/ioaux.h
  use new magic ids where appropriate.
  return type of fileinfo should be const.

  * import/probe_stream.c
  support new magic ids, and reformat the source file to make it
  more STYLEish.

2006-06-05 Francesco Romani <fromani at gmail dot com>
  * export/export_raw.c
  drop iodir support here (almost useless) and sanitize a little bit
  pass-through mode, even if this should go away soon.

  * INSTALL
  add a few lines to point out that NUV support requires LZO.

  * src/transcode.c
  temporary disable directory mode. The idea is to drop it enterely
  soon if nothing get broken.

2006-06-05 Andrew Church <achurch at achurch dot org>
  * INSTALL Makefile.am configure.in export/Makefile.am export/aud_aux.c
    import/Makefile.am import/ac3scan.c import/extract_ac3.c
    import/extract_mp3.c import/import_ac3.c import/import_dvd.c
    import/import_vob.c import/scan_pes.c import/tc.h import/tcdecode.c
    import/tcextract.c import/tcscan.c libtc/tccodecs.c libtc/tccodecs.h
    multiplex/multiplex_avi.c src/probe.c src/tc_defaults.h src/transcode.c
    tools/aud_scan.c
  Switch to using liba52 exclusively for decoding AC3 audio, and remove
  -N 0x2001 pseudocodec; drop all use of libac3.

  * Removed: import/decode_ac3.c

2006-06-05 Andrew Church <achurch at achurch dot org>
  * configure.in encode/Makefile.am multiplex/multiplex_avi.c
  * Added files: encode/encode_x264.c encode/x264.cfg
  Add experimental x264 encoder, based on code by Christian Bodenstedt.

  * libtc/tccodecs.h
  Use the fourcc value for TC_CODEC_H264.

  * import/extract_avi.c import/import_ffmpeg.c src/probe.c
  Add h.264 to FFmpeg supported codec list.

2006-06-05 Francesco Romani <fromani at gmail dot com>
  * encode/encode_xvid.c
  more sane setting for PAR for XviD.

  * encode/encode_null.c
  remove softcopy from null encoder. It just emits empty frames,
  now.

2006-06-05 Andrew Church <achurch at achurch dot org>
  * docs/man/transcode.1 src/encoder.c src/transcode.c
  Add support for NMS encoding by adding a multiplexor module to -y:
  -y video,audio,multiplex (e.g. -y xvid,copy,avi)

  * encode/encode_xvid.c
  Make sure to set vob->ex_v_codec.  Also use the XVID_CONFIG_FILE define
  instead of a literal string constant, and use <string.h>, not <strings.h>.

  * import/nuv/import_nuv.c
  Only print frameskip messages for TC_DEBUG.

2006-06-03 Andrew Church <achurch at achurch dot org>
  * import/nuv/Makefile.am import/nuv/import_nuv.c
  Rewrite import_nuv in NMS style, with 100% native transcode code (except
  for RTjpeg).

  * Removed files: import/nuv/LICENSE.Nuppelvideo import/nuv/lzoconf.h
        import/nuv/minilzo.c import/nuv/minilzo.h import/nuv/resampl.h
        import/nuv/resample.c import/nuv/resample.h
        import/nuv/rtjpeg_aud_plugin.c import/nuv/rtjpeg_aud_plugin.h
        import/nuv/rtjpeg_vid_plugin.c import/nuv/rtjpeg_vid_plugin.h
        import/nuv/soxfuncs.c import/nuv/st.h

2006-06-03 Andrew Church <achurch at achurch dot org>
  * libtc/libtc.h libtc/tc_functions.c
  Add tc_realloc().

2006-06-03 Francesco Romani <fromani at gmail dot com>
  * configure.in
  Typo and a couple of tiny fixes.

  * avilib/avilib.h avilib/avimisc.c
  blast AVI_codec2str, since nobody uses it.

  * avilib/static_avilib.h
  don't force linkage of AVI_info.

  * added file: tools/avimisc.c

  * tools/avifix.c tools/aviindex.c tools/avimerge.c tools/avisplit.c
    tools/avisync.c tools/Makefile.am
  move AVI_info to tools/ since avi* tools are the only piece of
  code that actually uses it.

  * removed file: avilib/avimisc.c

  * avilib/Makefile.am avilib/avilib.h
  remove avimisc from avilib since nobody needs it any more.

2006-06-02 Andrew Church <achurch at achurch dot org>
  * docs/import-mods.txt docs/man/transcode.1 import/Makefile.am
  import_nuv now requires liblzo to compile.

  * configure.in import/Makefile.am
  Add --enable-pv3 (disabled by default) to configure, so people who don't
  need import_pv3 don't have to compile it.

2006-06-02 Francesco Romani <fromani at gmail dot com>
  * docs/man/tcprobe.1 docs/man/transcode.1
  time to update tcprobe and transcode manpage to document new mplayer
  probing capabilities. Better late than never! ;)

2006-06-02 Andrew Church <achurch at achurch dot org>
  * import/import_pv3.c
  Fix a bug in handling frames with unusually small amounts of audio.

2006-05-31 Andrew Church <achurch at achurch dot org>
  * import/nuv/Makefile.am import/nuv/import_nuv.c
  Replace rtjpeg_vid_plugin with native code, which handles Nuppel's
  variable frame intervals by cloning frames as needed.

  * import/nuv/import_nuv.c
  We now use YUV plane order, not YVU.

2006-05-28 Francesco Romani <fromani at gmail dot com>
  * docs/man/tcmodinfo.1
  update tcmodinfo man page to cover last (well, not so last ;) )
  changes.

  * tools/tcmodinfo.c
  tiny update to let multiplexors load again.

  * multiplex/multiplex_avi.c multiplex/multiplex_null.c
    multiplex/multiplex_raw.c multiplex/multiplex_y4m.c
  tiny multiplexor update roundup.

  * deleted file: src/info_server.c
  net stream support final removal [9/9]:
  drop info_server code.

  * src/transcode.c src/transcode.h
  net stream support final removal [8/9]:
  never start info_server thread (no longer needed).

  * libtc/libtc.h libtc/tc_functions.c
  net stream support final removal [7/9]:
  remove netstream support in file type guess routines.

  * deleted file: import/probe_socket.c
  net stream support final removal [6/9]:
  finally remove socket probing code.

  * import/fileinfo.c import/magic.h src/probe.c
  net stream support final removal [5/9]:
  TC_MAGIC_SOCKET is no longer known.

  * import/tccat.c
  net stream support final removal [4/9]:
  drop netstream support in tccat.

  * import/probe_stream.c import/tcprobe.c
  net stream support final removal [3/9]:
  drop netstream support in tcprobe.

  * import/Makefile.am src/Makefile.am
  net stream support final removal [2/9]:
  don't build netstream code.

  * configure.in
  net stream support final removal [1/9]:
  drop netstream support configuration switches.

  Rationale for overall move: this code was largely obsolete,
  nobody claimed it from quite long time so this code may be
  already dormant, and it's useless without already dropped
  {im,ex}port_net modules.
  In worst case we reimplement netstream support in a more
  modern and clean way later.

2006-05-27 Francesco Romani <fromani at gmail dot com>
  * deleted file: src/callback.c

  * src/Makefile.am
  frag src/callback.c, now it's useless.

  * src/encoder.c
  merge old-style rotation code too, so it will be easier
  to drop the whole package when NMS-powered export layer
  it's ready.

  * src/encoder.c src/encoder.h
  enter new output rotation support code. It's quite finished
  and API it's almost stable (I'm fairly satisfied of it), but
  this code isn't yet well tested. I'd commit anyway it since

  - it IS NOT used AT ALL in old-style encoder, only in new one,
    so transcode it's supposed to work exactly like before.
  - it is still disabled in testing frontend code (tcexport)

  This code is in fact dormant with this commit, so having
  into CVS will not harm anything. ;)

  * testsuite/test-bufalloc.c testsuite/test-export-profile.c
    testsuite/test-iodir.c testsuite/test-resize-values.c
    testsuite/test-tclog.c testsuite/test-tcmodule.c
    testsuite/test-tcmoduleinfo.c testsuite/test-tcstrdup.c
  Fix typos in header.

2006-05-26 Francesco Romani <fromani at gmail dot com>
  * tools/tcexport.c
  tc_pause*() stuff it's now avalaible through encoder-common,
  so there is no longer need to use a fake symbol here.

  * src/callback.c src/encoder-common.c src/encoder-common.h
  move tc_pause*() code into src/encoder-common, since pausing
  feature it's used only into encoding main loop.
  This move will also allow to src/callback.c rest in peace when
  new rotation code will be in place.

  * src/info_server.c
  don't duplicate privately tc_pwrite, use the one in libtc.
  Side note: info_server.c is still used/useful? Maybe it should
  go away enteraly. I'll investigate on this direction ASAP.

2006-05-25 Francesco Romani <fromani at gmail dot com>
  * src/transcode.c
  switch to new helper function when computing resize parameters.

  * Added file: testsuite/test-resize-values.c

  * testsuite/Makefile.am
  test code for new resize values computation function.

  * src/export_profile.c
  small changes to TCExportInfo -> vob glue code;
  also use new fast resize computation helper.

  * libtc/libtc.h libtc/tc_functions.c
  add a new utility function to compute fast resize parameters.
  API still needs some future work, the algorythm si less or
  more stable and identical to existing old one in src/transcode.c.

2006-05-24 Francesco Romani <fromani at gmail dot com>
  * src/export_profile.c
  use new constant and let the profile specify also par/asr.

  * libtc/tccodecs.h src/tcinfo.h
  Add a few new typedefs in order to further clarify a bit.
  Also add syntethic description of fields in TCExportInfo
  structure.

2006-05-23 Francesco Romani <fromani at gmail dot com>
  * tools/tcexport.c
  better output handling.

  * src/export_profile.c
  smarter logging (better tag handling).

  * export/Makefile.am
  ship new profile data.

  * export/dvd-ntsc.cfg export/dvd-pal.cfg
  small profile fixes (profiles are still experimental)
  and fix athe obvious typo left in.

  * Added files: export/svcd-ntsc.cfg export/svcd-pal.cfg
                 export/vcd-ntsc.cfg  export/vcd-pal.cfg
		 export/xvcd-ntsc.cfg export/xvcd-pal.cfg
  Add more (experimental) profile data.

  * configure.in src/export_profile.c
  {SYS,USER}_PROF_PATH should be $PATH/profiles, not $PATH/profile
  (note the trailing 's').

  * Added files: export/dvd-pal.cfg export/dvd-ntsc.cfg
  Added *experimental* new-style profiles for dvd. *vcd
  profiles will follow soon. Feel free to improve or to
  suggest another place to store they.

  * export/Makefile.am
  install avalaible profiles in transcode's system profiles
  directory (aka PROF_PATH).

  * src/tcinfo.h src/export_profile.c
  add keep_asr flag, useful for already existing export profiles.
  The idea is to drop existing custom resizing code and always
  use (an updated version of) keep_asr code.

2006-05-22 Francesco Romani <fromani at gmail dot com>
  * src/tcinfo.h src/export_profile.c src/export_profile.c
  some internal rearrangements/cleanups, and add support
  for clipping and resizing method decision (fast or standard
  zoom) at profile level. This is hopefully the last needed
  feature for proper profile support.

2006-05-20 Francesco Romani <fromani at gmail dot com>
  * src/export_profile.c
  documentation for internal private functions.
  Maybe tc_strsplit/tc_strfreev should go into libtc?

  * docs/man/tcexport.1
  documentation for new profile support

  * docs/man/transcode.1
  warn about possible future renaming of --export_prof
  (to --export_profile)

  * Added files: src/export_profile.c src/export_profile.h
    testsuite/test-export-profile.c
  add new profile support code with basic documentation and very
  basic testsuite (more to come very soon for both).

  * tools/tcexport.c
  add support for new profile code.

  * configure.in src/Makefile.am tools/Makefile.am
    testsuite/Makefile.am
  Let the user configure the profile data path (needed by new
  profile code).

  * src/tcinfo.h
  As first step of vob_t decomposition effort, introduce a new
  structure, TCExportInfo. This structure will contain all data
  needed to export layer to work properly; so, this structure
  also specifies how exported stream will look like,
  codec/modules/modules options to use and so on.
  Maybe more fields should be removed, or added or renamed: see
  upcoming discussions on transcode-devel.

  * src/video_trans.c
  fix typo in documentation.

2006-05-15 Francesco Romani <fromani at gmail dot com>
  * src/tc_defaults.h libtc/libtc.h
    src/encoder-common.c
  move TC_TRUE/TC_FALSE macro pair into libtc.

2006-05-14 Andrew Church <achurch at achurch dot org>
  * dpcs/man/transcode.1 filter/filter_doublefps.c
  Remove "hq" option (it actually lowered quality), and add "fullheight"
  option to produce full-height frames with successive pairs of frames
  interlaced: (1,2), (2,3), (3,4)...  Also change from a postprocessing
  filter to a preprocessing filter.

  * src/video_buffer.c
  When duplicating buffers, don't overwrite the new buffer's `free' field
  (which deals with the buffer's pointers, not the video frame itself).

2006-05-11 Francesco Romani <fromani at gmail dot com>
  * docs/man/transcode.1 pvm3/vob_pack_unpack.c src/socket.c
    src/transcode.c src/transcode.h
  transcode's --import_v4l is now gone, so vob.station_id and
  vob.chanid. Use chanid and stationd options of import_v4l
  instead, or even better switch to import_v4l2.

2006-05-09 Andrew Church <achurch at achurch dot org>
  * testsuite/newtest.pl
  Write "-V rgb24" the right way.

2006-05-09 Francesco Romani <fromani at gmail dot com>
  * filter/filter_fields.c src/decoder.c testsuite/newtest.pl
    testsuite/test.pl
  remove still living references to --use_rgb option.

  * import/v4l/import_v4l.c
  add two option to select station and channel id instead
  using the corresponding vob fields (so they can be removed
  in incoming patch); partial rewrite to make more STYLEish.
  Add deprecation warning.

  * docs/man/transcode.1
  remove some NON-ascii characters that cause troubles with
  man/less pair on some systems.

  * import/import_bktr.c
  more changes while looking for a boolean option
  from
  optstr_get(options, "my_opt", "")
  to
  optstr_lookup(options, "my_opt")

  * src/transcode.c docs/man/transcode.1
  change usage of option -V by merging --use_rgb and --yuv422 on it;
  now it's possible to select to internal colorspace just using -V.
  Ensure coherent naming of video formats identifiers, and
  also make video format notify to the user a little bit prettier ;).

2006-05-08 Francesco Romani <fromani at gmail dot com>
  * src/Makefile.am
  remove references to src/usage.h

  * Removed file: src/usage.h
  now useless, so removed.

  * src/transcode.c docs/man/transcode.1
  remove some deprecate options.

  * libtc/cfgfile.c
  switch to tc_strstrip and minor code factorization.

2006-05-07 Andrew Church <achurch at achurch dot org>
  * autogen.sh
  Remove, to avoid confusing people (the proper method is autoreconf -f -i).

2006-05-06 Andrew Church <achurch at achurch dot org>
  * filter/filter_smartbob.c
  Remove outdated help text.

2006-05-05 Andrew Church <achurch at achurch dot org>
  * src/filter.c src/filter.h
  Rewrite, using a new tc_filter_* interface.

  * export/export_ffmpeg.c filter/filter_32detect.c filter/filter_compare.c
    filter/filter_denoise3d.c filter/filter_hqdn3d.c filter/filter_levels.c
    filter/filter_logo.c filter/filter_logoaway.c filter/filter_pp.c
    filter/filter_smooth.c filter/preview/filter_pv.c import/import_ffmpeg.c
    src/decoder.c src/encoder-buffer.c src/frame_threads.c src/socket.c
    src/transcode.c src/video_trans.c tools/tcexport.c tools/tcmodinfo.c
  Update for new filter interface.

2006-05-05 Francesco Romani <fromani at gmail dot com>
  * INSTALL
  add xvid-related lines

  * configure.in
  fill and export XVID_LIBS.

  * encode/encode_xvid.c
  cleanup some unexpected garbage.
  remove no longer needed includes.

  * configure.in encode/Makefile.am encode/encode_xvid.c
  add configure option to enable/disable xvid support (requiring
  xvid >= 1.0 (api v4)). Actually only encode_xvid honours this
  option. Conditionally build encode_xvid module only if xvid support
  is enabled.
  Switch to standard dynamic linkage for encode_xvid instead to
  dlopen() libxvidcore.

  * filter/filter_32detect.c filter/filter_decimate.c
    filter/filter_detectclipping.c filter/filter_facemask.c
    filter/filter_fieldanalysis.c filter/filter_fields.c
    filter/filter_ivtc.c filter/filter_logo.c filter/filter_logoaway.c
    filter/filter_msharpen.c filter/filter_slowmo.c
    filter/filter_smartbob.c filter/filter_smartdeinter.c
    filter/filter_smartyuv.c filter/filter_xsharpen.c
    filter/preview/filter_pv.c filter/filter_ascii.c
    filter/yuvdenoise/filter_yuvdenoise.c
    filter/yuvdenoise/filter_yuvmedian.c
  correct a few misuses of opstr_get that causes compiler to
  complain with a message like that
  filter_XXX.c:NNN: warning: zero-length scanf format string
  from
  if (optstr_get(options, "my_opt", "") >= 0) do_something()
  to
  if (optstr_lookup(options, "my_opt") != NULL) do_something()

  * Removed file: import/scan_dv.c
  (see below).

  * import/Makefile.am import/fileinfo.c import/tc.h
  scan_dv.c contains just one function, scan_header_dv, which is
  used only once and only in import/fileinfo.c. Nobody else
  uses it. So, this changeset merge scan_dv.c into fileinfo.c
  and make scan_header_dv private.

  * aclib/Makefile.am export/Makefile.am src/Makefile.am
  remove dead references to moved or removed files.

2006-05-03 Andrew Church <achurch at achurch dot org>
  * libtcvideo/zoom.c
  Use a simple memory copy rather than performing the full calculation loop
  when the pre- and post-resize width or height are the same.

2006-05-02 Andrew Church <achurch at achurch dot org>
  * filter/filter_doublefps.c
  Rewrite, fixing various bugs in the original and adding the ability to
  realign the separated fields vertically (at significant time cost).

  * src/counter.c src/transcode.c
  Display stream time based on export FPS, not import FPS.

  * libtcvideo/tcvideo.c libtcvideo/zoom.c libtcvideo/zoom.h
  Add an "interlaced zoom" mode to tcv_zoom(), in which the two fields of
  an interlaced frame are each zoomed separately.

  * src/socket.c src/transcode.c src/transcode.h src/video_trans.c
  Add support for interlaced zoom mode with -Z WxH,interlaced.

  * docs/filter-help.txt docs/man/transcode.1
  Document the rewritten filter_doublefps and the updated -Z option.

2006-05-02 Francesco Romani <fromani at gmail dot com>
  * import/import_vob.c
  minor cleanup on audio section.
  Allow the user to skip tcdemux on import pipeline if demuxer is
  already disabled (-M 0) using a new option ('nodemux').
  Yes, this is a (quite ugly) workaround until import layer will be
  rewritten.

2006-05-02 Andrew Church <achurch at achurch dot org>
  * configure.in
  Add -Wno-format-zero-length to compiler flags when using -Werror.

  * libtc/optstr.h
  Add format tag to optstr_get() declaration.

  * filter/filter_ascii.c filter/filter_compare.c filter/filter_logo.c
    filter/filter_logoaway.c filter/filter_modfps.c
    filter/filter_normalize.c filter/filter_text.c
    filter/filter_whitebalance.c import/import_pv3.c
  Correct bugs in calling optstr_get().

2006-05-02 Andrew Church <achurch at achurch dot org>
  * avilib/avidump.c avilib/avilib.c avilib/os.h
  Remove checks for Windows, as none of the rest of the code has any.

  * acinclude.m4 configure.in
  Merge OS-checking code back into the main configure.in file, and rename
  the macros to a uniform OS_xxx.  Also add a check for Linux.

  * encode/encode_xvid.c export/divx4_vbr.c export/export_divx5.c
    export/export_xvid4.c filter/Makefile.am filter/preview/filter_pv.c
    filter/tomsmocomp/tomsmocompmacros.h import/a52_decore.c
    import/decode_a52.c import/nuv/st.h libtc/iodir.c libtc/libtc.h
    libtc/tc_functions.c libtc/tcmodule.c pvm3/export_pvm_slave.c
    pvm3/pvm_interface.c pvm3/pvm_interface.h src/dl_loader.c src/filter.c
    tools/tcmodinfo.c
  Use the new macro names.

  * import/Makefile.am
  Add a check for OS_LINUX on import_pv3 (w32dll only works on Linux).

  * avilib.h
  Remove, since it's now unneeded.

2006-05-01 Andrew Church <achurch at achurch dot org>
  * libtcvideo/libtcvideo.c libtcvideo/libtcvideo.h src/video_trans.c
  Allow selection of which field to drop when dropping fields in
  tcv_deinterlace().

  * src/video_trans.c
  Fix double clipping when using --post_clip with filters that clone frames.
  Also eliminate a stray printf().

  * configure.in
  Fix a bug causing compilation conditioned on getopt_long_only() and
  mmap() to fail.

  * import/import_pv3.c src/audio_trans.c src/decoder.c src/video_trans.c
  Set TC_FRAME_IS_OUT_OF_RANGE at decode time, so that the decoder module
  can know when not to bother decoding frames.

2006-05-01 Andrew Church <achurch at achurch dot org>
  * configure.in
    Add checks for sys/mman.h, mmap(), and sysconf(_SC_PAGESIZE).

  * Changed: import/Makefile.am import/import_pv3.c import/probe_pv3.c
             import/probe_stream.c import/tc.h libtc/tccodecs.h src/probe.c
    Added: import/import_pv3.c import/probe_pv3.c
  Add import module for Earth Soft PV3 codec
  (http://earthsoft.jp/PV3/dv.html), using codec DLL for Windows.

  * Added: import/w32dll.c import/w32dll.h import/w32dll-emu.c
           import/w32dll-emu.h import/w32dll-local.h
  Add simplistic Win32 DLL interface, used by import_pv3.

2006-05-01 Andrew Church <achurch at achurch dot org>
  * export/export_mp2.c
  Don't add .mpa to the output filename if it's different from the video
  output filename (i.e. the -m option was given).

2006-04-30 Andrew Church <achurch at achurch dot org>
  * src/tcprobe.c
  Fix a typo causing binary output corruption, and an uninitialized string
  buffer bug causing text output corruption.

2006-04-30 Francesco Romani <fromani at gmail dot com>
  * src/encoder-common.h src/encoder.h
  Documentation update.

  * src/encoder.c
  review handling of verbose setting.

  * libtc/libtc.h
  add a note suggesting when to use tc_log_* and when *printf*.

  * libtc/tccodecs.c
  add informations for generic MPEG format to make tcprobe happier.

  * import/tcprobe.c
  tc_log_* -> printf() for real output.
  print informations for all probed audio tracks when using -R.

2006-04-29 Andrew Church <achurch at achurch dot org>
  * acinclude.m4 configure.in
  Remove unused macro AC_COMPILE_CHECK_SIZEOF.
  Rename all locally-defined AC_* tests to TC_*.
  Move Darwin and BSD tests into new macros, TC_CHECK_{DARWIN,BSD}.
  Remove checks for size_t, off_t, memmove(), and memset().
  Avoid libtool's check for C++ and Fortran compilers.
  Clean up various other things.

2006-04-29 Andrew Church <achurch at achurch dot org>
  * acinclude.m4 configure.in
  Check that the following header files are available, and abort if not:
  errno.h, fcntl.h, limits.h, stdarg.h, stddef.h, stdint.h, stdio.h,
  stdlib.h, string.h, time.h, sys/stat.h, sys/time.h, sys/types.h
  and remove existing checks for these headers.  Also add a check for
  endian.h, which was missing.

  * aclib/ac.h avilib/avilib.h avilib/wavlib.h export/aud_aux.c
    export/divx4_vbr.c export/export_divx5.c export/export_jpg.c
    filter/deinterlace.c filter/filter_32detect.c filter/filter_32drop.c
    filter/filter_astat.c filter/filter_compare.c
    filter/filter_detectsilence.c filter/filter_levels.c
    filter/filter_lowpass.c filter/filter_pp.c filter/divxkey/bitstream.h
    filter/extsub/filter_extsub.c filter/tomsmocomp/TomsMoCompAll.inc
    filter/tomsmocomp/dscaler_interface.h
    filter/tomsmocomp/filter_tomsmocomp.h
    filter/yuvdenoise/filter_yuvdenoise.c
    filter/yuvdenoise/filter_yuvmedian.c filter/yuvdenoise/mjpeg_types.h
    import/ac3scan.c import/extract_ogm.c import/extract_pcm.c
    import/import_oss.c import/tcrequant.c libac3/bitstream.c libtc/libtc.h
    libtc/tc_functions.clibtc/tc_lzo.h libtc/tccodecs.c
    libtc/tcmodule-core.h libtc/tcmodule-data.h libtc/tcmodule-info.h
    libtc/tcmodule-plugin.h libtcaudio/tcaudio.h libtcvideo/tcvideo.h
    pvm3/external_codec.h pvm3/pvm_parser.c src/encoder-buffer.c
    src/encoder-common.c src/encoder.c src/framebuffer.h src/transcode.h
    testsuite/test-acmemcpy-speed.c tools/aud_scan.c tools/aud_scan_avi.c
    tools/aviindex.c tools/tcexport.c tools/tcmodinfo.c
  Remove #if tests for include files listed above, and remove #includes for
  <inttypes.h> and <strings.h>.

2006-04-29 Francesco Romani <fromani at gmail dot com>
  * import/tcprobe.c
  fix a (very) stupid bug in usage of dvd_is_valid() that caused
  a misdetection between dvd images/devices and directories.

2006-04-29 Andrew Church <achurch at achurch dot org>
  * libtc/libtc.h libtc/tc_functions.c
  Move all tc_log() output back to stderr to avoid polluting stdout in
  pipes.

  * import/tcprobe.c
  Change tc_log(TC_LOG_EXTRA) to plain printf() to ensure that the output
  goes to stdout.

2006-04-28 Francesco Romani <fromani at gmail dot com>
  * import/tcprobe.c
  small fixes:
  - check if source is DVD only on demand, no longer always.
  - proper initialize ipipe.factor to 1, at least.

2006-04-28 Francesco Romani <fromani at gmail dot com>
  * import/tcprobe.c
  rewrite almost totally. Highlights:
  - more STYLEish and modularized code.
  - documentation for some functions used internally.
  - add raw output mode like mplayer -identify.
  - standard output format was extended.
    It still looks like the old one, but now it carries more
    informations and it's (hopefully) clearer.
  There is still a lot of room for improvements, but I think really
  better and deeper changes require an overall review/rewrite of the
  whole probing subsystem.

  * libtc/ratiocodes.c libtc/ratiocodes.h
  add annotations about uncertain ASRs.
  rename a macro to achieve better naming conformancy.

  * libtc/libtc.h
  add TC_LOG_EXTRA loglevel.

  * libtc/tc_functions.c
  send low-priority (info, msg, extra) log messages to stdout, not
  to stderr; handle TC_LOG_EXTRA properly.

  * import/dvd_reader.c import/dvd_reader.h
  dvd_verify -> dvd_is_valid.
  Add basic documentation and change return values.

2006-04-26 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h
  add needed pthread.h header.

  * tools/tcexport.c
  add fake reference to tc_socket_poll() to let tcexport compile
  happily.

2006-04-26 Andrew Church <achurch at achurch dot org>
  * configure.in
  Add check for sys/sockets.h include file.

  * src/callback.c src/encoder.c src/socket.c src/socket.h src/transcode.c
  Avoid using a separate thread for control socket handling; check for
  socket events before processing each frame.

2006-04-25 Andrew Church <achurch at achurch dot org>
  * encode/encode_xvid.c
  Avoid depending on xvid being installed.  Reported by
  <mlist4suntong at yahoo dot com>

  * src/filter.c
  Explicitly pass new filter ID to load_plugin() rather than blindly
  assuming it's the highest ID in use.  Also fix bug causing a "load"
  from the control socket to fail if the option string was too long.

2006-04-25 Andrew Church <achurch at achurch dot org>
  * encode/encode_copy.c encode/encode_lzo.c encode/encode_null.c
    encode/encode_xvid.c filter/filter_facemask.c filter/filter_levels.c
    filter/filter_null.c import/decode_ogg.c import/scan_pack.c
    import/tccat.c import/tcdecode.c import/tcdemux.c import/tcextract.c
    import/tcprobe.c import/tcrequant.c import/tcscan.c import/tcxmlcheck.c
    import/tcxpm2rgb.c multiplex/multiplex_avi.c multiplex/multiplex_null.c
    multiplex/multiplex_raw.c multiplex/multiplex_y4m.c tools/avifix.c
    tools/aviindex.c tools/avimerge.c tools/avisplit.c tools/avisync.c
    tools/tcexport.c tools/tcmodinfo.c tools/tcmp3cut.c
  Avoid using tabs for aligning text in strings.

  * STYLE
  Add note that tabs should not be used for aligning text in strings.

2006-04-24 Andrew Church <achurch at achurch dot org>
  * configure.in
  Adjust default warning flags.

2006-04-23 Andrew Church <achurch at achurch dot org>
  * filter/preview/pv.c src/filter.c src/filter.h src/socket.c src/socket.h
    src/transcode.c tools/tcmodinfo.c
  Re-implement control socket handling more cleanly.

  * filter/filter_control.c
  Disable, since it does not work with the new socket code.

  * filter/filter_null.c
  Keep the log message type consistent when displaying help.

  * tools/tcmodinfo.c
  Allos use of transcode control socket regardless of NET_STREAM setting.

2006-04-23 Francesco Romani <fromani at gmail dot com>
  * encode/encode_xvid.c
  remove extra PAR sanity check, because environment MUST
  guarantee that.

  * src/transcode.c
  remove stale printf().

  * src/transcode.c
  review --export_par option handling: use ratiocodes facilities,
  a bit more strict checking, simplify code where feasible.

2006-04-21 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmodule.c
  more STYLEish documentation.

  * export/export_ffmpeg.c export/export_mp2enc.c
    export/export_mpeg2enc.c src/Makefile.am
  drop dangling references to probe_export.h.

  * removed file: src/probe_export.h
  remove the now useless probe_export.h

  * src/transcode.h
  add export_attributes field.

  * src/tc_defaults.h
  add export_attributes flags.

  * src/transcode.c tools/tcmodinfo.c tools/tcexport.c
  no longer export probe_export_attributes symbol.

  * export/export_ffmpeg.c export/export_mp2enc.c export/export_mpeg2enc.c
  switch from probe_export_atrtributes to vob->export_attributes
  (and relative flags)

2006-04-21 Andrew Church <achurch at achurch dot org>
  * import/aux_pes.c import/aux_pes.h import/demuxer.c import/scan_pack.c
    import/scan_pes.c
  Move demuxer-private routine scr_rewrite() from aux_pes.c to demuxer.c,
  probe_sequence() and probe_extension() to scan_pes.c, and
  probe_picext() and probe_group() to scan_pack.c.

  * import/ioaux.c import/ioaux.h import/tccat.c import/tcdecode.c
    import/tcdemux.c import/tcextract.c import/tcprobe.c import/tcscan.c
  Move single-line import_info() directly into each program's
  import_exit(), and add a PID identifier to the message.

  * import/fileinfo.c import/ioaux.h
  Remove unused file_magic().

  * import/ioaux.h
  Remove declaration for nonexistent function open_dir().

  * import/ioaux.h import/seqinfo.h
  Move sync_type_t definition to seqinfo.h (only used in seqinfo.c and
  clone.c).

  * import/clone.c import/dvd_reader.c import/ioxml.c import/ivtc.c
    import/probe_dvd.c import/seqinfo.c
  Remove unneeded #include "ioaux.h".

  * import/ioaux.h import/probe_dvd.c import/tc.h
  Move probe_dvd() declaration to tc.h and change return type to void,
  like other probe_xxx() functions.

  * Changed: import/ioaux.h import/tcprobe.c import/tcscan.c
    Removed: import/bitrate.c
  Move enc_bitrate() into tcscan.c (and put a copy in tcprobe.c until we
  move its scanning code to tcscan instead, where it belongs).

  * Changed: import/ioaux.h import/tc.h import/tccat.c import/tcprobe.c
  * Removed: iodump.c
  Move tccat_thread() into tccat.c, and fileinfo_dir() into tcprobe.c.

  * tools/tcmodinfo.c
  Fix an erroneous #include.

2006-04-21 Francesco Romani <fromani at gmail dot com>
  * libtc/tccodecs.c
  change name of DV video from "dv" to "dvvideo".

  * export/export_ac3.c
  remove unneeded include "probe_export.h".

  * libtc/framecode.c
  tiny compilation fixes on amd64.

  * export/divx4_vbr.c
  partially rewrite to make more STYLEish; also introduce
  a couple of compilation fixes for amd64.

2006-04-20 Andrew Church <achurch at achurch dot org>
  * configure.in
  Use standard largefile macros instead of rolling our own.

  * import/import_yuv4mpeg.c import/iodump.c import/nuv/rtjpeg_aud_plugin.c
    import/nuv/rtjpeg_vid_plugin.c multiplex/multiplex_y4m.c
  Use standard large file interface instead of transitional one.

  * STYLE
  Add note that config.h must be included before any system includes.

  * avilib/avimisc.c avilib/wavlib.c avilib/wavlib.h encode/encode_lzo.c
    export/aud_aux.c export/divx4_vbr.c export/export_*.c
    export/ffmpeg_cfg.c filter/filter_compare.c filter/filter_levels.c
    filter/filter_logo.c filter/filter_logoaway.c
    filter/divxkey/bitstream.c filter/divxkey/bitstream.h
    filter/extsub/subproc.c filter/preview/display.c
    filter/subtitler/subtitler.h filter/subtitler/x11.c
    filter/yuvdenoise/deinterlace.c filter/yuvdenoise/denoise.c
    filter/yuvdenoise/motion.c import/ac3scan.c import/import_im.c
    import/import_imlist.c import/packets.c import/seqinfo.c
    import/nuv/RTjpegN.c import/nuv/RTjpegN.h import/nuv/resample.c
    import/v4l/frequencies.c import/v4l/vcr.h import/v4l/video.c
    libtc/iodir.c libtc/ratiocodes.c libtc/tccodecs.c libtc/tcmoduleinfo.c
    pvm3/*.c src/transcode.c tools/aud_scan.c tools/aud_scan_avi.c
    tools/avifix.c tools/aviindex.c tools/avimerge.c tools/avisplit.c
    tools/avisync.c tools/buffer.c tools/rawsource.c tools/tcmp3cut.c
  Ensure config.h is included (possibly via transcode.h, etc.) before any
  system includes.

  * tools/Makefile.am
  Clean up CFLAGS usage.

2006-04-20 Andrew Church <achurch at achurch dot org>
  * libtc/libtc.h
  Add __attribute__((format())) to tc_log() declaration to catch format
  string problems.

  * acinclude.m4 configure.in
  Add test to check for availability of __attribute__((format())).

  * export/aud_aux.c export/export_ogg.c export/export_xvid4.c
    filter/filter_detectclipping.c filter/filter_lowpass.c
    filter/filter_modfps.c filter/filter_text.c
    filter/filter_whitebalance.c filter/subtitler/object_list.c
    import/decode_dv.c import/import_dvd.c import/import_vag.c
    import/iodump.c import/ioxml.c import/probe_ogg.c
    import/v4l/import_v4l2.c libtc/cfgfile.c libtc/tcmodule.c
    libtcvideo/tcvideo.c src/video_buffer.c testsuite/Makefile.am
    tools/tcexport.c
  Fix bugs in tc_log_XXX() calls.

  * src/tcrequant.c
  Fix potential bug with if statements in macros.

  * configure.in export/export_divx5.c
  Remove extraneous HAVE_DIVX_ENCORE2, using autoconf-set HAVE_ENCORE2_H
  in its place.

  * acinclude.m4 configure.in
  Clean up the configure script:
     - Remove AC_PROG_GCC_TRADITIONAL, as GCC 4 no longer supports
       -traditional.
     - Remove AC_PROG_CXX and AC_PROG_CPP calls, since neither are used.
     - Remove AC_TRY_CXXFLAGS, since it is not used.
     - Remove AC_SUBST(CFLAGS), since CFLAGS is automatically exported.

2006-04-19 Andrew Church <achurch at achurch dot org>
  * export/* filter/* import/*
  [f]printf() -> tc_log_XXX() and perror() -> tc_log_perror() changes.

  * filter/subtitler/Makefile.am
  Rearrange files in alphabetical order.

  * filter/tomsmocomp/filter_tomsmocomp.c
  sprintf -> tc_snprintf() changes.

  * import/tcscan.c
  Abort on invalid syntax in -e parameter.

2006-04-19 Francesco Romani <fromani at gmail dot com>
  * testsuite/test-ratiocodes.c
  rewrite and extend.

  * libtc/ratiocodes.c libtc/ratiocodes.h
  refactor and generalize tc_*_code_{from,to}_ratio, providing back
  compatibility macro goodies. Add support for par ratios/codes.

  * docs/man/tcexport.1
  rewrite some statements, add return value section

  * tools/tcexport.c
  review return value handling.

  * docs/module-system-API.txt
  One more word of caution about multithreading and tcmodule.

  * tools/tcmodinfo.c tools/tcexport.c
  add right include file and call tc_config_dir() both to enforce
  config directory and to request static linkage of new configuration
  handling code.

2006-04-18 Andrew Church <achurch at achurch dot org>
  * export/export_raw.c
  Add "-y raw=avi" option to force AVI output format with -P 1 and MPEG2
  video.

2006-04-18 Andrew Church <achurch at achurch dot org>
  * Changed: import/Makefile.am import/demuxer.h import/scan_pes.c
             import/tcdecode.c libtc/tccodecs.h src/probe.c
             src/tc_defaults.h
  * Added: import/import_vag.c
  Add import module for PlayStation/PS2 ("VAG") format audio.

2006-04-18 Andrew Church <achurch at achurch dot org>
  * export/aud_aux.c
  Properly determine whether import audio is available or not.

2006-04-18 Francesco Romani <fromani at gmail dot com>
  * export/aud_aux.c export/export_ffmpeg.c import/import_ffmpeg.c
    pvm3/export_pvm_slave.c src/transcode.c tools/tcexport.c
    tools/tcmodinfo.c
  init_avcodec_lock -> new libtc libavcodec locking.
  also protect with locking avcodec_open() calls.

  * libtc/libtc.h libtc/tc_functions.c
  misc updates;
  introduce libavcodec lock, will replace init_avcodec_lock;
  strip documentation of functions according to last STYLE changes;
  correct return value of tc_log and resync function documentation.

2006-04-18 Andrew Church <achurch at achurch dot org>
  * import/a52_decore.c import/ac3scan.c import/aux_pes.c import/clone.c
    import/decode_a52.c import/decode_ac3.c import/decode_lavc.c
    import/decode_lzo.c import/decode_mov.c import/decode_mp3.c
    import/decode_mpeg2.c import/decode_ogg.c import/decode_yuv.c
    import/demux_pass.c import/demuxer.c import/dvd_reader.c
    import/extract_ac3.c import/extract_dv.c import/extract_lzo.c
    import/extract_mp3.c import/extract_mpeg2.c import/extract_ogm.c
    import/extract_pcm.c import/extract_rgb.c import/extract_yuv.c
    import/fileinfo.c import/import_avi.c import/import_bktr.c
    import/import_dv.c import/import_dvd.c import/import_ffmpeg.c
    import/import_mov.c import/import_ogg.c import/ioaux.c import/ioaux.h
    import/iodump.c import/ioxml.c import/ivtc.c import/mpg123.c
    import/packets.c import/probe_bktr.c import/probe_bsdav.c
    import/probe_dvd.c import/probe_im.c import/probe_mov.c
    import/probe_nuv.c import/probe_ogg.c import/probe_oss.c
    import/probe_socket.c import/probe_stream.c import/probe_sunau.c
    import/probe_v4l.c import/probe_vnc.c import/probe_wav.c
    import/probe_xml.c import/scan_dv.c import/scan_pes.c import/seqinfo.c
  [f]printf() -> tc_log_XXX() changes.

  * libtc/libtc.h
  Add tc_log_perror() macro, doing the same thing as perror() but via
  tc_log_error().

  * STYLE
  Add guidelines on printing messages from transcode (and modules, etc).
  Comments appreciated.

2006-04-18 Andrew Church <achurch at achurch dot org>
  * export/Makefile.am filter/Makefile.am import/Makefile.am
  More compilation flag cleanup.

  * configure.in avilib/avidump.c avilib/avilib.c avilib/avimisc.c
    encode/Makefile.am export/Makefile.am export/aud_aux.h export/*.c
    filter/Makefile.am filter/*.c filter/divxkey/Makefile.am
    filter/divxkey/filter_divxkey.c filter/extsub/Makefile.am
    filter/extsub/filter_extsub.c filter/preview/Makefile.am
    filter/preview/filter_preview.c filter/preview/filter_pv.c
    filter/subtitler/Makefile.am filter/subtitler/subtitler.h
    filter/tomsmocomp/Makefile.am filter/tomsmocomp/filter_tomsmocomp.h
    filter/yuvdenoise/Makefile.am filter/yuvdenoise/filter_yuvdenoise.c
    filter/yuvdenoise/filter_yuvmedian.c import/Makefile.am import/*.c
    libtc/Makefile.am multiplex/Makefile.am multiplex/multiplex_y4m.c
    pvm3/Makefile.am src/Makefile.am src/callback.c src/encoder.h
    testsuite/Makefile.am testsuite/test-bufalloc.c testsuite/test-iodir.c
    testsuite/test-ratiocodes.c testsuite/test-tclog.c
    testsuite/test-tcmodule.c testsuite/test-tcmoduleinfo.c
    testsuite/test-tcstrdup.c tools/Makefile.am tools/aud_scan_avi.h
    tools/avifix.c tools/aviindex.c tools/avisplit.c tools/avisync.c
    tools/rawsource.c
  Add explicit directory names to avilib/wavlib/aclib/libtc includes, and
  eliminate the relevant CFLAGS variables.

  * aclib/Makefile.am
  Remove bizarre -DLINUX from compilation flags.

  * testsuite/test-imgconvert.c
  Remove unneeded sighandler_t type usage.

2006-04-18 Andrew Church <achurch at achurch dot org>
  * configure.in pvm3/pvm_parser.h testsuite/Makefile.am
  Clean up stuff missed in previous updates.

2006-04-18 Andrew Church <achurch at achurch dot org>
  * Makefile.am configure.in
  Don't process the libdldarwin subdirectory if not on a Darwin machine.

  * configure.in filter/preview/Makefile.am import/Makefile.am
    src/Makefile.am tools/Makefile.am
  Change DLDARWININCL and DLDARWINLIB to the more standard
  DLDARWIN_CFLAGS and DLDARWIN_LIBS.

  * Changed: libdldarwin/Makefile.am
    Removed: libdldarwin/dummy.c
  Dummy file no longer needed.

2006-04-18 Andrew Church <achurch at achurch dot org>
  * Changed: docs/Makefile.am
  * Added: docs/RELNOTES-0.6.13
  * Removed: docs/release-notes/README-0.6.13
  Move solitary file into main documentation directory.

  * Removed: docs/release-notes/*
  Remove empty directory.

2006-04-17 Andrew Church <achurch at achurch dot org>
  * configure.in
  Remove unused automake variables: HAVE_FOMIT_FP, NET_STREAM, and
  HAVE_DIVX_ENCORE2.

  * export/Makefile.am filter/Makefile.am import/Makefile.am
    src/Makefile.am
  Clean up, sorting targets alphabetically and removing unneeded variables.
  Also make use of target_CPPFLAGS to shorten the compilation command line.

2006-04-17 Andrew Church <achurch at achurch dot org>
  * Changed: configure.in filter/Makefile.am
  * Added: filter/filter_pp.c
  * Removed: filter/pp/*
  Move filter_pp from filter/pp subdirectory to main filter directory.

2006-04-17 Andrew Church <achurch at achurch dot org>
  * Changed: libtc/Makefile.am src/Makefile.am src/transcode.c
  * Added: libtc/getopt.c libtc/getopt.h libtc/getopt1.c
  * Removed: libsupport/getopt.c libsupport/getopt.h libsupport/getopt1.c
  Move getopt_long() repalcement code from libsupport to libtc.

  * Changed: Makefile.am configure.in tools/Makefile.am
  * Removed: libsupport/*
  Remove now-empty libsupport.

2006-04-17 Andrew Church <achurch at achurch dot org>
  * Removed: libioaux/*
  Remove now-unused libioaux.

  * configure.in
  Oops, missed a libioaux reference.

2006-04-17 Andrew Church <achurch at achurch dot org>
  * Added: libtc/cfgfile.c libtc/cfgfile.h
  Add new configuration file processing code to libtc.

  * encode/encode_xvid.c export/Makefile.am export/export_ffmpeg.c
    export/export_xvid4.c export/ffmpeg_cfg.c export/ffmpeg_cfg.h
    libtc/Makefile.am
    pvm3/Makefile.am pvm3/tcpvmexportd.c src/Makefile.am src/tc_defaults.h
    src/transcode.c tools/Makefile.am tools/tcexport.c tools/tcmodinfo.c
  Use the new code in place of the old libioaux code.

  * import/v4l/Makefile.am import/v4l/video.c
  Remove dependency on libioaux; temporarily disable the .xawtv parsing
  code, which used it.  Change code to not modify brightness/etc. settings
  if no specific values are available.

  * Makefile.am
  Remove libioaux from the list of directories to process.

  * configure.in
  Remove libioaux-related stuff, add a check for the presence of strtof().

2006-04-17 Francesco Romani <fromani at gmail dot com>
  * testsuite/test-framecode.c
  tiny compilation fix for amd64.

  * libtc/tccodecs.c libtc/tccodecs.h
  small STYLE conformancy update and documentation add.

  * libtc/ratiocodes.h libtc/libtc.h libtc/ratiocodes.c
  move TC_NULL_MATCH macro to libtc.h since it's of general
  interest.

2006-04-17 Andrew Church <achurch at achurch dot org>
  * testsuite/Makefile.am
  Add aclib test programs as Makefile targets.

  * testsuite/test-acmemcpy.c
  Rewrite to test all available functions at once, and to limit the block
  sizes tested to useful ranges; also optimize the testing routine.

  * testsuite/test-acmemcpy-speed.c
  Rewrite to use a constant test time rather than a constant number of
  iterations (requires setitimer()); output results in a MB/sec chart.

  * testsuite/test-imgconvert.c
  Rewrite to use the linked-in aclib rather than including the relevant
  source files directly; check all available acceleration types at once
  when -C is used, and print test names with -C -v.

  * aclib/ac.h aclib/accore.c
  Allow calling ac_init() multiple times to change the set of acceleration
  features to be used.

2006-04-17 Andrew Church <achurch at achurch dot org>
  * Added: testsuite/test-acmemcpy.c testsuite/test-acmemcpy-speed.c
           testsuite/test-imgconvert.c
    Removed: aclib/test-memcpy.c aclib/test-memcpy-speed.c
             aclib/test-imgconvert.c
  Move aclib test programs to testsuite directory.

2006-04-17 Andrew Church <achurch at achurch dot org>
  * testsuite/Makefile.am
  Rename executables from "test_*" to "test-*" to match source file names.

2006-04-17 Andrew Church <achurch at achurch dot org>
  * libtc/framecode.c
  Fix several critical bugs in framecode handling, and allow error messages
  from new_fc_time_from_string() to be suppressed.

  * testsuite/Makefile.am
    Added: testsuite/test-framecode.c
  Add test program for libtc framecode handling.

2006-04-16 Francesco Romani <fromani at gmail dot com>
  * tools/tcmodinfo.c
  #defines -> enum, better defaults for vob_t fields.

  * tools/tcexport.c
  move some #defines to a enum, fix a typo and update interface to
  last rawsource changes.

  * tools/rawsource.c tools/rawsource.h
  conform rawsource interface to last changes to encoder buffer handling.

  * Removed file: src/encoder-buffer.h
  * src/encoder-buffer.c src/encoder.h src/transcode.c
  Simplify handling of encoder buffer reference; encoder-buffer.h is gone

  * src/encoder-common.h
  strip function header documentation.

2006-04-15 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmodule-plugin.h filter/filter_levels.c
  symbol reduction: CONF_STR_SIZE is gone (rednundant), can be
  safely replaced by TC_BUF_MIN.

  * import/extract_yuv.c libtc/libtc.h libtc/tc_functions.c
    tools/rawsource.c
  prepend "tc_" to {a,v}frame_{new,del} for conformancy with libtc
  style.

  * libtc/libtc.h
  more documentation.

2006-04-12 Francesco Romani <fromani at gmail dot com>
  * Removed file: src/frc_table.h
  * libtc/libtc.h libtc/tc_functions.c
  removed tc_detect_{frc,asr} functions and src/frc_table.h since
  they are now useless.

  * filter/filter_modfps.c import/aux_pes.c import/extract_avi.c
    import/extract_yuv.c import/probe_bsdav.c import/probe_mov.c
    import/probe_mplayer.c import/probe_ogg.c import/tcscan.c
    src/probe.c src/transcode.c tools/tcexport.c
  switch from tc_detect_{asr,frc}/frc_table to new ratiocodes
  functions.

  * libtc/tc_functions.c
  minor cleanup: move to malloc/free to tc_* counterparts in
  tc_test_program; also remove dead alloca.h include.

  * libtc/libtc.h src/tc_defaults.h src/transcode.h
  documentation roundup in libtc.h;
  move TC_BUF_* macro declarations from tc_defaults to libtc since
  they are utilities rather than core constants.
  move version() declaration in transcode.h.

  * Added files: libtc/ratiocodes.h libtc/ratiocodes.c
    testsuite/test-ratiocodes.c
  * libtc/Makefile.am testsuite/Makefile.am
  Add unified ratio/code handling code (will replace
  tc_detect_{asr,frc}), frc_table and co.

2006-04-11 Francesco Romani <fromani at gmail dot com>
  * libtc/iodir.c libtc/iodir.c libtc/optstr.h libtc/static_xio.h
    libtc/static_optstr.h libtc/tc_lzo.h libtc/tcmodule-plugin.h
    libtc/xio.h libtc/tc_functions.c
  Minor cleanup.

2006-04-10 Andrew Church <achurch at achurch dot org>
  * libtc/framecode.c libtc/framecode.h
  Write new framecode handling code.

  * filter/filter_skip.c libioaux/Makefile.am libioaux/static_libioaux.h
    libtc/Makefile.am src/transcode.h tools/avisplit.c
  Use new framecode handling code.

  * libioaux/framecode.c libioaux/framecode.h libioaux/framecode.l
  Remove old framcode handling code.

2006-04-09 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmoduleinfo.c
  fix a format string error.

  * libtc/tc_lzo.h
  add missing TC_LZO_HDR_SIZE macro; also force fields
  of tc_lzo_header structure to given size (should be the
  same size implicitely adopted on i386, but more tests are
  needed).

  * Added file: encode/encode_lzo.c

  * encode/Makefile.am
  add EXPERIMENTAL NMS lzo2 encoder module.

2006-04-09 Francesco Romani <fromani at gmail dot com>
  * Added file: libtc/tc_lzo.h

  * Removed file: export/tc_lzo.h
  Move tc_lzo header to libtc since it's used even outside of export
  layer. Also extend it a little bit.

  * import/decode_lzo.c import/import_lzo.c export/export_lzo.c
  update code to new header.

2006-04-09 Andrew Church <achurch at achurch dot org>
  * export/export_mp2enc.c export/export_mpeg2enc.c
  Remove useless "init-v" info messages.

  * export/export_mov.c testsuite/Makefile.am testsuite/test-tcmoduleinfo.c
  Fix autoconf/compilation warnings and errors.

2006-04-09 Francesco Romani <fromani at gmail dot com>
  * encode/Makefile.am encode/encode_xvid.c
  add EXPERIMENTAL NMS XviD encoder module.

  * encoder-buffer.c encoder-buffer.h encoder-common.c encoder-common.h
    encoder.c encoder.h
  trailing spaces removal roundup.

  * tools/tceport.c tools/rawsource.c tools/rawsource.h
  trailing spaces removal roundup and minor review.

  * docs/man/Makefile.am
  install tcexport manpage.

  * Added file: docs/man/tcexport.1
  add a basic tcexport manpage.

2006-04-08 Francesco Romani <fromani at gmail dot com>
  * Added files: multiplex/multiplex_avi.c multiplex/multiplex_y4m.c
  introduce other missing multiplexors avalaible.
  Those two multiplexors are still experimental and still needs
  some further work, test and debug.

  * multiplex/multiplex_raw.c
  we don't need to declare errno.

2006-04-08 Francesco Romani <fromani at gmail dot com>
  * Makefile.am configure.in
  add new encode/ and multiplex/ directories to build system.

2006-04-08 Francesco Romani <fromani at gmail dot com>
  * Added files: encode/encode_null.c encode/encode_copy.c
                 encode/Makefile.am multiplex/multiplex_null.c
		 multiplex/multiplex_raw.c multiplex/Makefile.am
  Added minimum set of NMS-compliant encoder and multiplexor
  modules. More NMS modules will follow soon.

2006-04-08 Francesco Romani <fromani at gmail dot com>
  * tools/rawsource.c tools/rawsource.h tools/tcexport.c
  update rawsource code (and client code) to the very
  last revision, that builds and works with current code in CVS.

2006-04-08 Francesco Romani <fromani at gmail dot com>
  * Added files: tools/rawsource.c tools/rawsource.h
                 tools/tcexport.c
  * tools/Makefile,am
  enter new helper tool: tcexport.
  tcexport is a the-simplest-thing-that-works style frontend for
  new encoder code. It acts as testbed for new NMS encoder code
  and features until all interested export module are ported,
  and so we can start using new-style encoder code even into
  transcode main binary.

  The biggest flaw of tcexport at this time is the lack of a
  manpage. I'll take care ASAP as part of documentation
  writing/update effort.

2006-04-08 Francesco Romani <fromani at gmail dot com>
  * export/export_xvid4.c
  update export_xvid4 module to work with enhanced old-style encoder
  provided by new NMS-enabled encoder.

  * src/Makefile.am src/transcode.c src/transcode.h src/callback.c
    src/filter.h src/socket.c
  update code in src/ to work with NMS-enabled encoder.

2006-04-08 Francesco Romani <fromani at gmail dot com>
  * Added files: encoder-buffer.c encoder-buffer.h
                 encoder-common.c encoder-common.h
 * encoder.c encoder.h
 Enter NMS-enabled encoder. New encoder provides compatibility code
 that largely uses (an enhannced version of) old-style encoder and
 old style export modules.

 This code basically works (I've used for some time on my system
 for every-day transcode usage), but it's still a work-in progress.
 It needs documentation, a cleanup and a reimplementation of
 frame boundaries and output rotation handling code.

 I'll take care fixing missing things above ASAP.

2006-04-07 Francesco Romani <fromani at gmail dot com>
  * libioaux/static_libioaux.h
  start to add *fc_time* functions.

  * import/clone.c filter/extsub/filter_extsub.c
  prepare to merge NMS encoder, part 2/2: include main encoder header file
  where access to frame counters is needed.

  * src/tc_defaults.h
  prepare to merge NMS encoder, part 1/2: add some new macros needed by NMS

2006-04-04 Francesco Romani <fromani at gmail dot com>
  * import/import_lzo.c export/export_lzo.c
  cosmetic fix in tc_log*() usage.

  * src/transcode.c tools/tcmp3cut.c tools/aviindex.c
    avilib/avidump.c avilib/avilib.c export/divx4_vbr.c
    import/tcscan.c
  make signedness of some variables more coherent with old code
  before the off_t -> long long correction.
  Perhaps The Right Thing To Do (tm) is to switch to (u)int64_t.

2006-04-03 Francesco Romani <fromani at gmail dot com>
  * import/tcscan.c
  oops, forgot to update this one for the off_t VS long long issue.

  * avilib/avilib.h avilib/avimisc.c
  mark const as return value for AVI_codec2str.
  Rearrange avilib/avimisc.c (stylish/cosmetic changes, no
  functional ones).
  Maybe avilib/avimisc.c should be merged into avilib/avilib.c.

  * INSTALL
  mark mjpegtools 1.8.0 as the minimum supported version
  (released 2005-09-25).

  * libtc/libtc.h
  little spacing cosmetic fix.

  * avilib/avidump.c avilib/avilib.c export/divx4_vbr.c
    src/transcode.c tools/tcmp3cut.c tools/aviindex.c
  Fix compilation warnings on amd64, like the following
  example.c: In function 'something':
  example.c:6: warning: format '%llu' expects type 'long long unsigned
               int', but argument 2 has type 'off_t'
  This is a bit weird to me since on amd64 we have
  sizeof(long long)   = 8
  sizeof(off_t)       = 8

  * tools/Makefile.am tools/tcmodinfo.c
  really link libioaux against tcmodinfo.

2006-04-02 Andrew Church <achurch at achurch dot org>
  * filter/filter_levels.c filter/filter_null.c
  Fix compilation warnings.

  * tools/tcmodinfo.c
  Remove #include "libioaux/static_libioaux.h", since libioaux is not
  linked into tcmodinfo.

2006-04-02 Francesco Romani <fromani at gmail dot com>
  * docs/module-system-api.txt
  update NMS companion documentation.

  * libtc/tcmodule-core.h libtc/tcmodule-data.h libtc/tcmodule.c
  resync with last NMS code.

  * filter/filter_levels.c filter/filter_null.c
  update NMS testing/example filters.

  * tools/tcmodinfo.c
  remove dead option and add helper includes needed for correct
  linking.

2006-04-02 Francesco Romani <fromani at gmail dot com>
  * tools/Makefile.am
  link tcmodinfo to wavlib too.

  * added file: libioaux/static_libioaux.h
  add static linkage header helper for libioaux.

2006-04-01 Francesco Romani <fromani at gmail dot com>
  * import/Makefile.am import/extract_yuv.c
  Fix compilation if mjpegtools not avalaible.

2006-03-30 Francesco Romani <fromani at gmail dot com>
  * import/ioaux.h import/ioaux.c import/extract_ac3.c
  move read_tc_time_stamp into extract_ac3.c, and make it private
  (static), since it's the only code that use such function.

2006-03-29 Francesco Romani <fromani at gmail dot com>
  * TODO
  finally delete outdated content.

2006-03-29 Andrew Church <achurch at achurch dot org>
  * Changed: docs/import-mods.txt docs/man/transcode.1 import/Makefile.am
        import/import_xvid.c import/tc.h import/tcdecode.c
  * Removed: import/decode_xvid.c import/xvid3.h
  Remove the broken/obsolete import_xvid module (-x xvid), and replace with
  a dummy module directing users to use -x ffmpeg instead.

2006-03-29 Andrew Church <achurch at achurch dot org>
  * configure.in filter/Makefile.am filter/filter_smartyuv.c
    filter/tomsmocomp/dscaler_interface.h
    filter/tomsmocomp/filter_tomsmocomp.c
    filter/tomsmocomp/tomsmocompfilter.h
    filter/tomsmocomp/tomsmocompfilter_3dnow.c
    filter/tomsmocomp/tomsmocompfilter_mmx.c
    filter/tomsmocomp/tomsmocompfilter_sse.c
    import/a52_decore.c import/decode_ac3.c
  Unify names of inline assembly support ifdefs:
    - {HAVE_ASM_MMX,HAVE_MMX}     -> HAVE_ASM_MMX
    - {HAVE_ASM_3DNOW,HAVE_3DNOW} -> HAVE_ASM_3DNOW
    - {HAVE_ASM_SSE,HAVE_SSE}     -> HAVE_ASM_SSE
    - {HAVE_ASM_SSE2,HAVE_SSE2}   -> HAVE_ASM_SSE2
    - HAVE_PPC_ALTIVEC            -> HAVE_ASM_ALTIVEC]

  * configure.in export/export_dvraw.c
  Assume at least libdv 0.99 (2003/1 release), and remove libdv version
  checks in configure.

  * configure.in import/nuv/st.h
  Remove unused strerror() prototype, and corresponding configure test.

  * configure.in filter/filter_modfps.c
  Avoid use of (and configure test for) lrint(), since rint() was already
  being used.

  * import/dvd_reader.c src/counter.c
  Add #ifdef HAVE_GETTIMEOFDAY around gettimeofday() calls.

  * configure.in
  Remove unused autoconf tests.

  * filter/preview/filter_pv.c
  Use tc_bufalloc() instead of private aligned allocation function.

  * filter/filter_fps.c libtc/tc_functions.c
  Avoid use of alloca() where optimization is not required.

  * filter/preview/filter_pv.c import/decode_a52.c import/decode_xvid.c
    pvm3/pvm_interface.c pvm3/tcpvmexportd.c src/dl_loader.c
  Remove unneeded "#ifdef SYS_BSD" in "const char *error" declarations.

  * filter/preview/display.c filter/preview/pv.c
  Remove unused atexit() code.

2006-03-29 Andrew Church <achurch at achurch dot org>
  * Changed: AUTHORS ChangeLog INSTALL configure.in docs/export-mods.txt
        docs/export_pvm.txt docs/import-mods.txt docs/import-xml.txt
        docs/html/dv.html docs/html/dvd.html docs/html/modules.html
        docs/man/tcdecode.1 docs/man/transcode.1 export/Makefile.am
        export/export_xvid4.c filter/Makefile.am import/Makefile.am
        import/decode_xvid.c import/fileinfo.c import/import_xml.c
        import/import_xvid.c import/ioxml.c import/magic.h
        import/probe_stream.c import/tc.h import/tcdecode.c
        libtc/tccodecs.h pvm3/external_codec.c src/probe.c
        testsuite/newtest.pl
    Removed: export/af6_aux.cpp export/af6_aux.h export/divx4_encore2.h
        export/divx4_encparam.h export/export_af6.conf export/export_af6.cpp
        export/export_debugppm.c export/export_divx4.c export/export_divx4raw.c
        export/export_divx5raw.c export/export_fame.c export/export_mjpeg.c
        export/export_mp1e.c export/export_net.c export/export_pcm.c
        export/export_pvn.c export/export_xvid2.c export/export_xvid3.c
        export/xvid2.cfg export/xvid2.h export/xvid3.cfg export/xvid3.h
        export/xvid_vbr.c export/xvid_vbr.h filter/filter_cshift.c
        filter/filter_cut.c filter/filter_dilyuvmmx.c filter/filter_nored.c
        filter/filter_tc_audio.c filter/filter_tc_video.c filter/filter_test.c
        filter/filter_videocore.c import/af6_decore.cpp import/decode_af6.c
        import/divx_decore.h import/import_af6.c import/import_divx.c
        import/import_ffbin.c import/import_fraps.c import/import_lav.c
        import/import_mpeg3.c import/import_net.c import/import_nvrec.c
        import/import_pvn.c import/import_rawlist.c import/import_sh.c
        import/import_vdrac3.c import/import_yuv.c import/probe_lav.c
        import/probe_pvn.c import/pvn.c import/pvn.h import/pvnglobals.c
        import/pvnglobals.h
  Remove the following modules, all previously disabled:
  -x af6,divx,ffbin,fraps,lav,mpeg3,net,nvrec,pvn,rawlist,sh,vdrac3,yuv
  -y af6,debugppm,divx4,divx4raw,divx5raw,fame,mjpeg,mp1e,net,pcm,pvn,xvid2,xvid3
  -J cshift,cut,dilyuvmmx,nored,tc_audio,tc_video,test,videocore

  * Added: import/xvid3.h
  Add a copy of the former export/xvid3.h for {import,decode}_xvid.c.

2006-03-28 Andrew Church <achurch at achurch dot org>
  * import/import_vnc.c
  Restored the import_vnc module (no longer disabled).

2006-03-26 Francesco Romani <fromani at gmail dot com>
  * avilib/avimisc.c
  drop AVI_file_check (unused, replaced by libtc::tc_file_check).

  * import/ioaux.c import/ioaux.h
  fps2frc is now useless (and replaced by libtc::tc_detect_frc),
  so it's removed.

  * import/extract_avi.c import/probe_lav.c import/probe_mov.c
    import/probe_mplayer.c import/probe_ogg.c
  import/ioaux::fps2frc -> libtc::tc_detect_frc.

  * import/probe_bsdav.c import/extract_yuv.c libtc/libtc.h
    libtc/tc_functions.c src/transcode.c
  rename tc_guess_frc to tc_detect_frc.

  * tools/Makefile.am
  update Makefile to use right audio scanning code in right place.

  * tools/aud_scan_avi.c
  avi specific audio scanning code depends on generic one.

  * tools/tcmp3cut.c
  drop included copy of audio scanning code, use aud_scan.c instead.

  * tools/avimerge.c tools/avisplit.c tools/avisync.c
  add (or replace if needed) specific avi audio scanning code
  header.

  * added files: tools/aud_scan_avi.h tools/aud_scan_avi.c

  * tools/aud_scan.h tools/aud_scan.c tools/Makefile.am
  splitup avi specific aud scanning code from more generic one,
  so the latter can be used in more places (tcmp3cut, yet).

  * tools/avimerge.c
  switch to libtc file check. Now the avilib one is pretty useless
  since nobody uses it (or at least so say a quick grep -Ri).

  * import/extract_avi.c
  avoid to print here stream informations directly from AVI probing
  code. Only tcprobe should print such informations.

  * import/import_yuv4mpeg.c
  make module more silent by default.

  * libtc/tcmodule.c
  english fix. :)

2006-03-20 Francesco Romani <fromani at gmail dot com>
  * configure.in
  _really_ drop last bits of libxio.
  Re-align correctly last Changelog entries.

  * removed files: libxio/Makefile.am libxio/xio.h libxio/libxio.c
  libxio/static_xio.h libxio/
  libxio->libtc integration step 3/3:
  remove libxio directory.

  * export/export_raw.c import/fileinfo.c import/import_avi.c
    import/import_dv.c import/import_mp3.c import/ioaux.c
    import/tccat.c import/tcdecode.c import/tcdemux.c
    import/tcextract.c import/tcprobe.c import/tcrequant.c
    import/tcscan.c src/callback.c src/transcode.c
    libtc/tc_functions.c
  libxio->libtc integration step 2/3:
  update code using libxio.

  * added files: libtc/libxio.c libtc/static_xio.h libtc/xio.h
  libtc/Makefile.am Makefile.am configure.in
  libxio->libtc integration step 1/3:
  move code from libxio to libtc, and update build system accordingly.

2006-03-19 Andrew Church <achurch at achurch dot org>
  * avilib/wavlib.c export/export_mov.c export/export_mp1e.c
    filter/filter_levels.c filter/filter_logo.c filter/filter_null.c
    import/extract_pcm.c import/extract_yuv.c import/import_yuv4mpeg.c
    libtc/tcmodule-core.h testsuite/test-iodir.c testsuite/test-tcmodule.c
    testsuite/test-tcstrdup.c tools/tcmodinfo.c
  Corrected compilation warnings (also fixing an apparent bug in
  export_mov.c).

2006-03-19 Andrew Church <achurch at achurch dot org>
  * docs/module-system-API.txt libtc/tcmodule.c libtc/tcmodule-data.h
  Fixed inconsistencies between NMS API docs, libtc implementation, and
  module implementations.  (Francesco, please check that these changes are
  correct!)

2006-03-19 Francesco Romani <fromani at gmail dot com>
  * import/decode_lavc.c import/import_ffmpeg.c import/tcdecode.c
  update code to use new libtc codecs facilities.

  * libtc/tccodecs.c libtc/tccodecs.h
  update and extend libtc codec information database.

  * tools/Makefile.am tools/tcmodinfo.c
  update tcmodinfo since it's the only piece of code that
  uses new modules code. Yet.

  * testsuite/Makefile.am

  * Added files: testsuite/test-bufalloc.c testsuite/test-iodir.c
  testsuite/test-tclog.c testsuite/test-tcmodule.c
  testsuite/test-tcmoduleinfo.c testsuite/test-tcstrdup.c

  Move test code outside of libtc modules.
  Add a few more tests.

  * libtc/iodir.c
  move away test code.

  * libtc/tcmodule-core.h libtc/tcmodule-data.h libtc/tcmodule-info.h
    libtc/tcmodule.c libtc/tcmoduleinfo.c
  new module code update from NMS branch.

  * libtc/optstr.c
  add formatting hint boilerplate.

  * src/audio_buffer.c src/video_buffer.c src/transcode.c
  reorganize {audio,video} buffer code: a couple of small fixes
  and a massive STYLE conformancy update.

2006-03-18 Francesco Romani <fromani at gmail dot com>
  * libtc/tc_functions.c
  enable vframe_list_t (de)allocator.

  * src/framebuffer.h src/transcode.h
  add helper *frame_list_t initialization macro.
  move some video framebuffer declarations from transcode.h
  to framebuffer.h in order to reduce interdependencies.

  * libtc/tc_functions.c libtc/libtc.h
  libtc update round 1: add a few more utilities to libtc
  (backport from NMS branch)

  * import/extract_yuv.c import/import_yuv4mpeg.c
  always use yuv4mpeg library from mjpegtools, even
  in import layer.
  import_yuv4mpeg rewritten from scratch.

  * avilib/avilib.h avilib/avilib.c
  drop now unused WAVE support code from avilib.

  * export/Makefile.am export/export_mp1e.c export/export_mp2enc.c
    export/export_wav.c
  port export modules to wavlib.

  * src/Makefile.am src/transcode.c
  statically link into transcode main binary wavlib too.

  * added file: avilib/static_wavlib.h
  introduce static linkage helper for wavlib.

  * import/Makefile.am import/extract_pcm.c import/probe_wav.c
  port import layer code to wavlib.

  * configure.in avilib/Makefile.am

  * added files: avilib/wavlib.h avilib/wavlib.c
  introduce helper library to deal with WAVE files.
  basic documentation is included in header file, and wavlib
  does, at time of writing, all what WAVE support code in avilib do.
  In the next few commits all WAVE-related code will be ported
  to wavlib, and WAVE code in avilib will be dropped.

  * filter/filter_logo.c
  add credits for Sebastian Kun <seb at sarolta dot com>

2006-03-12 Francesco Romani <fromani at gmail dot com>
  * tools/Makefile.am
  link tcmodinfo to libpthread too.
  (needed to load filter_extsub et. al.).

2006-03-12 Allan N. Snider <allansnider at istop dot com>
  * filter/extsub/subproc.c filter/extsub/subproc.h
    filter/extsub/filter_extsub.c
  add a (still experimental) "forced" flag to the extsub filter.
  If true, then only subtitles that are forced will be rendered.
  Example: "-J extsub=track=0:forced=1:vertshift=..." etc.
  The default (is of course) off.
  (patched applied on CVS by Francesco Romani)

2006-03-11 Sebastian Kun <seb at sarolta dot com>
  * filter/filter_logo.c
  cleanup and enhancements for `logo' filter.
  Highlights:
  - cleanup the code and conform to new transcode style guideline.
  - allow multiple instances of filter.
  - simplified loop variable calculation.
    Merged rgbswap and !rgbswap loops. Merged Y and UV loops.
  - added support for alpha transparency; added an optional
    parameter 'fade:x-y' that makes the image fade in for x
    frames and fade out for y frames.
    Fixed some type usage (char -> uint8_t).
  - add new UV rescale algorhytm to achieve better results.
    added a new parameter 'hqconv' to control this behavior
    (default off).
  (patched applied on CVS by Francesco Romani)

2006-02-20 Francesco Romani <fromani at gmail dot com>
  * src/encoder.c
  using filter_modfps trigger a nasty bug in new encoder code
  that results in an infinite loop.
  This patch start to fix this issue, but more investigation and
  testing is needed.

2006-01-25 Francesco Romani <fromani at gmail dot com>
  * docs/man/transcode.1
  removed no longer needed -V option from a few examples into
  manpage.

2006-01-18 Andrew Church <achurch at achurch dot org>
  * import/decode_dv.c
  Add a missing #ifdef HAVE_LIBDV to fix compilation when libdv is disabled.

2006-01-15 Francesco Romani <fromani at gmail dot com>
  * src/tc_functions.c
  change file probing policy. Char major 14 is an OSS
  device on Linux, no longer V4L audio.

2006-01-15 Francesco Romani <fromani at gmail dot com>
  * src/probe.c
  typo.

  * import/probe_v4l.c
  remove useless output.

  * src/transcode.c
  make default import modules "null", for clarity.
  Previous default was NULL (nothing), that is resolved in "null"
  but can confuse users.

2006-01-14 Baptiste COUDURIER <baptiste.coudurier at smartjog dot com>
  * filter/filter_text.c
  Add support for rendering text in YUV422 mode.  (Modified patch applied
  by Andrew Church)

2006-01-14 Baptiste COUDURIER <baptiste.coudurier at smartjog dot com>
  * filter/filter_text.c
  Fix position of rendered text in frame.  (Modified patch applied by
  Andrew Church)

2006-01-14 Andrew Church <achurch at achurch dot org>
  * aclib/img_yuv_rgb.c
  Fix bug in SSE2-accelerated YUV444P->RGB24 conversion routine.

2006-01-14 Andrew Church <achurch at achurch dot org>
  * testsuite/newtest.pl
  Add YUV support to video core tests, and test frame padding for -j and -Y.

  * src/video_trans.c
  Fix regressions in -I 1 and -I 5 in YUV mode.

2006-01-13 Andrew Church <achurch at achurch dot org>
  * import/decode_dv.c
  Add automatic detection of libdv PAL decoder mode (YUY2 or planar YUV).

  * import/tcdecode.c
  Add -V option to force YV12 mode for libdv, and default to automatic
  detection.

  * docs/README.dv docs/man/transcode.1 import/import_xml.c src/transcode.c
  Add --dv_yv12_mode to force YV12 mode for libdv, and default to automatic
  detection.

  * export/export_dv.c export/export_dvraw.c
  Accommodate new usage of vob->dv_yuy2_mode.

2006-01-13 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h
  documentation update.

2006-01-13 Andrew Church <achurch at achurch dot org>
  * import/decode_dv.c
  Rewrite into a more legible (and more robust) form.

2006-01-13 Francesco Romani <fromani at gmail dot com>
  * libtc/tc_functions.c
  make tc_log() backend to not abort when going out of memory,
  truncate output instead.

2006-01-13 Andrew Church <achurch at achurch dot org>
  * src/video_trans.c
  Fix a regression causing -I 3 to lose color information in YUV mode.

2006-01-05 Andrew Church <achurch at achurch dot org>
  * src/transcode.c
  Default to ffmpeg instead of mpeg2enc/mp2enc if no import module is
  specified or detected.

2006-01-05 Andrew Church <achurch at achurch dot org>
  * filter/filter_levels.c
  Fix redefinition of CONF_STR_SIZE.

2006-01-01 Francesco Romani <fromani at gmail dot com>
  * export/export_ffmpeg.c libtc/libtc.h libtc/tc_functions.c
  move 'strip' helper function from export_ffmpeg to libtc,
  and rename it tc_strstrip for conformancy and clarity.

2005-12-30 Francesco Romani <fromani at gmail dot com>
  * src/transcode.c

  added file: avilib/static_avilib.h

  introduce static linkage helper header for avilib.
  Start to use such helper header and the one for optstr already on
  libtc in transcode.c.

2005-12-30 Francesco Romani <fromani at gmail dot com>
  * export/export_divx4.c export/export_divx4raw.c export/export_divx5raw.c
    export/export_fame.c export/export_xvid2.c export/export_xvid3.c
    import/import_af6.c import/import_ffbin.c import/import_fraps.c
    import/import_lav.c import/import_mpeg3.c import/import_nvrec.c
    import/import_vdrac3.c
  A few more hints about module to use instead a deprecate one.

2005-12-29 Francesco Romani <fromani at gmail dot com>
  * libtc/tccodecs.c
  insert in tccodecs table a few more codecs (actually formats).

2005-12-29 Francesco Romani <fromani at gmail dot com>
  * filter/filter_levels.c filter/filter_null.c import/probe_mplayer.c
    libtc/iodir.h libtc/libtc.h libtc/tccodecs.c libtc/tcmodule-core.h
    libtc/tcmodule-data.h libtc/tcmodule.c tools/tcmodinfo.c
  trailing whitespaces remove roundup.

2005-12-26 Francesco Romani <fromani at gmail dot com>
  * tools/tcmodinfo.c
  typos.

2005-12-26 Francesco Romani <fromani at gmail dot com>
  * tools/tcmodinfo.c
  update code to conform to last NMS client API.

2005-12-26 Francesco Romani <fromani at gmail dot com>
  * libtc/iodir.h libtc/libtc.h libtc/optstr.h libtc/tccodecs.c
    libtc/tcmodule-core.h libtc/tcmodule-plugin.h libtc/tcmodule.c
  documentation style updates.
  Renamed tc_codec_get_fourcc in tc_codec_fourcc.
  API for NMS renamed, functions name are now simplified.

2005-12-25 Andrew Church <achurch at achurch dot org>
  * export/export_debugppm.c export/export_divx4.c export/export_divx4raw.c
    export/export_divx5.c export/export_divx5raw.c export/export_im.c
    export/export_jpg.c export/export_mov.c export/export_mp1e.c
    export/export_mpeg2enc.c export/export_ppm.c export/export_raw.c
    export/export_xvid2.c export/export_xvid3.c export/export_xvid4.c
    export/xvid4.h export/xvid_vbr.h import/decode_mov.c
    import/demux_pass.c import/demuxer.c import/dvd_reader.c
    import/dvd_reader.h import/import_divx.c import/import_mov.c
    import/import_vnc.c import/import_xvid.c import/ioxml.c import/ioxml.h
    import/probe_mov.c import/seqinfo.c import/seqinfo.h
    import/tcxmlcheck.c import/nuv/rtjpeg_aud_plugin.c
    import/nuv/rtjpeg_aud_plugin.h import/nuv/rtjpeg_vid_plugin.c
    import/nuv/rtjpeg_vid_plugin.h import/v4l/audio.c import/v4l/audio.h
    import/v4l/video.c import/v4l/video.h src/filter.c src/split.c
    src/split.h src/tcinfo.h src/transcode.c src/transcode.h
  Use const char * instead of char * where feasible.

2005-12-25 Andrew Church <achurch at achurch dot org>
  * import/* src/probe.c src/probe.h src/tcinfo.h src/transcode.h
    Added: src/tcinfo.h
  Move the pcm_t and probe_info_t structure definitions from transcode.h to
  probe.h (and rename to ProbeTrackInfo and ProbeInfo respectively); move
  the info_t and decode_t structure definitions to the new file tcinfo.h.

2005-12-25 Andrew Church <achurch at achurch dot org>
  * pvm3/export_pvm_slave.c src/socket.c src/transcode.c src/transcode.h
  Remove unused fields from vob_t: core_a_format, core_v_format,
  ttime_current, accel.

2005-12-25 Andrew Church <achurch at achurch dot org>
  * export/export_ppm.c export/export_pvn.c filter/filter_videocore.c
    import/import_ffmpeg.c src/decoder.c src/socket.c src/transcode.c
    src/transcode.h
  Remove v_bpp field from vob_t since it always has the value BPP.

2005-12-25 Andrew Church <achurch at achurch dot org>
  * src/transcode.h
  Edit to match style guidelines.

2005-12-25 Andrew Church <achurch at achurch dot org>
  * src/transcode.h
  Remove unused macros: always_inline, attribute_used, Malloc, pow2, DD,
  tc_pthread_mutex_lock, tc_pthread_mutex_unlock, tc_pthread_mutex_trylock,
  tc_pthread_cond_wait.

2005-12-25 Andrew Church <achurch at achurch dot org>
  * filter/tomsmocomp/TomsMoCompAll.inc filter/tomsmocomp/filter_tomsmocomp.c
    filter/tomsmocomp/tomsmocompfilter.h
  Remove attribute_used, and fix some compilation warnings.

2005-12-25 Andrew Church <achurch at achurch dot org>
  * export/export_mov.c export/export_pcm.c export/export_raw.c
    filter/divxkey/filter_divxkey.c import/import_ac3.c import/import_dvd.c
    import/import_ffmpeg.c import/import_mp3.c import/import_ogg.c
    import/import_vdrac3.c import/import_vob.c src/probe.c src/probe.h
    src/socket.c src/tc_defaults.h src/transcode.c src/transcode.h
  Refactor src/probe.c; store audio file format in vob_t structure, and
  rename a few fields:
     format_flag   -> v_format_flag
     codec_flag    -> v_codec_flag
     fixme_a_codec -> a_codec_flag

2005-12-25 Andrew Church <achurch at achurch dot org>
  * import/import_mp3.c
  Replace hardcoded codec flag constants with symbolic ones.

2005-12-25 Francesco Romani <fromani at gmail dot com>
  * TODO
  mark contents of TODO file as outdated. Perhaps we should
  just remove or replace enterely this file.

2005-12-25 Francesco Romani <fromani at gmail dot com>
  * docs/man/transcode.1
  remove references for dropped `--ext' option in manpage.

2005-12-25 Francesco Romani <fromani at gmail dot com>
  * import/extract_mp3.c
  remove dead code, #if 0-ed from a long time.

2005-12-25 Andrew Church <achurch at achurch dot org>
  * src/transcode.c
  Improve handling of -f option.

2005-12-25 Andrew Church <achurch at achurch dot org>
  * export/export_ac3.c export/export_ffmpeg.c export/export_mp2enc.c
    export/export_mpeg2enc.c export/export_toolame.c src/probe_export.h
    src/transcode.c
  Remove the --ext command-line option, so that extensions are no longer
  added to the -o and -m filenames (-t, -U, and --dir_mode now always use
  .avi).

2005-12-25 Andrew Church <achurch at achurch dot org>
  * filter/filter_modfps.c import/aux_pes.c import/tcscan.c src/probe.c
    src/probe.h src/transcode.c
  * Added: src/frc_table.h
  Move the frame rate code table into a common header (src/frc_table.h).

2005-12-24 Andrew Church <achurch at achurch dot org>
  * src/probe.c
  Use import_raw instead of import_avi for PCM audio streams.

2005-12-23 Francesco Romani <fromani at gmail dot com>
  * filter/filter_levels.c filter/filter_null.c
  implement NMS stop operation.

2005-12-23 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmodule.c filter/filter_null.c filter/filter_levels.c
  more C99 initializers.

2005-12-23 Francesco Romani <fromani at gmail dot com>
  * libntc/tcmodule-data.h libtc/tcmodule.c
  add `stop' operation for a NMS module. Useful to help core to
  rotate output and to flush encoding/decoding buffers.

2005-12-23 Andrew Church <achurch at achurch dot org>
  * export/export_af6.cpp export/export_debugppm.c export/export_divx4.c
    export/export_divx4raw.c export/export_divx5raw.c export/export_fame.c
    export/export_mjpeg.c export/export_mp1e.c export/export_net.c
    export/export_pcm.c export/export_pvn.c export/export_xvid2.c
    export/export_xvid3.c filter/filter_cshift.c filter/filter_cut.c
    filter/filter_dilyuvmmx.c filter/filter_nored.c filter/filter_tc_audio.c
    filter/filter_tc_video.c filter/filter_test.c filter/filter_videocore.c
    import/import_af6.c import/import_divx.c import/import_ffbin.c
    import/import_fraps.c import/import_lav.c import/import_mpeg3.c
    import/import_net.c import/import_nvrec.c import/import_pvn.c
    import/import_rawlist.c import/import_sh.c import/import_vdrac3.c
    import/import_vnc.c import/import_yuv.c
  Disabled these modules, due to being obsolete, redundant, or otherwise
  unused/useless.

2005-12-23 Andrew Church <achurch at achurch dot org>
  * filter/filter_levels.c filter/filter_null.c libtc/tcmodule.c
    libtc/tcmodule-data.h libtc/tcmodule-info.h libtc/tcmoduleinfo.c
  Use const where feasible, and use C99 named fields in structure
  initializers.  (also minor whitespace and warning cleanups)

2005-12-23 Andrew Church <achurch at achurch dot org>
  * libtc/tcmodule.c
  Fix compilation warnings.

2005-12-23 Andrew Church <achurch at achurch dot org>
  * Changed: Makefile.am configure.in
  * Added: libtcaudio/*
  Add libtcaudio (counterpart to libtcvideo), containing various audio
  processing functions.

  * src/Makefile.am src/audio_trans.c src/audio_trans.h
  Rewrite transcode core audio processing to use libtcaudio.

2005-12-23 Andrew Church <achurch at achurch dot org>
  * docs/man/transcode.1
    src/counter.c src/transcode.c src/transcode.h
  Replace --print_status and --progress_off options with --progress_meter
  and --progress_rate.  --progress_rate does the same thing as
  --print_status (except that CR/LF can no longer be selected);
  --progress_meter selects between no output (0, like --progress_off),
  standard output (1), and machine-friendly "raw" output (2).
  Also change the default progress output to type 0 (none) when stdout
  is not a terminal.

2005-12-22 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmodule-data.h libtc/tcmodule.c
  specialize decode/filter/encode operations to handle
  explicitely audio and video.

2005-12-22 Francesco Romani <fromani at gmail dot com>
  * tools/tcmodinfo.c libtc/tcmodule.c libtc/tcmodule-core.h
  Change some data structure and function names to achieve
  (hopefully) more clarity. Client code updated as well.
  Also updated NMS documentation.

2005-12-22 Andrew Church <achurch at achurch dot org>
  * src/counter.c
  Change some counter field names.

2005-12-22 Andrew Church <achurch at achurch dot org>
  * src/counter.c
  Add "raw" progress counter mode to provide easily parseable output to
  wrapper programs.

2005-12-21 Andrew Church <achurch at achurch dot org>
  * export/export_raw.c
  Fix breakage with -y ...,raw when the -F option is given.

2005-12-21 Francesco Romani <fromani at gmail.com>
  * src/encoder.c src/transcode.c
  let the counter do it's job even without -c option.

2005-12-21 Francesco Romani <fromani at gmail.com>
  * docs/module-system-API.txt
  update the documentation of new module system.

2005-12-21 Andrew Church <achurch at achurch dot org>
  * src/counter.c src/counter.h src/transcode.c
  When using -c, compute completion ratio and ETA over all ranges rather
  than just the current one.

2005-12-21 Andrew Church <achurch at achurch dot org>
  * src/counter.c
  Clean up code and fix minor calculation errors.

  * src/video_trans.c
  Clean up code and add function headers.

2005-12-20 Andrew Church <achurch at achurch dot org>
  * pvm3/export_pvm_slave.c src/counter.c src/counter.h src/encoder.c
    src/transcode.c src/transcode.h
  Rewrite progress counter code, and remove unused tc_progress() function.

2005-12-20 Andrew Church <achurch at achurch dot org>
  * src/encoder.c src/transcode.c
  Clean up -c and progress counter handling.

2005-12-20 Andrew Church <achurch at achurch dot org>
  * import/v4l/video.c
  Remove "recording limited to N frames" info message (should be displayed
  by the core if necessary).

2005-12-20 Andrew Church <achurch at achurch dot org>
  * import/probe_mplayer.c libtc/tccodecs.c
  Warning fixes.

  * libtc/tcmodule.c
  Warning fixes, plus whitespace cleanup and minor string/comment
  clarifications.

2005-12-16 Francesco Romani <fromani at gmail dot com>
  * src/probe.c src/transcode.c
  basic support in transcode main program for probing using external mplayer
  binary, disabled by default. Added a new option to enable on user
  request, as well as (very) basic documentation in manpage.

2005-12-13 Francesco Romani <fromani at gmail dot com>
  * import/Makefile.am import/probe_stream.c import/tc.h import/tcprobe.c

  Added file: import/probe_mplayer.c

  Add (highly experimental) mplayer probe support in tcprobe.
  This code needs some more testing and enhancements.

2005-12-13 Francesco Romani <fromani at gmail dot com>
  * import/magic.h import/fileinfo.c src/tc_defaults.h
  Start to setup infrastructure for mplayer probe support.

2005-12-13 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h libtc/tcmodule-data.h libtc/tcmodule.c
  libtc/tccodecs.c
  Documentation update and some small style fixes.

2005-12-12 Francesco Romani <fromani at gmail dot com>
  * libtc/iodir.h libtc/iodir.c libtc/libtc.h libtc/tc_functions.c
    libtc/tccodecs.c
  Small style fixes.

2005-12-12 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmodule-core.h libtc/tcmodule-data.h libtc/tcmodule-info.h
    libtc/tcmodule-plugin.h libtc/tcmodule.c libtc/tcmoduleinfo.c
  Documentation update and style fixes.

2005-12-12 Francesco Romani <fromani at gmail dot com>
  * filter/filter_levels.c
  Simplify NMS support code.

2005-12-12 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmodule.c
  Fix little (but nasty) memory allocation bug.

2005-12-12 Francesco Romani <fromani at gmail dot com>
  * libtc/Makefile.am tools/Makefile.am tools/tcmodinfo.c

  added files: libtc/tcmodule-core.h libtc/tcmodule-data.h
  libtc/tcmodule-plugin.h libtc/tcmodule.c

  Enter new module system support code. tcmodinfo helper
  tool was adapted to work also with NMS, and two filters
  are ported to test things and to act as rolling demo.

  Documentation will be updated very soon. Code still
  deserve some testing and review, but architecture and API
  are now defined.

2005-12-12 Francesco Romani <fromani at gmail dot com>
  * libtc/tcmoduleinfo.c

  removed file: libtc/tcmoduleinfo.h

  added file: libtc/tcmodule-info.h

  Update extended capabilities code and adapt it to incoming
  introduction of new module system code.

2005-12-12 Francesco Romani <fromani at gmail dot com>
  * libtc/tc_functions.c
  mark test code boundaries.

2005-12-10 Francesco Romani <fromani at gmail dot com>
  * added file: docs/module-system-API.txt

  Documentation for module/plugin system.

2005-12-08 Francesco Romani <fromani at gmail dot com>
  * tools/tcmodinfo.c

  added file: libtc/static_optstr.h

  Introduce helper header like to static_xio.h to make
  symbols avalaible for other binaries different from
  transcode which wants to load modules.

2005-12-07 Francesco Romani <fromani at gmail dot com>
  * libtc/tc_functions.c
  Review tc_str(n)dup implementation

2005-12-07 Andrew Church <achurch at achurch dot org>
  * src/transcode.c
  Don't overwrite user's supplied -Z width when using --export_prof.

2005-12-04 Baptiste Coudurier <baptiste.coudurier at smartjog dot com>
  * import/import_mov.c
  Add YUV422P support and fix I420 import which was previously
  using YV12.
  (patch applied by fromani)

2005-11-26 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h libtc/tc_functions.c libtc/tccodecs.c
  Small style fixes.

2005-11-26 Francesco Romani <fromani at gmail dot com>
  * import/import_ffmpeg.c
  Review internal buffer and colorspace conversion handling,
  to avoid memory corruptions.

2005-11-20 Francesco Romani <fromani at gmail dot com>
  * src/transcode.c
  Multiple typos.

2005-11-20 Francesco Romani <fromani at gmail dot com>
  * export/export_raw.c import/iodump.c libtc/iodir.c
    libtc/iodir.h src/transcode.c
  Dirctory listing code reworked again. API changed
  to make more understandable, some style fixes.

2005-11-18 Francesco Romani <fromani at gmail dot com>
  * tools/tcmodinfo.c
  Make avalaible tcv_init()/tcv_free() to loaded filter
  modules.

2005-11-18 Francesco Romani <fromani at gmail dot com>
  * filter/filter_levels.c
  Some miscelanous bugfixes.

2005-11-18 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h
  In fact, we want to include system types here :).

2005-11-18 Francesco Romani <fromani at gmail dot com>
  * Added file: testsuite/extract-test.sh
  Add helper script to extract embedded tests (in libtc).

2005-11-18 Francesco Romani <fromani at gmail dot com>
  * import/magic.h libtc/libtc.h
  libtc/Makefile.am

  Added files:
  libtc/tccodecs.c libtc/tccodecs.h libtc/tcmoduleinfo.c
  libtc/tcmoduleinfo.h

  Enter new capabilities handling code in libtc.
  tcmoduleinfo.{h,c} is the real capabilities handling code,
  tccodecs.h holds new codecs identifiers (borrowed from
  import/magic.h), and tccodecs.c contains codec helper
  functions.

2005-11-18 Francesco Romani <fromani at gmail dot com>
  * filter/filter_levels.c
  updated levels filter; only internal style changes.

2005-11-18 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h
  we want to include int types, not system types.

2005-11-18 Andrew Church <achurch at achurch dot org>
  * export/Makefile.am filter/Makefile.am
  Don't link modules to aclib (it's already included in the executables).

2005-11-18 Francesco Romani <fromani at gmail dot com>
  * filter/filter_logoaway.c libtc/libtc.h libtc/tc_functions.c
    src/transcode.c libtc/Makefile.am
  Removed file: libtc/tc_func_excl.h
  Move colors macro declarations to libtc/libtc.h, update client
  code, remove a small redundancy from src/transcode.c and finally
  drop tc_func_excl.h, now useless.

2005-11-18 Andrew Church <achurch at achurch dot org>
  * aclib/rescale.c
  Round results instead of truncating for accelerated rescale().

2005-11-18 Andrew Church <achurch at achurch dot org>
  * Changed: export/Makefile.am export/export_dv.c export/export_dvraw.c
             export/export_ffmpeg.c export/export_jpg.c export/export_mjpeg.c
             export/export_mp1e.c export/export_mpeg2enc.c export/export_raw.c
             export/export_xvid2.c export/export_xvid3.c export/export_xvid4.c
             export/export_yuv4mpeg.c filter/Makefile.am filter/filter_ascii.c
             filter/filter_facemask.c filter/filter_logo.c
             filter/filter_msharpen.c filter/filter_smartbob.c
             filter/filter_smartdeinter.c filter/filter_whitebalance.c
             libtcvideo/tcvideo.c libtcvideo/tcvideo.h
    Removed: export/vid_aux.c export/vid_aux.h
  Move tcv_convert() functionality into libtcvideo, and get rid of
  export/vid_aux.[ch].

2005-11-18 Andrew Church <achurch at achurch dot org>
  * filter/extsub/filter_extsub.c import/import_xml.c libtcvideo/tcvideo.c
    libtcvideo/tcvideo.h src/video_trans.c
  Add a "handle" parameter to all libtcvideo functions for proper threaded
  operation, and add functions tcv_init() and tcv_free() to allocate and
  release handles.

2005-11-17 Baptiste COUDURIER <baptiste.coudurier at smartjog dot com>
  * export/export_mov.c
  Use libquicktime's native YUV422P support for --yuv422 instead of
  converting to YUY2.

2005-11-17 Andrew Church <achurch at achurch dot org>
  * import/af6_decore.cpp import/probe_xml.c tools/aviindex.c
  Fix compilation errors and warnings.

2005-11-17 Andrew Church <achurch at achurch dot org>
  * libtcvideo/tcvideo.c libtcvideo/tcvideo.h libtcvide/zoom.c
    libtcvideo/zoom.h
  Rewrite image resize (zoom) code for improvements in both readability and
  execution speed.

2005-11-17 Francesco Romani <fromani at gmail dot com>
  * import/Makefile.am
  avoid unresolved symbols issues in tcdecode.

2005-11-17 Andrew Church <achurch at achurch dot org>
  * src/video_trans.c
  Fix regression in -Z (slow zooming) causing YUV images to lose color.

2005-11-16 Francesco Romani <fromani at gmail dot com>
  * INSTALL
  typo: last ffmpeg formal release was 0.4.9pre1, not 0.9.1pre1.

2005-11-13 Francesco Romani <fromani at gmail dot com>
  * import/af6_decore.cpp import/clone.c import/decode_ac3.c
    import/decode_dv.c import/decode_mov.c import/decode_mp3.c
    import/decode_yuv.c import/demux_pass.c import/demuxer.c
    import/dvd_reader.c import/extract_ac3.c import/extract_dv.c
    import/extract_lzo.c import/extract_mp3.c import/extract_ogm.c
    import/extract_rgb.c import/extract_yuv.c import/frame_info.c
    import/import_divx.c import/import_dv.c import/import_dvd.c
    import/import_ffmpeg.c import/import_fraps.c import/import_im.c
    import/import_mov.c import/import_mpeg2.c import/import_mpeg3.c
    import/import_pvn.c import/import_rawlist.c import/import_vob.c
    import/import_xml.c import/iodump.c import/ioxml.c import/mpg123.c
    import/packets.c import/probe_nuv.c import/probe_ogg.c
    import/probe_socket.c import/probe_xml.c import/seqinfo.c
    import/tccat.c import/tcrequant.c import/tcxpm2rgb.c
    import/v4l/import_v4l2.c import/v4l/vcr.h import/v4l/video.c
  libtc port roundup in import layer; ported code to tc_* helper
  functions. Also removed a couple of questionable dynamic
  allocations of data, and switch to tc_strdup where feasible.

2005-11-13 Francesco Romani <fromani at gmail dot com>
  * docs/man/aviindex.1 tools/aviindex.c
  merge in HEAD an aviindex enhancement patch originally provided
  against 1.0.2 by Mark Nauwelaerts (manauw at skynet dot be).

2005-11-12 Francesco Romani <fromani at gmail dot com>
  * import/import_ffmpeg.c
  little char VS uint8_t cleanup.

2005-11-12 Andrew Church <achurch at achurch dot org>
  * Changed: Makefile.am configure.in filter/extsub/filter_extsub.c
             import/Makefile.am import/import_xml.c import/ioxml.h
             src/Makefile.am src/socket.c src/transcode.c src/transcode.h
             src/video_trans.c src/video_trans.h tools/Makefile.am
    Added: libtcvideo libtcvideo/Makefile.am libtcvideo/tcvideo.c
           libtcvideo/tcvideo.h libtcvideo/zoom.c libtcvideo/zoom.h
    Removed: src/zoom.c src/zoom.h
  Add libtcvideo, to contain core video processing routines, and move
  code from src/video_trans.c (as well as all of src/zoom.[ch]) there.
  The main source, import_xml, and filter_extsub have been modified to use
  the new library.

2005-11-12 Andrew Church <achurch at achurch dot org>
  * filter/filter_nored.c
  Fix a longstanding integer overflow bug in the nored filter.

2005-11-12 Andrew Church <achurch at achurch dot org>
  * aclib/average.c
  Fix off-by-one (actually off-by-32/64) bug in accelerated ac_average()
  functions.

2005-11-12 Andrew Church <achurch at achurch dot org>
  * src/video_trans.c
  Round weight values instead of truncating (fixes a false negative in
  testing).

2005-11-12 Andrew Church <achurch at achurch dot org>
  * aclib/average.c
  Change C and MMX implementations to round like SSE and SSE2
  implementations: (x+y+1)/2 rather than (x+y)/2.

2005-11-12 Andrew Church <achurch at achurch dot org>
  * src/video_trans.c
  Fixed regressions in -k and -r in RGB mode, and in -X/-B/-Z fast, -I, and
  -C.

2005-11-12 Andrew Church <achurch at achurch dot org>
  * Added: STYLE
    Changed: Makefile.am
    Removed: aclib/STYLE.txt
  Store coding style guidelines in CVS, and remove old (outdated) style
  guide in aclib.

2005-11-11 Francesco Romani <fromani at gmail dot com>
  * src/decoder.c src/frame_threads.c
  removed useless inclusion of encoder.h.

2005-11-11 Francesco Romani <fromani at gmail dot com>
  * src/encoder.c src/encoder.h src/framebuffer.h
  merge modular encoder patch, and conform style to new guidelines.
  also make independent framebuffer.h conditionally including
  standard integer definition header.

2005-11-11 Andrew Church <achurch at achurch dot org>
  * avilib/avidump.c
  Fix compilation warnings.

2005-11-11 Andrew Church <achurch at achurch dot org>
  * (everything)
  Remove trailing whitespace from text (s/[ \t]+$//).
  * aclib/*
  Add Emacs/vim style helpers.

2005-11-11 Francesco Romani <fromani at gmail dot com>
  * import/import_vob.c
  set default presentation unit to use in import_vob
  to the first one (# 0),

2005-11-11 Francesco Romani <fromani at gmail dot com>
  * import/v4l/import_v4l.c import/v4l/import_v4l2.c
  port v4l modules to new libtc.

2005-11-11 Francesco Romani <fromani at gmail dot com>
  * avilib/avidump.c
  make some data types of the right wideness both on i386 and on
  amd64. This allow tccat dirmode to work on amd64.

2005-11-10 Francesco Romani <fromani at gmail dot com>
  * filter/filter_compare.c filter/filter_logo.c filter/filter_logoaway.c
    import/import_im.c import/import_imlist.c import/probe_im.c
  Build fixes for some ImageMagick modules.

2005-11-10 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h libtc/tc_functions.c
  style fixes.

2005-11-09 Francesco Romani <fromani at gmail dot com>
  * filter/preview/filter_pv.c
  Add an option to select the Xv port to use.

2005-11-06 Andrew Church <achurch at achurch dot org>
  * docs/man/transcode.1
  Add note that -R 3 doesn't work for ffmpeg mpeg[124] output.

2005-11-06 Andrew Church <achurch at achurch dot org>
  * filter/preview/filter_pv.c filter/preview/pv.c
  Fix processing for YUV422 mode.

2005-11-06 Andrew Church <achurch at achurch dot org>
  * export/export_raw.c import/iodump.c src/transcode.c
  More compilation warning fixes (const issues).

2005-11-06 Andrew Church <achurch at achurch dot org>
  * export/export_im.c filter/filter_compare.c filter/filter_logo.c
    filter/filter_logoaway.c import/import_im.c import/import_imlist.c
    import/probe_im.c
  Fix compilation warnings, and ensure that the correct PACKAGE_* macros
  are available for use.

2005-11-04 Francesco Romani <fromani at gmail dot com>
  * import/af6_decore.cpp
  forgot to include needed 'magic.h' header file

2005-11-04 Francesco Romani <fromani at gmail dot com>
  * export/af6_aux.cpp export/export_ffmpeg.c export/export_mov.c
    export/export_xvid4.c filter/filter_astat.c filter/filter_control.c
    filter/filter_text.c filter/subtitler/load_font.c import/clone.c
    import/v4l/import_v4l2.c libtc/iodir.c libtc/libtc.h
    libtc/tc_functions.c src/callback.c
  enter tc_strdup() and tc_strndup(); there are simple
  reimplementations of libc functions in terms of tc_malloc().
  Client code was updated as well, and test documentation was added.

2005-11-03 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h libtc/tc_functions.c
  Style fixes

2005-11-03 Francesco Romani <fromani at gmail dot com>
  * export/export_raw.c import/iodump.c src/transcode.c
    libtc/iodir.c libtc/iodir.h
  Code reviewed, documented and heavily rewritten. Dropped usage
  of global variables, introduced a new type to hold directory context
  API was changed to make code more reusable, and client code was
  updated as well.

2005-11-02 Francesco Romani <fromani at gmail dot com>
  * libtc/optstr.c libtc/optstr.h
  Code reviewed, updated and documented following our new standard.

2005-11-01 Francesco Romani <fromani at gmail dot com>
  * export/Makefile.am filter/Makefile.am filter/divxkey/Makefile.am
    filter/extsub/Makefile.am filter/pp/Makefile.am tools/Makefile.am
    filter/preview/Makefile.am filter/subtitler/Makefile.am
    filter/tomsmocomp/Makefile.am filter/yuvdenoise/Makefile.am
    import/Makefile.am libtc/Makefile.am src/Makefile.am
    export/export_raw.c src/transcode.c tools/tcmodinfo.c

  Added files: libtc/iodir.c libtc/iodir.h libtc/optstr.c libtc/optstr.h

  Removed files: src/iodir.c src/iodir.h src/optstr.c src/optstr.h

  Moved optstr.{h,c} and iodir.{h,c} to libtc from src/, since they
  are really loosely coupled with transcode main binary, and also
  used in other modules. Updated makefiles accordingly.

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

2005-11-01 Francesco Romani <fromani at gmail dot com>
  * import/decode_dv.c import/decode_lavc.c import/decode_lzo.c
    import/decode_mov.c import/decode_mp3.c import/decode_mpeg2.c
    import/decode_xvid.c import/decode_yuv.c import/demux_pass.c
    import/demuxer.c import/extract_ac3.c import/extract_dv.c
    import/extract_lzo.c import/extract_mp3.c import/extract_mpeg2.c
    import/extract_pcm.c import/extract_rgb.c import/extract_yuv.c
    import/fileinfo.c import/ioaux.c import/ioaux.h import/iodump.c
    import/mpg123.c import/packets.c import/probe_nuv.c import/probe_vnc.c
    import/seqinfo.c import/tcdecode.c import/tcdemux.c import/tcextract.c
    import/tcprobe.c import/tcscan.c import/tcxmlcheck.c import/ts_reader.c
  Finish the migration of import layer code to new I/O auxiliary
  functions, recently moved in libtc from import/ioaux.c; now such
  code lives only in libtc.

2005-10-31 Francesco Romani <fromani at gmail dot com>
  * import/Makefile.am import/a52_decore.c import/ac3scan.c
    import/af6_decore.cpp import/clone.c import/import_dv.c
    import/import_ffmpeg.c import/import_mp3.c import/import_net.c
    import/import_raw.c import/import_rawlist.c import/import_vnc.c
  Start the migration of import layer code to new I/O auxiliary
  functions moved in libtc from ioaux; now some import modules
  no longer need at all ioaux.c.

2005-10-31 Andrew Church <achurch at achurch dot org>
  * export/export_ffmpeg.c
  Print the codec information as an info message, not a warning.

2005-10-31 Andrew Church <achurch at achurch dot org>
  * export/export_af6.cpp
  Minor fixups to initialization code (bitmap parameters were not being
  set properly).

2005-10-31 Andrew Church <achurch at achurch dot org>
  * libtc/libtc.h
  Add extern "C" so C++ sources (export_af6.cpp) can link to libtc.

2005-10-28 Francesco Romani <fromani at gmail dot com>
  * export/Makefile.am export/export_divx4raw.c export/export_divx5raw.c
    export/export_dvraw.c export/export_net.c export/export_pcm.c
    export/export_raw.c export/export_xvid2.c export/export_xvid3.c
    export/export_xvid4.c export/export_yuv4mpeg.c
    libtc/libtc.h libtc/tc_functions.c
  Start to factorize and move with basic documentation in libtc
  some common I/O-related functions used both in export and import
  modules, in order to reduce redundancy and object size.
  Those functions are renamed to conform with libtc naming
  scheme. Soon import modules will be updated too.

2005-10-28 Francesco Romani <fromani at gmail dot com>
  * import/aux_pes.c import/aux_pes.h import/demuxer.c
    import/demuxer.h import/scan_pack.c
  Clean up an out of bound behaviour in probe_picext() and,
  potentially, in probe_group(). Now these functions check
  if have enough buffer space before to do a probe, emitting
  a warning at first probe failed for lack of space, and every
  following N failed probes.
  More work is needed to ensure that similar functions in modified
  files have'nt problems like this.
  PLEASE NOTE that transcode_1.0 branch will adopt a different,
  simpler approach to fix this problem.

2005-10-27 Francesco Romani <fromani at gmail dot com>
  * libtc/tc_functions.c
  Fixed a stupid but really nasty bug which cause
  incorrect (too small) message buffer allocation in tc_log().
  Fixed nasty typo in strlen() usage.
  Embedded basic, commented, test for tc_log()
  Also enlarged static buffer data; this should catch the majority
  of possibile messages without need to allocate a new buffer at
  each call.

2005-10-27 Francesco Romani <fromani at gmail dot com>
  * aclib/test-imgconvert.c aclib/test-memcpy.c
    aclib/test-memcpy-speed.c
  Update compile-command and include config.h in order to
  conditional include stdint.h or sys/types.h (or both);

  also make aclib/test-memcpy.c compile on amd64 (where
  sizeof(int) == 4, sizeof(long) == 8, sizeof(void*) == 8).

2005-10-25 Bryan Mayland <bmayland at leoninedev dot com>
  * export/export_xvid4.c export/xvid4.cfg
  support for full quality first pass in xvid4
  (patch effectively applied by fromani at gmail dot com)

2005-10-22 Jacob Meuser <jakemsr at jakemsr dot com>
  * tools/tcmodinfo.c
  Conditionalize inclusion of stdint.h.

2005-10-22 Jacob Meuser <jakemsr at jakemsr dot com>
  * import/iodump.c
  *BSD don't have lseek64 or off64_t.  lseek and off_t are 64-bit
  clean there.

2005-10-21 Andrew Church <achurch at achurch dot org>
  * export/export_debugppm.c export/export_dv.c export/export_dvraw.c
    export/export_fame.c export/export_ffmpeg.c export/expirt_im.c
    export/export_jpg.c export/export_mjpeg.c filter/filter_smooth.c
    filter/filter_testframe.c import/import_mov.c import/import_rawlist.c
    import/tcextract.c
  Code cleanup.

  * export/export_xvid4.c filter/filter_dnr.c filter/filter_nored.c
    import/import_divx.c import/import_fraps.c import/import_im.c
    import/import_imlist.c import/import_mpeg3.c
  Fix swapping of red and blue.

  * filter/filter_cshift.c
  Fix handling of YUV422/YUV444 images.

  * filter/filter_fields.c
  Update help message for current colorspace processing.

2005-10-21 Andrew Church <achurch at achurch dot org>
  * aclib/img_yuv_rgb.c
  Fix compilation on x86-64.

2005-10-21 Andrew Church <achurch at achurch dot org>
  * INSTALL
  Fix LZO notes to refer to current version (2) of LZO.

2005-10-20 Jacob Meuser <jakemsr at jakemsr dot com>
  * filter/filter_modfps.c
  fix typo

2005-10-20 Jacob Meuser <jakemsr at jakemsr dot com>
  * filter/filter_fps.c
  extraneous format argument

2005-10-20 Jacob Meuser <jakemsr at jakemsr dot com>
  * filter/filter_detectclipping.c
  fix typo

2005-10-20 Jacob Meuser <jakemsr at jakemsr dot com>
  * aclib/ac.h
  not all systems have stdint.h.  might need sys/types.h as well.

2005-10-19 Francesco Romani <fromani at gmail dot com>
  * filter/filter_denoise3d.c filter/filter_hqdn3d.c filter/filter_msharpen.c
    filter/filter_smartbob.c filter/filter_smartdeinter.c
    filter/filter_smartyuv.c filter/filter_text.c filter/filter_unsharp.c
    filter/filter_videocore.c
    libtc/libtc.h libtc/tc_functions.c
  renamed tc_mallocz() to tc_zalloc(), which is more clear;
  updated the client code accordingly.

2005-10-19 Francesco Romani <fromani at gmail dot com>
  * export/export_divx4raw.c export/export_divx5raw.c;
    export/export_dvraw.c export/export_net.c
    export/export_pcm.c export/export_xvid2.c
    export/export_xvid3.c export/export_yuv4mpeg.c
  Removed commented code for p_write, it is already taken
  from ioaux.c.

2005-10-19 Francesco Romani <fromani at gmail dot com>
  * import/Makefile.am import/import_dv.c import/import_ffmpeg.c
    import/import_mp3.c import/import_raw.c
    import/ioaux.c import/ioaux.h
  Eliminate duplication of scan() utility function; it was moved
  on import/ioaux.{c,h}, at least temporary.

2005-10-19 Francesco Romani <fromani at gmail dot com>
  * libvo/
  Remove libvo/, is empty.

2005-10-19 Andrew Church <achurch at achurch dot org>
  * aclib/*
  Change aclib coding style to "tabs prohibited", and expand tabs in aclib
  source files.

2005-10-19 Andrew Church <achurch at achurch dot org>
  * filter/extsub/filter_extsub.c
  Get filter_extsub functional again (minus antialiasing for the moment).

2005-10-18 Francesco Romani <fromani at gmail dot com>
  * filter/filter_29to23.c filter/filter_32drop.c filter/filter_ascii.c
    filter/filter_astat.c filter/filter_compare.c filter/filter_cshift.c
    filter/filter_decimate.c filter/filter_denoise3d.c
    filter/filter_detectclipping.c filter/filter_dnr.c
    filter/filter_doublefps.c filter/filter_facemask.c filter/filter_fields.c
    filter/filter_hqdn3d.c filter/filter_invert.c filter/filter_ivtc.c
    filter/filter_logo.c filter/filter_logoaway.c filter/filter_lowpass.c
    filter/filter_mask.c filter/filter_modfps.c filter/filter_msharpen.c
    filter/filter_nored.c filter/filter_normalize.c filter/filter_resample.c
    filter/filter_smartbob.c filter/filter_smartdeinter.c
    filter/filter_smartyuv.c filter/filter_smooth.c filter/filter_tc_audio.c
    filter/filter_tc_video.c filter/filter_text.c filter/filter_unsharp.c
    filter/filter_videocore.c filter/filter_whitebalance.c
    filter/filter_xsharpen.c
    libtc/libtc.h
  - another filters roundup; switch from malloc() to tc_malloc() and
    from malloc() + memset() to tc_mallocz().
  - remove some unneeded casts
  - moved conditioned malloc.h inclusion on BSD to libtc/libtc.h

2005-10-18 Francesco Romani <fromani at gmail dot com>
  * filter/filter_29to23.c filter/filter_32detect.c filter/filter_32drop.c
    filter/filter_aclip.c filter/filter_ascii.c filter/filter_astat.c
    filter/filter_clone.c filter/filter_compare.c filter/filter_cpaudio.c
    filter/filter_cshift.c filter/filter_cut.c filter/filter_decimate.c
    filter/filter_denoise3d.c filter/filter_detectclipping.c
    filter/filter_detectsilence.c filter/filter_dilyuvmmx.c
    filter/filter_dnr.c filter/filter_doublefps.c filter/filter_facemask.c
    filter/filter_fieldanalysis.c filter/filter_fields.c filter/filter_fps.c
    filter/filter_hqdn3d.c filter/filter_invert.c filter/filter_ivtc.c
    filter/filter_levels.c filter/filter_logo.c filter/filter_logoaway.c
    filter/filter_lowpass.c filter/filter_mask.c filter/filter_modfps.c
    filter/filter_msharpen.c filter/filter_nored.c filter/filter_normalize.c
    filter/filter_null.c filter/filter_resample.c filter/filter_skip.c
    filter/filter_slowmo.c filter/filter_smartbob.c
    filter/filter_smartdeinter.c filter/filter_smartyuv.c
    filter/filter_smooth.c filter/filter_tc_audio.c filter/filter_tc_video.c
    filter/filter_test.c filter/filter_testframe.c filter/filter_text.c
    filter/filter_unsharp.c filter/filter_videocore.c
    filter/filter_whitebalance.c filter/filter_xsharpen.c
    filter/divxkey/filter_divxkey.c filter/extsub/filter_extsub.c
    filter/pp/filter_pp.c filter/preview/filter_preview.c
    filter/preview/filter_pv.c filter/subtitler/filter_subtitler.c
    filter/tomsmocomp/filter_tomsmocomp.c
    filter/yuvdenoise/filter_yuvdenoise.c
    filter/yuvdenoise/filter_yuvmedian.c
  tc_(tag_){info,warn,error} roundup part 6; (now tc_log_*)
  End of tc_log*() crazyness: port almost all filters to tc_log_*() debug
  functions; no typos nor regression known after a quick test.

2005-10-17 Francesco Romani <fromani at gmail dot com>
  * filter/tomsmocomp/filter_tomsmocomp.h
    filter/tomsmocomp/filter_tomsmocomp.c
  compilation fixes

2005-10-17 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h libtc/tc_functions.c
  add a debug guard to tc_bufalloc(), which emits a warning if
  allocation fails. Also add tc_malloc(), tc_mallocz() and tc_free()
  wrappers (all with similar guards). Porting from malloc to
  tc_malloc()/tc_mallocz() will happen very soon

2005-10-17 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h import/import* export/export*
  tc_tag_*() -> tc_log_*(), more clear and more expressive name
  (and this should be the real last one :^) )

2005-10-17 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h libtc/tc_functions.c
    export/export_dv.c export/export_dvraw.c filter/filter_smartyuv.c
    filter/filter_test.c filter/filter_unsharp.c
    filter/extsub/subtitle_buffer.c import/decode_dv.c import/decode_lavc.c
    import/decode_xvid.c import/import_divx.c import/import_ffmpeg.c
    import/import_xvid.c src/audio_buffer.c src/video_buffer.c
  {bufalloc,buffree} -> tc_{bufalloc,buffree} to achieve naming
  conformancy with libtc.

2005-10-16 Andrew Church <achurch at achurch dot org>
  * libtc/libtc.h libtc/tc_functions.c
  Add bufalloc() and buffree() for allocating/freeing aligned buffers.

  * export/export_dv.c export/export_dvraw.c filter/filter_smartyuv.c
    filter/filter_test.c filter/filter_unsharp.c
    filter/extsub/subtitle_buffer.c import/decode_dv.c import/decode_lavc.c
    import/decode_xvid.c import/import_divx.c import/import_ffmpeg.c
    import/import_xvid.c src/audio_buffer.c src/video_buffer.c
  Use libtc bufalloc()/buffree() instead of private functions.

  * filter/yuvdenoise/filter_yuvdenoise.c
  Rename private bufalloc() (which is just an error-checked malloc() call)
  to avoid collision with libtc bufalloc().

2005-10-16 Andrew Church <achurch at achurch dot org>
  * import/import_ffmpeg.c
  Fix bug in bufalloc() causing memory corruption.

2005-10-16 Francesco Romani <fromani at gmail dot com>
  * import/import_pvn.c import/import_raw.c import/import_rawlist.c
    import/import_sh.c import/import_sunau.c import/import_vdrac3.c
    import/import_vnc.c import/import_vob.c import/import_xml.c
    import/import_xvid.c import/import_yuv.c import/import_yuv4mpeg.c
  tc_(tag_){info,warn,error} roundup part 5; finish port import modules
  (except for obvious typos)

2005-10-16 Francesco Romani <fromani at gmail dot com>
  * import/import_ffmpeg.c import/import_fraps.c import/import_im.c
    import/import_lav.c import/import_lzo.c import/import_mov.c
    import/import_mp3.c import/import_mpeg2.c import/import_mpeg3.c
    import/import_mplayer.c import/import_net.c import/import_nvrec.c
    import/import_ogg.c import/import_oss.c
  tc_(tag_){info,warn,error} roundup part 4; more import modules

2005-10-16 Francesco Romani <fromani at gmail dot com>
  * libtc/Makefile.am
  _really_ remove my own obsolete style guide

2005-10-16 Francesco Romani <fromani at gmail dot com>
  * import/import_ac3.c import/import_af6.c import/import_avi.c
    import/import_bktr.c import/import_bsdav.c import/import_def.h
    import/import_divx.c import/import_dv.c import/import_dvd.c
    import/import_ffbin.c
  tc_(tag_){info,warn,error} roundup part 3; started port of import
  modules

2005-10-16 Francesco Romani <fromani at gmail dot com>
  * export/export_ac3.c export/export_divx5.c export/export_dvraw.c
    export/export_mp1e.c export/export_net.c export/export_pcm.c
    export/export_raw.c export/export_xvid2.c export/export_xvid3.c
    export/export_xvid4.c
  more tc_*() debug/fixes/typos

2005-10-16 Francesco Romani <fromani at gmail dot com>
  * libtc/tc_functions.c
  Removed file: libtc/STYLE.txt
 Andrew's style guide is better, so drop mine and revert changes to
 achieve conformancy

2005-10-16 Andrew Church <achurch at achurch dot org>
  * export/export_af6.cpp export/export_fame.c export/export_mov.c
    export/export_net.c export/export_pvm.c export/export_yuv4mpeg.c
    filter/filter_logoaway.c filter/filter_text.c filter/pp/filter_pp.c
    filter/subtitler/filter_subtitler.c filter/subtitler/frame_list.c
    filter/subtitler/load_font.c M filter/subtitler/subtitler_proto.h
    filter/subtitler/text_processing.c filter/subtitler/x11.c
    import/a52_decore.c import/decode_a52.c import/import_mpeg3.c
    import/import_vob.c import/import_xml.c import/probe_socket.c
    import/probe_xml.c import/tcxmlcheck.c import/nuv/RTjpegN.c
    import/nuv/resample.c import/nuv/rtjpeg_aud_plugin.c
    import/nuv/rtjpeg_aud_plugin.h import/nuv/rtjpeg_vid_plugin.c
    import/nuv/rtjpeg_vid_plugin.h import/nuv/soxfuncs.c
    import/v4l/audio.c import/v4l/audio.h import/v4l/common.h
    import/v4l/import_v4l2.c import/v4l/vcr.h import/v4l/video.h
    libac3/bit_allocate.c libac3/bitstream.c libac3/bitstream.h
    libac3/imdct.c libac3/parse.c pvm3/export_pvm_slave.c
    pvm3/export_pvm_slave.h pvm3/pvm_functions.c pvm3/pvm_parser.c
    pvm3/tcpvmexportd.c
  Fix compiler warnings.  transcode should now compile cleanly under GCC4
  with -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-pointer-sign
  (modulo warnings from external packages like libquicktime).

2005-10-16 Andrew Church <achurch at achurch dot org>
  * configure.in
  Fix a bug in checking for -Werror validity (--enable-warnings-as-errors
  now works properly).

2005-10-16 Andrew Church <achurch at achurch dot org>
  * export/export_lzo.c export/tc_lzo.h import/decode_lzo.c
    import/extract_lzo.c import/import_lzo.c
  Update for LZO version 2, and fix a number of bugs.

2005-10-16 Andrew Church <achurch at achurch dot org>
  * Added: aclib/STYLE.txt
  Codify style guidelines for aclib.

2005-10-16 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h libtc/tc_functions.c libtc/STYLE.txt
    add a little coding style guide in libtc and start enforcement,

2005-10-16 Andrew Church <achurch at achurch dot org>
  * export/af6_aux.cpp export/export_af6.cpp import/af6_decore.cpp
  Fix compilation error with avifile 0.7 (#include <avifile.h>, not
  <avifile-0.7/avifile.h>).

2005-10-16 Andrew Church <achurch at achurch dot org>
  * avilib/avidump.c avilib/avilib.c avilib/avilib.h avilib/avimisc.c
  Use const in exported function declarations when possible.

2005-10-16 Andrew Church <achurch at achurch dot org>
  * export/export_ffmpeg.c
  Make --export-asr processing exit on invalid positive values, like it
  does for invalid nonpositive values (also corrects use of an
  uninitialized variable).

2005-10-15 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h libtc/tc_functions.c
  debug functions changed again. Refactorize tc_tag_*
  using a common (and more powerful) backend, tc_log().
  documentation will be added in the future, and
  tc_tag_{warn,info,error} compatibility macros
  should go away in the near future.

2005-10-15 Francesco Romani <fromani at gmail dot com>
  * export/aud_aux.c
  using tc_info module is too verbose; correct this issue.

2005-10-15 Francesco Romani <fromani at gmail dot com>
  * export/export_xvid4.c
  fixed some typos, and moved internal strema buffer from char to
  uint8_t. Also removed some dead code.

2005-10-15 Francesco Romani <fromani at gmail dot com>
  * aclib/img_yuv_rgb.c
  x86_64 two more leal -> lea fixes
  now aclib compiles and link fine on my amd64 system

2005-10-15 Francesco Romani <fromani at gmail dot com>
  * export/export_ffmpeg.c export/export_xvid2.c
    export/export_xvid3.c export/export_xvid4.c
  tc_{info,warn,error} roundup part 2; ported missing export
  modules; now export layer is set, except for typos :p

2005-10-15 Joern Reder <joern at zyn dot de>
  * export/export_divx4.c export/export_divx4raw.c
    export/export_divx5.c export/export_divx5raw.c
    import/import_xml.c
  fix a few typos in some modules
  (patch effectively applied by fromani at gmail dot com)

2005-10-14 Francesco Romani <fromani at gmail dot com>
  * libtc/tc_functions.c
  add statbuffer to tc_* debug functions, to avoid malloc()s which
  are undesiderable when reporting critical situations.
  In 'regular' situations (short 'tag' argument) dynamic, malloc()'d buffer
  should never be used.

2005-10-14 Francesco Romani <fromani at gmail dot com>
  * export/aud_aux.c export/divx4_vbr.c export/export_ac3.c
    export/export_af6.cpp export/export_debugppm.c export/export_def.h
    export/export_divx4.c export/export_divx4raw.c export/export_divx5.c
    export/export_divx5raw.c export/export_dv.c export/export_dvraw.c
    export/export_fame.c export/export_im.c export/export_jpg.c
    export/export_lame.c export/export_lzo.c export/export_mjpeg.c
    export/export_mov.c export/export_mp1e.c export/export_mp2.c
    export/export_mp2enc.c export/export_mpeg2enc.c export/export_net.c
    export/export_ogg.c export/export_ppm.c export/export_pvm.c
    export/export_pvn.c export/export_raw.c export/export_toolame.c
    export/export_wav.c export/export_yuv4mpeg.c
  tc_{info,warn,error} roundup part 1; ported most of fprintf() in most of
  export modules to above functions. More to come.

2005-10-14 Francesco Romani <fromani at gmail dot com>
  * libtc/libtc.h libtc/tc_functions.c
  Generalize debug functions, and start to use it almost everywhere
  fprintf() was previously used.

2005-10-14 Andrew Church <achurch at achurch dot org>
  * configure.in
  Fix check for IBP. Update LZO check for LZO version 2.

2005-10-14 Andrew Church <achurch at achurch dot org>
  * libtc/libtc.h libtc/tc_functions.c
  Add tc_snprintf() and tc_vsnprintf() to return a consistent value (-1)
  and print an error message on buffer overflow.

  * export/* filter/* import/* libioaux/* pvm3/export_pvm_slave.c
    pvm3/external_codec.c pvm3/tcpvmexportd.c src/* tools/*
  Use tc_[v]snprintf() instead of ordinary [v]snprintf().

  * pvm3/export_pvm_slave.c pvm3/external_codec.c pvm3/pvm_functions.c
    pvm3/tcpvmexportd.c
  Fix up bad usage of char arrays.

  * export/export_lame.c export/export_toolame.c
    filter/filter_detectsilence.c import/import_nvrec.c
  Fix potential buffer overflows.

2005-10-13 Andrew Church <achurch at achurch dot org>
  * configure.in
  Fix a bug in detecting libquicktime version (-L not used in check).

2005-10-13 Andrew Church <achurch at achurch dot org>
  * docs/man/transcode.1 filter/filter_videocore.c
  Obsolete the videocore filter (now just prints an error if used), since
  all the functions are available on the command line anyway, and the
  particular routines called by the filter are no longer available.

2005-10-13 Andrew Church <achurch at achurch dot org>
  * import/Makefile.am import/iodump.c
  Eliminate redundant code (link iodir.c instead of copying code into
  iodump.c).

2005-10-13 Andrew Church <achurch at achurch dot org>
  * export/export_mov.c filter/preview/pv.c filter/preview/pv.h
    import/import_bktr.c
  Fix more color reversal issues.

2005-10-13 Andrew Church <achurch at achurch dot org>
  * docs/export-mods.txt docs/man/transcode.1 export/Makefile.am
    export/export_raw.c
  Allow the image format for uncompressed video with -y raw to be selected
  with -F.

2005-10-12 Andrew Church <achurch at achurch dot org>
  * docs/OPTIMIZERS docs/man/transcode.1 export/export_dvraw.c
    export/export_ffmpeg.c export/export_mov.c export/export_mp1e.c
    export/export_mpeg2enc.c export/export_ppm.c export/export_raw.c
    export/export_xvid2.c export/export_xvid3.c export/export_xvid4.c
    export/export_yuv4mpeg.c filter/filter_denoise3d.c
    filter/filter_fieldanalysis.c filter/filter_mask.c filter/filter_text.c
    filter/preview/filter_pv.c filter/preview/pv.c
    filter/tomsmocomp/filter_tomsmocomp.c import/import_bktr.c
    import/import_dv.c import/import_mov.c import/import_raw.c
    import/import_rawlist.c import/magic.h import/tcextract.c src/transcode.c
  Changed YUV422 mode to use planar YUV422 instead of UYVY for ease of
  processing, and changed command-line option for YUV422 mode from --uyvy
  to --yuv422.

2005-10-12 Andrew Church <achurch at achurch dot org>
  * Changed: src/Makefile.am src/tc_defaults.h src/video_trans.c
    src/video_trans.h
    Removed: src/frame_postprocess.c src/frame_preprocess.c src/video_rgb.c
    src/video_yuv.c src/video_yuv422.c
  Refactored video processing code to remove redundancy.

2005-10-12 Andrew Church <achurch at achurch dot org>
  * aclib/ac.h aclib/memcpy.c
  Define ac_memcpy() to be a copy in ascending order (allowing overlaps if
  the destination address is lower).

2005-10-11 Andrew Church <achurch at achurch dot org>
  * src/transcode.c
  Force all size parameters to be even in YUV mode.

2005-10-11 Andrew Church <achurch at achurch dot org>
  * aclib/rescale.c src/video_rgb.c src/video_trans.c src/video_trans.h
    src/video_yuv.c src/video_yuv422.c
  Fixed bugs in fast resizing (-B option).

2005-10-11 Andrew Church <achurch at achurch dot org>
  * export/export_mp1e.c export/export_mpeg2enc.c export/export_yuv4mpeg.c
    export/vid_aux.c export/vid_aux.h filter/filter_ascii.c
    filter/filter_facemask.c filter/filter_logo.c filter/filter_msharpen.c
    filter/filter_smartbob.c filter/filter_smartdeinter.c
    filter/filter_whitebalance.c
  Replace tc_{rgb2yuv,yuv2rgb} functions with a single tcv_convert().

2005-10-11 Andrew Church <achurch at achurch dot org>
  * export/export_raw.c
  Set fourcc for YUV mode to I420 instead of YV12.

2005-10-11 Andrew Church <achurch at achurch dot org>
  * import/decode_mpeg2.c
  Fixed bug causing red/blue swapping for -x vob.

2005-10-11 Aleksey Sudakov <Aleksey.Sudakov at turner dot com>
  * libxio/libxio.c
  Include <errno.h> instead of <sys/errno.h> to fix compilation on Solaris.

2005-10-11 Andrew Church <achurch at achurch dot org>
  * Changed: aclib/Makefile.am filter/mmx.h
    Removed: aclib/mmx.h
  Move aclib/mmx.h contents back to filter/mmx.h, since most of the code
  that uses it is in filter/.

2005-10-10 Andrew Church <achurch at achurch dot org>
  * aclib/img_yuv_rgb.c export/export_ppm.c
  Add a direct conversion from YUV packed to RGB packed, and use it in
  export_ppm (and use the proper pixel format while we're at it).

  * aclib/average.c aclib/img_rgb_packed.c aclib/img_x86_common.h
    aclib/img_yuv_mixed.c aclib/img_yuv_planar.c aclib/img_yuv_rgb.c
    aclib/rescale.c
  Add x86-accelerated versions of more conversion functions, and fix bugs
  in processing odd-size/unaligned images.

  * aclib/imgconvert.c aclib/imgconvert.h aclib/img_yuv_planar.c
  Handle YV12<->anything automagically, and fix a bug in YV12 conversion.

  * aclib/test-imgconvert.c
  More touching-up of the tester.

2005-10-09 Andrew Church <achurch at achurch dot org>
  * aclib/test-imgconvert.c
  Various additions to make the test program more useful.

  * Changed: img_rgb_packed.c img_yuv_packed.c img_yuv_planar.c img_yuv_rgb.c
    Added: aclib/img_x86_common.c
  Added x86-accelerated versions of most image conversion functions, and
  improved conversion accuracy (and fixed bugs) for a few conversions.

2005-10-08 Andrew Church <achurch at achurch dot org>
  * Changed: docs/OPTIMIZERS docs/make-filter-man.sh docs/man/transcode.1
    filter/Makefile.am
    Removed: filter/filter_yuy2toyv12.c
  Remove unused (and possibly broken) filter module yuy2toyv12.

2005-10-08 Andrew Church <achurch at achurch dot org>
  * Changed: filter/filter_fieldanalysis.c filter/filter_msharpen.c
    filter/filter_smartbob.c filter/filter_smartdeinter.c
    filter/filter_xsharpen.c filter/tomsmocomp/filter_tomsmocomp.c
    filter/v4l/video.c filter/v4l/import_v4l2.c
    Removed: filter/tomsmocomp/transcoders.c filter/tomsmocomp/transcoders.h
  Replace redundant implementations of image conversion code with calls
  to ac_imgconvert().

2005-10-08 Andrew Church <achurch at achurch dot org>
  * import/extract_avi.c import/magic.h import/probe_bsdav.c
    import/probe_mov.c import/probe_ogg.c import/tcdecode.c
    import/tcextract.c src/probe.c
  Remove remaining references to TC_CODEC_YV12.  As a result, transcode can
  no longer read raw (uncompressed) YV12 AVIs or MOVs directly; use
  -x mplayer,mplayer to transcode them.

2005-10-08 Andrew Church <achurch at achurch dot org>
  * src/video_rgb.c src/video_yuv422.c
  Avoid calling ac_rescale() for every pixel when rescaling horizontally.

2005-10-08 Andrew Church <achurch at achurch dot org>
  * aclib/ac.h aclib/accore.c
  Add ac_endian() function and AC_{BIG,LITTLE}_ENDIAN constants for
  determining the CPU's endianness.

  * aclib/img_yuv_mixed.c aclib/img_yuv_planar.c aclib/img_yuv_rgb.c
  Add image conversion functions for Y8 (grayscale YUV).

  * Changed: aclib/Makefile.am
    Added: aclib/rgb-yuv-conv.pl aclib/test-imgconvert.c aclib/test-memcpy.c
    aclib/test-memcpy-speed.c
    Removed: aclib/actest.c aclib/movtest.c
  Replace old test programs with updated ones, and add script to calculate
  RGB/YUV conversion matrices.

2005-10-08 Andrew Church <achurch at achurch dot org>
  * Changed: aclib/* export/* filter/* import/* pvm3/tcpvmexportd.c src/*
    Added: aclib/ac_internal.h aclib/accore.c
    Renamed: aclib/tcmemcpy.c -> aclib/memcpy.c
    Removed: aclib/cputest.c aclib/cputest.h aclib/swap.c
  Rewrote (everything else in) aclib from scratch, naming all exported
  functions as ac_XXX; e.g. tc_memcpy -> ac_memcpy.  Moved RGB/BGR swap
  functionality to imgconvert (RGB24->BGR24).  Note that mmx.h has been
  left alone for the moment, but new code should avoid using it.

2005-10-07 Andrew Church <achurch at achurch dot org>
  * aclib/* export/* filter/* import/* libioaux/configs.c libtc/libtc.h
    libtc/tc_functions.c pvm3/tcpvmexportd.c src/* tools/*
  Clean up compiler warnings and various other tidbits.

  * Makefile.am export/Makefile.am filter/Makefile.am import/Makefile.am
    src/Makefile.am
  Rearrange source/module/directory listings to compile in roughly
  alphabetical order.

2005-10-07 Andrew Church <achurch at achurch dot org>
  * Changed: aclib/Makefile.am docs/OPTIMIZERS export/*
    filter/filter_cshift.c import/* src/probe.c src/transcode.c
    src/transcode.h
    Added: aclib/imgconvert.c aclib/imgconvert.h aclib/img_internal.h
    aclib/img_rgb_packed.c aclib/img_yuv_mixed.c aclib/img_yuv_packed.c
    aclib/img_yuv_planar.c aclib/img_yuv_rgb.c
    Removed: aclib/colorspace.c aclib/colorspace.h
  Complete rewrite of image format and colorspace handling.
  - Internal YUV format is now YCbCr (YUV420P/I420), not YCrCb (YV12).
    Fixes the blue-faces problem when converting to/from RGB.
  - All image conversion, both pixel format and colorspace (YUV/RGB), is
    now done through ac_imgconvert() in aclib (see aclib/imgconvert.c).
  - Import and export modules which call ac_imgconvert() to convert from or
    to an external file/library format should use IMG_YUV_DEFAULT if the
    transcode image format is CODEC_YUV, and IMG_RGB_DEFAULT if the format
    is CODEC_RGB; this will simplify things in the future if the default
    colorspace is changed (e.g. to YUV444).

2005-10-04 Andrew Church <achurch at achurch dot org>
  * Changed: aclib/Makefile.am export/export_im.c export/export_ppm.c
    export/export_pvn.c export/vid_aux.c export/vid_aux.h
    import/decode_lavc.c import/decode_yuv.c import/import_ffmpeg.c
    src/transcode.c
    Added: aclib/colorspace.c aclib/colorspace.h
    Removed: aclib/AUTHORS.libvo aclib/COPYING.libvo aclib/README.libvo
    aclib/rgb2yuv.c aclib/rgb2yuv.h aclib/yuv2rgb.c aclib/yuv2rgb.h
    aclib/yuv2rgb_mlib.c aclib/yuv2rgb_mmx.c
  Replace libvo colorspace conversion code with a new from-scratch
  implementation.

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

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

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

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

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

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

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

2005-09-22 Andrew Church <achurch at achurch dot org>
  * INSTALL
  Get rid of the nasm note (we don't use nasm anymore) and fix a couple of
  typos.

  * docs/Makefile.am docs/export-mods.txt docs/faq docs/html/modules.html
    docs/man/transcode.1
  Get rid of references to the (deleted) export_mpeg module.

  * docs/export_mpeg.txt
  Remove.

2005-09-22 Francesco Romani <fromani at gmail dot com>
  * filter/mmx.h
  filter/mmx.h is an exact duplicate of aclib/mmx.h, so the copy
  on filter/ should include the one in aclib/ instead of duplicate
  it. filter/mmx.h is still provided for legacy purposes, but
  should go away in the future

2005-09-22 Francesco Romani <fromani at gmail dot com>
  * Makefile.am configure.in aclib/Makefile.am export/Makefile.am
    filter/Makefile.am filter/pp/Makefile.am filter/pp/Makefile.am
    filter/yuvdenoise/Makefile.am import/Makefile.am src/Makefile.am
  update Makefiles and configure stuff to use aclib instead of libvo
  where is needed

2005-09-22 Francesco Romani <fromani at gmail dot com>
  * export/export_im.c export/export_ppm.c export/export_pvn.c
    export/vid_aux.c export/vid_aux.h filter/yuvdenoise/filter_yuvdenoise.c
    import/decode_lavc.c import/decode_yuv.c import/import_ffmpeg.c
    src/transcode.c
  update client code to use colorspace conversion code now in acliv

2005-09-22 Francesco Romani <fromani at gmail dot com>
  * Added files:
    aclib/AUTHORS.libvo aclib/COPYING.libvo aclib/README.libvo aclib/ac.h
    aclib/mmx.h aclib/rgb2yuv.c aclib/rgb2yuv.h aclib/yuv2rgb.c
    aclib/yuv2rgb.h aclib/yuv2rgb_mlib.c aclib/yuv2rgb_mmx.c
    Removed files:
    libvo/AUTHORS libvo/COPYING libvo/Makefile.am libvo/README
    libvo/attributes.h libvo/cpu_accel.c libvo/mm_accel.h libvo/mmx.h
    libvo/rgb2yuv.c  libvo/rgb2yuv.h libvo/video_out.c libvo/video_out.h
    libvo/video_out_internal.h libvo/video_out_ppm.c libvo/video_out_yuv.c
    libvo/yuv2rgb.c libvo/yuv2rgb.h libvo/yuv2rgb_mlib.c libvo/yuv2rgb_mmx.c
  Move and integrate colorspace conversion code from libvo to aclib and drop
  the other code, since nobody in transcode uses it.

2005-09-22 Francesco Romani <fromani at gmail dot com>
  * import/decode_yuv.c
  libvo removal part1: make decode_yuv independent from libvo

2005-09-21 Francesco Romani <fromani at gmail dot com>
  * libxio/static_xio.h import/extract_ac3.c import/decode_dv.c
  Add temporary struct stat variable in static_xio.h to make gcc happier
  Applied a patch from Jacob: extract_ac3 should not always fail
  Applied a patch form Andrew: fix an off-by-one error in decode_dv

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2004-11-17 Julien Tierny <julien.tierny at wanadoo dot fr>
  * filter/filter_facemask.c:
    filter_facemask.so masks people faces in video interviews, in a static way
	for the moment.
    RGB-YUV conversion features of /export/vid_aux.c are required (please
    consider it in the compilation process).
    Source code clean-up for integration. 0.6.13 integration tests. `fprintf`
	moved to `tc_warn`, `tc_error` or `tc_info`

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

2004-10-28
  transcode-0.6.13 release

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2004-08-14 Matthias Hopf <Matthias.Hopf at informatik dot uni-stuttgart dot de>
  * filter/Makefile.am filter/tomsmocomp/filter_tomsmocomp.c
  * filter/filter_fieldanalysis.c:
  I have another patch for you that adds a filter for detecting the field
  type of potentially interlaced video. Some of its parameters may need a
  little tweaking, and of course it cannot determine the field type on
  static scenes. It also is not extremely fast, but it is fast enough for
  me :-P .

  There has been the filter 32detect (which is an odd name as it only
  detects interlaced video as well), but my analysis filter knows of
  more different field types and seems to have more stable algorithms.
  It also detects field shifted progressive video, though it currently
  identifies too many frames as shifted-progressive for truly interlaced video.

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

2004-08-14 Stefan Scheffler <stefanscheffler at gmx dot net>
  * export/export.mov.c:
  The promised cleanup. It's quite large but the changes are mostly
  cosmetical (indentions, line breaks etc. ).

  - get rid of a lot of cruft from the qt4l days
  - corrections in the parameter listing
  - corrections in the parameter assignment
  - copyright, name, info fields assignment fixed
  - swap u/v planes in yuv mode. Libquicktime seems to prefer that.
  - and few more minor things that I can't remember

transcode-0.13-pre1 EMS

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

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

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

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

2004-08-12 Bryan Mayland <bmayland at leoninedev dot com>
  * acinclude.m4:
  I don't have my ffmpeg *installed* anywhere on my machine, but I do have
  it built in another directory.  Passing
  --with-ffmpeg-libs-includes=../ffmpeg/libavcodec
  does not work because it expects the include to be inside there under
  ffmpeg/include (which it isn't it's right there).  I would imagine that
  if you pass the path to the ffmpeg includes, you don't want anything
  appended to it; you're passing the whole path already.  The acinclude.m4
  should not do this.  Same thing with --with-ffmpeg-libs-libs

  Also, the configure check does a AC_CHECK_HEADER, which is supposed to
  be used to find a standard system header on the include path.  Passing
  ../ffmpeg/libavcodec makes a checkconfig.c lke
  #include <../ffmpeg/libavcoded/avcodec.h>
  which of course only works if . is already on the include path.  Since
  avcodec.h is not a standard header, I would suggest not using
  AC_CHECK_HEADER to find it.  Since the configure script is only really
  looking for the file so it can parse out the version, I'd suggesst
  changing this to AC_CHECK_FILE.

  Finally, libavcodec.a requires linking of libm (for sin and cos used by
  ac3/resample2/mpegaudiodec/etc) and libz (for lcl).  That means that
  they should be added to the FFMPEG_LIBS_LIBS, right?

  I've attached a patch that fixes these 3 things.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * filter/filter_smartyuv.c:
  Fix cubic=1 interpolation. Pointed out by Mikhail Ramendik.

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

  * avilib/avidump.c:
  Fix missing )

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

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

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

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

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

  * export/export_yuv4mpeg.c:
  when the internal framerate calculation fails, use our own.
  Pointed out by Jorg Heymans.

2004-03-13 Alexander Varakin <avarakin at hotmail.com>

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

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

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

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

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

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

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

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

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

  * export/export_ffmpeg.c:
  fix threading support

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

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

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

  * src/zoom.c:
  optimized CLAMP routine

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

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

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

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

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

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

  * tools/avimerge.c:
  remove debug printout

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

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

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

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

  * filter/filter_fps.c:
  missing int i.

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

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

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

  * export/export_ac3.c:
  Bourne Shell compatibility

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

  * export/{export_ffmpeg.c ffmpeg_cfg.[ch]}:
  Support for using libavcodec threads via the "threads" entry in
  ffmpeg.cfg

2004-02-24 Christopher Cramer <crayc at pyro.net>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * import/magic.h:
  Add a CODEC define for TC_CODEC_DTS.

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

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

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

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

  * src/zoom.c src/zoom.h:
  Put some emms() there before using double -- just in case

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

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

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

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

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

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

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

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

  * src/transcode.c:
  Another wrong clipping calc error. Pointed out by malaca.

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

  * export/{export_xvid4.c xvid4.cfg}:
  Change default options as suggested by chl
  packed=0
  max_bframes=1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   * filter/subtitler/*:
   Upgrade to version 0.8.5

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

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

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

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

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

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

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

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

  For more information look at docs/ibp_support.txt

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * configure.in:
  let the user really disable mmx

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

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

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

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

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

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

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

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

  * import/probe_vnc.c:
  Safety checks

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

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

  * import/decode_a52.c:
  Rename a function.

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

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

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

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

  * export/export_mov.c:
  C89 fix.

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

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

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

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

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

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

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

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

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

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

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

  * configure.in:
  Bump version number.

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

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

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

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

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


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

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

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

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

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

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

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

  * filter/subtitler/*:
  Upgrade to 0.8.4.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * filter/filter_denoise3d.c:
  Fix typo.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * docs/man/{aviindex.1 transcode.1 tcdecode.1}:
  Layout update to make it look better when converted to html on
  http://transcoding.org

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

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

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

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

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

  * contrib/tccomplete.source:
  New file which enables bash completion for transcode. Usage
  instructions at the beginning of the script.

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

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

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

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

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

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

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

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

2003-12-20 Stephane Gourichon <gouri at free.fr>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  If you are using xvid4conf, you need version 1.10

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

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

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

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

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

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

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

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

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

  * import/import_dv.c import/decode_dv.c:
  Support for YUY2 decoding (together with --uyvy)

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

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

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

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

  * import/decode_mov.c:
  remove decode->error since the new decode_t struct does not have
  this field.

2003-12-01 Florin Andrei <florin at andrei.myip.org>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * configure.in:
  Enable freetype by default.

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

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

2003-11-18 Peter Van Biesen <peter at vanbiesen.com>

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

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

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

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

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

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

  * import/import_imlist.c import/import_im.c:
  Fix a segfault at closing time. Pointed out by Guido Mocken.

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

  * import/v4l/import_v4l2.h videodev2.h docs/import_v4l2.txt:
  New v4l2 import module. Please see /docs/import_v4l2.txt

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

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

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

  * filter/pp/*:
  Added the postprocess code to transcode and move the filter to
  this directory.c.

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

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

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

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

  patch-21

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

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

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

  * import/{decode_xvid.c import_xvid.c}:
  This patch should fix problems when using the xvid import module.
  It was still trying to load old sonames, now it try to load all
  compatible sonames. Pointed out by Thomas Weber.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * import/import_dv.c:
  Add UYVY support.

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

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

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

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

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

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

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

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

  * src/transcode.c:
  Fix a fatal error when using --accel on PPC. Pointed out by
  Nicolas Boos.

2003-10-13 Seth Green <sgreen at sparse.org>

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

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

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

  More help messages to the xvid4.cfg file.

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

  * filter/filter_smartyuv.c:
  Fix a segfault pointed out by LethalWP.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * import/{aux_pes.c aux_pes.h scan_pes.c}:
  Have tcscan -x mpeg2 print the min, max and average bitrate of an
  mpeg2 file. Useful when you try to figure out the requant factor.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * export/export_pcm.c:
  Fix a floating point exception pointed out by Nicolas Boos

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

  * import/{tcrequant.c getvlc.h putvlc.h Makefile.am}:
  New tool tcrequant which can requantize an mpeg2 elementary
  stream. Based on code by Antoine Missout. It can be used as a
  standalone tool to make mpeg2 video streams smaller, for eg

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

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

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

  * import/import_vob.c src/transcode.c export/export_raw.c:
  When used in pass-through mode (new), the util tcrequant will be
  used. Syntax is easy:

   transcode -P1 -i vobs -x vob,null -w 1.5 -o test.m2v

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

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

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

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

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

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

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

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

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

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

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

  * import/clone.c src/decoder.c:
  Fix a few compiler warnings

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

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

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

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

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

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

  - added support for ffmpeg,divx4,divx5,af6,xvid,xvid2 encode.
  - added multipass and internal multipass support.
  - enable pvm3 by default.
  - bugfix.

  All external modules that used aud_aux.c are not reentrant (if
  you try to do init-open-encode-close-stop for the second time
  the "export_module" don't work correctly (core)) so i need to
  reload the module (dlclose and dlopen).

  I need to move some function from transcode.c and transcode.h in
  three new file (tc_functions.{ch} and tc_func_excl.h) because my
  frontend (tcpvmexportd) needs to resolve at runtime these
  functions: tc_error, tc_info, tc_warn

  The patch file fix a little bug in export_ffmpeg (MOD_close and
  MOD_stop don't return 0 if all work).


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

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

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

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

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

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

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

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

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

  * avilib/avilib.c:
  Respect errno when reading. When reading/writing WAV headers,
  first read into an buffer and then to the header struct. The old
  way caused problems on systems where structures are padded.

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

  * avilib/avidump.c:
  Remove unused function.

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

  * filter/*c:
  Add optstr description

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

  * docs/man/tcdecode.1 import/tcdecode.c:
  Document the new -t package flag for tcdecode. See tcdecode(1) for
  more information

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * acinclude.m4:
  Better check for theora.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * docs/export_pvm.txt export/export_pvm.c
  pvm3/{export_pvm_slave.c external_codec.c pvm_version.h
  tcpvmexportd.c}:
  support for export_mpeg encode.

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

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

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

  * export/{export_xvid4.c xvid4.cfg xvid4.h}:
  - Added greyscale option and help message.
  - small xvid4.h upgrade.
  - added more help messages to xvid4.cfg

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

  * import/import_ogg.c:
  enable real ogg demuxing as it was broken for quite a while.

2003-08-23 Christian Marillat <marillat at debian.org>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * docs/README.filter.modfps:
  New README file about -J modfps. Contains verbose information on
  usage and workings of this much improved filter. If you plan
  frame rate conversion this document contains very useful
  information.

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

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

  * docs/export_pvm.txt docs/man/tcpvmexportd.1 docs/pvm.cfg
  export/export_pvm.c pvm3/export_pvm_slave.c
  pvm3/export_pvm_slave.h pvm3/pvm_parser.c pvm3/pvm_parser.h
  pvm3/pvm_version.h pvm3/tcpvmexportd.c:

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

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

  * src/encoder.c:
  Fix a bug where a frame gets (post)processed twice mostly
  noteable in split mode (-t)

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

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

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

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

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

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

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

  More details in the docs/export_pvm.txt file.

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

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

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

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

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

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

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

  * src/transcode.c:
  Fix a bug with framerate codes. "probe" the frc later (this is not
  the final solution)

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

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

  * filter/filter_hqdn3d.c:
  Fix a bug when parsing the options (%f != %lf). Pointed out by
  Erik Slagter.

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

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

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

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

  * filter_modfps.c:
  Make the filter independant of the start frame and add a better
  mode=1 (which is now the default).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * src/decoder.c:
  Fix a thread race condition. The frame threads were able to pick up
  a frame although it hadn't be processed by the synchronous
  filters leading to image distortion.

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

  * export/export_jpg.c:
  Native YUV mode encoding; there will be no more an rgb2yuv
  transform needed so its considerable faster.

--------------------------------------------
transcode-0.6.9 Tue Aug  5 09:22:09 CEST 2003

  * Terse/less technical ChangeLog:
  - Add subtitle support to -x dvd
  - Big endian fixes for wav audio handling
  - Big xvid update, there are now 3 modules. Read the ChangeLog for this
  - Bugfix for -z; thread issues caused image distortion
  - Bugfix for libac3, can be compiled with -msse now
  - Bugfix in -J text; transparency was broken.
  - Bugfix in -y ogg; quoting related
  - Bugfix in -x ogg; probing and decoding broken
  - Bugfix: avimerge, -split and -sync were broken for PCM audio
  - Docu: (Developer) internal architecture
  - Docu: avisplit(1) explains what do about bad AVI sync.
  - Docu: how to do framerate conversions with transcode
  - Docu: transcode(1) explains the different meanings of -F
  - Enable directory mode for pass-through AVI files with -y raw
  - Filters can now take arguments at any length
  - Fix sefault in tccat when called with no -i argument
  - Improved -J 29to23; more accurate interpolation
  - Improved -J 32detect; now searches chroma planes too
  - Improved filter smartyuv; much faster now
  - Improved filter cut; Make the filter aware of framerate changes
  - Improved option --keep_asr; takes probed import asr into account
  - Improved spec file
  - Internal; New frame attribute TC_FRAME_IS_OUT_OF_RANGE
  - Internal; config parser more generic
  - Internal; really clone a frame
  - MP2/MP3 synchword detection improved, better broken streams handling
  - Native directory mode for -x auto,mp3
  - Nearly bugfix when doing AC3-passthrough with multiple PSUs
  - New command line option --export_fps N,frc
  - New configure switch --with-default-xvid; creates a export_xvid symlink
  - New contrib/mpipe.c; a simple tool for input data multiplexing
  - New filter detectsilence; prints silence position in milliseconds
  - New filter fps; convert framerate X to Y; similar to modfps
  - New filter modfps; convert framerate X to framerate Y
  - New filter msharpen; spatial sharpening
  - New tool tcmp3cut which can cut mp3 streams at milliseconds positions
  - No more Latin-1 characters -- Sorry Thomas Oe.
  - 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 Koelbel.

  * 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 Laszlo BERCZES" <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 Havard 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 Loic

- 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 from 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 Joern 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 Pahlsson <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 Zuehlke <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 Pahlsson. 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
