ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Sat Mar 15 16:09:28 
2025 -0300| [3f57063c58faf6b931ebdd239ac568f77c878cc3] | committer: James Almer

avcodec/ffv1dec: set the FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM capability

Will prevent decoding frame data during probing.

Signed-off-by: James Almer <jamr...@gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3f57063c58faf6b931ebdd239ac568f77c878cc3
---

 libavcodec/ffv1dec.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c
index b731f11297..aa60a6c31b 100644
--- a/libavcodec/ffv1dec.c
+++ b/libavcodec/ffv1dec.c
@@ -697,6 +697,13 @@ static int decode_frame(AVCodecContext *avctx, AVFrame 
*rframe,
     if (ret < 0)
         return ret;
 
+    if (avctx->debug & FF_DEBUG_PICT_INFO)
+        av_log(avctx, AV_LOG_DEBUG, "ver:%d keyframe:%d coder:%d ec:%d 
slices:%d bps:%d\n",
+               f->version, !!f->key_frame, f->ac, f->ec, f->slice_count, 
f->avctx->bits_per_raw_sample);
+
+    if (avctx->skip_frame >= AVDISCARD_ALL)
+        return avpkt->size;
+
     ret = ff_progress_frame_get_buffer(avctx, &f->picture,
                                        AV_GET_BUFFER_FLAG_REF);
     if (ret < 0)
@@ -714,10 +721,6 @@ static int decode_frame(AVCodecContext *avctx, AVFrame 
*rframe,
             p->flags |= AV_FRAME_FLAG_TOP_FIELD_FIRST;
     }
 
-    if (avctx->debug & FF_DEBUG_PICT_INFO)
-        av_log(avctx, AV_LOG_DEBUG, "ver:%d keyframe:%d coder:%d ec:%d 
slices:%d bps:%d\n",
-               f->version, !!(p->flags & AV_FRAME_FLAG_KEY), f->ac, f->ec, 
f->slice_count, f->avctx->bits_per_raw_sample);
-
     ff_thread_finish_setup(avctx);
 
     ret = decode_slices(avctx, c, avpkt);
@@ -821,5 +824,6 @@ const FFCodec ff_ffv1_decoder = {
     .p.capabilities = AV_CODEC_CAP_DR1 |
                       AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS,
     .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP |
+                      FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM |
                       FF_CODEC_CAP_USES_PROGRESSFRAMES,
 };

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to