LIGNE DE COMPILATION — Windows (x86_64)
=========================================

Ce fichier ne reconstitue rien : il **recopie**, mot pour mot, ce que le
binaire livré contient. Tout ce qui est écrit ici a été extrait de
« libmpv-2.dll », la bibliothèque que le greffon media_kit_libs_windows_video
(1.0.11) télécharge et installe dans l'application.

C'est plus fort qu'une recette : une recette décrit ce qu'on *voudrait*
compiler, le binaire décrit ce qui a *été* compilé. Quand les deux
divergent — et ils divergent ici — c'est le binaire qui fait foi.

── Le binaire ────────────────────────────────────────────────────────────

  media-kit/libmpv-win32-video-build, release 2023-09-24
  actif : mpv-dev-x86_64-20230924-git-652a1dd.7z
  MD5   : a832ef24b3a6ff97cd2560b5b9d04cd8
  URL   : https://github.com/media-kit/libmpv-win32-video-build/releases/
          download/2023-09-24/mpv-dev-x86_64-20230924-git-652a1dd.7z

── Ce que le binaire annonce de lui-même ─────────────────────────────────

  mpv v0.36.0-403-g652a1dd907      → mpv, commit 652a1dd90711839acdccc08004056d25514ef2d8
  Lavf60.3.100                     → FFmpeg 6.0 (libavformat 60.3.100)
  libavcodec license: LGPL version 3 or later
  libavfilter license: LGPL version 3 or later
  libavformat license: LGPL version 3 or later
  libavutil license: LGPL version 3 or later
  libswresample license: LGPL version 3 or later
  libswscale license: LGPL version 3 or later

Les six dernières lignes sont décisives : ce sont les déclarations de
licence que FFmpeg inscrit lui-même dans sa bibliothèque. Elles disent
« LGPL version 3 or later » — jamais « GPL version 3 ». La pile livrée
est donc LGPL, et elle est redistribuable dans une application
propriétaire.

── Comment vérifier ──────────────────────────────────────────────────────

  7z x mpv-dev-x86_64-20230924-git-652a1dd.7z libmpv-2.dll
  strings libmpv-2.dll | grep -E "license: LGPL|mpv v0|Lavf60"

── La configuration de mpv, telle qu'elle est écrite dans le binaire ────

Configuration: -Dc_link_args=-Wl,--gc-sections -Dcpp_link_args=-Wl,--gc-sections -Dgpl=false -Db_lto=true -Db_ndebug=true -Dlibmpv=true -Dpdf-build=enabled -Dlua=disabled -Djavascript=enabled -Duchardet=enabled -Dlcms2=enabled -Dopenal=disabled -Dspirv-cross=enabled -Dvulkan=disabled -Dlibplacebo=disabled -Degl-angle=enabled -Dprefix=/__w/libmpv-win32-video-build/libmpv-win32-video-build/mpv-winbuild-cmake/build64/install/mingw -Dlibdir=/__w/libmpv-win32-video-build/libmpv-win32-video-build/mpv-winbuild-cmake/build64/install/mingw/lib -Dbuildtype=release -Ddefault_library=shared -Dprefer_static=True --cross-file=/__w/libmpv-win32-video-build/libmpv-win32-video-build/mpv-winbuild-cmake/build64/meson_cross.txt

── La ligne de configuration de FFmpeg, telle qu'elle est écrite dans
   le binaire ─────────────────────────────────────────────────────────────

FFmpeg inscrit sa ligne de configuration complète dans sa bibliothèque.
C'est elle, et non la recette, qui dit comment le binaire a été compilé :

