From patchwork Tue Feb 13 21:24:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Izen X-Patchwork-Id: 46242 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c493:b0:19e:cdac:8cce with SMTP id eo19csp1462pzb; Tue, 13 Feb 2024 13:25:42 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCUVTWCrubByVytnqtfp/2tUtAjfHx+MQzPe3vCSMCBytl9hUktcVJi5OlGY4YeTMY/oy3WE0t6vvgxxKbumQJZVrtrxIrFBw6NkYg== X-Google-Smtp-Source: AGHT+IEeMFpc+i5ixCAROHZrMvicTkDjrc7ELIT3gFvne+gc2LzdF8WXIhOp7gU8kekATTUG3kes X-Received: by 2002:a17:906:2792:b0:a3c:c323:2069 with SMTP id j18-20020a170906279200b00a3cc3232069mr38200ejc.28.1707859541751; Tue, 13 Feb 2024 13:25:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1707859541; cv=none; d=google.com; s=arc-20160816; b=TC4t5PMWcGScigWa4fwpcpmMTxDjn7v4LTiJ8KrZ5wEkDWFl3t05FzgUarWyq/a7vc 6MsFQFF6GPzLdk8RGAm6QimBiioP6YEq2T4tR0TyKC77Sp/gCqzaQoPoC0bV+vuQ5mfg 6Uzk+M1JajLfdtTLKQf5Khj2dbvJIrJmDC4WudMG6aNZ8NGXwZxMkIYP3C+iK+6u1214 WgmquGUwWIU8LAlzSK4ZU8sJTP9KwZE2t7vwgS0mQ/AfMtlVaVSX3heoy30Ty4PtvQcP fCriBoytKDXFZCJLUxQ1rH/Xe5jSOHgjQmfnZpduhvy9AIbsXT0G9Ox8AtgBRb9biS5a BYcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=UqEjdrv52yWTAx/v/af1WZfv9va0F+Y1BabciTxM5Y8=; fh=2LZVopQ5ptjXHnOUXbfmZCG4ChL+U5rX5clh7qx1Qa0=; b=gwOAhfRwOjWxIFZGFH8HtWf2jWKDZCSjfQ14J55Xq8EBwZb7D7UMSDDjp+gXKbBUmH owtrp+lse8U6K5VekvTnp/vyZ0b2vScm42J0UqRK0v98UB1JH+q3du2iCHdyS8/cklny hOGbPDp9l3ZqCPekS5QYcyk+KDhq5GLzyIaLMY1EmkAypg0uFKTCKjgohPabgpQ4nI0G cAJqu9I0+InMrl3DqOQo+NBp/gzSpOuKvRspZwQmFo/w4N8nI7OVu0ppml2/SAkfjM4D 8qNJQ1Cb4TmhyE0qCs5/ebYnC5htJyPFVxgTS6jNFCmelwAGiYMtZd14ozycSFJNpxSc 2vaw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=VokVakUx; 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=QUARANTINE dis=NONE) header.from=gmail.com X-Forwarded-Encrypted: i=1; AJvYcCX8LuXTW81otx7KDZtyNyn6wemDPpiLVVC6+Tbi+mQQUwxg9vT8kNf9t6InrNVoJfitYJT5nZgnK95v1sCC9XWtMk1rdmTbv6Sd6rtgHt3o4/8fk8FQpL7u+YIHOV/4xWyHpVslcyzftjkGz5avcUhX9JS2pkMhuvo+6w+8JOCBVtzzo8euxDP8gdouhBD+u1Ke659UXx4V+bErHK4nc961RfqPLH0HDPfWkJF9c08YJs9HkFvC4Z0G6AekbFKEQ6vs+7y9HcMnrlq+mo0JRGydl7SYlvPIxfx6Bg4ObkC8gMQffDE7z26qU1pp7Q/lDNdkR89g1kbEWkSybq2AuCt+hhN8QBvq9J9uEpQJr3xmNdH2Ia1hSBc8g2yo0zvEDrsfZCiMmrH1sjwegguKBrjBjpI5fG6jHyRuwni0kX9DACooiZKOwUNffSErb8fEePvHjTZqwggxcrbUeYfSfmSyEy5XYk9pm/QLcNcB3bt8/fzijbZzU4WsUErFTiYuT7odQD80pNbba12FRBTnYZBz7hhQUhsWxQfK1or7ytehsZ33E99o8W8WSdS7xegpu/A8NtRKl/vHZO/45jvqGbV6F5pXqx9X5DzIL9fgX0jTiD3wMJnbG4PXKFCBVuOUTDmuehF6U0K5Ef8WDBiQlPycTCuUOje0lBJ31Zo2ZFWEU5bIzoeZ5Mz7fZv21NEXEhUa+SFBwNCfa8bG9z5JYzXgu3Fnt1OA1OkUBZB/+XyT/uuOl5lPU3CoCAjcE/vbwTATwvd45Z7CMtyla2F1rwZT26OfFdihg7hZVhA3F5c3cxVQL/CFrpPG5xJxAagPh2idvCP1rdozh4xkc9fAopwMMmP/y6JAX8PdLhv3mQO/KitiO2qaMBcXkjtuan9vwTghZm+kErboCSt2TPoNDzmHvnn47t+2TviRJg7HvaIKEwu3NIWvyQXpiNOwbUqj4fcTp3 nbjsSP2g6XaIC1V3LGHtRXjMjaPNY/xd3VY1VA9opI7FtO1+6TtnZH4OLbUJrtujvNZLEvTuDuOFyjG/MfwtIyiMVrLdobOyuAbPO0raU2Bjrs9cIux/KkVpTqILkTytf9hxoxCWi3lzwoZjr3JYNzokZn9Jgw8YtskrXfmNvpewLzwFUGctSHUnyaVSRVrRhhUodNm0yOYO/c85R6I2cuOoqzpN9JdzGpXezGs0vU7+erSmRqIaa7Y2q4xZCOaDFAOdy60PBR/xMKyhQdfHkGOwMirm4Iu0fQGm8FESJV91l7F1y3HCc+wEzc2+WCw6dyfuyr+jHLaCi87wALIDPe5KNUtlUS3TXJrDVY5jhVzGAUcDFpR0mVRS6ohxxX5vRdPQOEv79+3J9BLn7VtGWTjrtX7aYAQuc2hdPFp3SP7IpymQJK/Z7pBHfg/lodfboAFVC3Vlom/6vru4g0TUwLdGyzIq+xHiW6IF83waJlKUTs0BETvA49GrnUqtLqXz0cz9MDl1rJ9aD+3QK/PuGwlSBWEwZ4/DTmqtBnzzMAhnfE/R/lAMPWh3H+7dXuORes4Nz2v0DyZC9YM0xZuAoz4D0QaJA8MzKqQrACW8sBN04n+taqOSH2kiEZ+dM= Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id gn38-20020a1709070d2600b00a3cfc0286b5si1085012ejc.420.2024.02.13.13.25.40; Tue, 13 Feb 2024 13:25:41 -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=20230601 header.b=VokVakUx; 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=QUARANTINE 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 7977168D1C1; Tue, 13 Feb 2024 23:25:11 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 26E5E68C4E1 for ; Tue, 13 Feb 2024 23:25:02 +0200 (EET) Received: by mail-qv1-f54.google.com with SMTP id 6a1803df08f44-68155fca099so18536376d6.1 for ; Tue, 13 Feb 2024 13:25:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707859501; x=1708464301; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WKDVTgd80GgN+YNYW92qz6WylJtqySsa39GCHUeL080=; b=VokVakUxqzur1bUAp7sefSBn1vvvRxS28O46Zkhq/D13jW5gjme4Sv07VvmvVz6inX tVXHhxa+wJRC4G3+NnKvDsgoWRWTBcYE36vF5RrEUKxYEh/A175vMgWKYUtktd0mFeF7 OmJEltBULFlnfRRdLpMZmtGVng2gnm6CWAN3kz/e1Oe/Z/LhCeAkj/WAht+BhDl5d8BK ZieVGvl33x5mpo0tUlTUpC5KUYe20t7jtNvJVoCLmimFMsPL6IOzgUGeH+fvbZI4wNPV bH5dDkDr9OlFHkDTcXxZZ1j7zWmO7Xp3YKqcMHveMx2zS2zahRNzI9Tn2nlX/S1k3i9/ mv9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707859501; x=1708464301; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WKDVTgd80GgN+YNYW92qz6WylJtqySsa39GCHUeL080=; b=Cw9pCd/Bg892mny4qCgAMlg3KEjLVAVhYZxfv7gkNylLbZsGZB7DuYwmanGijf9o0e ZkVjGKZyioqpFrw9iLzA9HoujKsE3ZKxWefiBhf7jbGIKShkrDFjnXOca0N9HXtdUXRF q6mH9RiAaAj5o6FeHv+PxyISpAmQhJDoeKHovtp6upqbzokcNEteVJwNipUk69dzERIz UAqaZake1blX/GQHY/vBaMVsEnV1a6aaepsLeV87dHnKSrADB32DlVsFmGJundjq1SCB JwR+5xBmFT6XDjyZn5Qn4p6dfu6+fzRZrdEpOGWjCvUwey2bO+GmKPDButjrQY8tIXPE fJfQ== X-Gm-Message-State: AOJu0YyuvGf2P28jw6kSnbLHZDrlrI1xbsSktewU3pxncXeaJ3MPSTCy 2FO6d5OfRJec1jwAgoBrRiKXYH7+XwqhPkSww7b66OYJsuRTSA72nGoJyw16 X-Received: by 2002:a05:620a:1b9b:b0:785:d092:bb5a with SMTP id dv27-20020a05620a1b9b00b00785d092bb5amr818332qkb.7.1707859500878; Tue, 13 Feb 2024 13:25:00 -0800 (PST) Received: from gauss.local (c-68-56-149-176.hsd1.mi.comcast.net. [68.56.149.176]) by smtp.gmail.com with ESMTPSA id g5-20020a37e205000000b007861bea2972sm1523016qki.6.2024.02.13.13.25.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Feb 2024 13:25:00 -0800 (PST) From: Leo Izen To: ffmpeg-devel@ffmpeg.org Date: Tue, 13 Feb 2024 16:24:56 -0500 Message-ID: <20240213212456.167386-4-leo.izen@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240213212456.167386-1-leo.izen@gmail.com> References: <20240213212456.167386-1-leo.izen@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/3] avcodec/pngenc: write eXIf chunks 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: Leo Izen Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Rzw3beSHJXOn Write EXIF metadata exposed AV_FRAME_DATA_EXIF as an eXIf chunk to PNG files, if present. Signed-off-by: Leo Izen --- libavcodec/pngenc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/pngenc.c b/libavcodec/pngenc.c index 50689cb50c..a302c879da 100644 --- a/libavcodec/pngenc.c +++ b/libavcodec/pngenc.c @@ -413,6 +413,10 @@ static int encode_headers(AVCodecContext *avctx, const AVFrame *pict) } } + side_data = av_frame_get_side_data(pict, AV_FRAME_DATA_EXIF); + if (side_data) + png_write_chunk(&s->bytestream, MKTAG('e', 'X', 'I', 'f'), side_data->data, FFMIN(side_data->size, INT_MAX)); + side_data = av_frame_get_side_data(pict, AV_FRAME_DATA_ICC_PROFILE); if ((ret = png_write_iccp(s, side_data))) return ret;