From patchwork Thu Mar 28 01:26: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: 47561 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9f96:b0:1a3:b6bb:3029 with SMTP id mm22csp1013663pzb; Wed, 27 Mar 2024 18:27:04 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCULDNBZhPsPfEd599JUGB4RNgSjbyI4hK+c4l9wKaISu2EShakPBjkOOyZCDE9g11xJMhJyNCXC8AekVaHtcuzpU2bZYr3+CqT9Iw== X-Google-Smtp-Source: AGHT+IEVanqFSKMjHA0sYRCDpZWgU6VzCHZIPR8rqY4B16jms+AvfEtkGK4YIyxINcjhN9ff4LYI X-Received: by 2002:a50:9b02:0:b0:56b:b0f9:b7fa with SMTP id o2-20020a509b02000000b0056bb0f9b7famr1026455edi.2.1711589224448; Wed, 27 Mar 2024 18:27:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1711589224; cv=none; d=google.com; s=arc-20160816; b=OlUqA2OKM2Va/fIDkF7DakVKDcyIGYKQcxg2mCKbPhQuGhKH67H8D/bAu9MGzYvlqK EaoCWBPOFvmxX80LYX6foDQzB8MGbDuIejUHZk7Xt+2C4Iqsmnr+Ec0orUZf5YGbe0lm dfxwgSoQFXykhO6sJlx9nUFGJJ2r8l74oR8DRT0J2ez7D3KB1cL+fpn1YrKyb4dY0QlH pFeEmKylHpw+r80GdNKgWsHC7eruiJnCNpR7Bjk1p2YEs44v8AojoG+tjJy8w+V+ZkP8 gyD8aKn293cnjP2gg7FdDxNnRxHPP3N65+g+MkF0MC7I3gs85E6V9hCEV3SBMcDeAVkf cLFQ== 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=aw1G7ImKelQaUCfSKZJcqTUUs+QRzrxY2OUDrUTNCAY=; fh=i4ESP4ZRFDcfYfwXKWpOXjc2YhmIGuOsCfZUnwNO0gc=; b=b6ZPEJ7fa7L9ymnzCOfZXMxM1ks5c3pcWEHkm9MGf/gR0W9UtR3QQYvghwCTJgQbxM hGyI4TLSy4aXEgKu/Avu1d2Way+3V6m5IDIzu4RYYa/6xbvUSXcJANDpDkXqVIOif17m so/+tTdE0Ob0UdehCON3fJ4FnT08v3HjxabmDHD/g7ND9HDhvaBMBksIWpaKx/kk8jY0 3uxw5Mo6XiamsaYsfH18rU+Z/VyAAyKcFkWW9keeVeN2LE2Hcg6zYL1+V4XqWNeMihSS 6NNHHp27xss4akUsbGLRZxYjUz3fhyQR8qJyElQDT152XoHwGzriQRLvZVjsoPTJWd/X fXKg==; 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=B+k7CT1m; 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 i24-20020a508718000000b0056bd00515ffsi206315edb.284.2024.03.27.18.27.04; Wed, 27 Mar 2024 18:27:04 -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=B+k7CT1m; 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 27F7B68D6E2; Thu, 28 Mar 2024 03:26:32 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 94AFB68D655 for ; Thu, 28 Mar 2024 03:26:23 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711589189; x=1743125189; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=zg9EDh8dnEU0ZLkLVWejkU5Kc9gwESHBaOfDjyHpzdk=; b=B+k7CT1mirQ/UQIlda7wT8LRIVLDpOH+G+Yq7+cnPqpGvV8QVeKkvvIR JKPQy4g3XoMdmUV8ickgTT1btGaW6Roi6UTIDpbKDnenGrHHxUQRawEje 5L+Vm8nrep0q8lo+42sIQnBezukq3ZLyYdXYFD9XEKwjkbmJxpivPeahj iNhY/6irIjDAhBVFVvq8Or3BfCKuagho2PApQtDP2Ze2Vc2dVm25DJUDH Tfrwrlj4WWeNzmNKAKoC+RKQGXOgbtmPdzGBpxUcTBVDBXtsp3+m6CpfL 71qgPYw8+icsDTCfGuc/e9isfK4X9ciajW6Q45BSW222/sSMNLt+efFmS Q==; X-CSE-ConnectionGUID: oKNR4uyBR164HxVNOnsnOg== X-CSE-MsgGUID: XKwxDpwWSQi7eUFs/MgbvQ== X-IronPort-AV: E=McAfee;i="6600,9927,11026"; a="7324917" X-IronPort-AV: E=Sophos;i="6.07,160,1708416000"; d="scan'208";a="7324917" Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Mar 2024 18:26:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,160,1708416000"; d="scan'208";a="20996878" Received: from t-dg2.sh.intel.com ([10.239.159.57]) by fmviesa003.fm.intel.com with ESMTP; 27 Mar 2024 18:26:16 -0700 From: fei.w.wang-at-intel.com@ffmpeg.org To: ffmpeg-devel@ffmpeg.org Date: Thu, 28 Mar 2024 09:26:29 +0800 Message-Id: <20240328012631.777476-5-fei.w.wang@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240328012631.777476-1-fei.w.wang@intel.com> References: <20240328012631.777476-1-fei.w.wang@intel.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v1 5/7] 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: 8M0cx7l7ghYQ From: Fei Wang Signed-off-by: Fei Wang --- libavcodec/vvc/vvc_ps.c | 10 +++++++++- libavcodec/vvc/vvc_ps.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/libavcodec/vvc/vvc_ps.c b/libavcodec/vvc/vvc_ps.c index 7972803da6..97eef85be9 100644 --- a/libavcodec/vvc/vvc_ps.c +++ b/libavcodec/vvc/vvc_ps.c @@ -873,13 +873,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/vvc_ps.h b/libavcodec/vvc/vvc_ps.h index 1164d0eab6..d306e0354a 100644 --- a/libavcodec/vvc/vvc_ps.h +++ b/libavcodec/vvc/vvc_ps.h @@ -159,6 +159,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];