[FFmpeg-devel] [PATCH] Request for adding XPSNR avfilter
Paul B Mahol
onemda at gmail.com
Wed Jan 11 20:33:53 EET 2023
On 1/11/23, Helmrich, Christian <christian.helmrich at 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 at ffmpeg.org> im Auftrag von Paul B
> Mahol <onemda at 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 at gmail.com> wrote:
>> On 1/11/23, Helmrich, Christian <christian.helmrich at 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 at ffmpeg.org> im Auftrag von Paul
>>> B
>>> Mahol <onemda at 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 at 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 at ffmpeg.org
>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>
>>> To unsubscribe, visit link above, or email
>>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>>>
>>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>
More information about the ffmpeg-devel
mailing list