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 2BDF34BA81 for ; Thu, 1 May 2025 14:47:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 91DA268BBEB; Thu, 1 May 2025 17:44:15 +0300 (EEST) Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BB0AB68BA2A for ; Thu, 1 May 2025 17:44:08 +0300 (EEST) Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-7394945d37eso952581b3a.3 for ; Thu, 01 May 2025 07:44:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746110647; x=1746715447; 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=eqwAxDa9UmhQywDPEpwTMuCZPesrBP9jnflAthlMv1S686x7lQjE09Utwd1/xAlvLe t94QzHiZPwMXzdQrbeEa28ySZghOqfg/1LxchPvcSod2ualaLdVcM3Ybu6Sycmt60+8Z OPoUTofTEOWpuV7skH++UE2lob90XZva/s6O0LXQl2l/MK9TWEa/QEGetGPm61a7HW0l CFwt7TZpcbKAQVHDAAr2i/9T5VjsRDgErL3gopheWKCsM6t0OH5kNL9Zo6NY5yZWhAWF eYX9q/xIVzTke6gGNsRaMr4aHqUctWcPsSi8DnDn47tzN3SfWjBT3UC9BtbpprhSCaEm 923A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746110647; x=1746715447; 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=IfZgmqqYiloWKg1cJrzBwJiuTYoGfhGY9VHSh/ZR8XoxIc4xmmJFGDbT7fEZxY4feh H2h7BygVD1vnxmfSdngBqEDkCmNTyC0qA3BFNEyowcePcbpha1/ivr4kAFegHw8Qh9Zd iVXIr7wVC+S/aPI8VoA4wV5bvcKzK9HQ2g2oZpvQQhulEapiW62ZMRHFD1dwWrrX4zho hX/7DJPdLD70eKpGVcOm9KtxgzDaA+IlDUxwtJnFd5zWOreacddAQWS+0FxrzqSQaE83 mNx8aidF7V/5TyNNolA+susUJVP85QDBj7g9Pum0oZiiKPq3yHf0Q+eTOOtmHMZQg0J6 eW0A== X-Gm-Message-State: AOJu0YyO4faewhGOMJ8xLy8ShO3FnV6JDDrDpSmN+M0cf7h3Yv0I3INS x1LK5iZPhTQjdDDkonesbka6Gg4XadO8vVvDAYKPqjZq+tMdXKVQ6JWdgA== X-Gm-Gg: ASbGncsqfy6trSst0cNVf5PretF98ib3BFEQSWfzebeKYnLTu1UwTrkq3Ffi6eSLS4I q4unNVZmQ8NIaFX/G1iodHjpVJVG93UU3Aw8Kxki6DRQAHX8wVr/yMD6wV+0ucqy6FPqki1Glou UH0MOMtfnx4yy9cNJK/GCWiBX7WiRylH65ufD3blw/fQw9U8mg/MNB67fmH0Anm66JHIR4ZAYgh DUBMu+xg/IOv0mFaXUTlx9IKsbM0uQEPuLxwPIff7XEoqboiG3D3rJOsXSOCiDQB84oo43NvaHF u8ZiIE7icHwJi4jlJHGj00XYertVblOvkWahCfmzP9lHOFYGm/GT5DbMTHMKUQ== X-Google-Smtp-Source: AGHT+IHPuOMz8h6rQuLFZ+cl6UEmUlLhkHHI8Z5DPAPUM+W7XkDCKbrYeI2asKmdGr4e+EvjjIRQzQ== X-Received: by 2002:a05:6a21:398f:b0:1f5:97c3:41b9 with SMTP id adf61e73a8af0-20ba6a2019cmr4852385637.5.1746110646744; Thu, 01 May 2025 07:44:06 -0700 (PDT) Received: from localhost.localdomain ([124.79.129.75]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b1f9d4b68e8sm807271a12.27.2025.05.01.07.44.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:44:06 -0700 (PDT) From: toqsxw@gmail.com X-Google-Original-From: toqsxw@outlook.com To: ffmpeg-devel@ffmpeg.org Date: Thu, 1 May 2025 22:43:15 +0800 Message-ID: <20250501144324.958-17-toqsxw@outlook.com> X-Mailer: git-send-email 2.44.0.windows.1 In-Reply-To: <20250501144324.958-1-toqsxw@outlook.com> References: <20250501144324.958-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".