[FFmpeg-devel] [PATCH 1/2] x86/vf_w3fdif: move pxor outside the loop in w3fdif_complex_low

James Almer jamrial at gmail.com
Sun Oct 11 19:25:32 CEST 2015


On 10/11/2015 1:28 PM, Paul B Mahol wrote:
> On 10/11/15, James Almer <jamrial at gmail.com> wrote:
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>>  libavfilter/x86/vf_w3fdif.asm | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/libavfilter/x86/vf_w3fdif.asm b/libavfilter/x86/vf_w3fdif.asm
>> index 988b847..f02319b 100644
>> --- a/libavfilter/x86/vf_w3fdif.asm
>> +++ b/libavfilter/x86/vf_w3fdif.asm
>> @@ -65,11 +65,12 @@ cglobal w3fdif_simple_low, 4, 5, 6, 0, work_line,
>> in_lines_cur0, coef, linesize,
>>      jg .loop
>>  REP_RET
>>
>> -cglobal w3fdif_complex_low, 4, 7, 7, 0, work_line, in_lines_cur0, coef,
>> linesize
>> +cglobal w3fdif_complex_low, 4, 7, 8, 0, work_line, in_lines_cur0, coef,
>> linesize
>>      movq                  m0, [coefq]
>>      DEFINE_ARGS    work_line, in_lines_cur0, in_lines_cur1, linesize,
>> offset, in_lines_cur2, in_lines_cur3
>>      pshufd                m2, m0, q1111
>>      SPLATD                m0
>> +    pxor                  m1, m1
>>      mov              offsetq, 0
>>      mov       in_lines_cur3q, [in_lines_cur0q+gprsize*3]
>>      mov       in_lines_cur2q, [in_lines_cur0q+gprsize*2]
>> @@ -79,17 +80,16 @@ cglobal w3fdif_complex_low, 4, 7, 7, 0, work_line,
>> in_lines_cur0, coef, linesize
>>  .loop:
>>      movh                                   m4, [in_lines_cur0q+offsetq]
>>      movh                                   m5, [in_lines_cur1q+offsetq]
>> -    pxor                                   m1, m1
>>      punpcklbw                              m4, m1
>>      punpcklbw                              m5, m1
>> -    SBUTTERFLY                             wd, 4, 5, 3
>> +    SBUTTERFLY                             wd, 4, 5, 7
>>      pmaddwd                                m4, m0
>>      pmaddwd                                m5, m0
>>      movh                                   m6, [in_lines_cur2q+offsetq]
>>      movh                                   m3, [in_lines_cur3q+offsetq]
>>      punpcklbw                              m6, m1
>>      punpcklbw                              m3, m1
>> -    SBUTTERFLY                             wd, 6, 3, 1
>> +    SBUTTERFLY                             wd, 6, 3, 7
>>      pmaddwd                                m6, m2
>>      pmaddwd                                m3, m2
>>      paddd                                  m4, m6
>> --
>> 2.6.0
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
> 
> fine if it still works on x32.

8 xmm regs, so yes.

Pushed, thanks.



More information about the ffmpeg-devel mailing list