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 80B2048D05 for ; Wed, 24 Jan 2024 19:51:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 30B1368D120; Wed, 24 Jan 2024 21:51:35 +0200 (EET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2018.outbound.protection.outlook.com [40.92.74.18]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6744968C351 for ; Wed, 24 Jan 2024 21:51:33 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DURhyNL8AdlisHmb9Mw5dmpZqrcwyGBiyR0oZx5hR3d6yn9uhKJfA0T8Qlzn0AxEuR2H4QLKS0xOj6/xGqual/ciD1ePcDrwH+sJGlO2GBtzRvMP4R5tNoWWs8X8AgSj7oSuCIlk+rSEG39HC6bF8DjlvduM/FjtekEgL8GDfuZN6rfAA8enP7ng6AReDfKzP7RvmAZ3fMw0UE+p9fcOevz+njkcwfrvdl0r8CZNnVIyr/7tlghiv8qgrl69puJs+ypo6dbGC0b2UGNHZSJAINPSYW+TAOv+nu1Oz8WI/bS9g86JSozY09N4qWXJbpKFWD7fZ1CjRZNlHHqmFSQ23g== 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=u3clclcxyG+fl7F9H8rjRwq3vs9gqws9fUuy0DxNrEg=; b=WhQv1MfdFf4ae3eD7PmVc4cktI6YFU1NXgESONazo1my6rZHO6p08kN0JHNFsAG1OpFEtTdh+k9gNT42mTwdhZUoYREPHPKTFm4WzfRbJ0TgsyOyFZGT/Kov+GYZT9vBOpv/B6EMvhN34duJY4K7YqOIxPwFFAhWI4IgPWq3jGToj7OL/ZrgcBN7kNNKdvYRsXzNlb35U2ozZU3gH0E0Qw/SUMw0twcZpr3+KK4tUXu6qj0bxElVRGMv+URKQJA50vk+crcIuiUGJTWQFgcyj3kl3NsxvJip62q+XO04cTQk6LYzqvusrjuU+eQwvneQNEX2aXfRzzmiVijAztcGLw== 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=u3clclcxyG+fl7F9H8rjRwq3vs9gqws9fUuy0DxNrEg=; b=JDN1ZGKcj3zA2QH5WAGMj6K77kyGYob5AWAuDQtJe0+kgQL4amzslUkt71neoeRKLBNmS7R37stM+MXu23Tfa5Fvynb8RjqGawRD15XLdBuOBffMy8QN8O6yEiqh9hBouz7CqFC9gal2coPUVL+O4D9y5VfHGI81RLcAWd7Q93s5NNUbcPqtFNSxLUBf/Q6cFzKLgZedfgy3fjpV26emArCEkW7/NWIvck0ecgk78m5N++KGTs1UbNZ57FR67oZgb8+LzxvHimFPRmiZxDWVAO5sTOkBg96VXJZLHrzQ9HDbNy7EzgNa+rAOxORNSjGEbzs2Oy8lNgkp3foLp02IJA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0064.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:23b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.22; Wed, 24 Jan 2024 19:51:31 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7202.031; Wed, 24 Jan 2024 19:51:31 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 24 Jan 2024 20:52:39 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [nVvxGklhBy2PLy9nhG/fgF5VyaDuGNGT1ycNfMbPOjg=] X-ClientProxiedBy: ZR0P278CA0019.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1c::6) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240124195239.558681-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0064:EE_ X-MS-Office365-Filtering-Correlation-Id: a08e6f7e-d3f5-4ddf-e3d9-08dc1d15dcc3 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: El6sQBJt+17nn+t+OJHWsJj6iMq0MOWrgG4666PIsng1QsEBzvva1FTn19y3YrWD2CP0py/vcQJQRI7FXnUaFJr9LZyBcSAChcm69TGfIgtoogdxpRuFFPMHM2K/ZIQ2kPQTlmxofM4G5XANQR0O1GMMp1rd4XKAN1gwVfm8YYQePr6Ee/cc8zkVDFNYJhXfB94ctc+AWk3AYRqtrtE7E1p/jV+ZHBIYz70wuP+h+LfPQGIuZcK92o4r3Nw67V4WjswwAqLLoLmSf/GVSkA3fu7DbH1kLlWlw3auu5yl52nA08v46BmjRMhbT1FtG3p+RSWxtNyXrZAuvBjfUmoojh26j9Mn6MjBJqe6yAg/9NqLqzSp+AAtGa3iQLTK4yA1aDrbBWoszzvi+8fZ2gYMCX9mojExdXBY4MyL6U71yU/uZ+MPAgyplCAVCeHKIz2y6MqoYRQyvrbe3mj0CKe5R9OpvcMBEBLlaSimsYVY6VpXrW/BI17lhVWzYHigKPDabrjEQAbADwh5zklpe07P4ryIisr7DsQ6CQoKWBUMsTNcNjzJNEVswSFAHJ2Y/Yxba8+CARdVKR2b4Cfhw/E+JiTeUkp7ubrnd/KXxzBaEW4yfRwqcYOW9ZekU6Di2f8n X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uI/uBBSSG5CxRskFuZzSe6Iwt+XrKgTAgecgKENBsaYVkF9nxmnT/4zZ+198?= =?us-ascii?Q?LSQbFF7pa7kftA+xd1MbVwe8Y3zYe67Y3f9ZG/NMlKOPPHWy2W39UOV7++5o?= =?us-ascii?Q?ESdDzTNCwTTmWO5sFyme1rXdRngNjc+RtZcx+JpjjrldaHhH+mM8cuMu0Uw2?= =?us-ascii?Q?/m8VgJBB8nC6rXRbxCF0ppTpzdpG88WKO/bt5CgXJeDcl1ScSkun7R670QjV?= =?us-ascii?Q?1N+uob1NTTf82htye5O4GJXqpesdafk9jJiVOPJqM4x1SVQreKociEURUuly?= =?us-ascii?Q?0w6ppJUv+RYsssbVTdJyHVWqLywmzu4DN9OIRmDtN0CsZbsiIpZNc66ulx7E?= =?us-ascii?Q?3Brt5pq8YLTB6fYSMEJeobFJqV1Ql0X0KpylZlpeL+jaI4Dq3YNszARCiuIT?= =?us-ascii?Q?9ER1ezz6EAa5QVR8+WFw4iM5Y0d/mAKavTQCMTE7zXGXEi+hzB728zJkIsLS?= =?us-ascii?Q?Ucas04qKSp1A6r59XkOg3N6+uS0gPcVgnDlEb5Z52SAoeiGOm7LbF2lIBOK/?= =?us-ascii?Q?GT1Juk8oCEL0YVaqJ/zv9CR/zU+sLKTEZ8jKQg61roOAVIOa1Md0GXfHIiBI?= =?us-ascii?Q?oE4FJglZkpEpOHVWbUPSb/nH9uIEWdnlSraWkzQg6tm2jM4QZDAPIKjUx5cK?= =?us-ascii?Q?IgnZbt/Gy3nZFpZnGC0u0P42mMC2eh1zZb/k6PbfYAIcOfBg9H2hKg81nS/r?= =?us-ascii?Q?U8fsEB4F/CmdNQUB/uEitKFFszJkvJ15Xa8xm1NjrN6XwzDTF+jRJYK5EKq5?= =?us-ascii?Q?sTRNh3Rwtt6N4WpmWGWfre7d/UvS7XxX9aRzFmOmf32RRW3Iis15PIh2iCRr?= =?us-ascii?Q?aw85uStrfI3RQ2cUPWxN4qJtKqROAnIISv83FGd7R8S0Ao+WGH2jw4DkZVwv?= =?us-ascii?Q?/4PiU4TizlkDEueXRJjXkQy6eNL50CPHWKlV9KAmciIJgirrbvyuYufM4/f8?= =?us-ascii?Q?4bJ/Oj7s2aMub2B3Uev2LXITMZa5Rid7bAyINkRPG4R3cy5tP0F6uN9Mgt7s?= =?us-ascii?Q?F4eXTaRuzPSPMNxDlQtEOQ/vpCiBTp++y0ErffemcGFusPBZDZUSxdHsjE7N?= =?us-ascii?Q?QFWsJ4UBWAPMHUoyrnC5rHlP5PzDF4Hze9kIDOdUFy8Il7GXwmFNSAeWkmg1?= =?us-ascii?Q?Jbh2gjQPVSiTcZNjWnsJ2LM9wRut1GiALT1rIBlsg7bWizaq41wcopxHawqd?= =?us-ascii?Q?2Pygmi/LAM3CvwkXVzM1lnHMmOv4ZBqG/evt7sTBP6/GzXzVDUrt97vjPN9s?= =?us-ascii?Q?UTDg7yf8XGHB/Ep/a4vB?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a08e6f7e-d3f5-4ddf-e3d9-08dc1d15dcc3 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2024 19:51:31.6942 (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: DU2P250MB0064 Subject: [FFmpeg-devel] [PATCH 7/7] avcodec/texturedsp: Factor common code out 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: Namely calling avctx->execute2(avctx,...). Signed-off-by: Andreas Rheinhardt --- libavcodec/dds.c | 2 +- libavcodec/dxvenc.c | 2 +- libavcodec/hapdec.c | 2 +- libavcodec/hapenc.c | 2 +- libavcodec/texturedsp.c | 2 +- libavcodec/texturedsp.h | 9 +++++---- libavcodec/texturedsp_template.c | 13 ++++++++++--- libavcodec/texturedspenc.c | 2 +- libavcodec/vbndec.c | 2 +- libavcodec/vbnenc.c | 2 +- 10 files changed, 23 insertions(+), 15 deletions(-) diff --git a/libavcodec/dds.c b/libavcodec/dds.c index 31a327a579..67e2325a2a 100644 --- a/libavcodec/dds.c +++ b/libavcodec/dds.c @@ -636,7 +636,7 @@ static int dds_decode(AVCodecContext *avctx, AVFrame *frame, ctx->dec.tex_data.in = gbc->buffer; ctx->dec.frame_data.out = frame->data[0]; ctx->dec.stride = frame->linesize[0]; - avctx->execute2(avctx, ff_texturedsp_decompress_thread, &ctx->dec, NULL, ctx->dec.slice_count); + ff_texturedsp_exec_decompress_threads(avctx, &ctx->dec); } else if (!ctx->paletted && ctx->bpp == 4 && avctx->pix_fmt == AV_PIX_FMT_PAL8) { uint8_t *dst = frame->data[0]; int x, y, i; diff --git a/libavcodec/dxvenc.c b/libavcodec/dxvenc.c index 280a965685..b274175689 100644 --- a/libavcodec/dxvenc.c +++ b/libavcodec/dxvenc.c @@ -236,7 +236,7 @@ static int dxv_encode(AVCodecContext *avctx, AVPacket *pkt, ctx->enc.tex_data.out = ctx->tex_data; ctx->enc.frame_data.in = frame->data[0]; ctx->enc.stride = frame->linesize[0]; - avctx->execute2(avctx, ff_texturedsp_compress_thread, &ctx->enc, NULL, ctx->enc.slice_count); + ff_texturedsp_exec_compress_threads(avctx, &ctx->enc); } else { /* unimplemented: YCoCg formats */ return AVERROR_INVALIDDATA; diff --git a/libavcodec/hapdec.c b/libavcodec/hapdec.c index 64e0494370..3a848e9f67 100644 --- a/libavcodec/hapdec.c +++ b/libavcodec/hapdec.c @@ -323,7 +323,7 @@ static int hap_decode(AVCodecContext *avctx, AVFrame *frame, ctx->dec[t].frame_data.out = frame->data[0]; ctx->dec[t].stride = frame->linesize[0]; - avctx->execute2(avctx, ff_texturedsp_decompress_thread, &ctx->dec[t], NULL, ctx->dec[t].slice_count); + ff_texturedsp_exec_decompress_threads(avctx, &ctx->dec[t]); } /* Frame is ready to be output */ diff --git a/libavcodec/hapenc.c b/libavcodec/hapenc.c index 92cd9c4d31..1464f743d6 100644 --- a/libavcodec/hapenc.c +++ b/libavcodec/hapenc.c @@ -63,7 +63,7 @@ static int compress_texture(AVCodecContext *avctx, uint8_t *out, int out_length, ctx->enc.tex_data.out = out; ctx->enc.frame_data.in = f->data[0]; ctx->enc.stride = f->linesize[0]; - avctx->execute2(avctx, ff_texturedsp_compress_thread, &ctx->enc, NULL, ctx->enc.slice_count); + ff_texturedsp_exec_compress_threads(avctx, &ctx->enc); return 0; } diff --git a/libavcodec/texturedsp.c b/libavcodec/texturedsp.c index b8938213ef..5fb79937da 100644 --- a/libavcodec/texturedsp.c +++ b/libavcodec/texturedsp.c @@ -653,6 +653,6 @@ av_cold void ff_texturedsp_init(TextureDSPContext *c) c->dxn3dc_block = dxn3dc_block; } -#define TEXTUREDSP_FUNC_NAME ff_texturedsp_decompress_thread +#define TEXTUREDSP_FUNC_NAME ff_texturedsp_exec_decompress_threads #define TEXTUREDSP_TEX_FUNC(a, b, c) tex_funct(a, b, c) #include "texturedsp_template.c" diff --git a/libavcodec/texturedsp.h b/libavcodec/texturedsp.h index 6de8fda690..86c8eea02d 100644 --- a/libavcodec/texturedsp.h +++ b/libavcodec/texturedsp.h @@ -39,8 +39,6 @@ #include #include -#include "avcodec.h" - #define TEXTURE_BLOCK_W 4 #define TEXTURE_BLOCK_H 4 @@ -89,7 +87,10 @@ typedef struct TextureDSPThreadContext { void ff_texturedsp_init(TextureDSPContext *c); void ff_texturedspenc_init(TextureDSPEncContext *c); -int ff_texturedsp_decompress_thread(AVCodecContext *avctx, void *arg, int slice, int thread_nb); -int ff_texturedsp_compress_thread(AVCodecContext *avctx, void *arg, int slice, int thread_nb); +struct AVCodecContext; +int ff_texturedsp_exec_decompress_threads(struct AVCodecContext *avctx, + TextureDSPThreadContext *ctx); +int ff_texturedsp_exec_compress_threads(struct AVCodecContext *avctx, + TextureDSPThreadContext *ctx); #endif /* AVCODEC_TEXTUREDSP_H */ diff --git a/libavcodec/texturedsp_template.c b/libavcodec/texturedsp_template.c index bd193aa97c..9589cc4187 100644 --- a/libavcodec/texturedsp_template.c +++ b/libavcodec/texturedsp_template.c @@ -20,10 +20,12 @@ * */ -int TEXTUREDSP_FUNC_NAME(AVCodecContext *avctx, void *arg, - int slice, int thread_nb) +#include "avcodec.h" + +static int exec_func(AVCodecContext *avctx, void *arg, + int slice, int thread_nb) { - TextureDSPThreadContext *ctx = arg; + const TextureDSPThreadContext *ctx = arg; uint8_t *d = ctx->tex_data.out; int w_block = avctx->coded_width / TEXTURE_BLOCK_W; int h_block = avctx->coded_height / TEXTURE_BLOCK_H; @@ -55,3 +57,8 @@ int TEXTUREDSP_FUNC_NAME(AVCodecContext *avctx, void *arg, return 0; } + +int TEXTUREDSP_FUNC_NAME(AVCodecContext *avctx, TextureDSPThreadContext *ctx) +{ + return avctx->execute2(avctx, exec_func, ctx, NULL, ctx->slice_count); +} diff --git a/libavcodec/texturedspenc.c b/libavcodec/texturedspenc.c index ffacf96d56..5657a6ef61 100644 --- a/libavcodec/texturedspenc.c +++ b/libavcodec/texturedspenc.c @@ -654,6 +654,6 @@ av_cold void ff_texturedspenc_init(TextureDSPEncContext *c) c->dxt5ys_block = dxt5ys_block; } -#define TEXTUREDSP_FUNC_NAME ff_texturedsp_compress_thread +#define TEXTUREDSP_FUNC_NAME ff_texturedsp_exec_compress_threads #define TEXTUREDSP_TEX_FUNC(a, b, c) tex_funct(c, b, a) #include "texturedsp_template.c" diff --git a/libavcodec/vbndec.c b/libavcodec/vbndec.c index 02ed43f874..83ce9e994b 100644 --- a/libavcodec/vbndec.c +++ b/libavcodec/vbndec.c @@ -162,7 +162,7 @@ static int vbn_decode_frame(AVCodecContext *avctx, ctx->dec.raw_ratio = 16; ctx->dec.frame_data.out = frame->data[0] + frame->linesize[0] * (frame->height - 1); ctx->dec.stride = -frame->linesize[0]; - avctx->execute2(avctx, ff_texturedsp_decompress_thread, &ctx->dec, NULL, ctx->dec.slice_count); + ff_texturedsp_exec_decompress_threads(avctx, &ctx->dec); } *got_frame = 1; diff --git a/libavcodec/vbnenc.c b/libavcodec/vbnenc.c index 01c2482bff..abdc33c2c9 100644 --- a/libavcodec/vbnenc.c +++ b/libavcodec/vbnenc.c @@ -114,7 +114,7 @@ static int vbn_encode(AVCodecContext *avctx, AVPacket *pkt, ctx->enc.frame_data.in = (frame->height - 1) * frame->linesize[0] + frame->data[0]; ctx->enc.stride = -frame->linesize[0]; ctx->enc.tex_data.out = pkt->data + VBN_HEADER_SIZE; - avctx->execute2(avctx, ff_texturedsp_compress_thread, &ctx->enc, NULL, ctx->enc.slice_count); + ff_texturedsp_exec_compress_threads(avctx, &ctx->enc); } else { const uint8_t *flipped = frame->data[0] + frame->linesize[0] * (frame->height - 1); av_image_copy_plane(pkt->data + VBN_HEADER_SIZE, linesize, flipped, -frame->linesize[0], linesize, frame->height); -- 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".