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]
