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 D983E41422 for ; Tue, 31 Jan 2023 11:20:04 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AA29868BE14; Tue, 31 Jan 2023 13:20:01 +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 AC66568BAA5 for ; Tue, 31 Jan 2023 13:19:54 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NWUJttoeOPARAcHED9sNLB55qgAmzkyF59FbFVBJeCtM4FXMEOYrzXVUw9K7lvOyFuC4deLRCERa2b3Bhefy9A+zrLkDZHzM0vhQ2piIL7chl1AUh53DAXz0hH64Jqsz0PvLs1wQL4zN0NwvMSsZgpW3oKJQBHZpa2ab6vsA8STy3MAD35FXK44NJXTu3TmkS7lhwp2fmz63FJZ/3rJSLIFxszh7cowJ7KacL1jQ+ZuDjOTN7GfrKnRLNSElUVvFfIUMDflsz1UPOJiqZtezkvRu3LNjVDD9PIqLZKlZhAegQRtiSXBhTnfFUfG0t+AtXBkCZIYNcyO/Zar1PT/JVQ== 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=w/xD1X5/4tuGbIkD+AoD8A7MznHxFQXKFlnekDFSb84=; b=gD4tr87hdExI4Xaw8xLcNck9CjBIrrSiV1QQYApwS+izEw1rTLNFz2g1Y/AESiSVOUk1+l1HAvEVb4B6IIa3sm6K3VqzsMiVAHRWcvKoHmZG7RiP45BEcRxjJ41HGNk69zMiHdQUr2xjG93nVdZM475w+3xm9FDgR7158HADU4B9nHfNISraaR4iGrssTXJXPLtiikHMXy6WP3EVcZVf4F7pZAF3o1VLmhGmaVURdrN7Fpi209CRbGr55AlkG9zk7T73FI7RfwhD4gwE7siaXdcibeyfrt63PjFv8c12uyDVCHbZMy30/vr1bfBJe6a9aI74SRNPWS7xNpkQUE8kZA== 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=w/xD1X5/4tuGbIkD+AoD8A7MznHxFQXKFlnekDFSb84=; b=l2ll44Yhd6LcAvI+DGgeC2cYrLnFTnuiUGdFQkglCXGKpmfetNCR8osfWxFfF+fT/eBqQMDfoMYOcn4u9CYLHDbEo4TnHzPPHgEgSldQf2uTdtO9+3KbjUACcrjWm6h/ZuWsLhT3f+qKUyVASIj/6llgKKD00SbQSKr2BTq0T3gNs8Sgt2lE33E9YhiCBAHoEJnjjZ9eSudLM+7u/f0MqQWk6bstiAAyD1Qlq845cvQky7X7vjqXZNveH+CFild7Ceafbp/auNHmTEE859SbDlQyH0d7r77WzCWiZf1mD3piNc2ScRs7j+Gf4RmcpZM7az54fEzFRTMZvUrbgoY86g== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DU2P250MB0368.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:27d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38; Tue, 31 Jan 2023 11:19:52 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::a65f:2ae7:256a:ab96]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::a65f:2ae7:256a:ab96%9]) with mapi id 15.20.6002.033; Tue, 31 Jan 2023 11:19:52 +0000 Message-ID: Date: Tue, 31 Jan 2023 12:20:21 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [wyBQT7so5OUh8WG8mHs5/zDg6jmDmWxz] X-ClientProxiedBy: FR3P281CA0150.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:95::19) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DU2P250MB0368:EE_ X-MS-Office365-Filtering-Correlation-Id: a2d82ad9-e1f5-4fdc-14cc-08db037d12ab X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xnxY/pKsavacL95Oq+y88T2QBk0XDHXbPHw+24km3oaUD85EoE8MGLNQk4ttUMRbdbguolEEWf3bJ08TuUBXesbyrcnGBTONVoWsWmf0/hnx3T1SxBbDxVvIGxpPdT6GUevpvpROrcIGIBv3biYG7mpGEQJxN9faNZuzGinR/tyT9TF2OcpAHv0JIx1nOjJWdbInYcRoSFmbkCEdS9O/7R6HrAuUd7UyUVMfEYdBlcI3rS6iwui+fhCuC2Y5vQf1ZBuykEy5PbL8sdLnRgZ3uQPrjyiqBKzXkOGC4KQQJUfqoIOJOeODM1ZJ4SLUKb+QGQxR6hN3lhg+Sy7E1E7p5miUQY+hgC0y9jxnSEkNOaefBpE7gHwCsLUW9pYtPfinGLaZy9WZu31RZh3fRrknRE+GFo6edEuGuo6uVESqyt4LMBSwtgQcmwvBpqp/IgrwQ6MEiySOpyjIdCxGW1tkbT8V70rVEqVMAy+Id8OLqhNTjjTZmWFvMajiDz5MqqpAqfTU+fbiaCuWy0BYVwjI/Uq7W/PHdsmyfltXlJShPdOT8AA/jIy2p8cJ37Cz6Oe9bjXsxyEQh/tbrJW7X/+aNUo1csRZgsOCYG4gtwdWyCz2Yt7JeMgNxfNw2xyo4UcuI9mAybLIyXqmV0t2RIlqldct5JebishQce8AHiffkYI= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VFUweVZaTTY1OHlyN28vTjJoMGwvVWU3MXNyZmlaWE1hL0MrMThwRFhhMGda?= =?utf-8?B?WlMzMy9QNFpGdUZESE1kNUROTVhWMldaU3h6S2dMd1FlNDd5UjZrc3doa2t6?= =?utf-8?B?U2diRUFhT0hrVkRvSFFmSTdYSUlwREpOdUdVc29TNzM2cXpFcTI2RmFBajQz?= =?utf-8?B?R2QyZGpHZ1p5ZDNaYitoM0NWaXU3a3JKL01BcEhjRlI1bWdFQXNBb2RNTVlj?= =?utf-8?B?UDdYd1BUYm1xQ25ra2FVd1pQd3FhaElDNEs1dHJrVlNnaFp1KzJBUnZtcjVF?= =?utf-8?B?c3BwSnFrVDZhMnJobmtMcDJ0ZTNIWjl0d0l2SEI5Uk0zdll3dmpIWm1sSks5?= =?utf-8?B?U0t3UkxIODE0QnREMlgwSFZDN2hCeUtMaU1hdEk2OWJMbWtiS0pRSGJQQy9p?= =?utf-8?B?c3ZFbHk1UFhJSEtyR24wczg0cThTc1I2M2pPTUt6ZVdTNlhnVXdQWGUzOHNV?= =?utf-8?B?di9YcXZUaWpRNkdjNVp4SzM0aldESEdvaVhUY2k4UkZiUXVGWUt4YncxaG5n?= =?utf-8?B?cXFoTFNDdzhzaUUybUd5TExQaXYweE15UHNVL1NZZjM3U0J1aitHcFRqZmgr?= =?utf-8?B?czZRODAySzUxYWQ2b0hMN0t6cnRGdzJVRFNnRWtyd3R5TGo0NTFEQlpwZkVs?= =?utf-8?B?cWsxdllyTWdIV2VDQVMwSlN4aE9VeU9IY0FGTDJrRityYVhRQWtSRkIrU0RL?= =?utf-8?B?b3lSeHBUNWpjajBJUDdhU1JOeUNiZnB6UDl2eTVwRHo3Y29iYzhYdUtTVDhj?= =?utf-8?B?eXM3eG9lelNha21SOFlmS0dQZk1samtqanM5RHZ3NGdBVDNzR2FFekhlQmV1?= =?utf-8?B?SlZkbkMwSTlMc1pMM3NqNDN2dnRySjFyS3NsUHc0TUE5a1JHZEc5eDdNM2lO?= =?utf-8?B?aDRLU1lXdnJtRkFsVlExZUh0L0lraHp2UjBwVllMYm1YMkxXd1YrNHpmY1Zw?= =?utf-8?B?SnREOHJUb2R1QzZlSUdsUHpzTTQzUWxROTVQdHdLa3EweGFacWVsNVJVaENW?= =?utf-8?B?T0dUcElLSm5UOWRJdUQxbmVUZm5WMXF5WU1wS1BDUklRb3Vsb25lRHdnTjVX?= =?utf-8?B?b3I5Wi9xRjYzbkxzRmFUUzIyYUw0ZCtDVm5FZjFLWjNUVXRTejcydUorVUho?= =?utf-8?B?bTRRdVhIMTZrN3FDWFdBZGt4eTZmS2FYVk9keVpNVVB4K0Y2WHk3ejVZdzlp?= =?utf-8?B?Q1hPRzVreEtWSWk5NlVlV203OVZ5Y0JrT3lvTWdyU0c4ek1JWnJXUCtjR0ZL?= =?utf-8?B?T3FjVUpmUGJhZXJ0VG0xVmp4ajZya1lubmlDbnRaY3F0a2kxaWVNWGJGS2hT?= =?utf-8?B?SmllRHJvdklvZWpUNU1zaGtyWE8ydFArSkJtRmhYK1k4ci9jTWhqZVpzcFVW?= =?utf-8?B?Rm85Nmx0c0pydmF5OVA0dWVWUE9SSkE4cFhwdUZqMEgyMmFta2RNK1M2RFJx?= =?utf-8?B?ZjFESEhKM1NqZUZ4OWYySkoxbVdtTHRoVWN2dDdHQ1NaSlI3MmhzMFI2c0Jo?= =?utf-8?B?TXh2ZE10Q1lhK041VTc4Z3ZMdjVFdWhoTjlGQlh1NGlTeGRxaFk4SytWbG0z?= =?utf-8?B?Nzh5REJvanRaek9FOEExRHpSVE9JOWlRRHNTMEN6STRjNjFMZUk3b1Q0UkZs?= =?utf-8?B?d1FQdjhDdWVBTnVoYVl4ZEtTc0liMkFXV3N0aUU4eG9ybXRLd1RyT29BSWhD?= =?utf-8?B?NXR2UHZsQkRmUlozVDZ3cUlsZUhqc1NZZUEwdU4vUGpNcjFFRzVPM0tYQ3dJ?= =?utf-8?Q?Refb8dwCdOaY4i651s=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2d82ad9-e1f5-4fdc-14cc-08db037d12ab X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2023 11:19:52.4866 (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: DU2P250MB0368 Subject: Re: [FFmpeg-devel] [PATCH] add media100 bsf and use it 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: Paul B Mahol: > -static int media100_decode_frame(AVCodecContext *avctx, > - AVFrame *frame, int *got_frame, > - AVPacket *avpkt) > +static int filter(AVBSFContext *ctx, AVPacket *avpkt) > { > - Media100Context *ctx = avctx->priv_data; > + Media100Context *s = ctx->priv_data; > unsigned second_field_offset = 0; > unsigned next_field = 0; > unsigned dht_offset[2]; > @@ -83,18 +62,20 @@ static int media100_decode_frame(AVCodecContext *avctx, > AVPacket *pkt; > int ret; > > - if (avpkt->size + 1024 > ctx->pkt->size) { > - ret = av_grow_packet(ctx->pkt, avpkt->size + 1024 - ctx->pkt->size); > - if (ret < 0) > - return ret; > - } > + ret = ff_bsf_get_packet_ref(ctx, avpkt); The avpkt here is destined for output; you should use s->pkt to get the new input packet. This will allow to avoid the av_packet_move_ref() below. > + if (ret < 0) > + return ret; > > - ret = av_packet_make_writable(ctx->pkt); > + ret = av_new_packet(s->pkt, avpkt->size + 1024); > + if (ret < 0) > + return ret; > + > + ret = av_packet_make_writable(s->pkt); av_new_packet() always returns writable packets. > if (ret < 0) > return ret; > > bytestream2_init(&gb, avpkt->data, avpkt->size); > - bytestream2_init_writer(&pb, ctx->pkt->data, ctx->pkt->size); > + bytestream2_init_writer(&pb, s->pkt->data, s->pkt->size); > > second_field: > bytestream2_put_be32(&pb, 0); > @@ -107,8 +88,8 @@ second_field: > sof_offset[field] = bytestream2_tell_p(&pb); > bytestream2_put_be16(&pb, 17); > bytestream2_put_byte(&pb, 8); > - bytestream2_put_be16(&pb, avctx->height / 2); > - bytestream2_put_be16(&pb, avctx->width); > + bytestream2_put_be16(&pb, ctx->par_in->height / 2); > + bytestream2_put_be16(&pb, ctx->par_in->width); > bytestream2_put_byte(&pb, 3); > bytestream2_put_byte(&pb, 1); > bytestream2_put_byte(&pb, 0x21); > @@ -164,7 +145,7 @@ second_field: > goto second_field; > } > > - pkt = ctx->pkt; > + pkt = s->pkt; > > AV_WB32(pkt->data + 8, second_field_offset); > AV_WB32(pkt->data + 12, second_field_offset); > @@ -186,40 +167,33 @@ second_field: > > pkt->size = bytestream2_tell_p(&pb); > > - ret = avcodec_send_packet(ctx->avctx, pkt); > - if (ret < 0) { > - av_log(avctx, AV_LOG_ERROR, "Error submitting a packet for decoding\n"); > - return ret; > - } > + av_packet_copy_props(pkt, avpkt); > + av_packet_unref(avpkt); > + av_packet_move_ref(avpkt, s->pkt); > > - ret = avcodec_receive_frame(ctx->avctx, frame); > - if (ret < 0) > - return ret; > + return 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".