From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 810534452C for ; Wed, 14 Sep 2022 16:14:38 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E82DB68BB2D; Wed, 14 Sep 2022 19:14:35 +0300 (EEST) Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D67E668B9B8 for ; Wed, 14 Sep 2022 19:14:29 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1663172069; bh=97s2+98AVH0ABmd1xCuhQmTqmufb6FaYv2fHZ4ygUK4=; h=X-UI-Sender-Class:From:To:Subject:Date; b=UgPnk4NaMjsK+jgv8Bk9aqEfnyIuf/aWMIAb91wMwIJbuy9r7VmJeyvfwiKVtwqgN ULEXBy0kj+qHMatnBhaHgKFydoB7SP8+tTC2XbveiaYyibcZF8QAqFvBaARQm8+lcZ 51DOYE76NUzWgytu5VdgeQ3ARYZU0K2hqJiKtByw= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from ChristianDell ([89.16.150.80]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MhlGk-1pBwSC3oK8-00dp7k for ; Wed, 14 Sep 2022 18:14:29 +0200 From: To: Date: Wed, 14 Sep 2022 18:14:27 +0200 Message-ID: <032c01d8c855$10d7c0a0$328741e0$@gmx.de> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AdjIVGLgS/csl2ZaRcOOyJXadabfAg== Content-Language: en-us X-Provags-ID: V03:K1:B5JUaiBx7oq+3uQdq04tZcPE5aLd3h9kxGB9h8I9u4QoWvzGDdR +VEDehtnjLUxzAumT+DvsF1l7dH8llmIsmqLS7i0mTp+R4ACl9XW1iL63cImh9IPZv0V1KB NShCTFY2hKkBrhSYh+xB6D301BBe0OYgPWl+ht60fN4+UnJILsFulu9+2FkSO+U4178uDjw QmdfPMa02ORLHoB6Pn84w== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:nZQ1Zx4FXrc=:zconePlhtRC69qhRTVx5qQ JBxleID0rKa1F8JecTzwTh8d48FC60TpTDnRcMPXWHhOE14TqVdTPURxNJxwSHMXcuJqb4gTD iPl31g0S53/Z83nj71QPHIFrxG2Xi9LTFKLEKOdmf+NUfD43E3xcvpmVqHL3VoRy9CjpFEqrR 7QBiCEQE8PTK0ea9IPz46pvc/2q6G/+oqW3sPvjL+asRwyYV0DS5YHULZ1zG5tnuIWiah7CaQ w0LZxEt8tTpT74+9Dpa+B5Ghk2ytErGYJjJEwDql2+yJm6K3Ly14RC0amFg0F/s5XHAaCJcvF GNT1Np/Cqv7U3rQOR9+FiRIJi6wEpDCsTDIomBUouiiKC0m77rIicgfco+wKqiKaIZGW7P/FV x9k6ADL8k7vUPZu/GUW9qDiL7MQDB+CC2p7CEW/Uk8IYG5+Ku3lo5gzCiTRWA9vgk1nxZyNon WrTPawJSvAnaVqfBzO2TfOvsTH4eHCw9vhxpcyFcFV7nwpNSb41zAME5SRA7zQ4BUIqhz2TWL FkdOr9dve7PFQGbjLrwSsmmqeu3rPKOhJxMOHt2bUjeH/YtdADaTsxlRvY4Mzpi+TQ5tSqGBM PIwQUoI+safMb8uTaKOjqcsoCFJHQBHoWLI2UgwlTdRWQA+utbBmrFCrQIEF0gJWgkRO4u1k5 DHgCwy19wNXJdj+E4zVzMpxNuLAwZbOONPgDciJ2aKHtT+lGxbCPxmKqLW8YHAlpHfyhm9Kfy J0h+Sg4f4A31uEyryXJvXkJ1uVmaQUEZ4qfWPKPrH7pSVwPNrpE4ZDyQf5iTTmdxbSKjdRj4a dtWljd8xlzo0iPXvbeL3JxbtJVLYdJLZKUJRvfxWJUkO0eilgET2uZho8whhJyACfD+nQcuAg W/gLw0Rut/5I7j7CSuVIjpOw5BDt1XCVpT6pEi/9BE7GOKe/jvdkJ4Rxq59zg5dOYZCvV4fj9 DP7hclr5HZwuEr+itGxdo/iTmRu70mWTPfTglZ+NJKWyxZHbzMScuzAsCTRdrHhEu19Coyfnd ybuWEhV7wOi+uN05qAi/oxN0KKe1xD8X8hcNihz2D5HvfzhE/MxtMn36LiT6IcjwOlqi5FGOv RvZ9qaBh0Tvnc3R068ibB4iIpJEF5xIrTjSHNZpkM+SU/H5VAq44s+U9JcaO5dG97YHjAGLbG RnjwreZHsvL0cmnPgqS5NLlK/y X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] Bug in VMAF calculation for 10 bit comparison X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Hi, I was debugging some VMAF calculation in ffmpeg when I stumbled on this bug in the latest master commit (9450f759748d02d1d284d2e4afd741cb0fe0c04a). Its in libavfilter/vf_libvmaf.c::109. The function copy_picture_data does only work correctly for 8 bit input. For 10 bit input, only half of the width of the input picture is copied. But for 10 bit inputs, 2 bytes per pixel must be copied. Please see this patch: libavfilter/vf_libvmaf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_libvmaf.c b/libavfilter/vf_libvmaf.c index eee1c280ef..8d5ba4e2d5 100644 --- a/libavfilter/vf_libvmaf.c +++ b/libavfilter/vf_libvmaf.c @@ -108,6 +108,7 @@ static enum VmafPixelFormat pix_fmt_map(enum AVPixelFormat av_pix_fmt) static int copy_picture_data(AVFrame *src, VmafPicture *dst, unsigned bpc) { + const int bytes_per_value = bpc > 8 ? 2 : 1; int err = vmaf_picture_alloc(dst, pix_fmt_map(src->format), bpc, src->width, src->height); if (err) @@ -117,7 +118,7 @@ static int copy_picture_data(AVFrame *src, VmafPicture *dst, unsigned bpc) uint8_t *src_data = src->data[i]; uint8_t *dst_data = dst->data[i]; for (unsigned j = 0; j < dst->h[i]; j++) { - memcpy(dst_data, src_data, sizeof(*dst_data) * dst->w[i]); + memcpy(dst_data, src_data, bytes_per_value * dst->w[i]); src_data += src->linesize[i]; dst_data += dst->stride[i]; } -- _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".