From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH] avformat/matroskadec: Output palette as stream side data
Date: Sun, 8 Oct 2023 21:06:19 +0200
Message-ID: <AS8P250MB074425FD08487F22786F0BB78FCFA@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <20231008163648.GT3543730@pb2>
Michael Niedermayer:
> On Thu, Oct 05, 2023 at 02:36:52PM +0200, Andreas Rheinhardt wrote:
>> This is simpler implementation-wise (it avoids an almost-always-false
>> check in read_packet and decreases sizeof(MatroskaTrack) by about 2/3)
>> and makes the side-data available directly after read_header.
>>
>> It also fixes the Matroska analog of ticket #10602: If a Matroska track
>> has a palette, said palette will be attached as side-data to the
>> first packet of said track and most likely, this is one read during
>> avformat_find_stream_info(). Yet if this packet is discarded because
>> of a seek performed immediately after avformat_find_stream_info(),
>> the information about the global palette will never reach the user.
>>
>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
>> ---
>> Ticket #10602 can unfortunately not be fixed in this way,
>> because avi allows to update the palette mid-stream,
>> so that the palette contained in extradata must not be
>> exported via global side data due to the semantics of the latter.
>>
>> libavformat/matroskadec.c | 39 ++++++++++++---------------------------
>> 1 file changed, 12 insertions(+), 27 deletions(-)
>
> breaks:
> aletrek.mkv
>
> probably here:
> https://trac.ffmpeg.org/attachment/ticket/5071/aletrek.mkv
>
This is actually expected due to the recent changes with respect to side
data: Basically every piece of code currently only looks for palette
side data in packets, not in stream side data and if the latter is not
injected into packets, then it is available, but unused. This is the
reason I opposed deprecating avformat_inject_global_side_data(); see my
reply to James latest iteration of his patchset.
- Andreas
_______________________________________________
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".
prev parent reply other threads:[~2023-10-08 19:05 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-05 12:36 Andreas Rheinhardt
2023-10-08 16:36 ` Michael Niedermayer
2023-10-08 19:06 ` Andreas Rheinhardt [this message]
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=AS8P250MB074425FD08487F22786F0BB78FCFA@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM \
--to=andreas.rheinhardt@outlook.com \
--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