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 up to date!

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


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

  final design decisions


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

ffmpeg:
  ffmpeg.c                              Michael Niedermayer

ffplay:
  ffplay.c                              Marton Balint

ffprobe:
  ffprobe.c                             Stefano Sabatini

ffserver:
  ffserver.c                            Reynaldo H. Verdejo Pinochet

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

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


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

documentation                           Stefano Sabatini, Mike Melanson, Timothy Gu
build system (configure,Makefiles)      Diego Biurrun, Mans Rullgard
project server                          Árpád Gereöffy, Michael Niedermayer, Reimar Döffinger, Alexander Strasser
presets                                 Robert Swain
metadata subsystem                      Aurelien Jacobs
release management                      Michael Niedermayer


Communication
=============

website                                 Robert Swain, Lou Logan
mailinglists                            Michael Niedermayer, Baptiste Coudurier, Lou Logan
Google+                                 Paul B Mahol, Michael Niedermayer, Alexander Strasser
Twitter                                 Lou Logan
Launchpad                               Timothy Gu


libavutil
=========

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

Other:
  bprint                                Nicolas George
  bswap.h
  des                                   Reimar Doeffinger
  eval.c, eval.h                        Michael Niedermayer
  float_dsp                             Loren Merritt
  hash                                  Reimar Doeffinger
  intfloat*                             Michael Niedermayer
  integer.c, integer.h                  Michael Niedermayer
  lzo                                   Reimar Doeffinger
  mathematics.c, mathematics.h          Michael Niedermayer
  mem.c, mem.h                          Michael Niedermayer
  opencl.c, opencl.h                    Wei Gao
  opt.c, opt.h                          Michael Niedermayer
  rational.c, rational.h                Michael Niedermayer
  rc4                                   Reimar Doeffinger
  ripemd.c, ripemd.h                    James Almer
  timecode                              Clément Bœsch


libavcodec
==========

Generic Parts:
  External Interfaces:
    avcodec.h                           Michael Niedermayer
  utility code:
    utils.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
  fixed point FFT:
    fft*                                Zeljko Lukac

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
  atrac3plus*                           Maxim Poliakovski
  bgmc.c, bgmc.h                        Thilo Borgmann
  bink.c                                Kostya Shishkov
  binkaudio.c                           Peter Ross
  bmp.c                                 Mans Rullgard, Kostya Shishkov
  cavs*                                 Stefan Gehrer
  cdxl.c                                Paul B Mahol
  celp_filters.*                        Vitor Sessak
  cinepak.c                             Roberto Togni
  cinepakenc.c                          Rl / Aetey G.T. AB
  cljr                                  Alex Beregszaszi
  cllc.c                                Derek Buitenhuis
  cook.c, cookdata.h                    Benjamin Larsson
  cpia.c                                Stephan Hilb
  crystalhd.c                           Philip Langdale
  cscd.c                                Reimar Doeffinger
  dca.c                                 Kostya Shishkov, Benjamin Larsson
  dnxhd*                                Baptiste Coudurier
  dpcm.c                                Mike Melanson
  dv.c                                  Roman Shaposhnik
  dxa.c                                 Kostya Shishkov
  eacmv*, eaidct*, eat*                 Peter Ross
  exif.c, exif.h                        Thilo Borgmann
  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
  h261*                                 Michael Niedermayer
  h263*                                 Michael Niedermayer
  h264*                                 Loren Merritt, 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
  jacosub*                              Clément Bœsch
  jpeg2000*                             Nicolas Bertrand
  jpeg_ls.c                             Kostya Shishkov
  jvdec.c                               Peter Ross
  kmvc.c                                Kostya Shishkov
  lcl*.c                                Roberto Togni, Reimar Doeffinger
  libcelt_dec.c                         Nicolas George
  libdirac*                             David Conrad
  libgsm.c                              Michel Bardiaux
  libopenjpeg.c                         Jaikrishnan Menon
  libopenjpegenc.c                      Michael Bradshaw
  libschroedinger*                      David Conrad
  libspeexdec.c                         Justin Ruggles
  libtheoraenc.c                        David Conrad
  libutvideo*                           Derek Buitenhuis
  libvorbis.c                           David Conrad
  libvpx*                               James Zern
  libx264.c                             Mans Rullgard, Jason Garrett-Glaser
  libx265.c                             Derek Buitenhuis
  libxavs.c                             Stefan Gehrer
  libzvbi-teletextdec.c                 Marton Balint
  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
  mqc*                                  Nicolas Bertrand
  msmpeg4.c, msmpeg4data.h              Michael Niedermayer
  msrle.c                               Mike Melanson
  msvideo1.c                            Mike Melanson
  nellymoserdec.c                       Benjamin Larsson
  nuv.c                                 Reimar Doeffinger
  paf.*                                 Paul B Mahol
  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
  smvjpegdec.c                          Ash Hughes
  snow.c                                Michael Niedermayer, Loren Merritt
  sonic.c                               Alex Beregszaszi
  srt*                                  Aurelien Jacobs
  sunrast.c                             Ivo van Poorten
  svq3.c                                Michael Niedermayer
  tak*                                  Paul B Mahol
  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
  ttaenc.c                              Paul B Mahol
  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
  vda_h264_dec.c                        Xidorn Quan
  vima.c                                Paul B Mahol
  vmnc.c                                Kostya Shishkov
  vorbis_dec.c                          Denes Balatoni, David Conrad
  vorbis_enc.c                          Oded Shimon
  vp3*                                  Mike Melanson
  vp5                                   Aurelien Jacobs
  vp6                                   Aurelien Jacobs
  vp8                                   David Conrad, Jason Garrett-Glaser, Ronald Bultje
  vp9                                   Ronald Bultje, Clément Bœsch
  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
  xbm*                                  Paul B Mahol
  xface                                 Stefano Sabatini
  xl.c                                  Kostya Shishkov
  xvmc.c                                Ivan Kalvachev
  xwd*                                  Paul B Mahol
  zerocodec.c                           Derek Buitenhuis
  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


  dshow.c                               Roger Pack
  fbdev_enc.c                           Lukasz Marek
  iec61883.c                            Georg Lippitsch
  lavfi                                 Stefano Sabatini
  libdc1394.c                           Roman Shaposhnik
  opengl_enc.c                          Lukasz Marek
  pulse_audio_enc.c                     Lukasz Marek
  sdl                                   Stefano Sabatini
  v4l2.c                                Luca Abeni
  vfwcap.c                              Ramiro Polla

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

