Libavfilter: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
(Rename "Current ideas" section)
(Add "Issues that have to be fixed before adding to main tree" section)
Line 8: Line 8:
FFmpeg's already well-known [[libavcodec]] module has become the de facto standard library for video decoding and encoding in free software projects. Unfortunately, no similar standard library has surfaced for audio/video filtering and otherwise working with audio/video stream once it has been decoded. Various multimedia projects (such as MPlayer, Xine, GStreamer, VirtualDub, etc.) have implemented their own filter systems to various degrees of success. What is needed is a high quality audio and video filter API - efficient, flexible enough to meet all the requirements which have led various projects to invent their own filter system, and yet easy to use or develop new filters with. This proposal is to implement a high quality video API and filter library for FFmpeg, where it can be easily used by other multimedia-related software projects.
FFmpeg's already well-known [[libavcodec]] module has become the de facto standard library for video decoding and encoding in free software projects. Unfortunately, no similar standard library has surfaced for audio/video filtering and otherwise working with audio/video stream once it has been decoded. Various multimedia projects (such as MPlayer, Xine, GStreamer, VirtualDub, etc.) have implemented their own filter systems to various degrees of success. What is needed is a high quality audio and video filter API - efficient, flexible enough to meet all the requirements which have led various projects to invent their own filter system, and yet easy to use or develop new filters with. This proposal is to implement a high quality video API and filter library for FFmpeg, where it can be easily used by other multimedia-related software projects.


== Features needed ==
== Issues that have to be fixed before adding to main tree ==
* See the [http://svn.mplayerhq.hu/soc/libavfilter/TODO?view=co TODO file] in SoC SVN tree
* ffmpeg.c/ffplay.c integration is broken (more details in -soc post [http://lists.mplayerhq.hu/pipermail/ffmpeg-soc/2008-January/002324.html])
* ?
* no frame rate estimation is supported (see post in -soc [http://lists.mplayerhq.hu/pipermail/ffmpeg-soc/2007-December/002283.html])
 


== Feature wish list ==
== Feature wish list ==
Line 17: Line 16:
'''Warning:''' This is not an official wish list. Before implementing any one of these items, ask first in ffmpeg-devel.
'''Warning:''' This is not an official wish list. Before implementing any one of these items, ask first in ffmpeg-devel.


* See the [http://svn.mplayerhq.hu/soc/libavfilter/TODO?view=co TODO file] in SoC SVN tree
*Create a SDK (Software Development Kit) with templates for the A/V filter APIs
*Create a SDK (Software Development Kit) with templates for the A/V filter APIs
*Add support for audio filters
*Add support for audio filters

Revision as of 15:00, 3 January 2008

Until it is incorporated into FFmpeg, you may get the libavfilter source from GSoC SVN repository:

svn checkout svn://svn.mplayerhq.hu/soc/libavfilter

Please read its README to discover how to integrate it with ffmpeg and ffplay.

Reasons why a filter API is needed in FFmpeg

FFmpeg's already well-known libavcodec module has become the de facto standard library for video decoding and encoding in free software projects. Unfortunately, no similar standard library has surfaced for audio/video filtering and otherwise working with audio/video stream once it has been decoded. Various multimedia projects (such as MPlayer, Xine, GStreamer, VirtualDub, etc.) have implemented their own filter systems to various degrees of success. What is needed is a high quality audio and video filter API - efficient, flexible enough to meet all the requirements which have led various projects to invent their own filter system, and yet easy to use or develop new filters with. This proposal is to implement a high quality video API and filter library for FFmpeg, where it can be easily used by other multimedia-related software projects.

Issues that have to be fixed before adding to main tree

  • ffmpeg.c/ffplay.c integration is broken (more details in -soc post [1])
  • no frame rate estimation is supported (see post in -soc [2])

Feature wish list

Warning: This is not an official wish list. Before implementing any one of these items, ask first in ffmpeg-devel.

Past discussions on the topic

Threads with previous discussions in the subject:


Mentors

A'rpi (has expressed interest of possibly helping with implementing a filter API in FFmpeg, he also volunteering to help porting the MPlayer filters too if a such API becomes available http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2007-April/051164.html)


See also