From patchwork Wed Sep 1 11:28:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 29937 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp463099iov; Wed, 1 Sep 2021 04:28:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9Mwhxm28+jCPT4cCVkJQ2GzSeB1a2AjCcCeTFdGPVHQas/R/mmgaZFcDeAJBR573CXzeA X-Received: by 2002:a17:906:3f95:: with SMTP id b21mr25647202ejj.368.1630495723166; Wed, 01 Sep 2021 04:28:43 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id r2si21077803edy.116.2021.09.01.04.28.41; Wed, 01 Sep 2021 04:28:43 -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="GEiQ/waG"; 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 AEB8D68A473; Wed, 1 Sep 2021 14:28:35 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-oln040092064057.outbound.protection.outlook.com [40.92.64.57]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BE7B9680C04 for ; Wed, 1 Sep 2021 14:28:28 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LVXW7xG9hhVeNEjJye5h/fCKFjKTR+EbP7pQ3hrfQrQ7XsNrKj4Ssakt8gHZ0fzhkFPU6vUnRtD2PABkMzbntiJpii98T2MBAHJpMBkdacNUfxgf4dkJ1LRdNOyymb/icyg3UtzLi4nx2Q0ItxsPjtq3yuNmnYkcrbSd9yVBiN4PsupQjJ4bsUyiS8AGIB+Nppd0ZWfPNIuygdLaIhqGXaSwGs6b6ah1ANM1Ck13Z4WO17PaCHhRKYduC3nLtdg2Is03oRKGG9SruZB2vhgkWziSz5gRIWu3yvwwcN8YKuFZZ276hs2fdC+VmN1/CugJdJHD5uwfTJUO9R34kfxi5Q== 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-SenderADCheck; bh=DLw0N/xtIxWmO+kDK3HcUeznnabMKUwlXrsQg1oTPAQ=; b=HwdOG2+Yr78OZKu5MHAiSNOraG9oujrAVIgXzccRlyrxLtCYnIvqdNRgQ6yHs1+nHh7jQXyeDGwH9VlkSIUEPe6MYpKV2ktC5/NIzwjo7qxZpP1X6GpL+GnkngM2OE4hVlttnbNQmGwZLWWkNqpc7in5jJq9biYjEEF5a3rXrrZ66gpXpbj1advK8yu6hEyux5IQ5lp4PWQOdUaIsLD0cLFMYI1EhcEH0xUAzwkXtBGWlh5+O8iymzDj9OZYUnCzOb0dpPICVyTqsTopIlNS+f5tLbkPJRf7MrfwJf0zxPL+WQObvm6nGdvchq0be4CoYbL5c6yJnEzOhacUrvqgjA== 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=DLw0N/xtIxWmO+kDK3HcUeznnabMKUwlXrsQg1oTPAQ=; b=GEiQ/waG/msbPOs2WxMzV2s42FFv85j72uXjeLEks0xVf9PvM7tHcgV/l8HxJ7b0zk/VTI4S6CoW5VGVCr6AafOGYKJya5YLZKsJJZs8DHBrvi087fJ6mQN+Y5sLV9OVd0ikYedjBL5ZIDzSeguC+A3Qsu8L4bQo5SCkRcMzxmsQo7G3mJi/25EumeE9kx7/lbfxyMFxSYkC/+/YqUTp0XwJqmdTptM9DUTtEa0nM4fZ2XTOZWCOV6jPzqff20jzk1RYOVyaKS0XebAIntCjKcGNRPGnAI3FgAOqEhubcAXNARQK9m9SjQWNfBWgmr/q09GwfANrsHvEd/BFa3bySA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AS8PR03MB6872.eurprd03.prod.outlook.com (2603:10a6:20b:294::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24; Wed, 1 Sep 2021 11:28:27 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f8b5:1ef2:89b2:f8c5]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f8b5:1ef2:89b2:f8c5%7]) with mapi id 15.20.4457.024; Wed, 1 Sep 2021 11:28:26 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 1 Sep 2021 13:28:19 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 X-TMN: [qLPVmDlLmkx0SVt08NozbznomwTxZM0J] X-ClientProxiedBy: AM0PR02CA0087.eurprd02.prod.outlook.com (2603:10a6:208:154::28) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20210901112819.1969117-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.142.38) by AM0PR02CA0087.eurprd02.prod.outlook.com (2603:10a6:208:154::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23 via Frontend Transport; Wed, 1 Sep 2021 11:28:26 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4c16bade-33d7-40fd-5472-08d96d3b9d8e X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWdKAFq52I1YaYrfPw2uztgoFvoqIwVPiDZJumfDIq6Myn3CtCVn1b3YrlrVTgtkn/Weon4RYQDFt/n4Kaurhgh2MyPlo9VBDYn5zoKNXnBZ4O27M5TP4Ckrja0ypnN6UqSCBy2hKS62BgsBsAUav5xHlXkw5TgkIuPiIBsxJYOFj19qgVkKLNWxALLV2568gg8p/+dmdF5AfPvA/rEVIwt/tXISOIf2XLr1vRFjxzdC6gfmYEPGjPsauBhx1A6EjlZHUsfmjjHUKeRKI9NsE6QQePUkruNX0CKvQs4rFZ3FXiom8FJ4B6MyYZJnWOrJMmlEa4PpoO8cm7f7h/1g5AFv8miC/PCEVb2JbiA8PyM8CmTJGtd/qIU+yCKHhzROK54J/5otJUcOla8mIVdLLz2NdugcOEGEl0yc/2ElgebipXBQX5LbJsvij78gePHtwSgORo6OZD6MgCpGra2Vf32jehtlnKwDJXaSByeXkub55Dhg98A5t+HVEqsRTD9imN8Xb0X/If1XX+Eh7G08sJK01rj45tnJxuXIs2Y123E5wDpaAvGaPwEAoK2xSVO9MRSlpARryENV6JLcw+ch/bwO+WOSFAnPyKt44IFmpgV20cSBtQVtjCmLBq7sAm0s7gMA5gdTSKLZSlTU+AaRYdejI6/klKkBsiZXlzcNOx1TSU5d7iqa7VJolZospuAmoJqlNaCNcEKKUQ9gxbJVpE/okN+mloKJu4= X-MS-TrafficTypeDiagnostic: AS8PR03MB6872: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hEkJRqPSIYdXDswEOvSUtBiFUVqdbkTftvOnyHaxRrERKEdZocY+I2YNJEHblB0hL8PjVH7k10IissqGkNvPbhkYEGqgkDeSAIBgb9j8F1+TLcVW9QgAHriVCuIoQrvpKaugIKOpqXN1s+vr8tZ0enaCHs7jBzaq9F1OKgFJlNwzFgmCBNyXBCKZhOXj3BR6HyTlSzaAsKBetQplsj5jBAKt2LRfP4gxyC88njouc4dlfy4xCb/kqfVChRny6XrvmtoYxCX5oc9U5iPp3R/l8We0xbTjTNRMySd8HhB6yeFdPwyUebEAYJOIjGToiHY2xORaRjddYx0xg/H965hJK4DYe8ijCk8PVpPTOlW/MsA+qlueZ763c9rUuKuKIx6nci89MJ/PA8dVrgvqq6Mt4oI20IxwZ1f95Mc8Yjuo9amWrP/mxINsTinSTZokoSch X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /yBEtxw4YYHF2n4/wa+qXG7VnSHyiQ84n8LJroKmn9DQeS3u/+sTH5BvcDmv6gDzx7S38scLI2WwJdJkv2cHNtXNA2ZFf4AiOHxdqvOLo1hYZL6iBC2PKdOA3T2KOV9f46YcJ2n0RySSaG6lqGwAzQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4c16bade-33d7-40fd-5472-08d96d3b9d8e X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2021 11:28:26.8303 (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: AS8PR03MB6872 Subject: [FFmpeg-devel] [PATCH] avcodec/avcodec: Allow up to seven codec ids per parser 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: MO+BmZMezRHb ff_pnm_parser and ff_vp3_parser already hit the current limit; an addition to the former (to handle pfm) is planned. Signed-off-by: Andreas Rheinhardt --- If this API were not intended to be deprecated soon, I would make the codec_ids an array of enum AVCodecID and change av_parser_init() accordingly. Furthermore, AVCodecParser needs a public-private demarkation line. Finally, some AVCodecParserContext are marked as private despite not being at the end of said context. Missing version bump. doc/APIchanges | 3 +++ libavcodec/avcodec.h | 2 +- libavcodec/parser.c | 8 ++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 63bf95233f..5c0113a2ea 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -14,6 +14,9 @@ libavutil: 2021-04-27 API changes, most recent first: +2021-09-01 - xxxxxxxxxx - lavc 59.yyyyy - avcodec.h + Incremented the number of elements of AVCodecParser.codec_ids to seven. + 2021-08-24 - xxxxxxxxxx - lavc 59.6.100 - avcodec.h Add FF_CODEC_PROPERTY_FILM_GRAIN diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index f3f401871b..ffd58c333f 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -2927,7 +2927,7 @@ typedef struct AVCodecParserContext { } AVCodecParserContext; typedef struct AVCodecParser { - int codec_ids[5]; /* several codec IDs are permitted */ + int codec_ids[7]; /* several codec IDs are permitted */ int priv_data_size; int (*parser_init)(AVCodecParserContext *s); /* This callback never returns an error, a negative value means that diff --git a/libavcodec/parser.c b/libavcodec/parser.c index fc57246965..3b459cc125 100644 --- a/libavcodec/parser.c +++ b/libavcodec/parser.c @@ -46,7 +46,9 @@ AVCodecParserContext *av_parser_init(int codec_id) parser->codec_ids[1] == codec_id || parser->codec_ids[2] == codec_id || parser->codec_ids[3] == codec_id || - parser->codec_ids[4] == codec_id) + parser->codec_ids[4] == codec_id || + parser->codec_ids[5] == codec_id || + parser->codec_ids[6] == codec_id) goto found; } return NULL; @@ -127,7 +129,9 @@ int av_parser_parse2(AVCodecParserContext *s, AVCodecContext *avctx, avctx->codec_id == s->parser->codec_ids[1] || avctx->codec_id == s->parser->codec_ids[2] || avctx->codec_id == s->parser->codec_ids[3] || - avctx->codec_id == s->parser->codec_ids[4]); + avctx->codec_id == s->parser->codec_ids[4] || + avctx->codec_id == s->parser->codec_ids[5] || + avctx->codec_id == s->parser->codec_ids[6]); if (!(s->flags & PARSER_FLAG_FETCHED_OFFSET)) { s->next_frame_offset =