2005-11-06 Jacob Meuser * configure.in transcode-1.0.2 2005-11-06 Jacob Meuser * import/scan_pack.c avoid out-of-bounds memory access 2005-11-06 Mark Nauwelaerts * avilib/avilib.c Fixed segmentation fault problem by checking != NULL before free() 2005-11-06 Andrew Church * INSTALL Theora is video not audio. 2005-10-02 Jacob Meuser * 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 * pvm3/Makefile.am Fix a typo that kept pvm3 libraries from getting linked properly. 2005-10-02 Jacob Meuser * configure.in Catch up with a change in TC_PKG_ERROR macro. 2005-10-02 Andrew Church * aclib/cputest.c Fix CPU feature detection (notably misdetection of SSE3 on just about everything). * src/transcode.c Fix parsing of --accel option, and use "asm" instead of ia32asm/amd64asm to match aclib output. 2005-10-02 Jacob Meuser * import/extract_ac3.c Only exit with error status when there really was an error. 2005-10-02 Andrew Church * import/decode_dv.c Fix an off-by-one in initialization. 2005-10-02 Andrew Church * aclib/rescale.c Fix crash caused by GCC optimization. * aclib/tcmemcpy.c Fix bug in SSE-optimized memcpy causing incorrect copies with certain block sizes. 2005-07-24 Jacob Meuser * filter/filter_videocore.c tools/tcmodinfo.c Add unused, but missing symbols. 2005-07-24 Jacob Meuser * filter/Makefile.am filter/filter_logoaway.c Need to include libtc/tc_func_excl.h here. 2005-07-24 Francesco Romani * import/decode_mpeg2.c Allow accelleraction auto-detection to work. 2005-07-24 Bryan Mayland * src/video_yuv.c Make sure alignment is usable when choosing acceleration style. 2005-07-24 Bryan Mayland * aclib/average.c Don't clobber esi register. 2005-07-12 * 1.0.0 release 2005-06-08 Francesco Romani * 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 * filter/filter_levels.c Allow to be used as a pre-filter. 2005-06-08 Jacob Meuser * 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 * 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 * INSTALL configure.in import/Makefile.am import/lve/* Remove support for LVE. 2005-04-15 Francesco Romani * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * src/counter.c Smoother and less convoluted ETA timer. 2005-02-18 Jacob Meuser * 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 * 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 * libvo/yuv2rgb.c Allow transcode to build if --enable-mmx is off at configure time. 2005-02-16 Jacob Meuser * 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 * 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 * 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 * configure.in Remove test for nasm. 2005-02-12 Andrew Church * aclib/* src/video_*.c Replace all nasm code with inline C assembly. Thank you Andrew! 2005-01-28 Bauke Jan Douma * 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 * 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 * 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 * 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 * 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 * configure.in add test for libquicktime >= 0.9.4, since they've changed their API a bit. 2005-01-22 Jacob Meuser * 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 * 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 * 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 * 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 * 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 * export/export_ppm.c add support for YUV422 colorspace to this filter. 2005-01-13 Jacob Meuser * 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 * export/export_toolame.c export_toolame was forcing joint stereo mode regardless of the -b setting, this fixes it. 2004-12-17 Jacob Meuser * 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 * export/* import/* filter/* Quit using sprintf. Change most uses to snprintf, else deal appropriately. 2004-12-15 Jacob Meuser * contrib/bitrate Try to make this more portable, flexible and robust. 2004-12-15 Jacob Meuser * 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/). 2004-12-15 Jacob Meuser * libac3/bitstream.c don't cast an lvalue 2004-12-15 Jacob Meuser * 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 * 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 * 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 * 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 * filter/filter_ascii.c Fix segfault observed in multi-threaded mode (mistake in 'slot' manipulation). 2004-12-04 Jacob Meuser * 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 * 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 * import/dvd_reader.c Allow for chapters that are comprised of more than a single cell. 2004-11-26 Martin Kuball * 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 * import/import_yuv.c clean this up a bit. 2004-11-23 Jacob Meuser * 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 * 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 * 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 * import/af6 import/net import/yuv Move contents of small subdirectories directly into the import/ directory. 2004-11-19 Jacob Meuser * */Makefile.am Use variables defined by configure instead of substitutions 2004-11-17 Andrew Church * 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 * 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 * 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 * 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 * *: Instead of adding 'ffmpeg' to the search path for libavcodec headers in the configure script, include it in the sources (#include ). 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 * 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 * 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 * 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 * configure.in: Remove default gcc optimisations, breaks all kind of stuff. 2004-09-10 Erik Slagter * INSTALL: Some more installation hints [packages are default off, optimisation]. 2004-09-10 Erik Slagter * src/decode.c: Some cleanup, removed some duplicated code, made some error messages slightly more informative (... codec not supported ...) 2004-09-05 Jacob Meuser * 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 * export/export_mjpeg.c: - this should fix the yuv mode in export_mjpeg. 2004-09-01 Stefan Scheffler * 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 * 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 * 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 * INSTALL: Cleaned up. 2004-08-26 Jacob Meuser * 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 -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 * aclib/tcmemcpy.c: Engaged memcpy_mmx for tc_memcpy now it works. 2004-08-26 Andrew Church * aclib/memcpy.s: Fixed mmx memcpy by copying the amdmmx memcpy and get rid of the mmxext instructions. 2004-08-26 Stefan Scheffler * src/probe.c: Yuv4mpeg detection is wrong, tc wants to decode y4m streams as "raw" 2004-08-26 Jens Georg * import/import_ffmpeg.c: Use correct stride size for PIX_FMT_YUV422P 2004-08-25 Stefan Scheffler * 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 * import/mplayer.c: Fixed U/V swapped colours when using YUV. 2004-08-25 Erik Slagter * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * aclib/ac.h: - added support for 3dnowext, sse3 - cleaned up cpu test 2004-08-16 Erik Slagter * 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 * 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 * 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 * 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 * 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 * 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 * 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 * **/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 * tools/tcmodinfo.c: Oops, forgot this one when implementing tc_memcpy 2004-08-13 Erik Slagter * **/*.c: Fixed loads and loads of warnings. Shame on you! ;-) 2004-08-13 Jens Georg * flter/preview/display.h: I had to add use the attached patch to make filter_pv compile 2004-08-12 Bryan Mayland * 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 * autotools/*: Using autoreconf, the autotools is no longer necessary, removed from cvs. 2004-08-12 Stefan Scheffler * import/Makefile.am: Fixes to make automake more happy and allow to use autoreconf 2004-08-12 Mikhail Ramendik * import/Makefile.in import/import_ffbin2.c: Removed ffbin2 support on request. 2004-08-12 Stefan Scheffler * 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 * **/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 * 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 * 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 * **/*.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 * **/*: Created branch for 0.6.13 release on erik.slagter.name (andromeda) 2004-08-09 Stefan Scheffler * import/import_mov.c import/probe_mov.c: Various bugfixes. 2004-08-08 Simone Karin Lehmann * 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 * 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 * import/decode_dv.c: Make dv compilable again with new dv libs 2004-08-08 Erik Slagter * import/v4l/v4l2.c: Adapted the tc_memcpy pointer thing. 2004-08-08 Erik Slagter * 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 * 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 * export/export_mov.c: Various bug fixes. 2004-08-08 Erik Slagter * {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 * {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 * 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 * export/export_mpeg.c: Added big fat warning about obsoleteness etc. 2004-08-04 Bryan Mayland * aclib/cputest.c: Added detection for SSE/SSE2 on AMD processors 2004-08-03 Erik Slagter * 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 * 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 * 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 * export/export_mpeg2enc.c: segfault fix for export_mpeg2enc.c 2004-08-02 John Wehle * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * export/export_jpg.c: Use user supplied quality value. 2004-06-11 Tilmann Bitterberg * 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 * 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 * 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 * 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 * 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 * 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 * filter/filter_smartyuv.c: Fix cubic=1 interpolation. Pointed out by Mikhail Ramendik. 2004-03-17 Shawn Holwegner * avilib/avidump.c: Fix missing ) 2004-03-17 Brian de Alwis * 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 * src/transcode.c: Let users overwrite mpeg2enc parameters 2004-03-13 Tilmann Bitterberg * export/export_yuv4mpeg.c: when the internal framerate calculation fails, use our own. Pointed out by Jorg Heymans. 2004-03-13 Alexander Varakin * filter/preview/filter_pv.c: New 'fullscreen' option. 2004-03-11 Tilmann Bitterberg * 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 * 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 * 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 * export/export_ffmpeg.c: fix threading support 2004-03-01 Tilmann Bitterberg * 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 * src/zoom.c: optimized CLAMP routine 2004-02-29 Tilmann Bitterberg * 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 * import/tcextract.c import/Makefile.am: tcextract -t avi -x raw will now extract the raw video data 2004-02-29 Tilmann Bitterberg * 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 * 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 * filter/filter_fps.c: missing int i. 2004-02-24 Tilmann Bitterberg * export/export_def.h: Fix a (really bad) copy and paste error. Pointed out by Stefan Scheffler. 2004-02-24 James Flemer * export/export_ac3.c: Bourne Shell compatibility 2004-02-24 Erik Slagter * export/{export_ffmpeg.c ffmpeg_cfg.[ch]}: Support for using libavcodec threads via the "threads" entry in ffmpeg.cfg 2004-02-24 Christopher Cramer * filter/filter_fps.c: Add missing string termination in parse_options(). Add pre and post options to parse_options(). 2004-02-20 Tilmann Bitterberg * libioaux/framecode.[lc]: Fix THE rounding error with non-integral framerates. Pointed out by Marrq. 2004-02-19 Tilmann Bitterberg * src/transcode.c: Warn about odd clipping parameters in YUV mode 2004-02-16 Tilmann Bitterberg * 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 * 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 * 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 * 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 * ffmpeg/libavcodec/i386/* configure.in: Check if the compiler can compile SSE2 inline asm. 2004-02-04 Jean-Yves Simon * 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 * configure.in: More cleanup. Only compile in libxml into libxio when ibp is really there. 2004-02-03 Tilmann Bitterberg * 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 * export/{export_ffmpeg.c ffmpeg_cfg.[ch]} ffmpeg/libavcodec/*: Upgrade to ffmpeg-cvs 4700 2004-02-02 Tilmann Bitterberg * src/zoom.c src/zoom.h: Put some emms() there before using double -- just in case 2004-02-01 Nicolas Boos * 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 * 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 * 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 * 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 * export/{export_xvid4.c xvid4.cfg}: Change default options as suggested by chl packed=0 max_bframes=1 2004-01-30 Tilmann Bitterberg * 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 * 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 * 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 * avilib/avilib.c: Don't check for errors you can't handle 2004-01-27 Tilmann Bitterberg * src/transcode.c: Do not use odd clipping values in profile mode. Pointed out by malaca. 2004-01-26 Tilmann Bitterberg * 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 * export/export_toolame.c: Let the sox command do not write a WAVE header since it causes a click. 2004-01-26 Tilmann Bitterberg * filter/subtitler/*: Upgrade to version 0.8.5 2004-01-26 Tilmann Bitterberg * tools/Makefile.am tools/aviindex.c: add xio lib to aviindex. 2004-01-25 Nicolas Boos * 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 * 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 * 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 * contrib/V2divx.pl: Updated script. Can now encode NTSC vob files. 2004-01-23 Stéphane Gourichon * export/export_ppm.c: Check return of open. 2004-01-23 Tilmann Bitterberg * avilib/avilib.c: When splitting large OpenDML AVI files the keyframe bits was messed up. Reported by Thomas Heiserowski 2004-01-23 Erik Slagter * 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 * 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 * 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 * 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 * import/v4l/import_v4l2.c: Small fixes and updates. 2004-01-20 Andrew Church * 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 * 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 * configure.in: let the user really disable mmx 2004-01-20 Stefan Scheffler * 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 * import/import_ffmpeg.c: Fix a segfault at closing time in pass-through mode. Pointed put by ltwp. 2004-01-19 ENDOH, Hiromichi * 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 * avilib/avilib.c: Internal error checks, casts. * import/probe_vnc.c: Safety checks 2004-01-16 Tilmann Bitterberg * 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 * acinclude.m4: Fix detection of newer libmpeg3 versions and better check for quicktime. 2004-01-15 Gordon Talge * 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 * 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 * src/transcode.c: Fix a race condition when reading from a .smil file in connection with tcxmlcheck. 2004-01-13 Tilmann Bitterberg * 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 * 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 * 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 * 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 * 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 * filter/subtitler/*: Upgrade to 0.8.4. 2004-01-06 Frederic Briere * 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 * configure.in: check if fast integers are available (for libavcodec) 2004-01-06 Tilmann Bitterberg * 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 * 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 * 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 * docs/DV-to-DVD-HOWTO.txt: A Howto describing how to make DVDs out of DV footage including scripts. 2004-01-05 Tilmann Bitterberg * 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 * filter/subtitler/*: Update to upstream version 0.8.2 2004-01-05 Tilmann Bitterberg * 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 * import/ioxml.c: Transcode uses exclusive frame ranges, SMIL uses inclusive. 2004-01-05 Tilmann Bitterberg * 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 * import/extract_yuv.c: Be more tolerant when reading a FRAME header. Pointed out by Robert W. Fuller. 2004-01-03 Erik Slagter * 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 * filter/filter_denoise3d.c: Fix typo. 2004-01-03 Erik Slagter * 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 * 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 * 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 * 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 * 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 * 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 * 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 * tools/avimerge.c: New option -A which will allow to overwrite an audio track. 2003-12-26 Marcus Holland-Moritz * import/{import_ac3.c import_vdrac3.c}: Pass a52 flags to the ac3 decoder. 2003-12-24 Tilmann Bitterberg * contrib/tccomplete.source: New file which enables bash completion for transcode. Usage instructions at the beginning of the script. 2003-12-24 Tilmann Bitterberg * 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 * 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 * 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 * export/{export_dv.c export_dvraw.c} filter/{filter_smartyuv.c filter_unharp.c extsub/subtitle_buffer.c preview/filter_pv.c test/filter_test.c} import/{decode_lavc.c extract_ogm.c import_divx.c import_ffmpeg.c import_xvid.c v4l/import_v4l2.c} src/{audio_buffer.c video_buffer.c}: Simple 64bit fixes (usually int -> long) 200-12-20 Stéphane Gourichon * src/audio_trans.c: valgrind pointed out that a memcpy should be a memmove and of course thats right. 2003-12-20 Tilmann Bitterberg * 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 * 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 * 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 * import/fileinfo.c: Better detection of MP3/MP2 files (based on file(1) magic) 2003-12-11 Tilmann Bitterberg * ffmpeg/libavcodec/mjpeg.c: Hack to write quicktime (MacOSX) compatible mjpeg avis 2003-12-11 Tilmann Bitterberg * export/aud_aux.c export/export_dvraw.c: Big endian fixes 2003-12-05 Edouard Gomez * 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 * 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 * 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 * 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 * import/import_dv.c import/decode_dv.c: Support for YUY2 decoding (together with --uyvy) 2003-12-04 Tilmann Bitterberg * 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 * import/decode_mov.c: remove decode->error since the new decode_t struct does not have this field. 2003-12-01 Florin Andrei * 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 * 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 * 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 * 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 * import/v4l2/import_v4l2.c configure.in: Add improved configure check for linux/videodev2.h Fix freetype2 detection 2003-11-28 Christopher Cramer * 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 * filter/yuvdenoise/filter_yuvdenoise.c docs/man/transcode.1: Document the undocumented option pre. 2003-11-26 Tilmann Bitterberg * import/v4l2/import_v4l2.c configure.in: Add configure check for linux/videodev2.h 2003-11-26 Erik Slagter * 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 , it doesn't work with linux 2.6.0, #defines are wrong. 2003-11-26 Erik Slagter * 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 * 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 * import/magic.h src/probe.c: Magic values for v4l2 import modules and the core probing architecture. 2003-11-26 Tilmann Bitterberg * configure.in: Enable freetype by default. 2003-11-26 Sven Goethel , Makira * import/tcrequant.c: Incorporate fixes made upstream. Better error resilience. 2003-11-18 Peter Van Biesen * 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 * avilib/{avilib.h avilib.c}: Tiny typos and a small bug 2003-11-14 Tilmann Bitterberg * export/export_im.c docs/man/transcode.1: Use -w to give quality to -y im -F jpg/png 2003-11-12 Tilmann Bitterberg * import/import_imlist.c import/import_im.c: Fix a segfault at closing time. Pointed out by Guido Mocken. 2003-11-12 Erik Slagter * 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 * 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 * filter/pp/*: Added the postprocess code to transcode and move the filter to this directory.c. 2003-11-12 Tilmann Bitterberg * 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 * 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 * 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 * acinclude.m4: Copy the macros for sdl.m4 and glib.m4 in there. 2003-11-10 Tilmann Bitterberg * docs/man/transcode.1 docs/make-filter-man.sh: Add documentation for filter_denoise3d to the manpage 2003-11-10 Erik Slagter * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * import/import_ffmpeg.c: Output last decoded frame when input frame is empty (NULL frame problem with some divx) 2003-10-28 Tilmann Bitterberg * 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 * export/export_yuv4mpeg.c: Unfinished fixup for 64bit arches. 2003-10-28 Tilmann Bitterberg * import/tcprobe.c: Fix a segfault when reading data from stdin 2003-10-27 Joern Reder * filter/filter_unsharp.c: Fix bogus printout (wrong Parameter name). Pointed out by Fabio Russo. 2003-10-23 Christopher Cramer 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 * export/ffmpeg_cfg.c: Fixed a typo: rc_min_rate != rc_buffer_size. Pointed out by Erik Slagter. 2003-10-22 Tilmann Bitterberg * src/Makefile.am src/transcode.c import/Makefile.am: Link libvo into transcode and not into import_ffmpeg.so 2003-10-20 Tilmann Bitterberg * 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 * 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 * 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 * 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 * 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 * filter/filter_text.c: Fix a typo which effectivly disabled the filter. Pointed out by Jorg Heymans. 2003-10-16 Tilmann Bitterberg * filter/filter_logo.c: Fix flipping with image lists (animated images). Pointed out by Jorg Heymans. 2003-10-16 Tilmann Bitterberg * filter/subtitler/*: Upgrade to external version 0.6.5 from http://www.home.zonnet.nl/panteltje/subtitles/ 2003-10-15 Tilmann Bitterberg * 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 * import/import_dv.c: Add UYVY support. * import/import_rawlist.c: Add native support for UYVY raw image files. 2003-10-15 Tilmann Bitterberg * filter/extsub/filter_extsub.c: Fix direction of vertical shifting. 2003-10-14 Tilmann Bitterberg * filter/extsub/filter_extsub.c: Fix a bug when vertshift does not shift. Pointed out by Justin Graham. 2003-10-14 Helge Klein * 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 * src/transcode.c: Fix a fatal error when using --accel on PPC. Pointed out by Nicolas Boos. 2003-10-13 Seth Green * 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 * 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 * filter/filter_smartyuv.c: Fix a segfault pointed out by LethalWP. 2003-10-12 Tilmann Bitterberg * 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 * 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 * 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 * import/tcprobe.c src/probe.c: Have tcprobe print the probed values for -D and --av_fine_ms. 2003-10-12 Tilmann Bitterberg * 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 * export/{vid_aux.c vid_aux.h}: UYVY to YUY2 conversion routine added. 2003-10-12 Tilmann Bitterberg * 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 * libioaux/configs.c: Nicer printout when not finding its config. 2003-10-12 Tilmann Bitterberg * 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 * 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 * 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 * export/export_dvraw.c: Set the aspect ratio correctly depending on --export_asr. 2003-10-06 Nicolas Boos * filter/filter_hqdn3d.c: Fix a typo and print the correct default values 2003-10-06 Tilmann Bitterberg * export/export_raw.c: Fix a segfault when not doing m2v pass-thru. 2003-10-06 Tilmann Bitterberg * 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 * import/import_xml.c: Fix missing break's; fix --dv_yuy2_mode option with import_xml module 2003-10-02 Tilmann Bitterberg * 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 * 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 * 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 * 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 * 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 * 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 * export/{export_sampeg.c Makefile.am}: Remove export_sampeg.c. It was unfinished code and did never anything usefull 2003-09-30 Tilmann Bitterberg * export/export_pcm.c: Fix a floating point exception pointed out by Nicolas Boos 2003-09-30 Tilmann Bitterberg * 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 * 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 * export/aud_aux.c: Fix a bug when compiled with included lame 2003-09-29 Christopher Cramer * 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 * import/clone.c src/decoder.c: Fix a few compiler warnings 2003-09-29 Tilmann Bitterberg * 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 * libtool config.h.in autotools/*: Upgrade to libtool 1.5 2003-09-25 Malanchini Marzio * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * import/fileinfo.c: Fix detection for some MOV files (which start with tag "pnot") 2003-09-04 Tilmann Bitterberg * filter/*c: Add optstr description 2003-09-03 Tilmann Bitterberg * 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 * 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 * export/{export_xvid[234].c}: Fixes for MacOSX (dlerror must be const) and verbose debugging for export_xvid2 2003-09-03 Tilmann Bitterberg * filter/extsub/filter_extsub.c tools/tcmodinfo: Enable option string interface in the subtitle filter. 2003-09-03 Nicolas Laurent * export/aud_aux.c: Completely rewritten audio export core. There should be no user visible changes. 2003-09-02 Tilmann Bitterberg * 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 I have created a video tutorial about how to use this new module, grab the clip from 2003-09-02 Tilmann Bitterberg * avilib/avilib.c import/extract_pcm.c: Small fixup for WAVE files with a slighly different header 2003-08-31 Markus Linnala * acinclude.m4: Better check for theora. 2003-08-31 Markus Linnala * 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 * 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 * 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 * INSTALL: Info about how to get access to the CVS tree. 2003-08-27 Tilmann Bitterberg * filter/filter_mask.c: Fix YUV mode, make the filter clear out chroma, too. Helptext. 2003-08-27 Tilmann Bitterberg * filter/filter_smartyuv.c: Added MMX assembly code and rewrote some of the other routines 2003-08-26 Antonio Beamud Montero * filter/filter_compare.c: new debug messeages and make the code more robust 2003-08-25 Malanchini Marzio * 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 * 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 * 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 * import/import_ogg.c: enable real ogg demuxing as it was broken for quite a while. 2003-08-23 Christian Marillat * export/Makefile.am export/Makefile.in: When doing the symlink for export_xvid.so, respect DESTDIR 2003-08-23 Tilmann Bitterberg * docs/man/tcdecode.1: Add description of -A flags 2003-08-23 Tilmann Bitterberg * 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 * 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 * export/export_mpeg.c: Flush all buffers at exit. Pointed out by Marzio Malanchini. 2003-08-20 marrq * 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 * 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 * src/encoder.c: Fix a bug where a frame gets (post)processed twice mostly noteable in split mode (-t) 2003-08-19 Tilmann Bitterberg * 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 * filter/filter_smartyuv.c: More speed optimizations rendering the filter source completely unreadable. 2003-08-19 Malanchini Marzio * 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 * 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 * avilib/avilib.c: fixup writing header of PCM tracks 2003-08-15 Tilmann Bitterberg * 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 * 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 * filter/filter_hqdn3d.c: Fix a bug when parsing the options (%f != %lf). Pointed out by Erik Slagter. 2003-08-14 Tilmann Bitterberg * 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 * 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 * 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 * 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 * 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 * 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 * 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 * transcode.spec.in: fixed docs installation (current spec file did not work on Red Hat 9); minor cleanups. 2003-08-08 Christopher Cramer * 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 * 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 * filter/preview/display.c, filter/preview/pv.c: MacOSX fixes: Remove the need for on_exit, disable SDL. 2003-08-06 Tilmann Bitterberg * 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 * export/export_jpg.c: Native YUV mode encoding; there will be no more an rgb2yuv transform needed so its considerable faster. -------------------------------------------- transcode-0.6.9 Tue Aug 5 09:22:09 CEST 2003 * Terse/less technical ChangeLog: - Add subtitle support to -x dvd - Big endian fixes for wav audio handling - Big xvid update, there are now 3 modules. Read the ChangeLog for this - Bugfix for -z; thread issues caused image distortion - Bugfix for libac3, can be compiled with -msse now - Bugfix in -J text; transparency was broken. - Bugfix in -y ogg; quoting related - Bugfix in -x ogg; probing and decoding broken - Bugfix: avimerge, -split and -sync were broken for PCM audio - Docu: (Developer) internal architecture - Docu: avisplit(1) explains what do about bad AVI sync. - Docu: how to do framerate conversions with transcode - Docu: transcode(1) explains the different meanings of -F - Enable directory mode for pass-through AVI files with -y raw - Filters can now take arguments at any length - Fix sefault in tccat when called with no -i argument - Improved -J 29to23; more accurate interpolation - Improved -J 32detect; now searches chroma planes too - Improved filter smartyuv; much faster now - Improved filter cut; Make the filter aware of framerate changes - Improved option --keep_asr; takes probed import asr into account - Improved spec file - Internal; New frame attribute TC_FRAME_IS_OUT_OF_RANGE - Internal; config parser more generic - Internal; really clone a frame - MP2/MP3 synchword detection improved, better broken streams handling - Native directory mode for -x auto,mp3 - Nearly bugfix when doing AC3-passthrough with multiple PSUs - New command line option --export_fps N,frc - New configure switch --with-default-xvid; creates a export_xvid symlink - New contrib/mpipe.c; a simple tool for input data multiplexing - New filter detectsilence; prints silence position in milliseconds - New filter fps; convert framerate X to Y; similar to modfps - New filter modfps; convert framerate X to framerate Y - New filter msharpen; spatial sharpening - New tool tcmp3cut which can cut mp3 streams at milliseconds positions - No more Latin-1 characters -- Sorry Thomas Ö. - Option -b now takes a 4th argument; lame encoding mode - Re-enable detection of DIV3 keyframes with -x divx - The linear blend deinterlace now also deinterlaces chroma - Transcode now writes a correct AVI PCM header for windows players - Variable framerate mpegs support - Very much improved MacOSX support - libtheora configure check update - ./configure's lame detection improved - print the correct PCM bitrate - Nicer/correct printout for -r - xml import module can read all af6 supported codecs 2003-08-05 Tilmann Bitterberg * import/{ogmstreams.h probe_ogg.h}: Fix ogm probing an a few mem leaks. 2003-08-04 Benjamin Riefenstahl * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 2003-07-30 Tilmann Bitterberg * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * import/import_dvd.c: Add subtitle support to -x dvd (support for the extsub filter) 2003-07-18 marrq * 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 * 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 * filter/filter_29to23.c: Do more accurate linear interpolation, YUV support and cleanup 2003-07-17 Tilmann Bitterberg * 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 * 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 * 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 * 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 * filter/filter_text.c: transparency was broken. Pointed out by Ralf Smolarek 2003-07-10 Tilmann Bitterberg * 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 * src/transcode.c: When using -r, calculate the correct aspect ratio. 2003-07-09 Tilmann Bitterberg * tools/avisync, avisplit, avimerge: Bugfix when handling files with PCM audio track. Pointed out by Petr Holub. 2003-07-09 Marzio Malanchini * 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 * 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 * 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 * 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 * 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 * 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 * src/probe.c import/probe_ogg.c acinclude.m4 configure.in: Preliminary probing support for Theora 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 * 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,