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 ESMTP id 5D4634B2FB for ; Mon, 3 Jun 2024 13:08:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4C92768D6A1; Mon, 3 Jun 2024 16:08:08 +0300 (EEST) Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01olkn2108.outbound.protection.outlook.com [40.92.107.108]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 59E9968D68D for ; Mon, 3 Jun 2024 16:08:01 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jog5Rg9khyl8dDZCh0vdgkCi4ElMb4KO0AocDnncF1uOBHEHo4ujmQy1t4C71/033wEEEwfdoqPO0ZpZ1A7hFQr6406kXC44J/3fue+VkXoBi9jTA34BYtI5+aUmsGQ0SjNfYe+YuuLj/3Fv9Njl4MOQMNGUzYk6KXoYUzXbJIwyohsg+hOAqN1BSAYj3+xvFVFLJOSV6deGGvLIG6yk5Mv3QKPXR6C6eLtjD0/cGFOitE5zacjkDPowMH/rXyzmEBME4W9emaQe+k/Q+Gn6M3FHxoS1UItR7CfUcFxtXd+roVwrTb89US4Bn2NDTy9JuSZvbQmEI97eEVTKtGy8kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mRTms3vDlp//iHJMJwmjjO6Q6Tpfjxc/VH6xBUnWDAg=; b=dDQLTpNydcscKo8CslKPIIAc91/njYpL8l/PdIc9KG80owFIcsDiI5hgrwFJlexkRtZKkvJsUbzeYy0pm5sDk5uj4kxUd8zmCmWlK9kXG5bdcNMfdJkxxYgzKW+Lg0KrJETpPiyPwZLwLFENpMP5JlL3ypUi2U4SaYOAjn/z7E4XWWqobtdshq7JFOZVb14E61DyW+y+7zXwVhV//buLLe7kp+9pAl6CO8igcYVM384whwKLLPNocGQVHIynig61KC4D4HHb9L/KKZrY1+q585ruJE2rZFYZ8hfFYsnih3pbW9Ml6qrhGgZ9aFXBKHYLAl5SbLcZK7JwFi3jjn8ZZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mRTms3vDlp//iHJMJwmjjO6Q6Tpfjxc/VH6xBUnWDAg=; b=gtKCIqwW4lSwKszktyY0HdDVEZdKBhiq2dybnSWid5Xn2PULC2XHqS/WkcECDA75AKvM0V3dvTFG3aOadNLd3RY/7fkkxyFmpUcMh059aoR1yQdV0cj6OvWqP5y40hwQy/7xvWGhaxos7VbEaOMExtwPJuyhNRSsrHQVQkrdYdw/NA0OpATg/tiJKcsSg591f2IGYfY5hZrUSn4pBJBRTJo3LLEzx9CD9x5dpDuLxJAX/1+bbJhf+GaVmRH8FK+igdJhKb8grIDDtJN3BVhyEqLSlI+My7pjMeAYSOXjulPN46+TMebzUoO0t+5qH88byDdRp8rbZx33hULOplPyrQ== Received: from TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) by TYUPR06MB5978.apcprd06.prod.outlook.com (2603:1096:400:358::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.23; Mon, 3 Jun 2024 12:52:08 +0000 Received: from TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::81f7:9125:583a:1cca]) by TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::81f7:9125:583a:1cca%4]) with mapi id 15.20.7633.021; Mon, 3 Jun 2024 12:52:08 +0000 From: Nuo Mi To: ffmpeg-devel@ffmpeg.org Date: Mon, 3 Jun 2024 20:51:13 +0800 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240603125117.10791-1-nuomi2021@gmail.com> References: <20240603125117.10791-1-nuomi2021@gmail.com> X-TMN: [4ejmrgrJiM6f1p89MExieZx52TJEsInS] X-ClientProxiedBy: SG2PR04CA0170.apcprd04.prod.outlook.com (2603:1096:4::32) To TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) X-Microsoft-Original-Message-ID: <20240603125117.10791-2-nuomi2021@gmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 2 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYSPR06MB6433:EE_|TYUPR06MB5978:EE_ X-MS-Office365-Filtering-Correlation-Id: 8fbabf43-5b3a-4caf-d161-08dc83cbfa47 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|3412199016|440099019|1710799017; X-Microsoft-Antispam-Message-Info: J0XCYQgMIC5ij3Jvx+RtX7xb81FEY5loLBYJmIYnU+CaQnmZX/qFCvoVCpp8QOw60dJKVMb3SZ0FYNWhv/XnUuc8iZkVlCIXv76jibMgNcF+m0dLSEXBcaQoayav9naj45sYMTtqmwjPnz3TRyT3kxMYYVZWYeWh6y4KZPsDrbWWeajJ2G0x7I6Kn/0g0THaiSphUZV6Z2J+6015Ar3mTX5c9/1P0/JX+vJ3tSWRjEDnGcmv4ftrOa5OY9Iy4lJA/ny/Y0XcJwJotBrd0l9ToA7lWC8CkoCxXmGvoaFrpm0jYIP5AGZnir7OAXtJ+3A2ZNai7u5ytx3c/z+pt1lwmojGsjgjB2liykC0agtJ51seWVTcsRE2Rxf52VgBlEq8VupdbxxeCJILtFWFBcfoQkQum+GsUGQVzLne2H9qXF4XXPLKATkMRrhF8ZfnmWZOJaWL1HUJqh7LOUSDnUgvIkLQt40ORugS5figh/PuJUOu/9Q0mVV7F5uimCcODXVELDWhq+3VkN5ctYfgGWwDR7IOtOqKAKpcTSHGfHJWFENK3IJLJ9qtwdVbWr2GTER4pRplEPqCVLOpSbIxe8s5uZEZ1zgfe4bY0Mk6S+U2vE4jiGEshdo40aQFoFArf9eL X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WmhOz9W6iaR0mYUhPuxfv3OktUGUI46WhK/xxckACMiAqSYvMjEuJwoi6Gkq?= =?us-ascii?Q?gqJvueTDCbNuVTRaF8ss+IpMwzs9sU2ioa5PXnuNKC1c7j2vLnAuVaSI/Fu3?= =?us-ascii?Q?kDJIJMcS8rnS4ieRJanzSsSi8836OIB/Ewl5mIhcqI6lRetIoV5k+e7bJR/b?= =?us-ascii?Q?aYyV6Ep6WJkqHb5YU87vFd9rt5fglk+e/So6sDAQk5//ISgb48JGrfq7GgxU?= =?us-ascii?Q?zOLmJPpATN0GrDjrLpw20AgPpMp38r4rjhgH08s3/ec1U5azs5dJ6pZgBwZu?= =?us-ascii?Q?XKQGFxCx1o1blSrpoRGeNnMRnXGglwPa9GUN/jBfvwxKGH/WfibjtSAnxhnN?= =?us-ascii?Q?HzYuokr9kBg51u9V5G52I6tzBfJm+2pY6L0OGRs07SccLbiGmICTLzx7dLlP?= =?us-ascii?Q?34jWidD2PKw4rlblrgQyLv5c2k9kLtZnSj+ZxRUrxQeZuScCiOBHpCC5zVDk?= =?us-ascii?Q?g9L1npJcmUxxcaj+I8LZGu0AkP9OefKiHjacWIJEEOqsrPXQ167JssNZdZwB?= =?us-ascii?Q?p2htCLxqeA/XpMlPuE4uyDdIThdrKCW17UuIcOkA9TDoPP5oIQTfbUwre2ci?= =?us-ascii?Q?PMkFnEYLH/GsH1fLzMK5RtI6yw4+euVE1dfEv2mBEfc4MhQ0EuJ55diXP/1n?= =?us-ascii?Q?zCXL9pTjWH8jP5lMettx2uuPqMHdLUAhE79pStejrExGBa4hY8qwee8Mtz5l?= =?us-ascii?Q?Nzh7ivGxEDbsiyrtat8KnE1D1YfwrPtM/XDFJMHEqZ5M3THxphtKw44lGbOE?= =?us-ascii?Q?aPe76FaUynWyJj6OfH4nfuom6bnc+F1vwyEHFJhLm02mv1TF8NKjIQfYAu/f?= =?us-ascii?Q?qKxNpaZrJOYN0hHTiZ/QEGnj5gmbATvfbLV0ednnjP4oUFGIxoR9LdR9A5f4?= =?us-ascii?Q?WH9i3/Lg2UFtA2/yfvOTVk1Hxirovh93aknp2NsVHaswWvM0WL2OO9LOP1wm?= =?us-ascii?Q?RfmmFmVaxLQHrp9YSX9oylGBjSuzDGDHY4Kclr1ZvgEeglWySC52skerTXl9?= =?us-ascii?Q?rd3lGyo+9tDfnCQ+RkzgcRuKN/HtsmnsQWEBAAIgUTFiVkBDqxH2hq20nd5N?= =?us-ascii?Q?IwQkhEtfjx2txTEdTV+YXrsv8laRSfGMjz5tluGqRLKZszFEF1mmYVAa4Iy4?= =?us-ascii?Q?uruMNU3fXneGhzaaAtoT2U60dhB6W05EejXsX+xDHWkTOFIyhSMMe3TAsdrP?= =?us-ascii?Q?aFTcW5x+NfeqtVcxeeOrXEM149Nwmq83hKSmh5WP4O6S9LSvWU1RCdew7qod?= =?us-ascii?Q?A4YkV4+vsHQopvDJ6KNJfGTso9spjlpq1KXhiiVsSg=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8fbabf43-5b3a-4caf-d161-08dc83cbfa47 X-MS-Exchange-CrossTenant-AuthSource: TYSPR06MB6433.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2024 12:52:08.1733 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR06MB5978 Subject: [FFmpeg-devel] [PATCH 2/5] avcodec/vvcdec: misc, move src offset inside emulated_edge 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: benjamin.bross@hhi.fraunhofer.de, Nuo Mi 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: --- libavcodec/vvc/inter.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/libavcodec/vvc/inter.c b/libavcodec/vvc/inter.c index 0843c99eb6..07b55c4bac 100644 --- a/libavcodec/vvc/inter.c +++ b/libavcodec/vvc/inter.c @@ -57,6 +57,8 @@ static void emulated_edge(const VVCLocalContext *lc, uint8_t *dst, const int dmvr_clip = x_sb != x_off || y_sb != y_off; int pic_width, pic_height; + *src += y_off * *src_stride + (x_off * (1 << fc->ps.sps->pixel_shift)); + subpic_offset(&x_off, &y_off, sps, pps, subpic_idx, is_chroma); subpic_offset(&x_sb, &y_sb, sps, pps, subpic_idx, is_chroma); subpic_width_height(&pic_width, &pic_height, sps, pps, subpic_idx, is_chroma); @@ -170,7 +172,6 @@ static void mc(VVCLocalContext *lc, int16_t *dst, const VVCFrame *ref, const Mv x_off += mv->x >> (4 + hs); y_off += mv->y >> (4 + vs); - src += y_off * src_stride + (x_off * (1 << fc->ps.sps->pixel_shift)); MC_EMULATED_EDGE(lc->edge_emu_buffer, &src, &src_stride, x_off, y_off); fc->vvcdsp.inter.put[is_chroma][idx][!!my][!!mx](dst, src, src_stride, block_h, hf, vf, block_w); @@ -199,7 +200,6 @@ static void mc_uni(VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride x_off += mv->x >> (4 + hs); y_off += mv->y >> (4 + vs); - src += y_off * src_stride + (x_off * (1 << fc->ps.sps->pixel_shift)); MC_EMULATED_EDGE(lc->edge_emu_buffer, &src, &src_stride, x_off, y_off); if (derive_weight_uni(&denom, &wx, &ox, lc, mvf, c_idx)) { @@ -236,7 +236,7 @@ static void mc_bi(VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst_stride, const int oy = y_off + (mv->y >> (4 + vs)); const VVCFrame *ref = refs[i]; ptrdiff_t src_stride = ref->frame->linesize[c_idx]; - const uint8_t *src = ref->frame->data[c_idx] + oy * src_stride + (ox * (1 << fc->ps.sps->pixel_shift)); + const uint8_t *src = ref->frame->data[c_idx]; const int8_t *hf = INTER_FILTER(hpel_if_idx, mx); const int8_t *vf = INTER_FILTER(hpel_if_idx, my); @@ -306,7 +306,6 @@ static void scaled_ref_pos_and_step(const VVCLocalContext *lc, const VVCRefPic * static void emulated_edge_scaled(VVCLocalContext *lc, const uint8_t **src, ptrdiff_t *src_stride, int *src_height, const VVCFrame *ref, const int x, const int y, const int dx, const int dy, const int w, const int h, const int is_chroma) { - const VVCFrameContext *fc = lc->fc; const int x_off = SCALED_INT(x); const int y_off = SCALED_INT(y); const int x_end = SCALED_INT(x + w * dx); @@ -316,8 +315,6 @@ static void emulated_edge_scaled(VVCLocalContext *lc, const uint8_t **src, ptrdi const int block_w = x_end - x_off + (x_end == x_last); const int block_h = *src_height = y_end - y_off + (y_end == y_last); - *src += y_off * *src_stride + (x_off * (1 << fc->ps.sps->pixel_shift)); - MC_EMULATED_EDGE(lc->edge_emu_buffer, src, src_stride, x_off, y_off); } @@ -414,7 +411,6 @@ static void luma_prof_uni(VVCLocalContext *lc, uint8_t *dst, const ptrdiff_t dst x_off += mv->x >> 4; y_off += mv->y >> 4; - src += y_off * src_stride + (x_off * (1 << fc->ps.sps->pixel_shift)); MC_EMULATED_EDGE(lc->edge_emu_buffer, &src, &src_stride, x_off, y_off); if (cb_prof_flag) { @@ -444,8 +440,8 @@ static void luma_prof(VVCLocalContext *lc, int16_t *dst, const VVCFrame *ref, const int idx = av_log2(block_w) - 1; const int is_chroma = 0; uint16_t *prof_tmp = lc->tmp2 + PROF_TEMP_OFFSET; - ptrdiff_t src_stride = ref->frame->linesize[0]; - const uint8_t *src = ref->frame->data[0] + oy * src_stride + (ox * (1 << fc->ps.sps->pixel_shift)); + ptrdiff_t src_stride = ref->frame->linesize[LUMA]; + const uint8_t *src = ref->frame->data[LUMA]; const int8_t *hf = ff_vvc_inter_luma_filters[VVC_INTER_LUMA_FILTER_TYPE_AFFINE][mx]; const int8_t *vf = ff_vvc_inter_luma_filters[VVC_INTER_LUMA_FILTER_TYPE_AFFINE][my]; @@ -704,7 +700,7 @@ static void dmvr_mv_refine(VVCLocalContext *lc, MvField *mvf, MvField *orig_mv, const int oy = y_off + (mv->y >> 4) - sr_range; const VVCFrame *ref = refs[i]; ptrdiff_t src_stride = ref->frame->linesize[LUMA]; - const uint8_t *src = ref->frame->data[LUMA] + oy * src_stride + (ox * (1 << fc->ps.sps->pixel_shift)); + const uint8_t *src = ref->frame->data[LUMA]; MC_EMULATED_EDGE_BILINEAR(lc->edge_emu_buffer, &src, &src_stride, ox, oy); fc->vvcdsp.inter.dmvr[!!my][!!mx](tmp[i], src, src_stride, pred_h, mx, my, pred_w); } -- 2.34.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".