From patchwork Fri May 20 15:53:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Izen X-Patchwork-Id: 34717 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:9992:b0:82:461d:f3b with SMTP id ve18csp667185pzb; Fri, 20 May 2022 08:53:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwiu2Q5odmfT7wxuMihnQIDRlLm3a7Ri1KTTfSCr7UPixDHoSTR6Z2H1liot1nUfdjppvgo X-Received: by 2002:aa7:c393:0:b0:42a:c225:7f2c with SMTP id k19-20020aa7c393000000b0042ac2257f2cmr11910137edq.383.1653062029972; Fri, 20 May 2022 08:53:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653062029; cv=none; d=google.com; s=arc-20160816; b=YBctHuuNjnxhDrfssEpyi5cxgLFb4RvrzjKJmXk6dBOPRCuZvFM9Ir6wfXBGMfJvvM R1PPVHIh/21oSrnOAW9K8XbXY6Ax9wsmfPAOXGaRed0rLTK817eHrXmVsilCMjUIMAK9 uAsTl9z1nfmDZwx/eQXxR6qxLEqYlfTwYMNEeScV+n5rqO9aejV41LhXBEI0rcuHEXep AU0QVy8tIJ7Slkk0scOoR1MfVYk7m1O/jcysQ0zSEoSG2wyuPe2rXUcNgL0yt5qJPL9t MJFqpav6ymmqNWUk8p8O1qg8b/DYJSigzRCe9L2FqGAFZX8xmU8zfunjCzUfWKtEmjD8 XymA== 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=nHLcmUg4G1neDkw/i743uqqmduWNdJDOcATS7jzpa/I=; b=GTpy0KlVD+UEM5BO0zKRCbL1Vyx6BD+uH17fzMqpidj77gJA2fMBLn4qES8GTzg33B 5Iiqsy0oydgvVk0BEMWs+BA0/66agPo6R9/Uurvc3Nu26dxcsabsiVRTAYvphHe+o1t+ 5zfuappKQjIBHUqNFKkLgge5ELLqPOktO2nvepI5ES9SFEh7bwvxXVTMlJLIMBzRkCxq 91W+UapSzjlil/lJvqHKwCPnUlGrfjxN9T9lcVojjDHIRk+2030/Y1gxn1giZl71555G zOAF2uoQK8g+Eg3/dICe46GD3r9vEvccgiflJqrct2VQ1gy+fmlEJK4PeRmoYhMC3+Pe cBPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=I8nKUpiP; 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 r5-20020a056402018500b0042aca1d821csi7296198edv.419.2022.05.20.08.53.49; Fri, 20 May 2022 08:53:49 -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=20210112 header.b=I8nKUpiP; 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 042A668B48A; Fri, 20 May 2022 18:53:47 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk1-f175.google.com (mail-qk1-f175.google.com [209.85.222.175]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9800168B3FA for ; Fri, 20 May 2022 18:53:40 +0300 (EEST) Received: by mail-qk1-f175.google.com with SMTP id t2so2971072qkb.12 for ; Fri, 20 May 2022 08:53:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=hO5FsSkK1B6RMlmGf2ceOjuNHjM/qlJG9mTTV+mPSMA=; b=I8nKUpiP35rIvkMVN4P6rh9MZH8/cDefjU2WaCC+8icFfcNCv7mt18L10CpR8Qo6s4 LLROJuBKYjK4TqD9A6qbbKBDo+fu0sMJ4yr6QaPAD2a9sHGYdpPoDoAkhtKMEa/YJJ2v kXLJpZ6pmaUxEZeaNqRoHfvkVWMPwXE43KxebEqVuENeA+vXk4oE0Da+ATM6g/yqw44+ fMP8lNwnVKKFChmZ+aueXbsjNTodvjScMQ+h/vi300PEyvDlqO7pGgDauKd1giSUOeab /1MZ/n6FOrkTthzKWnKO3bgVuVAJ1Y/lcXIgtoWe7TAbLnPs4nBRzsH07+8RbD2Mjxiq ZUsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=hO5FsSkK1B6RMlmGf2ceOjuNHjM/qlJG9mTTV+mPSMA=; b=i9n5Tij4ifO4eMB0hOMZ2Poezuc4sIP1ppyuF7wnifw5xM9qm2fXJN4/vP7yyhpgwq e7SJ33aGrW9vRr5Fs/VJ6ezQhMSIOGs+wBXwwNC2Lp3T7NcQqxiZ319F4uKpSlJkLlt1 a8Wj5NYuer6VBiZ+PsFFC8uywaIUOczM4YZW0LhYX3xGNiNlixOZR4sJqYU3n75XKRrU 0T38QFD5zmmkdHqOjlluAh2tyxbScal3WMwaCbDRC3tHaFUNqZmGjH1i7ayWJ0kBTnSB cSi246Nl4gMu8ecZqrATXUad2BocCxmccPo1+bqqgtiUi0r87FeDpO7vZluRG3o2DbRW /Ing== X-Gm-Message-State: AOAM531LZmpX8l/cYMxP4fXL7XJSlT7cu18JH+5NTUT3lCYoDogRxtQL Ozj1TymAUrN9ILRevzIyR94haNYZd/g= X-Received: by 2002:a05:620a:1a08:b0:6a0:1c06:d601 with SMTP id bk8-20020a05620a1a0800b006a01c06d601mr6656626qkb.416.1653062019209; Fri, 20 May 2022 08:53:39 -0700 (PDT) Received: from gauss.local (c-68-41-54-207.hsd1.mi.comcast.net. [68.41.54.207]) by smtp.gmail.com with ESMTPSA id g23-20020ac84817000000b002f9220448fdsm623764qtq.26.2022.05.20.08.53.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 May 2022 08:53:38 -0700 (PDT) From: Leo Izen To: ffmpeg-devel@ffmpeg.org Date: Fri, 20 May 2022 11:53:12 -0400 Message-Id: <20220520155313.171100-1-leo.izen@gmail.com> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 0/1] [WIP] avutil/csp changes 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: 00zBNsAR6492 This patch is a work in progress example for swapping these structs from doubles to AVRationals. There's two main discussions here to be had - Is this API to be exposed as avpriv_ or av_? - Should these structs use AVRational or double values? I don't believe a consensus has been reached on this yet, but I've attached an AVRational version of it so we can see the pros/cons. Leo Izen (1): avutil/csp: create public API for colorspace structs libavfilter/colorspace.c | 143 ++++++++---------------------------- libavfilter/colorspace.h | 31 +------- libavfilter/fflcms2.c | 25 ++++--- libavfilter/fflcms2.h | 4 +- libavfilter/vf_colorspace.c | 37 +++++----- libavfilter/vf_iccdetect.c | 5 +- libavfilter/vf_tonemap.c | 17 +---- libavutil/Makefile | 2 + libavutil/csp.c | 121 ++++++++++++++++++++++++++++++ libavutil/csp.h | 49 ++++++++++++ libavutil/version.h | 4 +- 11 files changed, 250 insertions(+), 188 deletions(-) create mode 100644 libavutil/csp.c create mode 100644 libavutil/csp.h