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 94A5448E67 for ; Mon, 29 Jan 2024 14:55:33 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5E41168D213; Mon, 29 Jan 2024 16:55:12 +0200 (EET) Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01olkn2059.outbound.protection.outlook.com [40.92.107.59]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BF5B368D20F for ; Mon, 29 Jan 2024 16:55:05 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aFig7lY/fWX++HQ/Qs9jw+F7bQSnpnMTQ1EW0G08x3OA2dKAozr+Jhj96ZQUUxt6aysmRyPu2+WihP2aCLuI/O+C4d2LP8D/0+i3IixErPfjb87Gx24USsH0zV6C02hGO5qF6OvM7Geh23dDc2ZoRUfQaWiASPITByU9Re4YvF6v1z4rDHbkb5LLO9y4KaLr3NeUgbwsn9P8NuMcxykORZWWb20Hs3z5OJOu8tWTcI9LTWdcM62/EzYszMtKJHK3QRgiFCQhDNkFfgUTPbPlXrreSjd8S4FADuoHtseeGBH23Fa7QaTy+5Id643W2Ey/CWn9/tqI/ltU47nxq+wGtg== 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=Pb4T+6T3Yq7IDyYduLenPAAxpfjP1HBP+230kDS5V5w=; b=AO0EXtnVfLg6kEXCS0Y0olPPEAglK8TV/kdAQgcySC9QNuf2WV+n27h2ZnXrZ/ItgLKuv9pSu2lrvxGkZ5vqk0Kvnc1P78l8oV0cm7k90zRm5ONsWSfZs0K5PZvRE28rCnLpNbeKeKvNv0fWPiDZZ0uBTTA4HYR3zhDgSJYQRdkPCYwECYjsdwRi0+FVShD35dUmU8h1jyDLoX90N6lVa1ff1PcmKlZms7YP72NGgQ83PB3j9cERYV8numWLIpAWCmodncQvgQsyXo35lR4DWeR4Blp8l0MvgMUpj1ouWUzTyx54LlxXAyurpskvzUWYfXOP5+XJMsOT/M+G0wVxEw== 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=Pb4T+6T3Yq7IDyYduLenPAAxpfjP1HBP+230kDS5V5w=; b=mnGlK0AQ+WLcXRFSZGgJc69GfXRvwHmsXF2BPOX33DC9oRQRspnrTUL/CH4iL6FrVBzdmVHRZV+tpFwJ+ZayNDA2AspMcqyQnBazKaKLCOAaYCMirfhvfC9HZokz6iFDlbzitmEpDaZwDO+q8aK9ChYaDou9Rv+vRBXglnm9aU/OFUxoh4bbM/xUirWtjdnRHJm65qL4A8nJ3HIHh7TqM97kUVQUS8SaB2kkQVuGAZyjx9v6gy9wdAb+IG/Me0vm2QAFTCgBiAH8LU3HhjCvXVGxY5SzTlMJnvN26cz4kM2/Fa8b7JhDzh3hjO4KSNIqnpBUmcTwo2RwCFHGIimuxw== Received: from TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) by SEZPR06MB6383.apcprd06.prod.outlook.com (2603:1096:101:12c::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.32; Mon, 29 Jan 2024 14:54:53 +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.029; Mon, 29 Jan 2024 14:54:53 +0000 From: Nuo Mi To: ffmpeg-devel@ffmpeg.org Date: Mon, 29 Jan 2024 22:54:29 +0800 Message-ID: X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240129145432.9053-1-nuomi2021@gmail.com> References: <20240129145432.9053-1-nuomi2021@gmail.com> X-TMN: [xniwsNjicVfxZwMyMG4bfvCezulJZrsN] X-ClientProxiedBy: TYCP286CA0232.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:3c7::18) To TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) X-Microsoft-Original-Message-ID: <20240129145432.9053-4-nuomi2021@gmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 2 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYSPR06MB6433:EE_|SEZPR06MB6383:EE_ X-MS-Office365-Filtering-Correlation-Id: c0998d73-ab8c-4051-2fed-08dc20da402d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: O5VrpF+PxoMIQhK3XBZqSS0wn2MXzyPbgi2v7GECKPWvYIRFg+MabIT39rAA2/TeIt+8jBf2HOOG3oIdMkePx7wrHOA9ie4sbVv7olAA+q0jkhGlP1Gbza0uwvBin2Gl3P2GB7ahnVNcqwA6tX8J3DaZBJTBBIVRUYwPr6MqAh3vkgChweoCUw5SwTQho8nKBqbmeWEQRS+5PmHKyWjcDmYkPwkTrGm15S5e7EK5ahNb7s1HcOBs1vCSgRo93d4XMiQgfCFKzYye5AClI+v1J5Xl4vRHD93NWhGQ1iTDhs2C9Cxc51pHhpx+CFOfVejdtokJ7abxV1cQ8cQ49sTjVpBumGCJKcMi+EODaFxLsr5TFBLtaPzrv9CMEZG2Yhzw5L9fKamlQ52q9AOa7p0NqRsluOj1oEb9xO62f6VDVm9eNwQ0mK3d+Gnn3KlM/z7Upe4zDN2Uc8Afe/VskyQHJGeQt4EpFGUwqDJBUh6SZedggYZIb2axRCLzlwfDjpTy2r/yRKf4nP/hzeOL8DF6/hZHp0Mvfgxn1BfXRhkMLb9C1Dit66iUmcyKjyRmRzV4hYjrJUaO49sa8Oa8DVYJ3qrvbElxeE4lPo96YUgi6dfUUv5SMrTXNnej/2N2PlPp X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?95ABmo3zzdM7aftasXTAW8R2HOSGuNBVw6wBKDhtehFs1hWML51ym2qAeXH1?= =?us-ascii?Q?1Oe4qTRtXWUnxdTAq0jPVtVpTk07sUvdzK9uJdaxZSkwmWwekqXwde4J1Xli?= =?us-ascii?Q?1MlY4pmp2muhM+CpOPKjYHInIcehN/G+pBB45ES70IRwNjVfw4rwdoofZhjF?= =?us-ascii?Q?WQst7ldhybgGqYv0nAoQzmUZqsMNFLHgNws+LDAknPlJElEHXlFvJ2SpdZWn?= =?us-ascii?Q?n7nlbXwXSt+bKF9ZpgalqJPhIx21RMO5WWuxaih5UPTcDtPTktHTqovxNjma?= =?us-ascii?Q?qtN3R9v3q4A4paeZOFF2DIxv1l6nlMgOOciAIdgY+DMdLJ244lKxXrb/bVgv?= =?us-ascii?Q?ZIQ6nfKSDY7sQi6Kc3nMGiQ0j+Wcn4k5QRi4d7tAUOiYccVd6h+PhyC5JmhW?= =?us-ascii?Q?mAOqj6RM96AN9VgeJrx0OHC67uAyxTzNHLM81LuC991CpB1Ik6mNyBgIGomC?= =?us-ascii?Q?YnQigRCFbPH0RnsSmxrcDK1jaDcpGMUYW6eFzIonf/vZXGdHzZmqhABJMzR1?= =?us-ascii?Q?WlcJoMeNjOTxAw8q4Hi/b8eyAuDnZIYk7DPmEp/MelMuaP4u8JEDOwE0jYbW?= =?us-ascii?Q?o7EGWtBwGlbXxx+R4Htwmw4ie9JfYoM9joqGzPzuUq3qZTCdWnCoL1IHk7VY?= =?us-ascii?Q?YaRivHByK2QpmuosRojk1XUl8CSX6jKUq9ri58ckNB/GsEYCSFYcrEfwXSj4?= =?us-ascii?Q?MKW1oKxQTAmF6MSEYVnM53JA3FCj0o+CY1bvNezWidLSzOB2eDmkSUFLrM1m?= =?us-ascii?Q?gsqzmWFbgocw24SXt2+vRzh/uorbHN6b9rF7sKUD4CquSTtTaBFQbv04O+HW?= =?us-ascii?Q?frPUuOY9Dp2VUA8vzQRWgTVm/nGABEDIKB3paIbRZl7N7agyOIKCQsaEZeTH?= =?us-ascii?Q?QN1N/RLFbWKEyFZ8TzlvjKgZOA4HMTifWDws/n49m1Mo8BIwPv64jq+RYY5M?= =?us-ascii?Q?AKdiOe7LioGY0SZwrDxoo16JclNRir4YfJQreHVfEteYblj9Rlaf7LCxauH7?= =?us-ascii?Q?MO7tKsjo7bVZMgWnoRBkJ0bucySGNNSUCxajPbL5Toi83JQkgNi/HY3OPJzs?= =?us-ascii?Q?qLtt26WuLSEaOO+AbF0uYA4fVoUkv1Qr1uGQjUio0GtezDBtup9WzdVXC9pF?= =?us-ascii?Q?BlnKv7jRo+MZzS/2Y62JtTeSfwvNOGiz+6oZE8FZjP3qfk2BoUyqno674a30?= =?us-ascii?Q?91DWuZxU9IeUIDZIC+tZTQLHex+8hZ+FfUzlI8s1a1cdD7QjEW0Qf6dPHyYX?= =?us-ascii?Q?qiC/W6Jn3/EpeZBOVuk5?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c0998d73-ab8c-4051-2fed-08dc20da402d X-MS-Exchange-CrossTenant-AuthSource: TYSPR06MB6433.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jan 2024 14:54:53.3353 (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: SEZPR06MB6383 Subject: [FFmpeg-devel] [PATCH v4 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 4e5c264d2a..5e089f2866 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".