--cross-prefix=x86_64-w64-mingw32- --prefix=/__w/libmpv-win32-video-build/libmpv-win32-video-build/mpv-winbuild-cmake/build64/install/mingw --arch=x86_64 --target-os=mingw32 --target-exec=wine --pkg-config-flags=--static --enable-cross-compile --disable-gpl --disable-nonfree --enable-version3 --enable-static --disable-shared --disable-vulkan --disable-iconv --enable-stripping --disable-muxers --disable-decoders --disable-encoders --disable-demuxers --disable-parsers --disable-protocols --disable-filters --disable-doc --disable-postproc --disable-programs --disable-gray --disable-swscale-alpha --enable-bsfs --enable-amf --enable-cuda --enable-nvdec --enable-nvenc --enable-cuvid --enable-dxva2 --enable-libmfx --enable-d3d11va --enable-ffnvcodec --disable-vaapi --disable-vdpau --disable-bzlib --disable-libmfx --disable-libuavs3d --disable-linux-perf --disable-videotoolbox --disable-audiotoolbox --disable-bsf=mjpeg2jpeg --disable-bsf=mjpega_dump_header --disable-bsf=mov2textsub --disable-bsf=text2movsub --disable-bsf=eac3_core --enable-small --enable-hwaccels --enable-optimizations --enable-runtime-cpudetect --enable-mbedtls --enable-libdav1d --enable-libjxl --enable-libvpl --enable-libbs2b --enable-libwebp --enable-libzimg --enable-libxml2 --enable-libsoxr --enable-libspeex --enable-libmysofa --enable-libshaderc --enable-libfribidi --enable-libfreetype --enable-avutil --enable-avcodec --enable-avfilter --enable-avformat --enable-avdevice --enable-swscale --enable-swresample --enable-decoder=flv --enable-decoder=h263 --enable-decoder=h263i --enable-decoder=h263p --enable-decoder='h264*' --enable-decoder=mpeg1video --enable-decoder='mpeg2*' --enable-decoder='mpeg4*' --enable-decoder=vp6 --enable-decoder=vp6a --enable-decoder=vp6f --enable-decoder='vp8*' --enable-decoder='vp9*' --enable-decoder='hevc*' --enable-decoder='av1*' --enable-decoder=libdav1d --enable-decoder=theora --enable-decoder='msmpeg*' --enable-decoder='mjpeg*' --enable-decoder='wmv*' --enable-decoder='aac*' --enable-decoder=ac3 --enable-decoder=alac --enable-decoder=als --enable-decoder=ape --enable-decoder='atrac*' --enable-decoder=eac3 --enable-decoder=flac --enable-decoder='gsm*' --enable-decoder='mp1*' --enable-decoder='mp2*' --enable-decoder='mp3*' --enable-decoder='mpc*' --enable-decoder=opus --enable-decoder='ra*' --enable-decoder=ralf --enable-decoder=shorten --enable-decoder=tak --enable-decoder=tta --enable-decoder=vorbis --enable-decoder=wavpack --enable-decoder='wma*' --enable-decoder='pcm*' --enable-decoder='dsd*' --enable-decoder=dca --enable-decoder=ssa --enable-decoder=ass --enable-decoder=dvbsub --enable-decoder=dvdsub --enable-decoder=srt --enable-decoder=stl --enable-decoder=subrip --enable-decoder=subviewer --enable-decoder=subviewer1 --enable-decoder=text --enable-decoder=vplayer --enable-decoder=webvtt --enable-decoder=movtext --enable-decoder=mjpeg --enable-decoder=ljpeg --enable-decoder=jpegls --enable-decoder=jpeg2000 --enable-decoder=png --enable-decoder=gif --enable-decoder=bmp --enable-decoder=tiff --enable-decoder=webp --enable-decoder=jpegls --enable-demuxer=concat --enable-demuxer=data --enable-demuxer=flv --enable-demuxer=hls --enable-demuxer=latm --enable-demuxer=live_flv --enable-demuxer=loas --enable-demuxer=m4v --enable-demuxer=mov --enable-demuxer=mpegps --enable-demuxer=mpegts --enable-demuxer=mpegvideo --enable-demuxer=hevc --enable-demuxer=rtsp --enable-demuxer=mpeg4 --enable-demuxer='mjpeg*' --enable-demuxer=avi --enable-demuxer=av1 --enable-demuxer=matroska --enable-demuxer=dash --enable-demuxer=webm_dash_manifest --enable-demuxer=aac --enable-demuxer=ac3 --enable-demuxer=aiff --enable-demuxer=ape --enable-demuxer=asf --enable-demuxer=au --enable-demuxer=avi --enable-demuxer=flac --enable-demuxer=flv --enable-demuxer=matroska --enable-demuxer=mov --enable-demuxer=m4v --enable-demuxer=mp3 --enable-demuxer='mpc*' --enable-demuxer=ogg --enable-demuxer='pcm*' --enable-demuxer=rm --enable-demuxer=shorten --enable-demuxer=tak --enable-demuxer=tta --enable-demuxer=wav --enable-demuxer=wv --enable-demuxer=xwma --enable-demuxer=dsf --enable-demuxer=truehd --enable-demuxer=dts --enable-demuxer=dtshd --enable-demuxer=ass --enable-demuxer=srt --enable-demuxer=stl --enable-demuxer=webvtt --enable-demuxer=subviewer --enable-demuxer=subviewer1 --enable-demuxer=vplayer --enable-parser=h263 --enable-parser=h264 --enable-parser=hevc --enable-parser=mpeg4 --enable-parser=mpeg4video --enable-parser=mpegvideo --enable-parser='aac*' --enable-parser=ac3 --enable-parser=cook --enable-parser=flac --enable-parser=gsm --enable-parser=mpegaudio --enable-parser=tak --enable-parser=vorbis --enable-parser=dca --enable-filter=overlay --enable-filter=equalizer --enable-protocol=async --enable-protocol=cache --enable-protocol=crypto --enable-protocol=data --enable-protocol=ffrtmphttp --enable-protocol=file --enable-protocol=ftp --enable-protocol=hls --enable-protocol=http --enable-protocol=httpproxy --enable-protocol=https --enable-protocol=pipe --enable-protocol=rtmp --enable-protocol=rtmps --enable-protocol=rtmpt --enable-protocol=rtmpts --enable-protocol=rtp --enable-protocol=subfile --enable-protocol=tcp --enable-protocol=tls --enable-protocol=srt --enable-network --extra-libs='-lsecurity -lschannel -lstdc++'

── Une note sur la recette ───────────────────────────────────────────────

Le fichier « media-kit-build/ » de cette archive contient la recette de
compilation du dépôt media-kit/libmpv-win32-video-build. Cette recette
décrit une compilation de FFmpeg **complète** (« --enable-gpl
--enable-nonfree --enable-libx264 --enable-libx265 »), qui n'est **pas**
celle du binaire livré : le binaire livré a été compilé avec la
« flavour video » de media-kit, minimale et LGPL, comme le montre la ligne
de configuration reproduite ci-dessus.

Les deux sont conservées ici : la recette, parce qu'elle fait partie du
système de compilation ; la ligne recovery du binaire, parce que c'est
elle qui décrit le fichier que l'utilisateur reçoit. En cas de désaccord,
c'est le binaire qui fait foi — et il est LGPL.
