FFmpeg maintainers
==================

Below is a list of the people maintaining different parts of the
FFmpeg code.

Please try to keep entries where you are the maintainer upto date!

Names in () mean that the maintainer currently has no time to maintain the code.
A CC after the name means that the maintainer prefers to be CC-ed on patches
and related discussions.


Project Leader
==============

Michael Niedermayer
  final design decisions


Applications
============

ffmpeg:
  ffmpeg.c                              Michael Niedermayer

ffplay:
  ffplay.c                              Marton Balint

ffprobe:
  ffprobe.c                             Stefano Sabatini

ffserver:
  ffserver.c, ffserver.h                Baptiste Coudurier

Commandline utility code:
  cmdutils.c, cmdutils.h                Michael Niedermayer

QuickTime faststart:
  tools/qt-faststart.c                  Baptiste Coudurier


Miscellaneous Areas
===================

documentation                           Mike Melanson
website                                 Robert Swain, Lou Logan
build system (configure,Makefiles)      Diego Biurrun, Mans Rullgard
project server                          Árpád Gereöffy, Michael Niedermayer, Reimar Döffinger
mailinglists                            Michael Niedermayer, Baptiste Coudurier, Lou Logan
presets                                 Robert Swain
metadata subsystem                      Aurelien Jacobs
release management                      Michael Niedermayer


libavutil
=========

External Interfaces:
  libavutil/avutil.h                    Michael Niedermayer
Internal Interfaces:
  libavutil/common.h                    Michael Niedermayer

Other:
  intfloat*                             Michael Niedermayer
  rational.c, rational.h                Michael Niedermayer
  mathematics.c, mathematics.h          Michael Niedermayer
  integer.c, integer.h                  Michael Niedermayer
  bswap.h


libavcodec
==========

