The branch, release/8.0 has been updated
       via  fe72a8781b22912ec7125de1509d83fc2b1ad802 (commit)
       via  b5996929df27276db37e075600988ebb17890eb4 (commit)
       via  371d717601a3a4842e1182fab6503b0c05e93032 (commit)
       via  1447aac2eb34cf887f720c7316d7adf4ab3dbe60 (commit)
      from  af737ace1ee93fef49fe201c851359b0bf1b989b (commit)


- Log -----------------------------------------------------------------
commit fe72a8781b22912ec7125de1509d83fc2b1ad802
Author:     James Almer <[email protected]>
AuthorDate: Tue Nov 25 12:42:30 2025 -0300
Commit:     James Almer <[email protected]>
CommitDate: Thu Nov 27 21:58:55 2025 -0300

    avformat/iamf_parse: ensure the stream count in a scalable channel 
representation is equal to the audio element's stream count
    
    Signed-off-by: James Almer <[email protected]>
    (cherry picked from commit faa382e5b196f2acb5bc5b159aaf06682291328b)

diff --git a/libavformat/iamf_parse.c b/libavformat/iamf_parse.c
index 737e3f7404..597d800be0 100644
--- a/libavformat/iamf_parse.c
+++ b/libavformat/iamf_parse.c
@@ -480,6 +480,9 @@ static int scalable_channel_layout_config(void *s, 
AVIOContext *pb,
             av_channel_layout_copy(&layer->ch_layout, &ch_layout);
     }
 
+    if (k != audio_element->nb_substreams)
+        return AVERROR_INVALIDDATA;
+
     return 0;
 }
 

commit b5996929df27276db37e075600988ebb17890eb4
Author:     James Almer <[email protected]>
AuthorDate: Tue Nov 25 10:26:27 2025 -0300
Commit:     James Almer <[email protected]>
CommitDate: Thu Nov 27 21:58:42 2025 -0300

    avformat/iamf_parse: ensure each layout in an scalable channel 
representation has an increasing number of channels
    
    Fixes issue #21013
    
    Signed-off-by: James Almer <[email protected]>
    (cherry picked from commit 554ae5ada98cd44686ade995102d3aa2295d7b09)

diff --git a/libavformat/iamf_parse.c b/libavformat/iamf_parse.c
index 50acd7cf5a..737e3f7404 100644
--- a/libavformat/iamf_parse.c
+++ b/libavformat/iamf_parse.c
@@ -406,6 +406,9 @@ static int scalable_channel_layout_config(void *s, 
AVIOContext *pb,
                                                           .nb_channels = 
substream_count +
                                                                          
coupled_substream_count };
 
+        if (i && ch_layout.nb_channels <= 
audio_element->element->layers[i-1]->ch_layout.nb_channels)
+            return AVERROR_INVALIDDATA;
+
         for (int j = 0; j < substream_count; j++) {
             IAMFSubStream *substream = &audio_element->substreams[k++];
 

commit 371d717601a3a4842e1182fab6503b0c05e93032
Author:     James Almer <[email protected]>
AuthorDate: Wed Sep 24 20:31:26 2025 -0300
Commit:     James Almer <[email protected]>
CommitDate: Thu Nov 27 21:57:42 2025 -0300

    avfilter/vf_scale: don't attempt to rescale AV_NOPTS_VALUE
    
    Finishes fixing issue #20589.
    
    Signed-off-by: James Almer <[email protected]>
    (cherry picked from commit b9cc8e32109bba3daec1cfb6a834e45f72266b46)

diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c
index aec765b441..6c1302f8ce 100644
--- a/libavfilter/vf_scale.c
+++ b/libavfilter/vf_scale.c
@@ -944,7 +944,7 @@ static int do_scale(FFFrameSync *fs)
         goto err;
 
     av_assert0(out);
-    out->pts = av_rescale_q(fs->pts, fs->time_base, outlink->time_base);
+    out->pts = av_rescale_q_rnd(fs->pts, fs->time_base, outlink->time_base, 
AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX);
     return ff_filter_frame(outlink, out);
 
 err:

commit 1447aac2eb34cf887f720c7316d7adf4ab3dbe60
Author:     James Almer <[email protected]>
AuthorDate: Wed Sep 24 20:31:11 2025 -0300
Commit:     James Almer <[email protected]>
CommitDate: Thu Nov 27 21:57:42 2025 -0300

    avfilter/framesync: don't attempt to rescale AV_NOPTS_VALUE
    
    Part of a fix for issue #20589.
    
    Signed-off-by: James Almer <[email protected]>
    (cherry picked from commit 5614672d1bed49557f234639f7eeaf3b9c0385fe)

diff --git a/libavfilter/framesync.c b/libavfilter/framesync.c
index 0d5779f830..846d1c7e50 100644
--- a/libavfilter/framesync.c
+++ b/libavfilter/framesync.c
@@ -248,7 +248,7 @@ static void framesync_inject_frame(FFFrameSync *fs, 
unsigned in, AVFrame *frame)
 
     av_assert0(!fs->in[in].have_next);
     av_assert0(frame);
-    pts = av_rescale_q(frame->pts, fs->in[in].time_base, fs->time_base);
+    pts = av_rescale_q_rnd(frame->pts, fs->in[in].time_base, fs->time_base, 
AV_ROUND_NEAR_INF | AV_ROUND_PASS_MINMAX);
     frame->pts = pts;
     fs->in[in].frame_next = frame;
     fs->in[in].pts_next   = pts;

-----------------------------------------------------------------------

Summary of changes:
 libavfilter/framesync.c  | 2 +-
 libavfilter/vf_scale.c   | 2 +-
 libavformat/iamf_parse.c | 6 ++++++
 3 files changed, 8 insertions(+), 2 deletions(-)


hooks/post-receive
-- 

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

Reply via email to