This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit 6bc257e292e2216f10842a67846e1b9e9b34666e
Author:     James Almer <[email protected]>
AuthorDate: Fri Mar 13 17:28:42 2026 -0300
Commit:     James Almer <[email protected]>
CommitDate: Sun Mar 15 19:20:06 2026 -0300

    avformat/nal: remove trailing zeroes from NALUs
    
    Based on the behaviour from cbs_h2645, which removes actual
    trailing_zero_8bits bytes and possibly also work arounds issues in
    ff_h2645_extract_rbsp(). In this case, the same issue could be
    present in ff_nal_find_startcode().
    
    Signed-off-by: James Almer <[email protected]>
---
 libavformat/nal.c                      | 7 +++++--
 tests/ref/fate/enhanced-flv-hevc-hdr10 | 4 ++--
 tests/ref/fate/enhanced-flv-vvc        | 6 +++---
 tests/ref/fate/matroska-h264-remux     | 4 ++--
 tests/ref/lavf-fate/h264.mp4           | 4 ++--
 tests/ref/lavf-fate/vvc.mkv            | 4 ++--
 tests/ref/lavf-fate/vvc.mp4            | 4 ++--
 7 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/libavformat/nal.c b/libavformat/nal.c
index 26dc5fe688..f94dc90995 100644
--- a/libavformat/nal.c
+++ b/libavformat/nal.c
@@ -88,8 +88,11 @@ static int nal_parse_units(AVIOContext *pb, NALUList *list,
 
         nal_end = ff_nal_find_startcode(nal_start, end);
         if (pb) {
-            avio_wb32(pb, nal_end - nal_start);
-            avio_write(pb, nal_start, nal_end - nal_start);
+            ptrdiff_t nalu_size = nal_end - nal_start;
+            while (nalu_size > 0 && nal_start[nalu_size - 1] == 0)
+                --nalu_size;
+            avio_wb32(pb, nalu_size);
+            avio_write(pb, nal_start, nalu_size);
         } else if (list->nb_nalus >= nalu_limit) {
             return AVERROR(ERANGE);
         } else {
diff --git a/tests/ref/fate/enhanced-flv-hevc-hdr10 
b/tests/ref/fate/enhanced-flv-hevc-hdr10
index 525f056d66..a2ea5a917d 100644
--- a/tests/ref/fate/enhanced-flv-hevc-hdr10
+++ b/tests/ref/fate/enhanced-flv-hevc-hdr10
@@ -1,4 +1,4 @@
-#extradata 0:      111, 0x091d1885
+#extradata 0:      110, 0xf07e1884
 #tb 0: 1/1000
 #media_type 0: video
 #codec_id 0: hevc
@@ -17,7 +17,7 @@ best_effort_timestamp=0
 best_effort_timestamp_time=0.000000
 duration=N/A
 duration_time=N/A
-pkt_pos=459
+pkt_pos=458
 pkt_size=77718
 width=1280
 height=720
diff --git a/tests/ref/fate/enhanced-flv-vvc b/tests/ref/fate/enhanced-flv-vvc
index 329728037d..43f25c0b7f 100644
--- a/tests/ref/fate/enhanced-flv-vvc
+++ b/tests/ref/fate/enhanced-flv-vvc
@@ -1,6 +1,6 @@
-b4074094cb8c5152361a9fab71dca9e9 *tests/data/fate/enhanced-flv-vvc.flv
-90620 tests/data/fate/enhanced-flv-vvc.flv
-#extradata 0:      161, 0x98c53408
+4789b9c0248ed8ec8d63880f1a40c7b7 *tests/data/fate/enhanced-flv-vvc.flv
+90619 tests/data/fate/enhanced-flv-vvc.flv
+#extradata 0:      160, 0x64ae3407
 #tb 0: 1/1000
 #media_type 0: video
 #codec_id 0: vvc
diff --git a/tests/ref/fate/matroska-h264-remux 
b/tests/ref/fate/matroska-h264-remux
index 6362b6f684..7a0d999095 100644
--- a/tests/ref/fate/matroska-h264-remux
+++ b/tests/ref/fate/matroska-h264-remux
@@ -1,5 +1,5 @@
-277a08f708965112a7c2fb25d941e68a *tests/data/fate/matroska-h264-remux.matroska
-2036806 tests/data/fate/matroska-h264-remux.matroska
+c96a6298ccfd1fa0b8b1ef38d4244556 *tests/data/fate/matroska-h264-remux.matroska
+2036805 tests/data/fate/matroska-h264-remux.matroska
 #tb 0: 1/25
 #media_type 0: video
 #codec_id 0: rawvideo
diff --git a/tests/ref/lavf-fate/h264.mp4 b/tests/ref/lavf-fate/h264.mp4
index a9c3823c2c..5cfd905424 100644
--- a/tests/ref/lavf-fate/h264.mp4
+++ b/tests/ref/lavf-fate/h264.mp4
@@ -1,3 +1,3 @@
-fe299ea5205b71a48281f917b1256a5d *tests/data/lavf-fate/lavf.h264.mp4
-547928 tests/data/lavf-fate/lavf.h264.mp4
+3e4893fa201d74d7b057eae8c4387436 *tests/data/lavf-fate/lavf.h264.mp4
+547927 tests/data/lavf-fate/lavf.h264.mp4
 tests/data/lavf-fate/lavf.h264.mp4 CRC=0x9da2c999
diff --git a/tests/ref/lavf-fate/vvc.mkv b/tests/ref/lavf-fate/vvc.mkv
index 12936f1f58..679370c6af 100644
--- a/tests/ref/lavf-fate/vvc.mkv
+++ b/tests/ref/lavf-fate/vvc.mkv
@@ -1,3 +1,3 @@
-088fe4756b99c28031ba41d1a841a1cb *tests/data/lavf-fate/lavf.vvc.mkv
-16351 tests/data/lavf-fate/lavf.vvc.mkv
+88113d8aa98b2cac4a25c7228814ea9a *tests/data/lavf-fate/lavf.vvc.mkv
+16350 tests/data/lavf-fate/lavf.vvc.mkv
 tests/data/lavf-fate/lavf.vvc.mkv CRC=0x895790b1
diff --git a/tests/ref/lavf-fate/vvc.mp4 b/tests/ref/lavf-fate/vvc.mp4
index b237fe18cb..71e5f464cb 100644
--- a/tests/ref/lavf-fate/vvc.mp4
+++ b/tests/ref/lavf-fate/vvc.mp4
@@ -1,3 +1,3 @@
-b5d5939890d3246475f990e5ebd58dc8 *tests/data/lavf-fate/lavf.vvc.mp4
-16625 tests/data/lavf-fate/lavf.vvc.mp4
+c6813fd47c553b214fd20bda871211b4 *tests/data/lavf-fate/lavf.vvc.mp4
+16624 tests/data/lavf-fate/lavf.vvc.mp4
 tests/data/lavf-fate/lavf.vvc.mp4 CRC=0x895790b1

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to