[FFmpeg-devel] [PATCH 2/3] avcodec/j2kenc: Add alpha support
Leo Izen
leo.izen at gmail.com
Thu Apr 6 17:15:48 EEST 2023
On 4/2/23 17:34, Michael Niedermayer wrote:
> On Fri, Mar 31, 2023 at 01:14:40AM +0200, Michael Niedermayer wrote:
>> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
>> ---
>> libavcodec/j2kenc.c | 28 ++++++++++++++++++----------
>> 1 file changed, 18 insertions(+), 10 deletions(-)
>>
>> diff --git a/libavcodec/j2kenc.c b/libavcodec/j2kenc.c
>> index 97b0da1c976..b23fb73770a 100644
>> --- a/libavcodec/j2kenc.c
>> +++ b/libavcodec/j2kenc.c
>> @@ -320,8 +320,8 @@ static int put_siz(Jpeg2000EncoderContext *s)
>>
>> for (i = 0; i < s->ncomponents; i++){ // Ssiz_i XRsiz_i, YRsiz_i
>> bytestream_put_byte(&s->buf, s->cbps[i] - 1);
>> - bytestream_put_byte(&s->buf, i?1<<s->chroma_shift[0]:1);
>> - bytestream_put_byte(&s->buf, i?1<<s->chroma_shift[1]:1);
>> + bytestream_put_byte(&s->buf, (i%3)?1<<s->chroma_shift[0]:1);
>> + bytestream_put_byte(&s->buf, (i%3)?1<<s->chroma_shift[1]:1);
>
> i will replace the %3 by +1&2 to avoid slow modulo before applying
>
>
(i % 3) and (i + 1) & 2 aren't the same tho, and won't be nonzero at the
same time. `(i + 1) & 2` is equivalent to `(i + 1) % 4`.
- Leo Izen (thebombzen)
More information about the ffmpeg-devel
mailing list