[PATCH] avcodec/jpeg2000: Fast fail if HTJ2K codeblocks are present.
--- libavcodec/jpeg2000.h | 2 ++ libavcodec/jpeg2000dec.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/libavcodec/jpeg2000.h b/libavcodec/jpeg2000.h index d06313425e..e5ecb4cbf9 100644 --- a/libavcodec/jpeg2000.h +++ b/libavcodec/jpeg2000.h @@ -110,6 +110,8 @@ enum Jpeg2000Quantsty { // quantization style #define JPEG2000_CSTY_PREC 0x01 // Precincts defined in coding style #define JPEG2000_CSTY_SOP 0x02 // SOP marker present #define JPEG2000_CSTY_EPH 0x04 // EPH marker present +#define JPEG2000_CTSY_HTJ2K_F 0x40 // Only HT code-blocks (Rec. ITU-T T.814 | ISO/IEC 15444-15) are present +#define JPEG2000_CTSY_HTJ2K_M 0xC0 // HT code blocks (Rec. ITU-T T.814 | ISO/IEC 15444-15) can be present // Progression orders #define JPEG2000_PGOD_LRCP 0x00 // Layer-resolution level-component-position progression diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index 92966b11f5..30f8c878d1 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -521,6 +521,10 @@ static int get_cox(Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c) c->cblk_style = bytestream2_get_byteu(&s->g); if (c->cblk_style != 0) { // cblk style + if (c->cblk_style & JPEG2000_CTSY_HTJ2K_M || c->cblk_style & JPEG2000_CTSY_HTJ2K_F) { + av_log(s->avctx, AV_LOG_ERROR, "Support for High throughput JPEG 2000 is not yet available\n"); + return AVERROR_PATCHWELCOME; + } av_log(s->avctx, AV_LOG_WARNING, "extra cblk styles %X\n", c->cblk_style); if (c->cblk_style & JPEG2000_CBLK_BYPASS) av_log(s->avctx, AV_LOG_WARNING, "Selective arithmetic coding bypass\n"); -- 2.34.0
LGTM On Thu, May 5, 2022 at 11:56 PM caleb <etemesicaleb@gmail.com> wrote:
--- libavcodec/jpeg2000.h | 2 ++ libavcodec/jpeg2000dec.c | 4 ++++ 2 files changed, 6 insertions(+)
diff --git a/libavcodec/jpeg2000.h b/libavcodec/jpeg2000.h index d06313425e..e5ecb4cbf9 100644 --- a/libavcodec/jpeg2000.h +++ b/libavcodec/jpeg2000.h @@ -110,6 +110,8 @@ enum Jpeg2000Quantsty { // quantization style #define JPEG2000_CSTY_PREC 0x01 // Precincts defined in coding style #define JPEG2000_CSTY_SOP 0x02 // SOP marker present #define JPEG2000_CSTY_EPH 0x04 // EPH marker present +#define JPEG2000_CTSY_HTJ2K_F 0x40 // Only HT code-blocks (Rec. ITU-T T.814 | ISO/IEC 15444-15) are present +#define JPEG2000_CTSY_HTJ2K_M 0xC0 // HT code blocks (Rec. ITU-T T.814 | ISO/IEC 15444-15) can be present
// Progression orders #define JPEG2000_PGOD_LRCP 0x00 // Layer-resolution level-component-position progression diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index 92966b11f5..30f8c878d1 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -521,6 +521,10 @@ static int get_cox(Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c)
c->cblk_style = bytestream2_get_byteu(&s->g); if (c->cblk_style != 0) { // cblk style + if (c->cblk_style & JPEG2000_CTSY_HTJ2K_M || c->cblk_style & JPEG2000_CTSY_HTJ2K_F) { + av_log(s->avctx, AV_LOG_ERROR, "Support for High throughput JPEG 2000 is not yet available\n"); + return AVERROR_PATCHWELCOME; + } av_log(s->avctx, AV_LOG_WARNING, "extra cblk styles %X\n", c->cblk_style); if (c->cblk_style & JPEG2000_CBLK_BYPASS) av_log(s->avctx, AV_LOG_WARNING, "Selective arithmetic coding bypass\n"); -- 2.34.0
On Fri, May 06, 2022 at 10:56:16AM -0700, Pierre-Anthony Lemieux wrote:
LGTM
will apply thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Into a blind darkness they enter who follow after the Ignorance, they as if into a greater darkness enter who devote themselves to the Knowledge alone. -- Isha Upanishad
-----Original Message----- From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael Niedermayer Sent: Saturday, May 7, 2022 10:31 AM To: FFmpeg development discussions and patches <ffmpeg- devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH] avcodec/jpeg2000: Fast fail if HTJ2K codeblocks are present.
On Fri, May 06, 2022 at 10:56:16AM -0700, Pierre-Anthony Lemieux wrote:
LGTM
will apply
thx
[...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Into a blind darkness they enter who follow after the Ignorance, they as if into a greater darkness enter who devote themselves to the Knowledge alone. -- Isha Upanishad
They who read as if sentences devoted to pretention of the wise words into great pain will enter. -- softworkz :-)
Hi before applying this Author: caleb <etemesicaleb@gmail.com> If you want your full name there please resend this with your full name so its in git with your full name. It cannot be changed later if its pushed like this thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The educated differ from the uneducated as much as the living from the dead. -- Aristotle
caleb is fine. On Sat, May 7, 2022 at 11:35 AM Michael Niedermayer <michael@niedermayer.cc> wrote:
Hi
before applying this
Author: caleb <etemesicaleb@gmail.com>
If you want your full name there please resend this with your full name so its in git with your full name. It cannot be changed later if its pushed like this
thx
[...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
The educated differ from the uneducated as much as the living from the dead. -- Aristotle _______________________________________________ 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".
On Sun, Aug 07, 2022 at 07:46:51PM +0300, Caleb Etemesi wrote:
caleb is fine.
ok will apply thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Old school: Use the lowest level language in which you can solve the problem conveniently. New school: Use the highest level language in which the latest supercomputer can solve the problem without the user falling asleep waiting.
Also apologies for a really late reply, Still learning about mail threads Kind regards. Caleb On Sun, 7 Aug 2022, 22:51 Michael Niedermayer, <michael@niedermayer.cc> wrote:
On Sun, Aug 07, 2022 at 07:46:51PM +0300, Caleb Etemesi wrote:
caleb is fine.
ok will apply
thx
[...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Old school: Use the lowest level language in which you can solve the problem conveniently. New school: Use the highest level language in which the latest supercomputer can solve the problem without the user falling asleep waiting. _______________________________________________ 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".
participants (5)
-
caleb -
Caleb Etemesi -
Michael Niedermayer -
Pierre-Anthony Lemieux -
Soft Works