From patchwork Mon Jan 24 08:24:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xiang, Haihao" X-Patchwork-Id: 33760 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:e71a:0:0:0:0:0 with SMTP id b26csp130447ioh; Mon, 24 Jan 2022 00:26:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJwKPtypiEdsX/OMp6YcrKeiXT4G5DXVm7y/0L4esykVA1S7h+e/UBFiNOhNuwJ3XDEEZDr1 X-Received: by 2002:a05:6402:1003:: with SMTP id c3mr15068996edu.405.1643012790721; Mon, 24 Jan 2022 00:26:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643012790; cv=none; d=google.com; s=arc-20160816; b=dXDwZ2q/EJcVFJIaeAsnnL8CKNAq1Hwr+t5GMU+5fjwvuJTXGcH1JQqro8jwf+ZcXX wafHaumFQS5TAaP6wooIZv4jY4Xz4GJKoCHTTwoCIgbFoL22NtaPRT60UPHrpJPy17q1 ozmNbKQf4NYS3x6RW21eUzApHLR4h0XmJhq0OTK7sPLeArOvAPAkaxhSVp2HlxhiW2Iu uW+382pXCP3Vf7CAZB80zBwxYxl6rMQeNAEUPEMeutW3vDsePYxTEQHlW9lbYpVIsNnY OZCY7/NiA4RUIQ+EVj2kmGfPUrxltAjL+8/3NFcwf6D6X/8iRZyRoPCwguOzDY+pyUyD pkgg== 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:cc: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; bh=FRZ9KoPnn6R06aEeCEJ9dTBOjgXufdFdrn13t98bHmk=; b=Q76HaBEd3iskaugjR3LzCsDKruPcvZFSneO3vQ8TypHTQkRjRFSqlg7dWxacQICL4g 1gxu065Isof7OMELwxgo4kGSjjF5OOIrzQggvRPklzamAdORwWQsTQMw8lg4l5kMTy0A VGPxQSE8Neguuadta2UojS1YnGdDKWEhH58wqiQm/4WBz1JoOBB2N0wDClAythApKbZb IaPx3tvfxQn+cmSo8D7xj/HKBDYo89T4FR9xwQbTRBr/4M2t4Hg9PVXrVOWJs6bitvMp CrjzGStcXoMwcnZCfvpz225vcE/G5wkRCroxx5tYQw98C/0NcRquxWerbILpc8xTVkpS Qi+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=N3E6K57b; 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 q4si7959949edb.472.2022.01.24.00.26.30; Mon, 24 Jan 2022 00:26:30 -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=@intel.com header.s=Intel header.b=N3E6K57b; 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 B6F6368B058; Mon, 24 Jan 2022 10:26:17 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A296E68AECE for ; Mon, 24 Jan 2022 10:26:08 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643012773; x=1674548773; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=QfZBsoglk7P5zATZlQxTzazBpJYpgUPYYqFcpqhJakM=; b=N3E6K57bFUIGp5oUPM5Og3/4TGPv1rH4+Ht9HWlsjvmm9x1Bb1psL4gZ 3V0PdVt1tXLaYzrQZodijbp8RIN+UMdgz78AcLCaG5v62noNn0QfZPXQ4 VrLrg4EqKOP2jpou/lXvWTHmfMqyGKJhFoAyxnL/UTLWtfkysSz/EL8Pn gasszFk/Sb/GvS68lggiEyN5ZWvO4swUdhhtXphhqA/WiyRgnWOmZ3K9i rtdky/AX6NFOJjLY+jkAyHXq6zzfqknhU7/kx2Ynf0fCQ5G3U9zVD0is5 8p/P+XU1VMcPSQRtm9XXWr7c3BfGUiB8VKRhmPxBoZmUVbz/eH7pbJ8/o A==; X-IronPort-AV: E=McAfee;i="6200,9189,10236"; a="245940003" X-IronPort-AV: E=Sophos;i="5.88,311,1635231600"; d="scan'208";a="245940003" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jan 2022 00:26:05 -0800 X-IronPort-AV: E=Sophos;i="5.88,311,1635231600"; d="scan'208";a="534128371" Received: from xhh-dg164.sh.intel.com ([10.239.159.167]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jan 2022 00:26:04 -0800 From: "Xiang, Haihao" To: ffmpeg-devel@ffmpeg.org Date: Mon, 24 Jan 2022 16:24:54 +0800 Message-Id: <20220124082455.30931-2-haihao.xiang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220124082455.30931-1-haihao.xiang@intel.com> References: <20220124082455.30931-1-haihao.xiang@intel.com> Subject: [FFmpeg-devel] [PATCH v2 2/3] lavc/qsvdec: track the runtime session version X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Cc: Haihao Xiang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: FVp7ksdVFVyf From: Haihao Xiang We may check the runtime version for the given features Signed-off-by: Haihao Xiang --- libavcodec/qsvdec.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index 783d252002..8b83d5695f 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -59,6 +59,7 @@ static const AVRational mfx_tb = { 1, 90000 }; typedef struct QSVContext { // the session used for decoding mfxSession session; + mfxVersion ver; // the session we allocated internally, in case the caller did not provide // one @@ -202,6 +203,18 @@ static int qsv_init_session(AVCodecContext *avctx, QSVContext *q, mfxSession ses q->session = q->internal_qs.session; } + if (MFXQueryVersion(q->session, &q->ver) != MFX_ERR_NONE) { + av_log(avctx, AV_LOG_ERROR, "Error querying the session version. \n"); + q->session = NULL; + + if (q->internal_qs.session) { + MFXClose(q->internal_qs.session); + q->internal_qs.session = NULL; + } + + return AVERROR_EXTERNAL; + } + /* make sure the decoder is uninitialized */ MFXVideoDECODE_Close(q->session);