Generic parts:
  graphdump.c                           Nicolas George

Filters:
  af_adelay.c                           Paul B Mahol
  af_aecho.c                            Paul B Mahol
  af_afade.c                            Paul B Mahol
  af_amerge.c                           Nicolas George
  af_aphaser.c                          Paul B Mahol
  af_aresample.c                        Michael Niedermayer
  af_astats.c                           Paul B Mahol
  af_astreamsync.c                      Nicolas George
  af_atempo.c                           Pavel Koshevoy
  af_biquads.c                          Paul B Mahol
  af_compand.c                          Paul B Mahol
  af_ladspa.c                           Paul B Mahol
  af_pan.c                              Nicolas George
  avf_avectorscope.c                    Paul B Mahol
  vf_blend.c                            Paul B Mahol
  vf_colorbalance.c                     Paul B Mahol
  vf_dejudder.c                         Nicholas Robbins
  vf_delogo.c                           Jean Delvare (CC <khali@linux-fr.org>)
  vf_drawbox.c/drawgrid                 Andrey Utkin
  vf_extractplanes.c                    Paul B Mahol
  vf_histogram.c                        Paul B Mahol
  vf_il.c                               Paul B Mahol
  vf_mergeplanes.c                      Paul B Mahol
  vf_psnr.c                             Paul B Mahol
  vf_scale.c                            Michael Niedermayer
  vf_separatefields.c                   Paul B Mahol
  vf_stereo3d.c                         Paul B Mahol
  vf_telecine.c                         Paul B Mahol
  vf_yadif.c                            Michael Niedermayer

