From patchwork Wed Dec 28 17:20:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 39802 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bc95:b0:ad:ade2:bfd2 with SMTP id fx21csp4282185pzb; Wed, 28 Dec 2022 09:21:28 -0800 (PST) X-Google-Smtp-Source: AMrXdXskDrfnxT0HL18+ahqMY4pu5mVAS8ruGjBMapULV/jrrEFxoPgdLmb45JWKNkg+AUJAZyvg X-Received: by 2002:a17:906:1583:b0:83f:384f:ea23 with SMTP id k3-20020a170906158300b0083f384fea23mr19960621ejd.57.1672248088068; Wed, 28 Dec 2022 09:21:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672248088; cv=none; d=google.com; s=arc-20160816; b=Zvd4EQTG1ZjAwwbuL+YgixjyUDMIo3Ngp38N2ZN6mtzrEMRML92aFVygEINf9M0J5e rUdNkak72dBZuTEw6R3jhgtruQtY0LCuJhK5Po/Qm61428XRAw+b33gmMXfzD7mmHyRH 6COpZ5GFaO++xkHgl/gMaTxTCkUn0J1UuRXyiqP92z4IOQtr9z3Pm2yHEXP0jXBO/V8b ceNSwyZgIR13JAqRAz/3KhLQUZlTWxPZDmBr+bXAVbVytSNg2v90WcAnSTVHeOX2wQyl Xcq0cxTYeEJImAmIQVbBtme8SCph5DJ+5LitGOxjO19kC0zS61ICnXRosKVTnzYzFmDB ZPfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:date:to:from:message-id :dkim-signature:delivered-to; bh=G4L3mk6PPKDf8+rUCOxFENO8U2OFvCrN1ilXl3b5LBs=; b=HsLtq8qgqIqnPtmh0xl9Oansw6jFXH+Y+JAzEDzYQrcON01/UvJYGqShbToL4U5qLE yDaLpFSQfpKYI7oEGGL+cLNAFQUym0bhYl9vo2cIMCINidm/zCHD6MvnLBnK6MwQr7+F mck/pKP3alR/foniAchGWB/NBYsxL0oI4iV/o1Yi+y19a/Gxv1yLdhWH2Pe51UYYcFrt wuxTTMLpILTtUuTesVmi/CyTnDju/OIPF0eV9DGcVh5FWxw60uL/8L6VJRjoh206BeZ7 eT4uZoIJy0eQ+M0Z3m4BVUREygDs6ISwjcq+lU3zfYDkPbC4pny2mNH3reu3jRH6mTxZ 2bnA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=nZ+ZwfJK; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id r6-20020a05640251c600b004617facf124si13989946edd.253.2022.12.28.09.21.26; Wed, 28 Dec 2022 09:21:28 -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=@foxmail.com header.s=s201512 header.b=nZ+ZwfJK; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1A51768B9F1; Wed, 28 Dec 2022 19:21:23 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-251-80.mail.qq.com (out203-205-251-80.mail.qq.com [203.205.251.80]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4E13168AF85 for ; Wed, 28 Dec 2022 19:21:14 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1672248070; bh=fHxIobHr+PzOzXb+wgzFPkgpjfDH2UnNPxUmTnBvAJA=; h=From:To:Cc:Subject:Date; b=nZ+ZwfJKGwSmFVwf/p67Ub8EUo9gQdKhn7o/Cra70kHTVNFeej16DgWoy40epM3l8 zEP8Itrj56Vn490OLi54t3jARUB4LhxTwDOjgmWdvTbCiqJ3YAC1WZguPLeRANf6Y6 zEWQ4KFJUoRUONf7iBofGfqoPuoCyD7e7Q6nY+4I= Received: from localhost.localdomain ([121.35.187.62]) by newxmesmtplogicsvrszb6-0.qq.com (NewEsmtp) with SMTP id 549160F1; Thu, 29 Dec 2022 01:21:09 +0800 X-QQ-mid: xmsmtpt1672248069tcv2hdcdn Message-ID: X-QQ-XMAILINFO: MIAHdi1iQo+zSFe4+vh+cR78cqEeIFFM+kZR6+5TE5MOm9jBIeYXD7/dERD8DZ McQMhM6feQ8CIppOz2KllzWMIbW+W7CvNyKCFpFC2iLCngfREkA16my7WuPW0NV/k1TsKnmmfz7r m+eI7DZdQKHiP8ZG1sz2IhDhraJ0HDHfazZnr29YUMpr0Nh2KitlVxzD6kl2m00toTjS0FFk5XtD 10PFXPL3KeoC05/cJ5cIp4Vq1m9xd5kl3969WhhPsLUlBKrG11B42ad5NaWr4WK6XbmbZx5zIWPN WJZMm/q4VK0NWFfAsoPcLiS14prOQJ2qFNtLnO9hCu8ErieG6z5LBTjWHioot6aNWC9etCNA4Y53 Fq1V2mKHU7t8p940fW3I8Y5/UC4dH8NXYtExXEftinCUYZsrdxfy99NmCL8MmMB8wqbW79P42vfD q00W5UxMP6YNbTxOvcs0hT7igVQyIOddRVxgYOy0Z5AQSfU4WrFs51Z7UVF+JP6U/Coza/WhOInW arhdsUQhQtstJTgwAqr+nTH4Ax0pHpf39IP+cd39ovQgFL5fUGeXGFc4BzsL6d9BSrvJTP8PdIaV D/+syTiLTdCO5n5JuIOyT9cySC8QgB3wHTt0h+IJ4nj7qlPboHEfmez/xj1iKwwWL9MhL+YCLTVI UtYcpMvQAvPlRYhxJ85vRpTpvbpub/PtrkldWiShi7b6r8oZp+NGSBRF3Q/1cb+dByIzb71/0sc7 K2jml4c5bTmtVuUZACb1IyOko1dee7FWfSoo5KgOcPT7HlXI85Hwuxu58LqimchwDUBRgVfITKaO twVTAUffzYrJoiZfl5LqUdXv9HhnJmAoN3rV7qtaGbm/bqYs/Syg5yZbgOi/ZvHHr8H9F4m76l6g 9nrT2+3uGBzGVNC476Net++a0HNTF6vv3YrOp8XhhpFupxgPTdl5/Xsd1xQsHSuU0V4/CsVTU6Ku xkFDqQ16s= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Thu, 29 Dec 2022 01:20:25 +0800 X-OQ-MSGID: <20221228172025.204973-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec/h264_mp4toannexb: fix missing SPS/PPS to IDR frames 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: e0kFICyfRzOa From: Zhao Zhili If there is a single group of SPS/PPS before an IDR frame, but no SPS/PPS after that, we will miss the chance to reset idr_sps_seen/idr_pps_seen. The result is missing SPS/PPS for all IDR frames except the first one. Signed-off-by: Zhao Zhili --- libavcodec/h264_mp4toannexb_bsf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/h264_mp4toannexb_bsf.c b/libavcodec/h264_mp4toannexb_bsf.c index d11be455c2..bbdeca9c44 100644 --- a/libavcodec/h264_mp4toannexb_bsf.c +++ b/libavcodec/h264_mp4toannexb_bsf.c @@ -259,7 +259,7 @@ static int h264_mp4toannexb_filter(AVBSFContext *ctx, AVPacket *opkt) count_or_copy(&out, &out_size, buf, nal_size, unit_type == H264_NAL_SPS || unit_type == H264_NAL_PPS, j); - if (!new_idr && unit_type == H264_NAL_SLICE) { + if (unit_type == H264_NAL_SLICE) { new_idr = 1; sps_seen = 0; pps_seen = 0;