FFmpeg Wishlist

From MultimediaWiki
Jump to navigation Jump to search

A temporary FFmpeg wish/todo list:

Decoders

  • g723.1/rtp decoder
  • g729/rtp decoder
  • Bethsoft VID decoder
  • a Monkey's Audio decoder, look at the c++ sdk sources
  • a JPEG2000 decoder
  • a gsm decoder
  • QCELP decoder spec is c.s0020 and source is c.r0020
  • AMV decoder, http://scrub50187.com/ has the creator. wikipedia has articles about the format also.
  • integer only vorbis decoder (to replace tremor)
  • LGPL'ed AAC decoder
  • Add j-type picture support to wmv8 decoder
  • MLP decoder
  • add b-frame support to ffsvq3
  • Indeo 4 and 5 decoder
  • vnc decoder, files created by vncrec. reuse code from VMware Video decoder. http://www.sodan.org/~penny/vncrec/

Demuxers

Features

Subtitles

  • Create a common 'subtitles display library or API' with all subtile decoders/demuxers gathered. Call it "libsubs" (or "libsub", "libsubtitles" or whatever). Move FFmpeg's existing VobSub and DVBsub code there, no matter if they are bitmap or text-based subs, and add any future subtile code there. This will help reduce future code replication and make it easier to add support for additional subtitles.
    • Maybe use MPlayer's recently added "libass" (SSA/ASS subtile reader) as a base for such a common library?
  • Closed captioning (CC) subtile support - (Closed captions for the deaf and hard of hearing, also known as "Line 21 captioning", uses VobSub bitmaps)
  • DivX Subtitles (XSUB) display/reader/decoder (Note: bitmap based subtitle, similar to VobSub)
  • SubRip (.srt) subtile support (Note: simple text-based based subtitle with timestamp)
  • Subviewer (.sub) subtile support (Note: simple text-based based subtitle with timestamp)
  • MicroDVD (.sub) subtile support (Note: simple text-based based subtitle with timestamp
  • Sami (.smi) subtile support (Note: simple text-based based subtitle with timestamp)
  • SubStation Alpha (.ssa+.ass) subtile support (Note: advanced text-based based subtitle with timestamps and XY location on screen)
  • RealText (.rt) subtile support
  • PowerDivx (.psb) subtile support
  • Universal Subtitle Format (.usf) subtile support
  • Structured Subtitle Format (.ssf) subtile support

Misc

  • NSV muxer
  • add PAFF to H.264 decoder
  • clean up alac decoder
  • integrate speex, glue code or native
  • add xing or vbri header parsing support to the mp3 decoder/parser
  • add GAIN (MP3Gain) header parsing support to the MP3 decoder/parser
    • also add GAIN (AACGain) header parsing support to the AAC decoder/parser
  • a aac parser so -acodec copy to mp4/mov works
  • clean up the h263 rtp patch found on this page: http://www.salyens.com/downloads/index.html#ffmpeg-0.4.7
  • add nice error messages to the flv demuxer(Nelly Moser) amr decoder and dv encoder/decoder
  • game formats:

Snow

  • multiple reference frames improvements
    • decide which frames to keep (e.g. long-term refs)
    • some changes to the mv prediction code
  • non translational motion compensation
    • estimate non translational parameters per block by using surrounding motion vectors
    • add a ac coded bit per block to switch between translational and non-translational MC
    • borrow the non translational MC code from libmpcodecs/vf_perspective.c
    • some changes to the encoder to decide between translational and non t.
  • Trellis quantization (select quantized coefficient so as to minimize the rate distrortion
  • 4x4 sized block support (we have 16x16 and 8x8 currently)
  • 1/8 pel motion compensation / estimation support (pretty much just encoder changes needed which in case of the iterative me should be trivial)
  • improve the intra color decision


A/V Filters