From patchwork Tue Nov 5 02:31:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 16105 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 06B7744A829 for ; Tue, 5 Nov 2019 04:32:05 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D0E3568AE82; Tue, 5 Nov 2019 04:32:04 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 21EEE68A148 for ; Tue, 5 Nov 2019 04:31:58 +0200 (EET) Received: by mail-pl1-f195.google.com with SMTP id y24so8609604plr.12 for ; Mon, 04 Nov 2019 18:31:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=QrFq28J2Zy7ayw6Jn6DsMMzYQolrN+67GtpTVWB218c=; b=YxJhFLvf2tBdRRQU4ReEpmBBuqZiM9Hx/D1unPVma1WeeIap2YcFeSiRBipcTNRS0l iUU/IKkuCrpjdD07cgKekec65YFeH2LhCWazq6dJTjmC4Z95HJ5siuZuTF1at9NCQUv6 jN3+u+11k3Agbgc6Nm9hFuOSfsvNYGjEShWHk0etb50VOSzUwkNiVHAL3C9ixrLZP5ZX dzl53Fik/QIPG6csAnzh+NQVSzx1oRv8Nqx9whcPBft75QiX9wotCHcMGBHKrJEsmIr+ 0VubelcBAMl2PWh/ODNDTvWt/tp5lfvT60gZtu00JgIIG/pQKYUOVSo3n6/4Mxcy6fYC vofg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=QrFq28J2Zy7ayw6Jn6DsMMzYQolrN+67GtpTVWB218c=; b=WNeVsom3rm729ts8u3ICyGn/AkoIU9BAUcY4Kgl5qJ//Jukh59e7KenjJfgX5Q+xkk 1CUisyFL5hPiELdcUKsN2T/uQJJAapGGWJ3jft8lPqZoo2O10XE/sf7VR/EGCy6sPBYA v59fdFxJppDkEugfn+NFkvt/HE2KOoEA+1pR7CAabFfI1ugSVv7aNtRG/NgOFLEg5mG0 Jjqdglm4ER6ZsyQ8bH+F87qCCFBANr72lbn3KO43wbMQrU493c6GrI5U9LlNSDfe9gka XEZId2BRTmqmYQXqbfC29GrKEMIo66dFlNTUCvK3RjQZmPcASq9p14gxbcbZ4AuQLP1j n/nA== X-Gm-Message-State: APjAAAWMbAbRpLcfKdIkBE+sR5+KwhqnAQKpyVqZQspA//07ULmYu4Sp lzVm50pDg/YNqQ9OIkoTIH1i0KhwDIg= X-Google-Smtp-Source: APXvYqw+9qlrTgnBMiZsYmhfMx+5F2AT1EnziD5e14SMPV1ej9jkG2P+nWtIj2watheh5Z1LXbhSJg== X-Received: by 2002:a17:902:6909:: with SMTP id j9mr28556189plk.276.1572921116007; Mon, 04 Nov 2019 18:31:56 -0800 (PST) Received: from vpn.localdomain ([47.90.99.151]) by smtp.gmail.com with ESMTPSA id c3sm3569640pfi.91.2019.11.04.18.31.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Nov 2019 18:31:55 -0800 (PST) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Tue, 5 Nov 2019 10:31:51 +0800 Message-Id: <20191105023151.28113-1-lance.lmwang@gmail.com> X-Mailer: git-send-email 2.9.5 In-Reply-To: <20191104111001.6426-1-lance.lmwang@gmail.com> References: <20191104111001.6426-1-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v1 4/4] avcodec/proresenc_anatoliy: support for more color matrix for proresenc 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 Cc: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Please tested with below command: ./ffmpeg -i ../fate-suite/mpeg2/t.mpg -c:v prores_aw -color_primaries bt2020 -colorspace bt2020_ncl -color_trc smpte2084 -an output.mov mediainfo outout.mov ... Color primaries : BT.2020 Transfer characteristics : PQ Matrix coefficients : BT.2020 non-constant ./ffmpeg -i ../fate-suite/mpeg2/t.mpg -c:v prores_aw -color_primaries bt2020 -colorspace bt2020_ncl -color_trc arib-std-b67 -an output.mov mediainfo outout.mov ... Color primaries : BT.2020 Transfer characteristics : HLG Matrix coefficients : BT.2020 non-constant Signed-off-by: Limin Wang --- libavcodec/proresenc_anatoliy.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c index 0fc79fc1de..81365c528c 100644 --- a/libavcodec/proresenc_anatoliy.c +++ b/libavcodec/proresenc_anatoliy.c @@ -55,7 +55,8 @@ static const int bitrate_table[6] = { 1000, 2100, 3500, 5400, 7000, 10000}; static const int valid_primaries[9] = { AVCOL_PRI_RESERVED0, AVCOL_PRI_BT709, AVCOL_PRI_UNSPECIFIED, AVCOL_PRI_BT470BG, AVCOL_PRI_SMPTE170M, AVCOL_PRI_BT2020, AVCOL_PRI_SMPTE431, AVCOL_PRI_SMPTE432,INT_MAX }; -static const int valid_trc[4] = { AVCOL_TRC_RESERVED0, AVCOL_TRC_BT709, AVCOL_TRC_UNSPECIFIED, INT_MAX }; +static const int valid_trc[6] = { AVCOL_TRC_RESERVED0, AVCOL_TRC_BT709, AVCOL_TRC_UNSPECIFIED, AVCOL_TRC_SMPTE2084, + AVCOL_TRC_ARIB_STD_B67, INT_MAX }; static const int valid_colorspace[5] = { AVCOL_SPC_BT709, AVCOL_SPC_UNSPECIFIED, AVCOL_SPC_SMPTE170M, AVCOL_SPC_BT2020_NCL, INT_MAX }; @@ -757,9 +758,9 @@ static int prores_encode_frame(AVCodecContext *avctx, AVPacket *pkt, *buf++ = frame_flags; *buf++ = 0; /* reserved */ /* only write color properties, if valid value. set to unspecified otherwise */ - *buf++ = ff_int_from_list_or_default(avctx, "frame color primaries", pict->color_primaries, valid_primaries, 0); - *buf++ = ff_int_from_list_or_default(avctx, "frame color trc", pict->color_trc, valid_trc, 0); - *buf++ = ff_int_from_list_or_default(avctx, "frame colorspace", pict->colorspace, valid_colorspace, 0); + *buf++ = ff_int_from_list_or_default(avctx, "frame color primaries", avctx->color_primaries, valid_primaries, 0); + *buf++ = ff_int_from_list_or_default(avctx, "frame color trc", avctx->color_trc, valid_trc, 0); + *buf++ = ff_int_from_list_or_default(avctx, "frame colorspace", avctx->colorspace, valid_colorspace, 0); if (avctx->profile >= FF_PROFILE_PRORES_4444) { if (avctx->pix_fmt == AV_PIX_FMT_YUV444P10) { *buf++ = 0xA0;/* src b64a and no alpha */