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 E248E4BE00 for ; Fri, 2 Jan 2026 11:30:36 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'U0dozPooJr4s2p9Yxouh3jhUCfXFiimIMJcMmUrtBBI=', expected b'xpzLuD8ZJn8NpuJvWHYoM9MYqEmW0QzJ4ZfUpPc/mMY=')) header.d=gmail.com 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=1767353424; h=to : date : message-id : mime-version : 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=/L30USV4sVNtqS/jqbojFkYoEGhGadqS+8DSjxHgSko=; b=VZ8tdWXF2sttiT+oe87JPFmqVvDDSnRJqX9Clrmt4X07S/Fvj3ijQOfU0aApOc7gROhqM 0kfA9MeBUDYhhhmvQWufwir4yvaSY/qK2ZUR3zPCpfb/rGI3TyBnqH0vyyLj075oZQM0Qf+ MP75xFCZyfVD3+ksR8tazSX+U93wPP8RMrM69tp+95YKCIRE1Hnm9arwkl2lN+gp87LYWlD 3A2gXRr8TAw6ceJu0/4XVQH6rTSVCVzqP2BLY6fGm0FwTPz7nPOGCeh8jU62kM/OKyYFb9S fvSgQ05cch5ktx5AIFYRy/CgIrWcn7PA4zuqm+Ek4/eLiONP4qieddAtLkBA== Received: from [172.20.0.4] (unknown [172.20.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 79879690CF4; Fri, 2 Jan 2026 13:30:24 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1767353406; b=Cy1X7rg+HwTOHiUPbFG7g5wRBBWu5YS3FcbKcYNC8s6k5AllBHCuLl5tcvqT6GA45iLJZ 3DOTWYDAAouX/WAvjcFraSn6CyAZoXr1qzGzyhojETDZe/3nBjP/YFCu77L+3tru1zGYM3j vWRkC0jaCU9gBPgWLkb9joayl4/rG7bOVrBET+89ix/1DExjGnjEJBMFUrhzzQhPpPCU4Kl ucF/qYidOwlhlqNrTD3AIfO3tmiODXWTe+0tr6UStNbKxhehjGQl1MgmafXovvvAMMfJU69 oUcAS7hMfsoUrB5NmHFkQbdPYkN97lk8zfVqRubkBTbgvtPm9QcN5GqOUkfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1767353406; 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=U0dozPooJr4s2p9Yxouh3jhUCfXFiimIMJcMmUrtBBI=; b=Kl61NEMvLjZrrPJ91d4FAl7Hf/InR2cAqo28sHuCNklNXlSJbJd3KTqAeY5BOI5Q19fQC BqzZt2/aNY6Y5bNGhxvdUM8QYbSRI1S1fOnj/WpnhtJkpJpwikxNK4r2eFIHGBXNCCHsRn1 KPtXjhHTpdBBYxyJBtqFLFi6LlzvbwCwT7rBOQaQ1QjhqcJfotl91WBcOCpwU+DFyMp/jRj zZyxnN9TRpGBL2CGU4w7awu8LU6DIzDqyHyw8E/GyUTkOYSOcgIFuA4sMZPrNc+phiT7/gs 7eWFjR9xFHRGVQ4qxMSEkRqOll6s0948XcHFBO/UUuasbPRQBk1XNbp8P80w== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=gmail.com; arc=none; dmarc=pass header.from=gmail.com policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=gmail.com; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=gmail.com policy.dmarc=quarantine Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 24E9D68EF89 for ; Fri, 2 Jan 2026 13:29:51 +0200 (EET) Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-47798089d30so7559835e9.1 for ; Fri, 02 Jan 2026 03:29:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767353390; x=1767958190; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=xpzLuD8ZJn8NpuJvWHYoM9MYqEmW0QzJ4ZfUpPc/mMY=; b=ekyP35SXwUR6a/+hBB6T/oOkcW7zwv+mYxo+uxPIzFeySS7laSlE01Jj9AJEau5mzo 6XIqSB6OtsYUU57I7n4Wgz054pgzTilFmtr3JZV0atkcuADe7R92O1diaEeIRwxcafSk yzKOsw5geYFWGjcbWZkmk9R/BcECRKh073dNFwX51IgwopC8ZG4zc3KsBj1EISz4HGFz sgem3h17H2SomdzE5VGIrF3Z3smztmAhJaF2js0J+FM+HJMWQTXt4E8ZKFyT//BP+rON Nkvl89s4umQkE7G4NwBbmi+uqqMTu2Ah0j8P47OEc0PstGPu9SvrnGmMEt68kA77trCe qTvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767353390; x=1767958190; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=xpzLuD8ZJn8NpuJvWHYoM9MYqEmW0QzJ4ZfUpPc/mMY=; b=l+IlFk/Crcp24XWvJF0DYog3X/a2iF5g7P36P6+sNI5YZHWkTFRLyXnmFC5m6gcwhf rGaVz7TcIaWlWVprwPIQsQygmuST0pVEIxjqZw6ld3ajIM60LQjysLBvkUdsgpikTFoF M25TcNBcLxXn8qEdG91hSzzgH1ZP5mQPcVf3HNYfZIqeXmbqO7O7zlc3KRx3fMVd1Smw 1hONPOK7EyWbHnZRy7tsmxhkz6nVHXgphRKi824ReYwmMzcBlWwGOoCjmVir6Y6XOwuZ VV9ZTJb59YinT/VM/PQQztY/E1ZeGz0upZP4LaCOP6I4YMytEjWBdNUaFYNa3jfpcSeo 0Wvg== X-Gm-Message-State: AOJu0YxLSQSY9+LUjWsV2G9bgDsb2SDatDdEC5PVARIr/CJ7P+G5kddv l88RVX2oM8fcxaUuGjZYGLT+g8ywpvCZTN86o4QahpyNmZIZBQYLgniHLqZyVdnQVLcwq0HV X-Gm-Gg: AY/fxX5lJz9OmaO+W9kMWtKLzEU2taU/9n4MXDC3vgnMOsPkNK3oRqCpcfrh2lURC6B shojV/ltDaObtJoMTyhWYD0PvRFXj2LxM+Gt98Ic+oU4fzjhnajCCpN7JIWC9sy+SxH/vlsja78 lveWPPMbpKvP2lygo5zy67XM+m7EdP3bWUFSsQHv4qnTUrueiZJsNKnDUWzQc0BVLlgmTm7XQQ3 6d4jRQ9mFZ1FOdPEW7ze24lL1NVkyQwpmR0dt7gBvROOuO2QVLg5jKkf6KueXXMiCiwLPg6YEBQ 3yKwSPKWCC3hCsT2v5Ur3rgUiq27jlYQgeP2KmbWgxxf/sF6iEjFEgzkqWsPOzRRNs6qJXrg0CI HCGKfwz4XJKMX05h4Av8wyFH76IHmahyYCu/wpekByr5k5SJQY7I4pI/M5ccyME8NSkJjpBprwO LN2+4FLNTsad9I9i9EkA810MJBdA0MS9TtwKiG X-Google-Smtp-Source: AGHT+IG/t6yMky4m9SWDRFNp7R1rPDzLjC12xjet/U1lxCMaAR4VMiXhaENpebfe0p1c/ivL33Xbgg== X-Received: by 2002:a05:600c:4e44:b0:477:9d54:58ce with SMTP id 5b1f17b1804b1-47d19531c76mr332378115e9.1.1767353389879; Fri, 02 Jan 2026 03:29:49 -0800 (PST) Received: from DESKTOP-70DF2U5 ([102.189.225.212]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324e9ba877sm85051935f8f.0.2026.01.02.03.29.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Jan 2026 03:29:49 -0800 (PST) To: ffmpeg-devel@ffmpeg.org Date: Fri, 2 Jan 2026 13:29:32 +0200 Message-ID: <20260102112935.1842-1-hassanhanyrashad@gmail.com> X-Mailer: git-send-email 2.52.0 MIME-Version: 1.0 Message-ID-Hash: WZOI274KXL4HQ3NAE2626TBZODVPMK3L X-Message-ID-Hash: WZOI274KXL4HQ3NAE2626TBZODVPMK3L X-MailFrom: SRS0=Jg+W=7H=gmail.com=hassanhanyrashad@ffmpeg.org 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; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] apng: fix rgb24 blending bug for non-alpha frames 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: Hassan Hany via ffmpeg-devel Cc: "U-DESKTOP-70DF2U5\\GIGABYT" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: From: "U-DESKTOP-70DF2U5\\GIGABYT" Delta frame optimization in APNG encoder caused gray bars for RGB24 frames. This patch disables delta optimization for non-alpha frames, ensuring correct rendering. Delta optimization is preserved for RGBA frames. Fixes: trac Ticket #9602 Signed-off-by: U-DESKTOP-70DF2U5\GIGABYT --- This bug caused visible artifacts such as gray bars in non-alpha pixel formats such as RGB24 or GRAY. This patch disabled delta frame optimization only for non alpha channels. the output size increased from 512kb to 1.1mb on the test sample but correctness was restored and the relevant APNG FATE tests were ran and no regression occurred libavcodec/pngenc.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c index e627bf83fc..3e46363b00 100644 --- a/libavcodec/pngenc.c +++ b/libavcodec/pngenc.c @@ -39,7 +39,7 @@ #include "libavutil/opt.h" #include "libavutil/rational.h" #include "libavutil/stereo3d.h" - +#include "libavutil/pixdesc.h" #include #define IOBUF_SIZE 4096 @@ -894,6 +894,19 @@ static int apng_encode_frame(AVCodecContext *avctx, const AVFrame *pict, best_fctl_chunk->blend_op = APNG_BLEND_OP_SOURCE; return encode_frame(avctx, pict); } + + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(pict->format); + + if(!(desc->flags & AV_PIX_FMT_FLAG_ALPHA)){ + best_fctl_chunk->width = pict->width; + best_fctl_chunk->height = pict->height; + best_fctl_chunk->x_offset = 0; + best_fctl_chunk->y_offset = 0; + best_fctl_chunk->blend_op = APNG_BLEND_OP_SOURCE; + best_fctl_chunk->dispose_op = APNG_DISPOSE_OP_NONE; + return encode_frame(avctx, pict); + } + diffFrame = av_frame_alloc(); if (!diffFrame) -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org