From patchwork Sat Apr 11 06:40:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gautam Ramakrishnan X-Patchwork-Id: 18833 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 20C7744BB90 for ; Sat, 11 Apr 2020 09:40:25 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0A45D68B66E; Sat, 11 Apr 2020 09:40:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 97DB068B1BD for ; Sat, 11 Apr 2020 09:40:18 +0300 (EEST) Received: by mail-pj1-f44.google.com with SMTP id z9so1546479pjd.2 for ; Fri, 10 Apr 2020 23:40:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=kGRNiMK33x5N5sPCT2/P0+qasCk6xI+wWPXIdQuBmlU=; b=erAPILLr2tx8JdXkD82N0SwF7w/fm5YkiO7rHMsujgmwD0zT2RhxdNV/GvBp5QB4Cd iWog4BrHzHp8IhpTZFnSZoz2Y58bT1QtF/7l51YuXgjyOp5gqZeIz9YqjpxJBIwjzc4R UtoKymIIBwbPTyjK2SEjzqrG5c3DBa8kFiv/2euOW+akXdFz5iFLvp6tM5KyBfdxSRQJ wm8rgh0IP9UU+Rhfimd9J6zVrjpAX1vmZgBKu0TrMKrbZSCtKQO8HmTZaL2spBv8DhzP beRWuN6riAnk7f1z+5/WSoOztif42eL5pJVnvo8bOyTMbndjZ49rdZ4aLP6OuCFLaRym HprQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=kGRNiMK33x5N5sPCT2/P0+qasCk6xI+wWPXIdQuBmlU=; b=EVRbfAiTmX84eNlW9wD2KwWLIL4nVxL1I8mS8HWD5KiqSLHy66zs1D0NezfweYt0uR dohNPpH1kinvQ7xfRo+hlHpUDd8uXV+CVtb9J9m5RtdkpugvS8/87hcyU2D3/fxjEwA1 AULrCNq3Shxwj3BqmyZu7jetQPvxxFWEuHWfPhgvxQ0m5XqhfK7g4addp9J32PgA3cbd 1dG5iD2fEO+GUW/fkqvJZ7bCBqjh+mKjvrZd9jRzbmYKW5q+Zxc+2RHCP0On9KepX/dP 1JY/DNIMyby37uWm6BI+P72+CggaeYrNnWMjFIbaUdPp9asUwOCB/r/Y8MUTeiI+nufT Bhqw== X-Gm-Message-State: AGi0PubsaKvX4vmYe2gQ8JwFm5HlOHUhoipF8CbAQ3fKOfX4NmiOx9+b 4oehDD4kibhUjJEMhjCv2Yag1seSg1U= X-Google-Smtp-Source: APiQypI99i7p6vXKLOdg2fFVNkkF7rmJgOr5PTIGa62ctsKmgFsGMJOEzDM0ZEZvsBRnKufgrKHyfA== X-Received: by 2002:a17:90a:1954:: with SMTP id 20mr9938381pjh.106.1586587216652; Fri, 10 Apr 2020 23:40:16 -0700 (PDT) Received: from localhost.localdomain ([223.235.255.212]) by smtp.gmail.com with ESMTPSA id 13sm3382019pfn.131.2020.04.10.23.40.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2020 23:40:16 -0700 (PDT) From: gautamramk@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Apr 2020 12:10:08 +0530 Message-Id: <20200411064009.5321-2-gautamramk@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200411064009.5321-1-gautamramk@gmail.com> References: <20200411064009.5321-1-gautamramk@gmail.com> Subject: [FFmpeg-devel] [PATCH 2/3] libavcodec/jpeg2000dec.c: fix error in cod marker X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: Gautam Ramakrishnan MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Gautam Ramakrishnan This patch fixes an error where the COC marker overrides all data of the SPcod field of the COD marker. It must override only one bit of SPcod field. This now allows p0_08.j2k to be decoded correctly (mentioned in #4679). --- libavcodec/jpeg2000dec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index 2f6bdeb6e0..e7841a65b1 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -566,6 +566,7 @@ static int get_coc(Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c, uint8_t *properties) { int compno, ret; + uint8_t has_eph; if (bytestream2_get_bytes_left(&s->g) < 2) { av_log(s->avctx, AV_LOG_ERROR, "Insufficient space for COC\n"); @@ -582,7 +583,9 @@ static int get_coc(Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c, } c += compno; + has_eph = c->csty & JPEG2000_CSTY_EPH; c->csty = bytestream2_get_byteu(&s->g); + c->csty |= has_eph; //do not override eph present bits from COD if ((ret = get_cox(s, c)) < 0) return ret;