From: "Clément Bœsch" <u@pkh.me>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH 3/5] avcodec/proresenc_kostya: do not write into alpha reserved bitfields
Date: Mon, 8 Jan 2024 21:33:24 +0100
Message-ID: <ZZxcFI3UzmWPlt7W@ssq0.pkh.me> (raw)
In-Reply-To: <ZZxWoYNOEU7WUrG3@mariano>
On Mon, Jan 08, 2024 at 09:10:09PM +0100, Stefano Sabatini wrote:
> On date Sunday 2024-01-07 19:16:45 +0100, Clément Bœsch wrote:
> > This byte represents 4 reserved bits followed by 4 alpha_channel_type bits.
> >
> > alpha_channel_type currently has 3 differents defined values: 0 (no
> > alpha), 1 (8b alpha), and 2 (16b alpha), all the other values are
> > reserved. This part is correctly written (alpha_bits>>3 does the correct
> > thing), but the 4 initial bits are reserved.
> > ---
> > libavcodec/proresenc_kostya.c | 2 +-
> > tests/ref/vsynth/vsynth1-prores_ks | 2 +-
> > tests/ref/vsynth/vsynth2-prores_ks | 2 +-
> > tests/ref/vsynth/vsynth3-prores_ks | 2 +-
> > tests/ref/vsynth/vsynth_lena-prores_ks | 2 +-
> > 5 files changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/libavcodec/proresenc_kostya.c b/libavcodec/proresenc_kostya.c
> > index de63127192..f6c71c2b86 100644
> > --- a/libavcodec/proresenc_kostya.c
> > +++ b/libavcodec/proresenc_kostya.c
> > @@ -1051,7 +1051,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
> > bytestream_put_byte (&buf, pic->color_primaries);
> > bytestream_put_byte (&buf, pic->color_trc);
> > bytestream_put_byte (&buf, pic->colorspace);
> > - bytestream_put_byte (&buf, 0x40 | (ctx->alpha_bits >> 3));
> > + bytestream_put_byte (&buf, ctx->alpha_bits >> 3);
>
> Shall be good, I wonder why it was done that way (probably there was
> no open specification at the time?).
The Apple encoder tends to write stuff in this reserved area. Currently on
the system I'm testing VideoToolBox is actually writing 0xE in the high
nibble (instead of 0x4 here). So far it doesn't seem to have any impact (I
tried to encode mov/prores files with and without alpha, with both ks and
aw encoder, after this patchset, and the files play just fine with
QuickTime).
I have no idea what impact it has internally as I was unable to locate the
encoder or the decoder in the Apple core frameworks.
--
Clément B.
_______________________________________________
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-01-08 20:33 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-11 19:06 [FFmpeg-devel] Misc ProRes frame header conformity fixes Clément Bœsch
2023-12-11 19:06 ` [FFmpeg-devel] [PATCH 1/5] avcodec/proresenc_anatoliy: use a compatible bitstream version Clément Bœsch
2023-12-11 19:06 ` [FFmpeg-devel] [PATCH 2/5] avcodec/proresenc_kostya: " Clément Bœsch
2023-12-11 19:06 ` [FFmpeg-devel] [PATCH 3/5] avcodec/proresenc_kostya: do not write into alpha reserved bitfields Clément Bœsch
2023-12-12 23:13 ` Michael Niedermayer
2023-12-12 23:16 ` Michael Niedermayer
2024-01-07 18:20 ` Clément Bœsch
2023-12-11 19:06 ` [FFmpeg-devel] [PATCH 4/5] avcodec/proresenc_anatoliy: " Clément Bœsch
2023-12-11 19:06 ` [FFmpeg-devel] [PATCH 5/5] avcodec/proresenc_anatoliy: do not write into chroma " Clément Bœsch
2024-01-07 18:16 ` [FFmpeg-devel] [PATCH 1/5] avcodec/proresenc_anatoliy: use a compatible bitstream version Clément Bœsch
2024-01-07 18:16 ` [FFmpeg-devel] [PATCH 2/5] avcodec/proresenc_kostya: " Clément Bœsch
2024-01-08 19:57 ` Stefano Sabatini
2024-01-07 18:16 ` [FFmpeg-devel] [PATCH 3/5] avcodec/proresenc_kostya: do not write into alpha reserved bitfields Clément Bœsch
2024-01-08 20:10 ` Stefano Sabatini
2024-01-08 20:33 ` Clément Bœsch [this message]
2024-01-07 18:16 ` [FFmpeg-devel] [PATCH 4/5] avcodec/proresenc_anatoliy: " Clément Bœsch
2024-01-08 20:23 ` Stefano Sabatini
2024-01-08 20:34 ` Clément Bœsch
2024-01-07 18:16 ` [FFmpeg-devel] [PATCH 5/5] avcodec/proresenc_anatoliy: do not write into chroma " Clément Bœsch
2024-01-10 19:12 ` Clément Bœsch
2024-01-10 21:43 ` Stefano Sabatini
2024-01-10 22:37 ` Clément Bœsch
2024-01-08 19:54 ` [FFmpeg-devel] [PATCH 1/5] avcodec/proresenc_anatoliy: use a compatible bitstream version Stefano Sabatini
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=ZZxcFI3UzmWPlt7W@ssq0.pkh.me \
--to=u@pkh.me \
--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