From owner-freebsd-multimedia@FreeBSD.ORG Thu Mar 6 01:45:54 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 7E8BBFC4; Thu, 6 Mar 2014 01:45:54 +0000 (UTC) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2lp0212.outbound.protection.outlook.com [207.46.163.212]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E7382A45; Thu, 6 Mar 2014 01:45:53 +0000 (UTC) Received: from BY2PRD0310HT003.namprd03.prod.outlook.com (10.255.80.38) by DM2PR03MB335.namprd03.prod.outlook.com (10.141.54.20) with Microsoft SMTP Server (TLS) id 15.0.888.9; Thu, 6 Mar 2014 01:45:38 +0000 Received: from [10.0.0.21] (98.240.141.71) by pod51008.outlook.com (10.255.80.38) with Microsoft SMTP Server (TLS) id 14.16.423.0; Thu, 6 Mar 2014 01:45:37 +0000 Message-ID: <5317D33F.5070104@my.hennepintech.edu> Date: Wed, 5 Mar 2014 19:45:35 -0600 From: Andrew Berg User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 MIME-Version: 1.0 To: Tom Evans Subject: Re: FFmpeg and x264 circular dependency References: <5312C4F4.7060109@my.hennepintech.edu> <5316E264.8040400@my.hennepintech.edu> <5316FF93.50300@my.hennepintech.edu> In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [98.240.141.71] X-Forefront-PRVS: 0142F22657 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009001)(6009001)(428001)(199002)(189002)(51704005)(24454002)(95416001)(81542001)(53806001)(54356001)(54316002)(92566001)(75432001)(80976001)(83322001)(76482001)(94946001)(87936001)(74876001)(93136001)(59766001)(46102001)(86362001)(93516002)(575784001)(64126003)(95666003)(92726001)(77982001)(79102001)(59896001)(94316002)(83506001)(74366001)(23676002)(65956001)(33656001)(49866001)(51856001)(85852003)(4396001)(81686001)(63696002)(85306002)(74502001)(83072002)(56816005)(47736001)(66066001)(74706001)(50986001)(31966008)(81816001)(80022001)(47776003)(65806001)(76786001)(81342001)(90146001)(76796001)(47976001)(69226001)(47446002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR03MB335; H:BY2PRD0310HT003.namprd03.prod.outlook.com; CLIP:98.240.141.71; FPR:FC04FFD4.AC3653E1.53EB7F82.A3ECF089.202D9; MLV:sfv; PTR:InfoNoRecords; A:0; MX:1; LANG:en; Received-SPF: None (: my.HennepinTech.edu does not designate permitted sender hosts) X-OriginatorOrg: my.hennepintech.edu 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: Thu, 06 Mar 2014 01:45:54 -0000 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 > behaviour. Yep. > 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. 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.