From bedd6906eabdd513042d6a178d4dc56a3a41d1d3 Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Fri, 16 Dec 2022 20:16:43 -0500 Subject: v3, file/build organization --- misc/ffmpeg_config.sh | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 misc/ffmpeg_config.sh (limited to 'misc/ffmpeg_config.sh') diff --git a/misc/ffmpeg_config.sh b/misc/ffmpeg_config.sh new file mode 100644 index 0000000..9266a76 --- /dev/null +++ b/misc/ffmpeg_config.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# The config flags for the minimal ffmpeg build used in the program, reducing +# compile time and filesize by a decent amount. + +# Surprisingly we don't need to compile and link any other external libaries to +# be able to decode most of the commonly-used file formats. We'll only start +# needing them if we want the user to be able to export mp4s or webms directly +# from the program. + +# All bitstream filters and are enabled. +# All filters, devices, and HW acceleration are disabled. +# All protocols aside from 'file' are disabled. +# Encoders and muxers are TBD. + +VIDEO_DECODERS="av1,h263,h264,hevc,vp8,vp9" +AUDIO_DECODERS="aac,ac3,flac,mp3,opus,pcm_s16le,pcm_dvd,pcm_bluray,wmalossless,wmav1" +VIDEO_DEMUXERS="h261,h263,h264,hevc,matroska,mov,mpc,mpegps,mpegts,webm_dash_manifest" +AUDIO_DEMUXERS="aac,avi,flac,mp3,ogg,pcm_s16le,wav" +VIDEO_PARSERS="h261,h263,h264,hevc,mpeg4video,mpegvideo,vc1,vp8,vp9,webp" +AUDIO_PARSERS="aac,flac,mpegaudio,opus,vorbis" + +./configure \ + --disable-encoders \ + --disable-decoders \ + --disable-hwaccels \ + --disable-muxers \ + --disable-demuxers \ + --disable-parsers \ + --disable-protocols \ + --disable-devices \ + --disable-filters \ + \ + --enable-decoder=$VIDEO_DECODERS,$AUDIO_DECODERS \ + --enable-parser=$VIDEO_PARSERS,$AUDIO_PARSERS \ + --enable-demuxer=$VIDEO_DEMUXERS,$AUDIO_DEMUXERS \ + --enable-protocol=file \ + \ + --enable-avcodec \ + --enable-avformat \ + --enable-avutil \ + --enable-swscale \ + --disable-avdevice \ + --disable-network \ + \ + --enable-gpl \ + --enable-static \ + --disable-shared \ + --disable-doc \ -- cgit v1.2.3