2006-02-08 13:32:03 +02:00
FFmpeg maintainers
==================
Below is a list of the people maintaining different parts of the
FFmpeg code.
2012-03-13 01:30:13 +03:00
Please try to keep entries where you are the maintainer up to date!
2011-12-07 17:47:19 +03:00
2024-08-15 00:37:02 +02:00
*Status*, one of the following:
[X] Old code. Something tagged obsolete generally means it has been replaced by a better system and you should be using that.
[0] No current maintainer [but maybe you could take the role as you write your new code].
[1] It has a maintainer but they don't have time to do much other than throw the odd patch in.
[2] Someone actually looks after it.
2013-07-02 14:55:34 +03:00
A (CC <address>) after the name means that the maintainer prefers to be CC-ed on
patches and related discussions.
2011-12-07 23:44:38 +03:00
2024-08-14 19:32:58 +02:00
(L <address>) *Mailing list* that is relevant to this area
2024-08-14 19:32:58 +02:00
(W <address>) *Web-page* with status/info
2024-08-14 19:32:58 +02:00
(B <address>) URI for where to file *bugs*. A web-page with detailed bug
filing info, a direct bug tracker link, or a mailto: URI.
2024-08-14 19:32:58 +02:00
(P <address>) *Subsystem Profile* document for more details submitting
patches to the given subsystem. This is either an in-tree file,
or a URI. See Documentation/maintainer/maintainer-entry-profile.rst
for details.
2024-08-14 19:32:58 +02:00
(T <address>) *SCM* tree type and location.
Type is one of: git, hg, quilt, stgit, topgit
2006-02-08 13:32:03 +02:00
Applications
============
ffmpeg:
2022-09-20 10:40:14 +02:00
ffmpeg.c Michael Niedermayer, Anton Khirnov
2006-02-08 13:32:03 +02:00
ffplay:
2024-08-15 00:37:03 +02:00
ffplay.c [2] Marton Balint
2006-02-08 13:32:03 +02:00
2010-07-28 13:29:41 +03:00
ffprobe:
2024-08-15 00:37:03 +02:00
ffprobe.c [2] Stefano Sabatini
2010-07-28 13:29:41 +03:00
2006-02-08 13:32:03 +02:00
Commandline utility code:
2008-08-02 02:27:10 +03:00
cmdutils.c, cmdutils.h Michael Niedermayer
2006-02-08 13:32:03 +02:00
QuickTime faststart:
2009-07-08 01:00:13 +03:00
tools/qt-faststart.c Baptiste Coudurier
2006-02-08 13:32:03 +02:00
Miscellaneous Areas
===================
2019-02-22 21:49:31 +02:00
documentation Stefano Sabatini, Mike Melanson, Timothy Gu, Gyan Doshi
2024-11-12 18:15:36 +02:00
project server day to day operations (L: root@ffmpeg.org) Michael Niedermayer, Reimar Doeffinger, Alexander Strasser, Nikolay Aleksandrov, Timo Rothenpieler
project server emergencies (L: root@ffmpeg.org) Reimar Doeffinger, Alexander Strasser, Nikolay Aleksandrov, Timo Rothenpieler
2024-08-31 23:21:49 +02:00
presets [0]
2009-05-29 15:42:58 +03:00
metadata subsystem Aurelien Jacobs
2011-11-01 14:58:03 +03:00
release management Michael Niedermayer
2024-08-31 23:29:50 +02:00
API tests [0]
2006-02-08 13:32:03 +02:00
2013-10-06 03:09:15 +03:00
Communication
=============
2024-09-24 11:50:24 +02:00
website (T: https://git.ffmpeg.org/ffmpeg-web) Deby Barbara Lepage
2024-08-31 23:27:04 +02:00
fate.ffmpeg.org (L: fate-admin@ffmpeg.org) (W: https://fate.ffmpeg.org) (P: https://ffmpeg.org/fate.html) (S: https://git.ffmpeg.org/fateserver) Timo Rothenpieler
2024-08-28 18:06:29 +02:00
Trac bug tracker (W: https://trac.ffmpeg.org) Alexander Strasser, Michael Niedermayer, Carl Eugen Hoyos
Patchwork [2] (W: https://patchwork.ffmpeg.org) Andriy Gelman
2024-08-28 18:17:48 +02:00
mailing lists (W: https://ffmpeg.org/contact.html#MailingLists) Baptiste Coudurier
2020-06-28 22:37:55 +02:00
Twitter Reynaldo H. Verdejo Pinochet
2013-10-27 06:26:15 +03:00
Launchpad Timothy Gu
2024-08-28 18:06:29 +02:00
ffmpeg-security [2] (L: ffmpeg-security@ffmpeg.org) (W: https://ffmpeg.org/security.html) Michael Niedermayer, Reimar Doeffinger
2013-10-06 03:09:15 +03:00
2006-02-08 13:32:03 +02:00
libavutil
=========
External Interfaces:
2008-08-02 02:27:10 +03:00
libavutil/avutil.h Michael Niedermayer
2006-02-08 13:32:03 +02:00
Internal Interfaces:
2008-08-02 02:27:10 +03:00
libavutil/common.h Michael Niedermayer
2006-02-08 13:32:03 +02:00
Other:
2015-12-22 09:20:34 +02:00
aes_ctr.c, aes_ctr.h Eran Kornblau
2013-08-04 12:43:22 +03:00
bprint Nicolas George
2013-08-04 12:24:57 +03:00
bswap.h
2013-08-04 12:43:22 +03:00
des Reimar Doeffinger
2014-03-23 21:17:20 +03:00
dynarray.h Nicolas George
2024-08-15 00:37:03 +02:00
eval.c, eval.h [2] Michael Niedermayer
2013-08-04 12:43:22 +03:00
float_dsp Loren Merritt
hash Reimar Doeffinger
2016-10-02 18:41:45 +02:00
hwcontext_cuda* Timo Rothenpieler
2024-08-15 00:37:03 +02:00
hwcontext_vulkan* [2] Lynne
2006-02-08 13:32:03 +02:00
intfloat* Michael Niedermayer
integer.c, integer.h Michael Niedermayer
2013-08-04 12:43:22 +03:00
lzo Reimar Doeffinger
2024-08-15 00:37:03 +02:00
mathematics.c, mathematics.h [2] Michael Niedermayer
mem.c, mem.h [2] Michael Niedermayer
2013-04-11 14:31:54 +03:00
opencl.c, opencl.h Wei Gao
2013-09-12 10:20:05 +03:00
opt.c, opt.h Michael Niedermayer
2024-08-15 00:37:03 +02:00
rational.c, rational.h [2] Michael Niedermayer
2013-08-04 12:43:22 +03:00
rc4 Reimar Doeffinger
2013-06-15 20:04:19 +03:00
ripemd.c, ripemd.h James Almer
2024-08-15 00:37:03 +02:00
tx* [2] Lynne
2006-02-08 13:32:03 +02:00
libavcodec
==========
Generic Parts:
External Interfaces:
avcodec.h Michael Niedermayer
utility code:
2008-08-02 02:27:10 +03:00
utils.c Michael Niedermayer
2006-02-08 13:32:03 +02:00
audio and video frame extraction:
2008-08-02 02:27:10 +03:00
parser.c Michael Niedermayer
2007-04-07 17:10:02 +03:00
bitstream reading:
2006-02-08 13:32:03 +02:00
bitstream.c, bitstream.h Michael Niedermayer
CABAC:
cabac.h, cabac.c Michael Niedermayer
2012-01-24 17:51:09 +03:00
codec names:
codec_names.sh Nicolas George
2006-02-08 13:32:03 +02:00
DSP utilities:
dsputils.c, dsputils.h Michael Niedermayer
entropy coding:
2024-08-31 23:34:49 +02:00
rangecoder.c, rangecoder.h [2] Michael Niedermayer
2007-03-25 17:33:03 +03:00
lzw.* Michael Niedermayer
2006-02-08 13:32:03 +02:00
floating point AAN DCT:
2024-08-15 00:37:03 +02:00
faandct.c, faandct.h [2] Michael Niedermayer
2006-02-08 13:32:03 +02:00
Golomb coding:
2024-08-15 00:37:03 +02:00
golomb.c, golomb.h [2] Michael Niedermayer
2006-02-08 13:32:03 +02:00
motion estimation:
motion* Michael Niedermayer
rate control:
2024-08-15 00:37:03 +02:00
ratecontrol.c [2] Michael Niedermayer
2006-02-08 13:32:03 +02:00
simple IDCT:
2024-08-15 00:37:03 +02:00
simple_idct.c, simple_idct.h [2] Michael Niedermayer
2006-02-08 13:32:03 +02:00
postprocessing:
2024-08-15 00:37:03 +02:00
libpostproc/* [2] Michael Niedermayer
2010-06-27 17:34:00 +03:00
table generation:
tableprint.c, tableprint.h Reimar Doeffinger
2013-08-13 12:43:58 +03:00
fixed point FFT:
fft* Zeljko Lukac
2014-07-13 20:29:23 +03:00
Text Subtitles Clément Bœsch
2006-02-08 13:32:03 +02:00
Codecs:
2024-08-15 00:37:03 +02:00
4xm.c [2] Michael Niedermayer
2006-02-08 13:32:03 +02:00
8bps.c Roberto Togni
2008-08-19 22:25:00 +03:00
8svx.c Jaikrishnan Menon
2015-08-21 20:44:15 +02:00
aacenc*, aaccoder.c Rostislav Pehlivanov
2021-03-23 13:20:22 +02:00
adpcm.c Zane van Iperen
2008-08-19 22:25:00 +03:00
alacenc.c Jaikrishnan Menon
2016-08-29 19:25:54 +02:00
alsdec.c Thilo Borgmann, Umair Khan
2022-11-04 20:57:56 +02:00
amfenc* Dmitrii Ovchinnikov
2018-02-09 23:22:09 +02:00
aptx.c Aurelien Jacobs
2010-12-04 02:23:08 +02:00
ass* Aurelien Jacobs
2006-02-08 13:32:03 +02:00
asv* Michael Niedermayer
2013-10-10 21:32:14 +03:00
atrac3plus* Maxim Poliakovski
2021-01-20 09:04:26 +02:00
audiotoolbox* rcombs
2018-07-28 05:20:48 +02:00
avs2* Huiwen Ren
2010-02-14 12:17:58 +02:00
bgmc.c, bgmc.h Thilo Borgmann
2010-02-26 13:51:17 +02:00
binkaudio.c Peter Ross
2006-07-03 13:08:50 +03:00
cavs* Stefan Gehrer
2013-08-07 03:58:16 +03:00
celp_filters.* Vitor Sessak
2006-02-08 13:32:03 +02:00
cinepak.c Roberto Togni
2014-01-22 13:21:02 +03:00
cinepakenc.c Rl / Aetey G.T. AB
2016-07-16 14:58:20 +02:00
ccaption_dec.c Anshul Maheshwari, Aman Gupta
2006-02-08 13:32:03 +02:00
cljr Alex Beregszaszi
2012-08-23 19:40:22 +03:00
cpia.c Stephan Hilb
2006-02-08 13:32:03 +02:00
cscd.c Reimar Doeffinger
2017-11-11 15:48:37 +02:00
cuviddec.c Timo Rothenpieler
2017-07-21 14:22:53 +02:00
dca* foo86
avcodec: add DFPWM1a codec
From the wiki page (https://wiki.vexatos.com/dfpwm):
> DFPWM (Dynamic Filter Pulse Width Modulation) is an audio codec
> created by Ben “GreaseMonkey” Russell in 2012, originally to be used
> as a voice codec for asiekierka's pixmess, a C remake of 64pixels.
> It is a 1-bit-per-sample codec which uses a dynamic-strength one-pole
> low-pass filter as a predictor. Due to the fact that a raw DPFWM decoding
> creates a high-pitched whine, it is often followed by some post-processing
> filters to make the stream more listenable.
It has recently gained popularity through the ComputerCraft mod for
Minecraft, which added support for audio through this codec, as well as
the Computronics expansion which preceeded the official support. These
both implement the slightly adjusted 1a version of the codec, which is
the version I have chosen for this patch.
This patch adds a new codec (with encoding and decoding) for DFPWM1a.
The codec sources are pretty simple: they use the reference codec with
a basic wrapper to connect it to the FFmpeg AVCodec system.
To clarify, the codec does not have a specific sample rate - it is
provided by the container (or user), which is typically 48000, but has
also been known to be 32768. The codec does not specify channel info
either, and it's pretty much always used with one mono channel.
However, since it appears that libavcodec expects both sample rate and
channel count to be handled by either the codec or container, I have
made the decision to allow multiple channels interleaved, which as far
as I know has never been used, but it works fine here nevertheless. The
accompanying raw format has a channels option to set this. (I expect
most users of this will not use multiple channels, but it remains an
option just in case.)
This patch will be highly useful to ComputerCraft developers who are
working with audio, as it is the standard format for audio, and there
are few user-friendly encoders out there, and even fewer decoders. It
will streamline the process for importing and listening to audio,
replacing the need to write code or use tools that require very
specific input formats.
You may use the CraftOS-PC program (https://www.craftos-pc.cc) to test
out DFPWM playback. To use it, run the program and type this command:
"attach left speaker" Then run "speaker play <file.dfpwm>" for each file.
The app runs in a sandbox, so files have to be transferred in first;
the easiest way to do this is to simply drag the file on the window.
(Or copy files to the folder at https://www.craftos-pc.cc/docs/saves.)
Sample DFPWM files can be generated with an online tool at
https://music.madefor.cc. This is the current best way to encode DFPWM
files. Simply drag an audio file onto the page, and it will encode it,
giving a download link on the page.
I've made sure to update all of the docs as per Developer§7, and I've
tested it as per section 8. Test files encoded to DFPWM play correctly
in ComputerCraft, and other files that work in CC are correctly decoded.
I have also verified that corrupt files do not crash the decoder - this
should theoretically not be an issue as the result size is constant with
respect to the input size.
Signed-off-by: Jack Bruienne <jackbruienne@gmail.com>
2022-03-08 05:29:49 +02:00
dfpwm* Jack Bruienne
2016-02-11 02:00:12 +02:00
dirac* Rostislav Pehlivanov
2007-10-08 14:27:18 +03:00
dnxhd* Baptiste Coudurier
2017-07-21 14:22:53 +02:00
dolby_e* foo86
2006-02-08 13:32:03 +02:00
dpcm.c Mike Melanson
2016-06-10 09:59:21 +02:00
dss_sp.c Oleksij Rempel
2006-02-08 13:32:03 +02:00
dv.c Roman Shaposhnik
2014-07-14 22:12:01 +03:00
dvbsubdec.c Anshul Maheshwari
2009-02-20 14:03:35 +02:00
eacmv*, eaidct*, eat* Peter Ross
2013-08-12 20:35:11 +03:00
exif.c, exif.h Thilo Borgmann
2024-08-15 00:37:03 +02:00
ffv1* [2] Michael Niedermayer
2012-01-24 17:51:09 +03:00
ffwavesynth.c Nicolas George
2016-08-02 15:24:13 +02:00
fifo.c Jan Sebechlebsky
2006-02-08 13:32:03 +02:00
flicvideo.c Mike Melanson
2010-12-03 23:17:23 +02:00
g722.c Martin Storsjo
2006-02-08 13:32:03 +02:00
g726.c Roman Shaposhnik
2006-10-22 18:05:03 +03:00
gifdec.c Baptiste Coudurier
2006-02-08 13:32:03 +02:00
h261* Michael Niedermayer
h263* Michael Niedermayer
2013-08-07 03:58:16 +03:00
h264* Loren Merritt, Michael Niedermayer
2015-10-23 13:04:56 +02:00
hap* Tom Butterworth
2024-08-23 15:43:51 +02:00
hevc/* Anton Khirnov
2016-12-27 11:18:51 +02:00
huffyuv* Michael Niedermayer
2006-02-08 13:32:03 +02:00
idcinvideo.c Mike Melanson
interplayvideo.c Mike Melanson
2015-09-28 15:18:56 +02:00
jni*, ffjni* Matthieu Bouron
2013-04-24 14:16:03 +03:00
jpeg2000* Nicolas Bertrand
2023-10-15 14:13:00 +02:00
jpegxl* Leo Izen
2011-03-08 17:11:10 +02:00
jvdec.c Peter Ross
2009-05-31 14:50:30 +03:00
lcl*.c Roberto Togni, Reimar Doeffinger
2012-01-24 17:51:09 +03:00
libcelt_dec.c Nicolas George
2018-02-13 12:46:44 +02:00
libcodec2.c Tomas Härdin
2010-01-05 00:29:53 +02:00
libdirac* David Conrad
2018-07-28 05:20:48 +02:00
libdavs2.c Huiwen Ren
2022-04-17 15:22:34 +02:00
libjxl*.c, libjxl.h Leo Izen
2013-08-07 03:58:16 +03:00
libgsm.c Michel Bardiaux
2015-07-15 08:01:23 +02:00
libkvazaar.c Arttu Ylä-Outinen
2020-04-30 03:12:44 +02:00
libopenh264enc.c Martin Storsjo, Linjie Fu
2011-11-18 02:57:09 +03:00
libopenjpegenc.c Michael Bradshaw
2010-01-05 00:29:53 +02:00
libtheoraenc.c David Conrad
2010-06-05 01:40:44 +03:00
libvorbis.c David Conrad
2013-11-03 02:28:18 +03:00
libvpx* James Zern
2013-08-07 03:58:16 +03:00
libxavs.c Stefan Gehrer
2019-10-12 03:28:44 +02:00
libxavs2.c Huiwen Ren
2013-10-31 23:28:47 +03:00
libzvbi-teletextdec.c Marton Balint
2006-02-08 13:32:03 +02:00
lzo.h, lzo.c Reimar Doeffinger
mdec.c Michael Niedermayer
2008-03-18 21:51:34 +02:00
mimic.c Ramiro Polla
2012-12-28 14:56:24 +03:00
mjpeg*.c Michael Niedermayer
2016-09-18 07:52:27 +02:00
mlp* Ramiro Polla, Jai Luthra
2009-02-20 14:03:35 +02:00
mmvideo.c Peter Ross
2006-02-08 13:32:03 +02:00
mpeg12.c, mpeg12data.h Michael Niedermayer
mpegvideo.c, mpegvideo.h Michael Niedermayer
2013-04-24 14:16:03 +03:00
mqc* Nicolas Bertrand
2006-02-08 13:32:03 +02:00
msmpeg4.c, msmpeg4data.h Michael Niedermayer
msrle.c Mike Melanson
2023-06-08 11:57:53 +02:00
msrleenc.c Tomas Härdin
2006-02-08 13:32:03 +02:00
msvideo1.c Mike Melanson
2006-03-28 01:22:50 +03:00
nuv.c Reimar Doeffinger
2017-11-11 15:48:37 +02:00
nvdec*, nvenc* Timo Rothenpieler
2019-08-22 23:10:26 +02:00
omx.c Martin Storsjo, Aman Gupta
2017-02-11 23:49:04 +02:00
opus* Rostislav Pehlivanov
2007-12-28 15:46:52 +02:00
pcx.c Ivo van Poorten
2010-08-21 14:50:13 +03:00
pgssubdec.c Reimar Doeffinger
2007-04-29 12:37:07 +03:00
ptx.c Ivo van Poorten
2008-12-29 18:33:03 +02:00
qcelp* Reynaldo H. Verdejo Pinochet
2016-06-20 21:19:45 +02:00
qdm2.c, qdm2data.h Roberto Togni
2021-06-08 16:11:34 +02:00
qsv* Mark Thompson, Zhong Li, Haihao Xiang
2006-02-08 13:32:03 +02:00
qtrle.c Mike Melanson
ra144.c, ra144.h, ra288.c, ra288.h Roberto Togni
resample2.c Michael Niedermayer
2008-03-21 16:09:12 +02:00
rl2.c Sascha Sommer
2006-02-08 13:32:03 +02:00
rpza.c Roberto Togni
2006-03-28 01:22:50 +03:00
rtjpeg.c, rtjpeg.h Reimar Doeffinger
2006-02-08 13:32:03 +02:00
rv10.c Michael Niedermayer
smc.c Mike Melanson
2014-05-04 19:57:15 +03:00
snow* Michael Niedermayer, Loren Merritt
2006-02-08 13:32:03 +02:00
sonic.c Alex Beregszaszi
2017-08-03 09:31:34 +02:00
speedhq.c Steinar H. Gunderson
2010-09-14 06:55:12 +03:00
srt* Aurelien Jacobs
2007-12-28 15:46:52 +02:00
sunrast.c Ivo van Poorten
2006-02-08 13:32:03 +02:00
svq3.c Michael Niedermayer
2006-03-03 07:52:02 +02:00
truemotion1* Mike Melanson
2010-03-28 20:21:02 +03:00
tta.c Alex Beregszaszi, Jaikrishnan Menon
2007-05-08 14:03:00 +03:00
txd.c Ivo van Poorten
2018-01-19 18:52:32 +02:00
v4l2_* Jorge Ramirez-Ortiz
2016-02-11 02:00:12 +02:00
vc2* Rostislav Pehlivanov
2006-02-08 13:32:03 +02:00
vcr1.c Michael Niedermayer
2017-11-13 00:16:01 +02:00
videotoolboxenc.c Rick Kern, Aman Gupta
2014-06-11 03:37:22 +03:00
vorbisdec.c Denes Balatoni, David Conrad
vorbisenc.c Oded Shimon
2006-02-08 13:32:03 +02:00
vp3* Mike Melanson
2006-09-09 20:19:37 +03:00
vp5 Aurelien Jacobs
vp6 Aurelien Jacobs
2016-06-23 19:25:16 +02:00
vp8 David Conrad, Ronald Bultje
2016-06-20 21:32:23 +02:00
vp9 Ronald Bultje
2006-02-08 13:32:03 +02:00
vqavideo.c Mike Melanson
2024-08-15 00:37:03 +02:00
vvc [2] Nuo Mi
2009-08-02 15:57:07 +03:00
wmaprodec.c Sascha Sommer
2010-02-12 16:22:41 +02:00
wmavoice.c Ronald S. Bultje
2006-02-08 13:32:03 +02:00
wmv2.c Michael Niedermayer
xan.c Mike Melanson
2013-10-18 14:06:17 +03:00
xface Stefano Sabatini
2006-02-08 13:32:03 +02:00
2009-12-28 16:00:33 +02:00
Hardware acceleration:
2017-01-13 15:01:07 +02:00
dxva2* Hendrik Leppkes, Laurent Aimar, Steve Lhomme
d3d11va* Steve Lhomme
2024-07-02 17:22:50 +02:00
d3d12va_encode* Tong Wu
2023-11-07 05:19:29 +02:00
mediacodec* Matthieu Bouron, Aman Gupta, Zhao Zhili
2021-12-14 06:08:06 +02:00
vaapi* Haihao Xiang
vaapi_encode* Mark Thompson, Haihao Xiang
2015-08-03 17:19:54 +02:00
vdpau* Philip Langdale, Carl Eugen Hoyos
2023-11-07 05:19:29 +02:00
videotoolbox* Rick Kern, Aman Gupta, Zhao Zhili
2009-12-28 16:00:33 +02:00
2006-02-08 13:32:03 +02:00
2008-03-09 00:55:31 +02:00
libavdevice
===========
External Interface:
libavdevice/avdevice.h
2014-04-11 18:29:07 +03:00
avfoundation.m Thilo Borgmann
2018-02-20 10:41:46 +02:00
android_camera.c Felix Matouschek
2017-09-30 23:37:01 +02:00
decklink* Marton Balint
2014-04-03 02:41:23 +03:00
dshow.c Roger Pack (CC rogerdpack@gmail.com)
2013-10-19 22:38:40 +03:00
fbdev_enc.c Lukasz Marek
2014-04-03 02:41:08 +03:00
gdigrab.c Roger Pack (CC rogerdpack@gmail.com)
2012-04-23 17:01:17 +03:00
iec61883.c Georg Lippitsch
2013-10-18 14:06:17 +03:00
lavfi Stefano Sabatini
2008-03-09 00:58:04 +02:00
libdc1394.c Roman Shaposhnik
2014-01-28 13:41:31 +03:00
opengl_enc.c Lukasz Marek
2013-10-04 21:35:14 +03:00
pulse_audio_enc.c Lukasz Marek
2013-10-18 14:06:17 +03:00
sdl Stefano Sabatini
2016-09-14 23:43:33 +02:00
sdl2.c Josh de Kock
2014-09-05 17:26:11 +03:00
v4l2.c Giorgio Vazzana
2008-03-09 00:59:41 +02:00
vfwcap.c Ramiro Polla
2014-05-03 01:16:02 +03:00
xv.c Lukasz Marek
2008-03-09 00:55:31 +02:00
2011-11-13 21:33:34 +03:00
libavfilter
===========
2012-06-17 14:01:58 +03:00
Generic parts:
2012-01-24 17:51:09 +03:00
graphdump.c Nicolas George
2012-06-17 14:01:58 +03:00
2016-08-26 23:30:32 +02:00
motion_estimation.c Davinder Singh
2012-06-17 14:01:58 +03:00
Filters:
2012-01-24 17:51:09 +03:00
af_amerge.c Nicolas George
2013-08-03 13:36:56 +03:00
af_aresample.c Michael Niedermayer
2012-06-17 13:35:57 +03:00
af_atempo.c Pavel Koshevoy
2016-02-16 20:02:22 +02:00
af_firequalizer.c Muhammad Faiz
2016-07-31 17:47:20 +02:00
af_hdcd.c Burt P.
2016-05-11 20:30:14 +02:00
af_loudnorm.c Kyle Swanson
2012-01-24 17:51:09 +03:00
af_pan.c Nicolas George
2014-06-05 07:42:38 +03:00
avf_showcqt.c Muhammad Faiz
2017-09-16 01:57:27 +02:00
vf_bwdif Thomas Mundt (CC <thomas.mundt@hr.de>)
2015-09-23 18:06:46 +02:00
vf_chromakey.c Timo Rothenpieler
2018-07-16 10:20:02 +02:00
vf_colorconstancy.c Mina Sami (CC <minas.gorgy@gmail.com>)
2015-06-13 15:09:07 +02:00
vf_colorkey.c Timo Rothenpieler
2016-03-19 17:28:40 +02:00
vf_coreimage.m Thilo Borgmann
2014-02-17 00:02:33 +03:00
vf_dejudder.c Nicholas Robbins
2015-09-22 10:43:27 +02:00
vf_delogo.c Jean Delvare (CC <jdelvare@suse.com>)
2013-05-14 22:04:03 +03:00
vf_drawbox.c/drawgrid Andrey Utkin
2023-12-02 19:46:16 +02:00
vf_fsync.c Thilo Borgmann
2013-06-07 11:57:29 +03:00
vf_hqx.c Clément Bœsch
2014-09-05 20:32:41 +03:00
vf_idet.c Pascal Massimino
2017-09-16 01:57:27 +02:00
vf_(t)interlace Thomas Mundt (CC <thomas.mundt@hr.de>)
2014-08-12 01:52:45 +03:00
vf_lenscorrection.c Daniel Oberhoff
2022-03-28 20:33:12 +02:00
vf_libplacebo.c Niklas Haas
2016-08-26 23:30:32 +02:00
vf_mestimate.c Davinder Singh
vf_minterpolate.c Davinder Singh
2016-04-06 16:25:53 +02:00
vf_readvitc.c Tobias Rapp (CC t.rapp at noa-archive dot com)
2024-08-15 00:37:03 +02:00
vf_scale.c [2] Michael Niedermayer
2019-02-13 03:29:10 +02:00
vf_tonemap_opencl.c Ruiling Song
2024-08-15 00:37:03 +02:00
vf_yadif.c [2] Michael Niedermayer
2024-09-11 21:32:12 +02:00
vf_xfade_vulkan.c [2] Marvin Scholz (CC <epirat07@gmail.com>)
2011-11-13 21:33:34 +03:00
2012-06-17 14:01:58 +03:00
Sources:
2024-08-15 00:37:03 +02:00
vsrc_mandelbrot.c [2] Michael Niedermayer
2011-11-13 21:33:34 +03:00
2019-11-30 06:24:58 +02:00
dnn Yejun Guo
2006-02-08 13:32:03 +02:00
libavformat
===========
Generic parts:
External Interface:
2008-08-02 02:27:10 +03:00
libavformat/avformat.h Michael Niedermayer
2006-02-08 13:32:03 +02:00
Utility Code:
2008-08-02 02:27:10 +03:00
libavformat/utils.c Michael Niedermayer
2016-06-20 21:32:23 +02:00
Text Subtitles Clément Bœsch
2006-02-08 13:32:03 +02:00
Muxers/Demuxers:
4xm.c Mike Melanson
2015-07-19 23:16:36 +02:00
aadec.c Vesselin Bontchev (vesselin.bontchev at yandex dot com)
2024-08-31 23:21:49 +02:00
adtsenc.c [0]
2013-08-07 00:08:05 +03:00
aiffdec.c Baptiste Coudurier, Matthieu Bouron
aiffenc.c Baptiste Coudurier, Matthieu Bouron
2020-07-07 17:26:38 +02:00
alp.c Zane van Iperen
2020-11-02 07:47:32 +02:00
amvenc.c Zane van Iperen
2020-07-07 17:26:38 +02:00
apm.c Zane van Iperen
2014-11-25 11:03:12 +02:00
apngdec.c Benoit Fouet
2020-07-07 17:26:38 +02:00
argo_asf.c Zane van Iperen
2020-09-07 12:44:23 +02:00
argo_brp.c Zane van Iperen
2021-05-03 13:20:35 +02:00
argo_cvg.c Zane van Iperen
2010-12-04 02:23:08 +02:00
ass* Aurelien Jacobs
2013-01-05 18:43:52 +03:00
astenc.c James Almer
2006-02-08 13:32:03 +02:00
avi* Michael Niedermayer
2016-08-31 22:38:06 +02:00
avisynth.c Stephen Hutchinson
2010-02-26 13:51:17 +02:00
bink.c Peter Ross
2017-01-30 02:45:30 +02:00
boadec.c Michael Niedermayer
2010-10-10 03:39:42 +03:00
caf* Peter Ross
2018-02-13 12:46:44 +02:00
codec2.c Tomas Härdin
2006-02-08 13:32:03 +02:00
crc.c Michael Niedermayer
2017-09-11 16:40:46 +02:00
dashdec.c Steven Liu
2018-01-24 00:24:35 +02:00
dashenc.c Karthick Jeyapal
2006-02-08 13:32:03 +02:00
daud.c Reimar Doeffinger
2022-03-08 05:29:57 +02:00
dfpwmdec.c Jack Bruienne
2016-06-10 09:59:21 +02:00
dss.c Oleksij Rempel
2017-07-21 14:22:53 +02:00
dtsdec.c foo86
2008-03-09 00:55:31 +02:00
dv.c Roman Shaposhnik
2024-09-26 04:28:42 +02:00
dvdvideodec.c [2] Marth64
2010-01-11 14:08:42 +02:00
electronicarts.c Peter Ross
2023-06-15 13:49:34 +02:00
evc* Samsung (Dawid Kozinski)
2008-05-27 02:45:38 +03:00
ffm* Baptiste Coudurier
2006-02-08 13:32:03 +02:00
flic.c Mike Melanson
2016-11-09 02:36:02 +02:00
flvdec.c Michael Niedermayer
flvenc.c Michael Niedermayer, Steven Liu
2006-07-03 19:32:57 +03:00
gxf.c Reimar Doeffinger
2006-07-19 12:38:22 +03:00
gxfenc.c Baptiste Coudurier
2017-09-21 17:08:55 +02:00
hlsenc.c Christian Suloway, Steven Liu
2024-09-01 15:23:14 +02:00
iamf* [2] James Almer
2006-02-08 13:32:03 +02:00
idcin.c Mike Melanson
2010-08-29 19:37:33 +03:00
idroqdec.c Mike Melanson
2008-08-19 22:25:00 +03:00
iff.c Jaikrishnan Menon
2022-09-16 00:46:28 +02:00
imf* Pierre-Anthony Lemieux
2012-11-06 03:46:21 +03:00
img2*.c Michael Niedermayer
2013-08-07 03:58:16 +03:00
ipmovie.c Mike Melanson
2009-01-20 09:02:42 +02:00
iss.c Stefan Gehrer
2023-10-15 14:13:00 +02:00
jpegxl* Leo Izen
2011-03-08 17:11:10 +02:00
jvdec.c Peter Ross
2020-07-07 17:26:38 +02:00
kvag.c Zane van Iperen
2011-10-04 21:47:16 +03:00
libmodplug.c Clément Bœsch
2016-07-17 17:59:03 +02:00
libopenmpt.c Josh de Kock
2008-01-08 01:53:57 +02:00
lmlm4.c Ivo van Poorten
2010-10-01 14:08:28 +03:00
lxfdec.c Tomas Härdin
2024-09-01 16:16:30 +02:00
matroska.c Andreas Rheinhardt
matroskadec.c Andreas Rheinhardt
matroskaenc.c Andreas Rheinhardt
2014-05-22 10:22:15 +03:00
matroska subtitles (matroskaenc.c) John Peebles
2009-05-29 15:42:58 +03:00
metadata* Aurelien Jacobs
2013-08-07 03:58:16 +03:00
microdvd* Aurelien Jacobs
2009-02-20 14:03:35 +02:00
mm.c Peter Ross
2016-06-10 09:59:21 +02:00
mov.c Baptiste Coudurier
2013-08-08 17:40:19 +03:00
movenc.c Baptiste Coudurier, Matthieu Bouron
2015-12-22 09:20:34 +02:00
movenccenc.c Eran Kornblau
2008-08-26 04:22:19 +03:00
mpeg.c Michael Niedermayer
mpegenc.c Michael Niedermayer
2014-03-18 01:59:36 +03:00
mpegts.c Marton Balint
mpegtsenc.c Baptiste Coudurier
2008-03-18 21:54:47 +02:00
msnwc_tcp.c Ramiro Polla
2006-10-12 04:04:32 +03:00
mtv.c Reynaldo H. Verdejo Pinochet
2020-02-01 17:15:53 +02:00
mxf* Baptiste Coudurier, Tomas Härdin
2006-02-08 13:32:03 +02:00
nsvdec.c Francois Revol
2014-05-04 19:57:15 +03:00
nut* Michael Niedermayer
2006-03-28 01:22:50 +03:00
nuv.c Reimar Doeffinger
2009-03-21 01:36:34 +02:00
oggdec.c, oggdec.h David Conrad
2007-11-10 20:27:03 +02:00
oggenc.c Baptiste Coudurier
2009-03-21 01:36:34 +02:00
oggparse*.c David Conrad
2010-06-08 03:15:23 +03:00
oma.c Maxim Poliakovski
2020-07-07 17:26:38 +02:00
pp_bnk.c Zane van Iperen
2006-02-08 13:32:03 +02:00
psxstr.c Mike Melanson
2008-01-02 12:46:37 +02:00
pva.c Ivo van Poorten
2009-01-20 09:42:14 +02:00
r3d.c Baptiste Coudurier
2006-02-08 13:32:03 +02:00
raw.c Michael Niedermayer
2024-09-26 04:28:42 +02:00
rcwtdec.c [2] Marth64
rcwtenc.c [2] Marth64
2009-03-09 12:00:45 +02:00
rdt.c Ronald S. Bultje
2009-03-09 14:06:47 +02:00
rl2.c Sascha Sommer
2016-06-23 19:25:16 +02:00
rmdec.c, rmenc.c Ronald S. Bultje
2010-10-07 14:18:16 +03:00
rtp.c, rtpenc.c Martin Storsjo
2015-02-13 23:51:34 +02:00
rtpdec_ac3.* Gilles Chanteperdrix
2015-02-15 18:20:32 +02:00
rtpdec_dv.* Thomas Volkert
2014-08-23 22:25:39 +03:00
rtpdec_h261.*, rtpenc_h261.* Thomas Volkert
2014-09-22 14:07:10 +03:00
rtpdec_hevc.*, rtpenc_hevc.* Thomas Volkert
2015-03-02 12:00:17 +02:00
rtpdec_mpa_robust.* Gilles Chanteperdrix
2010-07-15 11:21:01 +03:00
rtpdec_asf.* Ronald S. Bultje
2016-05-03 19:07:37 +02:00
rtpdec_vc2hq.*, rtpenc_vc2hq.* Thomas Volkert
2015-02-15 15:46:42 +02:00
rtpdec_vp9.c Thomas Volkert
2010-10-07 14:18:16 +03:00
rtpenc_mpv.*, rtpenc_aac.* Martin Storsjo
2017-07-21 14:22:53 +02:00
s337m.c foo86
2012-01-24 17:51:09 +03:00
sbgdec.c Nicolas George
2010-10-07 14:18:16 +03:00
sdp.c Martin Storsjo
2006-02-08 13:32:03 +02:00
segafilm.c Mike Melanson
2014-09-08 13:49:06 +03:00
segment.c Stefano Sabatini
2014-01-03 15:55:52 +03:00
spdif* Anssi Hannula
2010-12-04 02:23:08 +02:00
srtdec.c Aurelien Jacobs
2007-01-14 02:47:22 +02:00
swf.c Baptiste Coudurier
2007-11-14 18:04:05 +02:00
tta.c Alex Beregszaszi
2007-05-08 14:03:00 +03:00
txd.c Ivo van Poorten
2006-02-10 00:52:23 +02:00
voc.c Aurelien Jacobs
2006-02-08 13:32:03 +02:00
wav.c Michael Niedermayer
wc3movie.c Mike Melanson
2014-05-22 20:31:05 +03:00
webm dash (matroskaenc.c) Vignesh Venkatasubramanian
2013-06-18 02:29:13 +03:00
webvtt* Matthew J Heaney
2006-02-08 13:32:03 +02:00
westwood.c Mike Melanson
2011-01-09 10:43:44 +02:00
wtv.c Peter Ross
2006-02-08 13:32:03 +02:00
2008-11-25 19:12:45 +02:00
Protocols:
2015-07-21 09:46:02 +02:00
async.c Zhang Rui
2012-03-03 06:25:48 +03:00
bluray.c Petri Hintukainen
2013-05-15 17:08:11 +03:00
ftp.c Lukasz Marek
2010-01-04 17:52:26 +02:00
http.c Ronald S. Bultje
2022-03-25 09:40:33 +02:00
libsrt.c Zhao Zhili
2013-09-21 17:30:46 +03:00
libssh.c Lukasz Marek
2020-02-13 02:17:06 +02:00
libzmq.c Andriy Gelman
2010-08-21 22:04:41 +03:00
mms*.c Ronald S. Bultje
2008-11-25 19:12:45 +02:00
udp.c Luca Abeni
2024-08-31 23:40:57 +02:00
icecast.c [2] Marvin Scholz (CC <epirat07@gmail.com>)
2008-11-25 19:12:45 +02:00
2006-02-08 13:32:03 +02:00
2012-12-27 14:15:59 +03:00
libswresample
=============
Generic parts:
2024-08-15 00:37:03 +02:00
audioconvert.c [2] Michael Niedermayer
dither.c [2] Michael Niedermayer
rematrix*.c [2] Michael Niedermayer
swresample*.c [2] Michael Niedermayer
2012-12-27 14:15:59 +03:00
Resamplers:
2024-08-15 00:37:03 +02:00
resample*.c [2] Michael Niedermayer
2012-12-27 14:15:59 +03:00
soxr_resample.c Rob Sykes
2006-02-08 13:32:03 +02:00
Operating systems / CPU architectures
=====================================
2024-08-15 00:37:03 +02:00
*BSD [2] Brad Smith
Alpha [0]
2018-07-26 05:46:23 +02:00
MIPS Manojkumar Bhosale, Shiyou Yin
2024-08-15 00:37:03 +02:00
LoongArch [2] Shiyou Yin
2007-06-13 21:48:39 +03:00
Mac OS X / PowerPC Romain Dolbeau, Guillaume Poirier
2006-02-18 16:28:01 +02:00
Amiga / PowerPC Colin Ward
2019-01-27 20:51:19 +02:00
Linux / PowerPC Lauri Kasanen
2024-08-15 00:37:03 +02:00
RISC-V [2] Rémi Denis-Courmont
2007-07-02 22:49:31 +03:00
Windows MinGW Alex Beregszaszi, Ramiro Polla
2007-06-29 19:39:18 +03:00
Windows Cygwin Victor Paesa
2023-12-23 14:15:55 +02:00
Windows MSVC Hendrik Leppkes
2007-05-15 05:06:27 +03:00
ADI/Blackfin DSP Marc Hoffman
2008-09-13 20:09:18 +03:00
Sparc Roman Shaposhnik
2016-02-15 06:16:23 +02:00
OS/2 KO Myung-Hun
2008-12-29 01:12:46 +02:00
2016-11-21 19:22:03 +02:00
Developers with git write access who are currently not maintaining any specific part
====================================================================================
Alex Converse
Andreas Cadhalpun
Anuradha Suraparaju
Ben Littler
Benjamin Larsson
Bobby Bingham
Daniel Verkamp
Derek Buitenhuis
2024-06-30 08:17:42 +02:00
Fei Wang
2016-11-21 19:22:03 +02:00
Ganesh Ajjanagadde
Henrik Gramner
Ivan Uskov
James Darnley
2017-09-29 02:03:23 +02:00
Jan Ekström
2016-11-21 19:22:03 +02:00
Joakim Plate
2018-04-03 01:14:46 +02:00
Jun Zhao
2016-11-21 19:22:03 +02:00
Kieran Kunhya
Kirill Gavrilov
2020-04-26 12:50:09 +02:00
Limin Wang
2016-11-21 19:22:03 +02:00
Martin Storsjö
Panagiotis Issaris
Pedro Arthur
Sebastien Zwickert
2016-11-23 13:04:27 +02:00
Vittorio Giovara
2016-11-21 19:22:03 +02:00
wm4
(this list is incomplete)
2011-06-24 01:06:56 +03:00
Releases
========
2024-06-16 22:32:03 +02:00
7.0 Michael Niedermayer
6.1 Michael Niedermayer
5.1 Michael Niedermayer
4.4 Michael Niedermayer
3.4 Michael Niedermayer
2015-09-09 04:33:17 +02:00
2.8 Michael Niedermayer
2011-06-24 01:06:56 +03:00
2013-03-14 16:50:42 +03:00
If you want to maintain an older release, please contact us
2011-06-24 01:06:56 +03:00
2018-04-07 12:18:00 +02:00
GnuPG Fingerprints and IRC nicknames of maintainers and contributors
====================================================================
IRC nicknames are in parentheses. These apply
to the IRC channels listed on the website.
2008-12-29 01:12:46 +02:00
2012-06-27 00:05:55 +03:00
Alexander Strasser 1C96 78B7 83CB 8AA7 9AF5 D1EB A7D8 A57B A876 E58F
2011-01-17 23:51:11 +02:00
Anssi Hannula 1A92 FF42 2DD9 8D2E 8AF7 65A9 4278 C520 513D F3CB
2013-05-22 04:16:51 +03:00
Ash Hughes 694D 43D2 D180 C7C7 6421 ABD3 A641 D0B7 623D 6029
2009-03-15 13:18:52 +02:00
Attila Kinali 11F0 F9A6 A1D2 11F6 C745 D10C 6520 BCDD F2DF E765
2009-03-16 15:03:08 +02:00
Baptiste Coudurier 8D77 134D 20CC 9220 201F C5DB 0AC9 325C 5C1A BAAA
2010-11-05 18:37:41 +02:00
Ben Littler 3EE3 3723 E560 3214 A8CD 4DEB 2CDB FCE7 768C 8D2C
2010-02-27 12:10:58 +02:00
Benoit Fouet B22A 4F4F 43EF 636B BB66 FCDC 0023 AE1E 2985 49C8
2014-06-11 03:37:22 +03:00
Clément Bœsch 52D0 3A82 D445 F194 DB8B 2B16 87EE 2CB8 F4B8 FCF9
2009-10-06 20:42:58 +03:00
Daniel Verkamp 78A6 07ED 782C 653E C628 B8B9 F0EB 8DD8 2F0E 21C7
2013-06-06 00:28:23 +03:00
FFmpeg release signing key FCF9 86EA 15E6 E293 A564 4F10 B432 2F04 D676 58D8
2015-10-25 03:59:56 +02:00
Ganesh Ajjanagadde C96A 848E 97C3 CEA2 AB72 5CE4 45F9 6A2D 3C36 FB1B
2011-09-19 17:57:10 +03:00
Gwenole Beauchesne 2E63 B3A6 3E44 37E2 017D 2704 53C7 6266 B153 99C4
2021-12-22 10:26:02 +02:00
Haihao Xiang (haihao) 1F0C 31E8 B4FE F7A4 4DC1 DC99 E0F5 76D4 76FC 437F
2009-04-16 19:54:35 +03:00
Jaikrishnan Menon 61A1 F09F 01C9 2D45 78E1 C862 25DC 8831 AF70 D368
2017-10-27 05:33:13 +02:00
James Almer 7751 2E8C FD94 A169 57E6 9A7A 1463 01AD 7376 59E0
2013-07-02 14:55:34 +03:00
Jean Delvare 7CA6 9F44 60F1 BDC4 1FD2 C858 A552 6B9B B3CD 4E6A
2023-06-18 16:39:20 +02:00
Leo Izen (Traneptora) B6FD 3CFC 7ACF 83FC 9137 6945 5A71 C331 FD2F A19A
2024-01-08 21:01:59 +02:00
Leo Izen (Traneptora) 1D83 0A0B CE46 709E 203B 26FC 764E 48EA 4822 1833
2009-02-15 23:12:05 +02:00
Loren Merritt ABD9 08F4 C920 3F65 D8BE 35D7 1540 DAA7 060F 56DE
2020-03-18 00:56:03 +02:00
Lynne FE50 139C 6805 72CA FD52 1F8D A2FE A5F0 3F03 4464
2008-12-29 18:39:11 +02:00
Michael Niedermayer 9FF2 128B 147E F673 0BAD F133 611E C787 040B 0FAB
2022-08-09 21:53:32 +02:00
DD1E C9E8 DE08 5C62 9B3E 1846 B18E 8928 B394 8D64
2012-01-24 17:51:09 +03:00
Nicolas George 24CE 01CE 9ACC 5CEB 74D8 8D9D B063 D997 36E5 4C93
2022-03-28 20:33:12 +02:00
Niklas Haas (haasn) 1DDB 8076 B14D 5B48 32FC 99D9 EB52 DA9C 02BA 6FB4
2016-07-22 16:15:20 +02:00
Nikolay Aleksandrov 8978 1D8C FB71 588E 4B27 EAA8 C4F0 B5FC E011 13B1
2011-11-15 19:57:10 +03:00
Panagiotis Issaris 6571 13A3 33D9 3726 F728 AA98 F643 B12E ECF3 E029
2009-02-20 14:03:35 +02:00
Peter Ross A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B
2015-08-03 17:19:54 +02:00
Philip Langdale 5DC5 8D66 5FBA 3A43 18EC 045E F8D6 B194 6A75 682E
2022-09-16 00:46:28 +02:00
Pierre-Anthony Lemieux (pal) F4B3 9492 E6F2 E4AF AEC8 46CB 698F A1F0 F8D4 EED4
2020-03-23 05:02:25 +02:00
Ramiro Polla 7859 C65B 751B 1179 792E DAE8 8E95 8B2F 9B6C 5700
2014-06-11 03:37:22 +03:00
Reimar Doeffinger C61D 16E5 9E2C D10C 8958 38A4 0899 A2B9 06D4 D9C7
2010-02-27 12:11:23 +02:00
Reinhard Tartler 9300 5DC2 7E87 6C37 ED7B CA9A 9808 3544 9453 48A4
2008-12-29 18:39:11 +02:00
Reynaldo H. Verdejo Pinochet 6E27 CD34 170C C78E 4D4F 5F40 C18E 077F 3114 452A
2011-01-05 10:03:39 +02:00
Robert Swain EE7A 56EA 4A81 A7B5 2001 A521 67FA 362D A2FC 3E71
2009-01-08 21:30:10 +02:00
Sascha Sommer 38A0 F88B 868E 9D3A 97D4 D6A0 E823 706F 1E07 0D3C
2012-12-19 01:07:17 +03:00
Stefano Sabatini 0D0B AD6B 5330 BBAD D3D6 6A0C 719C 2839 FC43 2D5F
2017-08-03 09:31:34 +02:00
Steinar H. Gunderson C2E9 004F F028 C18E 4EAD DB83 7F61 7561 7797 8F76
2012-08-23 19:40:22 +03:00
Stephan Hilb 4F38 0B3A 5F39 B99B F505 E562 8D5C 5554 4E17 8863
2019-08-11 12:08:15 +02:00
Thilo Borgmann (thilo) CE1D B7F4 4D20 FC3A DD9F FE5A 257C 5B8F 1D20 B92F
2014-06-11 03:37:23 +03:00
Tiancheng "Timothy" Gu 9456 AFC0 814A 8139 E994 8351 7FE6 B095 B582 B0D4
2014-06-13 16:41:43 +03:00
Tim Nicholson 38CF DB09 3ED0 F607 8B67 6CED 0C0B FC44 8B0B FC83
2018-04-07 12:18:00 +02:00
Tomas Härdin (thardin) A79D 4E3D F38F 763F 91F5 8B33 A01E 8AE0 41BB 2551
2013-04-11 14:31:54 +03:00
Wei Gao 4269 7741 857A 0E60 9EC5 08D2 4744 4EFA 62C1 87B9
2020-07-07 17:26:38 +02:00
Zane van Iperen (zane) 61AE D40F 368B 6F26 9DAE 3892 6861 6B2D 8AC4 DCC5