From patchwork Thu Dec 7 12:25:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Guillem X-Patchwork-Id: 6586 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp8205742jah; Thu, 7 Dec 2017 04:25:41 -0800 (PST) X-Google-Smtp-Source: AGs4zMZCkpTN6oFUAqnU43Gy1G8eizjTKv89ZSPfHYTs5BaBPcJ21qMegJ//Y6yMKZe6ZA8otms7 X-Received: by 10.28.90.65 with SMTP id o62mr1025196wmb.16.1512649541767; Thu, 07 Dec 2017 04:25:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512649541; cv=none; d=google.com; s=arc-20160816; b=gLG2g+4zu1FW6NYQ5K/cUOCZuX2XUQswSfAQceG8DAkx1wsMEKl5zXo4wi+SXbEnwx LsBlCRic6ptzp7e+Iby8QlxfFnZ3vuGq1jOU4gICyLC2fEvqjhSnmGHs1twVsz/j2W1p QtbPXYBDFEe+bIManm9fxGOFFFiJ/OQ5cVmCbDYCIoe+hdaOGyPyEdodXbNPKA7PuK65 P9XpG+e3kLEFpMPip6q3gv3+POeFkZEpyFxNkQDkDu/wbqbDpfLAtt/1aboJSIE1H1k4 12jHpSolXKYZ21FAIA6DUYT7+yDD7oUW6GVSpf/YE5hfTZ5hPgr5dQ3LhnmIQjg191u9 I5Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :dkim-signature:delivered-to:arc-authentication-results; bh=Vgs6dD4+L/tp5OmPIzMH6RrPjZoo0wtGoxhOoYA4TfU=; b=vhfGqfdIP6fpKLpOsyRYrdgqE7xuK0c+hthiiNeBhI5NRUBs8pWdIVHy+8TxQ26obB Ytw/GNeu77+YObbCH7YYr326zTNh/naSNaGT4jbUFtxC85edUDJFf7HrSfUQvpLt1Q08 jcTQ+1C/SMu7RPPf6+SwKuGaO+fbkLgZpdovelj5a0ygn06ifdCQcDnVw+L+om/1Y6FL QWonb4QaPy162393s9VF1VuJPax7ffHAXpFMv1FVof9XzegNKl/d5Y/tNdXzbVxA+SSk E5vh2bSC++dDdAG1eDqouZmfCbdPm0REmU/Cur79vFNIF5NQzInNSpt5pE7FQKr/THHn wZ0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gllm.fr header.s=fm1 header.b=qH8kD6rj; dkim=neutral (body hash did not verify) header.i=@messagingengine.com header.s=fm1 header.b=aMpexRYl; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gllm.fr Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m19si3892909wrf.445.2017.12.07.04.25.40; Thu, 07 Dec 2017 04:25:41 -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=@gllm.fr header.s=fm1 header.b=qH8kD6rj; dkim=neutral (body hash did not verify) header.i=@messagingengine.com header.s=fm1 header.b=aMpexRYl; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gllm.fr Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4265368A12A; Thu, 7 Dec 2017 14:25:33 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8E0236882A5 for ; Thu, 7 Dec 2017 14:25:26 +0200 (EET) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 78C542251E for ; Thu, 7 Dec 2017 07:25:31 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute5.internal (MEProxy); Thu, 07 Dec 2017 07:25:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gllm.fr; h=date :from:message-id:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=yx6/6AA7sAG+mrgqezGenqGx7VXRddkC3DoZCNltRsw=; b=qH8kD 6rjLKUMmrAHfzgla7Kr9u3XqMuuqZoIJWjY3i5YEavQ9gfFW7BoYiNSKsvQaZOzv /DFNcDI2gE2jYegGk4tnv7WdzlDnCKYFT9kwm4DZwmV3R5yHEUSY+iM+xaQp3wg9 r91TsXktREgIjtIstOowRfAKdjM/UVcJfkLgUdc1xsQFdt5LtoZqjQqipTUfhitb x2/H3Lzk9XBq6RSQbMvrZr/MS2FaVhcAxmN+0CN6R9P30XiirMfNzC3z/vILftVD jf2+GWVzVoxfwABk7P90pl8af70JkIp7cZLxfXjG1VBDA39NmPikDXwglPD5GTCS 1XH638iHIVBBLuMyw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=yx6/6AA7sAG+mrgqe zGenqGx7VXRddkC3DoZCNltRsw=; b=aMpexRYl1ZKPTl5lZvJcshSr276983NdC 2Boia63GHEGMmYAzRCq/l2754a/zcXq9zo9IRp9MKf/aBv/vUYz6aggoahCavC/H bhbXbav435NBT+5btxteTxfrBSejXptsTJ+Jh3OuQ6Of2ypLXYZ9PO6xUU8Ds5h7 koRgHfrj991mXiA5KKxz2p2udniTTFvi27p/p8pvNnKjZmV5G9SojQalRxiMiq1V eAlmO8W3z/dRiRnFVR7lqS4CI2QjtAJkf12QkSA+ZtbVm0ghFyst+TgFpmN8W+0t bE+QkAhzaWjJu71j4QXbXR8DyM3hKl2q7J3vo/DaFTnyNzLmkdrEw== X-ME-Sender: Received: from localhost.localdomain (unknown [78.194.250.245]) by mail.messagingengine.com (Postfix) with ESMTPA id 06E5024136 for ; Thu, 7 Dec 2017 07:25:30 -0500 (EST) From: Thomas Guillem To: ffmpeg-devel@ffmpeg.org Date: Thu, 7 Dec 2017 13:25:27 +0100 Message-Id: <20171207122528.16411-1-thomas@gllm.fr> X-Mailer: git-send-email 2.11.0 Subject: [FFmpeg-devel] [PATCH 1/2] lavc: change HW_CONFIG_HWACCEL arguments 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Add a boolean to specify if an API can work with AV_CODEC_HW_CONFIG_METHOD_AD_HOC. --- libavcodec/hwaccel.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/libavcodec/hwaccel.h b/libavcodec/hwaccel.h index ae55527c2f..16ee822920 100644 --- a/libavcodec/hwaccel.h +++ b/libavcodec/hwaccel.h @@ -42,12 +42,13 @@ typedef struct AVCodecHWConfigInternal { // These macros are used to simplify AVCodecHWConfigInternal definitions. -#define HW_CONFIG_HWACCEL(format, device, name) \ +#define HW_CONFIG_HWACCEL(format, ad_hoc, device, name) \ &(const AVCodecHWConfigInternal) { \ .public = { \ .pix_fmt = AV_PIX_FMT_ ## format, \ .methods = AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX | \ - AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX, \ + AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX | \ + ad_hoc ? AV_CODEC_HW_CONFIG_METHOD_AD_HOC : 0, \ .device_type = AV_HWDEVICE_TYPE_ ## device, \ }, \ .hwaccel = &name, \ @@ -74,17 +75,17 @@ typedef struct AVCodecHWConfigInternal { } #define HWACCEL_DXVA2(codec) \ - HW_CONFIG_HWACCEL(DXVA2_VLD, DXVA2, ff_ ## codec ## _dxva2_hwaccel) + HW_CONFIG_HWACCEL(DXVA2_VLD, 0, DXVA2, ff_ ## codec ## _dxva2_hwaccel) #define HWACCEL_D3D11VA2(codec) \ - HW_CONFIG_HWACCEL(D3D11, D3D11VA, ff_ ## codec ## _d3d11va2_hwaccel) + HW_CONFIG_HWACCEL(D3D11, 0, D3D11VA, ff_ ## codec ## _d3d11va2_hwaccel) #define HWACCEL_NVDEC(codec) \ - HW_CONFIG_HWACCEL(CUDA, CUDA, ff_ ## codec ## _nvdec_hwaccel) + HW_CONFIG_HWACCEL(CUDA, 0, CUDA, ff_ ## codec ## _nvdec_hwaccel) #define HWACCEL_VAAPI(codec) \ - HW_CONFIG_HWACCEL(VAAPI, VAAPI, ff_ ## codec ## _vaapi_hwaccel) + HW_CONFIG_HWACCEL(VAAPI, 0, VAAPI, ff_ ## codec ## _vaapi_hwaccel) #define HWACCEL_VDPAU(codec) \ - HW_CONFIG_HWACCEL(VDPAU, VDPAU, ff_ ## codec ## _vdpau_hwaccel) + HW_CONFIG_HWACCEL(VDPAU, 0, VDPAU, ff_ ## codec ## _vdpau_hwaccel) #define HWACCEL_VIDEOTOOLBOX(codec) \ - HW_CONFIG_HWACCEL(VIDEOTOOLBOX, VIDEOTOOLBOX, ff_ ## codec ## _videotoolbox_hwaccel) + HW_CONFIG_HWACCEL(VIDEOTOOLBOX, 0, VIDEOTOOLBOX, ff_ ## codec ## _videotoolbox_hwaccel) #define HWACCEL_D3D11VA(codec) \ HW_CONFIG_AD_HOC_HWACCEL(D3D11VA_VLD, ff_ ## codec ## _d3d11va_hwaccel)