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 AD73E479AB for ; Sat, 27 Jan 2024 14:44:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8299B68D0C9; Sat, 27 Jan 2024 16:44:10 +0200 (EET) Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02olkn2047.outbound.protection.outlook.com [40.92.48.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EFF5368CD88 for ; Sat, 27 Jan 2024 16:44:04 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fPoO+5Z1SaYIILUN3ET6cVrYqofbz7PphkKApcDFjhHVngGmRotuS5sNS4G/qNgj/QYois61QxLp/JkxZtt4TNDFRnoIkMfcvp/sJVjHeI4wWYt9ECXRyfhwFQ3moyEpUqml2fpJ2iW85M23+2X4TF/zxOqZ4bNaymCcEQi+ptoGbTFzzKpQ3XJErqgLuZP8xR539OFsjMTYVIonM1BouJ0xd0uX2wBN8kj1cffJ745YPv8SKNT180l7ywV7nkOi0I53Q2MS7osFH47sh6znD/zLOHxMP0XGkjdCEi1J9UWQ6hjg9w3eCXCQmHlu2zVFIma3g9Qixzi10ymkOPFTig== 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=wBPYgzH7uvXSBCXXR7HEl1Cw4Lm8Ev1NAXzzTvdZLM0=; b=V02pj1Or23jIMTisuS2jc+FPg0fljzORGyVKvM9VJGSpqJGheRddQEDpKPCQ6+ZJGaTZd6g9NnXsnAINmpRPQnDUP4HYBjX3ZMHBe261uiNzbqhjZgof595fxMNFFKcUQiR6vvjGe7vhgyFS2OamHUXqZLXBFC6vJ82+oS3+CK4ay6jKpMiWKBdqMrJE4e2JgnaxZ27e7RMAOAWXCxXkdfptQz0kRijdvUMPbRlHodb68uyEUBFj/Q3GoeuzO+4RTSwfCmXEbvKsP4wB/2Y/OzIQFQvtSTH6BzdI/j/yo/Wiy3dSuSsgCBN2GsQrNwxG5HRw/RAUIsuligkMMKkoKw== 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=wBPYgzH7uvXSBCXXR7HEl1Cw4Lm8Ev1NAXzzTvdZLM0=; b=EfjAWx4PzpjlWKiPJMYW+Hh4F/K+LrkCtl9EJtObH6U8GGAtjmW6+ZLiqS2oMlPoPn7PH6G30kDrCsZjEPfh3soAHIPZamnb1sCe7YmQrRJeJFDzBZdCqaf3dErHe2Y52S7bx/tGasYSxBKEpq38ZVQSZs5Rq0Y78WWJIeepZfjJb0o9XbH0tyHK4zPayReB3mum2dXvTOyn+PkerIJXj1yF3m3sQd1J/uY+cJ63Tlk4XqvcxqG6eW0ryrtKEAYZ8wiSuWTJ/p/F+ZompjDCaa8CN+rsDBufP3M+2RRD12G/qDTb4vjqJ9rV2Cmjtmx10aE61m8rfki6o1BMJYYq3w== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0219.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.29; Sat, 27 Jan 2024 14:44:02 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7202.031; Sat, 27 Jan 2024 14:44:02 +0000 Message-ID: Date: Sat, 27 Jan 2024 15:45:41 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240127041512.14079-1-nuomi2021@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [7NWkZaYDF2UOr368z7ZauYWpE0+6KeQAGo3om+kYha8=] X-ClientProxiedBy: ZR0P278CA0035.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1c::22) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0219:EE_ X-MS-Office365-Filtering-Correlation-Id: 893b5587-cd7f-4541-0628-08dc1f46674b X-MS-Exchange-SLBlob-MailProps: 9IecXKUgicDugcLX/ZR8RqZViC+653NnXOlJF+h7w8ADz6WlWj/kQF/tv7LRnhwDVgBaCJvGZqrvSBIXgCAP8dPI6i+yUsqs/dMfEi1nuLW3klOalloc0+2j+AtOsog+YoWk7EM+OXELVo5dvxACltrIB1irymDPXD1lVpxYycx1Oh5lv4WVhfWHPX+FmrNGavShH8mmsQo4VqbSTY/a1UYR1/tMrxZPdU/HgK5xU+wz84swJzD6kKA7V4/N1HRkyRy7fxjfahZdppUo6DKW5JF9GAejkKDwYT+fZBhkxuUzg3NCgn5T+0c/O3lJHlUHQtq4y1/Wp3z0oH2IHyb4xWWInYcXpps/cKe5WsI06FCHKDVSIszt2vqMBgnD5uD50LCYohpqEt7RFEtYbFFZmRILesIKT1j0KmFvXiMXeOL387/JBRWqB08Z6aTXs470OkejqiyQePcFZlQOmZHnOXNyq4ICP/GZa91tFVMql13k5PNlgWRa4IOQCxeownVzdfsDxC+DxLZCo/6i7OtjG5NlTkXbW9vs6zDzVOpYrpF2PUIOptVoHq0+4bC0shBmfHyGdjZbaUZt4yV9z+/YEhm2iATG+t5pSzUM75WSUnJYH/IJXJYBl8gzLBfumtguovQdDoIX3orBYmvbjzkIlVhj4WMgLCNwKAAMJjGOQfqVojHLvZ5i2MuB9/ejWMkN5BJFFM1UMDzNw3HwDsVNitQqtBTruBtyhTnG1fdklCXQUEROuPejVQ== X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NfioRSrR3RAinoammABQdp+XW9cCtnhn6/yjXuYwdOhPb2snS1glSEDPAak0sz5cFjAKvmXNeYddQNEt35BJ+aXDADyKiQmVYSaJIWR/VnmFC46JmqgfdojI2gpNybjeEQdDag1YZmEcikKsDConqSVmbJvA0dPk99zbcjaFJ7c3rG8a8m8Rf/YuIouYvTkm/y2yDgw7wNDgWILYrvMsz9vHM54gq45+6z0iaFf3Xn2XoEuQIF0OjSuIDMUY6X4eXwJcWrTUuJ5DhGvoPXJZz8DAv0HnhBf2FKAQuCfOmN+7YWiahA+5510VE0VaktvjCiphbyzeDbPg0UfqrUxzumq0umyCK5A5bITvOhTTxSEP1MXfUBh2Zcf1SReN11IDU4wdLBYx2yOPyOXnmJ2Uy2QSR9KJtOJQL0+HuK7rTH5gwT3P+iaZqYixNNo7lkuL0pPDlvxqdHCSUp7xeQ0xChptU3dAVZtSF2/1Lk9XEJnSAPXYzgyAbzUYs+PRzkJWIfYVks3/zuC8s2kCrsZsDxsDF4kZUsz6IrEBhICuGaWIKrYeMFk4QXoQUz6tgRYA X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?V1A4RjJ1bFhJcTZ5TjIxL2dnR2k5VC9VK29CZDVWZmZiZkNnQ1hjOVJhMm0z?= =?utf-8?B?QjRKL3hlWGFEcVhyR2wrdkN1MlVVWlpTcUdtKzBRMmpXZDBqRG1kUU43WURJ?= =?utf-8?B?R2lndGxncXF5T3AwTnZmSzc0VjRiV3ZaYlc2MUZ1SUpvdFoyM0JrRjM1bjdS?= =?utf-8?B?WW1NTDhrWHFLTzduUWI1Q0FzU3RWVWlDTW82MlNhbEF4WVJQRnJ2aXh3SVRk?= =?utf-8?B?RXNCYUhHVmRFUjNCZTB6ZzNkeFNOK0dsajNuaFY0ODc5dkZiM2RhbzBLdG16?= =?utf-8?B?YWk2QXJtT0JBSVJvUE9MQUt1TjgxMWo2RlBXMjhEYWtDMHBBRjlHTERvY2Z1?= =?utf-8?B?UEZkVy9aVit1THBNOXczeGZMZURPRWNpZkRYenF3L0hFb2dicjUzQ1AyWXhJ?= =?utf-8?B?UU9pY2trZnZQYkVkLzNXemhyNnRpM3NHM0lTeTVGbzN3ZXkvQ0hYREpLQ1dm?= =?utf-8?B?ZnF0cXVKNmxxUlpVUVptNWx2MkFtak41cFdhYTlzTFNyNzd0bkNSc2Vid2Y3?= =?utf-8?B?V3NrMFYzeVMvVy9TSiswNUlCT3BaU1gwM0hnU1dDRm5aTUNOaEZTK1lLV2lp?= =?utf-8?B?MEhSQWFmWWFLeVVSdm1rMFJVU0VnMEZZQUsrd3htYk1VUzdVZ0FYc1ltWVE0?= =?utf-8?B?OWI5QkZacHIycWlOc3lmUlhRZVMyVW0ya2QreDcvTWV6Z1ZGaFErSEVadlRk?= =?utf-8?B?L2hicnlEaktiYjBvdEpiSlA2Snl2TVdNeDNLOTd2TE9vTzlJUEJSbVZjNjV4?= =?utf-8?B?T0JxU0Foc0dsRzZUTG9iTlZ3emZqNGRMdyt6UEFjd1pMelpOWWUzSHZoTXQv?= =?utf-8?B?VGI4WW9JTVZ3M2kxeDI0UVlTQmo2eVpXeGZsNXljdjZyeEwyZEVVOGp6NzRN?= =?utf-8?B?RklZS3NpRWVPOEN6TUpPZmc5alExais2MmZ5dE9NZGs4RGtQOWMrbXd6cnFk?= =?utf-8?B?eFJIVVhoZytTbGpPaWhua0xBZUYvT0VySkN4RFRuVDcyU3pQWHIvaVVjQVZO?= =?utf-8?B?QlliUGJDUVRrakd2MFpQMnl1RUdYQXZ6QzAraW8xMjJEelozTlFCYm55RGtz?= =?utf-8?B?VUZCVlFDSFFScTZ0TktreERWa3NyeC9TVHd2TjR1MXU1cDdMYjlYOG9oT2w1?= =?utf-8?B?MCszeFVSb3FPaVRxMXptTUpiL2hIQktINThUWTRhdkpoTmxraVlFSjV0RVdR?= =?utf-8?B?K1RGdjFORFRKbGw4Rk5RMVVXVTM1V0V5bDM5YU9LZ0Z1MjlwVk52bXpZWXpT?= =?utf-8?B?Y1hDK0NBS0h5SWx3eWpkKzJraS9NeVlwUWp0YVJicDR3eXVvRThiMjE1dk43?= =?utf-8?B?TVAwR3lRK1EyeEdETkxaR0ZyaXpKaXJHWDIwZVUrTm5NTGd6RCtzWEhiWkVP?= =?utf-8?B?WGhRMU9EZGFtaWI3aC9aTklSc2x1V2xkamJ6ZFhRWHUrdHJHYlVoUUIzNlg1?= =?utf-8?B?YUZpNlpWRGhOUDR5V24wR1NaTUUxVjNFU3U4cEJyNTZMTncydFNESVNUNjBF?= =?utf-8?B?a0pPMVlMSi9hQU0vQ24rN1BIWGJvZ2JNRk9ubzM1MkZMVUQ3U1pYN0RuM3ZD?= =?utf-8?B?aDhBTm9qK1BRUmVYYTAyT0tqTitjRVRoZklDSVYvQ0V1UHJYZk9vQzdFSFZU?= =?utf-8?B?VE9tZTB3Q2hHM3Y5RUNlQWFSem50TUxoci9PSnV2ZnZ4WjBaT08yYytpcnU4?= =?utf-8?Q?llVwWReg6FLoHFY2PYh2?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 893b5587-cd7f-4541-0628-08dc1f46674b X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2024 14:44:02.3002 (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: AS8P250MB0219 Subject: Re: [FFmpeg-devel] [PATCH v3 2/6] avformat/mpegtsenc: refact mpegts_check_bitstream to loop up table 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: Nuo Mi: > --- > libavformat/mpegtsenc.c | 33 ++++++++++++++++++--------------- > 1 file changed, 18 insertions(+), 15 deletions(-) > > diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c > index 84edd418f0..418fa08ad5 100644 > --- a/libavformat/mpegtsenc.c > +++ b/libavformat/mpegtsenc.c > @@ -2257,23 +2257,26 @@ static void mpegts_deinit(AVFormatContext *s) > static int mpegts_check_bitstream(AVFormatContext *s, AVStream *st, > const AVPacket *pkt) > { > - int ret = 1; > + struct Entry { > + enum AVCodecID id; > + const char *bsf_name; No relocations please. > + uint8_t m; > + uint8_t v; m? (Mask?) v? (Version?) Don't be so cryptic. > + } list[] = { > + { AV_CODEC_ID_H264, "h264_mp4toannexb", 0xff, 0x01 }, > + { AV_CODEC_ID_HEVC, "hevc_mp4toannexb", 0xff, 0x01 }, > + }; > > - if (st->codecpar->codec_id == AV_CODEC_ID_H264) { > - if (pkt->size >= 5 && AV_RB32(pkt->data) != 0x0000001 && > - (AV_RB24(pkt->data) != 0x000001 || > - (st->codecpar->extradata_size > 0 && > - st->codecpar->extradata[0] == 1))) > - ret = ff_stream_add_bitstream_filter(st, "h264_mp4toannexb", NULL); > - } else if (st->codecpar->codec_id == AV_CODEC_ID_HEVC) { > - if (pkt->size >= 5 && AV_RB32(pkt->data) != 0x0000001 && > - (AV_RB24(pkt->data) != 0x000001 || > - (st->codecpar->extradata_size > 0 && > - st->codecpar->extradata[0] == 1))) > - ret = ff_stream_add_bitstream_filter(st, "hevc_mp4toannexb", NULL); > + for (int i = 0; i < FF_ARRAY_ELEMS(list); i++) { > + struct Entry *e = list + i; > + if (e->id == st->codecpar->codec_id && > + pkt->size >= 5 && AV_RB32(pkt->data) != 0x0000001 && > + (AV_RB24(pkt->data) != 0x000001 || > + (st->codecpar->extradata_size > 0 && > + (st->codecpar->extradata[0] & e->m == e->v)))) > + return ff_stream_add_bitstream_filter(st, e->bsf_name, NULL); > } > - > - return ret; > + return 1; > } > > #define OFFSET(x) offsetof(MpegTSWrite, x) _______________________________________________ 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".