X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=doc%2FTODO;h=6c0a8241079d06980cd7d6614f63caf244d45943;hb=682a48a1077200b947eb412aab8f5dacfa7d03a5;hp=d68b9f2df4de48fe16927248141b9ae40a7b02a2;hpb=6fc18700219ac5def649a708909a7e72e45b9134;p=ffmpeg diff --git a/doc/TODO b/doc/TODO index d68b9f2df4d..6c0a8241079 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,55 +1,91 @@ ffmpeg TODO list: ---------------- -Fabrice's TODO list: (in approximate decreasing priority order) +Fabrice's TODO list: (unordered) ------------------- -- add av_log() in libavcodec and suppress all printf +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 -- new ffplay based on qemacs x11/fb/vt100 GUI. -- commit av_read_frame() API and associated support in libavcodec: - ffserver will be able to stream MPEG and MPEG4 files in - RTSP/RTP/SDP. -- add new float/integer audio filterting and conversion - commit new LGPL'ed float and integer-only AC3 decoder - add WMA integer-only decoder -- integrate custom Vorbis Tremor based integer and float decoder - add new MPEG4-AAC audio decoder (both integer-only and float version) -- fix telecine and frame rate conversion Michael's TODO list: (unordered) (if anyone wanna help with sth, just ask) ------------------- -- finish implementation of WMV2 j-picture -- H264 codec (after its a standart or at least more stable) -- slower / better zonal ME -- per MB ratecontrol (so VCD and such do work better) +- optimize H264 CABAC - more optimizations - simper rate control -- split h263.c -- mpeg2 encoding (after the ME impovements) -- mpeg1 b frames (after the ME impovements) -- better mb decission Francois' TODO list: (unordered, without any timeframe) ------------------- - test MACE decoder against the openquicktime one as suggested by A'rpi -- mov/mp4 muxer - BeOS audio input grabbing backend - BeOS video input grabbing backend -- have a REAL BeOS errno fix (return MKERROR(EXXX);), not a hack - 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. + 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. -unassigned TODO: (stuff which should/must be done but noone seems to do it) +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) --------------- -- fix avi de(muxer) to handle the global header thing (needed for huffyuv/WMV2/ some M4S2) -- (try) to fix mpeg1/2 PTS +- 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) +- replace/rewrite libavcodec/fdctref.c +- 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