[FFmpeg-devel] Prores encoding optmizations

Håvard Espeland espeland at mixedrealities.no
Mon May 23 14:06:48 CEST 2016


Hi Paul,

> On 23 May 2016, at 13:13, Paul B Mahol <onemda at gmail.com> wrote:
> 
> On 5/23/16, Haavard Espeland <espeland at mixedrealities.no> wrote:
>> Hi guys,
>> 
>> We have been working on Prores Anatoliy optimizations to get the speed up on
>> an embedded x86 platform. Fdct (10bit), scaling and encoding of code words
>> have been optimized with AVX2 instructions, and the performance is increased
>> by roughly 45% for the standard profile Prores 4:2:2 on our machine without
>> any significant PSNR or file size differences from master.
>> 
>> It is written using SIMD intrinsics, and I do understand you have a slightly
>> negative view on instrinsics in ffmpeg, but we do not have the resources to
>> rewrite this in nasm/yasm.
>> 
>> Is there any point in cleaning up this patch for submission, or should we
>> just keep it locally in our tree?
> 
> I would like to see that code.

Please find attached the WIP patch against master. It is not meant for review or as a suggestion for inclusion since it requires significant cleanup / refactoring before that. What I wanted to find out if doing this is worth the effort, i.e., will it be considered for inclusion without a rewrite to asm, which we cannot do now, unfortunately.

Remember to configure with ./configure --extra-cflags=“--march=native” since we haven’t made a proper way to build with intrinsics yet.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: prores_avx2_wip.patch
Type: application/octet-stream
Size: 40430 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160523/cfc59fe8/attachment.obj>
-------------- next part --------------


Best,

Håvard



More information about the ffmpeg-devel mailing list