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 CC8EE411B2 for ; Wed, 14 Sep 2022 16:52:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id DE5FB68BB3E; Wed, 14 Sep 2022 19:52:31 +0300 (EEST) Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B190168B9BF for ; Wed, 14 Sep 2022 19:52:25 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1663174345; bh=Vno+4sFyBZHY6T9cqrKxQFT5SQ6T26Atk56uUxy6Xak=; h=X-UI-Sender-Class:From:To:References:In-Reply-To:Subject:Date; b=XLm8qK5EerTkKZ/ZojKX2DGXFEY+1N0qw2/Rnj/pDrqNXUmwF/X7iHsnm2x2ay0eR qq9DFZhI/y2rv8GQ6g7sjYzTiC8tRYjivfUOVW/kziep8FjhyIcaIz0sSOiBoHVtrE E+1tXuxU8C0habBG5j+vzi/XXlaLAPQZdwiroSZ0= 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 1N6KYl-1pNeDJ3wk5-016fv4 for ; Wed, 14 Sep 2022 18:52:25 +0200 From: To: "'FFmpeg development discussions and patches'" References: <032c01d8c855$10d7c0a0$328741e0$@gmx.de> In-Reply-To: Date: Wed, 14 Sep 2022 18:52:24 +0200 Message-ID: <033b01d8c85a$5d741490$185c3db0$@gmx.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_033C_01D8C86B.21043790" X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQLvgm5DaE9/ztsKzuYTZobgWK3F1wJjX+7Vq56UntA= Content-Language: en-us X-Provags-ID: V03:K1:8AKwcW3efZdegNMuPzDODQU+3uKVr7tu9lekHy/pCqOLi9ZqXRu A/q+DqpsRauwBbKhY2yr7vQk5YLtGAmLROIhdcgSog0asAQ1gVfS6xow/xIcZBCvRAXdwU3 VA9g6ts6NLFf4MbmkZqHVQFNBwzrkhkvtxv9kfUSOUCd4bUf1py74TfLw82M1AXC9BQarWC cRzxqXr8Mdtg4Ngf6zi+g== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:M78Wg6e6l7M=:V+LcYWYuG5HGinVkm4Shxv pwtbo50jInV1XkD2DUsc/tqcvt88ZnpN0oNoRvOiU90zOkvzQuh5fDWl7axLGIFBdnttbMLDt YTd4yKixkLi+F5kxCdho6kStZtTo/zLHf3D59F4aJj0sEBnEEp2Cnyn/QbC1bP5E/h6obspqR Be46mcGufiJteexihusADMTgQ4rGwpi3DLS38WJHzVwLW+jc6GLktgk1ZhztZB2MmaFhOypOZ hz+N+hw5mYNsJMyDeKk8giIDFbj2qcBxBH/Mk9D8QBv/JqPHf7bKcwpZvsdQZrJHvsZ30rEDI zn7xZXH7j3/uRw0xJxSPq7sWnd1fDmziEjXBRUInZC97RjQrr0nsZ/69+XtdznePpxOKiskw4 KvFJTObF6GdckuwELavmTfg4LwECCH1bvdEi5xoTzokpsIiKZj9pqggxrTYX1UEWukUaFaMXH ho48oGVydp9zCdMycSmuzcm6plxugkWeX27qVo5mOEkU+9PrzB3OzdU1FwzslR5G4GbLn01cX 4fD+hXDwV3x1CmVCOMPCTUd6lfLnjs9ptSTTw6RmiW1i3TJrKXG1jhrIiIok5t9sTcYw4Ba6F 41AHrrISZrJLRr2TvOGYQoCbNVjbacOEsC0PMNR4RgVuyuZIRUEb3DLe03FwxYY9BApsRcXhV x3rfl+2kJvfUXq1AQ8RVMzTgDkIvolx0C8xyIlZwxSvGv7Eajd1E3+VDCglSZ5064dhwGTlZW Ip9wtu6xZmRkoW2SOVtDD9AZjk2waV+4+XWi3asDNFUbU9cZghvM0p6oFFqdVsmURhnFpQiqr PNG572sPKHTf7u1LeBg9EuOAXunmpIFqYE202onELAK66F2MbGxtsNuPplHhamff1iv5RkyRb Hhnml/l3BMm+ymhcVQ7XWZSrTa5IIJ6/K451DIP1xvIjzp0fiF7Rqr80Ia7pP1xDJsq0YrV08 Pcpm+m34FuSEbWr4A+F6KexiW/0Vws75H4qXFEWqMNI3Ghj6kEd/kTnpSJ5RkP8jodNqAf4P/ nkyKnMoNjLhQxyQWlbI9paqei9uWO5p+AY8PFpcZHh5SNfCcjEzTPzp0aMUUDy1qC3X42rYti zrdTX+KlHeBRn07A0N2/WVBF+Us+vYKdw1ASUmBFsJ0ZARu3L7RjLI2zDx0VuGpD2wgKzn4aC F2JGIS6VoHLCw/AjoHxrSfqdF0 Subject: Re: [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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This is a multipart message in MIME format. ------=_NextPart_000_033C_01D8C86B.21043790 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Sure. sorry for that. Please find attached the patch file. -----Original Message----- From: ffmpeg-devel On Behalf Of Paul B = Mahol Sent: Wednesday, September 14, 2022 18:49 To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] Bug in VMAF calculation for 10 bit = comparison On 9/14/22, christian.feldmann@gmx.de wrote: > Hi, > > I was debugging some VMAF calculation in ffmpeg when I stumbled on=20 > this bug in the latest master commit=20 > (9450f759748d02d1d284d2e4afd741cb0fe0c04a). Its in=20 > libavfilter/vf_libvmaf.c::109. The function copy_picture_data does=20 > only work correctly for 8 bit input. For 10 bit input, only half of=20 > the width of the input picture is copied. But for 10 bit inputs, 2 = bytes per pixel must be copied. Please see this patch: > > Patch is messed up, please either attach it as attachment or provide it = in some other way. > > 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=20 > AVPixelFormat av_pix_fmt) > > static int copy_picture_data(AVFrame *src, VmafPicture *dst, unsigned = > bpc) > > { > > + const int bytes_per_value =3D bpc > 8 ? 2 : 1; > > int err =3D 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,=20 > VmafPicture *dst, unsigned bpc) > > uint8_t *src_data =3D src->data[i]; > > uint8_t *dst_data =3D dst->data[i]; > > for (unsigned j =3D 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 +=3D src->linesize[i]; > > dst_data +=3D 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=20 > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ 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". ------=_NextPart_000_033C_01D8C86B.21043790 Content-Type: application/octet-stream; name="0001-Copy-all-values-also-for-10-bit-input.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0001-Copy-all-values-also-for-10-bit-input.patch" >From 6d027aa9d022eee90adc2095409f0ad37efcdeb9 Mon Sep 17 00:00:00 2001=0A= From: Christian Feldmann =0A= Date: Wed, 14 Sep 2022 18:05:50 +0200=0A= Subject: [PATCH] Copy all values also for 10 bit input=0A= =0A= ---=0A= libavfilter/vf_libvmaf.c | 3 ++-=0A= 1 file changed, 2 insertions(+), 1 deletion(-)=0A= =0A= diff --git a/libavfilter/vf_libvmaf.c b/libavfilter/vf_libvmaf.c=0A= index eee1c280ef..8d5ba4e2d5 100644=0A= --- a/libavfilter/vf_libvmaf.c=0A= +++ b/libavfilter/vf_libvmaf.c=0A= @@ -108,6 +108,7 @@ static enum VmafPixelFormat pix_fmt_map(enum = AVPixelFormat av_pix_fmt)=0A= =0A= static int copy_picture_data(AVFrame *src, VmafPicture *dst, unsigned = bpc)=0A= {=0A= + const int bytes_per_value =3D bpc > 8 ? 2 : 1;=0A= int err =3D vmaf_picture_alloc(dst, pix_fmt_map(src->format), bpc,=0A= src->width, src->height);=0A= if (err)=0A= @@ -117,7 +118,7 @@ static int copy_picture_data(AVFrame *src, = VmafPicture *dst, unsigned bpc)=0A= uint8_t *src_data =3D src->data[i];=0A= uint8_t *dst_data =3D dst->data[i];=0A= for (unsigned j =3D 0; j < dst->h[i]; j++) {=0A= - memcpy(dst_data, src_data, sizeof(*dst_data) * dst->w[i]);=0A= + memcpy(dst_data, src_data, bytes_per_value * dst->w[i]);=0A= src_data +=3D src->linesize[i];=0A= dst_data +=3D dst->stride[i];=0A= }=0A= -- =0A= 2.25.1=0A= =0A= ------=_NextPart_000_033C_01D8C86B.21043790 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". ------=_NextPart_000_033C_01D8C86B.21043790--