[FFmpeg-devel] [PATCH] Request for adding XPSNR avfilter

Paul B Mahol onemda at gmail.com
Wed Jan 11 13:53:24 EET 2023


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".
>>
>


More information about the ffmpeg-devel mailing list