Generic Parts:
  External Interfaces:
    avcodec.h                           Michael Niedermayer
  utility code:
    utils.c                             Michael Niedermayer
    mem.c                               Michael Niedermayer
    opt.c, opt.h                        Michael Niedermayer
  arithmetic expression evaluator:
    eval.c                              Michael Niedermayer
  audio and video frame extraction:
    parser.c                            Michael Niedermayer
  bitstream reading:
    bitstream.c, bitstream.h            Michael Niedermayer
  CABAC:
    cabac.h, cabac.c                    Michael Niedermayer
  codec names:
    codec_names.sh                      Nicolas George
  DSP utilities:
    dsputils.c, dsputils.h              Michael Niedermayer
  entropy coding:
    rangecoder.c, rangecoder.h          Michael Niedermayer
    lzw.*                               Michael Niedermayer
  floating point AAN DCT:
    faandct.c, faandct.h                Michael Niedermayer
  Golomb coding:
    golomb.c, golomb.h                  Michael Niedermayer
  LPC:
    lpc.c, lpc.h                        Justin Ruggles
  motion estimation:
    motion*                             Michael Niedermayer
  rate control:
    ratecontrol.c                       Michael Niedermayer
    libxvid_rc.c                        Michael Niedermayer
  simple IDCT:
    simple_idct.c, simple_idct.h        Michael Niedermayer
  postprocessing:
    libpostproc/*                       Michael Niedermayer
  table generation:
    tableprint.c, tableprint.h          Reimar Doeffinger

Codecs:
  4xm.c                                 Michael Niedermayer
  8bps.c                                Roberto Togni
  8svx.c                                Jaikrishnan Menon
  aasc.c                                Kostya Shishkov
  ac3*                                  Justin Ruggles
  alacenc.c                             Jaikrishnan Menon
  alsdec.c                              Thilo Borgmann
  apedec.c                              Kostya Shishkov
  ass*                                  Aurelien Jacobs
  asv*                                  Michael Niedermayer
  atrac3*                               Benjamin Larsson
  bgmc.c, bgmc.h                        Thilo Borgmann
  bink.c                                Kostya Shishkov
  binkaudio.c                           Peter Ross
  bmp.c                                 Mans Rullgard, Kostya Shishkov
  cavs*                                 Stefan Gehrer
  celp_filters.*                        Vitor Sessak
  cinepak.c                             Roberto Togni
  cljr                                  Alex Beregszaszi
  cook.c, cookdata.h                    Benjamin Larsson
  crystalhd.c                           Philip Langdale
  cscd.c                                Reimar Doeffinger
  dca.c                                 Kostya Shishkov, Benjamin Larsson
  dnxhd*                                Baptiste Coudurier
  dpcm.c                                Mike Melanson
  dxa.c                                 Kostya Shishkov
  dv.c                                  Roman Shaposhnik
  eacmv*, eaidct*, eat*                 Peter Ross
  ffv1.c                                Michael Niedermayer
  ffwavesynth.c                         Nicolas George
  flac*                                 Justin Ruggles
  flashsv*                              Benjamin Larsson
  flicvideo.c                           Mike Melanson
  g722.c                                Martin Storsjo
  g726.c                                Roman Shaposhnik
  gifdec.c                              Baptiste Coudurier
  h264*                                 Loren Merritt, Michael Niedermayer
  h261*                                 Michael Niedermayer
  h263*                                 Michael Niedermayer
  huffyuv.c                             Michael Niedermayer
  idcinvideo.c                          Mike Melanson
  imc*                                  Benjamin Larsson
  indeo2*                               Kostya Shishkov
  indeo5*                               Kostya Shishkov
  interplayvideo.c                      Mike Melanson
  ivi*                                  Kostya Shishkov
  jpeg_ls.c                             Kostya Shishkov
  jvdec.c                               Peter Ross
  kmvc.c                                Kostya Shishkov
  lcl*.c                                Roberto Togni, Reimar Doeffinger
  libcelt_dec.c                         Nicolas George
  libgsm.c                              Michel Bardiaux
  libdirac*                             David Conrad
  libopenjpeg.c                         Jaikrishnan Menon
  libopenjpegenc.c                      Michael Bradshaw
  libschroedinger*                      David Conrad
  libspeexdec.c                         Justin Ruggles
  libtheoraenc.c                        David Conrad
  libvorbis.c                           David Conrad
  libxavs.c                             Stefan Gehrer
  libx264.c                             Mans Rullgard, Jason Garrett-Glaser
  loco.c                                Kostya Shishkov
  lzo.h, lzo.c                          Reimar Doeffinger
  mdec.c                                Michael Niedermayer
  mimic.c                               Ramiro Polla
  mjpeg.c                               Michael Niedermayer
  mlp*                                  Ramiro Polla
  mmvideo.c                             Peter Ross
  mpc*                                  Kostya Shishkov
  mpeg12.c, mpeg12data.h                Michael Niedermayer
  mpegvideo.c, mpegvideo.h              Michael Niedermayer
  msmpeg4.c, msmpeg4data.h              Michael Niedermayer
  msrle.c                               Mike Melanson
  msvideo1.c                            Mike Melanson
  nellymoserdec.c                       Benjamin Larsson
  nuv.c                                 Reimar Doeffinger
  pcx.c                                 Ivo van Poorten
  pgssubdec.c                           Reimar Doeffinger
  ptx.c                                 Ivo van Poorten
  qcelp*                                Reynaldo H. Verdejo Pinochet
  qdm2.c, qdm2data.h                    Roberto Togni, Benjamin Larsson
  qdrw.c                                Kostya Shishkov
  qpeg.c                                Kostya Shishkov
  qtrle.c                               Mike Melanson
  ra144.c, ra144.h, ra288.c, ra288.h    Roberto Togni
  resample2.c                           Michael Niedermayer
  rl2.c                                 Sascha Sommer
  rpza.c                                Roberto Togni
  rtjpeg.c, rtjpeg.h                    Reimar Doeffinger
  rv10.c                                Michael Niedermayer
  rv3*                                  Kostya Shishkov
  rv4*                                  Kostya Shishkov
  s3tc*                                 Ivo van Poorten
  smacker.c                             Kostya Shishkov
  smc.c                                 Mike Melanson
  snow.c                                Michael Niedermayer, Loren Merritt
  sonic.c                               Alex Beregszaszi
  srt*                                  Aurelien Jacobs
  sunrast.c                             Ivo van Poorten
  svq3.c                                Michael Niedermayer
  targa.c                               Kostya Shishkov
  tiff.c                                Kostya Shishkov
  truemotion1*                          Mike Melanson
  truemotion2*                          Kostya Shishkov
  truespeech.c                          Kostya Shishkov
  tscc.c                                Kostya Shishkov
  tta.c                                 Alex Beregszaszi, Jaikrishnan Menon
  txd.c                                 Ivo van Poorten
  ulti*                                 Kostya Shishkov
  v410*.c                               Derek Buitenhuis
  vb.c                                  Kostya Shishkov
  vble.c                                Derek Buitenhuis
  vc1*                                  Kostya Shishkov
  vcr1.c                                Michael Niedermayer
  vmnc.c                                Kostya Shishkov
  vorbis_enc.c                          Oded Shimon
  vorbis_dec.c                          Denes Balatoni, David Conrad
  vp3*                                  Mike Melanson
  vp5                                   Aurelien Jacobs
  vp6                                   Aurelien Jacobs
  vp8                                   David Conrad, Jason Garrett-Glaser, Ronald Bultje
  vqavideo.c                            Mike Melanson
  wavpack.c                             Kostya Shishkov
  wmaprodec.c                           Sascha Sommer
  wmavoice.c                            Ronald S. Bultje
  wmv2.c                                Michael Niedermayer
  wnv1.c                                Kostya Shishkov
  xan.c                                 Mike Melanson
  xl.c                                  Kostya Shishkov
  xvmc.c                                Ivan Kalvachev
  zmbv*                                 Kostya Shishkov

Hardware acceleration:
  crystalhd.c                           Philip Langdale
  dxva2*                                Laurent Aimar
  libstagefright.cpp                    Mohamed Naufal
  vaapi*                                Gwenole Beauchesne
  vda*                                  Sebastien Zwickert
  vdpau*                                Carl Eugen Hoyos


libavdevice
===========
  External Interface:
    libavdevice/avdevice.h


  libdc1394.c                           Roman Shaposhnik
  v4l2.c                                Luca Abeni
  vfwcap.c                              Ramiro Polla


libavfilter
===========

Video filters:
  graphdump.c                           Nicolas George
  af_amerge.c                           Nicolas George
  af_astreamsync.c                      Nicolas George
  af_pan.c                              Nicolas George
  vsrc_mandelbrot.c                     Michael Niedermayer
  vf_yadif.c                            Michael Niedermayer


libavformat
===========

Generic parts:
  External Interface:
    libavformat/avformat.h              Michael Niedermayer
  Utility Code:
    libavformat/utils.c                 Michael Niedermayer


Muxers/Demuxers:
  4xm.c                                 Mike Melanson
  adtsenc.c                             Robert Swain
  aiff.c                                Baptiste Coudurier
  ape.c                                 Kostya Shishkov
  ass*                                  Aurelien Jacobs
  avi*                                  Michael Niedermayer
  bink.c                                Peter Ross
  caf*                                  Peter Ross
  crc.c                                 Michael Niedermayer
  daud.c                                Reimar Doeffinger
  dv.c                                  Roman Shaposhnik
  dxa.c                                 Kostya Shishkov
  electronicarts.c                      Peter Ross
  ffm*                                  Baptiste Coudurier
  flac*                                 Justin Ruggles
  flic.c                                Mike Melanson
  flvdec.c, flvenc.c                    Michael Niedermayer
  gxf.c                                 Reimar Doeffinger
  gxfenc.c                              Baptiste Coudurier
  idcin.c                               Mike Melanson
  idroqdec.c                            Mike Melanson
  iff.c                                 Jaikrishnan Menon
  ipmovie.c                             Mike Melanson
  img2.c                                Michael Niedermayer
  iss.c                                 Stefan Gehrer
  jvdec.c                               Peter Ross
  libmodplug.c                          Clément Bœsch
  libnut.c                              Oded Shimon
  lmlm4.c                               Ivo van Poorten
  lxfdec.c                              Tomas Härdin
  matroska.c                            Aurelien Jacobs
  matroskadec.c                         Aurelien Jacobs
  matroskaenc.c                         David Conrad
  metadata*                             Aurelien Jacobs
  microdvd*                             Aurelien Jacobs
  mm.c                                  Peter Ross
  mov.c                                 Michael Niedermayer, Baptiste Coudurier
  movenc.c                              Michael Niedermayer, Baptiste Coudurier
  mpc.c                                 Kostya Shishkov
  mpeg.c                                Michael Niedermayer
  mpegenc.c                             Michael Niedermayer
  mpegts*                               Baptiste Coudurier
  msnwc_tcp.c                           Ramiro Polla
  mtv.c                                 Reynaldo H. Verdejo Pinochet
  mxf*                                  Baptiste Coudurier
  mxfdec.c                              Tomas Härdin
  nsvdec.c                              Francois Revol
  nut.c                                 Michael Niedermayer
  nuv.c                                 Reimar Doeffinger
  oggdec.c, oggdec.h                    David Conrad
  oggenc.c                              Baptiste Coudurier
  oggparse*.c                           David Conrad
  oma.c                                 Maxim Poliakovski
  psxstr.c                              Mike Melanson
  pva.c                                 Ivo van Poorten
  r3d.c                                 Baptiste Coudurier
  raw.c                                 Michael Niedermayer
  rdt.c                                 Ronald S. Bultje
  rl2.c                                 Sascha Sommer
  rmdec.c, rmenc.c                      Ronald S. Bultje, Kostya Shishkov
  rtmp*                                 Kostya Shishkov
  rtp.c, rtpenc.c                       Martin Storsjo
  rtpdec_asf.*                          Ronald S. Bultje
  rtpenc_mpv.*, rtpenc_aac.*            Martin Storsjo
  rtsp.c                                Luca Barbato
  sbgdec.c                              Nicolas George
  sdp.c                                 Martin Storsjo
  segafilm.c                            Mike Melanson
  siff.c                                Kostya Shishkov
  smacker.c                             Kostya Shishkov
  srtdec.c                              Aurelien Jacobs
  swf.c                                 Baptiste Coudurier
  tta.c                                 Alex Beregszaszi
  txd.c                                 Ivo van Poorten
  voc.c                                 Aurelien Jacobs
  wav.c                                 Michael Niedermayer
  wc3movie.c                            Mike Melanson
  westwood.c                            Mike Melanson
  wtv.c                                 Peter Ross
  wv.c                                  Kostya Shishkov

Protocols:
  http.c                                Ronald S. Bultje
  mms*.c                                Ronald S. Bultje
  udp.c                                 Luca Abeni


Operating systems / CPU architectures
=====================================

Alpha                                   Mans Rullgard, Falk Hueffner
ARM                                     Mans Rullgard
AVR32                                   Mans Rullgard
MIPS                                    Mans Rullgard
Mac OS X / PowerPC                      Romain Dolbeau, Guillaume Poirier
Amiga / PowerPC                         Colin Ward
Linux / PowerPC                         Luca Barbato
Windows MinGW                           Alex Beregszaszi, Ramiro Polla
Windows Cygwin                          Victor Paesa
ADI/Blackfin DSP                        Marc Hoffman
Sparc                                   Roman Shaposhnik
x86                                     Michael Niedermayer


Releases
========

0.9                                     Michael Niedermayer



GnuPG Fingerprints of maintainers and contributors
==================================================

Anssi Hannula                 1A92 FF42 2DD9 8D2E 8AF7 65A9 4278 C520 513D F3CB
Anton Khirnov                 6D0C 6625 56F8 65D1 E5F5 814B B50A 1241 C067 07AB
Attila Kinali                 11F0 F9A6 A1D2 11F6 C745 D10C 6520 BCDD F2DF E765
Baptiste Coudurier            8D77 134D 20CC 9220 201F C5DB 0AC9 325C 5C1A BAAA
Ben Littler                   3EE3 3723 E560 3214 A8CD 4DEB 2CDB FCE7 768C 8D2C
Benoit Fouet                  B22A 4F4F 43EF 636B BB66 FCDC 0023 AE1E 2985 49C8
Daniel Verkamp                78A6 07ED 782C 653E C628 B8B9 F0EB 8DD8 2F0E 21C7
Diego Biurrun                 8227 1E31 B6D9 4994 7427 E220 9CAE D6CC 4757 FCC5
Gwenole Beauchesne            2E63 B3A6 3E44 37E2 017D 2704 53C7 6266 B153 99C4
Jaikrishnan Menon             61A1 F09F 01C9 2D45 78E1 C862 25DC 8831 AF70 D368
Justin Ruggles                3136 ECC0 C10D 6C04 5F43 CA29 FCBE CD2A 3787 1EBF
Loren Merritt                 ABD9 08F4 C920 3F65 D8BE 35D7 1540 DAA7 060F 56DE
Lou Logan                     7D68 DC73 CBEF EABB 671A B6CF 621C 2E28 82F8 DC3A
Luca Barbato                  6677 4209 213C 8843 5B67 29E7 E84C 78C2 84E9 0E34
Michael Niedermayer           9FF2 128B 147E F673 0BAD F133 611E C787 040B 0FAB
Nicolas George                24CE 01CE 9ACC 5CEB 74D8 8D9D B063 D997 36E5 4C93
Panagiotis Issaris            6571 13A3 33D9 3726 F728 AA98 F643 B12E ECF3 E029
Peter Ross                    A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B
Reimar Döffinger              C61D 16E5 9E2C D10C 8958 38A4 0899 A2B9 06D4 D9C7
Reinhard Tartler              9300 5DC2 7E87 6C37 ED7B CA9A 9808 3544 9453 48A4
Reynaldo H. Verdejo Pinochet  6E27 CD34 170C C78E 4D4F 5F40 C18E 077F 3114 452A
Robert Swain                  EE7A 56EA 4A81 A7B5 2001 A521 67FA 362D A2FC 3E71
Sascha Sommer                 38A0 F88B 868E 9D3A 97D4 D6A0 E823 706F 1E07 0D3C
Stefano Sabatini              9A43 10F8 D32C D33C 48E7 C52C 5DF2 8E4D B2EE 066B
Tomas Härdin                  D133 29CA 4EEC 9DB4 7076 F697 B04B 7403 3313 41FD
