Message ID | GV1P250MB0737C99DF2F99C10D5A3ACE88FE02@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM |
---|---|
State | New |
Headers | show
Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1706:b0:1af:cdee:28c5 with SMTP id nv6csp298049pzb; Sat, 11 May 2024 13:52:45 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV12b/uopmc8kiWgLu3oe9leOYiGSlFWF1wMaXm5a2qSDzGCsW+KEh48CIkL+zCuGqnVCDZ55IFBekge8g+Covn0iKgAnTmtR+k8g== X-Google-Smtp-Source: AGHT+IGUyy7PanyCIzc4CT50O1X9FdYdiRFirSUOd/7oh8SdexIHmLXcQ/dH6XlDWlGHww/BCWpk X-Received: by 2002:a05:6512:2201:b0:51f:2908:df48 with SMTP id 2adb3069b0e04-5220fb6afaemr4606225e87.18.1715460765449; Sat, 11 May 2024 13:52:45 -0700 (PDT) Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-5733c3275e2si3371047a12.400.2024.05.11.13.52.45; Sat, 11 May 2024 13:52:45 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=mfqKj8qj; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0952568D5D2; Sat, 11 May 2024 23:52:22 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2073.outbound.protection.outlook.com [40.92.74.73]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 333D968D539 for <ffmpeg-devel@ffmpeg.org>; Sat, 11 May 2024 23:52:18 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZvNuUmm4EPbs3ZguAkUcH2QbebYr54KNOhYJOyFUIlhu50LfTqYFoB16IQehB82hhYj7KNJEuHvHFN1F3XPfHtLWxWyRLHchbvwc9OATKD1lfq8qsXzyw1OYfwqDUwtwOy7i12oiHIonAM8k5euEeccQa+pOGBitVipeojV1afc5oVWGKNgknmqn+LdSETmjkVKHSsra0slEkUnp9p2Hb8yYiQWqm8CR48vCM8xBWTfj2qvU9ojjAt44jDO3yRfOiJ8xeQHBCeaX+FxuAykxnKyiYN9rLHZNFdC12zh7nu1/f4Xe9MwsgO26ag2opMmGT8my1+WaMZcL/1i6kt442A== 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=4K1+dfFtJCAeHetnjWmw+RNXy3swRhMS7XRYrc1iZ+E=; b=QvAveC+DR5uGcbif6dX3oRTlxuWQZJsmh8uicxwWodNxaD6Lt6bU9t/8nJ6YTgVy5C1PfNRs7SWph5J+7f4ZP30cFRzFQ/vcER3piznyasE965XpaC0ajSeTAMGldRSsvgKn9ECAAJzlPHqnDR6vLL54d5RyY0gx/GUhRszi6s+J67AV5WhJyTsNMSTJFjvsJ8kGMAkDjtQr+Sqjg9DlktjkC3C2wR+mUUWXkjrmOBSqJWxs/3XZ8k4xnq6udVoD+N0CLBHMGj2Tx5YXL0ywSHT4iw4Nsc2gWv7v9XccATdg6Z6XzXYqiqzfH6ksIqO7UBc+0HI1e2d4JrMEOD/zEQ== 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=4K1+dfFtJCAeHetnjWmw+RNXy3swRhMS7XRYrc1iZ+E=; b=mfqKj8qjr62FFOgcpoQldOrXnKJha+1sB0mv4BFxH0iL4Zz0Jt7ZKX2TUr4q56z624Ef7TmaXM+XJBXJ16uG4J4gIQKsKRnrNUnqMUm3mhemqX80FkB1TNWyCFugKEYfMG5ZHIucARj0TvtIQ1uyH2JP+fFk9u9Z0MgPGAOeliE7lmZj+FHsLtwLiScakhhIxpOfS6p0454NYYBy1az55ZAHhv4N7BFkbqkc9yWKFMZ8gN4MKgVnDD6A7R+i24B5Pr3SASVkemP4uzIfYwF8mGggKwQERQeI04RkIQreIIiwrAU29gOnFlIH5cb69KHgof/QxJdD4KsEWZ8lBHP10g== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DB9P250MB0449.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:325::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.51; Sat, 11 May 2024 20:52:14 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%7]) with mapi id 15.20.7544.052; Sat, 11 May 2024 20:52:14 +0000 From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 May 2024 22:50:30 +0200 Message-ID: <GV1P250MB0737C99DF2F99C10D5A3ACE88FE02@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM> X-Mailer: git-send-email 2.40.1 In-Reply-To: <AS8P250MB074471DDEA29072B2586F0EF8FE02@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM> References: <AS8P250MB074471DDEA29072B2586F0EF8FE02@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM> X-TMN: [oQs2/yKWmzHvJkxcdT96EaxR2fImzh1+kIACpXfELi0=] X-ClientProxiedBy: ZR0P278CA0172.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::6) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20240511205135.2411886-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DB9P250MB0449:EE_ X-MS-Office365-Filtering-Correlation-Id: 35115728-c01a-4199-0667-08dc71fc3cbf X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|3412199016|440099019|1710799017; X-Microsoft-Antispam-Message-Info: sdxAZLlFGWPZAGqElLl0XbroXDXGJXSH7+w3cBEGINEjbjoIUS7bd+tTPorWE0+6tdlTxqzCoss3ez2xEZx+YVK1bzm01cDgHOkqktI6L6acyF7rMxaqDM27eEY1ZylPr30+E3srBfElmteTd3Sj77oZvB3LOEfmlgF62T+fbcGVLhxvErln5/3r033FL6AmLK5tI8NZdu4b3bCGD1rGldaozZPQC2p5h1H3MCX9HArjWA+TwKzQnXIxu7lF2OVnD9QvW5hxlP9me09biuvgAKzovrECj+Ld9VLfZ1xTBaEFie2DVHYPUW6l/ugY2twi40/mHO0KTbR6gw0I1gZRegOK6M0/secDbE3pkRKbqX8mcgRhPGjVcPvkFjAZcE92c8vgGDOrSrvjGv1ov35nITQt/24/2G4exzQ/Ihg7mcrWubfu41QywN4WUlcOlnrPfhyY/MlqzOacnP98TUkEk4nVjFvhRjmgK84cVLmuN8WGCSbeo0CvdQ+Bej1UD2zyMW4nFcDxvvhwxHhBj8rGoOMxX6Ii7oieT9JYsiHi1rmHZW2Gyvxfkx+4xDLtA3bijA0XrybVV5K4THA2jU1dxbX0laLTDjEuHiym9n7bXAdUi17WgJWb9mXRN9EAjj9k X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: R+RjqQV8KiyltOyzoykTwkt/jBGMDkTDybBm9QNsBHiF3GD1i8vyclyOeGpxoUoyyb0uKtAvAv7vX8wdVAB5wylRsr0BGSZgs2C9s3cHdpiKgvzpU86gdhaR8VE4KyenvbXrA2Ir6xZRrOcL5VK+3Kua0xqEVyyfP+NN9yBMktfbGolSKf+jiFd9uQkhZ3a+B38O0mjpMvpXwq260xusTmgn3cm09iXkD9vNFDkkltn1XaRU7/z9mwZuRjbh/jzkIr3N0yiNDoFUtpYnTx8nYo/kO73gYzzMOYahDbdJFFdbpagMK5y0qLmnfVw53jl+UiPGyav+XbOSIwzMqDoKkr2IzsJDu382ILweEGRXMONhteK9SECed0a07QompVsyG9+jBrDJH+4j+TRuRD89hyR8aHM5NhSqEO2ZRixrBsG0nuvUxaP0oOPrhqgrUBpFKrcmu7JCZ1FkRsu3pmbmPmWrpRE5Y1B915zGty9TbCk76cGVB9clMppmfDgMSoaqcM5R6lxYSAnW95RHHRJ9Eb14BdLbN9PDAlvekPz5S+UURFfEZbYAgfMv9k6/Se5eINGJQHoVJwZxbba0ESCksIalTpjh3Vqrkyy6IqsUJV4H+HJMnHQSn0AY9481/DMSsS/NCpBc/5Zb4/fQgAoqIfrSrPbdjea1Mtp8zr6/WLLlfW2ILxLx7gNPqOZqiFnZeJ5EsBOZcqoH1nP/jBxnXVjjNH3+EI4xssUXpqbuiqy8t6UMsMgJjbdz0s/IgG8pMDNXNENhIhHOKxHYzowBOf7u0xBb3f1ZJHCA0Ui5gNYRnoo3IoEZQ9AfEdiph6yS4Xj8DjKV6dc8Ae+A089tD5x3NbE2N1vdFhYscTEn7qknA3GXMKO5H5Q74IJ+ss5ddW9U4Nt1Im7qyPR/p5qIX7thnQun13B5AU3yy7EpLdB4wGg4KjFc90mV58RHnHtwdNZeuoHLVckUC6J2pXTu19tIHtmiuwslg7RlhAgw668sX/5zLB5Hy8l+O42yL2jGYG+sfpwWfY/R7XB9QPhBvza3kJNzLaDI1+QjUvGCWjiXi7j3oaj/pXTcU92vBydv3C3GafsLqLJyPlvXiWkzDcdxGXcXovy4Axfof4cYHtYKxLKgB9VVN8zEEfh/7TCN2DyFkFka+2MkEac1/J1K8Kg3G6GsEjpBVLimuvBhXGT/UQo8YI1HuH3AXLWTwAumZMkQLF4H9i87jmG8Gc28DPVh0ciuoXYkrhcnGiPUmdh8j1mcRUWrd3DmxM5NSdvxdMZwKqBFyt1O5vNLFPAPJw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35115728-c01a-4199-0667-08dc71fc3cbf X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 May 2024 20:52:14.7094 (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: DB9P250MB0449 Subject: [FFmpeg-devel] [PATCH v2 06/71] avcodec/get_buffer: Remove redundant check X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Cc: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> X-TUID: Tt77bWpNxVnK |
Series |
[FFmpeg-devel,v2,01/71] avcodec/ratecontrol: Fix double free on error
|
expand
|
diff --git a/libavcodec/get_buffer.c b/libavcodec/get_buffer.c index 9b35fde7c6..ff19f61e86 100644 --- a/libavcodec/get_buffer.c +++ b/libavcodec/get_buffer.c @@ -65,20 +65,15 @@ static void frame_pool_free(FFRefStructOpaque unused, void *obj) static int update_frame_pool(AVCodecContext *avctx, AVFrame *frame) { FramePool *pool = avctx->internal->pool; - int i, ret, ch, planes; - - if (avctx->codec_type == AVMEDIA_TYPE_AUDIO) { - int planar = av_sample_fmt_is_planar(frame->format); - ch = frame->ch_layout.nb_channels; - planes = planar ? ch : 1; - } + int i, ret; if (pool && pool->format == frame->format) { if (avctx->codec_type == AVMEDIA_TYPE_VIDEO && pool->width == frame->width && pool->height == frame->height) return 0; - if (avctx->codec_type == AVMEDIA_TYPE_AUDIO && pool->planes == planes && - pool->channels == ch && frame->nb_samples == pool->samples) + if (avctx->codec_type == AVMEDIA_TYPE_AUDIO && + pool->channels == frame->ch_layout.nb_channels && + frame->nb_samples == pool->samples) return 0; } @@ -141,7 +136,8 @@ static int update_frame_pool(AVCodecContext *avctx, AVFrame *frame) break; } case AVMEDIA_TYPE_AUDIO: { - ret = av_samples_get_buffer_size(&pool->linesize[0], ch, + ret = av_samples_get_buffer_size(&pool->linesize[0], + frame->ch_layout.nb_channels, frame->nb_samples, frame->format, 0); if (ret < 0) goto fail; @@ -153,9 +149,9 @@ static int update_frame_pool(AVCodecContext *avctx, AVFrame *frame) } pool->format = frame->format; - pool->planes = planes; - pool->channels = ch; + pool->channels = frame->ch_layout.nb_channels; pool->samples = frame->nb_samples; + pool->planes = av_sample_fmt_is_planar(pool->format) ? pool->channels : 1; break; } default: av_assert0(0);
It is unnecessary to check for whether the number of planes of an already existing audio pool coincides with the number of planes to use for the frame: If the common format of both is planar, then the number of planes coincides with the number of channels for which there is already a check*; if not, then both the existing pool as well as the frame use one pool. *: In fact, one could reuse the pool in this case even if the number of channels changes. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavcodec/get_buffer.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-)