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 <ceffm...@gmail.com> 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
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel