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

Git pushed a commit to branch master
in repository ffmpeg.

The following commit(s) were added to refs/heads/master by this push:
     new d013863f00 avcodec/lcevcdec: poll on LCEVC_Again from 
LCEVC_ReceiveDecoderPicture
d013863f00 is described below

commit d013863f004edc26115189ad273217535272a3a9
Author:     Peter von Kaenel <[email protected]>
AuthorDate: Mon Apr 6 10:32:20 2026 -0400
Commit:     James Almer <[email protected]>
CommitDate: Thu Apr 16 17:19:28 2026 -0300

    avcodec/lcevcdec: poll on LCEVC_Again from LCEVC_ReceiveDecoderPicture
    
    The V-Nova LCEVC pipeline processes frames on internal background
    worker threads. LCEVC_ReceiveDecoderPicture returns LCEVC_Again (-1)
    when the worker has not yet completed the frame, which is the
    documented "not ready, try again" response. The original code treated
    any non-zero return as a fatal error (AVERROR_EXTERNAL), causing decode
    to abort mid-stream.
    
    Poll until LCEVC_Success or a genuine error is returned.
    
    Signed-off-by: Peter von Kaenel <[email protected]>
    Signed-off-by: James Almer <[email protected]>
---
 libavcodec/lcevcdec.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/lcevcdec.c b/libavcodec/lcevcdec.c
index 9cc23f7f10..722da8cdaf 100644
--- a/libavcodec/lcevcdec.c
+++ b/libavcodec/lcevcdec.c
@@ -199,7 +199,9 @@ static int generate_output(void *logctx, FFLCEVCFrame 
*frame_ctx, AVFrame *out)
     LCEVC_PictureHandle picture;
     LCEVC_ReturnCode res;
 
-    res = LCEVC_ReceiveDecoderPicture(lcevc->decoder, &picture, &info);
+    do {
+        res = LCEVC_ReceiveDecoderPicture(lcevc->decoder, &picture, &info);
+    } while (res == LCEVC_Again);
     if (res != LCEVC_Success)
         return AVERROR_EXTERNAL;
 

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

Reply via email to