From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 933D34EE9A for ; Wed, 14 May 2025 13:44:04 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0B52868C770; Wed, 14 May 2025 16:41:19 +0300 (EEST) Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4ACB868C6A6 for ; Wed, 14 May 2025 16:41:10 +0300 (EEST) Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-74068f95d9fso6325979b3a.0 for ; Wed, 14 May 2025 06:41:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747230068; x=1747834868; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DXFUefNoNTLT0CVMrEP7569XhYmi6PJBkN4GrB9hkUI=; b=WFGV0IX1m+YWYQr9KoB7gfmkjjrSCGHbSlI2Y1Z0HH45KqSoUphTLEn1Gwewmw0PRU Jub0Qo0xax5DSzsv0D/9++SChG3zLP7IX4CNrl2fiUrl0jd4OoZ7qdDoDF59YTPJcWxY wxdTonKeXuz7JjaMvNIgezSPp3COt9Wy7KPQpkQkVICn1dbHplbBRIWTHBohyXy6PngM fWTDY8uHRpdzO+xZC7BdJpXICyXGYj+Wac+X418WRfTLradXetRrDsZNx4KWYCIaUGcV SydIcwgTCcmPTZxNxR66g45vEkmo9yU3R8a9oIJCnllPrivzPYELruSw6w00tvjkZZEU YMEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747230068; x=1747834868; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DXFUefNoNTLT0CVMrEP7569XhYmi6PJBkN4GrB9hkUI=; b=aKK5HAg/4+KffOfm9Tuc3c8Kh+3VwuoZz0c2c5ugxR2Equ0UfUbd0wNzHbyEsIPuJE XXHswgNxv25HWWoo3zN7pkL+cAWvrfHPrL6X5kw5I4UlwiSKIu6wDBtnsj0T4mEM/n3N S90EUxB5/xS5dCJNAe7cbocvjJ8is7P/N5XNKr8uJBIvp/wymPfy7tQDAlRVeti2nnY+ oP3rzIyiQEXpjVCAK0p6qBcMO4kOQpD5otK3tF2FWGuNFcLgR8XuKklYZDOwsfXHE5x4 zZ0nNTRSVrLuHMlMfAOwq6zaEXCHGiCQk+4TpSrygO/PzJmM9CqvkScdGUGPGNoBS2iB 0w7A== X-Gm-Message-State: AOJu0YyktPrV6VWSR+gTAhJedPt0wddOvgthZHMJfQK4SqLn8U0vXUuT Lwxq6kMJe1S39PAvlFsaTt3Hrfm5QdyIItxwxBa2zxuk60UGo7w4eIFc1Axh X-Gm-Gg: ASbGncumNQXtANcErjY6xPRTIbLoFrcDV/QdyGI/UkxDtguf0+ABiR4X06pUFODUin5 RyLQ/vB7Otn4Coh39hilcTzriNV06E34iQcLk3YnlOaPCS4gOyh0kn+7hDuoRfKWW6A8VsgaMOv goS8STdtiPc5n5JgXGXUoWEl9BmlK7Fg7jKGDeGlkReUkTk05a4xvjuLKaoWlDLn/tA0nH2hPmN +e5Mf/L1o7SkDOOqqYk1JYQjlSdNsR3j8+wpcDaf3ZKRqrTXhpUJVk3Co61BwdRGNg6ycpclxPX kj+wIrJthUVRWmgqulYFCiMR3DOEQzh5kpUtNBBwrEJyIcpd40+wtNQOxSMWp4Fxtujsaqvq X-Google-Smtp-Source: AGHT+IGt0rrK1QSRVsr5yXueSe1iwiZS2lqek7EYPjoavqzJ1G77UoOYFbSuBjhvDmaGEA7/DUyh7A== X-Received: by 2002:a05:6a20:3ca1:b0:20a:53e7:4a44 with SMTP id adf61e73a8af0-215ff11a695mr4842145637.19.1747230068426; Wed, 14 May 2025 06:41:08 -0700 (PDT) Received: from localhost.localdomain ([124.79.129.75]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74237a8f7edsm9310669b3a.167.2025.05.14.06.41.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 06:41:08 -0700 (PDT) From: toqsxw@gmail.com X-Google-Original-From: toqsxw@outlook.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 14 May 2025 21:40:24 +0800 Message-ID: <20250514134031.1584-17-toqsxw@outlook.com> X-Mailer: git-send-email 2.44.0.windows.1 In-Reply-To: <20250514134031.1584-1-toqsxw@outlook.com> References: <20250514134031.1584-1-toqsxw@outlook.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v1 17/23] avcodec/vvc/dsp: add adaptive_color_transform 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: Wu Jianhua Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Wu Jianhua See 8.7.4.6 Residual modification process for blocks using colour space conversion Signed-off-by: Wu Jianhua --- libavcodec/vvc/dsp.h | 2 ++ libavcodec/vvc/dsp_template.c | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/libavcodec/vvc/dsp.h b/libavcodec/vvc/dsp.h index 25b7755109..e9ef9f5b25 100644 --- a/libavcodec/vvc/dsp.h +++ b/libavcodec/vvc/dsp.h @@ -127,6 +127,8 @@ typedef struct VVCItxDSPContext { void (*itx[VVC_N_TX_TYPE][VVC_N_TX_SIZE])(int *coeffs, ptrdiff_t step, size_t nz); void (*transform_bdpcm)(int *coeffs, int width, int height, int vertical, int log2_transform_range); + + void (*adaptive_color_transform)(int *y, int *u, int *v, int width, int height); } VVCItxDSPContext; typedef struct VVCLMCSDSPContext { diff --git a/libavcodec/vvc/dsp_template.c b/libavcodec/vvc/dsp_template.c index c6dc6e22a7..218a600cce 100644 --- a/libavcodec/vvc/dsp_template.c +++ b/libavcodec/vvc/dsp_template.c @@ -91,6 +91,24 @@ static void FUNC(transform_bdpcm)(int *coeffs, const int width, const int height } } +// 8.7.4.6 Residual modification process for blocks using colour space conversion +static void FUNC(adaptive_color_transform)(int *y, int *u, int *v, const int width, const int height) +{ + const int size = width * height; + const int bits = BIT_DEPTH + 1; + + for (int i = 0; i < size; i++) { + const int y0 = av_clip_intp2(y[i], bits); + const int cg = av_clip_intp2(u[i], bits); + const int co = av_clip_intp2(v[i], bits); + const int t = y0 - (cg >> 1); + + y[i] = cg + t; + u[i] = t - (co >> 1); + v[i] = co + u[i]; + } +} + static void FUNC(ff_vvc_itx_dsp_init)(VVCItxDSPContext *const itx) { #define VVC_ITX(TYPE, type, s) \ @@ -112,6 +130,8 @@ static void FUNC(ff_vvc_itx_dsp_init)(VVCItxDSPContext *const itx) VVC_ITX_COMMON(DCT8, dct8) VVC_ITX_COMMON(DST7, dst7) + itx->adaptive_color_transform = FUNC(adaptive_color_transform); + #undef VVC_ITX #undef VVC_ITX_COMMON } -- 2.44.0.windows.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".