From owner-freebsd-multimedia@FreeBSD.ORG Wed Mar 5 12:24:07 2014 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DBA262C1; Wed, 5 Mar 2014 12:24:07 +0000 (UTC) Received: from mail-la0-x22c.google.com (mail-la0-x22c.google.com [IPv6:2a00:1450:4010:c03::22c]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 3811B18E; Wed, 5 Mar 2014 12:24:06 +0000 (UTC) Received: by mail-la0-f44.google.com with SMTP id hr13so639597lab.31 for ; Wed, 05 Mar 2014 04:24:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=nXA0Jw3j+2bGpCLqdbRfVf6bBRs1sycNmMnPyWGGkCs=; b=LU2N3dYGzT7mMWFWRJ6q1KwOAfH8otq3uOhrbmaFCZcPjrn9lgtvtOUHEjaX+PPoV2 syqWh9UJ5jOcG3hsVHyEgZQp5vUbPq7nSUJORweDYwLd7r7V8DDej3oMruuAg2rkGvuD iwa18/w2lJXwdIKfnwqbzbHUSl4W5ZaB3+s6WClZ1fQBZ3pb/brNuL9G0ACewdrOz1Qv lHDt1TuvcOBLsjeSLt4PTNXjrpS5JonMLTyIS844WZOT1PWlpP46yDm5W4fKvVVQ6Tk/ xs0JywB0LAzC7F9+yzyghfYWZTPPldQCUczTauY5pKsb0HBlNaZLW3UYO+shG0zqCf9f JYJw== MIME-Version: 1.0 X-Received: by 10.152.36.70 with SMTP id o6mr3418837laj.7.1394022245301; Wed, 05 Mar 2014 04:24:05 -0800 (PST) Received: by 10.112.35.167 with HTTP; Wed, 5 Mar 2014 04:24:05 -0800 (PST) In-Reply-To: <5316FF93.50300@my.hennepintech.edu> References: <5312C4F4.7060109@my.hennepintech.edu> <5316E264.8040400@my.hennepintech.edu> <5316FF93.50300@my.hennepintech.edu> Date: Wed, 5 Mar 2014 12:24:05 +0000 Message-ID: Subject: Re: FFmpeg and x264 circular dependency From: Tom Evans To: Andrew Berg Content-Type: text/plain; charset=UTF-8 Cc: freebsd-multimedia@freebsd.org, koobs@freebsd.org X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Mar 2014 12:24:07 -0000 On Wed, Mar 5, 2014 at 10:42 AM, Andrew Berg wrote: > On 2014.03.05 04:24, Tom Evans wrote: >> No, not really. If the user chooses options in libx264 that require >> ffmpeg, then the port will download and build ffmpeg as part of the >> libx264 port, providing the libraries that libx264 needs, but not >> installing these as ffmpeg. > I'm completely lost here; it's the x264 CLI utility that loads the libav libraries, not libx264. When I say "libx264", I was meaning to refer the port/package "libx264" which contains the library and the binary - and is actually called "x264", so I see your confusion :) > >> The other option is just to disable the GPAC option of x264 - if you >> need mp4 output, use ffmpeg. The whole thing is kind of hacky anyway, >> the common way to use a library with ffmpeg is to build ffmpeg and >> enable support for the library, not build the library and link ffmpeg >> to it. > 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". Now I'm totally confused - where and how does x264 currently pull in ffmpeg? 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 behaviour. 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 dependency. Cheers Tom