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 06E4B40905 for ; Tue, 1 Feb 2022 13:21:30 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B461B68B43C; Tue, 1 Feb 2022 15:09:02 +0200 (EET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2045.outbound.protection.outlook.com [40.92.91.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3A57368B3C6 for ; Tue, 1 Feb 2022 15:08:47 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eSRdSA0vQOherycpr/DeJXT62nHJ36G23Cchp8z1u9ohNlfXMjlNkJ6ZX+XsYBLzqxtvnRuwMS7jsCjsJ9h3js6OXwMpi/wU4MXMmigAvjV1omt9wvW1WDDllQqiXm6IEnRfZcieQPfHdskf2ZM8RdwKvdInfuQe54t6stcfSbwg0h0LodFcSrTTZCgkUdRBu2a89Csr9Vc2yvFQqE+2QieJW13mf8IZFQvmQU1e1o85DONPv/1XqgNOe4w1ChRbOQoZik4m08/euSCgNga7vHZPLE+bVxtXr16qOBe2m6fKpQShCisuZI+txbBxUK08MX4TOObagj90fMET1H7xXg== 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=sJ4xb0rp/Fcjj+I28foot4JESrD/iMVy3ItgAnRW3RI=; b=istiJZpu35uyiG9NGJ5gXRfDee0gZ5iuS0ci7KWEYkwqiPy8dKTuX60kv0c2iWVGETp7gHwvugGmckTraXTmddobDGDBX/HQ3rqyWBx/pRlvXRRqZTCypO02MuKssPb0mtVnLpyOdXejN87atFKk0uz+kL6l61Z2KYCvRE/05fyGFQwLUW8NTpFXEaPQHfIAbtet8k0itn946BcX5m+5dUxyONGbpeUEdutj+hjK7L5NR3DjK2pzd7wLaMTVpcwNvbws1kpZSBA9xsduw9QHFoATGPOhi0+UvKxgra86mI+rhG0bDik3uQ/dsWWxIY5mTd+KgFom3QOYAskR3sDWxg== 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=sJ4xb0rp/Fcjj+I28foot4JESrD/iMVy3ItgAnRW3RI=; b=kcMNjijeH4OwvQQ/Wv9JEi6t9jKGaPI9NmSwK7N6Ziv3M+nXoVY2LLyQ7+/u80QCE1+Ha3IQy1+Xc1ZRgVr3UMU/0B1dcEnSBw+a9CSQ3VPgi/Lfx+Y6QpGLq+YJLvAGmsqBAgt2cxCCAQrw72mU+VYQYK/2UKanmZzEluDXeGXTOp1mL/VOnU1YBOxMJwh3fUx71Fz/pcgxvmJcXTSJxXf+2/i6eGLGr8BU7iKwYupIUjOnvemAP89bCCi4TOTaqLt+EU/Y4fqqlIGgvXRERs88HS6Hq11gkPeng1QXakGsrliZHnIhWPIbeciUSQW3HVjX3KezuphTy5BXH6HCDg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM9PR03MB7962.eurprd03.prod.outlook.com (2603:10a6:20b:439::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4930.22; Tue, 1 Feb 2022 13:08:46 +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 13:08:46 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 1 Feb 2022 14:06:56 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [5yEmtcyEzl5RIXthKjalLVgeWDMxTaE5] X-ClientProxiedBy: AM6P195CA0092.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:86::33) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220201130706.1420875-58-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: eeecb7b3-7062-46bc-ed19-08d9e583faec X-MS-TrafficTypeDiagnostic: AM9PR03MB7962:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: niwZdgxgwIOJTfCi9Zic2+kN0APKEEG1ZFU9vJWsrEgiwdI8V8RjBuNDCbZYAAKE3YLhot1unClJSGRr5eRIAEW5lnQEhYilQlp4nvVb8Qn+Y1/w9upLdD+aN7tU2LFGwXB6im/2Nxjbpqw8uC3WfyFxiwrMErxTR01FebNEQOTsgsAZfh3WWnn0q4xWQe50iIADRnfkwwr25+BvJ0Z3k8imHP9T7ts2/VJqlbndYvHlPmejnNNKEp5URT8VmS6+QIAaH8pKttVMs96q6VvF+QLLQAr/43hPDcvIIqLgusUhtdT86D6EvNsEm+G1NwaX4CgCZhlCrk9BadHR78TtBleFOd9myIGkN9GirQtEGhl0QxKbNbvVABprMuq3RlhUKRxEjF4TzLem4BLvMlL8vwd6iuL3gM0JMi2KRggci3/BMj6td9hTqCYdbIjulyGJrIXhwzUFI91hJi1CCAaftRgRtBlvsa62MeGKUYFzc/9OYq1fmh5dh/OzaSU+Nxi7iNDdNoKUuvDoRVGbI7vygFuXlX9osvWRkWSVzHjBJJg/kkuJzQjNwlrqinOv+9b/ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uoyhMvQ8opZyJBclbUXD8+GVQrheeFUP80gYJ/SdyiKKxdWYShrJ6OpAZroB?= =?us-ascii?Q?Ih5MZz3HkcOT8KOoLMXQSCBmmAiqnRflVjZDye+7R5i7PC75EsgTwyFSuOwQ?= =?us-ascii?Q?WlvqDT+qF8srhr5Bxwcq61IzsZMtEisTdrQ6uQ/IEyYFgCfniiduesnPNDWg?= =?us-ascii?Q?nko/xtFaTcO3WZ44A9FQwBKrHz/W7jaIBVWv4Y2a1gaVkGPD1WtcycT9tClG?= =?us-ascii?Q?j9Kp5d2pGMLK/LEf5AthtXEMYQ+rQW992tGEW8u5nSySV3328KpIChOc5+ge?= =?us-ascii?Q?QLASlmoDzHcePO+2aI6S+H52JOABftNtG95UTQZepUfyUwEbEPevv7b1BJHn?= =?us-ascii?Q?0A1/HeAyiBQ6Arv8DTg7WxLHOpD6aOdVyNVSEqwasd7YRgWhCz0lyZ2DDFym?= =?us-ascii?Q?dx5gghN2qCO4L59MCkMzMjtF7eZTtu5IqgBGuZ8Xtf6eczCQWlUdY9E8yBwt?= =?us-ascii?Q?cknVN9xL+zbtgR6QYlm9eotiRMXXkysNtxiHvO62kyiAMne3B1pS+1HUt+Ec?= =?us-ascii?Q?E4LPZQ6wtvom37HR6mb8PbZog1/1EHgisLWpg7wx6sbgm/deQUfG74rE4j+7?= =?us-ascii?Q?cDbm1Z3MHfkBsZayRUH9IKHr3a5qECHT/Q8U3LGuRbE40PCQtd4qdAC1KDLI?= =?us-ascii?Q?LbAplXWPw1czikpbQ3x0cSbsc0yLzeOAOCw/hI2QWC21pcxWi25yVvmvWGNB?= =?us-ascii?Q?pkV9bFv9UUa7LlaC5QQYOHlDJtahUp+1p61rjSTO786WRZ1lQJQm/N1ElXNx?= =?us-ascii?Q?4Xt1QMLR/NS0Sp3qPIAPnn+m38S2Efztnqjc0lV+uMESRno7D8u00tAm3ePb?= =?us-ascii?Q?KHlzV1Y60JBmbNTXYkO2/+oDWeb27NAa/TQt0uAt/a1iIyReERCdENSFH8jK?= =?us-ascii?Q?Ruwu+o6ZHCwN/QxlwCAvi3y1ts9LWQsRmgsvkvK9e3mP503h5enLgiRiP46z?= =?us-ascii?Q?b4CJrM2e+nsofDvRnhHbBA=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: eeecb7b3-7062-46bc-ed19-08d9e583faec X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2022 13:08:46.3880 (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: AM9PR03MB7962 Subject: [FFmpeg-devel] [PATCH v2 59/69] avcodec/mpegvideo: Add ptr to main MPVMainContext to slice contexts 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: It is a pointer to const to allow the slice threads to inspect values without modifying them. Signed-off-by: Andreas Rheinhardt --- I am unsure whether this should be a pointer to const void or a pointer to const MPVMainContext. libavcodec/mpegvideo.c | 3 +++ libavcodec/mpegvideo.h | 2 ++ libavcodec/mpegvideo_dec.c | 2 ++ 3 files changed, 7 insertions(+) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 220f1c39f0..4b22eb746a 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -396,6 +396,8 @@ int ff_mpv_init_duplicate_contexts(MPVMainContext *m) MPVContext *const s = &m->s; int nb_slices = s->slice_context_count, ret; + s->parent_ctx = m; + /* We initialize the copies before the original so that * fields allocated in init_duplicate_context are NULL after * copying. This prevents double-frees upon allocation error. */ @@ -524,6 +526,7 @@ void ff_mpv_common_defaults(MPVMainContext *m) s->b_code = 1; s->slice_context_count = 1; + s->parent_ctx = m; } int ff_mpv_init_context_frame(MPVMainContext *m) diff --git a/libavcodec/mpegvideo.h b/libavcodec/mpegvideo.h index 9005dcb58a..1c44e9be2f 100644 --- a/libavcodec/mpegvideo.h +++ b/libavcodec/mpegvideo.h @@ -76,6 +76,8 @@ typedef struct MPVContext { * offsets used in ASM. */ struct AVCodecContext *avctx; + /* A pointer to this context's parent MPVMainContext. */ + const struct MPVMainContext *parent_ctx; /* The following pointer is intended for codecs sharing code * between decoder and encoder and in need of a common context to do so. */ void *private_ctx; diff --git a/libavcodec/mpegvideo_dec.c b/libavcodec/mpegvideo_dec.c index f202db33e9..fd97e6ac1a 100644 --- a/libavcodec/mpegvideo_dec.c +++ b/libavcodec/mpegvideo_dec.c @@ -72,6 +72,7 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst, memcpy(s, s1, sizeof(*s)); s->avctx = dst; + s->parent_ctx = m; s->private_ctx = private_ctx; s->bitstream_buffer = NULL; s->bitstream_buffer_size = s->allocated_bitstream_buffer_size = 0; @@ -83,6 +84,7 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst, if ((err = ff_mpv_common_init(m)) < 0) { memset(s, 0, sizeof(*s)); s->avctx = dst; + s->parent_ctx = m; s->private_ctx = private_ctx; return err; } -- 2.32.0 _______________________________________________ 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".