Changes between Initial Version and Version 1 of Ticket #11553, comment 9


Ignore:
Timestamp:
May 15, 2025, 10:09:54 AM (15 months ago)
Author:
MasterQuestionable

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #11553, comment 9

    initial v1  
    1010͏    https://github.com/FFmpeg/FFmpeg/blob/848576b4dfdbacf42017bb81c755482dc6845cc5/fftools/ffmpeg_dec.c#L697
    1111͏    https://ffmpeg.org/ffmpeg-bitstream-filters.html
     12
     13\\
     14͏    @ 2025-05-14T23:23:41Z
     15͏    fftools/ffmpeg_dec: Always receive frames from decoder
     16https://github.com/FFmpeg/FFmpeg/commit/b18aaf209f007e67ac4490ba5647ea139d1a6dcb
     17͏    “Up until now, if "avcodec_send_packet" returned an error: no attempt to receive a frame from the decoder would be made.
     18͏    Instead the decoder was presumed to be drained, so that more packets could be sent to it.
     19͏    Yet this need not be so:
     20͏    It can happen that a packet would decode to multiple frames.
     21͏    And that decoding the 1st of these (the one that is decoded during the "avcodec_send_packet" call) returns an error.
     22͏    .
     23͏    In which case the decoder is not yet ready to receive more input:
     24͏    As the remaining parts of the packet have not been decoded yet.
     25͏    In this case, an "AVERROR_BUG" is triggered.
     26
     27͏    This happens in ticket #11553 with VP9:
     28͏    Which uses a BSF to split VP9 superframes; and is therefore affected by this.
     29
     30͏    Fix this by always calling "avcodec_receive_frame" unless "-xerror" is set.”