From patchwork Wed Sep 18 07:10:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wang, Fei W" X-Patchwork-Id: 51641 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:d32e:0:b0:48e:c0f8:d0de with SMTP id cf14csp728020vqb; Wed, 18 Sep 2024 00:09:01 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVU6CTJEIdKogQVtdP8W5kcMQKpeoFuLRPxKvYJdqmmLrxr9BJYR5uzQOjGPB30LWD25YFg3QDAaywyjYpoXaa+@gmail.com X-Google-Smtp-Source: AGHT+IEhkfBMoLUpXeGyyrMf7GHZX7Hu9DAMBBFxzKWn4Vnxy3nrhYfFVvbicECOoNvi6af4RAOj X-Received: by 2002:a05:6512:1384:b0:52c:e17c:3741 with SMTP id 2adb3069b0e04-53678fab507mr11218246e87.5.1726643340900; Wed, 18 Sep 2024 00:09:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1726643340; cv=none; d=google.com; s=arc-20240605; b=jitRL6MMlqdXTPjhoo+AFuWnRYittakqyvrpr4N8v0KtflNAO/1w3inx4FppqRYy6H ayJyhvMDQZCTsEtRkYZSeeJQHVPq2xevnRDxOAwWVVHGKK2+PrgkFh+vMC2V2Mxch7F4 fyobpL5J0vKrplc6X4zS6RUVZ8oSDrdTDIJW3MRLZ95r2tv0Ml8x4Mk68YuC+JRwhqVx tyk90jhHgHNcV3ou0GFTEA7r8QlLR4Mm03dEYtbzC3bsftR1ilZQd6qd/9IscxwPxH4o uuc6KcFECycphBjjWDbmFTrzcyzeVRbheo4RKXKnKfMQmJGUO0NgiO7tYYd/UtI4KWOP jsIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; 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=y9mrtX53xd7GFYQNIHk5/Yb6TDat2Y+Kqtsq5t9f8Iw=; fh=i4ESP4ZRFDcfYfwXKWpOXjc2YhmIGuOsCfZUnwNO0gc=; b=EhorGFbhnjmbT49+8lxVak5nr28UHENtLMEMEv1lGKNfFvzz+Ma3uCvGuFHU6qwR4c xoatm8hA8k9Nwuu1cvufJh7LXm0PG1B7BP97XXZlW65h7Pn9Ufmz7ZyCjGpjrwLdgi6e qBZ3dW1XIwn02lewE9LdEwIFPNW50FAY3tR1SQL1mhrAqEXMS774kp30l6WT6VYy2aF9 g3LgG8X/peYE5Y1EhSFs8GTgtne8k/yo8O2uZMtIFlH04eHBSiGASDH9f/knOxp1a56T 0QhnTr6A6tTlYKX9/NLfdWHJMmhCXyWHOT8S2XVXXmll30uq2DFAKY5PU1DlWwlmg1w4 zNoQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b="HDZjcm1/"; 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 a640c23a62f3a-a9061372305si624257866b.964.2024.09.18.00.09.00; Wed, 18 Sep 2024 00:09:00 -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=@intel.com header.s=Intel header.b="HDZjcm1/"; 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 183BE68DD03; Wed, 18 Sep 2024 10:08:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7965B68DCD0 for ; Wed, 18 Sep 2024 10:08:17 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1726643301; x=1758179301; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OpueBZvL9uNLjMhSx9MOQ3o7NNOTIuc4hTlWZeUYt2Q=; b=HDZjcm1/TDbyUPTk9pIkM/RsZizmpYBybNq8TLNn3VTznI5s//3xDMoe zPyfaauXYKEWpETxNvbgbunWaNV2vC9jvdG1BjOhgMFiTD9UpZ5zW0LWg YHjeEUBwAa/vkyzSUEcPg28kDBaOVBdmTEfFTgv4SwKSMVMbSLyb1IAUR D1QP3kbxUbwBNpyou9KPLFh2AqAGRnH+GdSyp0DXUZeZhurLy1Jqpzxpd YKuALzwZZhbEAiQzBZw/ON/vwCwHggu8i62SAkAtRaun82jaeiiiD9GMk Lp8DdSGccsKNQNlBMem1RTPc5RF4E500IaHyAY5RRFMtcH4JKecXSdx3K w==; X-CSE-ConnectionGUID: ETA6QBjLSdux9SmGO7VHAA== X-CSE-MsgGUID: LfnFGRmJQqCt2bXPWQ1qCg== X-IronPort-AV: E=McAfee;i="6700,10204,11198"; a="25695728" X-IronPort-AV: E=Sophos;i="6.10,238,1719903600"; d="scan'208";a="25695728" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2024 00:08:12 -0700 X-CSE-ConnectionGUID: AUEQB396SlmK1SzgVijaBw== X-CSE-MsgGUID: bQnFhuuFTg+zBxp3QeVr/Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,238,1719903600"; d="scan'208";a="69452273" Received: from feiwan1-desk3.sh.intel.com ([10.238.208.39]) by orviesa009.jf.intel.com with ESMTP; 18 Sep 2024 00:08:11 -0700 From: fei.w.wang-at-intel.com@ffmpeg.org To: ffmpeg-devel@ffmpeg.org Date: Wed, 18 Sep 2024 15:10:29 +0800 Message-Id: <20240918071031.1377336-6-fei.w.wang@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240918071031.1377336-1-fei.w.wang@intel.com> References: <20240918071031.1377336-1-fei.w.wang@intel.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 6/8] lavc/vvc_ps: Add alf raw syntax into VVCALF 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: fei.w.wang@intel.com Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: FrxMUimSAXNO From: Fei Wang Signed-off-by: Fei Wang --- libavcodec/vvc/ps.c | 10 +++++++++- libavcodec/vvc/ps.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/libavcodec/vvc/ps.c b/libavcodec/vvc/ps.c index ff9a6c7a15..f32f1cc5a1 100644 --- a/libavcodec/vvc/ps.c +++ b/libavcodec/vvc/ps.c @@ -1043,13 +1043,21 @@ static void alf_derive(VVCALF *alf, const H266RawAPS *aps) alf_cc(alf, aps); } +static void alf_free(FFRefStructOpaque unused, void *obj) +{ + VVCALF *alf = obj; + + ff_refstruct_unref(&alf->r); +} + static int aps_decode_alf(const VVCALF **alf, const H266RawAPS *aps) { - VVCALF *a = ff_refstruct_allocz(sizeof(*a)); + VVCALF *a = ff_refstruct_alloc_ext(sizeof(*a), 0, NULL, alf_free); if (!a) return AVERROR(ENOMEM); alf_derive(a, aps); + ff_refstruct_replace(&a->r, aps); ff_refstruct_replace(alf, a); ff_refstruct_unref(&a); diff --git a/libavcodec/vvc/ps.h b/libavcodec/vvc/ps.h index 9203e2c57f..3ec2238c17 100644 --- a/libavcodec/vvc/ps.h +++ b/libavcodec/vvc/ps.h @@ -169,6 +169,7 @@ typedef struct VVCPH { #define ALF_NUM_COEFF_CC 7 typedef struct VVCALF { + const H266RawAPS *r; int16_t luma_coeff [ALF_NUM_FILTERS_LUMA][ALF_NUM_COEFF_LUMA]; uint8_t luma_clip_idx [ALF_NUM_FILTERS_LUMA][ALF_NUM_COEFF_LUMA];