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 17EA74CDE9 for ; Wed, 14 May 2025 13:41:49 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8409A68C5E5; Wed, 14 May 2025 16:40:59 +0300 (EEST) Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5A14868C58A for ; Wed, 14 May 2025 16:40:54 +0300 (EEST) Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-7376dd56f8fso8713704b3a.2 for ; Wed, 14 May 2025 06:40:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747230052; x=1747834852; 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=GIlN2o2o9rw94kB9nDNx8Pen+3yy72NTSAjI3MFaIwLWncOwVWuugoSOCWpnzk6Rpo 5kvustPTurxNLjZXi0OVGg7OgdVVy6B61CDmoZhoDXVlxmB421uRFwUb0whcXBp07mF2 ulnOyfLBAzEXJPfQGLLPXojg58prVGAiP7t+7toOLe5clpjzvzMN2aIjupQqx45x18zi 1J1dNrlHcaKEAyKLboeHocm6bJaWukHwO/2CrSKrV6IyQ49gk11tIVdM+25lGooAYH9t gzl/e3mKCZ0Vo3AwdHfdt8Zk4fHkcBChMwJjJEJHyRySlZUe+QK/TpjypSu6MFnDcaU0 LnGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747230052; x=1747834852; 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=H/eBHQaVXwDPaaa35kGYBhlV2tziUVer6CGbcVDppBzppA/qQ2kyArMGBVcv55kqhd 2j/FgBBmk/VuK5uvvQbPZ1lfhjP2XzmnOUPoxKJjgJodwjrkUF5SeboN/A0PUVcPmtjs 40JYEhaRhs1mgZm9y1vmSrgUP/5+3a10HIsaVk0hBvS551YaQUnMMamu5a1tz7z5uxX2 kJZ3UiG3ErSYkqV0hXjS5YDf9vXgfD+UZaEEPFYb8PO5ILWksB1SJCH23ngIM9VgLy6H 5LpPK9FJs/eYQKNnDsWIlpArBWA953IRiwgmU+yiGshNimHRKPoHhwUAgES8F5tA2h7Y bkUw== X-Gm-Message-State: AOJu0YyM8eFUdT8YTt14WgfGubifuFen9tq2nRtSYusuz7pCGNhz0i7j dLGuHCrv2IoQ4BDwaseDdbvUkNcS6JXTXvEkZ2NNR5JC0Jsc6PkD8qfAr23d X-Gm-Gg: ASbGncu+412MBwp1vgGa1F42lrG8dI55meCJuwGc1cHk4v4ZWLbFwHpbW8MDwKyECqQ 7fki5ABnUCzgZgp0mCPXX52bvOuDc5oTRx5GWgh3b4qARoiHdIFqL9ZA2spPzR4Q6tKIHBGmqUg FGmiNO4FnlSOsAAYv9+8Ouw7nzNGh/FptabHTZ/LjJX4Xj3PYh6ECsXFOuYOcNHQfhb4gODmqDl E9K+8PETmJeuuZxxSc5/+TELYj+eSPgrEWGdyqw7B0d0vB1+VzMHv/pLeAJas94Og7WJAmCK2/p wU/uMUL9NSziJyFME3/1DRnbIlcqBmEKL88g4TSndEX9uEA/SiU09Ao0sBO13LvTA4mq/Xfg+MR /fqupZdw= X-Google-Smtp-Source: AGHT+IFlgFRLI7Vlu38/r75B6hH9fQAKmj+Hvj15PmwuvoVRq/m7GOxHBOc852cp9Lc4GmKw3amdBA== X-Received: by 2002:a05:6a20:3ca1:b0:1f5:8b9b:ab54 with SMTP id adf61e73a8af0-215ff11a582mr4779649637.23.1747230052403; Wed, 14 May 2025 06:40:52 -0700 (PDT) Received: from localhost.localdomain ([124.79.129.75]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-74237a8f7edsm9310669b3a.167.2025.05.14.06.40.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 May 2025 06:40:52 -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:15 +0800 Message-ID: <20250514134031.1584-8-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 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".