From patchwork Sun Oct 8 15:11:43 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Thompson X-Patchwork-Id: 5460 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.90 with SMTP id m26csp1689591jah; Sun, 8 Oct 2017 08:20:16 -0700 (PDT) X-Received: by 10.223.193.70 with SMTP id w6mr3959706wre.158.1507476016407; Sun, 08 Oct 2017 08:20:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507476016; cv=none; d=google.com; s=arc-20160816; b=ig+rWjUx/eMoTIq4Z9mVUflvS6FMGOrqlmjrG9al2wPoD7XsRLyTiaimjC0oErq1xR tYYNHNFCi9HmTJx31av/4BYDupo/FONsQ/JWYMPOYpx6r+y6eb1Iuo2NnH6ND8OCT3oT /SvjcLHpKjRBK+L4uCQfi8oR1ciYVWtplDygUHl0WCbdDc5SAsiIek2W2leEmhiOknQG 0NF5A6Tavc4W1q22oYYBKRcly767zkrg1Zqs41ZSOMFEFPl1JEFgV+xoMyW86m1YLJMF AcyBSm0gOq90Qrir7Pu116AI8hLG70Ey4S4NXT8XydKKw38tK6fCOAq4/OVOkH9epyB+ mF0A== 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=eP7JazdSpZf98wizjW+nWgePmGw/DjWKnkXEEcyobfE=; b=ruzTg7m0ksOYDwL4GbxETRivld3zFmJALaU+W2tgtAWcC+Dkr1L4RILHUaej7kiCDf rTUQfnoK60eV7X5cAgxamU/UN2euQw15CzxgVV+tWNSxl7jZ1yYoubaWFpPQ6tT5e+SW H8HH6gYbYdqIYP5Fch/rIPK+TkLnVU4EhO3oaT99YKOfEi/Y4oGHFwdDZXGFDFF29O3O qLFi6rbCZ2MPzqCixeBo/c1naqCjl44zJNmhr5NQ8WMuYUU3gI7uEEg1NmQCzJzsNUgd zXF1VNRmoGb4KiePDojXFOL/MlP0s9Q1ux+QIubblOpIStGzFpqf8DOYBT7+4QamoNQ9 aquw== 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=PCwlKsqP; 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 y102si5212531wmh.198.2017.10.08.08.20.16; Sun, 08 Oct 2017 08:20:16 -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=PCwlKsqP; 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 9F25B689E1E; Sun, 8 Oct 2017 18:20:08 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f50.google.com (mail-wm0-f50.google.com [74.125.82.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6CE86689E15 for ; Sun, 8 Oct 2017 18:20:06 +0300 (EEST) Received: by mail-wm0-f50.google.com with SMTP id q124so16795844wmb.0 for ; Sun, 08 Oct 2017 08:20:08 -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=fiWaU7sHkWDTONyYiL5jZtz3dbnIFu8plxPJijC0gX0=; b=PCwlKsqPv/0XM3caDHi+uftvzCbkHnBWU/qKeibB0ZyvGSRxnsh5ZX2yGsvB8ZLu78 cVYyxFKG1SOaWnxjSmO1umTHgqMHutEdTvdC8z0E+ppszuIZU+tlJ5GPO2obvJhXC0xi pNJycZALAERN7q38+2wjeSaZoApcTx++DwAKLbRQWMZ16U0jJJuOyeLTMKwK/mZFzcZZ TiPFg5zyFxQJy8bd/gGzXuh3npYom3evQG9AielC2RT6EBVLdsnyJPok26wsuUghrMsB 0d1IAoH/r7LP62L/HjGfNXhwId9ylZA8Ey2ZSPK8MVKKRcqwYOYR0g8NMIUj6+/FrqE8 dd9g== 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=fiWaU7sHkWDTONyYiL5jZtz3dbnIFu8plxPJijC0gX0=; b=otul2muBmslnhIBw5QR27n6XJlwm/eTLx/5Jd4kDprpysMKhtLNNy9pnNg1rdyFPgO gP11A6oA77DBaxQOcLOr+12hK5jrNqQK2GF7RWBSOq2BGU6J8RtcuqTIM6+6xVQVWdqr 5DsNgAhY7xDLoYhyAlC4tKW15I4T4O+68sw5vFs8X5NI6AhhrsRXn97LC9oSGDabbGVK xpz31sVxX+K4M9HDKtBqbyEOTBXNGaJBM2oKA4vnb13P2HrfYv9eR66YOs0Q/gqhuj5O q0A9ZtdkaV9WvJslhEkGWduEojIbO8VCbk+sbVNqA0luQtmQutWfidEnIwfZ7tPVHNgJ LFVg== X-Gm-Message-State: AMCzsaXLK9evrtAUQnv+8dY+6Akbry3T9BvDpIDo9M8lJP6Nv+Fw8j8E TKm1nMi/y5+7A2oklvtgrrEp3a7s X-Google-Smtp-Source: AOwi7QCB5fRJdgob8lLNCYyB7RvsFjG4gDzK7z4SiSOZ4+4B1eeYRey/A/3+DqtmKRcQpFq28siM0Q== X-Received: by 10.223.138.177 with SMTP id y46mr7582448wry.195.1507475512240; Sun, 08 Oct 2017 08:11:52 -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 b190sm6770476wma.22.2017.10.08.08.11.51 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 08 Oct 2017 08:11:51 -0700 (PDT) From: Mark Thompson To: ffmpeg-devel@ffmpeg.org Date: Sun, 8 Oct 2017 16:11:43 +0100 Message-Id: <20171008151146.13505-3-sw@jkqxz.net> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20171008151146.13505-1-sw@jkqxz.net> References: <20171008151146.13505-1-sw@jkqxz.net> Subject: [FFmpeg-devel] [PATCH 3/6] vaapi: Always free parameter buffers after vaEndPicture() with libva2 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" This is an ABI change in libva2: previously the Intel driver had this behaviour and it was implemented as a driver quirk, but now it is part of the specification so all drivers must do it. --- libavcodec/vaapi_decode.c | 4 ++-- libavcodec/vaapi_encode.c | 4 ++-- libavfilter/vf_deinterlace_vaapi.c | 2 +- libavfilter/vf_scale_vaapi.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c index 4f0ff84e01..5a555b2bd3 100644 --- a/libavcodec/vaapi_decode.c +++ b/libavcodec/vaapi_decode.c @@ -188,14 +188,14 @@ int ff_vaapi_decode_issue(AVCodecContext *avctx, av_log(avctx, AV_LOG_ERROR, "Failed to end picture decode " "issue: %d (%s).\n", vas, vaErrorStr(vas)); err = AVERROR(EIO); - if (ctx->hwctx->driver_quirks & + if (CONFIG_VAAPI_1 || ctx->hwctx->driver_quirks & AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS) goto fail; else goto fail_at_end; } - if (ctx->hwctx->driver_quirks & + if (CONFIG_VAAPI_1 || ctx->hwctx->driver_quirks & AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS) ff_vaapi_decode_destroy_buffers(avctx, pic); diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c index e13e99587d..590f4be4ed 100644 --- a/libavcodec/vaapi_encode.c +++ b/libavcodec/vaapi_encode.c @@ -399,14 +399,14 @@ static int vaapi_encode_issue(AVCodecContext *avctx, err = AVERROR(EIO); // vaRenderPicture() has been called here, so we should not destroy // the parameter buffers unless separate destruction is required. - if (ctx->hwctx->driver_quirks & + if (CONFIG_VAAPI_1 || ctx->hwctx->driver_quirks & AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS) goto fail; else goto fail_at_end; } - if (ctx->hwctx->driver_quirks & + if (CONFIG_VAAPI_1 || ctx->hwctx->driver_quirks & AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS) { for (i = 0; i < pic->nb_param_buffers; i++) { vas = vaDestroyBuffer(ctx->hwctx->display, diff --git a/libavfilter/vf_deinterlace_vaapi.c b/libavfilter/vf_deinterlace_vaapi.c index 838eb89c90..44c5ae7642 100644 --- a/libavfilter/vf_deinterlace_vaapi.c +++ b/libavfilter/vf_deinterlace_vaapi.c @@ -539,7 +539,7 @@ static int deint_vaapi_filter_frame(AVFilterLink *inlink, AVFrame *input_frame) goto fail_after_render; } - if (ctx->hwctx->driver_quirks & + if (CONFIG_VAAPI_1 || ctx->hwctx->driver_quirks & AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS) { vas = vaDestroyBuffer(ctx->hwctx->display, params_id); if (vas != VA_STATUS_SUCCESS) { diff --git a/libavfilter/vf_scale_vaapi.c b/libavfilter/vf_scale_vaapi.c index 5f049a5d7b..22e928c098 100644 --- a/libavfilter/vf_scale_vaapi.c +++ b/libavfilter/vf_scale_vaapi.c @@ -361,7 +361,7 @@ static int scale_vaapi_filter_frame(AVFilterLink *inlink, AVFrame *input_frame) goto fail_after_render; } - if (ctx->hwctx->driver_quirks & + if (CONFIG_VAAPI_1 || ctx->hwctx->driver_quirks & AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS) { vas = vaDestroyBuffer(ctx->hwctx->display, params_id); if (vas != VA_STATUS_SUCCESS) {