summaryrefslogtreecommitdiffstats
path: root/debian/transcode/transcode-1.1.7/docs/RELNOTES-1.1.0
diff options
context:
space:
mode:
Diffstat (limited to 'debian/transcode/transcode-1.1.7/docs/RELNOTES-1.1.0')
-rw-r--r--debian/transcode/transcode-1.1.7/docs/RELNOTES-1.1.0280
1 files changed, 280 insertions, 0 deletions
diff --git a/debian/transcode/transcode-1.1.7/docs/RELNOTES-1.1.0 b/debian/transcode/transcode-1.1.7/docs/RELNOTES-1.1.0
new file mode 100644
index 00000000..4235a663
--- /dev/null
+++ b/debian/transcode/transcode-1.1.7/docs/RELNOTES-1.1.0
@@ -0,0 +1,280 @@
+===============================
+ Transcode 1.1.0 Release Notes
+===============================
+:Info: See <http://www.transcoding.org> for more documentation.
+:Author: Francesco Romani <fromani@gmail.com>
+:Date: $Date: 2008-12-24 09:51:18 $
+:Revision: $Revision: 1.1.2.8 $
+
+
+Introduction
+============
+
+The transcode team is pleased to announce the avalbility of transcode 1.1.0.
+Transcode 1.1.0 is our new major release, that establishes a new milestone for
+the project: we have started a massive reorganization of the code, aiming to
+address some historical weakness of the project and to prepare land for next
+major enhancements.
+Despite the huge effort expended, 1.1.0 is a transitional release.
+Most of the resources were employed to make the project foundations better,
+and a very few benefits surfaced so far; But our effort was fruitful, so
+we are ready to develop some new exciting news for next releases. Expect
+quicker and more interesting releases soon.
+
+
+Overview
+========
+
+This section outlines the changes between transcode 1.0.x and 1.1.0.
+
+---
+
+(transcode) Command line reorganization
+ Some options are renamed, some other are merged, a few others are removed,
+ in order to make the command line more rational and consistent; online help
+ (-h) layout was massively reorganized to improve readability.
+
+(transcode) Module cleanup
+ During 1.1.0 development cycle the duplicated, obsolete or even broken modules
+ are been dropped in order to reduce the maintenance burden without reducing the
+ feature set. Some modules that duplicates the functionalities of the core are
+ been removed as well, and core functionalities was enhanced.
+
+(overall) Internal colorspace rationalization
+ Usage of default colorspace (YUV420P) used internally in transcode is made
+ consistent through core and modules. No more random usage of -k option,
+ that is still of course avalabile, and no more blue people.
+ The support to UYVY colorspace (YUV 4:2:2 packed) was dropped in favour of
+ planar YUV 4:2:2. Now transcode associates yuv422 to planar, no longer to packed.
+
+(transcode) Frame counter improvements
+ The output of frame counter, that also acts as progress meter, was rewritten
+ and improved. Now it shows more precisely the extimate finishing time, and
+ it now precisely shows the number of frames in every processing step.
+
+(tools) New output modes for tcprobe
+ tcprobe features two now output modes: extended output (option -X) is more
+ human-friendly and less cluttered; raw output (-R) is intended to be more stable
+ in time and easier to parse for machines. Old output mode is of course still
+ the default.
+
+(overall) **LOT** of bugfixes
+ **ALL** bugfixes, and much more, applied to 1.0.x branch are of course
+ applied as well on this release.
+
+(transcode) new multiple input mode (**technology preview**)
+ In the past releases, a few modules where capable to handle a directory as a source
+ and join all file contained. This feature extend trasparently this capability to *all*
+ modules, allowing the user to specify a collection of -of course, homogeneous- sources
+ that will be intelligently join. This feature can be enabled using --multi_input mode,
+ but is still a preview, only a few modules are supported. See transcode(1) for details.
+
+(overall) new experimental modules (**technology preview**)
+ As part of internal reorganization and rationalization (see below), a new, revised, improved
+ architecture for writing transcode modules was introduced. New architecture (*NMS* in transcode
+ jargon) allows to write more specialized modules, enhances their combinations and reduces
+ code replication. A fair number of new modules are been written, and more are avalaible
+ in CVS; those modules are fairly stable, but disabled by default to simplify things for the user.
+ We expect to fully switch to new modules at least for export side for transcode 1.2.0.
+
+(overall) better module introspection (**technology preview**)
+ Another important benefit of new module architecture is to allow the modules to communicate
+ with transcode core in more complete and unified fashion. The immediate benefit is that
+ now tcmodinfo is capable to show some module properties (of NMS-compliant modules).
+ In the long term, this will allow some more juicy things like autocalculation of optimum
+ buffer size, auto colorspace negotiation and so on.
+
+(pvm3) the pvm3 code is officially marked as unsupported (and please remember that it was
+ informmaly unsupported from a while), and it is probably broken. It is leaved as it is
+ for legacy purposes, but users depending on this should stick on 1.0.x branch.
+
+(modules) new modules
+ * import_vag:
+ decodes VAG audio from PlayStation.
+ * import_pv3:
+ provides access to Earth Soft PV3 audio/video streams using
+ win32 binary codecs and an internal win32 emulation layer (NO wine needed).
+ * filter_yait:
+ yait is an advanced, two-step inverse telecine filter contributed by Allan Snider.
+ The filter purpose and working method can be summarized as follows:
+ "[yait] is designed specifically to handle mixed progressive and NTSC telecined data
+ (2:3 pulldown), converting from NTSC_VIDEO (29.97 fps) to NTSC_FILM
+ (23.976 fps). It uses row save and copy operations to reconstruct progressive
+ frames. It is provided as an alternative to the -J ivtc,32detect,decimate method."
+ * filter_stabilize, filter_transform:
+ This pair of filter constitutes the vid.stab project of Georg Martius.
+ The project can be summarized as follows:
+ "Imagine you captured a nice video with your camcorder, compact camera or even cell phone
+ while skiing, cycling or whatever sports and the video is basically just jiggled.
+ Modern cameras come along with hardware stabilisation, however this does not work
+ if you have really strong vibrations - rather the contrary sometimes this mechanisms start
+ to oscillate. vid.stab is your friend in this matter."
+ Find out more on http://public.hronopik.de/vid.stab/ .
+
+(modules) improved modules
+ * import_mplayer:
+ this module was greatly improved to better integrate with mplayer, autodetecting the proper
+ settings. A -M option was also added to tcprobe, to let the program use mplayer internally
+ for probing, in order to have coherent settings.
+ A further option --mplayer_probe was added to transcode. This option automatically loads
+ mplayer import modules both for audio and video streams and also force mplayer for
+ detection of streams parameters.
+ Using --mplayer_probe will (Just Work[tm]) in a broad amount of cases.
+ * import_avi:
+ internal colorspace conversion for raw content was added. Now this module trasparently
+ convert the raw content to selected colorspace.
+ * filter_logo:
+ Sebastian Kun kindly provided a patchset to enhance the capabilities of this filter.
+ Highlights:
+ - allow multiple instances of filter.
+ - added support for alpha transparency; added an optional
+ parameter 'fade:x-y' that makes the image fade in for x
+ frames and fade out for y frames.
+ - add new UV rescale algorhytm to achieve better results.
+ added a new parameter 'hqconv' to control this behavior
+ (default off).
+ * all LZO-related modules:
+ those modules are ported, and thus now require, to liblzo version 2.
+ * import_vob:
+ The `nodemux' option was added. This option allow to skip the internal synchronization
+ code that can deliver broken results in some still unknown cases.
+ * import_ffmpeg:
+ The `nopad' option was added. This option allow to force to off the input padding setting
+ that is sometims incorrectly setup by libavcodec in some still unknown cases.
+ Use this setting if you see the 'slice end reached but...' message during your transcoding.
+
+ You can see the full list of modules options by reading the new split manpages (see below).
+
+(overall) massive architectural reorganization
+ A great amount of effort was spended in order to reorganize, modularize and document the
+ transcode codebase. The first result is the introduction of the following libraries:
+
+ * aclib - ASM accelerated low-level routines.
+ * libtc - utilities and common infrastructure.
+ * libtcvideo - high-level video conversion/handling routines.
+ * libtcaudio - high-level audio conversion/handling routines.
+
+(overall) growing testsuite
+ During the 1.1.0 development cycle, we've steadily incremented the amount of automated tests for
+ the codebase. The long-term goal is to have a comprehensive and automatic test suite, including
+ the autogeneration of sample test files.
+
+(documentation) documentation improvements
+ The improvement of documentation for both user and developer side was another goal of this
+ new development cycle. Foundations are been laid with the reorganization of manpages.
+ Much more effort was spent -and will be spent- with the careful and comprehensive introduction
+ of source code comments, describing internal APIs; with the introduction of developer-oriented
+ documentation and tutorial. More will come. Keep your eyes on docs/tech tree and on our sites.
+
+(documentation) manpage revision and split
+ The transcode manpage was a huge, scaring beast. We're splitted it into four pieces, describing
+ the transcode core and the modules, divided per module class (import, filter, export).
+ Splitted manpages are now the official reference for the options of the modules.
+
+(tools) more helper tools
+ * tcexport - provides direct access to transcode export layer.
+ * tcmodchain - test if two modules can be joined together.
+
+
+User visible Changes
+====================
+
+See the document `CHANGES-1.0-1.1' for a detailed list of user-visible changes,
+including commandline options and their syntax, and transcode's output.
+
+
+For Developers
+==============
+
+A big amount of effort during the development cycle of the 1.1.0 release was spent
+to make transcode a much more friendlier development environment. We laid substantial
+infrastructural changes that will allow substantial improvements during the next cycles.
+Anyway, on the infrastructural side, more has still to come.
+
+---
+
+* Coding Guidelines
+ The coding guidelines for the project are been reorganized and formalized.
+ See the STYLE file for the complete description of guidelines.
+ Every change to transcode is now required to conform to such guidelines, with
+ the partial exception of thirdy-party patches being merged. In that case
+ the STYLE can be adjusted after the merge. Of course providing patches
+ conformant to STYLE is the best option.
+
+ With the introduction of the STYLE guidelines, a series of conventions emerged as well.
+ Some coding principles are now established in the transcode development:
+ - Document your code: don't *FORCE* the developer to read the source to figure out
+ how something actually works. In the common case, reading comments/docs should be enough.
+ - Don't duplicate code: cut'n'paste is banned. If two or more pieces of code share
+ a common part, this part will be extracted, polished, documented and moved into an
+ upper layer/utility library.
+ - Divide and conquest: promote and enforce modularization. A piece of code should do
+ just one thing, and it should rely on other parts to compose something bigger
+
+ See docs/tech/html/tc_libraries.html for a list of existing ancillary libraries.
+ For further discussion, use the transcode-devel mailing list.
+
+* NMS: New Module System
+ The New Module System (NMS) is an ongoing effort to reorganize and improve the other
+ big component of transcode: the modules.
+ The NMS was designed from scratch in order to solve the following problems with
+ the old module system:
+ . poor granularity: a former `export' module includes both encoding and multiplexing
+ (and output handling), so it is impossible to add a new encoder alone, or muxer alone,
+ and any way to combine both aspect will lead in code duplication (compare
+ export_dv and export_dvraw, and export_xvid and encode_xvidraw and so on);
+ The same applies for import side (`import' means both demultiplexing and decoding).
+ . poor module capability inspection: transcode core has very limited way to query
+ the module capabilities and/or needs, so module autoloading or efficient resource
+ usage (es, buffer sizing) is hard or impossible.
+ . old API promotes bad coding practices (`the huge function syndrome') while NMS
+ promotes division of functionalties in small pieces (short: modularization).
+ . new API has built-in multiple instances support, while this was handled per-module
+ in the past system.
+
+ Documentation for NMS is avalaible in
+ docs/tech/module-system-API.txt
+
+ the NMS headers are also worth reading, because they are heavily commented. See
+ libtc/tcmodule*.h
+
+ For the 1.1.0 release, an almost complete NMS export layer, including a collection
+ of encode and multiplex modules is shipped disabled by default as technology preview
+ for developers and brave users. Built it by configuring transcode with
+ ./configure --enable-experimental [options]
+
+ The switch to a full NMS-powered export layer is scheduled for the next major release
+ (1.2.0). Then, the other layers will follow.
+
+* Testing
+ While transcode is note, and it will likley never be, test-driven, we think automated
+ tests are a _very_ valuable tool. So, a growing subset of the codebase has now automated
+ tests in testsuite/.
+ The testsuite will stay up-to-date and will be expanded to cover more and more of the code.
+ The long-term purpose is to have a full-automated regression suite which can cover
+ both basic routines and both high-level transcodes, even by autogenerating sources.
+ If you want to contribute to transcode, it is recommended to
+ - run the testsuite when you developing, in order to avoid regressions.
+ - add more tests to testsuite, in order to reduce the risk of uncaught regressions.
+
+
+Bugs
+====
+
+Despite the effort spent and the new focus on testing, due to large amount of code
+changed or being changed, there are likely new bugs in this release, and a few regressions
+are possible as well.
+Please help us in improving the quality of transcode by reporting bugs and crashes
+using the procedure described here:
+
+ http://www.transcoding.org/cgi-bin/transcode?Reporting_Problems
+ http://www.transcoding.org/cgi-bin/transcode?Reporting_Crashes
+
+Bugs should be reported in our bug-tracker (listed on http://www.transcoding.org) first;
+mailing list should be used as last resort.
+
+
+Last Words
+==========
+
+EOF