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

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


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

Michael Niedermayer
  final design decisions


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

ffmpeg:
  ffmpeg.c                              Michael Niedermayer

ffplay:
  ffplay.c                              Michael Niedermayer

ffserver:
  ffserver.c, ffserver.h                Baptiste Coudurier

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

QuickTime faststart:
  qt-faststart.c                        Mike Melanson


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

documentation                           Mike Melanson, Diego Biurrun
website                                 Robert Swain
build system (configure,Makefiles)      Diego Biurrun, Mans Rullgard
project server                          Diego Biurrun, Mans Rullgard
mailinglists                            Michael Niedermayer, Baptiste Coudurier
presets                                 Robert Swain


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
  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
  vdpau:
    vdpau*                              Carl Eugen Hoyos

Codecs:
  4xm.c                                 Michael Niedermayer
  8bps.c                                Roberto Togni
  8svx.c                                Jaikrishnan Menon
  aasc.c                                Kostya Shishkov
  aac.[ch], aactab.[ch], aacdectab.h    Robert Swain
  ac3*                                  Justin Ruggles
  alacenc.c                             Jaikrishnan Menon
  apedec.c                              Kostya Shishkov
  asv*                                  Michael Niedermayer
  atrac3*                               Benjamin Larsson
  bmp.c                                 Mans Rullgard, Kostya Shishkov
  cavs*                                 Stefan Gehrer
  cinepak.c                             Roberto Togni
  cljr                                  Alex Beregszaszi
  cook.c, cookdata.h                    Benjamin Larsson
  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
  flac*                                 Justin Ruggles
  flashsv*                              Benjamin Larsson
  flicvideo.c                           Mike Melanson
  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
  interplayvideo.c                      Mike Melanson
  jpeg_ls.c                             Kostya Shishkov
  kmvc.c                                Kostya Shishkov
  lcl*.c                                Roberto Togni
  libgsm.c                              Michel Bardiaux
  libopenjpeg.c                         Jaikrishnan Menon
  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
  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
  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
  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
  txd.c                                 Ivo van Poorten
  ulti*                                 Kostya Shishkov
  vb.c                                  Kostya Shishkov
  vc1*                                  Kostya Shishkov
  vcr1.c                                Michael Niedermayer
  vmnc.c                                Kostya Shishkov
  vorbis_enc.c                          Oded Shimon
  vorbis_dec.c                          Denes Balatoni
  vp3*                                  Mike Melanson
  vp5                                   Aurelien Jacobs
  vp6                                   Aurelien Jacobs
  vqavideo.c                            Mike Melanson
  wavpack.c                             Kostya Shishkov
  wmv2.c                                Michael Niedermayer
  wnv1.c                                Kostya Shishkov
  xan.c                                 Mike Melanson
  xl.c                                  Kostya Shishkov
  xvmc.c                                Ivan Kalvachev
  zmbv*                                 Kostya Shishkov


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


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


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
  avi*                                  Michael Niedermayer
  crc.c                                 Michael Niedermayer
  daud.c                                Reimar Doeffinger
  dv.c                                  Roman Shaposhnik
  dxa.c                                 Kostya Shishkov
  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
  idroq.c                               Mike Melanson
  iff.c                                 Jaikrishnan Menon
  ipmovie.c                             Mike Melanson
  img2.c                                Michael Niedermayer
  iss.c                                 Stefan Gehrer
  libnut.c                              Oded Shimon
  lmlm4.c                               Ivo van Poorten
  matroska.c                            Aurelien Jacobs
  matroskaenc.c                         David Conrad
  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*                               Mans Rullgard
  msnwc_tcp.c                           Ramiro Polla
  mtv.c                                 Reynaldo H. Verdejo Pinochet
  mxf*                                  Baptiste Coudurier
  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
  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
  rtp.c, rtpenc.c                       Luca Abeni
  rtp_mpv.*, rtp_aac.*                  Luca Abeni
  rtsp.c                                Luca Barbato
  sdp.c                                 Luca Abeni
  segafilm.c                            Mike Melanson
  siff.c                                Kostya Shishkov
  smacker.c                             Kostya Shishkov
  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
  wv.c                                  Kostya Shishkov

Protocols:
  udp.c                                 Luca Abeni


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

Alpha                                   Mans Rullgard, Falk Hueffner
ARM                                     Mans Rullgard
BeOS                                    Francois Revol
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


GnuPG Fingerprints of maintainers and others who have svn write access
======================================================================

Attila Kinali                 11F0 F9A6 A1D2 11F6 C745 D10C 6520 BCDD F2DF E765
Benoit Fouet                  B22A 4F4F 43EF 636B BB66 FCDC 0023 AE1E 2985 49C8
Baptiste Coudurier            8D77 134D 20CC 9220 201F C5DB 0AC9 325C 5C1A BAAA
Diego Biurrun                 8227 1E31 B6D9 4994 7427 E220 9CAE D6CC 4757 FCC5
Loren Merritt                 ABD9 08F4 C920 3F65 D8BE 35D7 1540 DAA7 060F 56DE
Michael Niedermayer           9FF2 128B 147E F673 0BAD F133 611E C787 040B 0FAB
Panagiotis Issaris            515C E262 10A8 FDCE 5481 7B9C 3AD7 D9A5 071D B3A9
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
Reynaldo H. Verdejo Pinochet  6E27 CD34 170C C78E 4D4F 5F40 C18E 077F 3114 452A
Sascha Sommer                 38A0 F88B 868E 9D3A 97D4 D6A0 E823 706F 1E07 0D3C
