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 5318D454BC for ; Sat, 27 Jan 2024 04:15:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 439F468D16C; Sat, 27 Jan 2024 06:15:38 +0200 (EET) Received: from APC01-PSA-obe.outbound.protection.outlook.com (mail-psaapc01olkn2067.outbound.protection.outlook.com [40.92.52.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4A10768D154 for ; Sat, 27 Jan 2024 06:15:32 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hXqlAc/vk+6uYZYxZz1ceRT2JzeJ2PuFWmwi5SuXuDe1xOluzxwEPNsJUOLN5i50A0duKSvG6RSCmDwjg1Isjpvg7Mog2iRvi7x8KXrx9OZZDBf2d7Hm8GHPHhWZEA6FX93noKFmUpC3vjl5vkOpDEue1K/LfY/6n6WH6ZaT0QpaCz4nRVTCA8ebgGKGJjJ5nlCovmz6btlwVEcdxwvyCTimJ5WfHkNMVOErEXrU8GPDwG7g9Ra+TgKgJ5v91rwSpe1l1r8amxrD1JXkEn3DVr+ccuSj+znjDe59/Q262DXT0JV06rOh4+wbkehAwUyHrAxViu2CZ3AMzmqRUHei/A== 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=MSIeVrdiTLUsE/5eTHqp2OxBsIT4xFmKlaAhCf29AF4=; b=dSdDK+z0zVmUeseOOtY0+KyqsDsSsBjJRL1xFoDnuDyRNaUVqv57ZV4Vj5d5JL5CgwlkUHdiVrPzL9B2V4Vt4rwj4e9kKeerTbN4reS6dBfDmQvrOjxAl3K+LisZILxUtJY5wAocB0NcuO3a7Pl3bZ2DBBtIkrlWo5N2eMsFXRXM0kqQxu/WzQHcjWWO3RYsvaMqzVvD3Kc2BjKQii0ShPZs8v8qonyqLpBYJs8/jNt5ADllcmu9odOzHXDZdLwOIx0XEUbhR/09cgPtU4wM74QyEebQXxMGiJF4xc6Irn8ei8bQkL0YwYRk94goVkTmYG8E7NJqB8fGlHnSUPM+5g== 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=MSIeVrdiTLUsE/5eTHqp2OxBsIT4xFmKlaAhCf29AF4=; b=B34nk/bTqjEjwv7VhRXRn/dicPw1vHfxXmPzlLOKyaY9kA9Hf0WBFwf5pPqa8F+7IWiK/soefEE3Y9Rvodpu+PH/zeHYwACoS4DwoPURyTv8t8klFJcAagGHku+kZzUwXydtS764u8Xq4Lc6qUXU2JzidAeL/l9Xqk4rPSdWyyOuatuFUCDOWbxCBbIFLC8mjIQ8/s9iikECfZfmWjUZh6lndUo/zo9y3MO7l8BmXnXyKTNmEhlCT4mFzv24r6jXR8MhfCKQsYRgpfSn/CLAuqquJLEf6+fxuM5BWqohZTG1RS85HBZqYwIcaAunYEUbe7fr6fbyQ/ovmMGW4C9MfA== Received: from TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) by PUZPR06MB6068.apcprd06.prod.outlook.com (2603:1096:301:112::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.28; Sat, 27 Jan 2024 04:15:18 +0000 Received: from TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::e139:fd7a:1b66:a3f7]) by TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::e139:fd7a:1b66:a3f7%7]) with mapi id 15.20.7228.028; Sat, 27 Jan 2024 04:15:18 +0000 From: Nuo Mi To: ffmpeg-devel@ffmpeg.org Date: Sat, 27 Jan 2024 12:15:09 +0800 Message-ID: X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240127041512.14079-1-nuomi2021@gmail.com> References: <20240127041512.14079-1-nuomi2021@gmail.com> X-TMN: [TOic7ORAclUsxaWqwVgZuwZX5afvOeOW] X-ClientProxiedBy: TYCP286CA0165.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:383::11) To TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) X-Microsoft-Original-Message-ID: <20240127041512.14079-4-nuomi2021@gmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 2 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYSPR06MB6433:EE_|PUZPR06MB6068:EE_ X-MS-Office365-Filtering-Correlation-Id: 7c956c77-1d93-4ac5-c504-08dc1eee9217 X-MS-Exchange-SLBlob-MailProps: Vs63Iqe4sQlWSIg1UbM9To69ipPieoVE3KXQ/PdRssvoBM7+ckW7ww0wRkmUDEUmVOChHF32QQk4eNFFIW5tnk8ddVuZGEdDhI0Op3Nmj/wlj7YosH/HVG4aBp3a6Mold7xZm/+onql1pFIReuCIl8JI81NAHZXWIv94ZCh8ns+qcz/9pWesjXondnZaDipSjf/Ur6fhyYxH5GzpEKsSfA/BQPWM9+Te6yQ3earkBMm1p9S+44ulyfgHiVsgwuQZU8Dw8rce6wkCzYyqInYXGPVFlN5AllU5iB3Zh5fz/HPP5hKH71F+cu5xDNNRqUP90IJjO4tlrUPBaWe+OKWkTBS4fPjUGD5Qbw5w7qK60i0C2i8YJdAdukAIxRh98QJkN5X7tot3aa3RArAGjLsY3RJXqyGHecOCrHMy7maY/8zbIBS12nYIPs0LAoeHEw41Ja+kWrnIWsJkFfnjYXW8/3yNS+OAidIsQxEs4n9qX2IAT76T5cU4JONGaTjzo7bK4CTvVRwbXEa5cXkN8SIx2DSWrEzML5zym5x0E7a70tnzSFLvllF8bc1KLHZZvVeAxIEcAiI5l2tZ51imxCgNLwfTw/rY6/9jN40ly1/CL5QPCdn8sYsF/569LZVP5knrNhBllUkdTQhyjBvug63SjZOwpCEkcly+vs+cu3o0/rDgirGuU0GIRuELsrG7AmvTo0dbltQSY4UdEFky3rvVvM28y3oaMmTYANx42/dZkNA= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /vxByEa1+owFfr49HW9vtNJabpwABRsig7lqxvwiQp2zEOSk3xvK0Us/jyat2v7xAlOyODgtILLaTpaE3KGnNLC79e30mI7lwJ9Mwq2r9ZKvlEf3NOC9fqtI50/2zk+yAtGNv+g+6iSs6+4IA8mhDVS5BMAnwzUQqK2BtVgiCweEN7kuQ6F/bbZbM8SHoqCAkDHY1Ifv+PaP3FLXiiNn2jeY6bnacC3SkzadDQxDePf1iZvChF+NhXGL6xaBHVUYFG8EdDQ4vpAc8h6WU8JN0Aks8u5cBAOc21Bot1IUp8X4HcREiEvrjZXtjqZv85X3fGxAnk52CefMmG9gpSWiiYd3fwgv0FqhRM1NXzCnw+mvSNxSB8iBoUVYSRvLS0OEvhbv77iMYDHxD3f0YwxnaG14bb/vXfLhgq3FyfAPDvWv50moQJQfbSuSj5POo1hZBny0fbjqtgLEnOHH69X/SJrlvBRRt5v/XXYp4bU+ci8bfWJOKW4kYdrRBjoVa0yVxMxF+4MIKLOOLEHh7c8yW02yVNnN1rWwI06UJOBwOnhIiY2n+qMJi8PqJ0ev/YkoV4Y09guUBAc7wlZ8aeO4Y99RY+GnTVXwCR30+KZlSGt930UzhN2/up3f/njoqTvz X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?I9SEUDwNo3weyYz8CHuHJ4FYgRcfWyO+3B9FhVmYceQAqprycKszrPLJug/P?= =?us-ascii?Q?C/Tb/1Ti1MGpF5rRu7pS8kUMoitBtSO4NvZxpO2jE7nYyFcd0e1sG3GMzBvU?= =?us-ascii?Q?pOZSnkF2ylu0hKyNy4w4BryhDQ3e0i/yqCx4WyxFG8afQoRCmEY9RutCfLOQ?= =?us-ascii?Q?9b5ZIpfJBpjslBkygspsuztTDzWbaQOO7ElBn44rnm4HUHaFI45/oQLhLhUg?= =?us-ascii?Q?2+pb7b7NH9qfnfs4b+DINpS6wN73EAAAMfCgh93B93/rDR1ZJI8m0tojwzYI?= =?us-ascii?Q?3fOlg4zuZNl0g0vp986LjsSoWz6DmIvlvFDlzzBIeuSkLgJ8rJbv5ewVaRUB?= =?us-ascii?Q?8GSm/VeelGTFA8pXGg9TzKsoFuI+FQHvr1EHt+7ezRQb9y2YRPzUUz2CA/mB?= =?us-ascii?Q?cabdWI2Rcdv+ktBdZXk7Xid/eBXG3po7gqgMpFKb2Xh/MJ3LTLrvXYSWJf3r?= =?us-ascii?Q?M5KcbC0pybgTR/shaqFrm6kSAANr9RUXATpaSPnCIqPfvByQPCkTmYS1pwNI?= =?us-ascii?Q?a10rwyuJnKs4w5v/GymB8iF39zrjd5PwMLtZZKtNpGT9PlNnRn59edJ4zcbk?= =?us-ascii?Q?BNM7PZY/FA7IYaV86TxdMAnM3LH0nxojGzhJHOekhDIoEdwWGHDQznYJYMos?= =?us-ascii?Q?99B+1NmCsL0E/wTRUv9R4NUcESyY9fMGPpbXsOa7/yeGIYZb6WW/epIXhuam?= =?us-ascii?Q?iq0Ac9YdWZHg7gAlVc3V4TQmBgcJChsQhUPPCoBz+K+25lM0jyqRR5ATUoSM?= =?us-ascii?Q?CFYfjg9fsExvbOhePFF/V6MK0tgfczNxFOzieWJmF3vLsk0FLNAzL5b6Y9mB?= =?us-ascii?Q?p16Y8h43stHDT0uNYoIzOiIy8GeyD+ZAbqQzoCzblNPHyDjvbC3ESVsLq5es?= =?us-ascii?Q?dIvCYurLGVUFQ7Mm3z+/LcodRW7Dy77QqUByxZa4q4/ZSHj5IkvpGi8zNLEU?= =?us-ascii?Q?Ix5qmQ7EhTJpTuUFZMtcTH93Yi8iG1JtIKGr9U9k7q8NhHhhtRpC4aLZiCir?= =?us-ascii?Q?hr7Y0vn3gufF5ucQ1xuNCA3N3VnUlPub2xdw9umPrw8vjkQD6zAFluKV61cT?= =?us-ascii?Q?P610Rrn8//q/t53piX4ygK3d+nkFTj7Xnrm5SEbQkM9j7Vxr0AKW66cXCX5P?= =?us-ascii?Q?DrTqBmHxT+ZlNWP51MPVtRxcK7lUhksIGeqtw98Dt1hMk64DBLDmWvMInK6x?= =?us-ascii?Q?UHBYXcPRPZy1pGxVWo035TDjOUOISKtw6krd3DNQPOb3veYhdl1lndFKVAhM?= =?us-ascii?Q?Hrz8i9OZN0E0PPjb7MAB?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c956c77-1d93-4ac5-c504-08dc1eee9217 X-MS-Exchange-CrossTenant-AuthSource: TYSPR06MB6433.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2024 04:15:18.3507 (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: PUZPR06MB6068 Subject: [FFmpeg-devel] [PATCH v3 3/6] avformat/mpegtsenc: refact, move h264, hevc startcode checking to check_h26x_startcode 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: Nuo Mi 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: --- libavformat/mpegtsenc.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 418fa08ad5..01b8c8d87a 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -1759,16 +1759,16 @@ static void mpegts_write_pes(AVFormatContext *s, AVStream *st, ts_st->prev_payload_key = key; } -int ff_check_h264_startcode(AVFormatContext *s, const AVStream *st, const AVPacket *pkt) +static int check_h26x_startcode(AVFormatContext *s, const AVStream *st, const AVPacket *pkt, const char *codec) { if (pkt->size < 5 || AV_RB32(pkt->data) != 0x0000001 && AV_RB24(pkt->data) != 0x000001) { if (!st->nb_frames) { - av_log(s, AV_LOG_ERROR, "H.264 bitstream malformed, " - "no startcode found, use the video bitstream filter 'h264_mp4toannexb' to fix it " - "('-bsf:v h264_mp4toannexb' option with ffmpeg)\n"); + av_log(s, AV_LOG_ERROR, "%s bitstream malformed, " + "no startcode found, use the video bitstream filter '%s_mp4toannexb' to fix it " + "('-bsf:v %s_mp4toannexb' option with ffmpeg)\n", codec, codec, codec); return AVERROR_INVALIDDATA; } - av_log(s, AV_LOG_WARNING, "H.264 bitstream error, startcode missing, size %d", pkt->size); + av_log(s, AV_LOG_WARNING, "%s bitstream error, startcode missing, size %d", codec, pkt->size); if (pkt->size) av_log(s, AV_LOG_WARNING, " data %08"PRIX32, AV_RB32(pkt->data)); av_log(s, AV_LOG_WARNING, "\n"); @@ -1776,19 +1776,9 @@ int ff_check_h264_startcode(AVFormatContext *s, const AVStream *st, const AVPack return 0; } -static int check_hevc_startcode(AVFormatContext *s, const AVStream *st, const AVPacket *pkt) +int ff_check_h264_startcode(AVFormatContext *s, const AVStream *st, const AVPacket *pkt) { - if (pkt->size < 5 || AV_RB32(pkt->data) != 0x0000001 && AV_RB24(pkt->data) != 0x000001) { - if (!st->nb_frames) { - av_log(s, AV_LOG_ERROR, "HEVC bitstream malformed, no startcode found\n"); - return AVERROR_PATCHWELCOME; - } - av_log(s, AV_LOG_WARNING, "HEVC bitstream error, startcode missing, size %d", pkt->size); - if (pkt->size) - av_log(s, AV_LOG_WARNING, " data %08"PRIX32, AV_RB32(pkt->data)); - av_log(s, AV_LOG_WARNING, "\n"); - } - return 0; + return check_h26x_startcode(s, st, pkt, "h264"); } /* Based on GStreamer's gst-plugins-base/ext/ogg/gstoggstream.c @@ -1985,7 +1975,7 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) const uint8_t *p = buf, *buf_end = p + size; uint32_t state = -1; int extradd = (pkt->flags & AV_PKT_FLAG_KEY) ? st->codecpar->extradata_size : 0; - int ret = check_hevc_startcode(s, st, pkt); + int ret = check_h26x_startcode(s, st, pkt, "hevc"); if (ret < 0) return ret; -- 2.25.1 _______________________________________________ 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".