From patchwork Mon Mar 18 16:54:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 47188 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:958e:b0:1a3:31a3:7958 with SMTP id iu14csp1140107pzb; Mon, 18 Mar 2024 09:58:30 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVmF7cHap84qd4tL96XJXA3v1pQcHXrJQR2os5d9RLuCOyWifpaj3h+wC7YEcZVSDQrq5E2RNmaqzdnYMAaUHsTlPFdu3YYxOD2Mw== X-Google-Smtp-Source: AGHT+IH8L5eYuQojnQFFEuzcRI4BTvFJBSG+AVaz74tgefbZSI5yWfHLPzEKoXCs2Xx5ncTDyowB X-Received: by 2002:a17:906:cf8b:b0:a46:13a9:6dc0 with SMTP id um11-20020a170906cf8b00b00a4613a96dc0mr8544846ejb.64.1710781110548; Mon, 18 Mar 2024 09:58:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1710781110; cv=none; d=google.com; s=arc-20160816; b=h5PeT5yAfI4xHmmO8wL3Kscs1MgRs+07afhQQ/li6pxxMhovtAc3Gd3i+q+RfMnK7j GW5d0yFSBSxTCigd2KMuEX4F73I2KM7HUOdKzC1If3QrGNQmx7pxayTrnoCLzMSOzsJm +1YlFELOR7ww5Rv38wnUEds5lGWC4vIpgkUrHCLrixsww26+yGOBdXztUqAuhZql8ZBb FPnc30ybnkkz0SyqqrjYwfv9d+x7qrAyfHCi/wrKOGMHrr1iWoz3dGVEbwR7Jh51aC1n +rDVZJpEWqUn1n43auC57oOESbG8/Zd8uKOYK5iCfJWXT5kFuFowcOzG2P2pd2UjIr7P Yyew== 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:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=N4LvG7B30ZI19QSYcESDnpqvIzzXHeBn/qZplZZwUfA=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=0krqJt6wH/A/UR8au+x/YlMSZyYf5DjvW8q6zwaOBZ8QTsHxnxUEva5Ib9Jy+QR00G sQFZWXx8xzz9NQ1BUuwlEm/DG2d8B2sBLJ/EORz9oc3IeGeSx7ccdyeUE7fL2N6VfK6H XJx9S5vibrviO64/QSDRo/hgiEbIO6j/KxAF+5Q56hMeD9C2Hjjsori47gBBSJoFgKKT 9UP9gwSyhMEYOu5KFzkHTBhTN2zTyS0NGxwWfBOggl6kUeJ+fw7DBo+cMqpLpdP8AGAP jpNoYpabKRYnLiF5Xe3dCYkRvBpu+T9yhqk4MbDF15GjFaWg8N4xaoxcG0v6o9/BtRmC deXQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=Q8vWtnHW; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i6-20020a170906264600b00a3e68c15801si4622667ejc.776.2024.03.18.09.58.30; Mon, 18 Mar 2024 09:58:30 -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=@haasn.xyz header.s=mail header.b=Q8vWtnHW; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EFF0D68D376; Mon, 18 Mar 2024 18:57:14 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0FAE568D33C for ; Mon, 18 Mar 2024 18:57:03 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1710781018; bh=TEjM9gfe0ZRROjeHJPqm9AiLZynOPGwotGCGZk7giCw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Q8vWtnHW+YPTv+IhndKF5K7zuJIBz76DGZetShfMoZmdizcYPJqL15SC2rKN88YJJ fWSI+AMlEMaaoUuNuLY05XnCCxTOC41cMTDRBQVzW0J83DkAZjFYLh4zEIkIf9DScJ +ozJJgcrxRDzoPFDNXN3PIpm1rMoSpYFeNHTO/ig= Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 599DA4357A; Mon, 18 Mar 2024 17:56:58 +0100 (CET) From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Mon, 18 Mar 2024 17:54:14 +0100 Message-ID: <20240318165651.75520-7-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240318165651.75520-1-ffmpeg@haasn.xyz> References: <20240318165651.75520-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 06/13] avcodec/av1dec: signal new AVFilmGrainParams members 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: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 6jdmp2CgndlU From: Niklas Haas Not directly signalled by AV1, but we should still set this accordingly so that users will know what the original intended video characteristics and chroma resolution were. --- libavcodec/av1dec.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c index e6346b51dbe..56e4af278be 100644 --- a/libavcodec/av1dec.c +++ b/libavcodec/av1dec.c @@ -1072,9 +1072,11 @@ static int export_film_grain(AVCodecContext *avctx, AVFrame *frame) { AV1DecContext *s = avctx->priv_data; const AV1RawFilmGrainParams *film_grain = &s->cur_frame.film_grain; + const AVPixFmtDescriptor *pixdesc = av_pix_fmt_desc_get(frame->format); AVFilmGrainParams *fgp; AVFilmGrainAOMParams *aom; + av_assert0(pixdesc); if (!film_grain->apply_grain) return 0; @@ -1084,6 +1086,14 @@ static int export_film_grain(AVCodecContext *avctx, AVFrame *frame) fgp->type = AV_FILM_GRAIN_PARAMS_AV1; fgp->seed = film_grain->grain_seed; + fgp->width = frame->width; + fgp->height = frame->height; + fgp->color_range = frame->color_range; + fgp->color_primaries = frame->color_primaries; + fgp->color_trc = frame->color_trc; + fgp->color_space = frame->colorspace; + fgp->subsampling_x = pixdesc->log2_chroma_w; + fgp->subsampling_y = pixdesc->log2_chroma_h; aom = &fgp->codec.aom; aom->chroma_scaling_from_luma = film_grain->chroma_scaling_from_luma;