From patchwork Tue Feb 1 12:47:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33974 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp586457iov; Tue, 1 Feb 2022 04:49:05 -0800 (PST) X-Google-Smtp-Source: ABdhPJzF1tb1vm17oJgeuoFf92vQHjcRbr9Rtp3Ze+SrlLuzIKKLwQs+jGsmOJwGo2lyfq3qBy7t X-Received: by 2002:a05:6402:254a:: with SMTP id l10mr24927382edb.230.1643719745232; Tue, 01 Feb 2022 04:49:05 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 30si8315249ejq.841.2022.02.01.04.49.03; Tue, 01 Feb 2022 04:49:05 -0800 (PST) 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="TDh/qNcf"; 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 3A91F68B275; Tue, 1 Feb 2022 14:49:00 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-oln040092067066.outbound.protection.outlook.com [40.92.67.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F3E2368B0A4 for ; Tue, 1 Feb 2022 14:48:52 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RHZzCz0zf9o60eNHmPx3zgqcJi7p5s1coBrlgiZfD9TxEiv9Cg7SYzBN3kTdUog99/nuBu8Mm8LAzQuGtCbrx/idqKmcPKIzbyISO0e4am7fmwmlSExKA8JX76ivCdUZxz7ygMdaN/kblLjdD96CVGfV8LwLJLywGb7Kb2+LCDCENODr+2W3O/aOppMDorcMX/oDVVwHuxF1om147sQicoljxMveZ7cZwjBG154C7BBeTGYpuCvSCWSjpAw5OWxWdk8R0dJuqCmgpHg57p9fSWDhgPWlzXvR0st7lTZjdGg/E4SGzfwraVBsnbL9mF7y/MLuobOaj/VH1GI2aHXTcA== 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=6KPC/r1Ul6GViifhG5bKe7ZiHwxAeCn9i54QmoAtOZg=; b=aAJgVLIhitxrY94ck0KlPMOv7fEsgFnnuEePf/dZnu1RRfaq0IO2ChdNY3r1nseIYphlYjx198cDxoGjWT5pasSTedM27qnfUMA+niKXgAkWN50QEpNv7CBV9czX7ntuiiDblNi3HLDY+ggHak8+lFy1TzLh9uqf7mjbS4vWQIvpS2mV1erFsBbREEUVoTS+qywPDaLGuW/wVM3puuALohxsdJeEwsyOe4yxxIHvtg4r5S1ckr5FzCZMt7go4JdDRhBrX5R6NozLu+SWU31PgqEpp18RZGFTTnx+yIcKkMaY4HVGYin/UzvD7h/mwJzfcm+jUiG8wKU2x9+ON5Zxow== 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=6KPC/r1Ul6GViifhG5bKe7ZiHwxAeCn9i54QmoAtOZg=; b=TDh/qNcf3Qn1rWgZnZbAZrJWwhKe/ai+D+PIIdLt2Z2Kaal9ak8vjfroIrwWK14o2XAa+cy8pAEKvqQp4PT4+E7Gv04diW7Zn+zfmkEwuZR8kdwHqcJeDoT9x1QgHs7y5UGs0dnZfuh/NGsZo4PmLoiUmKx0aeUiBrfJH8mQXjE3OepVYAMt6CtGMmESMTybjE7gRYBu2CT4bstzDJc44VsSIcbmGxnkIm3RPFfwWR0H3D8inUB1jIY6kCvIpMM7qs1WN1moeVt38XsOMu1buWOhfb7bx20MWaZatuy70dmCmTO6XWB1bx77mdnlh0SKTaSKpLLnGi5jFEnn9uKBmg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by HE1PR0301MB2252.eurprd03.prod.outlook.com (2603:10a6:3:22::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.21; Tue, 1 Feb 2022 12:48:51 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%6]) with mapi id 15.20.4951.011; Tue, 1 Feb 2022 12:48:51 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 1 Feb 2022 13:47:33 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 X-TMN: [ZubWA0B1lYLBXTnDYnNGFpOsuiZBamV/] X-ClientProxiedBy: AS9PR06CA0210.eurprd06.prod.outlook.com (2603:10a6:20b:45d::28) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220201124841.1418979-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4f39e474-f35f-43ae-d893-08d9e581326d X-MS-TrafficTypeDiagnostic: HE1PR0301MB2252:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gkxhAHf9p5IKMAlRFoyeY8gp1a8W6SNW//xaaRXkeUYDQe3gTudI8aZ6g9Xmj6DVM6YdEtZnc1/OG9RsDj2fBNgqTLdMKmSjZcwP/B66t1uDn06x001FVZBcnqcsgVbHfFV6IGABPMcqe0aziKneBLX0hWg0Xx8hvSWzCzLx4iZRvioSMFTz/LD2WH/j6+bnPLUR6l+bg/QoyEASzbmt0munBLlwhq6Ghi+g7es3PRuqBDzK4+8erMLqW73HIZoznUc/2LEc6HFAxnhkTlSyABtGuzsYTyFXeR/IsVJ7EoTup7ACx4gZlCWbIUEw6uK4yGks7k3gLMb3l58B/vCnTU73j0WdJwSIYFxAXVMqftdiFdWLxaiN1yMSZOLocpaYkHw1gXONIfab9fszEdPC9YyzIYlImyM4SRzw+sUcNncQ8vYtwiKy8oFrqxw6/PRm5MW3bqQ+MdICygHzDh34hZ4XkmSr9/juioRf+eKJquDQous580x3OiCpXvJjUvAdgIN+EKA+lPwQcyW13KuucjcPKRqsop9JkFNQPGmfJU2RwxenBiKgDhw8DfpXQkpb X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: P+z5WQlNrOzqdcrV0BTr/YTs4z1TJfc5NfEfHtwtKM+wGYirMx6NWHRItcN/9w3qlp1Onnabsewpr/EhvyzHEjyJifsgq62T+09+EXMzw/Td+0WPB/cAWRdhNnPnk1S5OCV0gXv1Lg2a1tPjWhjTORVveB6LTBOmtWo1tRkHKqWNXti7fdZtZy/NH+Zhd7MUKxugF8XqXJW5ER+Xg9LsuUq3w+z+M92s4aCsXXe6bA3osQNdP9Odu76zd8k5LH4kXY9UY6bgub4oz4kzzunFXUQ0txWIG00anXpIdUPCsEl2TrwtCuWvvUi1nP4N0BXRKQHQ8BjvwrgjDGwV86oXEXyMmvgCp/lIwIAx6SFtvDsbbQDQoeLJoCBOFTEq4TzcaBJDAbnituzZeGHcnMvNLmLGycv/fVjoC29QrJ/2goKRX0z510pCaKYgm/7T7lsHIbP7ICIvwGQF15+7lc7ozPMr0WzIuGbbTFynoSLkFHPQL1RKbCsqSkOI5uDoVz1VLOtwRZH/ve3irrnp4AQhrCOvchKO9bQ6+MwBC2Rp9yIKOvfyUgRXSgXSUucQE98Hzwksy2ykradjXS/gwtJ+NJsBb9FBfrS7f/rHSMejnz6F97CUcCsEiZAUM0AtYlqmAmTTBJZnVYpiJKoGgP8LJEDkws2nBiPT9XLPt+/triI7jsGDNhzEXUN53fCRjLubdl1g5Jw/ebAk0/IP28NU7d7NAL5/8pLkSpLyGFJSSqdtXwn3DpkCiZjlH9W/bCYhOX4HaxyArHf7a2Akd6BH8+U2xn4t5Xiuq7CEz86qfRkwoW03xr5C3OOsbnydkcQdmbPALp6leS+6iASGVD/6JbJ2lH9iLCz5+2xCQ5eiAhMY0uAsWXm6fIRLWWQaGBOj4ZicIDGPD8/G5gwSh22FX7899d5X4Er/Qvvre4ig6HASmmrSUJrDpFjRBHibNQ2kfV/xtMYIY3msSY3go059MA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4f39e474-f35f-43ae-d893-08d9e581326d X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2022 12:48:51.0955 (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: HE1PR0301MB2252 Subject: [FFmpeg-devel] [PATCH v2 01/69] avcodec/avcodec: Avoid MpegEncContext in AVHWAccel.decode_mb 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: abCB28iK+2vY Use an opaque pointer to void instead. Signed-off-by: Andreas Rheinhardt --- libavcodec/avcodec.h | 6 +----- libavcodec/mpegvideo_xvmc.c | 3 ++- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index ec1a0566a4..918753fd0e 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -2026,8 +2026,6 @@ typedef struct AVCodecContext { int (*get_encode_buffer)(struct AVCodecContext *s, AVPacket *pkt, int flags); } AVCodecContext; -struct MpegEncContext; - /** * @defgroup lavc_hwaccel AVHWAccel * @@ -2154,10 +2152,8 @@ typedef struct AVHWAccel { * XvMC uses it to replace the ff_mpv_reconstruct_mb(). * Instead of decoding to raw picture, MB parameters are * stored in an array provided by the video driver. - * - * @param s the mpeg context */ - void (*decode_mb)(struct MpegEncContext *s); + void (*decode_mb)(void *opaque); /** * Initialize the hwaccel private data. diff --git a/libavcodec/mpegvideo_xvmc.c b/libavcodec/mpegvideo_xvmc.c index f06583768c..bfeb453834 100644 --- a/libavcodec/mpegvideo_xvmc.c +++ b/libavcodec/mpegvideo_xvmc.c @@ -168,8 +168,9 @@ static int ff_xvmc_field_end(AVCodecContext *avctx) * Synthesize the data needed by XvMC to render one macroblock of data. * Fill all relevant fields, if necessary do IDCT. */ -static void ff_xvmc_decode_mb(struct MpegEncContext *s) +static void ff_xvmc_decode_mb(void *opaque) { + MpegEncContext *const s = opaque; XvMCMacroBlock *mv_block; struct xvmc_pix_fmt *render; int i, cbp, blocks_per_mb;