From patchwork Sun Mar 11 22:41:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 7920 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp974156jad; Sun, 11 Mar 2018 15:42:31 -0700 (PDT) X-Google-Smtp-Source: AG47ELsyU9FgY2PBEZkSBKqE/jMls87Ss9kcPzQ3KjGPDFZbkPg8BFKteKvWhz3qmWdgHqnvKKe+ X-Received: by 10.28.210.81 with SMTP id j78mr3716677wmg.55.1520808151453; Sun, 11 Mar 2018 15:42:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520808151; cv=none; d=google.com; s=arc-20160816; b=HXUUONL/Aes8Wosr7W3LlkMnEmUpPCG9BeEltYcjdY6VTOYDBAXJG+th/bELE6w8AO zagm9c6M9nBVxzO5Nw3qSXcyGROfIUcybeXHG54aXfhRbobCtyzKmxp5QuOK4PkcwTzn U4l0CG8npyJ/88HKXN9XP9ki23ARbtPoh/hMI7mIm0mIZg6wBzzLwmIe5t6PF7ks70al h3JRKMzYe2SC7Q/T33gsj6hTXnNdyjaqQe/XW154rPS9OVojpyI0JASGdDmdYh0Ru009 U3JRpgba9V2ewvRIM55rNE7WGgxRYkMYa852SKwXZt3tI1/tDjmOrPVbbp50l5W6Sgko J8RQ== 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:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=13elJTjQdgSlQmRMZzcwzyBtUWZ5L+NWNMbQ0V9VsRY=; b=rjTF1UWBEt8ap3c05Xwm/l9/b1Pbz6vEBl07EP8Q0JNc6O9iLERzy3kGexFJSSrJyy 23WjovK36KNJURraarPJrUDiaSQFe2Rt0ChKfut/zMPyGHnahakulkM51uiEH2aNQ1yP 97R8LCGICJp496gzNYT7oAvKWEhTnAcsw5KXfBlezTZhPtEAcwj71OLJSPlKs6cscz+o aEhIujrFoWu8xqo+AUws43KZ3XzxUt/2nTirmA4OzbrT+EZPrXazVjgOeBz9QJnLA8gX wuFjhasPFjOoM/Sig4sJ8G9/u8zMWSDzVVqfVH5BnaXQRYuHuqp2DKvuZfi74U5Fw8Za b5nQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@jkqxz-net.20150623.gappssmtp.com header.s=20150623 header.b=Tb3gfvee; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g78si2380305wmc.44.2018.03.11.15.42.30; Sun, 11 Mar 2018 15:42:31 -0700 (PDT) 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=@jkqxz-net.20150623.gappssmtp.com header.s=20150623 header.b=Tb3gfvee; 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 9427468A0CE; Mon, 12 Mar 2018 00:42:04 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 34AA6689EDA for ; Mon, 12 Mar 2018 00:41:56 +0200 (EET) Received: by mail-wm0-f67.google.com with SMTP id t6so12736369wmt.5 for ; Sun, 11 Mar 2018 15:42:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references; bh=h7bEQjXma/iU68JDBFvHazrz0naTwxbKeXDezRl2VL0=; b=Tb3gfveek2MSf7iEoqdeI4Wq6vzQlUyOiNcrYw+R9KWDL+SNv6gQz/6ab68vgdUTbD 2hvtxeUX9C0OxzLIN0VCOOR3Dti94JjS+BCBFiX0Mqje48D/xbL1rBRdw6bsd5Ypmt80 XhMtQ30/fkXbEjHzaHFApr3V3PiaBIAYJPUpAV6t6nqTcBUkdAcXeQGthxJiRau40bV+ uwpxbY44ZGD9EP38DO5SaN+NRT7DplWH2uDsRS9kUro5HwPUvNOsqiBzNeQOffX6Byaa NhuKKcVpvSxU2G7mOVgqbFaWW7oN1szuxsVFRP1DveuRZcJ9rRGyKeSfVgC+8HRgOGan OETw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=h7bEQjXma/iU68JDBFvHazrz0naTwxbKeXDezRl2VL0=; b=aF8hMkRTlwVYDTNEUP4503Z9/Cm3CyI/FoZIfEeM151MX6UQWMcxTx/9DPj/ke1ptk zpe4z5994OPY9kmjVZeWZTDtZKty6EiZcMva5vN3j+i88tWzfddpBHzbHoWAXH+d5Dob JcOuZl1okj+qI21vuXI7BznpmbHSVHUtzbM+JMvDVdYGK8jQuvt2c01pJ/AFk+sMGurS oMrxYM0osGATDukrulEHgBmaQuCpcP+SL2Q/YXJTJEzKFgtpzewpZlYBpDfWp655bsiX Vz7BFlxEXxz8hWrvROVO/1M90KpMTQMo9K3VpIsS+Z+pxex5q63adOgI04Ndba4cHMpe aJyA== X-Gm-Message-State: AElRT7FXPo1J2gJ+w/0rN07PyrfzcEGU3760o+AMhPLM5ABvAl8NeSt4 Kamzqmoaf1l6JXxJdQroS3Tc7+bu X-Received: by 10.28.158.205 with SMTP id h196mr3583403wme.25.1520808125954; Sun, 11 Mar 2018 15:42:05 -0700 (PDT) Received: from rywe.jkqxz.net (cpc91242-cmbg18-2-0-cust650.5-4.cable.virginm.net. [82.8.130.139]) by smtp.gmail.com with ESMTPSA id d5sm5317163wma.18.2018.03.11.15.42.04 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 11 Mar 2018 15:42:05 -0700 (PDT) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Sun, 11 Mar 2018 22:41:52 +0000 Message-Id: <20180311224156.23986-3-sw@jkqxz.net> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180311224156.23986-1-sw@jkqxz.net> References: <20180311224156.23986-1-sw@jkqxz.net> Subject: [FFmpeg-devel] [PATCH 3/7] hwcontext_vaapi: Pass correct read/write flags when exporting surfaces 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" --- libavutil/hwcontext_vaapi.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index 15f1c4d1c0..8e4bef9f1b 100644 --- a/libavutil/hwcontext_vaapi.c +++ b/libavutil/hwcontext_vaapi.c @@ -1094,15 +1094,20 @@ static int vaapi_map_to_drm_esh(AVHWFramesContext *hwfc, AVFrame *dst, VAStatus vas; VADRMPRIMESurfaceDescriptor va_desc; AVDRMFrameDescriptor *drm_desc = NULL; + uint32_t export_flags; int err, i, j; surface_id = (VASurfaceID)(uintptr_t)src->data[3]; + export_flags = VA_EXPORT_SURFACE_SEPARATE_LAYERS; + if (flags & AV_HWFRAME_MAP_READ) + export_flags |= VA_EXPORT_SURFACE_READ_ONLY; + if (flags & AV_HWFRAME_MAP_WRITE) + export_flags |= VA_EXPORT_SURFACE_WRITE_ONLY; + vas = vaExportSurfaceHandle(hwctx->display, surface_id, VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME_2, - VA_EXPORT_SURFACE_READ_ONLY | - VA_EXPORT_SURFACE_SEPARATE_LAYERS, - &va_desc); + export_flags, &va_desc); if (vas != VA_STATUS_SUCCESS) { if (vas == VA_STATUS_ERROR_UNIMPLEMENTED) return AVERROR(ENOSYS);