From patchwork Wed Jun 7 21:50:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vittorio Giovara X-Patchwork-Id: 3865 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.10.2 with SMTP id 2csp2564295vsk; Wed, 7 Jun 2017 14:58:22 -0700 (PDT) X-Received: by 10.28.67.130 with SMTP id q124mr1122223wma.17.1496872701871; Wed, 07 Jun 2017 14:58:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1496872701; cv=none; d=google.com; s=arc-20160816; b=iHpgOf2r5XD0QAQfwZC/URJUwL21CkJhXegR6XISNTT1AVyxToHvyvc+jxx/9si7NN s3mNPGsyhyPFSzAYEhhGwpYQKIaL6SPFYXGuwiLbVbqfmCWwN8Wi/xMzK0KETjZ+nBac mGXH1tdrp+PoMGwWYaf+VeBuNxwDL7IMvpdDIbmHrvCEtuLskIrl0NLd8qwrBCGrYjXf A8E3WhEqgYi2DMtJAfs7BdhLC+/FfAauBGFWlSBlONufXKVwVn1NUIHkZQY4eSmVh3ij BKVAt4PE+bBsooYvKK21Qdsj94bnSZB5jI7YX6c8kHd+sgjdAPrB+JjDNzF2HYruOybb zPCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=Ee+tNrJ7f2tdwMJoutE6BRU9QC1GvdHAoTqPqCBWOf8=; b=1GWjWYgbwqBr7nwYE7xpz7J9Pb4W64EaXBIaRZwXI2Seq+0YbXsEUHNShFhw0SgHX6 vjgS9ZOnCafGYhaHBJFuo1A5N/F4yOLnyxpIn8im0ve6IPOiISDrKD5kLbM4+Wf2HjEZ aLvEPnZQ90uDLLnU2qrQIMaa7svOdzJdqYu6NHafTalJL7SUWzH0p76pO0zv7BK+Ytx2 smbwv7xJ+yCE/HfoVCtWOLPzrvNZmxtZzWS/xutOUSEVuN1DahBE2qwfDdFrVsni3a/Z mBFA+lJfjV/Fb0ks5yWLUB/Iy0NHEu7EF+D5LhUTpdUnhaJGFDDX6IV8a2+cO5Tp0/CM snsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com; 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=NONE 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 x7si3147244wrd.117.2017.06.07.14.58.21; Wed, 07 Jun 2017 14:58: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; 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=NONE 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 B7631689BC5; Thu, 8 Jun 2017 00:58:18 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f193.google.com (mail-qt0-f193.google.com [209.85.216.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E5D166882E2 for ; Thu, 8 Jun 2017 00:58:11 +0300 (EEST) Received: by mail-qt0-f193.google.com with SMTP id o21so4219005qtb.1 for ; Wed, 07 Jun 2017 14:58:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=gY93bbajSxBukUiX5ME2gkF0/JrROOJUOGPExGm7tsw=; b=LYcq5JhiomXBYiWVYTzEPd50BN3ahlcOOpsL4jZVGjs+5YXSJgVOweT5mowm75znEb aSJub0dgX/3x0gzcP5Yv9HiOb+QhNBWkw0Il20sfQg+FJhL5A4qSGVmD0yDyIKzxbKZc KOGE7WJxhmv2QZCQTabLwCVmNQ/8FFnrwXRv6Tza+ptMLWcJOl0SgjLNL17IjmtQoxDt tSKJrceW5exinp4l6jBQJVwzLqV0FUMgbymOVg+ey6tFDr0PxNZWs4bPm/1qVkE1/t5d S9tPdWzO2RAVGjSXe2W0yQ4lb10+lNIFck2xebMe1X+vlomq9bfB/oHq3+VJZ4nXgoF1 4+Dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=gY93bbajSxBukUiX5ME2gkF0/JrROOJUOGPExGm7tsw=; b=BzTmWGR4rB/7ufyyKaZPqiEhDcqijVQ2yUA/XjQUvU5dbz1rcr2sqJIkklARNIAMGW sdGcK2snzGpwk3csFW5E8bBMo8XJx/d3ojXCnWUHd+7pTq7aeiRbENcA/2+xkV87sUft DwzD2sgsKkSzbmHx9GL/xmGd8EwWq2lv2+S4XXZiKOpMKGyjyOtbqWDUBh+Sj7qa0tMl xpWPQVVFocMgj7pZrQnvh7SaKGrUE0m5QUUw+mvifpNlN4dbfttFhvlyrfZdZx9Tnc+7 1+bzcYQic65H5k3/PjTMOrWXRrO700Z6xnQ7TiLwMpL+PJ/7H1koqTmyN7CY6/3yiTvw tZPA== X-Gm-Message-State: AODbwcD1nZYjd+qk+zudJgoJe+59ZJilDADGRRpPAQ0E9T2lc1hhiVkK gYMRt/BZqTPK1z4A X-Received: by 10.237.32.176 with SMTP id 45mr42915158qtb.30.1496872222937; Wed, 07 Jun 2017 14:50:22 -0700 (PDT) Received: from vimacbookpro.vimeows.com ([8.40.92.161]) by smtp.gmail.com with ESMTPSA id p52sm1859562qtb.69.2017.06.07.14.50.21 for (version=TLS1 cipher=AES128-SHA bits=128/128); Wed, 07 Jun 2017 14:50:22 -0700 (PDT) From: Vittorio Giovara To: ffmpeg-devel@ffmpeg.org Date: Wed, 7 Jun 2017 17:50:21 -0400 Message-Id: <20170607215021.10425-1-vittorio.giovara@gmail.com> X-Mailer: git-send-email 2.12.0 Subject: [FFmpeg-devel] [PATCH] vf_colorspace: Add support for smpte248 color primaries X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- I don't have a sample for this, but I used the values found in mpv (and I find the source very reliable about this). Vittorio libavfilter/vf_colorspace.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavfilter/vf_colorspace.c b/libavfilter/vf_colorspace.c index 0b1bc81f99..91fa4461f5 100644 --- a/libavfilter/vf_colorspace.c +++ b/libavfilter/vf_colorspace.c @@ -57,6 +57,7 @@ enum Whitepoint { WP_D65, WP_C, WP_DCI, + WP_E, WP_NB, }; @@ -281,6 +282,7 @@ static const struct WhitepointCoefficients whitepoint_coefficients[WP_NB] = { [WP_D65] = { 0.3127, 0.3290 }, [WP_C] = { 0.3100, 0.3160 }, [WP_DCI] = { 0.3140, 0.3510 }, + [WP_E] = { 1/3.0f, 1/3.0f }, }; static const struct ColorPrimaries color_primaries[AVCOL_PRI_NB] = { @@ -289,6 +291,7 @@ static const struct ColorPrimaries color_primaries[AVCOL_PRI_NB] = { [AVCOL_PRI_BT470BG] = { WP_D65, 0.640, 0.330, 0.290, 0.600, 0.150, 0.060,}, [AVCOL_PRI_SMPTE170M] = { WP_D65, 0.630, 0.340, 0.310, 0.595, 0.155, 0.070 }, [AVCOL_PRI_SMPTE240M] = { WP_D65, 0.630, 0.340, 0.310, 0.595, 0.155, 0.070 }, + [AVCOL_PRI_SMPTE428] = { WP_E, 0.735, 0.265, 0.274, 0.718, 0.167, 0.009 }, [AVCOL_PRI_SMPTE431] = { WP_DCI, 0.680, 0.320, 0.265, 0.690, 0.150, 0.060 }, [AVCOL_PRI_SMPTE432] = { WP_D65, 0.680, 0.320, 0.265, 0.690, 0.150, 0.060 }, [AVCOL_PRI_FILM] = { WP_C, 0.681, 0.319, 0.243, 0.692, 0.145, 0.049 }, @@ -1104,6 +1107,7 @@ static const AVOption colorspace_options[] = { ENUM("bt470bg", AVCOL_PRI_BT470BG, "prm"), ENUM("smpte170m", AVCOL_PRI_SMPTE170M, "prm"), ENUM("smpte240m", AVCOL_PRI_SMPTE240M, "prm"), + ENUM("smpte248", AVCOL_PRI_SMPTE428, "prm"), ENUM("film", AVCOL_PRI_FILM, "prm"), ENUM("smpte431", AVCOL_PRI_SMPTE431, "prm"), ENUM("smpte432", AVCOL_PRI_SMPTE432, "prm"), @@ -1119,6 +1123,7 @@ static const AVOption colorspace_options[] = { ENUM("gamma28", AVCOL_TRC_GAMMA28, "trc"), ENUM("smpte170m", AVCOL_TRC_SMPTE170M, "trc"), ENUM("smpte240m", AVCOL_TRC_SMPTE240M, "trc"), + ENUM("smpte428", AVCOL_TRC_SMPTE428, "trc"), ENUM("srgb", AVCOL_TRC_IEC61966_2_1, "trc"), ENUM("iec61966-2-1", AVCOL_TRC_IEC61966_2_1, "trc"), ENUM("xvycc", AVCOL_TRC_IEC61966_2_4, "trc"),