From patchwork Mon Nov 20 00:36:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jun Zhao X-Patchwork-Id: 6211 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp3293833jah; Sun, 19 Nov 2017 16:36:51 -0800 (PST) X-Google-Smtp-Source: AGs4zMacT5dVectstxveHcIRe8u1ZoC6IWkDHueC/mANpFPhvi8ZSh2MLCVbbTB32mw2jH5vQfCo X-Received: by 10.28.27.194 with SMTP id b185mr8425661wmb.21.1511138211164; Sun, 19 Nov 2017 16:36:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511138211; cv=none; d=google.com; s=arc-20160816; b=lVceXhydbqDyndXsGVyg7MuZGAYUgPCRYqYWNUKxNiDEsc5MZNjabX/X4UwYCL/v/N HhbOa0yHnYOAHt/bhNwcHQGLYftCro4FP5Dx76Aj7w3kkuNUr5qt89LfQpA5qmEsy/LS PCPmnX0IdiwnD2uHNAv6KdHOmrUsC0hJqgvEXjKrts+BP5lZt9xYG6lw7dP6RnUSxjnT CaAS8lZGeKDs8RRX4fwCot6cPsd6eqtHEmA6WJY5Uc7q9VFWiZ04jeyInuLqW+ExOGnb nbcyjk4rrTbkRA19vkArpG0TFDkgfbvWlwJGTTC7nhp58UGyaQkDnmX0CKJwU8qZYAUs wyqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :content-language:mime-version:user-agent:date:message-id:from:to :dkim-signature:delivered-to:arc-authentication-results; bh=wYQBqaCWWqOPHJo17QGmAncYz94mkzEWAui/mZ26v4o=; b=aksGEFC2hXImlUENC5FWhhaf/+5WL5UKymdQk7KjCYcp4DkJXaLV+SYc0jTeR1D4Xy o6CyXLi34WshqXdlu/pTjoM+jmPxgSv16r3cFhfxnzT+TgFfEvVuqRPRA7GQqsOPeisM 6IHPSYALrJsFA/9zPe2Qg8/1R0IL1yNRCGStKCdztkCL4xQh0YrwrJOaj6AZ7u/he4LQ 3Zglw+fm62WHGpoKoyjFc5KORPP7Wlu+M5accSxf63B9sAEsHXB3C/WMY0nwetp3cxdz 7Q7WEOAtj4YRK6K1YZyIjFkO2yDvqOsThzHUWMNNtjDRFa4ThJmaO3JLvQvGxTYX5kBm iBJA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=YXN9e7lz; 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=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id p4si7225257wrf.177.2017.11.19.16.36.50; Sun, 19 Nov 2017 16:36:51 -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=@gmail.com header.s=20161025 header.b=YXN9e7lz; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2A0B8689A50; Mon, 20 Nov 2017 02:36:32 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg0-f44.google.com (mail-pg0-f44.google.com [74.125.83.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CCF9A680780 for ; Mon, 20 Nov 2017 02:36:25 +0200 (EET) Received: by mail-pg0-f44.google.com with SMTP id r12so5982083pgu.10 for ; Sun, 19 Nov 2017 16:36:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-language; bh=rdRI/2KBMZ2eOvCsiV+BWN1fiRBTIIdvdu1p37gxHN4=; b=YXN9e7lzPYolGWH+wO66yEdw0AxOkCzzaQ0Pz1PJz/gfnAlq0Mu8p5ZkIUzwrdiY9x pMGo0UKDblncoBkY177HS9jJtp+phigl/lL3tQmmvMAXVZhVYMMV165MLH4IP8nvqHOL dPRhPYlYS5SEMzoOViBXaTdPS49TecrUgi2TmX5OimKO8K7UiAlFHny1P4nKnrCILCaw ZzhkSYCslXZieg9j+w++YHD3+CN0se+VRYAH+ONDS+wOjHTy1+0z2gwrlZvzfRPtZ5eL BZ5hLTFmQ1iNndFKeQyEezI8eMKhAeGYCTzTNGzEbgj/LZS2nQtr8BSfDTcCKIQuGJbh cIOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language; bh=rdRI/2KBMZ2eOvCsiV+BWN1fiRBTIIdvdu1p37gxHN4=; b=O2s+LcuBCHk35rIfxt3bydMlX9KhWLrfd5bURP7MQ5u98CW+pQk8sLLzxwthON4dDK L+9FiXD+sehjp6v2kv7Gk4N02wn43euk1Kx4/K1+D715qHo+GaPiVt25qN59/d6PdF1i V7N48K8kWg7wKindYb/1Ft5i/+0ejua+r3M0kxjUZguXV2/GpSifgzFuRfjQXkM/qyvX 4Jl1pJmJZhEV3WfBrs2EB88r5d12U9QH20KAlgAu45SfKt9fiw14IGGgZHgLAXJSUPMF E0hYV+vpVTDa2Z3S+tjHCEFvFHimolIdQ4UbqUrMvdC6HxI78c/Z9n2P8/pprcvmpMwE Kh+w== X-Gm-Message-State: AJaThX4tCHA8GnuqEvY00Kx4CeB65cQ56uOCxzangL14SExDceSam7lR j4SNxLI2UNOrQfiTAgG29Pc= X-Received: by 10.159.240.138 with SMTP id p10mr12069759plr.360.1511138201292; Sun, 19 Nov 2017 16:36:41 -0800 (PST) Received: from [10.67.68.27] (fmdmzpr04-ext.fm.intel.com. [192.55.54.39]) by smtp.gmail.com with ESMTPSA id r86sm10967943pfk.114.2017.11.19.16.36.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 19 Nov 2017 16:36:40 -0800 (PST) To: FFmpeg development discussions and patches , Mark Thompson From: Jun Zhao Message-ID: Date: Mon, 20 Nov 2017 08:36:37 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Language: en-US Subject: [FFmpeg-devel] [PATCH 1/2] hwcontext_vaapi: add support when driver return unimplemented. 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" From 5cbcd032de46e6a3f9563d1781776ea26728079d Mon Sep 17 00:00:00 2001 From: Jun Zhao Date: Sat, 18 Nov 2017 10:44:44 +0800 Subject: [PATCH 1/2] hwcontext_vaapi: add support when driver return unimplemented. iHD driver sometime return unimplemented when query surface attributes, we just ignore and give a warning in this case. Signed-off-by: Jun Zhao --- libavutil/hwcontext_vaapi.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index 0382eb06f2..f246639021 100644 --- a/libavutil/hwcontext_vaapi.c +++ b/libavutil/hwcontext_vaapi.c @@ -169,7 +169,10 @@ static int vaapi_frames_get_constraints(AVHWDeviceContext *hwdev, attr_count = 0; vas = vaQuerySurfaceAttributes(hwctx->display, config->config_id, 0, &attr_count); - if (vas != VA_STATUS_SUCCESS) { + // Sometime driver return unimplemeted - ignore and warning. + if (vas == VA_STATUS_ERROR_UNIMPLEMENTED) { + av_log(hwdev, AV_LOG_WARNING, "Query surface attributes not implemented.\n"); + } else if (vas != VA_STATUS_SUCCESS) { av_log(hwdev, AV_LOG_ERROR, "Failed to query surface attributes: " "%d (%s).\n", vas, vaErrorStr(vas)); err = AVERROR(ENOSYS); @@ -177,14 +180,17 @@ static int vaapi_frames_get_constraints(AVHWDeviceContext *hwdev, } attr_list = av_malloc(attr_count * sizeof(*attr_list)); - if (!attr_list) { + if (attr_count != 0 && !attr_list) { err = AVERROR(ENOMEM); goto fail; } vas = vaQuerySurfaceAttributes(hwctx->display, config->config_id, attr_list, &attr_count); - if (vas != VA_STATUS_SUCCESS) { + // Sometime driver return unimplemeted - ignore and warning. + if (vas == VA_STATUS_ERROR_UNIMPLEMENTED) { + av_log(hwdev, AV_LOG_WARNING, "Query surface attributes not implemented.\n"); + } else if (vas != VA_STATUS_SUCCESS) { av_log(hwdev, AV_LOG_ERROR, "Failed to query surface attributes: " "%d (%s).\n", vas, vaErrorStr(vas)); err = AVERROR(ENOSYS);