Add a -loglevel command line option to ffplay.
[ffmpeg.git] / doc / TODO
1 ffmpeg TODO list:
2 ----------------
3
4 Fabrice's TODO list: (unordered)
5 -------------------
6 Short term:
7
8 - use AVFMTCTX_DISCARD_PKT in ffplay so that DV has a chance to work
9 - add RTSP regression test (both client and server)
10 - make ffserver allocate AVFormatContext
11 - clean up (incompatible change, for 0.5.0):
12     * AVStream -> AVComponent
13     * AVFormatContext -> AVInputStream/AVOutputStream
14     * suppress rate_emu from AVCodecContext
15 - add new float/integer audio filterting and conversion : suppress
16   CODEC_ID_PCM_xxc and use CODEC_ID_RAWAUDIO.
17 - fix telecine and frame rate conversion
18
19 Long term (ask me if you want to help):
20
21 - commit new imgconvert API and new PIX_FMT_xxx alpha formats
22 - commit new LGPL'ed float and integer-only AC3 decoder
23 - add WMA integer-only decoder
24 - add new MPEG4-AAC audio decoder (both integer-only and float version)
25
26 Michael's TODO list: (unordered) (if anyone wanna help with sth, just ask)
27 -------------------
28 - optimize H264 CABAC
29 - more optimizations
30 - simper rate control
31
32 Francois' TODO list: (unordered, without any timeframe)
33 -------------------
34 - test MACE decoder against the openquicktime one as suggested by A'rpi
35 - BeOS audio input grabbing backend
36 - BeOS video input grabbing backend
37 - publish my BeOS libposix on BeBits so I can officially support ffserver :)
38 - check the whole code for thread-safety (global and init stuff)
39
40 Philip'a TODO list: (alphabetically ordered) (please help)
41 ------------------
42 - Add a multi-ffm filetype so that feeds can be recorded into multiple files rather
43   than one big file.
44 - Authenticated users support -- where the authentication is in the URL
45 - Change ASF files so that the embedded timestamp in the frames is right rather
46   than being an offset from the start of the stream
47 - Make ffm files more resilient to changes in the codec structures so that you
48   can play old ffm files.
49
50 Baptiste's TODO list:
51 -----------------
52 - mov edit list support (AVEditList)
53 - YUV 10 bit per component support "2vuy"
54 - mxf muxer
55 - mpeg2 non linear quantizer
56
57 unassigned TODO: (unordered)
58 ---------------
59 - use AVFrame for audio codecs too
60 - rework aviobuf.c buffering strategy and fix url_fskip
61 - generate optimal huffman tables for mjpeg encoding
62 - fix ffserver regression tests
63 - support xvids motion estimation
64 - support x264s motion estimation
65 - support x264s rate control
66 - SNOW: non translational motion compensation
67 - SNOW: more optimal quantization
68 - SNOW: 4x4 block support
69 - SNOW: 1/8 pel motion compensation support
70 - SNOW: iterative motion estimation based on subsampled images
71 - SNOW: try B frames and MCTF and see how their PSNR/bitrate/complexity behaves
72 - SNOW: try to use the wavelet transformed MC-ed reference frame as context for the entropy coder
73 - SNOW: think about/analyize how to make snow use multiple cpus/threads
74 - SNOW: finish spec
75 - FLAC: lossy encoding (viterbi and naive scalar quantization)
76 - libavfilter
77 - JPEG2000 decoder & encoder
78 - MPEG4 GMC encoding support
79 - macroblock based pixel format (better cache locality, somewhat complex, one paper claimed it faster for high res)
80 - regression tests for codecs which do not have an encoder (I+P-frame bitstream in svn)
81 - add support for using mplayers video filters to ffmpeg
82 - H264 encoder
83 - per MB ratecontrol (so VCD and such do work better)
84 - 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
85 - convert all the non SIMD asm into small asm vs. C testcases and submit them to the gcc devels so they can improve gcc
86 - generic audio mixing API
87 - extract PES packetizer from PS muxer and use it for new TS muxer
88 - implement automatic AVBistreamFilter activation
89 - make cabac encoder use bytestream (see http://trac.videolan.org/x264/changeset/?format=diff&new=651)
90 - merge imdct and windowing, the current code does considerable amounts of redundant work