aboutsummaryrefslogtreecommitdiffstats
path: root/doc/TODO
blob: 4158f51e6ad59fa7fed8a98e55ef4506486485af (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
ffmpeg TODO list:
----------------

Fabrice's TODO list: (unordered)
-------------------
Short term:

- seeking API and example in ffplay
- 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
- 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.
- 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: (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
- 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)
- finish NUT implementation
- movenc.c fix stts so that variable framerate files work
- seeking regression test
- regression tests for codecs which dont have an encoder (I+P frame bitstream in svn)
- add support for using mplayers video filters to ffmpeg
- reverse engeneer RV30/RV40
- finish implementation of WMV2 j-picture
- 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
- set up roundup bugtracker somewhere with (newBug, reproduced, analyzed, fixed, worksForMe, duplicate, wontFix, invalid, needMoreInfo, newPatch, ok, applied, rejected, needChanges, newRequest, implemented, wontImplement, invalidReq) states and a checked integer
- convert all the non SIMD asm into small asm vs. C testcases and submit them to the gcc devels so they can improve gcc