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 4F70D4A464 for ; Tue, 30 Apr 2024 19:07:20 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4113068D625; Tue, 30 Apr 2024 22:07:19 +0300 (EEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2060.outbound.protection.outlook.com [40.92.90.60]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B489F68D5B7 for ; Tue, 30 Apr 2024 22:07:12 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cVSs9g/xLw/2yM6Ec5t5YhqORVXMluY5VEgRRgOaYowL88p7JlFOx0H30Ew+HDhDO6mbfmd+MoXiqz4kWSCL7QoCzf6vLrVOzh5mHsqa1L/CnjUbPYrZsGd/qbn5lmiGsdej5Du8j+pM6uYddrLoX7DAxaXeVYH23bS9KEge6euLwJPmOV2pjdp6PmFHrLfL3/d40XZ6NqhNBuFAl8yrYD54s6c1iLGddZ+kWflmGlxgG9WAUDIcFlnCOJgYYIIjhmgYNLMOoer8CfPjcWkddfW9G2OYK8+274eUC5536w/8kBkUGbqig5NRgJAK+8EpFWOxak+qiIk/B21tGhXWYw== 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=AYOzuz45qmjv01t4NIOYJopC9sVG5HjY0IU17/t6RN8=; b=nd8F0NOflCOnEU+o2LmFy6PdVGJjy5WujAHVUy4uKAT0fN1LltfGSnNlpeQZdVGDh3+rEUwLoQXd5x3wRpl5wk4kBw+8F1PyBp+TfjVGSmbkyDkBoiueO7HCx6jYJycEBcAvy6KQRN2b0017uAY1Y5L/uLMfMC7hR6LzHoUi6T6MV82ipipmohQm4zFh3TKMNTTtmf+ydsivhM+6mwSi7CPeDqnXWEHFFhWBRSWcifAAIFUeMIVnV4xsziAzULve4SUfgL+SBjx1YZs0LhY22K8yh0RNCniR6p++SnSbrR48pwoD/hdK1gf3h2onO6QUP2xvPCBrYgTTTCEetynf9A== 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=AYOzuz45qmjv01t4NIOYJopC9sVG5HjY0IU17/t6RN8=; b=Gknw/z1UPiyEkJAaNplysIPj7+yHLjoAGDdDfateT0vneHbAMjJMXi4luJY3uVHL6KEsR2qc2WaxV1KpN18t8LdImIz6yOm7bUTUqFGTEYmKUppwlkJAxKRvJXeec0NDmKJHEQLg3kRDqINE463yWDNIymYGp25RLmd4vlf0YQ6mFA3EzHTq7ZWb5CsCRbtgQ8nGeMLkQ1zj12uYQI+W+vJvwqJvhu5v1sVYyLmhGy2Ce8c1+iSDx/061u0nn6kMYDPGIbT+4o/M2QBkAYehaW2d2meYOTNcaW30eoiHLmmy4BHdWuw4SsPKNhde0inFbjVPEe/xDZvBt4dQfpWBrg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0373.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:328::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Tue, 30 Apr 2024 19:07:10 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb%3]) with mapi id 15.20.7519.031; Tue, 30 Apr 2024 19:07:10 +0000 Message-ID: Date: Tue, 30 Apr 2024 21:07:08 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240430185742.GR6420@pb2> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240430185742.GR6420@pb2> X-TMN: [Lzq2gqimpOaYq1Wgk94MnFwa94/FBlGE+yuAF6CKEiI=] X-ClientProxiedBy: ZR0P278CA0209.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:6a::26) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <173250fb-aeed-4728-a3bd-0691b5435a68@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0373:EE_ X-MS-Office365-Filtering-Correlation-Id: 553838a5-d23a-432d-24c8-08dc6948bc80 X-Microsoft-Antispam: BCL:0;ARA:14566002|461199019|3412199016|440099019; X-Microsoft-Antispam-Message-Info: 6U6nQ7QGUCjuhqpeH3WOLn+WKN7z8hPEueUkAnORveYfGjpIs0MK61REQ1lC25IPOU+70k+AoJoeindbQT1mCy4m0nC/SJm8FzomyHZjmyWyuDUSplWfeWbBSUNZlxU4ZLtZsZj7LdBRuwJtbbaYKMHmAJsi4yM8/rHeXgTUWfFdrKyM97MsIvbQDbdDft8jYJYYKcPKf0iaG6wj0WoLVV3R7P12nNSthmu/sMZMygOg1fdnrwbHIsZdOKe8AKopu+Mljb0x7xnIYRdXGhrz1GzkC54ArdLUTrPTJszie5SBNv8i1IOT6SUeanT8rZh7wF37uGQe/NHPLaPZVr/pS8GjZEoyt3pn3dbMtcIXR5iGHI+gVRBBEzxQBVoV8k36eLqjiaGjeIn/F9gfq2ucjkf8OGSOZY60OqEllIav2HELMM8Ph11mmDIAJDPP60z1YuArAAArjeJYp15sEu47CKI7kjl2VLW7jGtCqAS2bGDCTrvoztb188m8FE2dVaiV+78rDa6467Oyo0ux1i9he8gkTppjRRyn2VpW+3ri3sbAi8Qu7dedEKhLscDOqOqm X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NWx1SjM3Z0lYSDZReUVHVGYza0grWW1UMkJIU1VGS2NMYlViNXZxVVVRQVRG?= =?utf-8?B?TGNiMFZKdWZKTlNyR01DOHlURDd1NElDQWh6REdOcjlQQk5KeURUTmh6ZkZB?= =?utf-8?B?Z3ROY3BmSWZwS2ZJeGJwMjlrMlpnUHQ4Slc3UjdraFVVQmZLbEJxOU9Zam1p?= =?utf-8?B?VDdjZkorM3d3NTBnbXBrSkVpc3hOMXdZYlI2OGlGdDk2RW9KTk0rNmVWL2l1?= =?utf-8?B?ZzFUWER3MXprRzVCWXFldHRzUk12Mmx6L3VkWmRIMzdFRG5oVi8zMWhRTWpL?= =?utf-8?B?TG5jMGQ4UXhLL29WM0pBMnA3VUVydFBYS210WmpTVDk4TCtKK0RvKzl5cTJR?= =?utf-8?B?TEpLOUVaMEVJTERWbllCY2FTQnNUNlphb1ZNOFVoZzE2MGNPUXRKRU9JZUpz?= =?utf-8?B?VElJN2Zrb1pXejQzV1BFQis1TTlYNS9GcVErTFh5SDNCdlJNWnl2TTR6OVJI?= =?utf-8?B?Mks4Z1VscmNqWlpYUWp4K0xkdVhZeXc2NDdoWWVXd3ZLV3NpWDFkb3NrdW5T?= =?utf-8?B?SmdZZ2w0a09UdUplUjM4THpQQkJmTEptUXo3bVAvV1RDcUNBa0V0VVVVVVdv?= =?utf-8?B?OXdrSThCbDhRbkoyQ2tLNjZwR00yaHdnOWhoWUFLVGM2VmQ5MXU2S0VBRDhY?= =?utf-8?B?dFJWOTdBK3dDSVEvMUpDT1FhSEsyNHoyUEpRV1lJTFZ4TkY3SnlCSG5NYzZK?= =?utf-8?B?Tm94TUYzOG5tY3U3S0FyZHBBa1kwUHJVOFlMNmhJS20ybkpQT29GSUh1Q2dq?= =?utf-8?B?MCtUSVNPeFBSL28yUy80bVZuNHV6TkJzOTVWL2FyL2V4N1RpUmNPTkg2aHpY?= =?utf-8?B?ZDRWVnliVWFkS3E4WlFMbERyaGExYjFmaTdWMjN5V0NWV25oc1hhaWViQU01?= =?utf-8?B?c2lXMy9HTkoxa3dpREdHSkJ2SjFDWFpuMFY0dXRvN1JQR0JYV1hiRjlNeUhX?= =?utf-8?B?NEZBVVlMU1N0TWRYdytUdkxEek1zcHZTWVduWXJ3bmo1cDZnOXFtQ01NOHdy?= =?utf-8?B?dk1mT3hkOEVSMitBUlZBVW80V1IrdERYbHUxWE9Jelh2NjlhRDM2T011WTk5?= =?utf-8?B?NVFBaExQcmV1TVdsTHFPUCs0ZVdBK2lhQnBOT09TLzk0eEJYeThaQ084WTQw?= =?utf-8?B?cHlqazhGeVlZbUszTGxzQWRuMllVSEtwVXlyQ1FSRjJ0VVZESWxxUVB6YnZJ?= =?utf-8?B?OWpjMGliSlRzejQvTE5RdkJJa2FvVzlHSldGeURjN0hnKys2TSt5WmM0QWZM?= =?utf-8?B?ZnkvRUNCYXNqaVpMQmxVOWRFc202ZEJvYmRnb1ZYcXdBOVNlRXczZjVaNEdQ?= =?utf-8?B?cE12RUVLM3NKSVhYM3JFNHBCNVhJR0dnYm9YNmhyekQwb3lOTlVuUG94YTJR?= =?utf-8?B?L0F5WjkvbEhzV05QMGlWY3JNT1ZPUVgySXh5cExnci9KaXJFb0w4SWVhQldt?= =?utf-8?B?Q0VWdnlHK3JxZG1pZEJsSzRHMjRXK3RlUUN0dm9Yb1lYTHJGb25WaURIMzd0?= =?utf-8?B?T25rZnVEWjhWcWlIa2lhUlk2b1ZOZEMzK0l4Z2lzbDlXSEN6QUl6QVJHR0ZM?= =?utf-8?B?M0E0dnJLQmVFc3BrYk5LMmJ3QUdtRDRXRTNWTWJRZDRsSkpLQ2tWLzFna3BB?= =?utf-8?B?NlZKVWJYN3R5MlltTGFVNHdYdDY4UzJIOHdCUUJ4M2M1R2FSMzM3dVREcHBS?= =?utf-8?B?MGx0bWhTZ1RxMTkyeXBUV2YrR2N1MGhJUkxIemxGd0dLdFdSemd0cmdBPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 553838a5-d23a-432d-24c8-08dc6948bc80 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2024 19:07:10.2501 (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: AM8P250MB0373 Subject: Re: [FFmpeg-devel] [PATCH 31/57] avcodec/mpegpicture: Split MPVPicture into WorkPicture and ordinary Pic 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 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: Michael Niedermayer: > On Mon, Apr 29, 2024 at 11:14:12PM +0200, Andreas Rheinhardt wrote: >> There are two types of MPVPictures: Three (cur_pic, last_pic, next_pic) >> that are directly part of MpegEncContext and an array of MPVPictures >> that are separately allocated and are mostly accessed via pointers >> (cur|last|next)_pic_ptr; they are also used to store AVFrames in the >> encoder (necessary due to B-frames). As the name implies, each of the >> former is directly associated with one of the _ptr pointers: >> They actually share the same underlying buffers, but the ones >> that are part of the context can have their data pointers offset >> and their linesize doubled for field pictures. >> >> Up until now, each of these had their own references; in particular, >> there was an underlying av_frame_ref() to sync cur_pic and cur_pic_ptr >> etc. This is wasteful. >> >> This commit changes this relationship: cur_pic, last_pic and next_pic >> now become MPVWorkPictures; this structure does not have an AVFrame >> at all any more, but only the cached values of data and linesize. >> It also contains a pointer to the corresponding MPVPicture, establishing >> a more natural relationsship between the two. >> This already means that creating the context-pictures from the pointers >> can no longer fail. >> >> What has not been changed is the fact that the MPVPicture* pointers >> are not ownership pointers and that the MPVPictures are part of an >> array of MPVPictures that is owned by a single AVCodecContext. >> Doing so will be done in a latter commit. >> >> Signed-off-by: Andreas Rheinhardt > > segfaults > > [vc1 @ 0xa0c81c0] Failed to open codec in avformat_find_stream_info > ==840294== Invalid read of size 4 > ==840294== at 0xDB91F4: ff_vc1_mc_4mv_chroma4 (vc1_mc.c:893) > ==840294== by 0xDA4FD8: vc1_decode_p_mb_intfr (vc1_block.c:1661) > ==840294== by 0xDAD9CD: vc1_decode_p_blocks (vc1_block.c:2831) > ==840294== by 0xDAE6A4: ff_vc1_decode_blocks (vc1_block.c:2996) > ==840294== by 0xDC5EFB: vc1_decode_frame (vc1dec.c:1304) > ==840294== by 0x99B6D2: decode_simple_internal (decode.c:412) > ==840294== by 0x99BBFB: decode_simple_receive_frame (decode.c:582) > ==840294== by 0x99BD7F: decode_receive_frame_internal (decode.c:611) > ==840294== by 0x99C135: avcodec_send_packet (decode.c:702) > ==840294== by 0x66BE65: try_decode_frame (demux.c:2156) > ==840294== by 0x66EB84: avformat_find_stream_info (demux.c:2840) > ==840294== by 0x24F991: ifile_open (ffmpeg_demux.c:1707) > ==840294== by 0x278387: open_files (ffmpeg_opt.c:1206) > ==840294== by 0x27854A: ffmpeg_parse_options (ffmpeg_opt.c:1246) > ==840294== by 0x28CBF7: main (ffmpeg.c:941) > ==840294== Address 0x9c is not stack'd, malloc'd or (recently) free'd > > [...] When I ported this code, I presumed that these frames need to exist (all the time, not only for valid input) because otherwise the code would use data of a non-existent frame. But I overlooked the check below that you added in 6c4516d0413ea9b2a9b48fb83d0ba0ef7bc84f92. (Presumably you tested with this sample?) Thanks for testing. I will fix this. - Andreas _______________________________________________ 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".