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 E84614C70A for ; Thu, 11 Sep 2025 14:16:59 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'kV7gb5ifOU6hH1oti85evq4knk1tzNovpGV1ph6uBjY=', expected b'PwIrIRXb5u/dG+Dmp3bLlHQJWdzSXfKXxyEuSFgKSPs=')) 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=1757600207; 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=kV7gb5ifOU6hH1oti85evq4knk1tzNovpGV1ph6uBjY=; b=T7W8N6oRZgQp1bcQ7Lht04wbLDvlxcjpNcNE7bhCQ4yQIHJlQbR/HBeFyG3IRpxht5D7a qH6T/c1mJobzpmfM8pDLRLL5hPPVEnK05PXkdfCD991TTiU+DUW0/A/IDfvGwbkdQhGZPmN hQyD1tbQIm1SjbdWfkq0udYH1B2JpPDcYro37zd+K/JEwu5xjmeCDL2gy58EI8iPIcFuq1K EsCpoLiE3+OZOtkUQCLl/hHsHTSYYWOaUzvTMDWO7aFzrcGdHLVYF/mFkauIiArFHFahuzo sDtUD0sdEqU21qu2V+JHRno61A8MvqKOhXE9iLawQWM3QqrdDH4yJBntsY+Q== Received: from [172.19.0.4] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 1C32668E79B; Thu, 11 Sep 2025 17:16:47 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1757600205; b=CsqnxOoKSH6iNraLHVVasNRIlkfdZOZK7seA3zXShs0Kj9kT+9o9otrZdg3lFObtOBlED OZfeYFGpl0jNt/0QHN3hM1ObiYpMpHvpt8PweVYVyuMtqMZleW9JvTWHg4vaK+4l3Aitm0E HqTsUXig/8vAU0A7ajsZ3N2Q0yq3YPuVk1RmB/MLo6Vg23lPEeL2T1hXEnAziX3F5glwCQh 96dB6MJel82LQahJ4zf41hf36+F5+eHnHgB20pujQX+9+At5PMFure6hSoueCy9IZFbN17K Gg6NWir89dGnGky6h+D9ahbAc2Pd2d+v5CSD/+fyr042R429k2jfvdLxDS5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1757600205; 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=bWS+xV7FlKy5RYI40v6lLN+qDdLLv+Ei57OrXGHDNY4=; b=r4QkmJK6z0cOR9/1K3116eAcZ36acb9m8y6wAjSeYvRZQiZ7rx0X929odDohv4odbx2of GdiFOwxuqvmTEqKWbm6uhpelWWkE++GR35MLjew062RdB/s3KihTjXsQ2tDxvlyCLRrbWEp Lmf/G2nwUaYrMbnJQivO7hBaMDVuChOdKmLHBFcptkodTubkMfeU31Y8wcgcH8g86J8Chjx ni9djsJnq+s79dS9cj2M06owETIt5iHtYxDgLuuAcuiDZwMyyuntNuQ9ty+NQeX+Y6RsyLm IJ/DS0XfDFZHZvpGPLWj7e2YffqjwZ5iwHP4uYQBvMiUql7zPMK1goEl4ovQ== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=none Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1757600194; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=PwIrIRXb5u/dG+Dmp3bLlHQJWdzSXfKXxyEuSFgKSPs=; b=sHQO93/DR30lBey3pEgzLrr1rtVGrVP5xgjuhSP6R7/h8oc8jkQ9ef+eMh5Fdv/3Drrvh +6cskDsl8ySarMhjCAWuVE3dUShQNfjhdWjV5a+JDp7UN0ECsEKnRqMFV0HbCSXGkHv1dAf yLjaqf8m4RDd7mtBY/A8vL7JRmjv+INei0+xxhhPgP5rTbRoFOSl6yNpt7V8AXqkKiYhuFu GYOpkXDDOIXG1evts94x5xvGNGFu7C5PybNolTkeNLhOWO07i3R199+69Z/3vJhTj+JufJV yV5+zxpF9eEeLuAOhlm5lGtHmn5niwkptqZiYT6PxikpJuopZmE3eeI8Mhgw== Received: from 3f9d35a0eedc (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 3699968E776 for ; Thu, 11 Sep 2025 17:16:34 +0300 (EEST) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Thu, 11 Sep 2025 14:16:33 -0000 Message-ID: <175760019437.25.13295619495070950963@463a07221176> Message-ID-Hash: XN442EINSZJ3KGJB3F3IFUTE7MBWOLB2 X-Message-ID-Hash: XN442EINSZJ3KGJB3F3IFUTE7MBWOLB2 X-MailFrom: code@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] avcodec/tiffenc: support writing ICC profiles (PR #20493) 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: jianhuaw via ffmpeg-devel Cc: jianhuaw Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20493 opened by jianhuaw URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20493 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20493.patch The tiff reads the icc profile to the side data but doesn't write the icc profile from side data to the TIFF_ICC_PROFILE. Signed-off-by: Wu Jianhua >>From 1754d0f56d2e7ff2ec62b77c80850bc14385bfa8 Mon Sep 17 00:00:00 2001 From: Wu Jianhua Date: Thu, 11 Sep 2025 22:12:08 +0800 Subject: [PATCH] avcodec/tiffenc: support writing ICC profiles Signed-off-by: Wu Jianhua --- libavcodec/tiffenc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c index 9a5291c257..917ff9ac1d 100644 --- a/libavcodec/tiffenc.c +++ b/libavcodec/tiffenc.c @@ -250,6 +250,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt); TiffEncoderContext *s = avctx->priv_data; const AVFrame *const p = pict; + AVFrameSideData *side_data; int i; uint8_t *ptr; uint8_t *offset; @@ -504,6 +505,11 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, ADD_ENTRY1(s, TIFF_YCBCR_POSITIONING, AV_TIFF_SHORT, 2); ADD_ENTRY(s, TIFF_REFERENCE_BW, AV_TIFF_RATIONAL, 6, refbw); } + + side_data = av_frame_get_side_data(pict, AV_FRAME_DATA_ICC_PROFILE); + if (side_data) + ADD_ENTRY(s, TIFF_ICC_PROFILE, AV_TIFF_STRING, side_data->size, side_data->data); + // write offset to dir bytestream_put_le32(&offset, ptr - pkt->data); @@ -575,7 +581,7 @@ const FFCodec ff_tiff_encoder = { .p.type = AVMEDIA_TYPE_VIDEO, .p.id = AV_CODEC_ID_TIFF, .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | - AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, + AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE | FF_CODEC_CAP_ICC_PROFILES, .priv_data_size = sizeof(TiffEncoderContext), .init = encode_init, .close = encode_close, -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org