From: Michael Niedermayer <michael@niedermayer.cc>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH v2] avcodec/hevc/hevcdec: Do not allow slices to depend on failed slices
Date: Tue, 23 Jul 2024 20:30:29 +0200
Message-ID: <20240723183029.GB4991@pb2> (raw)
In-Reply-To: <172145586236.21847.12842344042206656670@lain.khirnov.net>
[-- Attachment #1.1: Type: text/plain, Size: 1931 bytes --]
On Sat, Jul 20, 2024 at 08:11:02AM +0200, Anton Khirnov wrote:
> Quoting Michael Niedermayer (2024-07-20 02:08:28)
> > On Wed, Jul 17, 2024 at 08:42:41AM +0200, Anton Khirnov wrote:
> > > Quoting Michael Niedermayer (2024-07-15 16:48:25)
> > [...]
> > > > @@ -3155,8 +3156,11 @@ static int decode_slice(HEVCContext *s, const H2645NAL *nal, GetBitContext *gb)
> > > > int ret;
> > > >
> > > > ret = hls_slice_header(&s->sh, s, gb);
> > > > - if (ret < 0)
> > > > + if (ret < 0) {
> > > > + //The code is not capable to rewind from an error, the state now is inconsistant so we cannot use it on depandant slices
> > > ^ ^
> > > e e
> > > Also I'd drop everything before the comma, why mention rewinding that is
> > > not implemented and may not be a good idea anyway.
> >
> > It seems we disagree on some things.
> > A failing function should not corrupt the state. We also dont do that
> > in other cases like SPS/PPS.
> > This is also unexpected, so it should be documented.
>
> In my view, the root problem is not that the state is corrupted, but
> that the independent slice segment is missing. No rewinding you can do
> will conjure it out of nowhere, and it's not at all clear to me that
> using some random previous slice segment's data is the right thing to
> do.
I think it is bad practice to leave inconsistant state and "Just not use it"
because if something either now or in the future does end up using it, that
could result in undeffined or unexpected behavior
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Avoid a single point of failure, be that a person or equipment.
[-- 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".
next prev parent reply other threads:[~2024-07-23 18:30 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-15 14:48 Michael Niedermayer
2024-07-17 6:42 ` Anton Khirnov
2024-07-20 0:08 ` Michael Niedermayer
2024-07-20 6:11 ` Anton Khirnov
2024-07-23 18:30 ` Michael Niedermayer [this message]
2024-07-23 18:27 ` Michael Niedermayer
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=20240723183029.GB4991@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