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 BDF074395D for ; Wed, 4 Jan 2023 17:26:44 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1A4BD68BCE0; Wed, 4 Jan 2023 19:26:43 +0200 (EET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2089.outbound.protection.outlook.com [40.92.90.89]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 764BC68B726 for ; Wed, 4 Jan 2023 19:26:37 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZBEkY40JgjfSwx2eFSpEH62fedLnSfx6gJxADfG4ru5jcbCTzKgb/A6Af+wk30sVm1cu+QcoDpWOwnFrZpdpOvIxqFXSEXtHvhf4HYCP8GY0rn7P4DDaNNYfZCTtRm9V9s1QvEVWd/NX9l5MM2ZTyROfPjXAr+WaR7bnecnDIxiFESh39wPaj13TsGy9+NO1qsl4znr+XsYZJBfuJ+3MnS//qXWXS/f4dt3qqR9jLA2w1OFdyrZPdC8iUTDoUv7SR5h4fPnKQzGJPisxq230d1NsuI6rZdr4A0erMRnmRgGSSk6jd9mP3FG4V2k7F3AG1/i0KBxax6SI48NTTq8ayw== 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=B1K4IvtcgW45TbZlFYOJK1qJwCxFUV7PUG4YKhgK+Jg=; b=mk2HJrCBNEw/EehiShzeWbn5bHqZAdoZuqC9ERwQd5x7pY4zWsh+azo9szpyauxA7AFGTefUCRR3AIAp35u3QozJi+h9+C0i9Say15O2NXIl4ufqkqyWcMeS1oW5LJl6kTZzlyw4MRzafkC2v98PSo51j6TCDTZCoQJTWJXp/Fnr0CRL8SCMwS4bRq/4HMEvwKs42gbS7SckfzOGKDOJprWCrhVODYOwUSx9PeQLwNuR5X5AhjyEKMSnovMKMDVh6ivnSVpohYGEtuW5CtHTTNHCINK7daIpnwrYQ8NEohk0x9A0cdnz2yj54s0nlg6+3R3zmHbgRqnrKeerY/nMpg== 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=B1K4IvtcgW45TbZlFYOJK1qJwCxFUV7PUG4YKhgK+Jg=; b=QKCkX4pVaZY/6z6bvbsTOfBytNx0FndJ8Qlq84YIc8Aw7CT9gdkEqxDtanX+u9AMj/AKbDfIz761055AD+jMf+3Dmb3wflPAOjABgnlbjyh7XI+J5NwS8NbLVqv/sVcwaHH/2VC11wI0ieKagUUAjg0dJCDFUX45eUldw/onmPMMJOeldqnTGdF4BwIm0lNYBgg8vpIWqa6cQ96L8W/S2bjckojO/sKvfX9xwId1hqX93DHW2kDqlVESh6/HrH7h0kaZ9uEBLt62h9ppFPn/jWmR7FzN6acmuhCSB8VwyDN+eydJ1w+O/BiSSCGmX5h15Io4FMO2zyCPgKvcZW76DQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0138.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:321::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Wed, 4 Jan 2023 17:26:36 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::c37:cabe:316a:60b2]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::c37:cabe:316a:60b2%6]) with mapi id 15.20.5944.019; Wed, 4 Jan 2023 17:26:36 +0000 Message-ID: Date: Wed, 4 Jan 2023 18:27:04 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20221127170351.11477-1-anton@khirnov.net> <20221127170351.11477-23-anton@khirnov.net> From: Andreas Rheinhardt In-Reply-To: <20221127170351.11477-23-anton@khirnov.net> X-TMN: [+NSRlF9T3sGE5dM5flqwxNeJy03zLzL7] X-ClientProxiedBy: ZR2P278CA0052.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:53::16) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <09977004-2576-0a8b-60ab-7e77e5d13bae@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0138:EE_ X-MS-Office365-Filtering-Correlation-Id: 35f8ac3d-8b5b-4edb-b6c2-08daee78d4e6 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0NVRXVNk12D7qLp0N9gp+toG/vZ96Z8kJfZi7IXuMI3dxow8+AyQ28l5X/6vNwT8So8M3tRjD4nyFfLUCaRsQ8DZaug67rWvj4Or+kHKa7chKjF0QoozaFuG9B7U3xdXQzSCOMiNVIB9GfLhkkogPJgFRVTJ3aA9iGtmIk96PYXoRnjF0bY7L1dARVjmlhuANyrEiJmrJStUqnL6lfTVKb/EU3zCj9jdDi4/cJ9R/YquLAvhbhdpzQuvmdhtxbK7D13bAbrz/tZ6SdVQ/tKo9CSPxJ4jXPg/Et+vAGxBdBueahvwgsR0H2nD8xodDxMRGAELmKPjb653Tbm06cjfE0geCMPy6tBcccx1LKjtU95/jfIOWiuH8/Zsq+bZ+NZLDF2EOQh03/r+GhpDAEcdI4THJ4b+wBjWUmye2neHdDqtvU+/YpLBGhDF/gizD1g5T4GkK2fbraiVSb6xk73Nc/UuJSAQGI+FwC+bsJlSLuq2GQppAMA0kAjm/N3NAiF/BI/piCk3mtKqy/kqJHixTFMAu2LDCqN4pKrc5VlOgXTKKN2XA//IXux+fVtT3CnRQqm1RifTswVwzkK6gsoDltSptw3rUzaJ4/mLQ4gNYedBOkRgHuwfcmiDXAb53l6Ag9zC+u1eepYhOcPru12X3g== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NVpzTmJVR0ZJTnFyeE8ycWJicFZPYXV2MGMvc1Q3SGJjWldFL0VENGQxZnhy?= =?utf-8?B?KzFiWjVmdlI3WHVrT3FrTHpLS1N6NDNVeFpNNk9KT2dLTmFxbXlEL2pHekVT?= =?utf-8?B?NlBVVUpTdUQ0SktTYTc0ZGF2NHM0clhNZVREWm9nN1VHeFhMMC82c3VtZXpn?= =?utf-8?B?OHZYcDNXTEk3THZhbXFJWHFMcHBTZHlOQVhWc0RFbWoyNndoY0d3cFpWeDBx?= =?utf-8?B?NUI3YU1oN1RhRzdUK2JBbnAxU2JKQXZwVGpnS1AvRGFKVWNGWGxLTXhTRmNS?= =?utf-8?B?NmdsanNidzN6SVBIVTRmYUhWMFNWQlRCMDRsb2tJaTdVb29yMjA2VnJSenRO?= =?utf-8?B?ZXlxZUFKd2JxRnBsTHpCYWNOVm5mbDM2QUc3Z2cxZk1SSXNxU0IwZE8yNXlN?= =?utf-8?B?VVl0TUhLbGJ3VVJNVWZnUGJ0d0tsUmE0YkdveGExR2NvanNHc015ek5PRHlS?= =?utf-8?B?RnEzK1d0eURSalRpMlYxN2x6NW9hNTRvYmt3eGptSmRoZUdRdDV5TzJNVFVV?= =?utf-8?B?Tk5iL1pTT0dQbXRUajRDMWFxY2VKUENJTWNSd0YwN0l6K1Rta3FVNkVSalBY?= =?utf-8?B?Uk9ETWhGbzZ0SW95dnlRTzdFb1poM2lqbi9LNk5Sc08zWStUTWl6aWZRcUdI?= =?utf-8?B?UnVKd0EybUhpZ0ZOVVd3T1p0MnNNa0NxLzB6NVpKellyeExmdmZ0eTFZaFNj?= =?utf-8?B?a2NWSUxrQzhtRUZjTElXdVZtWm9tMFh4L1dXVHZuT0laQVpaWktmRkU4RW94?= =?utf-8?B?cU5PclJYYVovcmtzOWM0cGF5aXdLaTIwd2E2VVE4eDUyNGdWRmlKVkcrSEp5?= =?utf-8?B?SXNNVThjeUJNMWZsNHBGcXpwVWdTWmhLNFFoOGFlYTVQbVpWUUJJbkZUZFFT?= =?utf-8?B?OEcxKzJ5L0tJL0hURGM5RC9WZGtBUkxPSFNuMnpEOEhhZUNpRHdWM0RDamNl?= =?utf-8?B?RWhJT3piL3JLcTBIOWd3YUxKSy9qY1ZMa2UvbWpkK2E4SjdGRWJPUGhsUXpM?= =?utf-8?B?VU9VSkdxV0w3b2hyLzVaQUFmYnpNSysxK2RiY3M5bGpHSUNOOXFoeHRCaEwr?= =?utf-8?B?MVEyaWhVbmJPYjZOd3dhck9SYklCbHdmV1c2ckw4dHkwYngzSVIxNC9xbmhu?= =?utf-8?B?SldHUFJrakJTeGtZQzlNUjA3V0ZpcGFHa3dFZWUyOS9FWnVoT2RMNWZaODZj?= =?utf-8?B?aFAvMEdzTGhLVjN2dG5nQU5NbWg4ajlLOStoUGEvMjFqa0o1ZFhLWkpnZy8r?= =?utf-8?B?NDRqRUxQS2JxMlFtVTBKYXNWRDNHYlJFTWRVSGNkK0tNUGxObVFqVDFSbjlO?= =?utf-8?B?Y3c2SWpDMWc2bVJSSy9FR1gzTm1QWllkVVpENDhjcmVhZ2tqaDNpWXE2dVZw?= =?utf-8?B?V0V5aFo5YlJXYmdWVkJjYkxZOS9SWGZCTjRjUEhnWFJiUE5BS3BEQXZWeWR0?= =?utf-8?B?Ym5heCtWaC93N00rMWJWOVVnZUZpRW03bGtIV2tUdlQ0YXpGNVhCYVdQQUpm?= =?utf-8?B?VVJONkZtRHVTMmp5amNHSHVGT3psUEh2cERGKzZkUkZudjhpYU1aUzdiQU9H?= =?utf-8?B?REhkWndMQ252bmU5WHROMDJoS3NtWitwOHlsTkdGbDhWMHJBSXhiMHNUNEwv?= =?utf-8?B?UWFXRnlqdlpCemt0UTZnR0M0SmxsRHArV3dEVWVObmJ6YnFGT3ptYWhxaFNv?= =?utf-8?B?OUdEU2lqUHdsM1RXVUYrbWNEQThNOG5uV1E1RWM3d3NSaHBNRHllTWkrWXJw?= =?utf-8?Q?2gw2skK8hJoxg0ttqA=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35f8ac3d-8b5b-4edb-b6c2-08daee78d4e6 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jan 2023 17:26:36.3441 (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: AM8P250MB0138 Subject: Re: [FFmpeg-devel] [PATCH 23/30] lavc/ffv1enc: handle frame durations and AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE 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: > --- > libavcodec/ffv1enc.c | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > > diff --git a/libavcodec/ffv1enc.c b/libavcodec/ffv1enc.c > index 0237ac48eb..553abb558f 100644 > --- a/libavcodec/ffv1enc.c > +++ b/libavcodec/ffv1enc.c > @@ -1233,7 +1233,20 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, > pkt->size = buf_p - pkt->data; > pkt->pts = > pkt->dts = pict->pts; > + pkt->duration = pict->duration; > pkt->flags |= AV_PKT_FLAG_KEY * f->key_frame; > + > + if (avctx->flags & AV_CODEC_FLAG_COPY_OPAQUE) { > + pkt->opaque = pict->opaque; > + if (pict->opaque_ref) { > + pkt->opaque_ref = av_buffer_ref(pict->opaque_ref); > + if (!pkt->opaque_ref) > + return AVERROR(ENOMEM); > + } > + } > + > + avctx->reordered_opaque = pict->reordered_opaque; > + > *got_packet = 1; > > return 0; > @@ -1272,7 +1285,8 @@ const FFCodec ff_ffv1_encoder = { > .p.type = AVMEDIA_TYPE_VIDEO, > .p.id = AV_CODEC_ID_FFV1, > .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | > - AV_CODEC_CAP_SLICE_THREADS, > + AV_CODEC_CAP_SLICE_THREADS | > + AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, > .priv_data_size = sizeof(FFV1Context), > .init = encode_init, > FF_CODEC_ENCODE_CB(encode_frame), FFV1's does not have frame reordering (no AV_CODEC_PROP_REORDER for the codec descriptor); the encoder just has the AV_CODEC_CAP_DELAY set to write stats in case this was the first pass of a two-pass encoding (this could actually be moved . Otherwise the encoder is a simple one-in-one-out encoder with no delay at all. Something similar is true for the FLAC encoder (it has the DELAY cap so that it can output a side-data only packet with updated extradata when flushing) and adxenc. Maybe we should have an internal capability to allow to set these properties generically for these codecs, too? - 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".