Warning: this is page is a Work in Progress :)
This page was previously known as 'Roadmap'
This page summarizes what transcode's development team is doing on the development branch. New features and improvements are taking place on the CVS HEAD branch; see Download for more information.
List for Francesco Romani (fromani -at- gmail -dot- com):
- reorganize tc_functions (debug messages)
- port almost all messages in transcode modules to such functions (*very* long & boring process, but we need to do so)
- reorganize various *alloc()s scatthered through core, tools and modules in a common place -> tc_alloc
- same as above for some I/O related functions (iodir & co, scan() function in some import modules)
- merge my pet patch about modular encoder (if someone doesn't suggest any better) :^)
- better mplayer integration (autoprobing support)
In progress (before 1.1.0):
things that MUST be in 1.1.0
- make sure documentation is up-to-date and accurate.
- new module system (NMS) for transcode, and split up export layer in encode + muxing layer. Provide working transcode using NMS and new tcexport helper (debug) tool. Don't forget manpages!
- new encoder module: x264 using libx264 (thanks to Christian Bodenstedt)
- fix all known tccat problems and regressions.
- fix probing code as pointed out by Frank Mayhar (http://article.gmane.org/gmane.comp.video.transcode.devel/3876). Maybe rewrite and reorganize fileinfo.c & friends (all the really-low level probing code)
things that I would REALLY like to have in 1.1.0
- rewrite tccat and transform it into a library, then reimplement tccat itself using such library
- new import modules: ALSA and testframes generator
- new multiplexor module: MP4 using libmp4 (in doubt)
Coming soon (after 1.1.0):
- integrate libsupport and libdldarwin in libtc
- sanitize signed VS unsigned issue (char* -> uint8_t*) (to be completed)
- port (and rewrite) filter modules to NMS.
- mpeglib: does for MPEGs what avilib does for AVIs. Stay tuned on http://fromani.exit1.org/mpeglib/index.html.
- import module to generate test frames
- find a clean & simple way to decouple modules and core. How we can hold config data?
- get rid at least partially of tctools chain *in import modules*, use directly libraries or whatever
- split-up import layer in demuxing + decode layer. Isn't really hard, but requires a lot of infrastructure work to be done cleanly
Some sparse ideas for future
- introduce bindings/wrappers/whatever for ogg/mkv/mp4 (ogglib & co?)...
- polish heavily avilib
- review frame handling code, maybe moving into libtc or into a new crafted support library
- per-module filter chains?
Never ending efforts:
- bugfixes [ALWAYS in progress :)]
- improve testing infrastructure (more and more)
List for Andrew Church (achurch -at- achurch -dot- org):
- Standardize all modules' YUV processing on YUV420P/YUV422P (Y:U:V planar) format (seems to be done?)
- Move commonly-used audio and video processing functions to utility libraries
- Clean up the transcode core source (src/*)
- Add automatic colorspace / image format conversion in the transcode core, so individual modules don't have to do the conversion themselves