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 B2B844384C for ; Thu, 30 Jun 2022 22:39:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2D5EB68B77F; Fri, 1 Jul 2022 01:39:33 +0300 (EEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073077.outbound.protection.outlook.com [40.92.73.77]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D3A1B68B452 for ; Fri, 1 Jul 2022 01:39:25 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=niBnvGboelG+m9bBlVU3lH0AAZVIAs0+DnkBkvZXBMCpA4loPGF+yLQLg5ZFG9Wy/nVmnoVEc9OpjPbY1NCJ3Zosdp5mchMru2WbqUBeOpZSkeaUO9E5wUjHw5aqCfuno+rjdoH1o29zPM6rop2iWiqbU3B0g1hBbew3L1RPFCJvSY/3s1f8xYo6QCAn5ONeUxwWDic9CLMIqEvO252rC02DKhWcGpkuOFZywLVh+NaFJhghgwBoB9V7x13HAF2XXCz1Cvu+LwADiMZ8A0ZYWUQ69OsX1y0+9Qb6QTkfaL3kfCFfsB45T4WFuiV9A9c/AJIJJ8Xd65YmfzAikcea9A== 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=twvM5Fp8EiPWEkbOuU7Hb0BPah47JgzBDNpIgZfkayA=; b=If8JH4BMin5TvwTPOANd68/L1orhE3/IehA/8sfk+8F3rxhGuwE3kWnmh4g8u//jO4fx9XKSEkZ3PnzSTp5yrRJJt1AnhDLtffa/5X2zaM6L+YuvE8NS30Dqjh8dIXyN/VvgEFFPQ2mWJhD8AmGPEIQJ2cwUcI43ofEMZLTWsFVHYhvgAT5BbpNSzbZvCzw5Dzug6VWLDIXJH2kdLZj4g4ByAdJx0T+qwqnqIPxnEmad7rdxfnqn1abeb1WkM2EaDQT+c13lAzEffWvLAxdpDsV/NhKL8hz0wfTsZOhoqxLU/l5vVRCnoO7f5WJ7Gk9YKs3wTTRHeXdjsA5KNXwvvQ== 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=twvM5Fp8EiPWEkbOuU7Hb0BPah47JgzBDNpIgZfkayA=; b=SJaAi0JIuLsMgJPa2Xy8Hk7WzmbdHNQdj6YkX/yc9xDJpXKOZZlN4mck7AEKhU6tu9NPwcyd7NHVADK7lqwFAiMU/TqpDEqDfg+DsJLwGRgNltj3XtVtbCiSZJ7V3TRJRAAsEZk10BTSl0gjXDJ7MZfhbaXM0QWK5IVHcFxjDIFtTOm+ltsTtb5XDtXJLY6UhCGebQgpAsVcSL4kwS1PJ9U5cO/mAkpT2+FkfmikzAbd0ZXvAV5Z8eOKwbzpe7gvdqP3eLLZBbsWMg/HsKoB3ZRevTQZ8DKC9SgvsXxgbLdD+Dl8c6s3XX3MNXcKdRysk+qvoccNISGAfvpZ6h2N0w== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by AM6PR01MB5751.eurprd01.prod.exchangelabs.com (2603:10a6:20b:f5::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.15; Thu, 30 Jun 2022 22:39:24 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5373.018; Thu, 30 Jun 2022 22:39:24 +0000 Message-ID: Date: Fri, 1 Jul 2022 00:39:22 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [MFwm2W9WjzR1pIuZNoqId3WqtRzzoZGY] X-ClientProxiedBy: FR0P281CA0094.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a9::14) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20ff7618-789a-e324-1e85-9aef747d4109@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 47af6298-e009-44a1-040c-08da5ae961b0 X-MS-TrafficTypeDiagnostic: AM6PR01MB5751:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: isW2/xyPdNGEXPAxfpnmlEl7lwszQzuMebEIF4s0i3QbL2ZEOamXyABvvIbXPgOOroMn0+VWT/ykFHGK+Hv0gjEVjZYyvk4VXXcO3pWXMvhapkVZPOOEb2wWudRelO2KIUtNNlhuy5mI3hQkB/rb3P0jK3EtbLbQbNe1A7vW6iArI5SNQERRDZpIpwnaDllXAyKhude7s677aquN/z3GUGOMbGrkvMwFRJvDQMMhO7GIX4134CtzaqYUnUoNKLN7WKwBEq7vuWm0Xi1OPnVcNO7iAfqM0Ge31mDHGIxC+BCXqL9NIJS5nXJA32JxBQSPNiQGUdJyTavgXutk17Jp6mgXYW7RGL8c4tGPjo4u3rzLEIc0gn1Y5khm8zWDZCbc5nkpfDNDhZrVTzzsvjaWndmwqzWycGE6y+Pk9k2mSVYUXqEkYxuyPOfBopc/9om9ZIBj8hbLsoXpZvd/lUy6Q16x7VF3zUGSOmP0jg+YeGSoz2qjCmTZezllf6HBMtPKv86PNCYXDFs4lae9SuJtMuLSDHlJfW9E1oPxYy0rQ3DTs+kCtA5+SWW/YCM8sTBenmvygv8UoAOFjT1vYnIgvLNenzCzOJMUcwAKyY02zRSsHu1Bgk1tVpDMCcTcqvlnqnbXJAOeJZUt9OALfx6Av+Ttn19eKC5OVxp8z9vfdGCtNHMQAgTh5vGD64FgwgCXEogxehjhB5z1vo5w/aDTTg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c1EvdU9Bd0lJVEJ6MW81SFUwTkZ3d3N5NE8wMjE1ZzNrZmkyMUc1NmhXejZn?= =?utf-8?B?c28wSnFycnc3eEZESkNpdXpYb1JwYmhpclJWMTlHcDV4dDhEcVFXVjdPWWxB?= =?utf-8?B?N1BLSnB4V0hnVnVkaGxsWTZ2Z2NUL2pMSTAvbTU1UmsxRVVHM2FxbHVtS2Fk?= =?utf-8?B?dVhrN0RyMjJvSkpJMXNnTFdlblNvS1RSUEpwUENRUHZnWmdTUVhJc0NOcUR1?= =?utf-8?B?TWhtVTlJYzQrTnl1eHVDcTlHZ0NUV3pRYWFHMlJSeklYYXA1dURuKzUvMm9a?= =?utf-8?B?dk5QVkwyd0VkUVVRMmRGMVlGMGlFdStRZ2lLcXhMNFN0cEl5dnFFQm9OWk5J?= =?utf-8?B?b3dhd2V5MXlWSFJ1VGxQS0FKQ3dvRUZoNDRieldtamZZbjZnYzl2anJoazJV?= =?utf-8?B?ZmNLc2NSUVY1MzBUb0lhZUwzT3V2VTRFTTB4WFBSZnBNWTJZUWpXWHNjTEVy?= =?utf-8?B?aFNJRENrZ1BXaWRPSEtMTHhZdE9ONlpGSExLMVFqTkVEcnd3OFFYbnhBTCs5?= =?utf-8?B?SDUvV25oUXFMNldCOUNlWnYwZVlBZlNSWFI3NDJ1TGQyVzNMK3dacFcyL2ZF?= =?utf-8?B?L3o0UlZXUmNJVDVtRFFyR2lLVlp3bFpzc091cVV2WlBsQ0lzaXQ4Tm1rV2gv?= =?utf-8?B?Y0RMNW9wWVo1aytSUnJBT2FtdHBLZHJxQndEMzYvVkkzMHIraHEzOGJVWkxZ?= =?utf-8?B?cGRLYXRuM2JMYy9OOFE3clg4b1hNd252WjNEL1hTamxVSzBhS0hzK28xSHR3?= =?utf-8?B?Vi9GUHI0ajBsK0NTcnhtN2VwMitGRGpnOFhScjI4dXFoTXgzV21KRWw0MEhl?= =?utf-8?B?QTk5dnFBVVcybmszK1pTR2xzYTkydnZseDUwUklHaDFsRk51SGxaY1U4TFpS?= =?utf-8?B?NU5qK2pFblhZMjhIN3lnYnBqRHFtajBZQnlJMnliVStLYS9ucnRZN1JxNzE3?= =?utf-8?B?R0h0UU9TdjdWZUF1SlU1dXAydnZRd2lmdDJrNm1LcklTUVpTSml0QWpnNkZt?= =?utf-8?B?TUFqODlpMlNnMFhCK28wRzRtbllVQ21BZXBWa2lxTG5Td1U3Y2xnbXo3QTd3?= =?utf-8?B?QnVkb1d1dlNEdU1IUVZWNHE2MFM0VzBmN1BsZUJDS1hTbGk2MzJQVmxqc0Ry?= =?utf-8?B?VHhwbFZVcUgvQzBrL0hLS2lQMkEyMkcramFtMnVlNWhrMGRXK0hQZHV3NER4?= =?utf-8?B?b1QzczkzbEhEY1pwR2NtajJLQ3JjS1oyUzJZWFlLNzgxSGVnamxNSlFkRUtY?= =?utf-8?B?MEJtUFVXLzg5c0Y2Z1NpNUtFSUJnN3YxR1NDUUNJOGMyZjhPWnV1Q1ZKUVBj?= =?utf-8?B?RDVMKy94dnhDN3ZxL0pYdThFUE94SnRlTHBMVWRVZExWTlR6MzlqS2lyc3FI?= =?utf-8?B?OGVPMHpMMktIa2VmM3d2bHRCdzdCbU1PcXdnSjFiSmp2MmhKSkxmRnZCMHg0?= =?utf-8?B?UTFzd2Z2K29JRVRmbVlLQVdNOGxVWWZUdnp6N2Q4YURNZTZjYW0rUHI1dldF?= =?utf-8?B?SHd6MWppb1VmcU9vUHJqdkM1RURsdDd5ZjFlZGgzc3pCZEJkeFk5UHZzTXFL?= =?utf-8?B?QUtXUy96KzB2QWVoZ0FtM3YvK1VTdXFXQ0pIaVl6VjI2QjFURWpJUTRFTWlE?= =?utf-8?B?TlM3dzZPdkxMNW5RUkYrNkVoejhHZE5NVUJ1MkFvVUU2SkU0OVllOExIcW4r?= =?utf-8?B?bHNzZWo4Y3FjMFlTL1dEdzdsTUQxd2NqQkRpME5zaHNiUy9scnRMWjFkYS9S?= =?utf-8?Q?tU83kkEYWBapS6Ei0o=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 47af6298-e009-44a1-040c-08da5ae961b0 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2022 22:39:24.2432 (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: AM6PR01MB5751 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/encode: Avoid check whose result is known in advance 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: Andreas Rheinhardt: > encode_send_frame_internal() is always only called if > the buffer packet is empty and except when we are dealing > with an audio codec that does not allow variable frame size > it stays that way until a call to av_frame_ref() at the end > of encode_send_frame_internal(). In case we are dealing > with the small last frame of an audio encoder requiring > constant frame size the frame will be allocated by pad_last_frame() > and this the only case where this is so. So by returning directly > after pad_last_frame(), we can avoid having to recheck > whether the frame is still empty before av_frame_ref(). > > Signed-off-by: Andreas Rheinhardt > --- > libavcodec/encode.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/libavcodec/encode.c b/libavcodec/encode.c > index b68bf1e184..1f39ab1a2f 100644 > --- a/libavcodec/encode.c > +++ b/libavcodec/encode.c > @@ -339,6 +339,7 @@ static int encode_send_frame_internal(AVCodecContext *avctx, const AVFrame *src) > return ret; > > avctx->internal->last_audio_frame = 1; > + return 0; > } else if (src->nb_samples > avctx->frame_size) { > av_log(avctx, AV_LOG_ERROR, "nb_samples (%d) != frame_size (%d)\n", src->nb_samples, avctx->frame_size); > return AVERROR(EINVAL); > @@ -346,11 +347,9 @@ static int encode_send_frame_internal(AVCodecContext *avctx, const AVFrame *src) > } > } > > - if (!dst->data[0]) { > - ret = av_frame_ref(dst, src); > - if (ret < 0) > - return ret; > - } > + ret = av_frame_ref(dst, src); > + if (ret < 0) > + return ret; > > return 0; > } Will apply tomorrow unless there are objections. - 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".