From patchwork Fri Apr 10 17:39:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gautam Ramakrishnan X-Patchwork-Id: 18815 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 9FDDD44B6D1 for ; Fri, 10 Apr 2020 21:28:15 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 81C7168B14F; Fri, 10 Apr 2020 21:28:15 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 82F1468AF8D for ; Fri, 10 Apr 2020 21:28:08 +0300 (EEST) Received: by mail-pl1-f194.google.com with SMTP id x2so897986plv.13 for ; Fri, 10 Apr 2020 11:28:08 -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; bh=2D58rVc/zwhlRm9KvK5PNVj5FVrcTqdjhZvxxFpHdRI=; b=GdfkMBNbJHdt8GVXvxn60S04cFBO2ovQ5VDDyRtuOmG65gUcITCEnxcVizg3GCfXrh FDdHysv93rut2FkQOk3tf5CLQRASjagCW8EozZv4xP/QlFJAY9ZibgsvEBHJ0uiIEwyM 5Jzj4j4qkuVjBLspmhYIMof9AY05nVcPNCFmJ9b94Ab3mqaayDiZKWRERvni4noV//0m hsPi9EFybZqJyNX1RaPC2CkYEO9J2ZfKXcZrthtvZZErngwOdkQtxWN+Lpg5NIbWeifg uTefFNggmuu9OArOJW/VQdadkxgt3bFLfkx6aFOT+gA8vW9+ssW9c89Kf6Aq8hqXcN8U gsjA== 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; bh=2D58rVc/zwhlRm9KvK5PNVj5FVrcTqdjhZvxxFpHdRI=; b=Yo8GCqjB322DDFVtisd/+1Sf7nOHSElH9GaS3SuIGWvfmQRrRXqiaeqUQIvomut7c8 lkE8oShK0mdqhhV+BomT2/eV6Ri8PUjLWWmbKzy3Owrgi5EeNt+qsDm2Zp8dQP5iWTkT 0p6VtBRx1NrfJIZ6QbFlueI0GuWQvLVBpkaXsRM70R/nLZG6T/uBadI7rvqXBmBIwpGB HRtDPnVipLSUvnBDvacYEG8GNk8Wx2Y52p22hYg4ylNiWaqwShUjcz3BHO7fsNZj7zuP 5c5QhoR7YEr4Med0Mgb64Nhjrg0S1VB23JxdUXsAps03ycBUfil+/X/vjOeh77YVYSPE 3T4Q== X-Gm-Message-State: AGi0Pua4w+Yp94S8VZ347x3SnmeUyrE8gc6ZI/wC0v3BsHzFf4y8sarP pzaz2a8XdwNsV9jUKfNvXAJW4x+lVf0= X-Google-Smtp-Source: APiQypLW2XE7xCqCyP6gtA9xe9I0CI9+7LNZaRRwc+G7wubBCTz1mQP8fjWMuuM5pbQYcvmDA+CWdA== X-Received: by 2002:a17:902:a70b:: with SMTP id w11mr5949392plq.59.1586540349805; Fri, 10 Apr 2020 10:39:09 -0700 (PDT) Received: from localhost.localdomain ([223.235.255.212]) by smtp.gmail.com with ESMTPSA id h34sm2270778pjb.47.2020.04.10.10.39.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2020 10:39:09 -0700 (PDT) From: gautamramk@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Fri, 10 Apr 2020 23:09:03 +0530 Message-Id: <20200410173903.19636-1-gautamramk@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH] 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 9684e57b34..290589934a 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; if ((ret = get_cox(s, c)) < 0) return ret;