From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id DEA884C2A8 for ; Wed, 10 Dec 2025 15:18:22 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'CqxAUUnsywNPj3Xz7I2DuVb8nm1GpyC0oHSObRKwLRM=', expected b'0fSb/1wHE+E0wVjcb/qw7qdsu7SJ2MNfX5TGXBgwkeo=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1765379887; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=CqxAUUnsywNPj3Xz7I2DuVb8nm1GpyC0oHSObRKwLRM=; b=bPnv+uJx4CvXRNdyanEyaeyo/bdg+EU5JADn+XUPe1QNvxFPvcBFZtVxbVlYfEi2R/uW1 7bRGotzs8yT6GKMgYvnRF6eWPiTGpwqRaZwNa4EC4XNX0Im1moOszgMlCE+dZfDefd3z/KF yBv1KYj7ATTUvz05/SS2vzTBZPmoG5xCVVDsSED9bBUyOjtYWHy2CvV8gIINAJ70h+7jN6W nztg+HL9PolGYlzxY6KNb8N6uJ63/05+Rm0c+6oGZyL1ekGwvaz7wCYEN+jLSBHGwhek95U 6cqRiBp8Zta+tqjYURf81Koa2Gl8yOenOcxEdzQS62ue8tEXLJVF8xZglu/w== Received: from [172.19.0.3] (unknown [172.19.0.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 3ED54690792; Wed, 10 Dec 2025 17:18:07 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1765379872; b=C/3PuIAgVZFASrTzmXdPYzxr3x5DegrQm2u+azsccrS4WPWSQ/TKJIrtuh4isAmnnY60Q rdRZZkpinTKdY8fGkNIgGc5QnxCprimwEyu0SG3QBfJqEqKV2htxAIiGnLvbfYBQARJmVfH LIXF06Mzio14j2B8h6qWIFJ5ZKaCmz04yOsvhCgTChPLAqcl7yYje/gg6s3slRMn8vYanLN zcuWZKd1oyaIZsOfl3ixMj55Z/OVAl8tFkSmKj7GZoKlbGPa6nowRc8X8NezUHvVA6r+jWt o2utBO5sFcuENhhBb8agWDVd7bxZZOh3R5sV1+35xJNMbMIskU0d+5UdMoNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1765379872; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=Vf21rIFb3EEewQQeqBmPhtJ3H/Q3otUMw7xZpv+67Zk=; b=glGo2PNx4qJ/mWPnSNq+xEmh5cQqr3AylsiLLdEQShwkUtfcvtvh1dfQQAepif2PbnIOS tJbscp0TciYPEi83Vy003sij9xC0CiCYk3khkzFQzwdj3zBbuprGLbDyPGqMkMeBK4CCfC/ sPEjh0XXah/34OVtp6x6IMWgj8NHkZAT0HPN7OeFdaV24zMyidsTxexkj6RAWrDg3UmowWd bJdu1CTUMTl8/XQkDFgwjW+HLlNrkx0tG1jiRFn35DsReVtcLYJ2ik/3waLMPXZEAo1zYX+ s+9SotQOyF5HPn5yVuMs2APx9uc3+23Rzd44FNcmEF22hZUb7bI1z4qsCsDg== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1765379864; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=0fSb/1wHE+E0wVjcb/qw7qdsu7SJ2MNfX5TGXBgwkeo=; b=KO9nXidOkEw8q9DkC/xvvGvwBl6BYqDCmUm78uA3uEQmQkainmBQCbDh6JatRCYrom2Gz aSP4+XvVZB5XaQx89NZZWzvaO2fucbtT3f4LO30K7BybzA1s0Fe/2SP1iwGf7CoqHpDxkcT OkKmr6AsoMGNJzNEwPhTS1JrIcYI7yZhfiRGtFth0/zhVe1wJNUS1dK2QfkqCJ0NDR2Ny6q EzTpMGI1zXOzQS5Y6YL4hftdQzF9kiDXXU60N5G0wO+eW/U+v7iSRUoQ6tKpgMdLPgvd2NK YF5VmnEJ96q4LTTrCfznA5/UFizAllE44pEZgkvmso0YctmTJG2095znfNuQ== Received: from 55ca25703178 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 2217A690720 for ; Wed, 10 Dec 2025 17:17:44 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Wed, 10 Dec 2025 15:17:43 -0000 Message-ID: <176537986425.39.3496024819595195986@2cb04c0e5124> Message-ID-Hash: ETLJJXCSO5B6CU43BKXEE5P7W2QLAWO6 X-Message-ID-Hash: ETLJJXCSO5B6CU43BKXEE5P7W2QLAWO6 X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avcodec/avfilter_amf: correct handling of AMF errors (PR #21155) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: ArazIusubov via ffmpeg-devel Cc: ArazIusubov Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #21155 opened by ArazIusubov URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21155 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21155.patch Fixes several [AMF error handling issues #21123](https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/21123) >>From ba95421cbfefebc00438c7b79f3dbd46714e1e2b Mon Sep 17 00:00:00 2001 From: Araz Iusubov Date: Wed, 10 Dec 2025 15:38:55 +0100 Subject: [PATCH] avcodec/avfilter_amf: correct handling of AMF errors --- libavcodec/amfdec.c | 5 +++-- libavfilter/vf_amf_common.c | 5 ++++- libavfilter/vf_sr_amf.c | 1 - 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libavcodec/amfdec.c b/libavcodec/amfdec.c index e1a5b71ee6..6a0e0e441c 100644 --- a/libavcodec/amfdec.c +++ b/libavcodec/amfdec.c @@ -640,9 +640,10 @@ static int amf_decode_frame(AVCodecContext *avctx, struct AVFrame *frame) return AVERROR(EINVAL); } res = ctx->decoder->pVtbl->GetProperty(ctx->decoder, AMF_VIDEO_DECODER_OUTPUT_FORMAT, &format_var); - if (res == AMF_OK) { - res = amf_init_frames_context(avctx, av_amf_to_av_format(format_var.int64Value), avctx->coded_width, avctx->coded_height); + if (res != AMF_OK) { + return AVERROR(EINVAL); } + int ret = amf_init_frames_context(avctx, av_amf_to_av_format(format_var.int64Value), avctx->coded_width, avctx->coded_height); if (res < 0) return AVERROR(EINVAL); diff --git a/libavfilter/vf_amf_common.c b/libavfilter/vf_amf_common.c index ae095c6a6c..c8620bc513 100644 --- a/libavfilter/vf_amf_common.c +++ b/libavfilter/vf_amf_common.c @@ -101,8 +101,11 @@ int amf_filter_filter_frame(AVFilterLink *inlink, AVFrame *in) if (data_out) { AMFGuid guid = IID_AMFSurface(); - data_out->pVtbl->QueryInterface(data_out, &guid, (void**)&surface_out); // query for buffer interface + res = data_out->pVtbl->QueryInterface(data_out, &guid, (void**)&surface_out); // query for buffer interface data_out->pVtbl->Release(data_out); + AMF_RETURN_IF_FALSE(avctx, res == AMF_OK, AVERROR_UNKNOWN, "QueryInterface(IID_AMFSurface) failed with error %d\n", res); + } else { + return AVERROR(EAGAIN); } out = amf_amfsurface_to_avframe(avctx, surface_out); diff --git a/libavfilter/vf_sr_amf.c b/libavfilter/vf_sr_amf.c index 543d2cb979..2179e81d2c 100644 --- a/libavfilter/vf_sr_amf.c +++ b/libavfilter/vf_sr_amf.c @@ -180,6 +180,5 @@ FFFilter ff_vf_sr_amf = { FILTER_INPUTS(amf_filter_inputs), FILTER_OUTPUTS(amf_filter_outputs), FILTER_QUERY_FUNC(&amf_filter_query_formats), - FILTER_SINGLE_PIXFMT(AV_PIX_FMT_AMF_SURFACE), .flags_internal = FF_FILTER_FLAG_HWFRAME_AWARE, }; -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org