Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Michael Niedermayer <michael@niedermayer.cc>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [FFmpeg-cvslog] avformat/mov: export the correct initial extratada from samples with multiple stsd
Date: Sat, 2 Aug 2025 20:33:39 +0200
Message-ID: <20250802183339.GY1804579@pb2> (raw)
In-Reply-To: <20250730205424.3E09C412961@natalya.videolan.org>


[-- Attachment #1.1: Type: text/plain, Size: 6372 bytes --]

Hi

This breaks:
./ffmpeg -i  'tickets//1666/avc-intra-panasonic-AG-HPX301E.mov' -f null -

after this patch theres a lot of errors:

...
[vist#0:0/h264 @ 0x55837b5fd6c0] [dec:h264 @ 0x55837b62c6c0] Error submitting packet to decoder: Invalid data found when processing input
[h264 @ 0x55837c768000] non-existing PPS 0 referenced
    Last message repeated 9 times
[h264 @ 0x55837c768000] no frame!
[vist#0:0/h264 @ 0x55837b5fd6c0] [dec:h264 @ 0x55837b62c6c0] Error submitting packet to decoder: Invalid data found when processing input
[h264 @ 0x55837b62d580] non-existing PPS 0 referenced
    Last message repeated 9 times
[h264 @ 0x55837b62d580] no frame!
[vist#0:0/h264 @ 0x55837b5fd6c0] [dec:h264 @ 0x55837b62c6c0] Error submitting packet to decoder: Invalid data found when processing input
[h264 @ 0x55837b6cf600] non-existing PPS 0 referenced
    Last message repeated 9 times
[h264 @ 0x55837b6cf600] no frame!
[vist#0:0/h264 @ 0x55837b5fd6c0] [dec:h264 @ 0x55837b62c6c0] Error submitting packet to decoder: Invalid data found when processing input
[h264 @ 0x55837b776bc0] non-existing PPS 0 referenced
    Last message repeated 9 times
[h264 @ 0x55837b776bc0] no frame!
[vist#0:0/h264 @ 0x55837b5fd6c0] [dec:h264 @ 0x55837b62c6c0] Decoding error: Invalid data found when processing input
    Last message repeated 14 times
[vist#0:0/h264 @ 0x55837b5fd6c0] [dec:h264 @ 0x55837b62c6c0] Decode error rate 1 exceeds maximum 0.666667
[vist#0:0/h264 @ 0x55837b5fd6c0] [dec:h264 @ 0x55837b62c6c0] Task finished with error code: -1145393733 (Error number -1145393733 occurred)
[vist#0:0/h264 @ 0x55837b5fd6c0] [dec:h264 @ 0x55837b62c6c0] Terminating thread with return code -1145393733 (Error number -1145393733 occurred)
[vf#0:0 @ 0x55837b5fe540] Cannot determine format of input 0:0 after EOF
[vf#0:0 @ 0x55837b5fe540] Task finished with error code: -1094995529 (Invalid data found when processing input)
[vf#0:0 @ 0x55837b5fe540] Terminating thread with return code -1094995529 (Invalid data found when processing input)
[vost#0:0/wrapped_avframe @ 0x55837b5ed680] [enc:wrapped_avframe @ 0x55837b62ad00] Could not open encoder before EOF
[vost#0:0/wrapped_avframe @ 0x55837b5ed680] Task finished with error code: -22 (Invalid argument)
[vost#0:0/wrapped_avframe @ 0x55837b5ed680] Terminating thread with return code -22 (Invalid argument)
[out#0/null @ 0x55837b632540] Nothing was written into output file, because at least one of its streams received no packets.




On Wed, Jul 30, 2025 at 08:54:22PM +0000, James Almer wrote:
> ffmpeg | branch: master | James Almer <jamrial@gmail.com> | Sun Jul 27 16:14:12 2025 -0300| [eefa6de7d505ecd80e4674146067b99d1b74ddbe] | committer: James Almer
> 
> avformat/mov: export the correct initial extratada from samples with multiple stsd
> 
> The first sample in the stsc box may not refer to the first stsd entry.
> This is the case in h264/thezerotheorem-cut.mp4, and as such the
> fate-h264_redundant_pps-side_data test is updated accordingly.
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> 
> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=eefa6de7d505ecd80e4674146067b99d1b74ddbe
> ---
> 
>  libavformat/mov.c                           | 14 ++++++++++++++
>  tests/ref/fate/h264_redundant_pps-side_data |  8 ++++----
>  2 files changed, 18 insertions(+), 4 deletions(-)
> 
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index 8f1c5df3c9..55b0950b5e 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -10580,6 +10580,20 @@ static int mov_read_header(AVFormatContext *s)
>          MOVStreamContext *sc = st->priv_data;
>          uint32_t dvdsub_clut[FF_DVDCLUT_CLUT_LEN] = {0};
>          fix_timescale(mov, sc);
> +
> +        /* Set the primary extradata based on the first Sample. */
> +        if (sc->stsc_count && sc->extradata_size && !sc->iamf) {
> +            sc->last_stsd_index = sc->stsc_data[0].id - 1;
> +            av_freep(&st->codecpar->extradata);
> +            st->codecpar->extradata_size = sc->extradata_size[sc->last_stsd_index];
> +            if (sc->extradata_size[sc->last_stsd_index]) {
> +                st->codecpar->extradata = av_mallocz(sc->extradata_size[sc->last_stsd_index] + AV_INPUT_BUFFER_PADDING_SIZE);
> +                if (!st->codecpar->extradata)
> +                    return AVERROR(ENOMEM);
> +                memcpy(st->codecpar->extradata, sc->extradata[sc->last_stsd_index], sc->extradata_size[sc->last_stsd_index]);
> +            }
> +        }
> +
>          if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO &&
>              st->codecpar->codec_id   == AV_CODEC_ID_AAC) {
>              sti->skip_samples = sc->start_pad;
> diff --git a/tests/ref/fate/h264_redundant_pps-side_data b/tests/ref/fate/h264_redundant_pps-side_data
> index 8633792d8f..1f4684bf5b 100644
> --- a/tests/ref/fate/h264_redundant_pps-side_data
> +++ b/tests/ref/fate/h264_redundant_pps-side_data
> @@ -1,12 +1,12 @@
> -a35cca13c3f91d1a279bf576b8264d05 *tests/data/fate/h264_redundant_pps-side_data.nut
> -596153 tests/data/fate/h264_redundant_pps-side_data.nut
> -#extradata 0:       34, 0x851f08e4
> +92fe70291f72acf94ba56b426bbaccb0 *tests/data/fate/h264_redundant_pps-side_data.nut
> +596100 tests/data/fate/h264_redundant_pps-side_data.nut
> +#extradata 0:       34, 0x850408e3
>  #tb 0: 1/48000
>  #media_type 0: video
>  #codec_id 0: h264
>  #dimensions 0: 1920x1080
>  #sar 0: 0/1
> -0,      -2002,          0,     2002,   247959, 0xdb721881, S=1, New Extradata,       34, 0x850408e3
> +0,      -2002,          0,     2002,   247959, 0xdb721881
>  0,          0,       4004,     2002,    43356, 0xa366eb79, F=0x0
>  0,       2002,       2002,     2002,    11423, 0x9c0a86fa, F=0x0
>  0,       4004,       8008,     2002,    50801, 0xfbfe860d, F=0x0
> 
> _______________________________________________
> ffmpeg-cvslog mailing list
> ffmpeg-cvslog@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
> 
> To unsubscribe, visit link above, or email
> ffmpeg-cvslog-request@ffmpeg.org with subject "unsubscribe".
> 

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Good people do not need laws to tell them to act responsibly, while bad
people will find a way around the laws. -- Plato

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

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

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

       reply	other threads:[~2025-08-02 18:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20250730205424.3E09C412961@natalya.videolan.org>
2025-08-02 18:33 ` Michael Niedermayer [this message]
2025-08-03  2:02   ` James Almer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250802183339.GY1804579@pb2 \
    --to=michael@niedermayer.cc \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git