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 ADB8142308 for ; Fri, 17 Dec 2021 11:50:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 29F3868AE4A; Fri, 17 Dec 2021 13:50:22 +0200 (EET) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-oln040092072042.outbound.protection.outlook.com [40.92.72.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6242B68A7BB for ; Fri, 17 Dec 2021 13:50:15 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KlcdvzVZcpSCmKYNGct8J3zdOgKAv4TKu8xkZTQChintiHpbmDMkdouWFsvu34QoaEDFpCL235AdUpb05YjOPniZIr9yrq6ijc/Nc9XsWh6d1dHMNzhg7ZzKk67gKv5G7udzzWKq5oQZsX4xO+2yC8aplf0fNpRvRbFrXTkwwft67GkhHu1gPGbGWZH8bLBo/uUEShfl4sdoqMgRWLvNQwgaH1vs3G9jmP7gGIHj04HSPKPHzHNgQTZDFRZv3f+JF4yOhG932SJhXUhgy4NSC5Y64ENdvr58hsco08ROAXAkbG1PUbJllrZcNtSzVWeKiz/mjYkqmng6P6RqkjR4Xw== 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=uZWqxc0Jp48PEW49cd4UnfqgyapB2ka2LkddXYhUqEI=; b=T40jHtiZTaWy6bFqe+hbpv6HrATgEQY+zyyY2f/uVUL9iOWB23mEi/JqIIKwxps1w8IQCZH2LDsAhOLYsOXRKHF2+MYZEqTcPJ9QHvkzwI3AvTzgTquywvGklfiu3bXa8ndRYftKVqFfUsUDHZlKBsa54AGTaJVwCi9kXv5gjVIty9wgHdD3Sq/OszXMtkFkaLph8liGbT79DATR08jBPoBE7ezruL4x7xLETMq3ge4nGUNTB1sDdpJJfCTiNio7JH3l5+gpA+01dXtDfU5GhUGyiVsODqjxrgSeeOZG9snULDDfQifEE9HOuZQXbxbUlhQNSaMQ3GYc9SakiMVlig== 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=uZWqxc0Jp48PEW49cd4UnfqgyapB2ka2LkddXYhUqEI=; b=iwG8poqq9fWxfxwh34ptgTmYpxKz9ajanbi1i+vpfjlI120h5vshEAdI6KxmEBVE8HmplZxNs7ILbxQu5GKhS7R2NTkLmzrXVi4m/Sk0tubRAyish3FiSgT7rHeZK9JHK8qhU7KnmaXK1nGDDp2Lj2SYfFPUXoSVHdtSogDmQDhXI8ZEaVgcP1ozdYoiPa5sUYNT3/lxk2tqoKbeHFEEe62Pc4UR/vJxik3tco5y20aRm5KI93vvm25X0IeK+bc6hDzAs6OYtb74IPqOgkLJG9t4tCkJsSfAOKaTGAJDlg+ehfurNXtRUyBMQZLetETP3GjMDLTaRSMux9KxdyA8cw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AS8PR03MB6887.eurprd03.prod.outlook.com (2603:10a6:20b:29f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.17; Fri, 17 Dec 2021 11:50:14 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4801.015; Fri, 17 Dec 2021 11:50:14 +0000 Message-ID: Date: Fri, 17 Dec 2021 12:50:11 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20211213152042.5900-1-anton@khirnov.net> <20211213152042.5900-21-anton@khirnov.net> <163973847995.13029.3661988046296246615@lain.red.khirnov.net> From: Andreas Rheinhardt In-Reply-To: <163973847995.13029.3661988046296246615@lain.red.khirnov.net> X-TMN: [Av7dfprI6iJPYxJqcOdw57we2TCjzJN7] X-ClientProxiedBy: AM6PR10CA0097.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:8c::38) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <8ec0ba24-cbcf-17b2-8635-f4948e8cf15b@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 390cff23-9f2a-420b-1c53-08d9c15362eb X-MS-TrafficTypeDiagnostic: AS8PR03MB6887:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cdZQu+bLGdNXNdsWiqsMAEjhtmKV4TIQ9tBwRwmo2zmxbkB+6Z0R209GOIr82FCRdfEs9fYNH7FyBIVIshWFoznNSrpGj5VP9l99MXMA3y+cV1J2/wSWivrF9s2RT/0699MYC6sm0KPLFn9LUDVvwg/85ZnuWMDMVi/gwsJL9RBkHPLtKbpLjo33I9y657OYnUrMQgyx/fbdVFB/rE1RUESBpXkUb/nITOHKgcjR+xfkwoqeUiW3A6nC2i/5icVurn0322BRr8yZYX04wKsoJZyfLbR+e0R15HZGASOTtZGEbvTrg8+nN9CR8gCLkDXv8dUFx6xZbm25KR6FXLity0Rxcma7h1jeiuQnZ8/cAWi6R6bubmm0tiKgBTQnMfllUbLzqqO8bVEpbbrydF1dr/e5Lzs2YP/D8KpISqZrWEOpd/eItdz4rE3BfQoCkII6pIwHQ51avdsni4TLEO+WVhBcukLlEOoaz8R3KrEnrQmGGfTEtafz7zbBCsxvIae4ADTCTxGjzJH+eqWC70/EmBHao1gPNBGcfNJzvfT9RIVbeE6ue3vfdGR/25nlVW+tWINdUSB1pj6ks9k0Ik/0oQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YlFGOVIvdkRVSUNoVzVZYllEYU9ZUTE5UFZxOEd0SmI3LzFCeWRyVHE1V1VC?= =?utf-8?B?YW1aNlVPWlgvZlZIUS9oSzBoL3NaRlNMWHBMMFNrMXJyVitJMjUzQlFXOUc0?= =?utf-8?B?Ri9McE1MZCtjekdHVnh5ZmVlREl0dTBKMmJiNllrVTQ3bTB2cU5VUmRKOTly?= =?utf-8?B?b05CeUliT2pnM0RtRTBhRTkyUDZJQkFlT0ZJdFpuZXdjVkVvbFVnbXZUaWZG?= =?utf-8?B?VXdDVm5DVVQzKzhndnB2QmhKK2JiYTEwRzU5TlluTkhMT2lYRVdTNWNQZDhv?= =?utf-8?B?VWk5YUx6dWtZaXdxb3B4UFZBalFLcnNraFQ2ZFJqYUZ4VThua204MFdhNXpX?= =?utf-8?B?K3NySzlXRUJId21WNUhsUFpkeGxKOU1aN1I4QjRrMi9lZUpCT2Rlak1Ia3Jv?= =?utf-8?B?MkVzUTFZVm5FOHJuSm9hT0hlbkFTOTVsakx0d2ZGZDI3Vm9NKzRUT2VGaVNP?= =?utf-8?B?MTVxaGJSWFRCWi9qQ3dyTnpMamE3ODJ2VGR5YkNaNURuaHM4eENBSWhnQ29i?= =?utf-8?B?OFE0MmJkUExFdFVSODdQTFh2VVNVWENMK1UwSjVkSjVDZjYxSlIva2V1R2w1?= =?utf-8?B?d2N0VG9HTVAzYktnR2pJMjlMOHJMUFpvakVhY24xYlpZZmwyQWZXY1VLMTNG?= =?utf-8?B?VjdpYWxPbEFqM3lWVU80aGR1UTJqRmJDLys0SHpHRkdKZWRNaWJZbFkwdjkx?= =?utf-8?B?V2RabEJVVHI1eW9LNitzQ1c1Z2VvR29MTlVscDRTWGVqWnBGUnZTVFhaL1J5?= =?utf-8?B?YWViV0JFc3RINlplNjI0VlA3L0NmTytPRTNucUpQVzFVaTJ5NnkwNWtYV2la?= =?utf-8?B?MGEvbW1sTDJxcExsNDRMUWxzOEd4bml0MEZ1bE05UjVKOFpKYTFCTkN4RDd2?= =?utf-8?B?ckxIaFhpTk9MajhzQWFDLzJ3a1RDSFpiNU5Ic0FkWnFwUnBOaFdOMS8xOTht?= =?utf-8?B?M0F1V3RibExHOUEyRWlNSEh6d2cxbDZPSVZCalk4WjJKNG96ZEpsVGxoN2Zn?= =?utf-8?B?bzFFbXd1bGZzYUtoakRsOHQ5Y2NNQ0hiVGZGSGx3ZHRmUzcvclNIaVhBUkcy?= =?utf-8?B?UVBWcCs3Rm5JSEpKbk02Q2t5OGtUcW43WUloamZQdjFZMDRYWUNtQSs5ZTBu?= =?utf-8?B?TzNFTXFUZ2xldEZNVmpUcTJJSUFNOXRYM0JTckpsWkY4M2pLTEpKUWk2NXcr?= =?utf-8?B?aTlmdGtQb0RiU21XdVRITEdQZ2V1VW15Wm5jNUhFSjVQU2ZnWCtHcmhHbm5M?= =?utf-8?B?YWVhTEhhU3JJVmk5VjFhR205WnVFR3JNek9GYW1qTjRsQjg2UT09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 390cff23-9f2a-420b-1c53-08d9c15362eb X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Dec 2021 11:50:14.1113 (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: AS8PR03MB6887 Subject: Re: [FFmpeg-devel] [PATCH 21/24] ffmpeg_mux: split of_write_packet() 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: Anton Khirnov: > Quoting Andreas Rheinhardt (2021-12-17 00:42:25) >> Anton Khirnov: >>> diff --git a/fftools/ffmpeg_mux.c b/fftools/ffmpeg_mux.c >>> index d4b674c9e2..e97ec8ab93 100644 >>> --- a/fftools/ffmpeg_mux.c >>> +++ b/fftools/ffmpeg_mux.c >>> @@ -102,39 +102,12 @@ static int queue_packet(OutputFile *of, OutputStream *ost, AVPacket *pkt) >>> return 0; >>> } >>> >>> -void of_write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, >>> - int unqueue) >>> +static void write_packet(OutputFile *of, OutputStream *ost, AVPacket *pkt) >>> { >>> AVFormatContext *s = of->ctx; >>> AVStream *st = ost->st; >>> int ret; >>> >>> - /* >>> - * Audio encoders may split the packets -- #frames in != #packets out. >>> - * But there is no reordering, so we can limit the number of output packets >>> - * by simply dropping them here. >>> - * Counting encoded video frames needs to be done separately because of >>> - * reordering, see do_video_out(). >>> - * Do not count the packet when unqueued because it has been counted when queued. >>> - */ >>> - if (!(st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && ost->encoding_needed) && !unqueue) { >>> - if (ost->frame_number >= ost->max_frames) { >>> - av_packet_unref(pkt); >>> - return; >>> - } >>> - ost->frame_number++; >>> - } >> >> Factoring this chunk out of write_packet() (effectively inlining >> unqueue) looks good (and I actually pondered it myself), >> >>> - >>> - /* the muxer is not initialized yet, buffer the packet */ >>> - if (!of->mux->header_written) { >>> - ret = queue_packet(of, ost, pkt); >>> - if (ret < 0) { >>> - av_packet_unref(pkt); >>> - exit_program(1); >>> - } >>> - return; >>> - } >>> - >> >> but I could not prove that the header has already been written in case >> unqueue == 0. Can you guarantee this to be so and explain it to me? > > I don't understand what you mean. unqueue == 0 in the current code tells > you nothing about whether the header has been written. > How does that relate to the patch? > Wait, I misread this: You keep the header_written check for the two callers in output_packet(), but remove it for the one caller for which we know that initialization has already happened. This is good. Sorry for the confusion. - 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".