From patchwork Mon Jan 24 14:45:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33765 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:e71a:0:0:0:0:0 with SMTP id b26csp385485ioh; Mon, 24 Jan 2022 06:46:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJzbxOBSmM6z+s+SfCe1dqbg3dzXxvvrlq19C9BWOh8xs0tge5vHiwj0sHi/CPlGYSaSyKKz X-Received: by 2002:a05:6402:50c9:: with SMTP id h9mr16449747edb.210.1643035597032; Mon, 24 Jan 2022 06:46:37 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id c24si7826947ejj.225.2022.01.24.06.46.34; Mon, 24 Jan 2022 06:46:37 -0800 (PST) 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=YdhPY3cg; 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 F249A68AFA8; Mon, 24 Jan 2022 16:46:32 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-oln040092064090.outbound.protection.outlook.com [40.92.64.90]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 14337680157 for ; Mon, 24 Jan 2022 16:46:26 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W5nvs5cXffFeSwTl6EMskq0mugyhg/gM0Nbl9r6o7J5KhVLUnPPKJdB13SMbvM+DG3+iXNGFC1lAG3bmyz0bEAMh3rT7iWIXdkuxx+AXvFlp7YRi/z4P8x5rDuXYhB8LrJoCW1JNYDfqii6GKRlRt8mwEOrxp5IF+kDAwnV8iLod6eeQssmjnwkOHr88yqz7A4iV/gXnYjpSEEqUcsET6JFvN94+Q1YRxwoYzvoOKic3OwLRhAM+o+7pkaFmNhPEoX9tcf9uztnkMyPOsLEcEeiZW+y26EOLvH0dT72O7jjsJgQ0IhWZFYxQUAUAroEdBxFJhUyw9UEo8EunJQi5qw== 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=P/2HfK95TUkIO/R+ynyoOJf6mQ0ASEmVYh5RVV3MDT4=; b=UHecw/sTLWYTqeN57Jwmdn64VeLSaUbHmeL8Gk7MYgDdrBpAOx2+AgJVU4WSVSwny0ZIi41XV3ONgnPb93oZuvxwHdQ/O8KE4LWL0eoqgaL6HcWBZrN3XmwBgjgGIcH2wTBMsVN+fFChXMF/nUekgbsNuVLpsUIU9Tw6+nIPilSY/jQtaynvy2yVMKvqS+gzaiQ48+ruCAWco9ad5aGxHvYPBlfBIh4kE58FIWo7ik+dBs63a31Tl70EufB7K4ClDKhV7LzEpEEM2ZyRP85a7uVBXZErFVey5tydsf26pluJjXiQSs3c/OridEa6FQVVHAV1SujkXwt2jfHhzdYirw== 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=P/2HfK95TUkIO/R+ynyoOJf6mQ0ASEmVYh5RVV3MDT4=; b=YdhPY3cg1Me02kqhp9Cs2IlflDmPXQKr6R5SOZVkeOaQuIYLiajBlcKzXOTZD4cURvTxPy4+6XuzjY/Uqq1C0nT5x4X73zhXn3jCDBRWccZleLzxqTV7CsW4szeKWefAQX/Nvgs3xpGUy8sZQ/EJDm03rtqYwLwW2hk/n2/vadzNOI58IzTbbeAiAYBdjDryHycmIB2hsgR7FaqPVi1bm4yv+cMKR5dfz4sJ8vJ1CGYEowo4ACESZr/Vi3YW2z3iqbqJaR/B2D3VKaVqBPeCQ1gHe29xdkti6lmpBasfcrWvcNLk14LOFVn/t9b0BB6VgenScHFlm2CtrNwAgAhprw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM0PR0302MB3187.eurprd03.prod.outlook.com (2603:10a6:208:7::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan 2022 14:46:24 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022 14:46:24 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 24 Jan 2022 15:45:46 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [uJpn7qhQF24ULp4KTkQF94M8s+ukAViu] X-ClientProxiedBy: AM5PR0201CA0016.eurprd02.prod.outlook.com (2603:10a6:203:3d::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220124144616.559446-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a2c3c1f0-ea30-4c9e-3599-08d9df484b22 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiRuJzjo+afAgBd4SR5uzlp8soyI1FYaKxdSsP/AAnZE94kqAavM17Nbqeq7lidnLVmqvbRSqoyNrWEqhDp57/pa1uHrYPX/nnPgl02FZeVPCijF3TB6i1v/eGFubuyUudOsJAUpo8ep2PYZd0NHd7I09yZpBw5iTij9pdQkzjQdVds76sAfcwfkFwo5pugQO7zxW0SG8ivhCZOzkJRvCrw/v4GCKmYnrOndnlDIv2a0QgR65ppbAdzrj+/Av6Rf/l4ds70iAH/8wK36hGj66BKOxfW9swcuOJYmUsQus3xE+RDu+h+E5AkrSd9c5KWCYRWPl+IieeCBnh6IUKPmEUQWPBwQyW8BXwwbuv9YaumyUBR10Ae1A1RwXXwz+kamqpKwlGmhszGdvBoaCQQ24dYwECeLkpRsvLcahVXQJCh7Dv0dhxcnxW42htMPh1Yg3x9q7yHLJBVHC0S0GbZF5R3dg8Qbz61W4iXo+MqSMV31f3AxGKn1m4K+bcaQj64xOfeNit8GPktYZVu+r0+K3AGYELan7it71/xfmMAjoD4TNsPm43SOIukL+XjOLcneaBssdizhz3QA15l16by0BWz13YGldxgM8mpS4NMYi5832fs77whG6l35ne0Hs9PwwWw98mwIJTSD0KgUxkwTZZ+/HDJY06h7DXfiGwI/ny1tZGuQAriSjQ5yVRYEP5zjoHAOl0rMe2LCMGycwDb9EAkmaf70LQRPe+GBp0e9gTODRvWl2etC7noYBV5q60UbKGA= X-MS-TrafficTypeDiagnostic: AM0PR0302MB3187:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NxJQZ1W/Onehde5aNNoLbxxk3RAkRzvBN8cX1BauqpEa4U7fLRty8BFNy2ySG8SjZBYDOmqNdTWB3qJvWPUkKNZzxfSdz5n/alTe4LBKUHd1zWmFuz8zf1YJfiO3COlI0Ib4A0kzMGGeFbg2O7EE2UklZqu6BBMRwNl7aDulWKLEg9WdNGekEjIj0/5vQ1XzgB81pz8r0V+xYfXpIdKzf23lWNKyRR5+bHka4uICAG48gsI5sbUGktzfpjgN39XvKz5QckzXsEqxews8zmgr8RgEhEzmT7XsPvVF0KF/T30xFcIf/m+pK3QpGdeW1sKiUIz40pDyWgQkbojle8ut0pbnEnz7uOab8ZJRCxzM0arAWwobADVHpzEz59loNog4hR4Y9flttjD+LpdSb2AboXgwHqvjC2Zv8GIVr9Pb8Bd5iUlQ87Fd2BwFvk0u801Y4mx1fbZHv+ZVbo0mjWkpVCDH/lR21OZrAp2KyocMWGH6yibri7VgbnzVbHw4YhKVlNY7MNXrkGo+qtvCpWRvxASxe2r32EuIFH9cKDh+HEhZw8gszURMiMH7l2v6She2kFQ4/xWYBmOksqupOV1iiQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RWWOLy/QEEIe/2GCsxr9NfCGEsKaudX6DKUGpVKIHuqhOUZL933yWjZvJWde6+5eHkEiJ+PKQxb95Yx3IximRULxfhUILCxeaTup5pPENKhVn6cniApnjxQRityIQ2S5RaZ2NoqGz8uze5d0nE71iFMlcfbBJZp4vlLk72/BLqZNNRKtZyVI/bbxjFm1dWjI+c90EvYd6ufP7hTyCTlUchCivPoGf7GrtSgzmb/czo8Q5YigbieegtEH8TjcrbZ/gGmwvhl3BFWl931ndUe+0m88pTcUEkMMu1Fxtwi0wCEsptRMW5b0PoSBPKjcpCxb34sjTc7we+Hm80xf74Mmtviop0S2Db8gmh5sP7WKgLW1TV5yXgfMvpU/FPhJC0DGUVFKWKknNOIo9ctaFhnnEE2QjF+B3jOXqt2IWB7uCQz2glTxsKRstdIlUtinM7pmVI8/tFv9PyLaJffdxaF1jXI45xRq/0IRp8Q60CGuqMd+oVq4VViNIX6IL99Mv/XppafhDGHwHZanuJEEManai5M8IXLDNqccTv8xLNvlzT20pvUPBec+TzaBeTCKA4l+8qlYTuTzsvwIvZ5fiKwwfYQ79ygqow4SGBlgmkfQFldEMIaryfRLFatOp8yiT7gJbRGec/eW3mKE+sFnmK2XyFPnDpmVBKMpTEv7ns/MPLon7lz5iOkutREce8QsHWGD1TTsMy58G4OchcqV66Jj3prhmhDk7oXWBvBBNfAig69OXj+mtj3mlWYo/SeHnDDDb9BGjzqS2/oKoZXBbloxIcuQqffQZS98BcP//CoMWozTelagnsRkn3BMIB1XArFK2fv5v7yGqvpKT88/6l9S26DUsSgFiBCH+lv1JX3iarcSWAY0gap4m3nANXF/IfAaV7f8hAGebpZpen6cVwxy6XaUeKwJxVYO+FFJ7S3kKrcCaeLr+HlDr//00jzUH0PC2VSwftAODZGxMIJKGglPDQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2c3c1f0-ea30-4c9e-3599-08d9df484b22 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 14:46:24.3164 (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: AM0PR0302MB3187 Subject: [FFmpeg-devel] [PATCH v2 01/31] avutil/fifo: Use av_fifo_generic_peek_at() for av_fifo_generic_peek() 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: HEQu/Ci0LxkK Avoids code duplication. It furthermore properly checks for buf_size to be > 0 before doing anything. Signed-off-by: Andreas Rheinhardt --- libavutil/fifo.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/libavutil/fifo.c b/libavutil/fifo.c index d741bdd395..e1f2175530 100644 --- a/libavutil/fifo.c +++ b/libavutil/fifo.c @@ -194,26 +194,7 @@ int av_fifo_generic_peek_at(AVFifoBuffer *f, void *dest, int offset, int buf_siz int av_fifo_generic_peek(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void *, void *, int)) { - uint8_t *rptr = f->rptr; - - if (buf_size > av_fifo_size(f)) - return AVERROR(EINVAL); - - do { - int len = FFMIN(f->end - rptr, buf_size); - if (func) - func(dest, rptr, len); - else { - memcpy(dest, rptr, len); - dest = (uint8_t *)dest + len; - } - rptr += len; - if (rptr >= f->end) - rptr -= f->end - f->buffer; - buf_size -= len; - } while (buf_size > 0); - - return 0; + return av_fifo_generic_peek_at(f, dest, 0, buf_size, func); } int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size,