Sources:
  vsrc_mandelbrot.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
  afc.c                                 Paul B Mahol
  aiffdec.c                             Baptiste Coudurier, Matthieu Bouron
  aiffenc.c                             Baptiste Coudurier, Matthieu Bouron
  ape.c                                 Kostya Shishkov
  ass*                                  Aurelien Jacobs
  astdec.c                              Paul B Mahol
  astenc.c                              James Almer
  avi*                                  Michael Niedermayer
  avisynth.c                            AvxSynth Team (avxsynth.testing at gmail dot com)
  avr.c                                 Paul B Mahol
  bink.c                                Peter Ross
  brstm.c                               Paul B Mahol
  caf*                                  Peter Ross
  cdxl.c                                Paul B Mahol
  crc.c                                 Michael Niedermayer
  daud.c                                Reimar Doeffinger
  dtshddec.c                            Paul B Mahol
  dv.c                                  Roman Shaposhnik
  dxa.c                                 Kostya Shishkov
  electronicarts.c                      Peter Ross
  epafdec.c                             Paul B Mahol
  ffm*                                  Baptiste Coudurier
  flac*                                 Justin Ruggles
  flic.c                                Mike Melanson
  flvdec.c, flvenc.c                    Michael Niedermayer
  gxf.c                                 Reimar Doeffinger
  gxfenc.c                              Baptiste Coudurier
  hls.c                                 Anssi Hannula
  idcin.c                               Mike Melanson
  idroqdec.c                            Mike Melanson
  iff.c                                 Jaikrishnan Menon
  img2*.c                               Michael Niedermayer
  ipmovie.c                             Mike Melanson
  ircam*                                Paul B Mahol
  iss.c                                 Stefan Gehrer
  jacosub*                              Clément Bœsch
  jvdec.c                               Peter Ross
  libmodplug.c                          Clément Bœsch
  libnut.c                              Oded Shimon
  lmlm4.c                               Ivo van Poorten
  lvfdec.c                              Paul B Mahol
  lxfdec.c                              Tomas Härdin
  matroska.c                            Aurelien Jacobs
  matroskadec.c                         Aurelien Jacobs
  matroskaenc.c                         David Conrad
  metadata*                             Aurelien Jacobs
  mgsts.c                               Paul B Mahol
  microdvd*                             Aurelien Jacobs
  mm.c                                  Peter Ross
  mov.c                                 Michael Niedermayer, Baptiste Coudurier
  movenc.c                              Baptiste Coudurier, Matthieu Bouron
  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
  nistspheredec.c                       Paul B Mahol
  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
  paf.c                                 Paul B Mahol
  psxstr.c                              Mike Melanson
  pva.c                                 Ivo van Poorten
  pvfdec.c                              Paul B Mahol
  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
  smjpeg*                               Paul B Mahol
  spdif*                                Anssi Hannula
  srtdec.c                              Aurelien Jacobs
  swf.c                                 Baptiste Coudurier
  takdec.c                              Paul B Mahol
  tta.c                                 Alex Beregszaszi
  txd.c                                 Ivo van Poorten
  voc.c                                 Aurelien Jacobs
  wav.c                                 Michael Niedermayer
  wc3movie.c                            Mike Melanson
  webvtt*                               Matthew J Heaney
  westwood.c                            Mike Melanson
  wtv.c                                 Peter Ross
  wv.c                                  Kostya Shishkov
  wvenc.c                               Paul B Mahol

Protocols:
  bluray.c                              Petri Hintukainen
  ftp.c                                 Lukasz Marek
  http.c                                Ronald S. Bultje
  libssh.c                              Lukasz Marek
  mms*.c                                Ronald S. Bultje
  udp.c                                 Luca Abeni


libswresample
=============

Generic parts:
  audioconvert.c                        Michael Niedermayer
  dither.c                              Michael Niedermayer
  rematrix*.c                           Michael Niedermayer
  swresample*.c                         Michael Niedermayer

Resamplers:
  resample*.c                           Michael Niedermayer
  soxr_resample.c                       Rob Sykes


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

Alpha                                   Mans Rullgard, Falk Hueffner
ARM                                     Mans Rullgard
AVR32                                   Mans Rullgard
MIPS                                    Mans Rullgard, Nedeljko Babic
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
========

2.2                                     Michael Niedermayer
2.1                                     Michael Niedermayer
1.2                                     Michael Niedermayer

If you want to maintain an older release, please contact us


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

Alexander Strasser            1C96 78B7 83CB 8AA7 9AF5 D1EB A7D8 A57B A876 E58F
Anssi Hannula                 1A92 FF42 2DD9 8D2E 8AF7 65A9 4278 C520 513D F3CB
Anton Khirnov                 6D0C 6625 56F8 65D1 E5F5 814B B50A 1241 C067 07AB
Ash Hughes                    694D 43D2 D180 C7C7 6421 ABD3 A641 D0B7 623D 6029
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
Bœsch Clément                 52D0 3A82 D445 F194 DB8B 2B16 87EE 2CB8 F4B8 FCF9
Daniel Verkamp                78A6 07ED 782C 653E C628 B8B9 F0EB 8DD8 2F0E 21C7
Diego Biurrun                 8227 1E31 B6D9 4994 7427 E220 9CAE D6CC 4757 FCC5
FFmpeg release signing key    FCF9 86EA 15E6 E293 A564 4F10 B432 2F04 D676 58D8
Gwenole Beauchesne            2E63 B3A6 3E44 37E2 017D 2704 53C7 6266 B153 99C4
Jaikrishnan Menon             61A1 F09F 01C9 2D45 78E1 C862 25DC 8831 AF70 D368
Jean Delvare                  7CA6 9F44 60F1 BDC4 1FD2 C858 A552 6B9B B3CD 4E6A
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              0D0B AD6B 5330 BBAD D3D6 6A0C 719C 2839 FC43 2D5F
Stephan Hilb                  4F38 0B3A 5F39 B99B F505 E562 8D5C 5554 4E17 8863
Tomas Härdin                  A79D 4E3D F38F 763F 91F5 8B33 A01E 8AE0 41BB 2551
Wei Gao                       4269 7741 857A 0E60 9EC5 08D2 4744 4EFA 62C1 87B9
