On Mon, 19 Aug 2024 at 19:32, Martin Storsjö wrote:
>
> On Mon, 19 Aug 2024, John Cox wrote:
>
> > Does rtspenc actually support AVFMT_GLOBALHEADER? It is specified in the
> > FFOutputFormat flags but I can't see anywhere in the code where
> > extradata is refer
LOBALHEADER from the flags in rtspenc.c fixes my
problem and I'll very happily submit a patch to that effect, but first
I'd like to know if that is in fact the root of my problem - my
understanding of the RTSP code is very limited and I'd appreciate advice
from someone who knows somethi
As bwdif takes no account of horizontally adjacent pixels the same
code can be used on planes that have multiple components as is used
on single component planes. Update the filtering code to cope with
multi-component planes and add NV12 to the list of supported formats.
Signed-off-by: John Cox
On Mon, 21 Aug 2023 21:15:37 +0200, you wrote:
>On Sun, Aug 20, 2023 at 07:28:40PM +0100, John Cox wrote:
>> On Sun, 20 Aug 2023 19:45:11 +0200, you wrote:
>>
>> >On Sun, Aug 20, 2023 at 07:16:14PM +0200, Michael Niedermayer wrote:
>> >> On Sun, Aug 20, 2023
On Sun, 20 Aug 2023 19:45:11 +0200, you wrote:
>On Sun, Aug 20, 2023 at 07:16:14PM +0200, Michael Niedermayer wrote:
>> On Sun, Aug 20, 2023 at 03:10:19PM +0000, John Cox wrote:
>> > Add a rgb24->yuv420p conversion. Uses the same code as the existing
>> > bgr24-&
On Sun, 20 Aug 2023 19:16:14 +0200, you wrote:
>On Sun, Aug 20, 2023 at 03:10:19PM +0000, John Cox wrote:
>> Add a rgb24->yuv420p conversion. Uses the same code as the existing
>> bgr24->yuv converter but permutes the conversion array to swap R & B
>> coefficients.
Neon RGB24->YUV420P and BGR24->YUV420P functions. Works on 16 pixel
blocks and can do any width or height, though for widths less than 32 or
so the C is likely faster.
Signed-off-by: John Cox
---
libswscale/aarch64/rgb2rgb.c | 8 +
libswscale/aarch64/rgb2rgb_neon.S
Add simple C functions for converting XRGB to YUV420P. Same logic as the
RGB24 functions but dropping the A channel.
Signed-off-by: John Cox
---
libswscale/rgb2rgb.c | 20 +++
libswscale/rgb2rgb.h | 16 +
libswscale/rgb2rgb_template.c | 106
dence isn't an issue there.
Signed-off-by: John Cox
---
libswscale/rgb2rgb_template.c | 42 ++-
libswscale/swscale_unscaled.c | 5 ++--
libswscale/x86/rgb2rgb_template.c | 5
3 files changed, 32 insertions(+), 20 deletions(-)
diff --git a/
Add a rgb24->yuv420p conversion. Uses the same code as the existing
bgr24->yuv converter but permutes the conversion array to swap R & B
coefficients.
Signed-off-by: John Cox
---
libswscale/rgb2rgb.c | 5 +
libswscale/rgb2rgb.h | 7 +++
libswscale/rgb2rgb_
Rename swscale conversion functions for converting BGR24 frames to YUV
as bgr24toyuv12 rather than rgb24toyuv12 as that is just confusing and
would be even more confusing with the addition of RGB24 converters.
Signed-off-by: John Cox
---
libswscale/bayer_template.c | 2 +-
libswscale
-bitexact as a general flag doesn't affect swscale so add swscale option
too to get correct CRCs in all circumstances.
Signed-off-by: John Cox
---
tests/fate/filter-video.mak | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/fate/filter-video.mak b/tests/fate/f
with improved rounding or the previous template (I'm not quite
sure what it does but it produces a different score out of tests/swscale
to either method) so a simple results match isn't going to work.
Regards
John Cox
John Cox (6):
fate-filter-fps: Set swscale bitexact for tests that do
On Wed, 16 Aug 2023 19:37:02 +0200, you wrote:
>On Wed, Aug 16, 2023 at 05:15:23PM +0100, John Cox wrote:
>> Hi
>>
>> The Pi has a use for a fast RGB24->YUV420P path for encoding camera
>> video. There is an existing BGR24 converter but if I build a RGB24
>
ere?
I've tested by hand with libswscale/test/swscale but fate integration
would be obviously better - I'm currently a bit lost in fate, where/how
should I do this?
Many thanks
John Cox
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
On Sun, 23 Jul 2023 17:04:55 -0300, you wrote:
>On 7/23/2023 4:40 PM, Paul B Mahol wrote:
>> On Sun, Jul 23, 2023 at 9:26?PM Nicolas George wrote:
>>
>>> James Almer (12023-07-23):
What about when FF_FILTER_FLAG_HWFRAME_AWARE filters are present in the
graph? hw_frames_ctx from AVFilte
Add a callback to enable user allocation of video frames on the final
stage of a filter chain.
Signed-off-by: John Cox
---
libavfilter/buffersink.c | 38 ++
libavfilter/buffersink.h | 51
libavfilter/version.h| 2 +-
3
e.g. allocate a dmabuf backed frame
for direct display via DRM. This is similar to the facility provided
by get_buffer2 in avcodec.
Changes from v3:
Nits picked
Added audio buffer functions too
John Cox (1):
avfilter/buffersink: Add video frame allocation callback
libavfilter/buffersink.c
Hi
>On 7/22/2023 2:03 PM, John Cox wrote:
>> Add a callback to enable user allocation of video frames on the final
>> stage of a filter chain.
>>
>> Signed-off-by: John Cox
>> ---
>> libavfilter/buffersink.c | 21 +
On Sat, 22 Jul 2023 21:14:24 +0200, you wrote:
>John Cox:
>> Add a callback to enable user allocation of video frames on the final
>> stage of a filter chain.
>>
>> Signed-off-by: John Cox
>> ---
>> libavfilter/buffersink.c | 21
On Sat, 22 Jul 2023 20:54:04 +0200, you wrote:
>On 22 Jul 2023, at 18:41, John Cox wrote:
>
>> Add a callback to enable user allocation of video frames on the final
>> stage of a filter chain.
>>
>> Signed-off-by: John Cox
>> -
Add a callback to enable user allocation of video frames on the final
stage of a filter chain.
Signed-off-by: John Cox
---
libavfilter/buffersink.c | 21 +
libavfilter/buffersink.h | 27 +++
libavfilter/version.h| 2 +-
3 files changed, 49
e.g. allocate a dmabuf backed frame
for direct display via DRM. This is similar to the facility provided
by get_buffer2 in avcodec.
Changes from v1:
Style fixes - but for real this time
John Cox (1):
avfilter/buffersink: Add video frame allocation callback
libavfilter/buffersink.c | 21
Finger trouble - repost of previous patch - please ignore
Sorry
JC
>Add a callback to enable user allocation of video frames on the final
>stage of a filter chain.
>
>Signed-off-by: John Cox
>---
> libavfilter/buffersink.c | 21 +
> libavfil
Add a callback to enable user allocation of video frames on the final
stage of a filter chain.
Signed-off-by: John Cox
---
libavfilter/buffersink.c | 21 +
libavfilter/buffersink.h | 27 +++
libavfilter/version.h| 2 +-
3 files changed, 49
e.g. allocate a dmabuf backed frame
for direct display via DRM. This is similar to the facility provided
by get_buffer2 in avcodec.
Changes from v1:
Style fixes
John Cox (1):
avfilter/buffersink: Add video frame allocation callback
libavfilter/buffersink.c | 21
On Sat, 22 Jul 2023 17:28:31 +0200, you wrote:
>On Thu, Jul 20, 2023 at 1:40?PM John Cox wrote:
>
>> Add a callback to enable user allocation of video frames on the final
>> stage of a filter chain.
>>
>>
>What about an audio?
I have a use case for video and no
Hi
On Sat, 22 Jul 2023 17:12:51 +0200, you wrote:
>John Cox (12023-07-20):
>> Add a callback to enable user allocation of video frames on the final
>> stage of a filter chain.
>>
>> Signed-off-by: John Cox
>> ---
>> libavfilter/buffersink.c | 2
Add a callback to enable user allocation of video frames on the final
stage of a filter chain.
Signed-off-by: John Cox
---
libavfilter/buffersink.c | 21 +
libavfilter/buffersink.h | 27 +++
libavfilter/version.h| 2 +-
3 files changed, 49
e.g. allocate a dmabuf backed frame
for direct display via DRM. This is similar to the facility provided
by get_buffer2 in avcodec.
John Cox (1):
avfilter/buffersink: Add video frame allocation callback
libavfilter/buffersink.c | 21 +
libavfilter/buffersink.h | 27
On Thu, 6 Jul 2023 00:19:50 +0300 (EEST), you wrote:
>On Tue, 4 Jul 2023, John Cox wrote:
>
>> Also adds a filter_line3 method which on aarch64 neon yields approx 30%
>> speedup over 2xfilter_line and a memcpy
>>
>> Differences from v3:
>> Remove a few line
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 28 ++
libavfilter/aarch64/vf_bwdif_neon.S | 272
2 files changed, 300 insertions(+)
diff --git a/libavfilter/aarch64/vf_bwdif_init_aarch64.c
b/libavfilter/aarch64/vf_bwdif_init_aarch64.c
may do up to 3 extra lines but filter_edge is faster than filter_line
so it is unlikely to create any noticable thread load variation.
Signed-off-by: John Cox
---
libavfilter/bwdif.h | 7
libavfilter/vf_bwdif.c| 44 +++--
tests/checkasm/vf_bwdif.c | 81
Exports C filter_line needed for tail fixup of neon code
Adds neon for filter_line
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 21 ++
libavfilter/aarch64/vf_bwdif_neon.S | 203
libavfilter/bwdif.h | 5
Adds clip and spatial macros for aarch64 neon
Exports C filter_edge needed for tail fixup of neon code
Adds neon for filter_edge
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 20 +++
libavfilter/aarch64/vf_bwdif_neon.S | 177
libavfilter
Signed-off-by: John Cox
---
tests/checkasm/vf_bwdif.c | 54 +++
1 file changed, 54 insertions(+)
diff --git a/tests/checkasm/vf_bwdif.c b/tests/checkasm/vf_bwdif.c
index 034bbabb4c..5fdba09fdc 100644
--- a/tests/checkasm/vf_bwdif.c
+++ b/tests/checkasm
Adds an outline for aarch neon functions
Adds common macros and consts for aarch64 neon
Exports C filter_intra needed for tail fixup of neon code
Adds neon for filter_intra
Signed-off-by: John Cox
---
libavfilter/aarch64/Makefile| 2 +
libavfilter/aarch64/vf_bwdif_init_aarch64
Signed-off-by: John Cox
---
tests/checkasm/vf_bwdif.c | 37 +
1 file changed, 37 insertions(+)
diff --git a/tests/checkasm/vf_bwdif.c b/tests/checkasm/vf_bwdif.c
index 46224bb575..034bbabb4c 100644
--- a/tests/checkasm/vf_bwdif.c
+++ b/tests/checkasm
I've
applied all the requested changes and I didn't want this mistake in the
final patchset. (The mistake was benign - it just wasted a few cycles.)
John Cox (7):
tests/checkasm: Add test for vf_bwdif filter_intra
avfilter/vf_bwdif: Add neon for filter_intra
tests/checkasm: Add test fo
On Mon, 3 Jul 2023 00:14:16 +0300 (EEST), you wrote:
>[snip]
>It's a bit of a shame that this only tests things for 8 bit, not 10, but I
>guess that's better than nothing. The way the current code is set up to
>template both variants of the tests isn't very neat either...
Is there actually >8-b
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 28 ++
libavfilter/aarch64/vf_bwdif_neon.S | 272
2 files changed, 300 insertions(+)
diff --git a/libavfilter/aarch64/vf_bwdif_init_aarch64.c
b/libavfilter/aarch64/vf_bwdif_init_aarch64.c
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 21 ++
libavfilter/aarch64/vf_bwdif_neon.S | 208
libavfilter/bwdif.h | 5 +
libavfilter/vf_bwdif.c | 10 +-
4 files changed, 239 insertions
may do up to 3 extra lines but filter_edge is faster than filter_line
so it is unlikely to create any noticable thread load variation.
Signed-off-by: John Cox
---
libavfilter/bwdif.h | 7
libavfilter/vf_bwdif.c| 44 +++--
tests/checkasm/vf_bwdif.c | 81
Adds clip and spatial macros for aarch64 neon
Exports C filter_edge needed for tail fixup of neon code
Adds neon for filter_edge
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 20 +++
libavfilter/aarch64/vf_bwdif_neon.S | 177
libavfilter
Signed-off-by: John Cox
---
tests/checkasm/vf_bwdif.c | 54 +++
1 file changed, 54 insertions(+)
diff --git a/tests/checkasm/vf_bwdif.c b/tests/checkasm/vf_bwdif.c
index 034bbabb4c..5fdba09fdc 100644
--- a/tests/checkasm/vf_bwdif.c
+++ b/tests/checkasm
Adds an outline for aarch neon functions
Adds common macros and consts for aarch64 neon
Exports C filter_intra needed for tail fixup of neon code
Adds neon for filter_intra
Signed-off-by: John Cox
---
libavfilter/aarch64/Makefile| 2 +
libavfilter/aarch64/vf_bwdif_init_aarch64
Signed-off-by: John Cox
---
tests/checkasm/vf_bwdif.c | 37 +
1 file changed, 37 insertions(+)
diff --git a/tests/checkasm/vf_bwdif.c b/tests/checkasm/vf_bwdif.c
index 46224bb575..034bbabb4c 100644
--- a/tests/checkasm/vf_bwdif.c
+++ b/tests/checkasm
Also adds a filter_line3 method which on aarch64 neon yields approx 30%
speedup over 2xfilter_line and a memcpy
Differences from v2:
coeffs moved into const segment
number of patches reduced
John Cox (7):
tests/checkasm: Add test for vf_bwdif filter_intra
avfilter/vf_bwdif: Add neon for
On Mon, 3 Jul 2023 00:09:52 +0300 (EEST), you wrote:
>On Sun, 2 Jul 2023, John Cox wrote:
>
>> Also adds a filter_line3 method which on aarch64 neon yields approx 30%
>> speedup over 2xfilter_line and a memcpy
>>
>> Differences from v1:
>> .align 16 corrected
On Mon, 3 Jul 2023 00:02:27 +0300 (EEST), you wrote:
>On Sun, 2 Jul 2023, Martin Storsjö wrote:
>
>> On Sun, 2 Jul 2023, John Cox wrote:
>>
>>> On Sun, 2 Jul 2023 00:35:14 +0300 (EEST), you wrote:
>>>
>>>> On Thu, 29 Jun 2023, John Cox wrote:
>
On Mon, 3 Jul 2023 00:12:46 +0300 (EEST), you wrote:
>On Sun, 2 Jul 2023, Thomas Mundt wrote:
>
>> Am So., 2. Juli 2023 um 14:34 Uhr schrieb John Cox :
>> Add an optional filter_line3 to the available optimisations.
>>
>> filter_line3 is equivalent to fi
create any noticable thread load variation.
Signed-off-by: John Cox
---
libavfilter/vf_bwdif.c | 13 ++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/libavfilter/vf_bwdif.c b/libavfilter/vf_bwdif.c
index 52bc676cf8..6701208efe 100644
--- a/libavfilter/vf_bwdif.c
+++ b
Signed-off-by: John Cox
---
tests/checkasm/vf_bwdif.c | 81 +++
1 file changed, 81 insertions(+)
diff --git a/tests/checkasm/vf_bwdif.c b/tests/checkasm/vf_bwdif.c
index 5fdba09fdc..3399cacdf7 100644
--- a/tests/checkasm/vf_bwdif.c
+++ b/tests/checkasm
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 28 ++
libavfilter/aarch64/vf_bwdif_neon.S | 272
2 files changed, 300 insertions(+)
diff --git a/libavfilter/aarch64/vf_bwdif_init_aarch64.c
b/libavfilter/aarch64/vf_bwdif_init_aarch64.c
% better than two filter_lines
and a memcpy.
Signed-off-by: John Cox
---
libavfilter/bwdif.h| 7 +++
libavfilter/vf_bwdif.c | 31 +++
2 files changed, 38 insertions(+)
diff --git a/libavfilter/bwdif.h b/libavfilter/bwdif.h
index cce99953f3..496cec72ef 100644
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 21 ++
libavfilter/aarch64/vf_bwdif_neon.S | 208
2 files changed, 229 insertions(+)
diff --git a/libavfilter/aarch64/vf_bwdif_init_aarch64.c
b/libavfilter/aarch64/vf_bwdif_init_aarch64.c
Needed for tail fixup of neon code
Signed-off-by: John Cox
---
libavfilter/bwdif.h| 4
libavfilter/vf_bwdif.c | 8
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/libavfilter/bwdif.h b/libavfilter/bwdif.h
index ae6f6ce223..ae1616d366 100644
--- a/libavfilter
Needed for tail fixup of neon code
Signed-off-by: John Cox
---
libavfilter/bwdif.h| 5 +
libavfilter/vf_bwdif.c | 10 +-
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/libavfilter/bwdif.h b/libavfilter/bwdif.h
index ae1616d366..cce99953f3 100644
--- a
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_neon.S | 73 +
1 file changed, 73 insertions(+)
diff --git a/libavfilter/aarch64/vf_bwdif_neon.S
b/libavfilter/aarch64/vf_bwdif_neon.S
index 6a614f8d6e..48dc7bcd9d 100644
--- a/libavfilter/aarch64
Signed-off-by: John Cox
---
tests/checkasm/vf_bwdif.c | 37 +
1 file changed, 37 insertions(+)
diff --git a/tests/checkasm/vf_bwdif.c b/tests/checkasm/vf_bwdif.c
index 46224bb575..034bbabb4c 100644
--- a/tests/checkasm/vf_bwdif.c
+++ b/tests/checkasm
Signed-off-by: John Cox
---
tests/checkasm/vf_bwdif.c | 54 +++
1 file changed, 54 insertions(+)
diff --git a/tests/checkasm/vf_bwdif.c b/tests/checkasm/vf_bwdif.c
index 034bbabb4c..5fdba09fdc 100644
--- a/tests/checkasm/vf_bwdif.c
+++ b/tests/checkasm
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 20
libavfilter/aarch64/vf_bwdif_neon.S | 104
2 files changed, 124 insertions(+)
diff --git a/libavfilter/aarch64/vf_bwdif_init_aarch64.c
b/libavfilter/aarch64/vf_bwdif_init_aarch64.c
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 17 +++
libavfilter/aarch64/vf_bwdif_neon.S | 53 +
2 files changed, 70 insertions(+)
diff --git a/libavfilter/aarch64/vf_bwdif_init_aarch64.c
b/libavfilter/aarch64/vf_bwdif_init_aarch64.c
Needed for tail fixup of neon code
Signed-off-by: John Cox
---
libavfilter/bwdif.h| 3 +++
libavfilter/vf_bwdif.c | 6 +++---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/libavfilter/bwdif.h b/libavfilter/bwdif.h
index 6a0f70487a..ae6f6ce223 100644
--- a/libavfilter
Add macros for dual scalar half->single multiply and accumulate
Add macro for shift, saturate and shorten single to byte
Add filter constants
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_neon.S | 53 +
1 file changed, 53 insertions(+)
diff --gi
Outline but no actual functions.
Signed-off-by: John Cox
---
libavfilter/aarch64/Makefile| 2 ++
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 39 +
libavfilter/aarch64/vf_bwdif_neon.S | 25 +
libavfilter/bwdif.h
Also adds a filter_line3 method which on aarch64 neon yields approx 30%
speedup over 2xfilter_line and a memcpy
Differences from v1:
.align 16 corrected to .balign 16
SXTW tolower
Mac ABI (hopefully) fixed
V register pop/push macroed & prettified
John Cox (15):
avfilter/vf_bwdif: Add out
On Sun, 2 Jul 2023 00:44:10 +0300 (EEST), you wrote:
>On Thu, 29 Jun 2023, John Cox wrote:
>
>> Signed-off-by: John Cox
>> ---
>> libavfilter/aarch64/vf_bwdif_init_aarch64.c | 21 ++
>> libavfilter/aarch64/vf_bwdif_neon.S | 215
>
On Sun, 2 Jul 2023 00:40:09 +0300 (EEST), you wrote:
>On Thu, 29 Jun 2023, John Cox wrote:
>
>> Signed-off-by: John Cox
>> ---
>> libavfilter/aarch64/vf_bwdif_init_aarch64.c | 20
>> libavfilter/aarch64/vf_bwdif_neon.S | 104
>
On Sun, 2 Jul 2023 00:37:35 +0300 (EEST), you wrote:
>On Thu, 29 Jun 2023, John Cox wrote:
>
>> Signed-off-by: John Cox
>> ---
>> libavfilter/aarch64/vf_bwdif_init_aarch64.c | 17 +++
>> libavfilter/aarch64/vf_bwdif_neon.S | 53 +
>
On Sun, 2 Jul 2023 00:35:14 +0300 (EEST), you wrote:
>On Thu, 29 Jun 2023, John Cox wrote:
>
>> Add macros for dual scalar half->single multiply and accumulate
>> Add macro for shift, saturate and shorten single to byte
>> Add filter constants
>>
>> Signed-
Hi
>On Thu, 29 Jun 2023, John Cox wrote:
>
>> Also adds a filter_line3 method which on aarch64 neon yields approx 30%
>> speedup over 2xfilter_line and a memcpy
>>
>> John Cox (15):
>> avfilter/vf_bwdif: Add outline for aarch neon functions
>> avfilter/
% better than two filter_lines
and a memcpy.
Signed-off-by: John Cox
---
libavfilter/bwdif.h| 7 +++
libavfilter/vf_bwdif.c | 31 +++
2 files changed, 38 insertions(+)
diff --git a/libavfilter/bwdif.h b/libavfilter/bwdif.h
index cce99953f3..496cec72ef 100644
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 21 ++
libavfilter/aarch64/vf_bwdif_neon.S | 215
2 files changed, 236 insertions(+)
diff --git a/libavfilter/aarch64/vf_bwdif_init_aarch64.c
b/libavfilter/aarch64/vf_bwdif_init_aarch64.c
Needed for tail fixup of neon code
Signed-off-by: John Cox
---
libavfilter/bwdif.h| 5 +
libavfilter/vf_bwdif.c | 10 +-
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/libavfilter/bwdif.h b/libavfilter/bwdif.h
index ae1616d366..cce99953f3 100644
--- a
Signed-off-by: John Cox
---
tests/checkasm/vf_bwdif.c | 54 +++
1 file changed, 54 insertions(+)
diff --git a/tests/checkasm/vf_bwdif.c b/tests/checkasm/vf_bwdif.c
index 034bbabb4c..5fdba09fdc 100644
--- a/tests/checkasm/vf_bwdif.c
+++ b/tests/checkasm
create any noticable thread load variation.
Signed-off-by: John Cox
---
libavfilter/vf_bwdif.c | 13 ++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/libavfilter/vf_bwdif.c b/libavfilter/vf_bwdif.c
index 52bc676cf8..6701208efe 100644
--- a/libavfilter/vf_bwdif.c
+++ b
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 20
libavfilter/aarch64/vf_bwdif_neon.S | 104
2 files changed, 124 insertions(+)
diff --git a/libavfilter/aarch64/vf_bwdif_init_aarch64.c
b/libavfilter/aarch64/vf_bwdif_init_aarch64.c
Signed-off-by: John Cox
---
tests/checkasm/vf_bwdif.c | 81 +++
1 file changed, 81 insertions(+)
diff --git a/tests/checkasm/vf_bwdif.c b/tests/checkasm/vf_bwdif.c
index 5fdba09fdc..3399cacdf7 100644
--- a/tests/checkasm/vf_bwdif.c
+++ b/tests/checkasm
Needed for tail fixup of neon code
Signed-off-by: John Cox
---
libavfilter/bwdif.h| 4
libavfilter/vf_bwdif.c | 8
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/libavfilter/bwdif.h b/libavfilter/bwdif.h
index ae6f6ce223..ae1616d366 100644
--- a/libavfilter
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 28 ++
libavfilter/aarch64/vf_bwdif_neon.S | 278
2 files changed, 306 insertions(+)
diff --git a/libavfilter/aarch64/vf_bwdif_init_aarch64.c
b/libavfilter/aarch64/vf_bwdif_init_aarch64.c
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_neon.S | 59 +
1 file changed, 59 insertions(+)
diff --git a/libavfilter/aarch64/vf_bwdif_neon.S
b/libavfilter/aarch64/vf_bwdif_neon.S
index b863b3447d..6c5d1598f4 100644
--- a/libavfilter/aarch64
Signed-off-by: John Cox
---
tests/checkasm/vf_bwdif.c | 37 +
1 file changed, 37 insertions(+)
diff --git a/tests/checkasm/vf_bwdif.c b/tests/checkasm/vf_bwdif.c
index 46224bb575..034bbabb4c 100644
--- a/tests/checkasm/vf_bwdif.c
+++ b/tests/checkasm
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 17 +++
libavfilter/aarch64/vf_bwdif_neon.S | 53 +
2 files changed, 70 insertions(+)
diff --git a/libavfilter/aarch64/vf_bwdif_init_aarch64.c
b/libavfilter/aarch64/vf_bwdif_init_aarch64.c
Needed for tail fixup of neon code
Signed-off-by: John Cox
---
libavfilter/bwdif.h| 3 +++
libavfilter/vf_bwdif.c | 6 +++---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/libavfilter/bwdif.h b/libavfilter/bwdif.h
index 6a0f70487a..ae6f6ce223 100644
--- a/libavfilter
Add macros for dual scalar half->single multiply and accumulate
Add macro for shift, saturate and shorten single to byte
Add filter constants
Signed-off-by: John Cox
---
libavfilter/aarch64/vf_bwdif_neon.S | 46 +
1 file changed, 46 insertions(+)
diff --gi
Outline but no actual functions.
Signed-off-by: John Cox
---
libavfilter/aarch64/Makefile| 2 ++
libavfilter/aarch64/vf_bwdif_init_aarch64.c | 39 +
libavfilter/aarch64/vf_bwdif_neon.S | 25 +
libavfilter/bwdif.h
Also adds a filter_line3 method which on aarch64 neon yields approx 30%
speedup over 2xfilter_line and a memcpy
John Cox (15):
avfilter/vf_bwdif: Add outline for aarch neon functions
avfilter/vf_bwdif: Add common macros and consts for aarch64 neon
avfilter/vf_bwdif: Export C filter_intra
Hwaccel doesn't use any of the block strength, pcm, slice address, etc.
arrays which can be >100k each for 4k video. Patch to avoid initial
allocation and zeroing at the start of every frame. On a Pi4 the memsets
can use 10% CPU on 4k 60Hz decode, this fixes that.
Signed-off-by:
devices on the output of ffmpeg for testing purposes.
Though I guess that if I want that then the device should be bundled
with the application rather than in a library.
John Cox
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/ma
t you appear to want
is
if (!*ctx)
which protects against multi-free and is useful in that it can be called
unconditionally in cleanup code (assuming initial null assignments) and
crashes in what you describe as the "stupid" case.
>> return;
>>
>> a
Hi
>On Wed, Nov 14, 2018 at 11:35:50AM +0000, John Cox wrote:
>> Hi
>>
>> >Hi
>> >
>> >On Tue, Nov 13, 2018 at 03:52:18PM +, John Cox wrote:
>> >> Hi
>> >>
>> >> I have been developing a hevc decoder for Raspberr
Hi
>Hi
>
>On Tue, Nov 13, 2018 at 03:52:18PM +0000, John Cox wrote:
>> Hi
>>
>> I have been developing a hevc decoder for Raspberry Pi for some time
>> now. As active development has now pretty much ceased and the code is
>> believed stable it seems a good
rdware frames but they aren't really.
There must be a better way of auto-selecting the hevc_rpi decoder over
the normal s/w hevc decoder, but I became confused by the existing h/w
acceleration framework and what I wanted to do didn't seem to fit in
neatly.
Display should be a proper devic
that probe_arm_arch ends up setting subarch to armv7-a
when the other bits of the script expect armv7a (although gcc wants
armv7-a in -march). Again I am confused by this but I'm not sure what
the right answer is let alone the correct fix. Maybe whoever wrote this
bit of configure could revis
E_INLINE 1
>#define HAVE_ARMV6_INLINE 1
>#define HAVE_ARMV6T2_INLINE 1
>#define HAVE_ARMV8_INLINE 0
>#define HAVE_NEON_INLINE 0
>#define HAVE_VFP_INLINE 1
>#define HAVE_VFPV3_INLINE 1
>#define HAVE_SETEND_INLINE 1
>
>If I want to get Neon enabled as well then I need to have a --mfpu=ne
--mfpu=neon
on the command line too. I'm not sure how to get it there unless I pass
it as extra flags.
This patch adds quotes around the asm that is in the __asm__ statement
Regards
John Cox
diff --git a/configure b/configure
index 22eeca22a5..4dbee8d349 100755
--- a/configure
+++ b/conf
529:9: warning: ‘avcodec_decode_video2’ is
>> deprecated (declared at src/libavcodec/avcodec.h:4756)
>> [-Wdeprecated-declarations]
>> src/libavfilter/src_movie.c:532:9: warning: ‘avcodec_decode_audio4’ is
>> deprecated (declared at src/libavcodec/avcodec.h:4707)
>> [-Wdepr
Hi
I enclose a patch that changes av_clip_uintp2 to av_clip_uintp2_c where
the bit depth is variable. This fixes compilation issues if
HAVE_ARMV6_INLINE is 1 and therefore allows arm inline detection to be
fixed too.
Regards
John Cox
variable_clip.patch
Description: Binary data
adds quotes around the asm that is in the __asm__ statement
Regards
John Cox
diff --git a/configure b/configure
index 22eeca22a5..4dbee8d349 100755
--- a/configure
+++ b/configure
@@ -1040,7 +1040,7 @@ EOF
check_insn(){
log check_insn "$@"
-check_inline_asm
1 - 100 of 120 matches
Mail list logo