From patchwork Sun Jan 30 06:27:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33915 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2c4e:0:0:0:0 with SMTP id x14csp1770533iov; Sat, 29 Jan 2022 22:30:23 -0800 (PST) X-Google-Smtp-Source: ABdhPJxoqRkqh4GpqTfbIOjeE/ch/DW8iXRd5T1K5fB1nrErn0z9oynqugHI7+Od+9J1iuYTvJd3 X-Received: by 2002:a17:907:1c11:: with SMTP id nc17mr12556464ejc.675.1643524223258; Sat, 29 Jan 2022 22:30:23 -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 m20si3532602edc.403.2022.01.29.22.30.22; Sat, 29 Jan 2022 22:30:23 -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=mzfWEzIM; 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 0D28D68B1B6; Sun, 30 Jan 2022 08:28:35 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2083.outbound.protection.outlook.com [40.92.90.83]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D50A568B160 for ; Sun, 30 Jan 2022 08:28:33 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BrgTF6kHWMp1Od+t8E3gW8vcwN3DsgAtgU0ByUs73zBCgkz50tkWrnGyFrX7kWKjKfoZiq8FciNs54R7SOED7elCdti1p/BbqH2L/3KM+ahGxAWdIAQPx2liUIlcmqvgAbSSxfORrNeQtEhn8QkCT+cPkQaBO7A7kEIT+n2i+GngRDSTfvkld0Rr5bmRWqK2eIA/ftVOKKuGW8zKiOLrtJz2tJNnbkmRNUCVT1QjAt5qq+SJnaLX2XMJpS0wTpKBf7qqBVOiTEqFzQQBaqseY3JEDVdwCbhMtIaZZWTohLgCwN3puSeOph2edxr2KlOXPWs5JaYicC6fDS12/OOadw== 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=mlkLdLLcqMYcM2ldDJQXt0mJ/RGMVNwxS2XtLyzpzOs2315Ttt9zCtPkI+yCdBc0+e7CWTZHIsarpfe/HOpgdqbE+rK4ZQflnk/YgD9T3Q7QSOjrnxUPy6ZxoSqgGiHuuALZim1smJYp/xuWth42mlSjr+e4FFio6ZgQnUR52Rb8lqqqJGQp/s6pf99X6IfX38Ty+ixfVFjn17iRxw2wnajqZJuUhvEHRJi+QjcFxn9iksTANYc22HqWn81bsVhtNQla/fV+RKmQJv0RdhJ5F+gqalmp72V0r6GqZ7LBv0XolZGSWCmuRDi9KEycgdqrU9+88FpsIb58e6/PflCBtw== 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=mzfWEzIMPT23fOfJAXfP9gJNQVschGM9vbfgFo7pqxJaBO+eZw0J93iBlPTyfXm8tmtG7dxIeexjfc9HDsjm7Y6iroed3mDb/kl9uvW4XD0KjHtQu2/eTVzbjoW9T+5Y3B1H74qR16V5De7c90WZV5DspbvOKcv+K2NQUUJQXTdA2kml42JDJFl4Pg5QdHqjFQCo6WwUUhK4Oy1sZrhAB+w8b8q9ze17TWmiXappWc/E7NGUaGlsO4JiKs8sze65r7ngrj71lOuZu0JWtOBCnRD5BQWPdO80CrTvCDSrqyT90a4OEZkYB5kIOSe16uvgU3TAvtOtGkREqGsMvsLiQw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by PAXPR03MB7666.eurprd03.prod.outlook.com (2603:10a6:102:202::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.20; Sun, 30 Jan 2022 06:28:32 +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.4930.021; Sun, 30 Jan 2022 06:28:32 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 30 Jan 2022 07:27:22 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [37ppy6KXGxyoxcWaVQyVA7XVYa0NNejN] X-ClientProxiedBy: AM6PR10CA0044.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:80::21) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220130062749.936489-13-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 56eea807-b64d-4835-d34b-08d9e3b9bcbb X-MS-TrafficTypeDiagnostic: PAXPR03MB7666:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sBx+dR6lY/OQWHieM2/Fz3JhiNDTGy0zWAjLMOy50pXi7aRhBT5BMqk6GvmxfcgwMFgacDyNldHnneelsFS7Kym40+VWy0+87Je7G2Ex4KamtBCfFJW6YjG8gq0tXMI7snUI/oP4h2d/ltD7l/Og0zo+N8SmPYSnW8v+fzDUna542PFJ6/LdKPu3CzDIKuW9kd+VIyktcgol3eFee/uB0pcxR/nA1jZ5LkPHBvaFESc6RFTKopcKogg8Yce4BJfij0aQ5dh9j+pCfVy1neuThSOFOFLX6fVm9MrM9LmcB5vJxGzTL9XJtwD0UryEFc38lGi3wJZIsFKQKcuJyn/PrH24VaC/t2Wci39PhJRmC0LtEdqY4+rKeekE9cz7ut0CjUgurYNiWfaIz5arvqznc/u7jMZ3xbmwA1BVTYYMPOdABlS9jzY8/dTDvUKy0zrwftQNSUfmDJQoQm7p9JRuxvoXHgmZUu7xs0B00vfSN/j0cP3o7TnlTs7beiEYRWbBRGfPRhW+btI4cY9QaQxxcxYnxXEsda3SMJ2+Md/0Xbb+KBEwiySvvULCHatDf+Px X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AyWIfzR9jZuMycqFASr2hpHRqu4cBU56rescQMdVW5hCOiseVPl7zjVGSFeuk6NWKQr6deytFFx/+p10Zr8Uvzo83KdMcRMuF9qo/ISepVQAdc0AvxJEMLnWgkELn6eONyjhXuQI0JMMQUL3s8JvXhWJzon1yYJv+skppj8PqBge9I1BALBSd8FtiPzAsDxNLdjx108ZBzb9fNLgeFL2YXU5Fl8OluIyOimYHk0yBxPvX2bmYYqU6aj3mslVTMG/0dCdySAmfe7hKbTIHoEXTXx7ezdquf6q8QFc0m2z2bBSR1YrTuPJy91C4QneInu+oKnqYO7XiD/LVrxshduGY+R8sFO843XtWkFZNyzEoig2LTdZhWt3TzTfN1j0jQPa26jKLMyERSuqk16p3eRtJCqVdvlL2uXIcjNG2+wIxvKh2aocNeB7TEhDvi3Vvyd+oI2Dc6RY4q6/tUC+EcJKGnw8zuyPYYJgNt8mrxzjR3rCW8uF1NVvRfDIhpz9lMc16Cz5S1TZUm8K1BbabJTt4zPx5ugMu008AGaTiy0leXq9MAyT51stl+TK3FkvapIEyTSckUyMEUWlC/W33UpWxdz2DvE++xR1Gv6netQO2lrwu3pMPe9ZwF1njJpatTgZgJAfhIuYSp4bnT65yl6MqQw03uLx18INqRt/nBSxDsmSecMKucs07Ph8rvb+Wjb90PJ5cJbsfN1p+BDYkRENtWEdtFjvRibBg4ezsPC100/DXykeqk7npPPp9X9GoLnkYJ6JBkE1rEPv9+84m4uKoH90Lgb+pOuwNNu17FG37wCs6BptK6xUD/TlnQm6B7hA+hQCD0qc4FKrkyEunPtLygpvr2hBi0vGZg+RRrIz66juVy2GOH3TM8GBot0tm/7UKZHg7Znr600rO/VwYbpDS9iuyK6nJmQpD8a2emskALMpRW1T/WTrsm8P3V3KruzCGTvrmFC3yKnAgm+VaEMEkg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 56eea807-b64d-4835-d34b-08d9e3b9bcbb X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2022 06:28:32.5297 (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: PAXPR03MB7666 Subject: [FFmpeg-devel] [PATCH 14/41] 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: 2Tkx29UOA4Mb 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;