]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/blobdiff - doc/TODO
frsh: Export information about the last RTP contract and VRES
[frescor/ffmpeg.git] / doc / TODO
index 2ab9b3b577e5c2eff522275592b69559e4eededd..f03270ec13d6664c67cf027665bc78b37d569a8b 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,54 +1,90 @@
 ffmpeg TODO list:
 ----------------
 
-(in approximate decreasing priority order)
-
-Planned in next release:
-
-- fix ffserver (partially done)
-- add raw h263 decoding support, see vivo streams (partially done)
-- add qscale out.
-- add format autodetect with content (for example to distinguish
-  mpegvideo/mpegmux).
-- fix -sameq in grabbing
-- find a solution to clear feed1.ffm if format change.
-- new grab architecture : use avformat instead of audio: and video:
-  protocol.
-- fix 0 size picture in AVIs = skip picture
-
-BUGS:
-
-- fix audio/video synchro (including real player synchro bugs)
-
-- Improve the bit rate control for video codecs (done).
-
-- see ov511.o YUV problem (420 instead of 420P) (done?).
-
-- fix file caching pb in windows (add correct headers)
-
-- add low pass filter to suppress noise coming from cheap TV cards.
-
-- test/debug audio in flash format
-
-- sort out ASF streaming pbs (partially done)
-
-- Improve psycho acoustic model for AC3 & mpeg audio.
-
-FEATURES:
-
-- add h263 PB frame support (some I263 files use that).
-
-- add MPEG4 in mpegmux support.
-
-- add RTP / multicast layer.
-
-- demux streams for CCTV : N streams in one stream. Add option to
-  generate multiple streams.
-
-- add disconnect user option in stat.html.
-
-- deny & allow + password in ffserver.
-
-- graphical user interface.
-
-- animated gif as output format (done).
+Fabrice's TODO list: (unordered)
+-------------------
+Short term:
+
+- use AVFMTCTX_DISCARD_PKT in ffplay so that DV has a chance to work
+- add RTSP regression test (both client and server)
+- make ffserver allocate AVFormatContext
+- clean up (incompatible change, for 0.5.0):
+    * AVStream -> AVComponent
+    * AVFormatContext -> AVInputStream/AVOutputStream
+    * suppress rate_emu from AVCodecContext
+- add new float/integer audio filterting and conversion : suppress
+  CODEC_ID_PCM_xxc and use CODEC_ID_RAWAUDIO.
+- fix telecine and frame rate conversion
+
+Long term (ask me if you want to help):
+
+- commit new imgconvert API and new PIX_FMT_xxx alpha formats
+- commit new LGPL'ed float and integer-only AC3 decoder
+- add WMA integer-only decoder
+- add new MPEG4-AAC audio decoder (both integer-only and float version)
+
+Michael's TODO list: (unordered) (if anyone wanna help with sth, just ask)
+-------------------
+- optimize H264 CABAC
+- more optimizations
+- simper rate control
+
+Francois' TODO list: (unordered, without any timeframe)
+-------------------
+- test MACE decoder against the openquicktime one as suggested by A'rpi
+- BeOS audio input grabbing backend
+- BeOS video input grabbing backend
+- publish my BeOS libposix on BeBits so I can officially support ffserver :)
+- check the whole code for thread-safety (global and init stuff)
+
+Philip'a TODO list: (alphabetically ordered) (please help)
+------------------
+- Add a multi-ffm filetype so that feeds can be recorded into multiple files rather
+  than one big file.
+- Authenticated users support -- where the authentication is in the URL
+- Change ASF files so that the embedded timestamp in the frames is right rather
+  than being an offset from the start of the stream
+- Make ffm files more resilient to changes in the codec structures so that you
+  can play old ffm files.
+
+Baptiste's TODO list:
+-----------------
+- mov edit list support (AVEditList)
+- YUV 10 bit per component support "2vuy"
+- mxf muxer
+- mpeg2 non linear quantizer
+
+unassigned TODO: (unordered)
+---------------
+- use AVFrame for audio codecs too
+- rework aviobuf.c buffering strategy and fix url_fskip
+- generate optimal huffman tables for mjpeg encoding
+- fix ffserver regression tests
+- support xvids motion estimation
+- support x264s motion estimation
+- support x264s rate control
+- SNOW: non translational motion compensation
+- SNOW: more optimal quantization
+- SNOW: 4x4 block support
+- SNOW: 1/8 pel motion compensation support
+- SNOW: iterative motion estimation based on subsampled images
+- SNOW: try B frames and MCTF and see how their PSNR/bitrate/complexity behaves
+- SNOW: try to use the wavelet transformed MC-ed reference frame as context for the entropy coder
+- SNOW: think about/analyize how to make snow use multiple cpus/threads
+- SNOW: finish spec
+- FLAC: lossy encoding (viterbi and naive scalar quantization)
+- libavfilter
+- JPEG2000 decoder & encoder
+- MPEG4 GMC encoding support
+- macroblock based pixel format (better cache locality, somewhat complex, one paper claimed it faster for high res)
+- regression tests for codecs which do not have an encoder (I+P-frame bitstream in svn)
+- add support for using mplayers video filters to ffmpeg
+- H264 encoder
+- per MB ratecontrol (so VCD and such do work better)
+- write a script which iteratively changes all functions between always_inline and noinline and benchmarks the result to find the best set of inlined functions
+- convert all the non SIMD asm into small asm vs. C testcases and submit them to the gcc devels so they can improve gcc
+- generic audio mixing API
+- extract PES packetizer from PS muxer and use it for new TS muxer
+- implement automatic AVBistreamFilter activation
+- make cabac encoder use bytestream (see http://trac.videolan.org/x264/changeset/?format=diff&new=651)
+- merge imdct and windowing, the current code does considerable amounts of redundant work