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 ED25544620 for ; Mon, 19 Sep 2022 21:28:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id ADE9F68BA50; Tue, 20 Sep 2022 00:28:05 +0300 (EEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2057.outbound.protection.outlook.com [40.92.89.57]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A78B468B984 for ; Tue, 20 Sep 2022 00:27:59 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JKPFG4AD2QYxBjHseyz/zrExb3EB8S7nFPmjFLL5Q1dhc6oPndghMJp6uigXnukLN2qOkpyo52IEKuB0SU3VkhQqN8D9a2TriRZvyZ/DLx83x1NGvqqCObJFrGGMdlJMYkCd1OCfqueKyhwm+1lTF9NDgnvbCkeyQSm8/0iTgUKvuts4g7Xu0YAvLa+YmCK2N3ZNasD/eq53CN64L+1vlmZ5+1cl8Ge4BUBfX4JXUVGuAl3dlOenEFUVvyW66ERLhbGLStzE80ig0OByp93kzeByH5g9K2lLKB5S2nSkMFEn03q5crzYQGweC9YPgSriSR0hcVl/j+X8Js3pJwXdrA== 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=mjEWa3xnVzYvJNKA+nzJ62sApo2y/L+5hHCeOwpbIRE=; b=mmTNbioxyE4wnX8utPmkIbrzC2HQvuJZU4nEK9wRS8P/xFV8OpLzneWKCCa7g27odlJy9NqlNr1X8NBDWOXzjTUcvUJ0bi3EOaRbwKS3c55BqKDeXtvpRS5NeyNX3VA4iuR/SBLpPF3LDMFz3tbbjkotkFE7O6YUTibtz9a3CPEqjZ8bxBmxoBTp4yAQmvCvUVm+mvNJAvzcUsLVfCR+6WHjhZVI8uwyIkxRdNVb+plX1OoXuY4yi2qBZwsXWsA772a13jebfIf8O7iGhSvdVAH8KCZLOb1/u2zTHh6zgeAw2AvsC6MuB/RLhiPGgpQEvwJEIFIxsiXDeoT6lMq0/w== 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=mjEWa3xnVzYvJNKA+nzJ62sApo2y/L+5hHCeOwpbIRE=; b=cXp0Pm7iiBIr1BnrTlVG6n++hr5zn5/tgz6JlLuz2Y4soX8XI6tcUNTNhjfwpkl0csAbC2ay/tAzNKvjPsuX+xsSryZ33WfC137JoNfu+r2plVZh+bXOnG8m8zh1R0E1//UY0FuLL0e8m0njHQNMAgjcteA0qaGWplBcNUaI3KTiz7L8t3Veo6CbrOe7gixYrIjWqvqoIglFiFcd1OJ/Cup8HrGQYdTTB6k3bIdGWhQ6mbRK+Lsh3pOmzuxNX0SP8kcWpkfLm++wYvX4S7DsTqm49OQYMo9cHj0Y6hm0sbh7IaThQUtIiVT4Sk2wtSA85jXSLAmSBx8kKMBtRZ10cg== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS8P250MB0188.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37b::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.19; Mon, 19 Sep 2022 21:27:57 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::f3f2:4362:56:4785]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::f3f2:4362:56:4785%8]) with mapi id 15.20.5632.019; Mon, 19 Sep 2022 21:27:56 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Sep 2022 23:27:49 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [+/OrVcROs7hQzCJDZ2aTrlBql/dQx4XDRXhNEyGHAhA=] X-ClientProxiedBy: AS9PR06CA0385.eurprd06.prod.outlook.com (2603:10a6:20b:460::27) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20220919212752.2937794-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS8P250MB0188:EE_ X-MS-Office365-Filtering-Correlation-Id: c07da0cf-6965-48d7-f5e8-08da9a85d1d0 X-MS-Exchange-SLBlob-MailProps: EgT5Wr3QDKyNVnLBfCRsxcs8q+QOzp/w+Gg9TUMx4pNRxUV69/cxzFMndJIi1SwGSTo97+Xmb96B9MEMn6NnJtx27xhymWa8mFJVMwAkf14I65miWQEhCNnCIWLkzwcs/Ur40pWb2lOZBktrzkmyQ4csazNvOhcElk4aCvVgM7WOG068FeoL2qiCPAnZ0f8pmMU4Tx2HFV4lYwf8ZOvDRbQoC+2jfeO3510yOiA31BQ2kCpdlgjuo0gIQFbe0ppyfGiUcrsfHE6RH65Dv2Er77mosfxm5+LPfutRdJzM+Oy+tN/BDnGuluV5MTK6m85Mgu6tqDpsOFjBSHo+xjUWNlOyzRZO1e2Hpf7BtgzY7AmorL5rin9oclvSvUP7VN2nM8B/iMRni7HXVa3qY+i6q/LwLYYrbmxcdsF3NZgxsEPw5R9wa0qfZox1Vn6XTqhxo583QuxbiRI8BivGh1QCYErT+yRCFH/tC92ytg2JtFVBfl6nriUuw5F+LAIh3B+fM+vWRanmeNE1hy2W7C+sovqvvbO+VxZpXp9LK0vtaTmJPOS3cgcfK0rBJ1R64O+54VhHLhbr5HPm9UIoBeK3JyFeyxvgA1wykk/U44W/bOmcchaFJYZQkakiuD4agu+lpugasHLiD9eYVK3TQEgNywjwtC9k7XM4HW1dmfuofwG9mTfc3DgxBk0117KDwpcOypfYCSGcfXbvE1D68Z1tOtzqKPNUmxYV1dqzz5grg1Q= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6ebyKZLTFdm5pe5qOY/EVA5H4POvDVq2/P9KH8Zw2xTnyaHGUn8QZJgt9phVB1j1JgdubePk+Lcqp3lxwRJvTFIoXmdjIAV1s+a6NlPhEtX9n4Dq8wxVW953xf5TQAuHWIMw59sOSQYgv9TIFGtpRY539BqA5665QXVsLrP+asJxpxE8aAhVQKB6YGQpKYYC84JH+FPPJgNm0TlO1km9qC1KbgFHyDkNq8m9qEwGkJ8sCSdJRxCR87t9us7IL1VzMNynmkNGdzrSHno+wSco/3gBpVPg0hZtBqNdX+ufPQuFVSLgBiuGXkRv/H2O4ZQYJFZ1xqjwTryfwUkHz1cZP8CxH5UPsC1mychUbc1qpjTWx0WYI8gAjN2jkSFSLJITSTV+kbhsQmrpgPHvAJhpLPvH8tudB99VAmqFgpgQfCHfhnyv13w1qqlPwc4xleBJ8y7RAsCIAf+mSRKTnTSdKHr6BPA4w2nficyRecQjb/2zeRtjmDW418kjsD/yuWybrG0EClg4s0i0qjScnQar/O1rshPYJmE0ozBlYHRjGdCYm0rpGUBXfPZyNUH9gsIW7Bzs10svFLH3d1/FMEukT9xWLh2i3ElZqWv1sUCdb7lLt+QAnSjQL2pHYdT0EsmwzsPb+tozwUNIEel5ErN1gw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fSAs4TmW0zJiZhfdmegvwvPHiVlZRvRa0z/5roIRPQ4nhDVexBMQm6I42Kce?= =?us-ascii?Q?kZgmuAZ5cESrzfyvAsdCS+x5yTP3O2HbuMh4D60R7c/bWGatB6hp8K2Jv+BQ?= =?us-ascii?Q?EDMepGWPPS13uhuwBoBDZU774tPcfThrw71S1trnj5oh3sHka8wLMaB3uUxB?= =?us-ascii?Q?TUhKjf5tMN09VzVjL1l5n3w8ZAD99kvvP3GlH2bpPZtRM+2sce0ZsZBNu1NW?= =?us-ascii?Q?1swWzIGiPEwVE+45ZStpNY/zcpoXUdiWGxybUGVCLL2YRe+gDLguDhHgfdvQ?= =?us-ascii?Q?oNQCYQa51m99DuzbjIdemHl/X0qIHPaAE3s08yZrIl3rBWciCDVblDhqZKTV?= =?us-ascii?Q?EOeBrqiN8UFZB/ttae00eBSrzzdkXUiNN0QgEUHRmoxn2zPLXdzCdVBRkU6P?= =?us-ascii?Q?NABEhTIlNVm5kjDK1MDnVO8KB4O0K9vaRWZylUZJooEBSNIvD+QCckHRe2FB?= =?us-ascii?Q?qJpVGUYSU0ymyXeV18QpkWUtwWQtHwLl67RpDZP8n7dq5fgpObozceB35gLs?= =?us-ascii?Q?8/f7c7UywrcC/CiTU7A0jMswqnhzj9ioEY71TzSGPJFykesDf5T81kJadC2w?= =?us-ascii?Q?vpeU6a4z95qd2KjDNVzAJ2a0PJQuHPn3H703UILpHlfGtIQmF+AH5ReDnP0u?= =?us-ascii?Q?Uvgl/mcTYrodpsLsAoZVtXb3deITqsJzIcd4oIL370jDJMLse/JKJzwmNoAM?= =?us-ascii?Q?wcCLk+SoJBjpV0HtJHfP8axRBpD5O3haKc+MRBXXwg5l6MghMHRc7RNJ6EJV?= =?us-ascii?Q?bRKeiPDoRtNcWdfchRU2hK4BeVEmUOBfps3S/uWfKD5q1y9n+3C2zlBuE8YO?= =?us-ascii?Q?7kxZt75zli11W5jNODnmxW7bQIKH3x/jT+QoMGD9j2IDnTOSZ6MPUks25IdO?= =?us-ascii?Q?GIDgyGE3KUXUr+4ryvES9uzgj3faLR5MJw68yNNepPDj/XcA36n9ANMx5o8U?= =?us-ascii?Q?W4NOAUqX0KHH4Qv9uF3XGGh8CVb3D9gpHxEz/DCuerupCek54Bpprd4H2pHx?= =?us-ascii?Q?NP2j3bEC+sHX3RtgY+lKYKcMYftiKBu5oEktKa3ksozgw+B0P2Lkp5P/wX9P?= =?us-ascii?Q?Hx4OhQDfrlSdmWQG8LFEM8LQQoHE2aXTBoCPfUPzFOdm20nos6cDTeCb8vmm?= =?us-ascii?Q?w3FPPFuXSpERHX2ZkAEr135YpVzPXUiPjKf3sL4E97YWgGNSietsvLYOC11F?= =?us-ascii?Q?w6Pk9et9S8Q/qyxCepFP9HTTxjjP45vCpi8swBa44qYvxhrpZijiCKDsPICh?= =?us-ascii?Q?chst3WtD57Y2eqRznnyXOXsMnAgnXBsRhTN5OMOlUkn8XTDxq6E3sV2tgMEY?= =?us-ascii?Q?3WACZRN6NM1GXjrZ8s4ILvu2?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c07da0cf-6965-48d7-f5e8-08da9a85d1d0 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2022 21:27:56.9681 (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: AS8P250MB0188 Subject: [FFmpeg-devel] [PATCH 1/4] avcodec/snow: Move ff_snow_inner_add_yblock() to snow_dwt.c 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: Andreas Rheinhardt 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: Only used there and by x86 snow asm code as fallback. Signed-off-by: Andreas Rheinhardt --- libavcodec/snow.c | 33 --------------------------------- libavcodec/snow.h | 3 --- libavcodec/snow_dwt.c | 32 ++++++++++++++++++++++++++++++++ libavcodec/snow_dwt.h | 3 +++ 4 files changed, 35 insertions(+), 36 deletions(-) diff --git a/libavcodec/snow.c b/libavcodec/snow.c index aa15fccc42..85ad6d10a1 100644 --- a/libavcodec/snow.c +++ b/libavcodec/snow.c @@ -29,39 +29,6 @@ #include "snowdata.h" -void ff_snow_inner_add_yblock(const uint8_t *obmc, const int obmc_stride, uint8_t * * block, int b_w, int b_h, - int src_x, int src_y, int src_stride, slice_buffer * sb, int add, uint8_t * dst8){ - int y, x; - IDWTELEM * dst; - for(y=0; y>1); - const uint8_t *obmc3= obmc1+ obmc_stride*(obmc_stride>>1); - const uint8_t *obmc4= obmc3+ (obmc_stride>>1); - dst = slice_buffer_get_line(sb, src_y + y); - for(x=0; x>= 8 - FRAC_BITS; - } - if(add){ - v += dst[x + src_x]; - v = (v + (1<<(FRAC_BITS-1))) >> FRAC_BITS; - if(v&(~255)) v= ~(v>>31); - dst8[x + y*src_stride] = v; - }else{ - dst[x + src_x] -= v; - } - } - } -} - int ff_snow_get_buffer(SnowContext *s, AVFrame *frame) { int ret, i; diff --git a/libavcodec/snow.h b/libavcodec/snow.h index ed0f9abb42..1c976b9ba7 100644 --- a/libavcodec/snow.h +++ b/libavcodec/snow.h @@ -45,11 +45,8 @@ #define QSHIFT 5 #define QROOT (1<> 1); + const uint8_t *obmc3 = obmc1 + obmc_stride * (obmc_stride >> 1); + const uint8_t *obmc4 = obmc3 + (obmc_stride >> 1); + IDWTELEM *dst = slice_buffer_get_line(sb, src_y + y); + for (int x = 0; x < b_w; x++) { + int v = obmc1[x] * block[3][x + y*src_stride] + + obmc2[x] * block[2][x + y*src_stride] + + obmc3[x] * block[1][x + y*src_stride] + + obmc4[x] * block[0][x + y*src_stride]; + + v <<= 8 - LOG2_OBMC_MAX; + if (FRAC_BITS != 8) + v >>= 8 - FRAC_BITS; + if (add) { + v += dst[x + src_x]; + v = (v + (1 << (FRAC_BITS - 1))) >> FRAC_BITS; + if (v & (~255)) v= ~(v>>31); + dst8[x + y*src_stride] = v; + } else + dst[x + src_x] -= v; + } + } +} + int ff_slice_buffer_init(slice_buffer *buf, int line_count, int max_allocated_lines, int line_width, IDWTELEM *base_buffer) diff --git a/libavcodec/snow_dwt.h b/libavcodec/snow_dwt.h index 15b8a3007b..132e01f9ce 100644 --- a/libavcodec/snow_dwt.h +++ b/libavcodec/snow_dwt.h @@ -29,6 +29,9 @@ struct MpegEncContext; typedef int DWTELEM; typedef short IDWTELEM; +#define FRAC_BITS 4 +#define LOG2_OBMC_MAX 8 + #define MAX_DECOMPOSITIONS 8 typedef struct DWTCompose { -- 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".