From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id A9CE34121C for ; Tue, 19 Apr 2022 08:17:17 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CEF5568B0B4; Tue, 19 Apr 2022 11:17:14 +0300 (EEST) Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1AB1D68B0B4 for ; Tue, 19 Apr 2022 11:17:09 +0300 (EEST) Received: by mail-wm1-f47.google.com with SMTP id n126-20020a1c2784000000b0038e8af3e788so953859wmn.1 for ; Tue, 19 Apr 2022 01:17:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=inibKOi7fKT9pgYtXZGBnhcNbNhIUSfUWEUZvgj/d/Q=; b=A19YuvmOEF8qcZwVKCn1EJT+gWTHHgQWk0ehpjf3GgAUlUBX9PlW6MkN31w9SKroBy VmXhKGqfHl9c2hCD3dg32v5k5uR+qPjW8kgucXT91PNlaJp8mA8D/nQmRb/okwjazYqZ ma2YyCun2odY7u5Dsy+0yddd/isVhlZgkKV3VLqQktT8YoLeWN4fGzmfsuWZ03Mf0qv/ 2RKNR7PZ7mhNESJPt34MD0wzsLRrhAibcork7l9aGJ4PkA35RuFaXXMTJuuGpRw6fziX LFhJfmUIUxEFDnGrALFinOl0Wdnxje4bfv7wVCN0XJGX35Qz+CwRO/9x4OoPDt+reJD8 PFHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=inibKOi7fKT9pgYtXZGBnhcNbNhIUSfUWEUZvgj/d/Q=; b=rgAgMZKyjOKPeXLo0zks2rFiphgzLgDrTh95NszYdYFPtymkCCz64MncPJfADboAAq DXKhKzjrbtVJhjPBarATY4a0mqwQFkp/1xEJlo2YEJ0Q5GFbq7K/aYL3YsQKSc5YNsi3 sTFOsiNTGYEwW2rZrwF0oTkXrHiU3VB6yXkjejpna7VzRIOJwySxE00ZxNOMW0J4K9oB GNJofZnggY19pEtf+nwjRnl4lCk3CnD2UzKsSeYXp5DFAOhTz9RRpogwdWHt1K9Ed4Ze USL4K3N1K7OFjGfFTpvlFTMtDhKlsA9lU9R02tA21vns4/U9fcvhiLhp0rAcrvYAxq8V h+jw== X-Gm-Message-State: AOAM531cY4WNSsc0/KDXmGVbL0agXif76Ev1UmBNIXlK9AuyRnDbEQOu hjU0/jGnlC6e/C7ON5lw2kUcfnv4e212GQ== X-Google-Smtp-Source: ABdhPJyUHB1ULBqcUUFWkmQhp6kjRusmZ3CsGQAAmBasTfEz18rUNfLBP8bndIOKgMMmLDBg9d5W/A== X-Received: by 2002:a1c:3bd6:0:b0:38f:4e30:6c2f with SMTP id i205-20020a1c3bd6000000b0038f4e306c2fmr15082828wma.66.1650356227807; Tue, 19 Apr 2022 01:17:07 -0700 (PDT) Received: from caleb.strathmore.local ([156.0.232.55]) by smtp.gmail.com with ESMTPSA id j14-20020a05600c190e00b00392910b276csm9307012wmq.27.2022.04.19.01.17.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Apr 2022 01:17:07 -0700 (PDT) From: caleb To: ffmpeg-devel@ffmpeg.org Date: Tue, 19 Apr 2022 11:17:01 +0300 Message-Id: <20220419081701.8021-1-etemesicaleb@gmail.com> X-Mailer: git-send-email 2.34.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec/jpeg2000:fast-fail if HTJ2K codeblocks are present X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: caleb Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --- This patch adds support for detecting Part 15 codeblocks to JPEG2000 specified in (Rec. ITU-T T.814 | ISO/IEC 15444-15). The decoder on detecting Part 15 codeblocks now fails gracefully with a AVERROR_PATCHWELCOME return code libavcodec/jpeg2000.h | 2 ++ libavcodec/jpeg2000dec.c | 9 +++++++++ 2 files changed, 11 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..ef4a653afe 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -521,6 +521,15 @@ 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) { + /* + * HT code-blocks (Rec. ITU-T T.814 | ISO/IEC 15444-15) bit-stream + * Not yet supported in ffmpeg, cannot continue. + */ + av_log(s->avctx, AV_LOG_FATAL, "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 _______________________________________________ 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".