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 E7A194B878 for ; Thu, 1 May 2025 14:44:56 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1900E68B709; Thu, 1 May 2025 17:43:56 +0300 (EEST) Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4BD8268B6AC for ; Thu, 1 May 2025 17:43:53 +0300 (EEST) Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-b0b2d1f2845so740608a12.3 for ; Thu, 01 May 2025 07:43:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746110631; x=1746715431; 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=2mkPbKBm70NtRgwfRB8uLXmcV4roPzZco+d3bAY6mcU=; b=H5gyLus8tevPt08P60Gj4sIegRxbMpesy+u3eFIXCzxFbNMPUr+HrpupCh1Xn8mkRe UruI4gHpZkvstbaXfTIDGoyMzzK+5z0Ig1Dt3GxukrlOpvnesyktZm/7QQXKTuExz+zi zyAmVC6RgXywoLOQlZsBLri8W8hWGv39sdP7bovABDXhYHDYBXHg7DAf4LO6p/a8sWhy BWzEV6TnqPnRyCYWE2I/C3E6Fzk9ylGsL+bey4C73jBrMwcZg2ZBwxxe/j5CRwbSUkmA v5ka3FYPBQoHQ7Q2jV4kaL3igWkvJay+nG2AXMQZUiG7IkS0WTiXWuIAZrR8OAkBanci 7jPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746110631; x=1746715431; 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=2mkPbKBm70NtRgwfRB8uLXmcV4roPzZco+d3bAY6mcU=; b=H2O4QX9TbdAlK95xjAVqZGSxmWW7R8JXF+bPdcZtW3xXvXJcPwsxxlAp7Q1JTTkSoY 4O6szDG9N4avlSwOubj36C55fRqmd22FkVayroFVDHHRJi1BpHH5Fi6nXMQF1OjiB108 8V48uyjyY+Qd2btciyT6eFDDrokOjNXb2/NgzdZ/7tc+xhhh/FRd2oa1MiqTZ/ikPoNH HHHfSAw70AbWCb9bOoE7DyWHnp0B3aElAMa/2bXphu11EAAI18yBYKWtS43f0tjyIsVY Y+CAYEuEHZvetU1gnYLUrzN2P1YzdO2yTvwUdkaOH+wma4XcFj0bE3NusHBH6PHwlYpu 1kpw== X-Gm-Message-State: AOJu0YxNyNiwuHdnekVH93M5JsbZ2UrSmmAD0Geeq94ZVp8holYwpuma SpoH4e2Pk3t/ww7sb3LpFRJe0ypYY5lmhzfyZh++sQ99fm5bZLd9sXIMGg== X-Gm-Gg: ASbGncv+MjfIcpkzYmlCfnPQL3gcMBdOawoM24+iY9m3yaA+gFiB2hJUuIVjpz/agd9 V0WOtIcs6+tWQCdarEKoavSGGNwEHS8Xs28mj9bbPbIa/PUO71K5KMxRUzX7SrTgV6ZZDMl2pga rIHjc6SrYrVsG2bOjpP0c/4HXKgnZhXrOXVTDOtWzd0VpOffQPLA8obCfGji5N2SjMiieuvWvVC ZRYk5Jbw1MyAXEAD1XREAByFWaD9QbMCuxQuL3W9gVy4nZqTtqdAEhg4pzkfCvvwPS3DBT1TflB YoLDM7bAfQMVifafHaK6R2ahYxTc3ROQyfeqK0TpL75MIUEZT9nPVigoK5L+NA== X-Google-Smtp-Source: AGHT+IFavyPysdJuEuT7yr0YpKprXS3095RIQlnDFGEfcgyUUb2+CZSGj4szFYBz3wsVoR4jdxEm1g== X-Received: by 2002:a05:6a20:d499:b0:1f3:3ca3:8216 with SMTP id adf61e73a8af0-20bd6848b1dmr3539452637.5.1746110631215; Thu, 01 May 2025 07:43:51 -0700 (PDT) Received: from localhost.localdomain ([124.79.129.75]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b1f9d4b68e8sm807271a12.27.2025.05.01.07.43.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 May 2025 07:43:50 -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:06 +0800 Message-ID: <20250501144324.958-8-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 08/23] avcodec/vvc/ctu: refact out intra_data 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 Signed-off-by: Wu Jianhua --- libavcodec/vvc/ctu.c | 64 +++++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 24 deletions(-) diff --git a/libavcodec/vvc/ctu.c b/libavcodec/vvc/ctu.c index f77697af08..c5df898f7b 100644 --- a/libavcodec/vvc/ctu.c +++ b/libavcodec/vvc/ctu.c @@ -1805,6 +1805,37 @@ static int inter_data(VVCLocalContext *lc) return ret; } +static int intra_data(VVCLocalContext *lc) +{ + const VVCFrameContext *fc = lc->fc; + const VVCSPS *sps = lc->fc->ps.sps; + const CodingUnit *cu = lc->cu; + const VVCTreeType tree_type = cu->tree_type; + const bool pred_mode_plt_flag = cu->pred_mode == MODE_PLT; + int ret = 0; + + if (tree_type == SINGLE_TREE || tree_type == DUAL_TREE_LUMA) { + if (pred_mode_plt_flag) { + avpriv_report_missing_feature(fc->log_ctx, "Palette"); + return AVERROR_PATCHWELCOME; + } else { + intra_luma_pred_modes(lc); + ff_vvc_set_intra_mvf(lc, false, PF_INTRA, cu->ciip_flag); + } + } + if ((tree_type == SINGLE_TREE || tree_type == DUAL_TREE_CHROMA) && sps->r->sps_chroma_format_idc) { + if (pred_mode_plt_flag && tree_type == DUAL_TREE_CHROMA) { + avpriv_report_missing_feature(fc->log_ctx, "Palette"); + return AVERROR_PATCHWELCOME; + } else if (!pred_mode_plt_flag) { + if (!cu->act_enabled_flag) + intra_chroma_pred_modes(lc); + } + } + + return ret; +} + static int hls_coding_unit(VVCLocalContext *lc, int x0, int y0, int cb_width, int cb_height, int cqt_depth, const VVCTreeType tree_type, VVCModeType mode_type) { @@ -1815,7 +1846,7 @@ static int hls_coding_unit(VVCLocalContext *lc, int x0, int y0, int cb_width, in const int vs = sps->vshift[CHROMA]; const int is_128 = cb_width > 64 || cb_height > 64; int pred_mode_plt_flag = 0; - int ret; + int ret = 0; CodingUnit *cu = add_cu(lc, x0, y0, cb_width, cb_height, cqt_depth, tree_type); @@ -1842,29 +1873,14 @@ static int hls_coding_unit(VVCLocalContext *lc, int x0, int y0, int cb_width, in avpriv_report_missing_feature(fc->log_ctx, "Adaptive Color Transform"); return AVERROR_PATCHWELCOME; } - if (cu->pred_mode == MODE_INTRA || cu->pred_mode == MODE_PLT) { - if (tree_type == SINGLE_TREE || tree_type == DUAL_TREE_LUMA) { - if (pred_mode_plt_flag) { - avpriv_report_missing_feature(fc->log_ctx, "Palette"); - return AVERROR_PATCHWELCOME; - } else { - intra_luma_pred_modes(lc); - ff_vvc_set_intra_mvf(lc, false, PF_INTRA, cu->ciip_flag); - } - } - if ((tree_type == SINGLE_TREE || tree_type == DUAL_TREE_CHROMA) && sps->r->sps_chroma_format_idc) { - if (pred_mode_plt_flag && tree_type == DUAL_TREE_CHROMA) { - avpriv_report_missing_feature(fc->log_ctx, "Palette"); - return AVERROR_PATCHWELCOME; - } else if (!pred_mode_plt_flag) { - if (!cu->act_enabled_flag) - intra_chroma_pred_modes(lc); - } - } - } else if (tree_type != DUAL_TREE_CHROMA) { /* MODE_INTER or MODE_IBC */ - if ((ret = inter_data(lc)) < 0) - return ret; - } + if (cu->pred_mode == MODE_INTRA || cu->pred_mode == MODE_PLT) + ret = intra_data(lc); + else if (tree_type != DUAL_TREE_CHROMA) /* MODE_INTER or MODE_IBC */ + ret = inter_data(lc); + + if (ret < 0) + return ret; + if (cu->pred_mode != MODE_INTRA && !pred_mode_plt_flag && !lc->cu->pu.general_merge_flag) cu->coded_flag = ff_vvc_cu_coded_flag(lc); else -- 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".