FFmpeg and x264 circular dependency
aberg010 at my.hennepintech.edu
Thu Mar 6 01:45:54 UTC 2014
On 2014.03.05 06:24, Tom Evans wrote:
>> This is not for GPAC support (which works just fine without ffmpeg anyway). This is for demuxing and decoding input video using lavf and
>> lavc (instead of requiring raw video as input).
> I thought that was what OPTION_GPAC did - its description is "Enable
> MPEG-4 Output".
That is what OPTION_GPAC does, but x264 does not pull in ffmpeg for it.
> Now I'm totally confused - where and how does x264 currently pull in ffmpeg?
x264 will link to the libav libraries if present in order to provide support for various input containers and video codecs.
> # x264 --help
> x264 core:140 r2380 de0bc36
> Syntax: x264 [options] -o outfile infile
> Infile can be raw (in which case resolution is required),
> or YUV4MPEG (*.y4m),
> or Avisynth if compiled with support (no).
> or libav* formats if compiled with lavf support (yes) or ffms support (no).
If ffmpeg is installed while x264 is built, you get lavf support (as well as lavc support for decoding video) as indicated here.
> Oh I see - it is a heisen-feature, if you build x264 with ffmpeg
> installed you get one behaviour, if you build without you get another
> Looking at x264's configure script, it has options to either build
> libx264 internally or use the system libx264, and an option to disable
> lavf support, so I suggest:
> 1) add a libx264 port that just builds libx264
> 2) update x264 to have libx264 port as dependency, and use the system
> libx264 to build against
> 3) add option to x264 port to enable lavf support, with the Makefile
> explicitly disabling it otherwise. Enabling it would add ffmpeg as a
I don't know what the system libx264 is, but I'm in favor of having a libx264 port that both x264 and ffmpeg explicitly require.
More information about the freebsd-multimedia