From patchwork Mon Nov 21 14:58:33 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Gregory J. Wolfe" X-Patchwork-Id: 1510 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.90.1 with SMTP id o1csp1640506vsb; Mon, 21 Nov 2016 06:59:22 -0800 (PST) X-Received: by 10.28.18.194 with SMTP id 185mr14081609wms.124.1479740362905; Mon, 21 Nov 2016 06:59:22 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id wj9si20647155wjb.8.2016.11.21.06.59.22; Mon, 21 Nov 2016 06:59:22 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@KodakAlaris.onmicrosoft.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DED61689AD3; Mon, 21 Nov 2016 16:59:16 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mx0a-001e4c01.pphosted.com (mx0b-001e4c01.pphosted.com [148.163.159.69]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B29A0689834 for ; Mon, 21 Nov 2016 16:59:10 +0200 (EET) Received: from pps.filterd (m0087347.ppops.net [127.0.0.1]) by mx0b-001e4c01.pphosted.com (8.16.0.17/8.16.0.17) with SMTP id uALEuAjX015439 for ; Mon, 21 Nov 2016 09:59:11 -0500 Received: from nam03-by2-obe.outbound.protection.outlook.com (mail-by2nam03lp0048.outbound.protection.outlook.com [216.32.180.48]) by mx0b-001e4c01.pphosted.com with ESMTP id 26tks8bkuw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Mon, 21 Nov 2016 09:59:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=KodakAlaris.onmicrosoft.com; s=selector1-kodakalaris-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=lpPz9fAJ6GIn2+llhNOJgd3xSLtFasHnyTMPfRFLh8I=; b=Og9rUU+CvJ1U1Q3gFqw17i9duW6SsOsEMc+tMmhQUzdHSyRPQK2Zr+qOQH7nfQRgx+a/Z6bUf+0XHQ8RS+ZWuQX99Uy/rAjOWYz3rKvA9FtVgIm/5+6S4oWpi5oPcDM4o4f7oUkbIwQlze64DDunJLlEdfNGewmRF8MVvY4hiJc= Received: from BN6PR03CA0031.namprd03.prod.outlook.com (10.175.124.17) by CY1PR0301MB1290.namprd03.prod.outlook.com (10.161.213.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.734.8; Mon, 21 Nov 2016 14:59:09 +0000 Received: from BN1AFFO11FD044.protection.gbl (2a01:111:f400:7c10::111) by BN6PR03CA0031.outlook.office365.com (2603:10b6:404:10c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.734.8 via Frontend Transport; Mon, 21 Nov 2016 14:59:08 +0000 Received-SPF: Pass (protection.outlook.com: domain of kodakalaris.com designates 137.117.101.28 as permitted sender) receiver=protection.outlook.com; client-ip=137.117.101.28; helo=W5AZEXGP02.kaidmz.kodakalaris.net; Received: from W5AZEXGP02.kaidmz.kodakalaris.net (137.117.101.28) by BN1AFFO11FD044.mail.protection.outlook.com (10.58.52.191) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.734.4 via Frontend Transport; Mon, 21 Nov 2016 14:59:08 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:643; Count:11 Received: from localhost (10.234.8.126) by W5AZEXGP02.kaidmz.kodakalaris.net (10.81.4.5) with Microsoft SMTP Server id 15.0.847.32; Mon, 21 Nov 2016 09:58:49 -0500 From: "Gregory J. Wolfe" To: Date: Mon, 21 Nov 2016 09:58:33 -0500 Message-ID: <1479740313-25080-1-git-send-email-gregory.wolfe@kodakalaris.com> X-Mailer: git-send-email 2.5.1.windows.1 MIME-Version: 1.0 X-IncomingHeaderCount: 11 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:137.117.101.28; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(7916002)(2980300002)(438002)(3190300001)(189002)(199003)(81156014)(4001430100002)(8936002)(2906002)(87936001)(50466002)(81166006)(68736007)(6916009)(33646002)(110136003)(50226002)(4326007)(48376002)(6666003)(450100001)(8676002)(7846002)(356003)(38730400001)(104016004)(77096005)(47776003)(36756003)(57986006)(76506005)(86362001)(97736004)(2351001)(626004)(5003940100001)(189998001)(5660300001)(107886002)(50986999)(106466001)(305945005)(92566002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY1PR0301MB1290; H:W5AZEXGP02.kaidmz.kodakalaris.net; FPR:; SPF:Pass; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD044; 1:hSNKPOMPR/RECB90MRhGaBX73AZIpxds1RrbugIuTItCgfVJNkQDts+U5Tut2Ovfbwn9H5vRUg/CcaJTlhIGjCU72ckvj8P12dCREw4606YktMJCzl+iVt1brX3ATXbRchtHaZxU2LuIo9NHQF29YXJ4IxKAaGwXaA1046h9DdVZhjYSiaEm/iYBvTKlBI/K8FOdwOuV3ltL0w7mwFFUa9XwjUfM4UwyMOIrk6iC2PoXGEbRr3fUNUbm8Q2vjW2H2AaOrvefsJnnezIhHbLLxFyPvXQR5gATp7w0LYA9Li+1LOYc8Fq7IuXBtnEixgHGqAr4LxLoFmUewuJXBp+oTu+0MuSKMdUx+f98Mt/6nGt/PUaMhj0ryddcxJLYkNw5KqogyVHyZ+irz5vleyp2uTE5ioUi6Ni3lCq9D3/PJec42/eN5n/UvmRsXUcjuLR4/HWze65TMxQSomJvs6VlfDXmUA7BJyCMwHIa8mT1EaRESkaR981NBKLsU8OYHj52kl6onnz5+N1PHZ1wPuyUR3/4UmVGPsFMpBtP22bPvO/I5VsTRKsjFPV3SgdYMyfhjPp2ChYoIRV7s8Yty6NrMQYJJFCA/g3Nb6s6rks126MkOLkZ+EkQDwCPVIRy9o1RdQ2zQx9jjiJW+YKchJsCahV81tFEi8dOk+hSo5nYF0VsJuPXbdpr/80MfFDudFImnkqqLil1N6O31p3/PFadCA== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1290; 2:UlO/2uVNovJ1pQcvGYDo5mg5rZNSKCf9W4zfSnpsdGBCQjIqPDKY12b1K4LVz2eSAo3el0BjxBnp7j76jn/pKTktI8a+jbXkbE6gEH/XbYP6OpoydlBuKSrJcPwHeIK0FdxzFvP/mfvDQf4QD0u7U48Kxcv5RoU7BS5IhB4Qfpo=; 3:RIF0zKnOcVu4KPME2Noiv2HwuvaQxy2VC8K9mr39KIBEk7CQx+Xdh1pfVcPGGhXl7IdkW1X4jE9uit6AcJ4ApKlq1vtARUZ2g8l86ZUml2kUEst3q80aAB3+usm17NfRkxBFc7L1rhjo6hpYBJ9joWmi+XriHwuW6VPU5KGkgP5uj84X3TdFWmH+b/nlYKtcjl9xZQnkPsh11RohxwcZS/505OUVFAmHBFlCvRZiwpYR1d0/bez5N8aaavheD/YD3YMP+guQlH8r7N441LycFxuYfn+jBT+R6M1zxspQPxI= X-MS-Office365-Filtering-Correlation-Id: d6fdf0af-3a58-4581-bf41-08d4121ef24b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002); SRVR:CY1PR0301MB1290; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1290; 25:EtjqIZzmDR0hC9qe/CFtn69Au4zpJKxZSlWbHxG6NRrwrfED3xcGYH/H+4dYDdY0fcMUnAJhptYLP+Meqh5Kl1niIPkxyC+YBXq/CyJKESDYvo7KeYtbPj4yQ59XJTXTY+9ukDC+q3AxiKiZk+rnDJ/PMXxEVYJKusw0A4pjx2mNGVOLCUZgPlNlaW5H9LWe4p+U79hgijVu5oVelKFQ3d4v6WVZfP38cLb4s0Go/752cwPGmndgziHdBaCcTeFCb5zG1rVYC2UG2OO4UdBx7VKsxYKcDcWPMHHCGypugjYgc1D3hdE5aWF23kxxVn65k3uPdbAnUOZlUKsioZb84g4u6gc24hk7x4vt80rYglRB0JFHOU63Iybo1xGNP2hd2WfuNOMYujcX/NjdToSZT2T1zrpgMMCneeYdKvRa0bMyBD9vlHNRw/fcO1fUENfIMaKA3eEruxGKn+eVWzgKcQ==; 31:Uv+56mIar+5d5LduAC590cX29VdCTGYa742CUJnXlF/4p0q7pA60eVyRiMLSos8w8VHUR2NptXr1q46g8e/SAuzHbQZY0LlQiIlxSG4YksUrxhC5q9Nr2S5SayAeJJCt8/bQVv9a/ab0dHafd+XaVfYTziDUvK0RNniyigdcDfepUbcbIVpJEPdjIfMqbm5t36Z9aI8Jh/CBJumB5GutP3J1VfaLReRYKfC7yZAMDzznvc5Ik328p/ZxseW9oYFZFnV77NYkID2mUKS6DhJInFd0UoQ3fgqjThR3MXw3VEY= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1290; 20:PbpwEGbdix+lCFvZORlKCeLYQnaWm21n2NoPX+1zOBhdmC8/nE0Rjcs8BvtvP5fxRovbiGy9VT6Qsp5klUNc2rOGgRyHCND9GTl7W45TT2JUmRusEpIT5zso2Xe1PTIFevaLQa9AjjrmqsERyacICQqXXd8Y7T3hu+xo4u5dDRhxFHHNb/9/GzkSDNPZLqbLP1+AmpvoDZ2jvq8SBcm85glLfWxQ0dv2dxJ1rmiJ4TJteJtydRQ6AW995T9FLMjny4Fhuxa1bHBmDCD+Cr4oawA5S0HyC/SuWVqT9zMA21XFZyAVQC4Ibp+PzQvxibhWBw4GfAkmoFOzqqb89qzXYJK61KKxiUh6zvpDtHw7i+sFKjob+w5rCxsUENOacJ+6L//x46u2tJ0ihrGj4rrsTuKZRxV2orNAbofIwaUCKrfvMu0V4yqnA0YyVGZkqK4qZXZANnmrmBRIJYfEMRWgOla/FLUXb6augs4z4QXisTyS5zJFdKMhE+uWQczXGWce X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040307)(6060326)(6045199)(601004)(2401047)(13024025)(13015025)(5005006)(13023025)(13018025)(8121501046)(13017025)(3002001)(10201501046)(6055026)(6061324)(6046074)(6041248)(6072148); SRVR:CY1PR0301MB1290; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0301MB1290; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1290; 4:rLuDwbDPKthaHgf7RbFUoTz0Cw1Pjvi33HYVEMLwn1lPfzXYMozTzVYjVuyUxyClYKj/2ryWA3+0xVenm6oytUnoGsFjR0LmZAciTp1WI8B1Qrvzs9tCa6olFYkCtJtKAWuAncWdAqsIzqutGepDq7gW+AKOAJGuXjEvZsEGV8gRnmm5juDggbyp3PTgXz6xaCtabNkRTFig5wrWfO2EKZSEZzuBJZQ10G4VTvKJWOnjh452n/dWflxDSNk5dttOiRw8zyYg/1y0QMbri9jRS9mQgiMiNpkL1e0juQqXDafQmFuBnrSfedc/rOxY0SgtIO3CFsPuTkAHgX269EWsmZwT6Ba6dAqQg/nYk8c0CczKO+jTjE43LY5YZeaOUuALy21YFZoOmI7aTCta51dfTKLrItBn2AwJzQAc87gPdHoohN+GQFvPZ+ejxDby50adSibzv/JmQrK81PJfCt3kpllKnIzfmDb7rRGlDvXhCrUlFlPo9/eKDJJhh7zrVFljeVzROUxbtpFpyqRkYH4xzHu9XYV+vUYKlMkuVtlbIoVZd2ijE5Ro3XZfC5WixXzWoLLCaXwufFVmMPLyRnXDHTAAJvkdppAz2NxAcGOmCm1V4P2+49ERajaBO9t95V0S X-Forefront-PRVS: 01334458E5 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB1290; 23:VtX4IpcWq/9zaRP7haAYSouZLl9mHbiGdw36xR2?= =?us-ascii?Q?5jg3wYBy/lKQAw50YE9WTxo8uxDjcsvBAm5G9BENNv8js9xzskKHDAiJT7JP?= =?us-ascii?Q?8cM4aIrAzX9jdur9W+i19VWklHxHPNup0IXG5tUgv7I6+LJpZUZY/stGfYr5?= =?us-ascii?Q?Ba6NpPuFOCzikfDaykpsMIADcRoOScm4+Jpk2CA+YwEEvWCw8uVB7bcGJ5yJ?= =?us-ascii?Q?BhSIRgV34B5Iwj9iwDBozJFEtjQDnbvvAMZ725ZDVyuDnYCb0wakyFvjuR1F?= =?us-ascii?Q?tMm9mTnLAMXyNJp6aufQsy5CGvZrkBlj2l+0jw3NG6iv+O55F/hyhpaYOAhQ?= =?us-ascii?Q?xZX8WFlrIEzS6pi0onClPo3QSd+b8IQkZIQ63F/jkXKb7ZBSzG14UL/Gm9UY?= =?us-ascii?Q?vY9go/2juWpqUud9M57jxYvY6P2RkBAUV1/lmETBMGjLyFK6tqkgIm58Ng6N?= =?us-ascii?Q?aLa623bw3gQ4n+KiPLs6jsMDYV24DMJ6F80A5sT5CxAOfpH9o4jz5iRe0toI?= =?us-ascii?Q?h8OU9qr6RYScbZxibOJHldIREawoMTFBtt2PCTkB8PhrHhgWzBbY7cQvsU5k?= =?us-ascii?Q?CuJ7Er7j9AfxybCrD+V9Kx53vT7khi/1/v9eAueOFnXsz8DxVXCbuqbhsgUQ?= =?us-ascii?Q?FCPCpc5t2oT4vMPnC7YqgqVC8hAAR9vHdZi0AYayqkbiupP4eVCASzeh7IEQ?= =?us-ascii?Q?O9IVRAkXxKcgTDxahvTsFFA7F5MkkJ360DJwbtyl/pIQ+sVE/M9C35riHakg?= =?us-ascii?Q?dP6vhpDth5bGE3M1Elzj8/PwCpzX+A1CCZGIHqZ4nYBeRsi6/Kc96jsN/3bD?= =?us-ascii?Q?HrjJLw8y5Jb67MqNQmuA2Cfl/WScRNUhPk4yKqChCyo+KE/9jA9Qvaw6GhuU?= =?us-ascii?Q?ZwL+qJEUzRATdg6ZRdYpIe10qrgM+S98AIBs6OU5AGpO+KWFB5z96czn8bpd?= =?us-ascii?Q?M0IB1RAYsWuR5Aa1zelYgE2jfxPA64cY0+Sqy7BsShMPeQ5O53WPl9/MeizY?= =?us-ascii?Q?me4qeVQ8s1JdPK5Ka3TQSwr0JXOKELuONAOS8S7M85WoOCjaBzVMUcefHJPJ?= =?us-ascii?Q?maa34xRaT+6e6zb8PRYPphHmMyMet8e4dRIqjwiVIBDbYNq74bA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1290; 6:jIdHHwEJtIP7NynOtb1pKxsgoL0eWd8tXqhYhMgidj8a2T1bEQUnsyDOpcxOHYrXHxZR7XgxdYRDgTp5rkp5zi8TJJpnOtNctZ6WziNV4afgukuy2eLmZNEY5CMe+GyZkiv38+t+G2qJd2rslRNDan4K6XbGXgMd8+OBZWZ9inTrEXCq7AZNE5gG7Z6eia8tvnYQSGrI8X6VICHviTgOq+gs6qo/hSY2DhfxsjPYv+bEazUQ6LR9c8KKeYMIQ6M6HkvYSSizvlFbAPgdAc+9odU7qW6yod93+pz9ooH4yDbYoKrPZmdaNWy+TS7qeE4PWigB1wTJ1CZMPpJsc+TQsNAs0Lxp+uj0uHaiBVUQI3SPS2WrknY2rdONDgSqYuFY; 5:NATBKTHpRCspuhlLg317mJsjWNjQZLRcXzpjMG4+r+jYGs1jt8Axj4B44X2AjhE0bBVg9Zl1zCXfOaLzsFh+KBVsmAWVn4f3FwG5wY5R0Q+NswiZlxVE3EKMsHmyX5EyHCkW0PZHzMlU/HWHemfcw41gf4DO7Rlbi0Zvl/jMqbA=; 24:bYC5pOltj1nj+BHVM+H9gAarPjajYCMBgoSW6/NirqOwQBSp3AnE/MeTfqrzHTnQZs/Az7KlynG2/ygU1iWZHw0i4Cb6nR0BQ6XkzVnKrnc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1290; 7:mECru8b/NhqCk0AesOIl7f7al7jnfKPYBWztCNyIa66aP5UEWzsieazX8K2erC1HL6pvMVFGRxwREEVwdqvwURHNB92J9WYzYC2Li+QNoLRtyQ6cuaIZIHNQ6K0CkcjftMwGCaDMZdIm4teBpjBDUa74bANsySpbHkshxJtWt51qX9jxVzDmhZWKuaLMdSw6my6LSmWp9et4n/INNFUovuYdtZ6WXzrn732jLtTXNKprPmXgO8vO3j1SDYOom38cnx8CcPcKNGsEWxonU0A5LA7P9tdBLfViGmNtqgvkitcNZ+7bTawCy4kY49spXnvOhIzjvPIM3QpoyXKze2Yp4nSPJsYpV7C1QBSjmu9uTx4= X-OriginatorOrg: kodakalaris.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2016 14:59:08.8827 (UTC) X-MS-Exchange-CrossTenant-Id: d29b7a9b-6edb-4720-99a8-3c5c6c3eeeb0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d29b7a9b-6edb-4720-99a8-3c5c6c3eeeb0; Ip=[137.117.101.28]; Helo=[W5AZEXGP02.kaidmz.kodakalaris.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB1290 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2016-11-21_13:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1609300000 definitions=main-1611210258 Subject: [FFmpeg-devel] [PATCH] Avoid creating unecessary dependencies on thread libraries. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" (1) Multi-threading support requires knowing the number of CPUs available. When building with MinGW on a Windows system, both gcc and Windows run time functions are available to get this information. However, when Windows threading has been selected, the Windows function should be used, not the gcc function. This avoids creating an unnecessary dependency on the gcc thread library. (2) When ALL threading support is disabled, the build should not create a dependency on ANY thread library. Signed-off-by: Gregory J. Wolfe --- libavutil/cpu.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavutil/cpu.c b/libavutil/cpu.c index f5785fc..3843778 100644 --- a/libavutil/cpu.c +++ b/libavutil/cpu.c @@ -258,10 +258,15 @@ int av_cpu_count(void) static volatile int printed; int nb_cpus = 1; +#if HAVE_THREADS #if HAVE_WINRT SYSTEM_INFO sysinfo; #endif -#if HAVE_SCHED_GETAFFINITY && defined(CPU_COUNT) + // if HAVE_W32THREADS and HAVE_GETPROCESSAFFINITYMASK, we will use + // Windows GetProcessAffinityMask() instead of gcc library function + // sched_getaffinity(). This avoids creating a dependency on the gcc + // thread library that we don't need/want. +#if HAVE_SCHED_GETAFFINITY && defined(CPU_COUNT) && !(HAVE_W32THREADS && HAVE_GETPROCESSAFFINITYMASK) cpu_set_t cpuset; CPU_ZERO(&cpuset); @@ -286,6 +291,7 @@ int av_cpu_count(void) GetNativeSystemInfo(&sysinfo); nb_cpus = sysinfo.dwNumberOfProcessors; #endif +#endif if (!printed) { av_log(NULL, AV_LOG_DEBUG, "detected %d logical cores\n", nb_cpus);