From patchwork Sat Mar 28 04:19:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gautam Ramakrishnan X-Patchwork-Id: 18451 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 A44FF44B8FF for ; Sat, 28 Mar 2020 06:19:48 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8569268B882; Sat, 28 Mar 2020 06:19:48 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 21BCC68B879 for ; Sat, 28 Mar 2020 06:19:41 +0200 (EET) Received: by mail-pl1-f170.google.com with SMTP id d24so437316pll.8 for ; Fri, 27 Mar 2020 21:19:41 -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=8yTUF/tpM9gxj+GxIQ+sCxzZxVZ13EC0pHHRKkLlK18=; b=qVdlwliLfPNneUEJ1XW4wTwr2xK31dHYclhRgQAs1J8Jz8L2Db2RQDpqUS/qAt2sVL HvP9EDmxJklJ/gCAOk6N5F23G+oC9oVuFpdbdxnKDSrI85XXln0OxgyBhleFvjDIyDNI gXMtcGhfIgDbUWdfS1iYOxTLWhcxoxzp/ZKTPPHZp0xX94TfZnA7bPYqIYxPrDPxl9co +8qNC5Biq5WKYWnyYtx/JkLFBgzm2DSWDvaaAwm17DRe34a+nMj4mGO4DQsBdDIZ3bhR cMsZBkSFyWcRpr3Sti5iXTVmratd3v7K8uoc24u3T66wZdmaW+CiYQySfjE2IV/9gchP qN+Q== 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=8yTUF/tpM9gxj+GxIQ+sCxzZxVZ13EC0pHHRKkLlK18=; b=MMnu0ma3/mtpUfpkBui6riI1s82mpE6gcQs4MFCeNYbaH5LkW3J+w3WrC3KdL9ugF+ jWC6E1QTtlF4YvmbuI7xrEZkeJEbt6tAKjJZB20XWSbZp6xCze2dywlO4CCOHH2ycF7F Gw1rtXrQYL9fjtbUBXLnJH5aPljf6kNaHmt7WkSiEqR5hW75uZ1gJYgVLswFEnJnPcqX YyxpUEL7ELAH/aH/69rtMV4nbOJTSiTKYrLB6sSBnCvhuHVRJmaNaBLogAAq6DaRb83l hk1EmXRavCgMFoCURk579xU7Pt2a2iRX3q1pNle2Lymy1D3hN4iniooebJhityV7zRbU KKtw== X-Gm-Message-State: ANhLgQ1l0TWUUcu1IgzgQxhLGPALb7MEQW4WWQvsCeCyIdP0RWiioN4o knQJiw23E4Ce3XqStJ30aiERF5k7Kvw= X-Google-Smtp-Source: ADFU+vvVLFS8yvRGCGTT21Y19C1iW0wRqt1iDKq/v62FvKr2uvcStVRfHnrDmNyiDnO9BJ9taZsMjg== X-Received: by 2002:a17:902:107:: with SMTP id 7mr2225374plb.302.1585369179253; Fri, 27 Mar 2020 21:19:39 -0700 (PDT) Received: from localhost.localdomain ([223.235.255.212]) by smtp.gmail.com with ESMTPSA id h4sm5008191pgk.72.2020.03.27.21.19.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Mar 2020 21:19:38 -0700 (PDT) From: gautamramk@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Sat, 28 Mar 2020 09:49:19 +0530 Message-Id: <20200328041919.3024-3-gautamramk@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200328041919.3024-1-gautamramk@gmail.com> References: <20200328041919.3024-1-gautamramk@gmail.com> Subject: [FFmpeg-devel] [PATCH v3 3/3] libavcodec/jpeb2000dec.c: Handle non EOC streams 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 allows decoding of j2k streams which do not have an EOC marker. OpenJPEG implements a similar check. --- libavcodec/jpeg2000dec.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index 44b3e7e41b..99fcb2cf68 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -2076,8 +2076,9 @@ static int jpeg2000_read_main_headers(Jpeg2000DecoderContext *s) len = bytestream2_get_be16(&s->g); if (len < 2 || bytestream2_get_bytes_left(&s->g) < len - 2) { - av_log(s->avctx, AV_LOG_ERROR, "Invalid len %d left=%d\n", len, bytestream2_get_bytes_left(&s->g)); - return AVERROR_INVALIDDATA; + av_log(s->avctx, AV_LOG_WARNING, "Invalid len %d left=%d\n", len, bytestream2_get_bytes_left(&s->g)); + av_log(s->avctx, AV_LOG_WARNING, "Stream does not end with EOC.\n"); + return 0; } switch (marker) {