From f8c69893e1b3a625a0ec772ef26290d7ad5d7138 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Fri, 5 Jan 2018 11:11:20 +0100
Subject: [PATCH] python/build/libs.py: disable lots of useless FFmpeg features

---
 python/build/libs.py | 117 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 114 insertions(+), 3 deletions(-)

diff --git a/python/build/libs.py b/python/build/libs.py
index 50f963d13..7340305e9 100644
--- a/python/build/libs.py
+++ b/python/build/libs.py
@@ -114,15 +114,126 @@ ffmpeg = FfmpegProject(
         '--disable-pixelutils',
         '--disable-network',
         '--disable-encoders',
+        '--disable-muxers',
         '--disable-protocols',
         '--disable-devices',
         '--disable-filters',
+        '--disable-filters',
         '--disable-v4l2_m2m',
 
-        # clang misinterprets the "B0" in hevc_mvs.c as binary
-        # literal, which breaks the build; but we don't need that
-        # video codec anyway
+        '--disable-parser=bmp',
+        '--disable-parser=cavsvideo',
+        '--disable-parser=dvbsub',
+        '--disable-parser=dvdsub',
+        '--disable-parser=dvd_nav',
+        '--disable-parser=mpeg4video',
+        '--disable-parser=mpegaudio',
+        '--disable-parser=mpegvideo',
+        '--disable-parser=vc1',
+        '--disable-parser=png',
+        '--disable-parser=pnm',
+
+        # we don't need these decoders, because we have the dedicated
+        # libraries
+        '--disable-decoder=flac',
+        '--disable-decoder=mp1',
+        '--disable-decoder=mp1float',
+        '--disable-decoder=mp2',
+        '--disable-decoder=mp2float',
+        '--disable-decoder=mp3',
+        '--disable-decoder=mp3adu',
+        '--disable-decoder=mp3adufloat',
+        '--disable-decoder=mp3float',
+        '--disable-decoder=mp3on4',
+        '--disable-decoder=mp3on4float',
+        '--disable-decoder=opus',
+        '--disable-decoder=vorbis',
+
+        # audio codecs nobody uses
+        '--disable-decoder=atrac1',
+        '--disable-decoder=atrac3',
+        '--disable-decoder=atrac3al',
+        '--disable-decoder=atrac3p',
+        '--disable-decoder=atrac3pal',
+        '--disable-decoder=dsicinaudio',
+        '--disable-decoder=dvaudio',
+        '--disable-decoder=metasound',
+        '--disable-decoder=paf_audio',
+        '--disable-decoder=ralf',
+        '--disable-decoder=qdm2',
+        '--disable-decoder=qdmc',
+
+        # disable lots of image and video codecs
+        '--disable-decoder=bmp',
+        '--disable-decoder=clearvideo',
+        '--disable-decoder=dsicinvideo',
+        '--disable-decoder=dvvideo',
+        '--disable-decoder=ffv1',
+        '--disable-decoder=ffvhuff',
+        '--disable-decoder=ffwavesynth',
+        '--disable-decoder=flic',
+        '--disable-decoder=flv',
+        '--disable-decoder=gif',
+        '--disable-decoder=h261',
+        '--disable-decoder=h263',
+        '--disable-decoder=h263i',
+        '--disable-decoder=h263p',
+        '--disable-decoder=h264',
         '--disable-decoder=hevc',
+        '--disable-decoder=hnm4_video',
+        '--disable-decoder=hq_hqa',
+        '--disable-decoder=hqx',
+        '--disable-decoder=iff_ilbm',
+        '--disable-decoder=indeo2',
+        '--disable-decoder=indeo3',
+        '--disable-decoder=indeo4',
+        '--disable-decoder=indeo5',
+        '--disable-decoder=interplay_video',
+        '--disable-decoder=jpeg2000',
+        '--disable-decoder=jpegls',
+        '--disable-decoder=microdvd',
+        '--disable-decoder=mjpeg',
+        '--disable-decoder=mmvideo',
+        '--disable-decoder=motionpixels',
+        '--disable-decoder=mpeg1video',
+        '--disable-decoder=mpeg2video',
+        '--disable-decoder=mpeg4',
+        '--disable-decoder=mpegvideo',
+        '--disable-decoder=msmpeg4_crystalhd',
+        '--disable-decoder=msmpeg4v1',
+        '--disable-decoder=msmpeg4v2',
+        '--disable-decoder=msmpeg4v3',
+        '--disable-decoder=mvc1',
+        '--disable-decoder=mvc2',
+        '--disable-decoder=on2avc',
+        '--disable-decoder=paf_video',
+        '--disable-decoder=qdraw',
+        '--disable-decoder=qpeg',
+        '--disable-decoder=rawvideo',
+        '--disable-decoder=rv10',
+        '--disable-decoder=rv20',
+        '--disable-decoder=rv30',
+        '--disable-decoder=rv40',
+        '--disable-decoder=sheervideo',
+        '--disable-decoder=tiff',
+        '--disable-decoder=mottiertexseqvideo',
+        '--disable-decoder=truemotion1',
+        '--disable-decoder=truemotion2',
+        '--disable-decoder=truemotion2rt',
+        '--disable-decoder=twinvq',
+        '--disable-decoder=utvideo',
+        '--disable-decoder=vc1',
+        '--disable-decoder=vmdvideo',
+        '--disable-decoder=vp3',
+        '--disable-decoder=vp5',
+        '--disable-decoder=vp6',
+        '--disable-decoder=vp7',
+        '--disable-decoder=vp8',
+        '--disable-decoder=vp9',
+        '--disable-decoder=wmv1',
+        '--disable-decoder=wmv2',
+        '--disable-decoder=wmv3',
+        '--disable-decoder=yuv4',
     ],
 )