Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Paul B Mahol <onemda@gmail.com>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: "Stoffers, Christian" <christian.stoffers@hhi.fraunhofer.de>
Subject: Re: [FFmpeg-devel] [PATCH] Request for adding XPSNR avfilter
Date: Wed, 11 Jan 2023 19:33:53 +0100
Message-ID: <CAPYw7P4wmt9tgxOe=KPE6b8tgbQEVo7xTTVwqHs3Hym_MbZ-KQ@mail.gmail.com> (raw)
In-Reply-To: <b54ae1386c664c7da7b5f4caa03793f1@hhi.fraunhofer.de>

On 1/11/23, Helmrich, Christian <christian.helmrich@hhi.fraunhofer.de> wrote:
> Hi,
>
>
>> Also please fix style of code, ... example vf_psnr.c filter ... "for ()
>> {\n" instead of "for () \n{\n}"
>
>
> Done, I aligned block encapsulation, indentation, and some other things with
> those in vf_psnr.c
>
>
>> Compare clang compiled ffmpeg without this asm code and with it, and tell
>> if any difference.
>
>> I'might do it anyway later.
>
> Strange, the asm code is now only barely (a few percent at most) faster than
> the C-loop code on
> our side. Maybe the compilers or CPUs have improved since we last tested?
> Anway, we decided
> to make a new patch without the asm file, but keep the function pointers in
> case we manage to
> write better SIMD for the highds, diff1st, and diff2nd function later (for a
> smaller patch then).
>
> I prepared a new avfilter_xpsnr_v2.patch. Do I need to change the email
> (thread) title somehow
> so that a new pipeline is being triggered?

Not needed, just attach patch with proper authorship, made with git
format-patch.

>
>
> Best,
>
>
> Christian Helmrich
>
> Fraunhofer HHI, Video Coding and Analytics Department
>
>
> ________________________________
> Von: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> im Auftrag von Paul B
> Mahol <onemda@gmail.com>
> Gesendet: Mittwoch, 11. Januar 2023 12:53
> An: FFmpeg development discussions and patches
> Cc: Stoffers, Christian
> Betreff: Re: [FFmpeg-devel] [PATCH] Request for adding XPSNR avfilter
>
> On 1/11/23, Paul B Mahol <onemda@gmail.com> wrote:
>> On 1/11/23, Helmrich, Christian <christian.helmrich@hhi.fraunhofer.de>
>> wrote:
>>> Hi,
>>>
>>>
>>>> So its better to use that instead of human written assembly? Does clang
>>>> generate faster code without this asm?
>>>
>>>
>>> I'm not sure I fully understand your questions, but I hope the following
>>> answers it. The reason why we auto-converted our intrinsics code to asm
>>> is
>>> not a technical one, we unfortunately just don't have the knowledge or
>>> resources to manually write asm code. If I remember correctly, the SIMD
>>> optimized code runs about twice as fast as the C code, especially on UHD
>>> input.
>>
>> Compare clang compiled ffmpeg without this asm code and with it, and
>> tell if any difference.
>> I'might do it anyway later.
>
> Also please fix style of code, look at other filters in codebase, for
> example vf_psnr.c filter
>
> Use "for () {\n" instead of "for () \n{\n}"
>
>>
>>>
>>>
>>>> Please remove SLICE_THREADS related flag as there is no call to execute
>>>> to
>>>> filter in slices. Please remove stdbool.h header and adapt code to
>>>> compile
>>>> without it.
>>>
>>>
>>> Done, please find attached a second version (v1) of the XPSNR avfilter
>>> patch.
>>>
>>>
>>> Thanks and best,
>>>
>>>
>>> Christian Helmrich
>>>
>>> Fraunhofer HHI, Video Coding and Analytics Department
>>>
>>>
>>> ________________________________
>>> Von: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> im Auftrag von Paul
>>> B
>>> Mahol <onemda@gmail.com>
>>> Gesendet: Dienstag, 10. Januar 2023 21:43
>>> An: FFmpeg development discussions and patches
>>> Cc: Stoffers, Christian
>>> Betreff: Re: [FFmpeg-devel] [PATCH] Request for adding XPSNR avfilter
>>>
>>> On 1/10/23, Helmrich, Christian <christian.helmrich@hhi.fraunhofer.de>
>>> wrote:
>>>> Hi,
>>>>
>>>> please find attached a patch (relative to FFmpeg master as of early
>>>> January
>>>> 10, 2023)
>>>> adding avfilter support for extended perceptually weighted peak
>>>> signal-to-noise ratio
>>>> (XPSNR) measurements for videos, as described in the related addition
>>>> to
>>>> filters.texi.
>>>>
>>>> The XPSNR code was originally vectorized using SIMD intrinsics, but we
>>>> concluded that
>>>> FFmpeg code requires asm instead of such intrinsics, so we let gcc
>>>> auto-convert these
>>>
>>> So its better to use that instead of human written assembly?
>>> Does clang generate faster code without this asm?
>>>
>>>> instructions to pure assembly; see the vf_xpsnr.asm file. If the added
>>>> asm
>>>> code is too
>>>> lengthy, intrinsics would be possible, or something else is missing,
>>>> please
>>>> let us know.
>>>>
>>>
>>> Please remove SLICE_THREADS related flag as there is no call to
>>> execute to filter in slices.
>>> Please remove stdbool.h header and adapt code to compile without it.
>>>
>>>> Best,
>>>>
>>>> Christian Helmrich and Christian Stoffers
>>>> Fraunhofer HHI
>>>>
>>> _______________________________________________
>>> 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".
>>>
>>
> _______________________________________________
> 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".
> _______________________________________________
> 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".
>
_______________________________________________
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".

  reply	other threads:[~2023-01-11 18:34 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-10 19:39 Helmrich, Christian
2023-01-10 20:43 ` Paul B Mahol
2023-01-11 11:42   ` Helmrich, Christian
2023-01-11 11:48     ` Paul B Mahol
2023-01-11 11:53       ` Paul B Mahol
2023-01-11 16:53         ` Helmrich, Christian
2023-01-11 18:33           ` Paul B Mahol [this message]
2023-01-11 19:15             ` Helmrich, Christian
2023-01-17 13:46               ` Helmrich, Christian

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPYw7P4wmt9tgxOe=KPE6b8tgbQEVo7xTTVwqHs3Hym_MbZ-KQ@mail.gmail.com' \
    --to=onemda@gmail.com \
    --cc=christian.stoffers@hhi.fraunhofer.de \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git