# shellcheck shell=bash disable=SC2034
# The FFmpeg we ship: LGPL only (no --enable-gpl / --enable-nonfree, so no x264,
# x265, fdk-aac), cut down to what compressing a video file needs. Encoding uses
# the OS or GPU encoders (VideoToolbox on macOS; Media Foundation, NVENC, AMF on
# Windows), so the H.264/HEVC encoder licences come with the OS and the driver.
# Sourced by build-macos.sh and Dockerfile.windows (via build-windows.sh).
FFMPEG_VERSION=9.0.2
FFMPEG_SHA256=8c3850283eb25fa026482078a04051e0be17347b09ef81a0849bec15a96e002e
FFMPEG_URL="https://ffmpeg.org/releases/ffmpeg-$FFMPEG_VERSION.tar.xz"

FFMPEG_COMMON=(
  --disable-everything --disable-autodetect --disable-doc --disable-ffplay
  --disable-network --disable-debug --disable-avdevice
  --enable-static --disable-shared --enable-pic
  --enable-ffmpeg --enable-ffprobe --enable-swscale --enable-swresample --enable-avfilter
  --enable-protocol=file,pipe,fd
  --enable-demuxer=rawvideo,mov,matroska,avi,flv,mpegts,mpegps,asf,ogg,mp3,aac,wav,h264,hevc,m4v,mpegvideo,ac3,eac3,flac,mxf,webm_dash_manifest,gif,image2
  --enable-muxer=mp4,mov,null,image2pipe
  --enable-decoder=rawvideo,h264,hevc,vp8,vp9,mpeg4,mpeg2video,mpeg1video,h263,mjpeg,prores,dnxhd,vc1,wmv1,wmv2,wmv3,msmpeg4v1,msmpeg4v2,msmpeg4v3,flv,theora,gif,png
  --enable-decoder=aac,aac_latm,mp3,mp3float,mp2,mp2float,ac3,eac3,opus,vorbis,flac,alac,wmav1,wmav2,wmapro,amrnb,amrwb,dca,truehd
  --enable-decoder='pcm_*'
  --enable-encoder=aac,mjpeg
  --enable-parser=h264,hevc,aac,aac_latm,mpegaudio,vp8,vp9,av1,mpeg4video,mpegvideo,ac3,opus,vorbis,flac,dca,mjpeg,png,gif
  --enable-bsf=h264_mp4toannexb,hevc_mp4toannexb,aac_adtstoasc,extract_extradata,vp9_superframe_split,null
  --enable-filter=scale,format,fps,aresample,aformat,anull,null,trim,atrim,setpts,asetpts,setsar,setdar,transpose,hflip,vflip,pad,crop,pan,volume
)
