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 C91BA40BB8 for ; Tue, 28 Dec 2021 13:49:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F1B1C68AF3B; Tue, 28 Dec 2021 15:49:48 +0200 (EET) Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5528D68AEA3 for ; Tue, 28 Dec 2021 15:49:42 +0200 (EET) Received: by mail-ed1-f46.google.com with SMTP id y22so74162682edq.2 for ; Tue, 28 Dec 2021 05:49:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=8B4nkgemy9aiOHsXB4gvTCsYIPPtwqxQqVe4qok1pZE=; b=ASznYhrCGUv395MFv8p8qGASO9Zms7Ld5NRSw6ascSkGBAP2EgupTRveGpEGjiSkx6 XNljtfg7kgva7cEVGiobTlvVHuXLJsXBsCOfo9yNI0SbpMB25q106pyfLtP4XUV+FtWb 2WeSQiWUCpQZWaZOExFgR9ckZuYg9liaA6zJXL5SshwdR/FhQaHMDFJtr5Fju90FdjsS 0NRE5+Oy1MymQS2mZtGqdU5efTEZUrbmdVOdNntmzKo4lzZi0W2RIyvDq1NNLSsMP6oK AaqbjIiBlLD/mI/a4YiEeeLKgAgRJTb9luKJK2EK7QUeL4KXqYqAFarZSkgMD8SrfqoI qd4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=8B4nkgemy9aiOHsXB4gvTCsYIPPtwqxQqVe4qok1pZE=; b=Cmb13fJNCNKuK6NeEPetbmU2OOfhW+udhAIuj4fajIyw3KxxwBoU/sRVZgSdEBMzgF G39NOElzlW3jTrbBxkffyps+nFQUN2rAlKD7nZX2V/tlHmh01I7zbIjW+F85Q2y4obvY P1ahFSxNA8oo0DD7YKP7YXqrVyhtPfADdwH99C/fJooFsMMvbsEeBoJi35A7/2cfD+GE +bFwXhaSOMiHwwR2jhDUh290ONfXncPISEFdcmR9WOURqyQxIKvdeOXi7KYZ5SM3jTHq oC6CptX6n9EVLzbO+7lA1t65yfuIq9usqzHKdkDHfnSrzL/PXfPecbJGv+UmBYCNzT/6 vPMQ== X-Gm-Message-State: AOAM531Lk/Jc20qhDxf6t1FCUMUrqGzKhN3F450HOTorpT7N5hNhhc/N TcdDcH+YWwqy+LItyLSiZZHPHMDyUow= X-Google-Smtp-Source: ABdhPJykBixyHBVvQ6A7vFzVHPOZzJzqeF9KWYPqJU58cfUoYcYeI5BBFkZCVvGXRah7PgkIEWkZEw== X-Received: by 2002:a05:6402:3490:: with SMTP id v16mr20828832edc.398.1640699381449; Tue, 28 Dec 2021 05:49:41 -0800 (PST) Received: from localhost.localdomain (p200300ccf7135a000c71ac01fe98e4d0.dip0.t-ipconnect.de. [2003:cc:f713:5a00:c71:ac01:fe98:e4d0]) by smtp.gmail.com with ESMTPSA id y21sm7332960eds.97.2021.12.28.05.49.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Dec 2021 05:49:41 -0800 (PST) From: Hendrik Leppkes To: ffmpeg-devel@ffmpeg.org Date: Tue, 28 Dec 2021 14:49:29 +0100 Message-Id: <20211228134929.1164-1-h.leppkes@gmail.com> X-Mailer: git-send-email 2.33.0.windows.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] hevcdec: skip slices with missing PPS instead of skipping the entire packet 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: Hendrik Leppkes 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: Aborting decoding of the entire packet on a missing PPS can result in missing the actual PPS on streams with badly ordered NALs, where the SPS/PPS/VPS are stitched to the back of the previous frame, instead of the beginning of the next frame. Instead, skip the undecodable slice, and let the decoder process further NALs in the same packet. --- libavcodec/hevcdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 3aa70e2245..c2451d682e 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -575,7 +575,7 @@ static int hls_slice_header(HEVCContext *s) sh->pps_id = get_ue_golomb_long(gb); if (sh->pps_id >= HEVC_MAX_PPS_COUNT || !s->ps.pps_list[sh->pps_id]) { av_log(s->avctx, AV_LOG_ERROR, "PPS id out of range: %d\n", sh->pps_id); - return AVERROR_INVALIDDATA; + return 1; // skip slice with missing PPS } if (!sh->first_slice_in_pic_flag && s->ps.pps != (HEVCPPS*)s->ps.pps_list[sh->pps_id]->data) { -- 2.33.0.windows.2 _______________________________________________ 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".