From patchwork Mon Jan 24 14:45:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33769 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:e71a:0:0:0:0:0 with SMTP id b26csp386166ioh; Mon, 24 Jan 2022 06:47:19 -0800 (PST) X-Google-Smtp-Source: ABdhPJwIkGEOSuAXHXAracH32JsOz7rF2HHRK/F6mvWlOMQVhBWe6RTK/7zYuaJowCEsqQD3SpkI X-Received: by 2002:a17:907:98ae:: with SMTP id ju14mr12387947ejc.533.1643035639016; Mon, 24 Jan 2022 06:47:19 -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 z15si9315186edc.631.2022.01.24.06.47.18; Mon, 24 Jan 2022 06:47:19 -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=sBkhzBSB; 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 877F468B086; Mon, 24 Jan 2022 16:46:53 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-oln040092067060.outbound.protection.outlook.com [40.92.67.60]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EA6D468AE56 for ; Mon, 24 Jan 2022 16:46:51 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g+a238QKk/bVRQXnn4jLISMYRNa7nCvgcOkMCd22kgdDF0OPR8k+QcaXBHZDuzcWvek8oFTNpE8EikxtCT9vGYKMTQ7Ps+VQDEkkaHdhgqgMG6qbchl5uThXwl8MQvPJuzFp9YJuWthxHDx42yjo7cjYTeeEy5z/5LoFPEhpelJ3CSqC1GQTrXEYOS1RxzkYcLhfC1qu0HYMhwtVGPOG8tbfieTateDguq8DQPyy3vMAUrd6a8eaGJ1pQJYkVM1sz88fik5nTpTjARBweNE1MlfEm3dBj1SrVUsChpqFNaRoA+C766z+MuKE1Qp6UB5115+Ua9N6iyetRH/glyLBlw== 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=uCMgxwDqIDyQvtsQSNNrS6UdhzfiYfBTiQrLpzAXJ0A=; b=Wq2sS4jhoVcijc8uu5UfFjtqj2FnFuVowYsaypKL6DmthIO8SNP6p//KxM/WXEKkhoNZlQlSyMnBzHXBlN8QIiS138iMyFkkeIvQZ5NaKh8+UOcsFfeOwXc0U5f2B8FVTJO+f+nYat1Y2anFowAefqpqukixcPaKmc7f7EfKyc5m88ESJjiUA3rvaRRrVBxwCAsZbfe1Yz+zpeXo8Yz6Md+erqMnjBbHbqOPnb0zZq7R/ZtgL825KjldyB/2+xakrjIKvSGfKYzPCwRY2FSh9n7c771xv3SBvbDQygnFgfAYzMNIHmK8w8i6EE0gDnc5jxx4MAsD3bzXbtfTZqG+qg== 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=uCMgxwDqIDyQvtsQSNNrS6UdhzfiYfBTiQrLpzAXJ0A=; b=sBkhzBSBoWLGrG0D7HmxtB0BtmGRI+uuST7C+eFMROm8L7eE9CON73pcaHP2UaUqyNswb6550PfjOrESmHBGCV5KiFEktDYGHXJ8Hd146Ag6bt57W8ARpc5swBns1oEd1KPQ7pWIlI6Qqd2pm8TisNMI6JNciPDz0+PURTBaCjD2fZwG2xfiRivlnGOVkML3QrbrY8BIlSrCgP/NsEHH3jkd6BizDvOla9G88970MEG6y+uPaadWZf4pwov1hwM3kWEIyENjN5cHg87PPePfq5TMn36Ol5NMpyksA2uu+BfvJEISrLi6En+kOeU05A2HxNC+AU53uz8cD47KwQ9WlA== 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:50 +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:50 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 24 Jan 2022 15:45:50 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [1wNPbbrk5ui+s8pZrrcdFYzE2AZU65cG] 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-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 39fc7b6d-71f9-4f40-8b3c-08d9df485ad0 X-MS-TrafficTypeDiagnostic: AM0PR0302MB3187:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1imbNH6d1vC3XXEPDmw2slvdHIraIGEAg5n11bNz15rS7/3NuXb896vw6fFVh2QQ7/KZjx0QGJGT3RWlhJP1xd6LKhspqO6ySNq5J/28ELFU2HxNtpme7H0eTGlpQvTVyNBWFGqHQtXGZpOCsdmAyuPTFyUPZUKfxU6MSgf6Bpw9gPNj/n5002kQHr4D2FqvW5LDuvjJinJ6CAhk29t5j2WuP+z//VmEsY9WQ+Nl43PepLwWFzt6HdDfGhU2a/KyGnBok9NbkDwIXMZDgmNajWxVev3FgXqNWQJr5VBRwhUwey8aurjq3E+Zo7VCeogwR1LHSW6CTge7amjXdoaUBNmaCRxWwtcI/qLvRtccFXF1m5l7huAq8fM8Eu0RwpsnmrTGXNQ0UGjGqiPJv8ke5uOCfYkwh4p7JbGQmZNwgORwEYx+4Vx5mIhNonM9W1Hdt5DxISsI/z4doqp1riTkQUWDRmflx5WJRlBjVK/9kP7Gijs9oIb2a8Rb7Lj4eApesxErYKJKtOPUBm4NsZof1+6nB4r13V+cph7xjlxiTQ/5NurDBTAYfEkioMvvPQ18hefpYWRGbiTF7N1dYJ5EjA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oKn8T2FNUkbVClzITwT1dIlJKHo7axyGWX3K0KBqkVHalMpLRck8lHWMF1MshLL+rrWSUb7uFmDVKrApASMey+ACtYWPXI0+IGnTs7G+x9j5+DliMuuz0IGaHcykQgQjs95XK3FwkQAHqr9ybv/kn3oenW17Bj3o6k7XKDSVQfogV8vTDURQ/+fxela3UIls+HO077vz5bq+PbWqA8BbXjgPhECgxOqcjR9vcHlvJiMoTTWBGp83Un0bQFjvfBMjjTGtjKwjhl8Zgt9qbN7PlUz5V+iCFbnBDnz092uIHP7cXRX0LmXJlYS2yEXustigfr61oHqdTum7kaxZvr4w97f70eSJ2Hl4+2dNeKgmmH/79vPTZLQShtSc5SfIjZ0hw3NgxUR5HMLOYyMAsMlkX4xSA8pAEV7cdB848cUjYMt6b3Snpwxou69HjlpSFq9SlqupjYSVkqNaTpaR7nsVcIKQlpVLHnQlItkf0ZiurELW/ccHpE3vm+mtRQxWdKqdwO4t/PdN6jEmBhg6EpDuF2hR0HGmY4e81bJEWJ4RYZ8qzfr0A/veD/WMONRT7lsK/ENMz15i3jrOGBWOcnKSiU1Dvjz0JnyAAY/4cnkGcrkUNG2vywrzpWdSrliaeMg0MCy+xVNuQTiThQHLd24pW5urZbvA/u6RnnsmXEJvkmKD57PghSkvNhXjx3oWrRidY7ZfGgIxHMNlbdBLVxW8YB9JG0rbLGgStDEsAqCnhtrZI5PIyWZObS0TlPp/mNM1SqTr2+jctruIBhGfXxE56mXwY2bcZhP1LVl/JD4O8vhHiJbeDfJXp7nRb5ym1/O4tiVukgP8mQNExoyrITrpQY69sXtkauTU3o4WTuR1Aa8/lstHol6gsW56KsDBe7qpgMUFPqk0EZzOWjJjohSmb/f/4BcEdeJn6x2yMEWIa2lkSq8PDdk09QUWXTWwFT8Ut7IvbNfjq++StiePHFedaQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 39fc7b6d-71f9-4f40-8b3c-08d9df485ad0 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:50.5922 (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 05/31] lavu/tests/fifo: switch to the new API 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: Anton Khirnov Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: XZCPV+7RWOvR From: Anton Khirnov --- libavutil/tests/fifo.c | 47 +++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/libavutil/tests/fifo.c b/libavutil/tests/fifo.c index a17d913233..579602ccf3 100644 --- a/libavutil/tests/fifo.c +++ b/libavutil/tests/fifo.c @@ -23,78 +23,73 @@ int main(void) { /* create a FIFO buffer */ - AVFifoBuffer *fifo = av_fifo_alloc(13 * sizeof(int)); + AVFifo *fifo = av_fifo_alloc2(13, sizeof(int), 0); int i, j, n, *p; /* fill data */ - for (i = 0; av_fifo_space(fifo) >= sizeof(int); i++) - av_fifo_generic_write(fifo, &i, sizeof(int), NULL); + for (i = 0; av_fifo_can_write(fifo); i++) + av_fifo_write(fifo, &i, 1); /* peek_at at FIFO */ - n = av_fifo_size(fifo) / sizeof(int); + n = av_fifo_can_read(fifo); for (i = 0; i < n; i++) { - av_fifo_generic_peek_at(fifo, &j, i * sizeof(int), sizeof(j), NULL); + av_fifo_peek(fifo, &j, 1, i); printf("%d: %d\n", i, j); } printf("\n"); /* generic peek at FIFO */ - n = av_fifo_size(fifo); - p = malloc(n); + n = av_fifo_can_read(fifo); + p = malloc(n * av_fifo_elem_size(fifo)); if (p == NULL) { fprintf(stderr, "failed to allocate memory.\n"); exit(1); } - (void) av_fifo_generic_peek(fifo, p, n, NULL); + (void) av_fifo_peek(fifo, p, n, 0); /* read data at p */ - n /= sizeof(int); for(i = 0; i < n; ++i) printf("%d: %d\n", i, p[i]); putchar('\n'); /* read data */ - for (i = 0; av_fifo_size(fifo) >= sizeof(int); i++) { - av_fifo_generic_read(fifo, &j, sizeof(int), NULL); + for (i = 0; av_fifo_can_read(fifo); i++) { + av_fifo_read(fifo, &j, 1); printf("%d ", j); } printf("\n"); - /* test *ndx overflow */ - av_fifo_reset(fifo); - fifo->rndx = fifo->wndx = ~(uint32_t)0 - 5; - /* fill data */ - for (i = 0; av_fifo_space(fifo) >= sizeof(int); i++) - av_fifo_generic_write(fifo, &i, sizeof(int), NULL); + for (i = 0; av_fifo_can_write(fifo); i++) + av_fifo_write(fifo, &i, 1); /* peek_at at FIFO */ - n = av_fifo_size(fifo) / sizeof(int); + n = av_fifo_can_read(fifo); for (i = 0; i < n; i++) { - av_fifo_generic_peek_at(fifo, &j, i * sizeof(int), sizeof(j), NULL); + av_fifo_peek(fifo, &j, 1, i); printf("%d: %d\n", i, j); } putchar('\n'); /* test fifo_grow */ - (void) av_fifo_grow(fifo, 15 * sizeof(int)); + (void) av_fifo_grow2(fifo, 15); /* fill data */ - n = av_fifo_size(fifo) / sizeof(int); - for (i = n; av_fifo_space(fifo) >= sizeof(int); ++i) - av_fifo_generic_write(fifo, &i, sizeof(int), NULL); + n = av_fifo_can_read(fifo); + for (i = n; av_fifo_can_write(fifo); ++i) + av_fifo_write(fifo, &i, 1); /* peek_at at FIFO */ - n = av_fifo_size(fifo) / sizeof(int); + n = av_fifo_can_read(fifo); for (i = 0; i < n; i++) { - av_fifo_generic_peek_at(fifo, &j, i * sizeof(int), sizeof(j), NULL); + av_fifo_peek(fifo, &j, 1, i); printf("%d: %d\n", i, j); } - av_fifo_free(fifo); + av_fifo_freep2(&fifo); free(p); return 0;