From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 25CDC4936A for ; Thu, 20 Nov 2025 03:19:49 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'oipN0E7IUfULCb9x5ntkOKvx/8lhM/WAj9AdW+Uv7pg=', expected b'0uc+t+IpFmRKaYNwOnHu8W5GYKyE9dAwbsx2skMEbsE=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1763608775; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=oipN0E7IUfULCb9x5ntkOKvx/8lhM/WAj9AdW+Uv7pg=; b=qchWX9AENAzzdjI+9ezC30sEIkEyBzjdpKL5aoALa/OqIDRGPokqdLeDLVUL8Jf3VpGA1 rJjEfBXGRETXteuJOFElMZWnihYVUpaBUjw3wUXUG/1Y94Pmb8PYX0qP56Xo5vZ87KhxyTI rCV5fD5CPLW5hkMmtJbVXlee8ZBJNLqjvfcP+uxqvYTRrNibGqUFCu4cjmjVqFZmAdgVFRL kXkeYWzjk4tIYUmHBH2VXlFbRTkoWgCA0WsvUEZpuUmc0Qm9+L9JMt+2erJo8ogLuP4MC8G 8LyNEQRBOEbUgeZdlU/Gf34NmnvzTUVSZSDc2bdit48SpXZcyIoxSbtAq3lg== Received: from [172.19.0.2] (unknown [172.19.0.2]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id D9A7F68FED6; Thu, 20 Nov 2025 05:19:35 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1763608774; b=eGML14Re8dMR/8FS2oURMKbKyHI79tMXb54p9+tr4o3B+I643VFcAohzKht8CqJhL99s0 Cr1xEFRuSlBR71mk41Rdie/OqZU6Pm9SoRaZdSWq+wZoXf6OuwGnmyY4BLtCeKT7q1nRlkC EJR4NQiwXWibpnXfu8eLq5XM5lNRD7WJKXNRkKaoxQDDQUWgP90/Sk+2TzbAtdCoWEYIt/J Va417AFHzrwQu+TwsKhN4g0iWOjnT1SjDvDV+OsvYtGFRJwYT+K7Xeu+61weGbwwx1apBiX z6Ks6NzJc3zwulcJErd2hbHlBpoV1P5bGmWxxlO/USWu52dAWXXX8e/InzJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1763608774; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=Lx3SNvO3BeS1zYsMWg385uvsvNvtyUSkQBV6oEG6XGw=; b=UqLnfuDqa7oDag/3aWJabrVI8UtF4royHuGRG0+OocakO9ezUj+hLZcrUPQy4Bjym4Pbk bAD/ddlU5fcuNrfpjs7e7Xr3sEaz9Psedmj0PtwHgxFOhdW2cU0FCW932qBTegauBH//LM3 cOeBvKBHPesZyy+HJzKh80Rpaj70YWRZeQIuEAt8j78W5HsRnTovRORDuxNJ+Gpho4iVPKM 1nS4erybvcH2oLXvzBMJf450O9DyZtpCCLv5RHAZfSI0ZIFhlEy99axFBnGgHgsSTYJWwhi NPSv+3gczJqrHNXYgtqF03fw9Yailqf96WvHzpM4z0Dw0H9XN28j+Ygxd0Cg== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1763608766; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=0uc+t+IpFmRKaYNwOnHu8W5GYKyE9dAwbsx2skMEbsE=; b=1k4UO8ONzK3JSMEAuky0gRUyNthGoWJPDmS2ku5hm7aVCGdQajjyJk8D0shWFFo71f5lc WMDnJAzljsDA9B7NEuZfSQrr/4yB2L2s9MvPS961ohcqfecCyMpEXTrUju4uGH6IqXjk5zl 6SskbamS3uO/PA6V+OgwEsM168oL0Kh995g++Ipb/9BAj17gtE3L0ljgfxRnL73s58FPz4d 6YkPsjbtqbZLe1ZELiyTpHNAgL2Nsk+kAeodASNyZQPQff5uv7K3kO7+VN8bjTF8qv8eYy2 LALMoXt9Y2wGMhvcuMJhOOAT1qQZqZ+rE1jwn2XdsGcZuNHn2tLdiit7yBfA== Received: from 188d6d40ca7a (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id AF55768FE78 for ; Thu, 20 Nov 2025 05:19:26 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Thu, 20 Nov 2025 03:19:26 -0000 Message-ID: <176360876684.59.9703574492070965035@2cb04c0e5124> Message-ID-Hash: 47I37O7QWGG7UX63WN7CMAZ2PI2U4K3R X-Message-ID-Hash: 47I37O7QWGG7UX63WN7CMAZ2PI2U4K3R X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] [release/8.0] avcodec/hevc: fix decoding mv-hevc sample with long_term_rps (PR #20976) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Zhao Zhili via ffmpeg-devel Cc: Zhao Zhili Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20976 opened by Zhao Zhili (quink) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20976 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20976.patch >>From f846397a9265ecec4101fd2bfa234ca6936840b9 Mon Sep 17 00:00:00 2001 From: Zhao Zhili Date: Tue, 28 Oct 2025 20:25:12 +0800 Subject: [PATCH 1/2] avcodec/hevc: reset long_term_rps.nb_refs for IDR For mv-hevc, the second layer of IDR frame can be a P slice. long_term_rps wasn't been reset before the patch, which leading to ff_hevc_frame_nb_refs return incorrect result. This fix decoding failure for samples from Pico VR. (cherry picked from commit 141f5c9071e10c08d0ca35fb8b663ee17ad5f709) --- libavcodec/hevc/hevcdec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c index 8a845f54f3..6615f42ba2 100644 --- a/libavcodec/hevc/hevcdec.c +++ b/libavcodec/hevc/hevcdec.c @@ -916,6 +916,7 @@ static int hls_slice_header(SliceHeader *sh, const HEVCContext *s, GetBitContext sh->short_term_ref_pic_set_size = 0; sh->short_term_rps = NULL; sh->long_term_ref_pic_set_size = 0; + sh->long_term_rps.nb_refs = 0; sh->slice_temporal_mvp_enabled_flag = 0; } -- 2.49.1 >>From ea809c02ab66d19b70f5678b62349de2cc322272 Mon Sep 17 00:00:00 2001 From: Zhao Zhili Date: Tue, 28 Oct 2025 22:30:21 +0800 Subject: [PATCH 2/2] tests/fate/hevc: add a mv-hevc sample using long term ref (cherry picked from commit 071db4b81cca7fe041dc41a109e84f8643c43fb5) --- tests/fate/hevc.mak | 5 +++ tests/ref/fate/hevc-mv-ltr | 68 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 tests/ref/fate/hevc-mv-ltr diff --git a/tests/fate/hevc.mak b/tests/fate/hevc.mak index 7b22e36a3d..9f0d1667a2 100644 --- a/tests/fate/hevc.mak +++ b/tests/fate/hevc.mak @@ -291,6 +291,11 @@ FATE_HEVC-$(call FRAMECRC, HEVC, HEVC, SCALE_FILTER CONCAT_PROTOCOL) += fate-hev fate-hevc-mv-position: CMD = framecrc -i $(TARGET_SAMPLES)/hevc/multiview.mov -map 0:v:vpos:left -map 0:v:vpos:right FATE_HEVC-$(call FRAMECRC, MOV, HEVC) += fate-hevc-mv-position +# The sample is from PICO VR. It use long term ref. +# Check long term ref being reset in IDR frame. +fate-hevc-mv-ltr: CMD = framecrc -i $(TARGET_SAMPLES)/hevc/pico-mv-hevc.mp4 -map 0:vidx:1 +FATE_HEVC-$(call FRAMECRC, MOV, HEVC) += fate-hevc-mv-ltr + fate-hevc-alpha: CMD = framecrc -i $(TARGET_SAMPLES)/hevc/alpha.mp4 FATE_HEVC-$(call FRAMECRC, MOV, HEVC) += fate-hevc-alpha diff --git a/tests/ref/fate/hevc-mv-ltr b/tests/ref/fate/hevc-mv-ltr new file mode 100644 index 0000000000..e342fbb6ca --- /dev/null +++ b/tests/ref/fate/hevc-mv-ltr @@ -0,0 +1,68 @@ +#tb 0: 1/60 +#media_type 0: video +#codec_id 0: rawvideo +#dimensions 0: 2048x1536 +#sar 0: 0/1 +0, 0, 0, 1, 4718592, 0xa201f61d +0, 1, 1, 1, 4718592, 0x63438b04 +0, 2, 2, 1, 4718592, 0xb2ef2022 +0, 3, 3, 1, 4718592, 0x9bcd7e4e +0, 4, 4, 1, 4718592, 0x7d84b453 +0, 5, 5, 1, 4718592, 0xe1825fd9 +0, 6, 6, 1, 4718592, 0x4d3fa47e +0, 7, 7, 1, 4718592, 0x3717852e +0, 8, 8, 1, 4718592, 0x3b894106 +0, 9, 9, 1, 4718592, 0x94b23d4d +0, 10, 10, 1, 4718592, 0x813ef53f +0, 11, 11, 1, 4718592, 0xa4fd9eb2 +0, 12, 12, 1, 4718592, 0x719308ab +0, 13, 13, 1, 4718592, 0xcc53abdb +0, 14, 14, 1, 4718592, 0x69a1fbad +0, 15, 15, 1, 4718592, 0xb1dee2e6 +0, 16, 16, 1, 4718592, 0x8892b11a +0, 17, 17, 1, 4718592, 0xeea14ec7 +0, 18, 18, 1, 4718592, 0x1c8351a2 +0, 19, 19, 1, 4718592, 0x616a56d6 +0, 20, 20, 1, 4718592, 0x166e9329 +0, 21, 21, 1, 4718592, 0xe62a5ada +0, 22, 22, 1, 4718592, 0x7ad680b9 +0, 23, 23, 1, 4718592, 0xa6c5d534 +0, 24, 24, 1, 4718592, 0xfbfbfd9a +0, 25, 25, 1, 4718592, 0x30c3a53f +0, 26, 26, 1, 4718592, 0x7229cad1 +0, 27, 27, 1, 4718592, 0x2703bd48 +0, 28, 28, 1, 4718592, 0xc46880e9 +0, 29, 29, 1, 4718592, 0x9480ac78 +0, 30, 30, 1, 4718592, 0xc9410aa9 +0, 31, 31, 1, 4718592, 0x7094d03d +0, 32, 32, 1, 4718592, 0x63b02bce +0, 33, 33, 1, 4718592, 0x5b7bf9c5 +0, 34, 34, 1, 4718592, 0x99af0869 +0, 35, 35, 1, 4718592, 0x54b382b6 +0, 36, 36, 1, 4718592, 0xc2511916 +0, 37, 37, 1, 4718592, 0x9833e473 +0, 38, 38, 1, 4718592, 0x91062ed4 +0, 39, 39, 1, 4718592, 0x47669bea +0, 40, 40, 1, 4718592, 0x0bde1655 +0, 41, 41, 1, 4718592, 0x0c638749 +0, 42, 42, 1, 4718592, 0x4d5c380a +0, 43, 43, 1, 4718592, 0x1780c529 +0, 44, 44, 1, 4718592, 0xe16a41da +0, 45, 45, 1, 4718592, 0xfc265995 +0, 46, 46, 1, 4718592, 0x4fa62cc5 +0, 47, 47, 1, 4718592, 0x3c1263dc +0, 48, 48, 1, 4718592, 0x43e21353 +0, 49, 49, 1, 4718592, 0x81a20ca5 +0, 50, 50, 1, 4718592, 0x74a6065b +0, 51, 51, 1, 4718592, 0x5305f734 +0, 52, 52, 1, 4718592, 0xe287f597 +0, 53, 53, 1, 4718592, 0xc7c5dd6b +0, 54, 54, 1, 4718592, 0x5b173885 +0, 55, 55, 1, 4718592, 0xb146d1f2 +0, 56, 56, 1, 4718592, 0x9c462f75 +0, 57, 57, 1, 4718592, 0x5214a211 +0, 58, 58, 1, 4718592, 0x473dd1c2 +0, 59, 59, 1, 4718592, 0x85efaa75 +0, 60, 60, 1, 4718592, 0x0885206c +0, 61, 61, 1, 4718592, 0xe591f7c0 +0, 62, 62, 1, 4718592, 0xecd67225 -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org