From patchwork Wed Aug 16 05:20:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Izen X-Patchwork-Id: 43234 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4c9d:b0:130:ccc6:6c4b with SMTP id fq29csp1023177pzb; Tue, 15 Aug 2023 22:20:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHKL3ONy7aH5vos11mY7XUuiB9iAOm1v3LuXTyB0lBBx4g+4pZ0+yeuxAANzNHjlAHWQD/L X-Received: by 2002:a17:907:36c1:b0:99d:dfd:a5ba with SMTP id bj1-20020a17090736c100b0099d0dfda5bamr648720ejc.43.1692163221070; Tue, 15 Aug 2023 22:20:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1692163221; cv=none; d=google.com; s=arc-20160816; b=WqCLV46UgG9BPNJDFp3dQpedOo9nBoAVsjjicdYdi92eMCnbYyf1hJbmwnu7UnzTFT LoqEi/2jQxnTPxrxJUaiSvjT6f41VqiED19LGgUFjDFlZLSL8aRoQ/Y6MOMm0rDnaADW VsoKjhv/UgpQpwIbOi/EaHbozYyM7hZ1dIJaPy/DijjEM6VU5L0SlC5D/kGm8Zb0Yyjz IFyUhe3tLibVq6USs9GxgXhyUU/YO+XajGEB9W4haa1fBHp9DgmS3xYjZ/b5tnyRcbRN AKxMj0/31HetTNsV7zUKiNM0y4PwD4BKzGIag6zHUYSFXj3N6jEWlZgBPLdvXdd/yw8g NArA== 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:message-id:date:to:from :dkim-signature:delivered-to; bh=VbbpQ0qPxPis+l3fmpxY7C9bG5P6ihzFXYeAOabSVoM=; fh=W57KVLPaTz0tbsYsrKIbKYuBNANpg4Tl/mHbnGjtYGU=; b=xwObYK4sXmJtuQpT63cemzWwSmfpKlTZcop1QyAbx23AI4FKrkmef6LAcQdPEPPdj6 ckvnbID9ClQ8ewY89TIMIbiZh2TuRlfdzlOaPrQTVFs/zlJ1SfWIprDF4vT73eHhL1Dv kBIBHcQCTxQD04OwYklCZG8pSEe5ObgvpmNRTUIFF2d9WV308kHyRROT5w7t69BDQaNh opN3VTFxdplOM1Z+4GFytJayyQT5jHfju6FLAAC5vRa6F7T+oRq0iu8sWVKHHnKuzn/m zOY4YJycPYThP5PLzYofPJdRsNIA/gMOJ/wtTNJ4+1lN4D9xb/cTYCaxOtN3Vp4sbFZY DM8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20221208 header.b="mVw/XpzM"; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id n9-20020a17090695c900b00992ac6d8893si10222181ejy.792.2023.08.15.22.20.20; Tue, 15 Aug 2023 22:20:21 -0700 (PDT) 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=20221208 header.b="mVw/XpzM"; 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 35B4E68C69A; Wed, 16 Aug 2023 08:20:17 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-yb1-f170.google.com (mail-yb1-f170.google.com [209.85.219.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4C69368C644 for ; Wed, 16 Aug 2023 08:20:10 +0300 (EEST) Received: by mail-yb1-f170.google.com with SMTP id 3f1490d57ef6-d6b60a224efso385382276.0 for ; Tue, 15 Aug 2023 22:20:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692163209; x=1692768009; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=YfUnBp3pbD4Qn8CCPwKCGqXEWkIQUPtwqI9+yaIYIo8=; b=mVw/XpzM+4bcILfAcknlr4b4iyX7InLaS4Kt5w3u+WA2Vb/Gli2DI7GQJ3mJGDD28U cr0VFfVtULOH0A1R4X+zI5lDlkpOT4+5bcjM+TXCX9vnN2G6NCe7sUIHb3u0PnK2mTCM bBXVY/JBIL7O0DwO1i4bfFka/exbtQioip1ujP1jhd3DZBdU6Vv7rQJ1nxNQ6nzA3i00 z71znXhbL32C1eIf1pR8aSDvvpiMBYD+wVcZtDP82Kdo2dDqWjk8LsVuHZwFVLLz+x7w K8lZxT06Ych2r+VAkMbzGjwbcsmYE/m81c1XNdi3Fa77iIUJNBeX3z4RMSu6mT/n+zjv IjKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692163209; x=1692768009; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=YfUnBp3pbD4Qn8CCPwKCGqXEWkIQUPtwqI9+yaIYIo8=; b=joK9pIcm/eQoLXo0gCsp4huazRE+ryRDl8zb8bFCByl1s5tYarDhBjpDUf6nWfZwmz OpmWR78+oyCW4nimmjZmGycX0130DeGxqUZ1sbtv3KinGH4LMOWEzCWKqvSZ0200RqQ/ b4f+E+/Qozq1MrGXFxXW479oLR58BRZ0cl+QnI9gMaeHdYIn87FQksWsM320zxoLN4Q9 SsyGTPSDWP6pUXjVSf2bc2RQylFzdw0ZqYZihRPIA/hiWqSPBMwe01s0KPRIXzvr38vX cxNTDsU/I/rzA2qrFceq0SHzA966HmnLw513Z4upT/xdHBVmlpVgxSlPknDYoDXojpMu NCpw== X-Gm-Message-State: AOJu0YwriXkeI76NhydMh9xKPTKEjcTi1wzGWoE/WTddICWYph4u6OVY lqPJvmG4xr/X3ohLLPFwRxCBlVbk0G8= X-Received: by 2002:a81:920b:0:b0:583:f90b:f042 with SMTP id j11-20020a81920b000000b00583f90bf042mr334073ywg.0.1692163208668; Tue, 15 Aug 2023 22:20:08 -0700 (PDT) Received: from gauss.local (c-68-56-149-176.hsd1.mi.comcast.net. [68.56.149.176]) by smtp.gmail.com with ESMTPSA id n14-20020a819e4e000000b0055a07e36659sm3779987ywj.145.2023.08.15.22.20.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Aug 2023 22:20:08 -0700 (PDT) From: Leo Izen To: ffmpeg-devel@ffmpeg.org Date: Wed, 16 Aug 2023 01:20:06 -0400 Message-ID: <20230816052006.53562-1-leo.izen@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec/exr: tag gamma=1.0 output as linear light 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: YawfB/VnxI4z By default the OpenEXR decoder outputs linear light pixel data by applying a gamma=1.0 transfer (i.e. a no-op). When it does so, it should tag the data as linear so color-managed filters or other tools can work with it correctly. Signed-off-by: Leo Izen --- libavcodec/exr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/exr.c b/libavcodec/exr.c index fae1d08ab0..518066facf 100644 --- a/libavcodec/exr.c +++ b/libavcodec/exr.c @@ -2088,6 +2088,8 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *picture, if (s->apply_trc_type != AVCOL_TRC_UNSPECIFIED) avctx->color_trc = s->apply_trc_type; + else if (s->gamma > 0.9999f && s->gamma < 1.0001f) + avctx->color_trc = AVCOL_TRC_LINEAR; switch (s->compression) { case EXR_RAW: