Re: [FFmpeg-devel] [PATCH 5/5] avfilter/vf_yadif: Add x86_64 avx yadif asm

2022-07-20 Thread Chris Phlipot
g so I can reproduce and fix? - Chris On Wed, Jul 20, 2022 at 6:17 AM Michael Niedermayer wrote: > On Tue, Jul 19, 2022 at 09:41:17PM -0700, Chris Phlipot wrote: > > Add a new version of yadif_filter_line performed using packed bytes > > instead of the packed words used by the current

[FFmpeg-devel] [PATCH v2 5/5] avfilter/vf_yadif: Add x86_64 avx yadif asm

2022-07-20 Thread Chris Phlipot
limited ROI, as most AVX users are likely on 64-bit OS at this point and 32-bit users would lose out on most of the performance benefit. Signed-off-by: Chris Phlipot --- libavfilter/x86/Makefile | 2 +- libavfilter/x86/vf_yadif_init.c | 11 + libavfilter/x86/vf_yadif_x64.asm | 492

[FFmpeg-devel] [PATCH v2 4/5] avfilter/vf_yadif: Process more pixels using filter_line

2022-07-20 Thread Chris Phlipot
call to filter_edge. In addtion we avoid running filter_line if it would read or write pixels outside the current slice. Signed-off-by: Chris Phlipot --- libavfilter/vf_yadif.c | 23 +-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_yadi

[FFmpeg-devel] [PATCH v2 3/5] avfilter/vf_yadif: reformat code to improve readability

2022-07-20 Thread Chris Phlipot
Reformat some of the code to improve readability and reduce code duplication. This change is intended to be purely cosmentic and shouldn't result in any functional changes. Signed-off-by: Chris Phlipot --- libavfilter/vf_yadif.c | 11 +-- libavfilter/yadif.h| 3 +-- 2 files ch

[FFmpeg-devel] [PATCH v2 2/5] avfilter/vf_yadif: Allow alignment to be configurable

2022-07-20 Thread Chris Phlipot
of an AVX2 implementation could potentially hurt the performance of the SSE implementation, so we allow yadif to use the smallest needed alignment instead to maintain existing performance if implementations with wider vectors are added. Signed-off-by: Chris Phlipot --- libavfilter/vf_yadif.c

[FFmpeg-devel] [PATCH v2 1/5] avfilter/vf_yadif: Fix edge size when MAX_ALIGN is < 4

2022-07-20 Thread Chris Phlipot
If alignment is set to less than 4 filter_edges will produce incorrect output and not filter the entire edge. To fix this, make sure that the edge size is at least 3. Signed-off-by: Chris Phlipot --- libavfilter/vf_yadif.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a

[FFmpeg-devel] [PATCH 5/5] avfilter/vf_yadif: Add x86_64 avx yadif asm

2022-07-19 Thread Chris Phlipot
limited ROI, as most AVX users are likely on 64-bit OS at this point and 32-bit users would lose out on most of the performance benefit. Signed-off-by: Chris Phlipot --- libavfilter/x86/Makefile | 2 +- libavfilter/x86/vf_yadif_init.c | 9 + libavfilter/x86/vf_yadif_x64.asm | 489

[FFmpeg-devel] [PATCH 4/5] avfilter/vf_yadif: Process more pixels using filter_line

2022-07-19 Thread Chris Phlipot
call to filter_edge. In addtion we avoid running filter_line if it would read or write pixels outside the current slice. Signed-off-by: Chris Phlipot --- libavfilter/vf_yadif.c | 23 +-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_yadi

[FFmpeg-devel] [PATCH 3/5] avfilter/vf_yadif: reformat code to improve readability

2022-07-19 Thread Chris Phlipot
Reformat some of the code to improve readability and reduce code duplication. This change is intended to be purely cosmentic and shouldn't result in any functional changes. Signed-off-by: Chris Phlipot --- libavfilter/vf_yadif.c | 11 +-- libavfilter/yadif.h| 3 +-- 2 files ch

[FFmpeg-devel] [PATCH 2/5] avfilter/vf_yadif: Allow alignment to be configurable

2022-07-19 Thread Chris Phlipot
of an AVX2 implementation could potentially hurt the performance of the SSE implementation, so we allow yadif to use the smallest needed alignment instead to maintain existing performance if implementations with wider vectors are added. Signed-off-by: Chris Phlipot --- libavfilter/vf_yadif.c

[FFmpeg-devel] [PATCH 1/5] avfilter/vf_yadif: Fix edge size when MAX_ALIGN is < 4

2022-07-19 Thread Chris Phlipot
If alignment is set to less than 4 filter_edges will produce incorrect output and not filter the entire edge. To fix this, make sure that the edge size is at least 3. Signed-off-by: Chris Phlipot --- libavfilter/vf_yadif.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a