From patchwork Wed Jun 13 12:24:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carl Eugen Hoyos X-Patchwork-Id: 9386 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:11c:0:0:0:0:0 with SMTP id c28-v6csp569709jad; Wed, 13 Jun 2018 05:24:24 -0700 (PDT) X-Google-Smtp-Source: ADUXVKL3XFVga7oPHaRNMwqicKlXGjm7c0iNtlFpLSY2gLi7egJZ9bb8x4MfzD+QGtY7GG9s2DxM X-Received: by 2002:adf:a0ee:: with SMTP id n43-v6mr4219853wrn.23.1528892664809; Wed, 13 Jun 2018 05:24:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528892664; cv=none; d=google.com; s=arc-20160816; b=wH24Sbe+FOwH55yYn3ilcmh0ntpeLQBtKXU5bIy+yH3paWq/KnMyIodI/tnO6NSv65 43T5tkrGGMBg5GqnhEph65SdjBudpmmeI3v/k06IKIEEk6kCQp4gT9J05fLeXjNQL6iZ 0Q4XVCc1QqWv3/LPAIJijKrWAuhDPoP4irV7bKoyjApzJ9ieFqodyAUb2D0vzXL+A4DF +zESjR3/eWpUi5vmm5Ir6nfxtkl+JbFW2NkBRitoLBsWndcsNH3KwnUjpbVFrDzvtrHH JwGGu8Y4DFRBVwwGsQnoR0zg8HVXPRGNkM/n/ekbcmOqKaIheVtn/BzrnKqLv5xg7xdr P4IA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:to :message-id:date:from:mime-version:dkim-signature:delivered-to :arc-authentication-results; bh=esUnjAZ4o2xPYmpejp/4CJC60AnwQU9rJneBW+1d/OI=; b=AEAk3AHKmRpRejbr7574U37skmVf8e+PwYG6SNlCQvABpOxSdDWINloXtW7rrxMIrV bY5gKDaufUW32ue2xjdJuFfD3RqVQa3s/j3WdvBm3iOW/oXlcOOJIEGlxoWjHiwDdl3L kEn4zDpSlhYLvIgMuhHCSN/8x5NRIIkMRPevJa/eM7jmXc50Dc8M9CC7gucKhNDNOwI9 VOce1KOgMmZrWWYpUKpeUBd8ACyFpbdBPIME5l8+IBRcyHuTHWYx27/EPWBnP7c95VGV gwTIFn0Vsxbj13qW1TV0XBaqoHLXTzbRSUgz7RbMaTg3VXgTrNYqo0i5KuFeZSFA1Yye S84A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=eNoBjzGW; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id f185-v6si1937832wmg.154.2018.06.13.05.24.24; Wed, 13 Jun 2018 05:24:24 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=eNoBjzGW; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 368E168B09A; Wed, 13 Jun 2018 15:23:32 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-it0-f47.google.com (mail-it0-f47.google.com [209.85.214.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 15E6868B086 for ; Wed, 13 Jun 2018 15:23:25 +0300 (EEST) Received: by mail-it0-f47.google.com with SMTP id n7-v6so3435135itn.1 for ; Wed, 13 Jun 2018 05:24:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=tTr3decg0TH0RLvNfaJ+RRfvUPirCLhNoyOi4ydlPjI=; b=eNoBjzGWnrcqKFvQU/VbPiE4VMHFJFLqCtmdmp8fydyMEK/8wnT14qY506c2EMmzNv 9jJXr7doue6JDcnnU6Y9pCwl+Zfn1LWzeOno5kmjIIIeo47llumvtn7hvlffiHNFK3is eIqAQLhvTT8a78n7oAGawrkQFCiDSXHyDNiY2Uyo9fYJo/GtCo3PwPylINZsTVSbgJK+ 0JtHriRPZOFLSfOI1pZC3XnGZ54CkbMB3vQKvW/jsLAGApikV8DghxoXmOnlG5MQVpPX q7xRMB9vcrwH6wQlIrBVYgfnJnlvGzFNrsdJka+TrTvjUNDIrGnqZn/MoZX9009IFI+B eoNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=tTr3decg0TH0RLvNfaJ+RRfvUPirCLhNoyOi4ydlPjI=; b=dmzOn/rCorGa2P4PpqgUJT+VUF/4aClqBWSwdHVHVc17Ddltd/38OBZLb6PItCL3hV t3AThKnpG7fQCA+Ad+sHOhGzKoNhqXanIRFZ+rtNUn1VoqubP5Ovs+HqSWLkEX+GBfAC XkAmOjawcgIt2jlwXc/4TFB9gyL3ppIsxOlsxqhfp/jN31BPMuVb+qG+KX66IdLjUscf gZBYm/8cKxTRp2FFS+PymVnnXBlvEfCWkgxOpAND9baV917LXGxyQCscAUikTGb2Xqlq j0HETt+Kw5W7fMsWlwW3yz6IyBRXua0zoSI78bQ4RU5wmK5YOuGkWQqtp6W8Y1lGXAl7 6KdA== X-Gm-Message-State: APt69E07wx8QyFOLHXVpCDKo7MJrQiIVxXHtm0q7DYZPqMahAeAWhLF6 NqOI6hbg8LIWEVzyPdwMFqebw11jSu8q/BktkxQ= X-Received: by 2002:a24:f502:: with SMTP id k2-v6mr4628853ith.1.1528892653717; Wed, 13 Jun 2018 05:24:13 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a02:b09b:0:0:0:0:0 with HTTP; Wed, 13 Jun 2018 05:24:12 -0700 (PDT) From: Carl Eugen Hoyos Date: Wed, 13 Jun 2018 14:24:12 +0200 Message-ID: To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH]lavc/dpx: Reset n_datum for every line when decoding 12bit. 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Hi! Attached patch fixes decoding of two files (width 999) that Piotr kindly provided, uploaded to http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket5639/ Please comment, Carl Eugen From 1b78ea4615522fa0dc4f8e4df422cfd26916c134 Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Wed, 13 Jun 2018 14:19:45 +0200 Subject: [PATCH] lavc/dpx: Reset n_datum for every new line when decoding 12bit. Fixes odd unpacked 12bit decoding. --- libavcodec/dpx.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/dpx.c b/libavcodec/dpx.c index fb388b6..e9f0e05 100644 --- a/libavcodec/dpx.c +++ b/libavcodec/dpx.c @@ -234,10 +234,10 @@ static int decode_frame(AVCodecContext *avctx, case 12: if (!packing) { int tested = 0; - if (descriptor == 50 && endian && (avctx->width%8) == 0) { // Little endian and widths not a multiple of 8 need tests + if (descriptor == 50 && endian) { // Little endian needs tests tested = 1; } - if (descriptor == 51 && endian && (avctx->width%2) == 0) { // Little endian and widths not a multiple of 2 need tests + if (descriptor == 51 && endian) { // Little endian needs tests tested = 1; } if (!tested) { @@ -422,6 +422,7 @@ static int decode_frame(AVCodecContext *avctx, &n_datum, endian); } } + n_datum = 0; for (i = 0; i < elements; i++) ptr[i] += p->linesize[i]; // Jump to next aligned position -- 1.7.10.4