-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Meson wrap for FFmpeg #335
base: master
Are you sure you want to change the base?
Conversation
Is it correct that this builds FFmpeg with all demuxers and decoders? How big is resulting Q2PRO binary when statically linking to this? For static linking, FFmpeg needs to be built in smallest possible configuration to facilitate Ogg Theora videos and Vorbis music playback (in addition to original "idcin" cinematic format of course). For example, these are upstream FFmpeg configure script options I currently use for nightly builds:
For 64-bit Windows build, resulting overhead is about 1 MiB. If Meson port of FFmpeg is to be used similar set of options needs to be enabled, so that binary size overhead is comparable. |
Yes.
20MB on MSVC x64. So, quite large. The Meson wrap allows to disable various features... but there are a lot of options, see: https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/blob/meson-6.0/meson_options.txt?ref_type=heads If your options above can be translated into about the same amount of Meson wrap options, I think it would be fine; but if we have to disable (almost) every muxer, demuxer, decoder, parser, ..., this would really be a PITA. (And also an enormous amount of |
With tweaked defaults I got the overhead down to 2MB. Most of the options above I could translate to Meson, except: Unfortunately, at the current time, these efforts are moot, as there's a link error occuring due to an issue in upstream I discovered (https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/issues/40). |
This has been addressed upstream now. I tried to hack the equivalent of |
Is it possible to force the use of this meson wrap and ignore the system ffmpeg libraries? I cannot slim down my ffmpeg in cross compiler environment because it's used for a useful ffmpeg.exe and libraries for media players. The end result is that my |
Should be doable using meson's |
Got it, |
Adds a Meson wrap for FFmpeg (utilizing gstreamer's meson port), allowing it to be automatically built, if not available on the system.
Tested Windows/MSVC and Linux/GCC, both 64 bit, those seem to work fine.