From owner-freebsd-multimedia@FreeBSD.ORG Wed Mar 5 10:24:52 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 1D63448A; Wed, 5 Mar 2014 10:24:52 +0000 (UTC) Received: from mail-lb0-x231.google.com (mail-lb0-x231.google.com [IPv6:2a00:1450:4010:c04::231]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6EC6A6E1; Wed, 5 Mar 2014 10:24:51 +0000 (UTC) Received: by mail-lb0-f177.google.com with SMTP id z11so529316lbi.22 for ; Wed, 05 Mar 2014 02:24:49 -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=TUgV8Jq2ZYBCzIqA84nq2adhfsam/q/cnP5Fk+Wa1RI=; b=btU4Y1U1o28l9xsj3VNkK+uOOiWRrm08Uc8Uvic9m9ISeaenAAfdKlDFUU2H3b4mIj xvZPTLCHEDSkhKTCw9ceZXgAdjfgwK5fRd5TgyyXzn/qragIWPZthwedu4cxQ9HkwZwO /I6mqmbQJLRMlY09wtT/nKDQdnCkZwXcnqBX9Mxi5QypFbZ9sHjGUF4GmSA2G1V3SFVk uz0msNjesNq0yMrh06zblZ49TGWp8Jj1JKXbN0ot/nwgPtETC3taoS/44GwsiEvyDDyk wnFbcksT3Vk1V9Jlh9uijoinoo/AJcDXtWYR9n5sCPGssPG/FJ9LTAfEalyKqiMeL1kR Kx6Q== MIME-Version: 1.0 X-Received: by 10.112.14.1 with SMTP id l1mr1646067lbc.39.1394015089449; Wed, 05 Mar 2014 02:24:49 -0800 (PST) Received: by 10.112.35.167 with HTTP; Wed, 5 Mar 2014 02:24:49 -0800 (PST) In-Reply-To: <5316E264.8040400@my.hennepintech.edu> References: <5312C4F4.7060109@my.hennepintech.edu> <5316E264.8040400@my.hennepintech.edu> Date: Wed, 5 Mar 2014 10:24:49 +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 10:24:52 -0000 On Wed, Mar 5, 2014 at 8:37 AM, Andrew Berg wrote: > On 2014.03.03 05:48, Tom Evans wrote: >> libav is not ffmpeg, it is a fork of ffmpeg*, so that is a non starter. > Okay, that clears some things up. > >> Option 4, not on your list, is to build an ffmpeg locally just for >> x264 to link to. libx264 can build with whatever options you want, >> building whatever parts of ffmpeg is requires, and the >> presence/non-presence of ffmpeg would not affect the build of libx264. >> This is how other projects that use parts of ffmpeg do it (eg, >> mythtv). > If I understand this correctly, this is essentially option 1 with a workaround that requires the user to keep that local copy up-to-date > manually instead of using ports. > 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. 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. Actually, probably the "correct" way forward for this is to split the port in to two, "libx264" providing the library, which would not depend on ffmpeg, and "x264" providing the binary, which would depend on "libx264" and optionally "ffmpeg". Cheers Tom