From patchwork Mon Sep 19 21:27:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38059 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp1507404pzh; Mon, 19 Sep 2022 14:28:09 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7uZ78AEsKHRFqS0XtV8luB+6y7U/fxSt1aesV5f67ywH3HT5BMi+hH0CtzPi56E6cdT4Ek X-Received: by 2002:a05:6402:1f15:b0:453:a795:4c60 with SMTP id b21-20020a0564021f1500b00453a7954c60mr11003423edb.75.1663622889658; Mon, 19 Sep 2022 14:28:09 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id hd38-20020a17090796a600b00781b880f465si420185ejc.720.2022.09.19.14.28.08; Mon, 19 Sep 2022 14:28:09 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=cXp0Pm7i; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E25FA68BA76; Tue, 20 Sep 2022 00:28:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org 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: fSAs4TmW0zJiZhfdmegvwvPHiVlZRvRa0z/5roIRPQ4nhDVexBMQm6I42KcekZgmuAZ5cESrzfyvAsdCS+x5yTP3O2HbuMh4D60R7c/bWGatB6hp8K2Jv+BQEDMepGWPPS13uhuwBoBDZU774tPcfThrw71S1trnj5oh3sHka8wLMaB3uUxBTUhKjf5tMN09VzVjL1l5n3w8ZAD99kvvP3GlH2bpPZtRM+2sce0ZsZBNu1NW1swWzIGiPEwVE+45ZStpNY/zcpoXUdiWGxybUGVCLL2YRe+gDLguDhHgfdvQoNQCYQa51m99DuzbjIdemHl/X0qIHPaAE3s08yZrIl3rBWciCDVblDhqZKTVEOeBrqiN8UFZB/ttae00eBSrzzdkXUiNN0QgEUHRmoxn2zPLXdzCdVBRkU6PNABEhTIlNVm5kjDK1MDnVO8KB4O0K9vaRWZylUZJooEBSNIvD+QCckHRe2FBqJpVGUYSU0ymyXeV18QpkWUtwWQtHwLl67RpDZP8n7dq5fgpObozceB35gLs8/f7c7UywrcC/CiTU7A0jMswqnhzj9ioEY71TzSGPJFykesDf5T81kJadC2wvpeU6a4z95qd2KjDNVzAJ2a0PJQuHPn3H703UILpHlfGtIQmF+AH5ReDnP0uUvgl/mcTYrodpsLsAoZVtXb3deITqsJzIcd4oIL370jDJMLse/JKJzwmNoAMwcCLk+SoJBjpV0HtJHfP8axRBpD5O3haKc+MRBXXwg5l6MghMHRc7RNJ6EJVbRKeiPDoRtNcWdfchRU2hK4BeVEmUOBfps3S/uWfKD5q1y9n+3C2zlBuE8YO7kxZt75zli11W5jNODnmxW7bQIKH3x/jT+QoMGD9j2IDnTOSZ6MPUks25IdOGIDgyGE3KUXUr+4ryvES9uzgj3faLR5MJw68yNNepPDj/XcA36n9ANMx5o8UW4NOAUqX0KHH4Qv9uF3XGGh8CVb3D9gpHxEz/DCuerupCek54Bpprd4H2pHxNP2j3bEC+sHX3RtgY+lKYKcMYftiKBu5oEktKa3ksozgw+B0P2Lkp5P/wX9PHx4OhQDfrlSdmWQG8LFEM8LQQoHE2aXTBoCPfUPzFOdm20nos6cDTeCb8vmmw3FPPFuXSpERHX2ZkAEr135YpVzPXUiPjKf3sL4E97YWgGNSietsvLYOC11Fw6Pk9et9S8Q/qyxCepFP9HTTxjjP45vCpi8swBa44qYvxhrpZijiCKDsPIChchst3WtD57Y2eqRznnyXOXsMnAgnXBsRhTN5OMOlUkn8XTDxq6E3sV2tgMEY3WACZRN6NM1GXjrZ8s4ILvu2 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 8Mz7ECI29ouU 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 { From patchwork Mon Sep 19 21:28:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38060 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp1507712pzh; Mon, 19 Sep 2022 14:28:54 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5VvnF5vrpkjZZFmqTJpF1C5x1zAkYsLos9LseLYLO0hr1PR2eY9qUoOT7rqMMfiilgwOU4 X-Received: by 2002:a05:6402:34d5:b0:451:335c:2f1e with SMTP id w21-20020a05640234d500b00451335c2f1emr17041760edc.160.1663622934310; Mon, 19 Sep 2022 14:28:54 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id b13-20020a056402278d00b0045174ca49fesi12483514ede.67.2022.09.19.14.28.53; Mon, 19 Sep 2022 14:28:54 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=nlFHdqSL; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 10B9168BABC; Tue, 20 Sep 2022 00:28:52 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2048.outbound.protection.outlook.com [40.92.89.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B950B68B984 for ; Tue, 20 Sep 2022 00:28:45 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=izD6RitsnE3MrWLpjI8R39xVAqjwie3pr3V4+g/g2PQD/CNNIHnw1SXCtPbbFQhVMByGBCw7PkgwNlRarJandEGosZi2OZybZUMUEGZ21gU+/nDtRYql4XwG/NERGg83q6SfRfckjTUfvPIEjALV8fkoaPVLd6Tvm4sWdUa06UKLzu8mXskwIKAt8HFiIXL4/UNPZLcer7+wKAmNmWU3Vs8pL/w16BS3h4VPG/toIvD3f+JnfdFthFo/1S8AI7FLSMtCb9KkdyIJHJrA+OHmKAxi7StOicaWXAnPWUohGfTR+Fi3wVf2IXlUytu7Ibcf54p/vujVBVEeGm6LgH2ZqQ== 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=MFKxS7R147hM5EfxwisvnDAZcAdkLy5F44HOWmmVSHY=; b=Ju4NbRN/oW8Gszg6mGp2mo+bMtcl4CNqR/TEQCseLT9+Zb1gz5cFNWlGtcgbGGWSY3MB16VH6NlpwAJViias5zzfri1w1ra2OiffLT7q6Ka7/zFkIxruw6FQpuYYqehBGxS94tn96Buf1F2odJisT41z7mYv9P5Y2Pf+NViaDJc7gKL4E38qG9r9j+tboEWHaAuX/gEo4ahnBiqCnncdA27hIFOaukohT94nThPpvYgm7ZoTxtYh21LXyFN1QYnVr4Jo3fsNvo8ZcFYFfZeruxT08i5m74w3zZudjjFihBASNRawASERfqEhzrW+xIwrrtDn1IYkhGFkxyQqCeMHcA== 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=MFKxS7R147hM5EfxwisvnDAZcAdkLy5F44HOWmmVSHY=; b=nlFHdqSLzWuVm+HzWuhUDlGhoVeLbXlnmPmHAEgbqst6hxi1O3HL3OvNIDB2DTEKb/1lUPBCuEYIyDknqZuhVRrfosVsLYazCsduR9sASmZHpSSugL/1Ys2xAqM0wi4HsxVFRyawwc5PGGjgJXM9xbQ/QFpEuknvoJZb3FJ0UsZf4g72xB5Srqx8fdQlvFcedVACVWU5D/+rNtx3TuDRCOpLdyLeJ1V6QLO88L0tNYAEl6w2RUIGkPHxk4TpzuMoMk9jgKmP+iL9j9pAldNWC7NKgUpJJsNyqNpJo7TsMxHYtosM/IBNvDlqeB/3l6bnC0yKHqHelyoeCmn8BZK7Zg== 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:28:44 +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:28:44 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Sep 2022 23:28:37 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [tY0C3zTP+GimiizmMn/wW+a5FwDJQo0MvHiYF/XfFx8=] X-ClientProxiedBy: AS9PR06CA0123.eurprd06.prod.outlook.com (2603:10a6:20b:467::14) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20220919212839.2950812-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: 41ba657f-d3f5-4861-30a8-08da9a85ede0 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9Xmo/MW52haCYmXCcX3gJ22hpsDQus39UwHJiRD8NAYNvxciq5JXpw1Oy7MQzOQsQMHiwgn2FhDVFIkDFNBQksgEUXbViT3qs0dzzt8GR1LH59xD57KUCdDp4tvSL/0PpZl6viQL/UT0RHzO1yL/YXQhJ8SFldH0sDAzTYOcuI8sDUXE5IXPZHKBFLpby5kw6+cwqQnLuSe5a0ZNdiMmRgDVygH7vcfcw3nVlQ+kyp/6K0G9XiCxHgdlH8zepveLEDZLLEMt7Y3niX39w/bzZELHvhZMVlenZIviRt9PgwU+ZrmIL/Ngal73oTnQhJK8WGo2oKzgxb0YWmj7p6uOrbIQvmBnEkQLCVGpSJfCTxncZqJzR9HwMNxoFyMs2kFMhld6KdkZ6zpS6aRAUSh0eYbBVWsq9TW+tyHs1tMFXgl8744bQoWnxlC69ahZdrXmxitiope7Dge27riAgsuxHUXZoGnu1WPwXo+8enrVOCl9eTod9+J01vmd5Jj3K0gX6KpGTmrLtIrW8DA7caHP1TOR7CyobCqvIlsOc0WzGrEqg2RQACehImLO/QgdnFPIofvQrfbYjm7ZTw3q+mthdIOkq6sPZQDJRsnM8mKiF91uuFwcATaD6QOwfCt74TZA039zdZw+hrwulYuSwLyGttPUl+pnBVhNVv9GBkRvCzDihUM0wqizOxXUKjskonZQnECwdMXImb6uCMAEoipkK0RuFdkUZev9xN1w83pGz3f/XIWpJyiUFvjp5duhrcYhnhkk= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: EfCXGEV8V9LZ/ZHCtOTWCDSAnfEsvz1QA+7/5nLOdfK2+BZc5l2G02XFVnjMSDl4TGzbc0wwWJcFGqG/xgdwCtPnIdu+ni70LH5L9F5kVftEogCSbbqtHLed2m6I2L1FwyCcPINKLZ86KBH07QZcDBb1/4ypxyQCxGVaoIqh+SvAWuRrB8AjTuTIi2nOaLXGVzAB9/i32puZPlfPtsrle3CBX7K+NpyWxEFaas7EXqBTK+BYL1ao9GtxxD1+bZ11QG7bpZSYmopRL46Nkfn56tuTe2yliyLbg7otQWnE4r4PEmIOmd6R46YIc+HF03CAw6QOaW/OsNDPzVU7WfMu1+KhI5N8zLz2nD2taLdPKzQ4CStkzK8jCqW/azQP031iJP2qFV6tNf+pyGHFqk7y5ANI0ujDhef8uHjVQodQUjnIxb8O+Cj36ZlAf7fWfqE9bbYKh+ZPvibb8ZSfHKvA4FWx4K8XM+uGJMgjviF+KbguV0nhf1R2dh4it08KAVDUksKNYYI/R2lX3V58XeqLXyk/fbUux3+onLObeCXgdDKRHhPv1OdrqNZmb8h8irq69GeTANrHC/B11JZkMgmt0ywyeIxbS5ygvRVpeQL7kAAE13nMi23lhyCHD9p7H5iH9HNmpIz0u3dFM0XJ/lScVg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RqelLKM62JQX5voilTEieZRJNurdYP8KPBrfgEZq1UF1cigRUUUxGQ0mDrYyK2oqt06uHHjFjduqFWGt4fvbZU0Y4WFMNSUbbDkUu1q8t8AmBuEjGn/OEB0QsHn16hocj+TEppv1g6DZeiSEdL4geimo7cp1UjP+NEkLy6Jiji5skv8BPv+51dK0lmoEVztuZJQ/ZkqQbaSPmJqiI3An3mAdpogPC5po7N4fv3uNDq7pl1ZZGtXywiwGDIAXRBRUCPuQhj4JCqEnsZVufjnipUvcZyg2Jq1fIQ68GLVJdy+KfdXTvQVFbbUjC4iAfT7rtkWXfp8zqhYBZ0yjO1mfznYoQr1bl2OOMRtDIhFFU+4T+bWg/XzlkcpTkw5yz7bgNuZrMQqVTWX3LBytQWRThh5nouDm8i//2qGjF2dY1i1P1K6ntYeU+f96PEPx6NvL9cvvgNZ4i5YZNIqJdBzdn7LXDtWoxh71e4WCacYOy/bWTImjS/+f3XhT9ePqOzIfUMCBZsegYFdCk+3eRXcv+/rhh0Oeyqhc6Np9WtRJKBzNeVqIeoAWowPgZqO2H7c3QZrVuwwA40vyhrfOTQWrAA1C7hGtacj1FgGUmw5DKbCki0VrTuMFvUw2rw+Z54oFBM4heluV+cCtmYX53APtibzdDrcj0TwNUnsHf+i8VRANiAvCxzLg3UCDFEY3RZHWol3OMlahIO1pTNja8MHK8HRIQodcREmb2ZytyE8kqEN8lC75ozutVWHt1CQTEF7+iRmQYpuZRF9EzZR8WZiMKNB1GbSd3KIn8G600mcq/dRn4fUZrx7Q7VF7cwB+2jcuGf19KiLi/bukYRdxjzCbmVD2qtjaBTRZCkVjXwhMzQDGyeck2SVULL2eLUbgB2TrFKYZdBPyE4kGCOItmpppz+kYjQRx/LWD0tyP64jrbWc2aVRhKO/J/JKenDEaKXvchimgNLjbsYFiLgt+q7zZZQ2jzLxsbMMJXqXL4nNREI4p9J8JmOeekRpYRlD/bpHxQnmoq4QTihjvepELd3rKn9v1cq9IP6DPNz016X5fPOx79dLTaY//DT6t3LN5Feu8/QZJeqoSlUHVGZBK8JQVoHa/7m0/AmRaA8cGxCIi/fsTHNGRm/FBIJhNepUR00quh86+8LmWn4Vdp1H3nCTY73IRkl0JLMU83yw7QVzhuKpFyMYV0cmcbbkaEcP26xTXZNqgZmNvu+QauuR7vLLzryTOY2OACXQn+x4yp/RSOUY+b0lpNY7Q2U06/OK7UPeI7wmTgRqjtFERwLXREgCX4hTpXm4KTsyZpI0j5W+8s4oX7QtbTQfAEYANZ8ohBQnD X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 41ba657f-d3f5-4861-30a8-08da9a85ede0 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:28:44.0745 (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 2/4] avcodec/tests/snowenc: Don't unnecessarily include snowenc.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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Sl4kAvyK2Id9 This made this file export the snow encoder and therefore pulled most of libavcodec into the corresponding test tool. Signed-off-by: Andreas Rheinhardt --- libavcodec/tests/snowenc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavcodec/tests/snowenc.c b/libavcodec/tests/snowenc.c index e423ab0541..6beb43d562 100644 --- a/libavcodec/tests/snowenc.c +++ b/libavcodec/tests/snowenc.c @@ -18,7 +18,9 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavcodec/snowenc.c" +#include +#include +#include #undef malloc #undef free @@ -26,6 +28,10 @@ #include "libavutil/lfg.h" #include "libavutil/mathematics.h" +#include "libavutil/mem.h" + +#include "libavcodec/snow.h" +#include "libavcodec/snow_dwt.h" int main(void){ #define width 256 From patchwork Mon Sep 19 21:28:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38061 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp1507780pzh; Mon, 19 Sep 2022 14:29:02 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6J2iiWPjLiM5F9Tx6509OPkyfiDjfDWG0LLFSvW0MLpwi2pZSmCQm6S+GIaV3+zZCDo5he X-Received: by 2002:a50:9344:0:b0:448:ce76:7c81 with SMTP id n4-20020a509344000000b00448ce767c81mr17310964eda.187.1663622942036; Mon, 19 Sep 2022 14:29:02 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id n22-20020a056402061600b0045435548220si2507730edv.517.2022.09.19.14.29.01; Mon, 19 Sep 2022 14:29:02 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=dK90a6xN; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 282AA68BA76; Tue, 20 Sep 2022 00:28:57 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2048.outbound.protection.outlook.com [40.92.89.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DC28068BA2D for ; Tue, 20 Sep 2022 00:28:50 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GMYguDL2qx/Y1coijbx3tamm1rSz7ZiYlVhnnL0j/YCWZS0b6lQeo3YYdJYeMKUnxlVZzEfyWKY5oiLuA9lR2Am48S3EM7b0haBTWyimjtBS7OkIMzWTah5dPFuOR8i02OD9nVE1E1rML1Oq377rOieEWcKgCkvTp7CyXc3jF2scbiAhMEBajgMVbOaFjX2xaw+wv5skXl/wyitD/jaVydvrMj1CxryE0UzGkK8SUI9Ts3aKcmExQaHS4etd8PLzFMUnSKt5Agfne1B9v8Zuq5o1KwB2H3ZkdtmV/9qx0zZtS0LDQAPb+Eco9wpd6d3nd324tXIn2bkNAasSQwqhAw== 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=fDwXRW9Sme2b4034ZqULIUwINJmKSBqS0fYGUy94M0A=; b=V9tP9xl57W0e1YV7cDxTVY8wouAKX84DMMIRWOFEBokhJgfq+ZlVYyPdQ5wY8Up9o19INtcpDbmeAJjCdgnTyg9Uz6BojDVgzy4tLqnhX+M3RVJH2DneIeZYqcDiswZ79wYLA7eKhLhfZ0lh00yI0ryQRq/MZfRT+PhUWjl2X+3uNT27SnAQrrnlWM9LmKtU4+B09j5orSpmQycbKbjEUhN7UZ7ix2h+jjwmzR3sirck2RpTbI97r0SjD4pi/bZ/qDq3DwuyyIsl3F+VGx7iNtTW0Ld4Ywan6genZlqqBMLAKEpxMwWWffCWAeCSNRfBJY/tf3H3gu5RSJPOM4LtDw== 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=fDwXRW9Sme2b4034ZqULIUwINJmKSBqS0fYGUy94M0A=; b=dK90a6xNDy2GFa/e3AIjzS2mBAsXflK7GY0eJF1a16N3oYOIgxnS4WppveJYT33saMavO2QmiNFflPDrGgBZ7sg5aOm8jcuCouRuWcytggTJ3SSZMxK/MKvDAa8+5Jx0Gb3G5KUDMVvhEmDthUurW5ZQ4rFaBMIbuVzI9a/052hmyeBa8ixY5rlGpjKmbDUWQ3KLqhKBRSVONVo1PEitxbXQ7HHspgFS0KXlcxs8NeT7Ku/gpLIU2Pm55oT8EubZv8nnpYMbUVJ5HRqs63UiUFXmoz6QR877AZjMKLjv2GauA53Mt1Dn1niGJR0HFpyd19uH5qEICirguTII+xgtnA== 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:28:45 +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:28:45 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Sep 2022 23:28:38 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [4AFhNTzagEs1yjeI9AmXPcOnLDDx+2L0XhMaLfU+NNA=] X-ClientProxiedBy: AS9PR06CA0123.eurprd06.prod.outlook.com (2603:10a6:20b:467::14) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20220919212839.2950812-2-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: 567f92c1-0de7-4f5a-aff0-08da9a85eeaa X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3kyBfxgtFTZKTHv/1vp0dNUzGQNjtvcVRA3AOEj8wbY7JcScPr1hE40dMfBdALkEWHj1M2BpsA8DVjJbxTXakA3/Yl/TP/520exlshlW9JYiqYUl87gO3UIlbT6CW+zUR+LTqXWC7H0XHXOt+BpMkrSu2eqvAeWcI2eavpHOgnFZwLq3amoGYIN0CfZFojcFiTW9BjJ8n3kG+WEjFdAwGQclhXh09w4GE5DhdzdMbl9IUT5K5/Mm8Madk4pRJ16kaFLH5dnI1IyHRgDIn59wqIggL/XWcBbcGcDKvfDQ/w+OrIUyWW6l1KrKlbnGxfnJXuRjFeQNw/dyLdjWd0QyaeDVBhjbewAwCH+5NYbwsRGDhV6w33W+iNtVLgEvlDeHvHMEiFdBJb4UMuZzmijSLWvomuvbyn7zWEkkBV7TzcYSmBRQuUJezrxNjhSiCLx7A/Jlkg7mEg4oNphSn8RiEaVuUPIhI3PM3XN4XEl/GzUyPIeaACKsqzMfZ5STVD03sZcnE9rvV52yUYW9YJnoQGnQ7kwWofZctLIJFWhIEBrKJL2WHmhzS0t9PoIx+8Ta1cd54acTWtkFkMYDzSvOy2G6kBEQZN9wXD2BEadCAlN9Kaulb9/W6kTs3P6033oxwb3IZcOWHMd95Xc56C3Tg9G3XTH4WFjhm8wuXTjBLaxWBtRzkv39hWW4xms1BvO1VYUC7RAzIzF+idGhKBOcBdl4cQULRt1XpbscVHwmZDXFxiJ8wk0cwmuyi6E4Smn2VoBP2gO7pejaYd/qLXKgdM0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4h5bHwno/xzQc2ltMz5d2NOU3V8bQN0EEcw/QQlsvHTU491nR34E6sQnh1Twz9/2oxXI0DJXwT+I7ZHgNAMNyoXzuK5G1r68ugbMWLd9EOeanoFTNyDhWdkl8aCVeOUp9gWbliPezJnwQuQrxhvJVF91vAwO0FbSWPXZrmRiXlvXXb2XzCcqV9ml5IQmhfwgRUD83E25EG075O6g9x0vmDZ2nJvEqw6Dno/aWuKFsSV/sSJyiwn/xFRf0/DZMm+ewbP3qmP98utNicjNSh5Den4g/xjMI2l+4kqcTL0Y3ZGx/JkoDvUhd4pszV06b6Q8KQDUEJAVbIB+MZyK8kq9nHBI9/oXKWn45kBFS6/6fN/mAoHQEasSgGHVV6pKdCtMit26kMP9fzZ6T5BligAGdtuPGutEZA9fcItfj/JhqoolpuGePiuhoJGsm8Zluql5XOXEQnK616VCrRQdWjcQXDla2F6ujcbHFSVjHbsDG119/MEDvvB9gZnDJsC7kumE6F8K+i4lq6H24Ik2pbzevLJqevWAsFuccyAcf+WHJ3gHha11a1GYOu25p2VFZDqUpcpaQqQip5BwsTXs8mYvzsd0UWjxMjbyyUIhSQVhrRZ4IL4jtUuRSpQghFCeQzUQxShjgVo+2p6X/lq8bvPj4A== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: P2Qq1P+OmAuWpVYnwrDT4Bey8FheGyDorRaufUUdscFgydVfj9JZu+oX6BZAjzvVLEIzGY2Q+G9hcMNcFgGEsNdLLPh6iPP89jCUfwT2OwV6RahmKDZqwGKjTON6qKxlpvNFNLaRgybShG9MnA2IXGyYdfuPRSyuLeQzpNKFgK02J2H4WSnPYY5vcw8bBH40dL3Z76vPq/Gud92aJef0FUwGpJ5BCjCX7ZeOUKsiiXtBxtV8YOzgMB4uDP2Hy9LwnKGNxC4TChVnqL2tCKCDGRnmXRhcL44vtiQZfxbfUQbQCBq1dDyMWlIkE+KclFn8t4gcxYyFq0tt6DyO5I7exbPevFDeTPznh8HizXlNQiF3e6rGbxengI6iXNxU4TGVDSgQBtJr8P5Pv/60S2EL9emiKqlca5xX/wUvLtFcUXlpT2plBTLboYhVfYD7mRn4A/AwBCaxyREYjtnb3OJi0Vq/CrzreUBM501Iyxv0O+dV6RiCjXpVZ6Lba3qOjiI62v/qwqdR4RMyYOj5zJPrwgyckWjvZ1NthEhi9bDKAgJ++vDc4JwOFh8YBsAjkhidv/SYmzSIN8dxdWgVosJYrM/Ty9ZPBBc3CVAqWdpBUeTgD/7RwtbZYdPxyb87KEkvGV1gwzUbHkYB5WXK4x8Nlt4IZ+OBex61GromlbafiSCNk/3Ag1/Tc6+09J2RLGKna2ikUFq+XgzhrnjYVxIAcTN0GKCv/xRQz1PKuq3+Mn9xm37Y5aOKy4h9O672HzrsT7GvfFG/hr6To8wRsZKsX+Br7iQ1//rgfKLzNoHcgw41Od1uyoZX0eUlv7mJYJp/jpMgib2V7O+I4Ubnfw/0oVZutNweeL7dZlvjH8N9q7u6LGMQvhRV9+bIQr66VLEF6m6E5W8diIq2jqfR5Vh96TcU16zVqPoRZMRYZJeDNkDDyCvtTaZIISjhiHdHNP8EQ8EbXeATkt07qX07wpSFgzQHmBKrestviEdUq/vopSDDGFCD035fuY0o1WjpoXWMxHPV6tuvH6qRug39rBA/QRRoIEL/Hog8Vf0vaFznOc37Rkhmk6yHLBM+fUBZAGpIRLar30cZyR1++Us84jNdz59lzPWX71kveK03yMH2wHYUYRMf9mKwsmxMlhXbNAL+1PGNP9uNt8MTDmWZXy4JY44H5rwYvxCCyBCOX28clKosrqoy3xSK7wmAMFzybHhN3iFYobsx51HY3tsCD9FBwSX6vHBueM9eIY8oMiiaYKFc+YyhU3UymogRcErKWaxvvO4YdTcMPYhqotkDkZ4YkauEL2A8L4sqg+BhwgdyiHUAaQVEM8U+/ykn6tWFLgxE X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 567f92c1-0de7-4f5a-aff0-08da9a85eeaa 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:28:45.3868 (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 3/4] avcodec/tests/snowenc: Don't use SnowContext 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Pegy2SS2s+5h This test tests only the DSP functions and does not really use the SnowContext at all. Signed-off-by: Andreas Rheinhardt --- libavcodec/tests/snowenc.c | 43 +++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/libavcodec/tests/snowenc.c b/libavcodec/tests/snowenc.c index 6beb43d562..cb11bb1752 100644 --- a/libavcodec/tests/snowenc.c +++ b/libavcodec/tests/snowenc.c @@ -30,23 +30,22 @@ #include "libavutil/mathematics.h" #include "libavutil/mem.h" -#include "libavcodec/snow.h" #include "libavcodec/snow_dwt.h" int main(void){ #define width 256 #define height 256 int buffer[2][width*height]; - SnowContext s; + DWTELEM *temp_dwt_buffer; + IDWTELEM *temp_idwt_buffer; + int spatial_decomposition_type = 1, spatial_decomposition_count = 6; int i; AVLFG prng; - s.spatial_decomposition_count=6; - s.spatial_decomposition_type=1; - s.temp_dwt_buffer = av_calloc(width, sizeof(*s.temp_dwt_buffer)); - s.temp_idwt_buffer = av_calloc(width, sizeof(*s.temp_idwt_buffer)); + temp_dwt_buffer = av_calloc(width, sizeof(*temp_dwt_buffer)); + temp_idwt_buffer = av_calloc(width, sizeof(*temp_idwt_buffer)); - if (!s.temp_dwt_buffer || !s.temp_idwt_buffer) { + if (!temp_dwt_buffer || !temp_idwt_buffer) { fprintf(stderr, "Failed to allocate memory\n"); return 1; } @@ -57,36 +56,36 @@ int main(void){ for(i=0; i20) printf("fsck: %6d %12d %7d\n",i, buffer[0][i], buffer[1][i]); { - int level, orientation, x, y; + int orientation, x, y; int64_t errors[8][4]; int64_t g=0; memset(errors, 0, sizeof(errors)); - s.spatial_decomposition_count=3; - s.spatial_decomposition_type=0; - for(level=0; level> (s.spatial_decomposition_count-level); - int h= height >> (s.spatial_decomposition_count-level); - int stride= width << (s.spatial_decomposition_count-level); + int w = width >> (spatial_decomposition_count - level); + int h = height >> (spatial_decomposition_count - level); + int stride = width << (spatial_decomposition_count - level); DWTELEM *buf= buffer[0]; int64_t error=0; @@ -95,7 +94,7 @@ int main(void){ memset(buffer[0], 0, sizeof(int)*width*height); buf[w/2 + h/2*stride]= 256*256; - ff_spatial_idwt((IDWTELEM*)buffer[0], s.temp_idwt_buffer, width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); + ff_spatial_idwt((IDWTELEM*)buffer[0], temp_idwt_buffer, width, height, width, spatial_decomposition_type, spatial_decomposition_count); for(y=0; y X-Patchwork-Id: 38062 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp1507841pzh; Mon, 19 Sep 2022 14:29:10 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5TGic7EnsPl1LOgaVURTU2JAlZGIALsx/br4Pph1CM6X8g13ayaljgDy7B2EDL+jVJ2fmv X-Received: by 2002:a17:907:94ca:b0:77b:542a:4cc4 with SMTP id dn10-20020a17090794ca00b0077b542a4cc4mr13767909ejc.257.1663622950706; Mon, 19 Sep 2022 14:29:10 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ds1-20020a0564021cc100b004537e9a25absi10792048edb.193.2022.09.19.14.29.10; Mon, 19 Sep 2022 14:29:10 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=UT4FMfIr; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 28ED168BA8D; Tue, 20 Sep 2022 00:29:02 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2048.outbound.protection.outlook.com [40.92.89.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 13F3A68BA8D for ; Tue, 20 Sep 2022 00:28:56 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KmTb7Anu6TfHIWurVo8gQnzE9EL/YAENutowrBZ97PAi9/On+DGsuAO07QaV1rXNJWkq5koJNFesuTmQeHnSyR8r2FhHdaCZ+7gLd+jXaacQiIxGkDrxwyOEU/o6sgWXB5bjYAiNB0bJ5Zwv4uc1dtarypz6UHUCtto6AQnrJVBfmpqSj+4Y1IKSc3aMK1zWOrqP2HMOd5jbPM+AnCZsydy76m0ZvNMwWHjrvsSE4ispIkBzSMYDLPO7DDr00YtoCun92fcG9B2tQKrkEJfoBBg/yXqHEH7wX14WHPfHssJHLnQ/IL4/onQtnVw+48VCD6o4sZiIAGqoUJru3Iyyew== 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=6wyZXh9q3MFR+uQQ1/odxYbi/UhQznPrXmCsc9dwm9A=; b=CAlb/UgFkTzB94ZhY7e9mZs7jiRtmoY8I8mHV6jBEDAAQJsMX3S/5QUbta6pQxwmC7Qm7sFp71isTzFl0bBGNHrv+fKk/bbnmRYnHWhGedOGRtiRN/YeUky3ZjJ3qyt+A4YLxSRRL+bj1cu/6FrhDZblCCMNwME/NgGeqPKbNYzlnIhOl8+SGM0TeRtGmEX2dUpGgUVaTPohS3hIujv0KVg/k9YmNHa/ztAXvM2MzoWiABa/hsQTY2AHuNHNBCX62e4SLENr5OJ6l/lKaPGDuxN4ZBNsYX/tqcx2Ebrjp42wwNM4jSnN9Sy5fC5WofUhbmlWZ0xCHI7jLRQLMTz8pQ== 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=6wyZXh9q3MFR+uQQ1/odxYbi/UhQznPrXmCsc9dwm9A=; b=UT4FMfIrzRyMAFXdInoWOlXK1zLoKX+7oASekUAvNuGGekPLRF+SBb+lUbquw8g9QTL0hLD+WWy0npkgxDv7dq2bYKC4Gls5cWp3DxCwBqyQmGZe3H/08OU2JoPErnfvJx2FRE9y/9kMipFm0qjjtiBzinST0g6dgoTgaeFleQq1EPgZC6Uus4bbgDiDe9TpYc5aXBEcN8DC0Dm5JPRt682tliG+0gT3laye4Cg2crkk60lXFkpmI404QnyV8W20BK5lHNVi1WwS3WV0HUnJoMb2Orh3fGYg+i6U8srOvpeqvmVzSWrY4QYmxwtyXQ3tG0acNumlfiSHwRj/0z7nJQ== 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:28:46 +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:28:46 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Sep 2022 23:28:39 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [c/QSYk5NuBEY1vRdVyakXqlqJ8QI16/98S2KghSTfJ0=] X-ClientProxiedBy: AS9PR06CA0123.eurprd06.prod.outlook.com (2603:10a6:20b:467::14) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20220919212839.2950812-3-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: 9dee5208-2734-4d5b-a654-08da9a85ef3e X-MS-Exchange-SLBlob-MailProps: a+H6FLLcF3oTrSut+Z1/BOXUOId3z6Hkl25rPfax8iA5QeD0cfSdBefzJ2f0n+rUbLm+kQS3NMtzUPo3AbwiNz3qqt5egsqsfhGhZraE0ffrnvhvbBHuycyaKM2X0XgmJ3Bgh7HUURjkcU8NrwJpg2dcP+L1Oo8SYxyEDEYlLYQ7t5iSL23uf4t9339Xw8gyK1C7npRPWrDBcPwGdFAiAzoYULWLfEZC3+NQ0+AjZWOP0nRNrneVehElg+sXqpbdIpk2QbaoH+ZSfi1bPm6SHSpSu97d3JdHy4FZxtRvx10ytx5rD4D/Mxssa2nTlU2csyrS2p4kMcCyJMQqS82UGuLHelxnKdftaGzMbkW4xpf2cNhe9ZuFn2H8KqPDVifjE/a7sQt5aawr0B11sG4IlrbNzUkexFytYMaJsK3KMJ+L4EeoLpT/6UeT9rWBDfa8KEA5BFBWUAfUrbG1DaTucjxDeMSsh98wFIte/CDDAy4PSw9rwwuWoKNIBPbR6qaSaN7iyR+v3eBW7Efh1EnkTSHJSs0mbPRV+gHxp9tIU9WUo5FrOKgK3BCml09vBU7T2oT2Z7AyAly5SV+7FQgE0diyRuQEo+nePgbooZ9tazdU2ozauL0s+li5bc3NOgUyg6IWTrMe63mRBtYPTCssH14NiUSNmVWXGP+LawI7D60+YKjE2nl6nIRj97XbQ+ge6Pp9u/a8EHk8km4l97wDiRkBAhyEhM/528FgGwOQfJnj2tS8DAzePdYlbNUqkusI81FTToQHP4YYGjQ3QzHdgatpIVDFMpXV75ADnxblLUvI+Q2cge9oFd+jKTnU9vO5 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bNoNYGPZ1GgAu1/svN1nZEbRLo6MmL4ZPtTjJMlnNxEruZYRuYQpfzhcw/btfHSQont672bTm7T8kf6HVkIy2WeujY/Nh2uh+O0B71rvPTbVnMP571x0D7krTX12IA1V7DI4wxSc/VDQRCHbs7pcu0NxmPMujDAfoRUSRZGvLQRl5ebtNzyuWgIs8w7biS2/kfFPXxUEwD0sqqCD1Kropq3bcyK3hc/BJiDBbvAco4JwNmwn6M0K1RDcxX6HB7b6p8n/1IpkipPJgJ4JN5AjKGyUKZgk04rQFm1kNnjSkvBGjrKzEYXBg2h08FAWSDKEi3cy5ZfUUC5AE4uEhIfkARHU4QvtujpkS6KMoBU8zeNCl7kOayqqNKdYeNlfqbsIrsBhsqNlGntvpljKOXYaartPXsHYVLirqVg32QFlCWfTEK+WYMoNaXM2+SHyXY3UnBbxaRB2Bi8sV6H8sDZqzl4lmBimZiPDePhsBKLMVtKc1VK+COGhXNbKJ/CxP9BWjjJEq8/KOmfEd4vrF9us3Jl8PiLtg4LoC+paNDwhyBqdsQzGXvR4YMaBWS3D0ZbBZahopHM0EMW62Tdh7sVricszxgvTBD4o2tIABKIkJbNQJUXtEOyCbL7q4wdsRRTi X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nme0fljErCBWFQlWfGBhy3ERyuonrNW4M7+LBHQ/Ozja1b5EVqJSvwuL71UUj8eGxAxlJfYc5T+Uuxt1gsSUznpRVdg7kMLn+yfdFPhTfqkxZY9hnZ1kbsfpJwGGvfHsUJIDULfueL0gvLANupvRzfXaPFwfvQJSqT1DyWkp6CWc5kqPkIVw86rJxmFiqQ/0mLZ2UXN8pKDeUAFEboseI4PCQmKsQcV3G6Ctkq2t2HBke7SZd7c7zUdXHJpqd9t5HK87ve5MOwyQPdIoqIfb6XpGmRCdBegRrOgu7LJORY5QcvJVB2bP/tthMTFcl8xKYk2Kj3nvx4YiNe0OuL1m87xbvTtF8tt3DoMk7/RX9yoHHyezTtnm61wskxehxW61Kwl/96Ob1TtEVBeNtVPWMQANzl4db0bfi90uKKBM7weIzbqExSVC9/POAnKMdThMcYrnke84ICz+8nl0wFrHw7f4/drfZoikJQ60VSGjNA4zQJYxcw3v3mJ6JJVRMJbU/uwTigeiUQu5LG+qGMG87SMqNwfXEuMacBgvRXDFfVa5cJZmgkuY6cdGXTwygsf3XHSpjw/2PCojMYtfF9CjaOEbPJFQsOaBvPbew9gBjN/R7Du1IsPaI08Ydd1YqRyiteVQHUsfOIi6T9CtJLdxzlGAAJkeHC7b6bLlYkPqZB/nxi/B0YDHJCriFpegzq7rBCEk6TTUtnQZ5/eAV0oLXxEb5n9vUznnn8H2hvVBb2DvzBvSbbvJNB+3J7S2UbosBOp1vLuO9fPVM/0g+WoFd6jUNJeGBGBy2/H+oMxF42o4OWOGcMGmpQifSvwgp/MGiFP/V2hfR15x7sEOauyJN0wC+WGOeBRB5CveNuktVugxOC6VDS3aGZgi+EX9fWIfALRyQE/b0223bkv16KHWvtlRtf5Vw6dV6Nu6zxiFTfen/11CkHxDJOMgGSxemAV+CgBvwg9DXDs9PhPgg+2FtIvN0/jPB7I8cKqeWpZKpRS5OUMQ1BNX9BnhFrZEFWmMLHGtQZjq/4hdczxnXBRxBtzlDLEd6hhm5zG6C7BVPxELfcqAA4OJTELr71QM3N0z1sC60tHZ8GIHBUmYa6vNy3mvsb0CPbg/0KhnjHZUx+VGkhf5rgBIB8xf0mQjrhOUky41oSXf7UvXzwwLq1EPiWubcSNBYLU3PkOY9/WBePUYyPncloTOyeJO5M/+WjS0WTECRrvxaL2arlwDeQK9637zRVThFmvFwr2HkSkRQX82l9WgyGKydzmQLIZDOZCv6DeU6FG6YW18amcJemrg3FRag1gUr2yTEWIlr6l0ctlRHVTi9V26Ri7o3CSQqihF X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9dee5208-2734-4d5b-a654-08da9a85ef3e 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:28:46.3722 (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 4/4] avcodec/me_cmp: Don't access AVCodecContext directly in ff_me_cmp_init() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: TD32JN0pBqqu Instead, pass the used parameters directly. This has the advantage that the user needn't have an AVCodecContext to call ff_me_cmp_init(). This in particular applies to the checkasm test for this. The calls to avcodec_alloc_context3() and avcodec_free_context() made checkasm pull most of libavcodec in (in particular, all the codecs). This is bad in itself, but it also triggered an issue when using shared builds with MSVC: Certain codecs use avpriv_(cga|vga16)_font and the when using shared builds it is expected that these symbols are imported from a different dll, but checkasm links statically to all libraries to be able to access their internals, which causes link failures with MSVC when any of these codecs are pulled in. See e.g. https://fate.ffmpeg.org/log.cgi?time=20220919173112&slot=x86_32-msvc14-dll-md-windows-native&log=test This commit ensures that these fonts are no longer pulled in by checkasm and therefore fixes this issue. (This is actually a regression since commit c471cc74747461ca166559c7b7fdfe030c3e3712.) Signed-off-by: Andreas Rheinhardt --- libavcodec/aarch64/me_cmp_init_aarch64.c | 2 +- libavcodec/ac3enc.c | 2 +- libavcodec/alpha/me_cmp_alpha.c | 2 +- libavcodec/arm/me_cmp_init_arm.c | 2 +- libavcodec/dvenc.c | 2 +- libavcodec/error_resilience.c | 2 +- libavcodec/me_cmp.c | 14 +++++++------- libavcodec/me_cmp.h | 17 +++++++++-------- libavcodec/mips/me_cmp_init_mips.c | 2 +- libavcodec/mpegvideo_enc.c | 2 +- libavcodec/ppc/me_cmp.c | 2 +- libavcodec/snow.c | 2 +- libavcodec/svq1enc.c | 2 +- libavcodec/tests/motion.c | 8 ++------ libavcodec/x86/me_cmp_init.c | 8 ++++---- tests/checkasm/motion.c | 9 +-------- 16 files changed, 34 insertions(+), 44 deletions(-) diff --git a/libavcodec/aarch64/me_cmp_init_aarch64.c b/libavcodec/aarch64/me_cmp_init_aarch64.c index ade3e9a4c1..ff6b933635 100644 --- a/libavcodec/aarch64/me_cmp_init_aarch64.c +++ b/libavcodec/aarch64/me_cmp_init_aarch64.c @@ -54,7 +54,7 @@ int nsse16_neon(int multiplier, const uint8_t *s, const uint8_t *s2, int nsse16_neon_wrapper(MpegEncContext *c, const uint8_t *s1, const uint8_t *s2, ptrdiff_t stride, int h); -av_cold void ff_me_cmp_init_aarch64(MECmpContext *c, AVCodecContext *avctx) +av_cold void ff_me_cmp_init_aarch64(MECmpContext *c) { int cpu_flags = av_get_cpu_flags(); diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index a090576823..6599821cb8 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -2612,7 +2612,7 @@ av_cold int ff_ac3_encode_init(AVCodecContext *avctx) return ret; ff_audiodsp_init(&s->adsp); - ff_me_cmp_init(&s->mecc, avctx); + ff_me_cmp_init(&s->mecc, avctx->flags & AV_CODEC_FLAG_BITEXACT, avctx->codec_id); ff_ac3dsp_init(&s->ac3dsp, avctx->flags & AV_CODEC_FLAG_BITEXACT); dprint_options(s); diff --git a/libavcodec/alpha/me_cmp_alpha.c b/libavcodec/alpha/me_cmp_alpha.c index 0c1a4a62c5..2ef0703349 100644 --- a/libavcodec/alpha/me_cmp_alpha.c +++ b/libavcodec/alpha/me_cmp_alpha.c @@ -264,7 +264,7 @@ static int pix_abs16x16_xy2_mvi(struct MpegEncContext *v, const uint8_t *pix1, c return result; } -av_cold void ff_me_cmp_init_alpha(MECmpContext *c, AVCodecContext *avctx) +av_cold void ff_me_cmp_init_alpha(MECmpContext *c) { /* amask clears all bits that correspond to present features. */ if (amask(AMASK_MVI) == 0) { diff --git a/libavcodec/arm/me_cmp_init_arm.c b/libavcodec/arm/me_cmp_init_arm.c index 8c556f1755..9f5843c486 100644 --- a/libavcodec/arm/me_cmp_init_arm.c +++ b/libavcodec/arm/me_cmp_init_arm.c @@ -38,7 +38,7 @@ int ff_pix_abs8_armv6(MpegEncContext *s, const uint8_t *blk1, const uint8_t *blk int ff_sse16_armv6(MpegEncContext *s, const uint8_t *blk1, const uint8_t *blk2, ptrdiff_t stride, int h); -av_cold void ff_me_cmp_init_arm(MECmpContext *c, AVCodecContext *avctx) +av_cold void ff_me_cmp_init_arm(MECmpContext *c) { int cpu_flags = av_get_cpu_flags(); diff --git a/libavcodec/dvenc.c b/libavcodec/dvenc.c index 4c747ef71f..48d006c0f9 100644 --- a/libavcodec/dvenc.c +++ b/libavcodec/dvenc.c @@ -102,7 +102,7 @@ static av_cold int dvvideo_encode_init(AVCodecContext *avctx) memset(&mecc,0, sizeof(mecc)); memset(&pdsp,0, sizeof(pdsp)); ff_fdctdsp_init(&fdsp, avctx); - ff_me_cmp_init(&mecc, avctx); + ff_me_cmp_init(&mecc, avctx->flags & AV_CODEC_FLAG_BITEXACT, AV_CODEC_ID_DVVIDEO); ff_pixblockdsp_init(&pdsp, avctx); ff_set_cmp(&mecc, mecc.ildct_cmp, avctx->ildct_cmp); diff --git a/libavcodec/error_resilience.c b/libavcodec/error_resilience.c index 2aa6f1d864..e9aafa123e 100644 --- a/libavcodec/error_resilience.c +++ b/libavcodec/error_resilience.c @@ -791,7 +791,7 @@ void ff_er_frame_start(ERContext *s) if (!s->mecc_inited) { MECmpContext mecc; - ff_me_cmp_init(&mecc, s->avctx); + ff_me_cmp_init(&mecc, s->avctx->flags & AV_CODEC_FLAG_BITEXACT, s->avctx->codec_id); s->sad = mecc.sad[0]; s->mecc_inited = 1; } diff --git a/libavcodec/me_cmp.c b/libavcodec/me_cmp.c index 4242fbc6e4..e35c562afd 100644 --- a/libavcodec/me_cmp.c +++ b/libavcodec/me_cmp.c @@ -1000,7 +1000,7 @@ WRAPPER8_16_SQ(quant_psnr8x8_c, quant_psnr16_c) WRAPPER8_16_SQ(rd8x8_c, rd16_c) WRAPPER8_16_SQ(bit8x8_c, bit16_c) -av_cold void ff_me_cmp_init(MECmpContext *c, AVCodecContext *avctx) +av_cold void ff_me_cmp_init(MECmpContext *c, int bitexact, enum AVCodecID codec_id) { c->sum_abs_dctelem = sum_abs_dctelem_c; @@ -1049,17 +1049,17 @@ av_cold void ff_me_cmp_init(MECmpContext *c, AVCodecContext *avctx) #endif #if ARCH_AARCH64 - ff_me_cmp_init_aarch64(c, avctx); + ff_me_cmp_init_aarch64(c); #elif ARCH_ALPHA - ff_me_cmp_init_alpha(c, avctx); + ff_me_cmp_init_alpha(c); #elif ARCH_ARM - ff_me_cmp_init_arm(c, avctx); + ff_me_cmp_init_arm(c); #elif ARCH_PPC - ff_me_cmp_init_ppc(c, avctx); + ff_me_cmp_init_ppc(c); #elif ARCH_X86 - ff_me_cmp_init_x86(c, avctx); + ff_me_cmp_init_x86(c, bitexact, codec_id); #elif ARCH_MIPS - ff_me_cmp_init_mips(c, avctx); + ff_me_cmp_init_mips(c); #endif c->median_sad[0] = pix_median_abs16_c; diff --git a/libavcodec/me_cmp.h b/libavcodec/me_cmp.h index c6de2d0061..e7f0d91ae4 100644 --- a/libavcodec/me_cmp.h +++ b/libavcodec/me_cmp.h @@ -19,9 +19,10 @@ #ifndef AVCODEC_ME_CMP_H #define AVCODEC_ME_CMP_H +#include #include -#include "avcodec.h" +#include "codec_id.h" extern const uint32_t ff_square_tab[512]; @@ -79,13 +80,13 @@ typedef struct MECmpContext { me_cmp_func median_sad[6]; } MECmpContext; -void ff_me_cmp_init(MECmpContext *c, AVCodecContext *avctx); -void ff_me_cmp_init_aarch64(MECmpContext *c, AVCodecContext *avctx); -void ff_me_cmp_init_alpha(MECmpContext *c, AVCodecContext *avctx); -void ff_me_cmp_init_arm(MECmpContext *c, AVCodecContext *avctx); -void ff_me_cmp_init_ppc(MECmpContext *c, AVCodecContext *avctx); -void ff_me_cmp_init_x86(MECmpContext *c, AVCodecContext *avctx); -void ff_me_cmp_init_mips(MECmpContext *c, AVCodecContext *avctx); +void ff_me_cmp_init(MECmpContext *c, int bitexact, enum AVCodecID codec_id); +void ff_me_cmp_init_aarch64(MECmpContext *c); +void ff_me_cmp_init_alpha(MECmpContext *c); +void ff_me_cmp_init_arm(MECmpContext *c); +void ff_me_cmp_init_ppc(MECmpContext *c); +void ff_me_cmp_init_x86(MECmpContext *c, int bitexact, enum AVCodecID codec_id); +void ff_me_cmp_init_mips(MECmpContext *c); void ff_set_cmp(MECmpContext *c, me_cmp_func *cmp, int type); diff --git a/libavcodec/mips/me_cmp_init_mips.c b/libavcodec/mips/me_cmp_init_mips.c index 90b8b91256..1135bfc310 100644 --- a/libavcodec/mips/me_cmp_init_mips.c +++ b/libavcodec/mips/me_cmp_init_mips.c @@ -22,7 +22,7 @@ #include "libavutil/mips/cpu.h" #include "me_cmp_mips.h" -av_cold void ff_me_cmp_init_mips(MECmpContext *c, AVCodecContext *avctx) +av_cold void ff_me_cmp_init_mips(MECmpContext *c) { int cpu_flags = av_get_cpu_flags(); diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c index 0b398c56ab..e1206fa209 100644 --- a/libavcodec/mpegvideo_enc.c +++ b/libavcodec/mpegvideo_enc.c @@ -808,7 +808,7 @@ av_cold int ff_mpv_encode_init(AVCodecContext *avctx) return ret; ff_fdctdsp_init(&s->fdsp, avctx); - ff_me_cmp_init(&s->mecc, avctx); + ff_me_cmp_init(&s->mecc, avctx->flags & AV_CODEC_FLAG_BITEXACT, avctx->codec_id); ff_mpegvideoencdsp_init(&s->mpvencdsp, avctx); ff_pixblockdsp_init(&s->pdsp, avctx); ff_qpeldsp_init(&s->qdsp); diff --git a/libavcodec/ppc/me_cmp.c b/libavcodec/ppc/me_cmp.c index 90f21525d7..185a2c15d6 100644 --- a/libavcodec/ppc/me_cmp.c +++ b/libavcodec/ppc/me_cmp.c @@ -723,7 +723,7 @@ static int hadamard8_diff16_altivec(MpegEncContext *s, const uint8_t *dst, } #endif /* HAVE_ALTIVEC */ -av_cold void ff_me_cmp_init_ppc(MECmpContext *c, AVCodecContext *avctx) +av_cold void ff_me_cmp_init_ppc(MECmpContext *c) { #if HAVE_ALTIVEC if (!PPC_ALTIVEC(av_get_cpu_flags())) diff --git a/libavcodec/snow.c b/libavcodec/snow.c index 85ad6d10a1..e9a4a62d62 100644 --- a/libavcodec/snow.c +++ b/libavcodec/snow.c @@ -401,7 +401,7 @@ av_cold int ff_snow_common_init(AVCodecContext *avctx){ s->max_ref_frames=1; //just make sure it's not an invalid value in case of no initial keyframe s->spatial_decomposition_count = 1; - ff_me_cmp_init(&s->mecc, avctx); + ff_me_cmp_init(&s->mecc, avctx->flags & AV_CODEC_FLAG_BITEXACT, AV_CODEC_ID_SNOW); ff_hpeldsp_init(&s->hdsp, avctx->flags); ff_videodsp_init(&s->vdsp, 8); ff_dwt_init(&s->dwt); diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c index ef6655c2f7..b3b7a28f05 100644 --- a/libavcodec/svq1enc.c +++ b/libavcodec/svq1enc.c @@ -526,7 +526,7 @@ static av_cold int svq1_encode_init(AVCodecContext *avctx) } ff_hpeldsp_init(&s->hdsp, avctx->flags); - ff_me_cmp_init(&s->mecc, avctx); + ff_me_cmp_init(&s->mecc, avctx->flags & AV_CODEC_FLAG_BITEXACT, AV_CODEC_ID_SVQ1); ff_mpegvideoencdsp_init(&s->m.mpvencdsp, avctx); s->current_picture = av_frame_alloc(); diff --git a/libavcodec/tests/motion.c b/libavcodec/tests/motion.c index ef6e1ff309..5f12e19849 100644 --- a/libavcodec/tests/motion.c +++ b/libavcodec/tests/motion.c @@ -114,7 +114,6 @@ static void test_motion(const char *name, int main(int argc, char **argv) { - AVCodecContext *ctx; int c; MECmpContext cctx, mmxctx; int flags[2] = { AV_CPU_FLAG_MMX, AV_CPU_FLAG_MMXEXT }; @@ -127,16 +126,14 @@ int main(int argc, char **argv) printf("ffmpeg motion test\n"); - ctx = avcodec_alloc_context3(NULL); - ctx->flags |= AV_CODEC_FLAG_BITEXACT; av_force_cpu_flags(0); memset(&cctx, 0, sizeof(cctx)); - ff_me_cmp_init(&cctx, ctx); + ff_me_cmp_init(&cctx, 1, AV_CODEC_ID_NONE); for (c = 0; c < flags_size; c++) { int x; av_force_cpu_flags(flags[c]); memset(&mmxctx, 0, sizeof(mmxctx)); - ff_me_cmp_init(&mmxctx, ctx); + ff_me_cmp_init(&mmxctx, 1, AV_CODEC_ID_NONE); for (x = 0; x < 2; x++) { printf("%s for %dx%d pixels\n", c ? "mmx2" : "mmx", @@ -147,7 +144,6 @@ int main(int argc, char **argv) test_motion("mmx_xy2", mmxctx.pix_abs[x][3], cctx.pix_abs[x][3]); } } - av_free(ctx); return 0; } diff --git a/libavcodec/x86/me_cmp_init.c b/libavcodec/x86/me_cmp_init.c index bc1051c27e..60fe3fd3d2 100644 --- a/libavcodec/x86/me_cmp_init.c +++ b/libavcodec/x86/me_cmp_init.c @@ -230,7 +230,7 @@ PIX_SADXY(mmx) #endif /* HAVE_INLINE_ASM */ -av_cold void ff_me_cmp_init_x86(MECmpContext *c, AVCodecContext *avctx) +av_cold void ff_me_cmp_init_x86(MECmpContext *c, int bitexact, enum AVCodecID codec_id) { int cpu_flags = av_get_cpu_flags(); @@ -269,7 +269,7 @@ av_cold void ff_me_cmp_init_x86(MECmpContext *c, AVCodecContext *avctx) c->vsad[4] = ff_vsad_intra16_mmxext; c->vsad[5] = ff_vsad_intra8_mmxext; - if (!(avctx->flags & AV_CODEC_FLAG_BITEXACT)) { + if (!bitexact) { c->pix_abs[0][3] = ff_sad16_approx_xy2_mmxext; c->pix_abs[1][3] = ff_sad8_approx_xy2_mmxext; @@ -286,14 +286,14 @@ av_cold void ff_me_cmp_init_x86(MECmpContext *c, AVCodecContext *avctx) c->hadamard8_diff[0] = ff_hadamard8_diff16_sse2; c->hadamard8_diff[1] = ff_hadamard8_diff_sse2; #endif - if (!(cpu_flags & AV_CPU_FLAG_SSE2SLOW) && avctx->codec_id != AV_CODEC_ID_SNOW) { + if (!(cpu_flags & AV_CPU_FLAG_SSE2SLOW) && codec_id != AV_CODEC_ID_SNOW) { c->sad[0] = ff_sad16_sse2; c->pix_abs[0][0] = ff_sad16_sse2; c->pix_abs[0][1] = ff_sad16_x2_sse2; c->pix_abs[0][2] = ff_sad16_y2_sse2; c->vsad[4] = ff_vsad_intra16_sse2; - if (!(avctx->flags & AV_CODEC_FLAG_BITEXACT)) { + if (!bitexact) { c->pix_abs[0][3] = ff_sad16_approx_xy2_sse2; c->vsad[0] = ff_vsad16_approx_sse2; } diff --git a/tests/checkasm/motion.c b/tests/checkasm/motion.c index 87b20d1c10..77b4e1458a 100644 --- a/tests/checkasm/motion.c +++ b/tests/checkasm/motion.c @@ -118,16 +118,11 @@ static void test_motion(const char *name, me_cmp_func test_func) static void check_motion(void) { char buf[64]; - AVCodecContext *av_ctx; MECmpContext me_ctx; memset(&me_ctx, 0, sizeof(me_ctx)); - /* allocate AVCodecContext */ - av_ctx = avcodec_alloc_context3(NULL); - av_ctx->flags |= AV_CODEC_FLAG_BITEXACT; - - ff_me_cmp_init(&me_ctx, av_ctx); + ff_me_cmp_init(&me_ctx, 1, AV_CODEC_ID_NONE); for (int i = 0; i < FF_ARRAY_ELEMS(me_ctx.pix_abs); i++) { for (int j = 0; j < FF_ARRAY_ELEMS(me_ctx.pix_abs[0]); j++) { @@ -143,8 +138,6 @@ static void check_motion(void) } ME_CMP_1D_ARRAYS(XX) #undef XX - - avcodec_free_context(&av_ctx); } void checkasm_check_motion(void)