X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=doc%2FTODO;h=f03270ec13d6664c67cf027665bc78b37d569a8b;hb=7659712749500d2307c24abb188766f8a96d87be;hp=8093f93a5880503e534c3c47e54d1a625c1c6503;hpb=9181577ccb1ddcb3d256b533de2badd0a4fd83e9;p=ffmpeg diff --git a/doc/TODO b/doc/TODO index 8093f93a588..f03270ec13d 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,59 +1,90 @@ ffmpeg TODO list: ---------------- -(in approximate decreasing priority order) - -Short term fixes: -- AV sync fix -- put ffserver patches -- reconstruct mpeg header frame rate in telecine case so that we do - not need to infer the real rate if it is not possible. -- RTP/RTSP streaming support in ffserver and in libav -- minimal support of video in ffplay - -Planned in next releases: - -- remove unused DCT code. -- fix stream selection (aka map) syntax. Start stream numbers at 1 in - listing. Find a syntax for stream ids (such as TS pids). -- add DV codec/format support -- fix bugs when stream begins with a P/B frame -- add qscale out. -- fix -sameq in grabbing -- add vivo format support (may need long term prediction support) -- add raw h263 decoding support -- add qscale out. -- find a solution to clear feed1.ffm if format change. -- fix 0 size picture in AVIs = skip picture -- rewrite huffyuv (http://www.math.berkeley.edu/~benrg/huffyuv.html) - -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. - -- 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. +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