From patchwork Tue Aug 20 13:37:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: velocityra@gmail.com X-Patchwork-Id: 14616 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 1162D4481F9 for ; Tue, 20 Aug 2019 16:38:38 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F11E268AB40; Tue, 20 Aug 2019 16:38:37 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f68.google.com (mail-wm1-f68.google.com [209.85.128.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2BA9C68A297 for ; Tue, 20 Aug 2019 16:38:33 +0300 (EEST) Received: by mail-wm1-f68.google.com with SMTP id 10so2654465wmp.3 for ; Tue, 20 Aug 2019 06:38:33 -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=7VdHg6KXLvKuSPSJn4xwApdC/WXT3WIH0w8GmLKgO2Q=; b=l5RFWEkO/eTvSlxwTAhS3eFreeLJqDSoAnuhug2kKubpOeC+tazn0fMSxGVzYk8lzA jQekCEj9H/x2lrIBjZfqlmiSxEbIB4LF5yISj0IKMrRTTZwyTB253fOvq7ia6i3VJRpM 0iiHx/jZRwLJwpa1Z8J2eUHTiI7Q0OaXelpMAIe2Rc/bCyuUdEnwB//xjJf0QPzxl91E BHSlExZGEQPhXY+5Dbz38926MImImGrnEmh0Wah7SLkSs5cGvMENmD0WVHTtdWZCyKjo tTx4xpufifnI6uOO53HmmglaG/kIs6tnzQZldNvut+Doyt+i7/ECBMLSVGVbY2DtZuEJ /qwg== 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=7VdHg6KXLvKuSPSJn4xwApdC/WXT3WIH0w8GmLKgO2Q=; b=ZfAWBb2IBpAqhQgt1cRN7iSctHddGOkidVCobdmLMoahigwCxzxUXyqy43gnaw+EVV Cv15Wx71Dca9zU5S4zXi+9WV84088Kyey7JEI7DyYu5pgqOUA6nh+DJu2Uvf+JPieoWq GqaV6NetTjr9u5xDkM2cvn4YBY6Ifp/bAbIhGwORiYvI7e66eC0GIr4AK4xpzuXjluvJ aTIp6HrVTT5ma+y/SeVSvUwxGT8evTfHDTHeS1D2Nefb1Hpnlh+ooIq+o59w+KoFvxrv RtIiVE/mtbk0LjmMDcuxmICc+IpzdhEZmE7dYYSIcqyAksDb9TXOPueyo+ma5OkktEMM xVQA== X-Gm-Message-State: APjAAAVAnlZyUJ7GhphHAR5dGuYysUyC9F46jb7VlDQSU/kRHWObrtrr pkdDpznZVJQCAp0V/bG2LiL36drT X-Google-Smtp-Source: APXvYqw3n/+KKvBnMKy2tUkhurgIIV2t5BfZ7JaV/LVZbStYJD/SJ+4z1HUybD4j3UpCoFNy0ERhEA== X-Received: by 2002:a1c:ca09:: with SMTP id a9mr35459wmg.43.1566308312343; Tue, 20 Aug 2019 06:38:32 -0700 (PDT) Received: from localhost.localdomain (ppp-94-66-223-133.home.otenet.gr. [94.66.223.133]) by smtp.gmail.com with ESMTPSA id t14sm11545882wrs.58.2019.08.20.06.38.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Aug 2019 06:38:31 -0700 (PDT) From: Nick Renieris To: ffmpeg-devel@ffmpeg.org Date: Tue, 20 Aug 2019 16:37:44 +0300 Message-Id: <20190820133747.30983-12-velocityra@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190820133747.30983-1-velocityra@gmail.com> References: <20190811144542.11704-13-velocityra@gmail.com> <20190820133747.30983-1-velocityra@gmail.com> Subject: [FFmpeg-devel] [PATCH v15 12/15] lavc/mjpegdec: Skip unknown APPx marker on bayer images 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: Nick Renieris MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Samples: - Embedded JPEG images in the DNG images here: https://www.photographyblog.com/previews/pentax_k1_photos Signed-off-by: Nick Renieris --- libavcodec/mjpegdec.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 0a920a7144..1f2fabe2df 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -1807,8 +1807,15 @@ static int mjpeg_decode_app(MJpegDecodeContext *s) int len, id, i; len = get_bits(&s->gb, 16); - if (len < 6) - return AVERROR_INVALIDDATA; + if (len < 6) { + if (s->bayer) { + // Pentax K-1 (digital camera) JPEG images embedded in DNG images contain unknown APP0 markers + av_log(s->avctx, AV_LOG_WARNING, "skipping APPx (len=%"PRId32") for bayer-encoded image\n", len); + skip_bits(&s->gb, len); + return 0; + } else + return AVERROR_INVALIDDATA; + } if (8 * len > get_bits_left(&s->gb)) return AVERROR_INVALIDDATA;