[FFmpeg-devel] [PATCH 3/3] lavfi/motion_estimation: use pixelutils API for sad.

Marton Balint cus at passwd.hu
Fri Jul 13 11:51:00 EEST 2018



On Thu, 12 Jul 2018, mypopy at gmail.com wrote:

> On Thu, Jul 12, 2018 at 12:43 AM Marton Balint <cus at passwd.hu> wrote:
>>
>>
>>
>> On Wed, 11 Jul 2018, Jun Zhao wrote:
>>
>> > use pixelutils API for sad in motion estimation.
>>
>> Does it make sense to improve this code? I thought a superior and faster
>> approach was a result of 2017 GSOC task:
>>
>> https://docs.google.com/document/d/1Hyh_rxP1KGsVkg7i7yU8Bcv92z0LIL4r-axpoKfvMFk/edit
>>
>> Maybe that code should be merged back, and any further optimalization
>> should be done based on that code, no?
>>
>> Thanks,
>> Marton
>>
> Hi, Marton:
>
> Yes, now I try to improve the minterpolate, and after use perf
> profiing the commands:
>
> ./ffmpeg -i a.ts -filter_complex
> "minterpolate=mi_mode=mci:mc_mode=aobmc:vsbmc=1" -f null /dev/null
> I found the hotspot is:
> - get_sbad_ob
> - get_sbad
> - get_sad_ob
> - bilateral_obmc
> - set_frame_data
>
> So, as my plan, I will try to use sse2/avx2
> Scatter/Gather, optimized
> sad function (use pixelutils API)
> in  get_sbad_ob /  get_sbad /  get_sad_ob first, for  set_frame_data
> case, maybe need to use Scatter/Gather SIMD instruction.

That is great, all I am saying we should avoid diverging the two brances 
(FFmpeg branch, and GSOC 2017 branch), and try to merge back 
GSOC2017 if it can be done with reasonable amount of work before 
optimizing code, otherwise the GSOC2017 branch will rot and we will lose 
the result of the GSOC task.

>
> But if some guys have done some improve task in this case, I think
> based on the pre-existing work is the better way.

Michael was the mentor, maybe he can chip in on what should be done here.

Thanks,
Marton


More information about the ffmpeg-devel mailing list