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

Git pushed a commit to branch release/9.0
in repository ffmpeg.

The following commit(s) were added to refs/heads/release/9.0 by this push:
     new 6e85193417 avcodec/get_buffer: use frame pixel format instead of 
context
6e85193417 is described below

commit 6e85193417f898868f04f8f6fc30db92a874a8cf
Author:     James Almer <[email protected]>
AuthorDate: Thu Jul 23 10:39:44 2026 -0300
Commit:     James Almer <[email protected]>
CommitDate: Thu Jul 23 17:22:02 2026 +0000

    avcodec/get_buffer: use frame pixel format instead of context
    
    The documentation for get_buffer2() states:
    
    "This callback must use the frame values, not the codec context values, to
    calculate the required buffer size."
    
    Fixes wrong output on hbd LCEVC enhanced samples where the base stream is
    8bit.
    
    Signed-off-by: James Almer <[email protected]>
    (cherry picked from commit e1c1b6c55835d13647636340d478d370aa48fb8d)
---
 libavcodec/get_buffer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/get_buffer.c b/libavcodec/get_buffer.c
index b391adf24f..1e0cfc21da 100644
--- a/libavcodec/get_buffer.c
+++ b/libavcodec/get_buffer.c
@@ -95,7 +95,7 @@ static int update_frame_pool(AVCodecContext *avctx, AVFrame 
*frame)
         do {
             // NOTE: do not align linesizes individually, this breaks e.g. 
assumptions
             // that linesize[0] == 2*linesize[1] in the MPEG-encoder for 4:2:2
-            ret = av_image_fill_linesizes(linesize, avctx->pix_fmt, w);
+            ret = av_image_fill_linesizes(linesize, frame->format, w);
             if (ret < 0)
                 goto fail;
             // increase alignment of w for next try (rhs gives the lowest bit 
set in w)
@@ -108,7 +108,7 @@ static int update_frame_pool(AVCodecContext *avctx, AVFrame 
*frame)
 
         for (i = 0; i < 4; i++)
             linesize1[i] = linesize[i];
-        ret = av_image_fill_plane_sizes(size, avctx->pix_fmt, h, linesize1);
+        ret = av_image_fill_plane_sizes(size, frame->format, h, linesize1);
         if (ret < 0)
             goto fail;
 

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

Reply via email to