[FFmpeg-devel] [PATCH 2/2] lavf: Add coreimage filter for GPU based image filtering on OSX.
Thilo Borgmann
thilo.borgmann at mail.de
Sun Mar 13 00:45:12 CET 2016
Am 13.03.16 um 00:29 schrieb James Almer:
> On 3/12/2016 7:59 PM, Thilo Borgmann wrote:
>> Am 12.03.16 um 23:45 schrieb James Almer:
>>>> On 3/12/2016 7:09 PM, Thilo Borgmann wrote:
>>>>>> Am 12.03.16 um 21:45 schrieb Michael Niedermayer:
>>>>>>>>>> On Sat, Mar 12, 2016 at 03:19:11PM +0100, Thilo Borgmann wrote:
>>>>>>>>>>>>>> Am 12.03.16 um 15:14 schrieb Thilo Borgmann:
>>>>>>>>>>>>>>>>>> [...]
>>>>>>>>>> also breaks build on linux
>>>>>>>>>> ./configure && make -j12
>>>>>>>>>> ...
>>>>>>>>>> libavfilter/vaf_spectrumsynth.c:434:9: warning: ‘ret’ may be used uninitialized in this function [-Wuninitialized]
>>>>>>>>>> CC libavfilter/vf_copy.o
>>>>>>>>>> OBJCC libavfilter/vf_coreimage.o
>>>>>>>>>> gcc: error trying to exec 'cc1obj': execvp: No such file or directory
>>>>>>>>>> make: *** [libavfilter/vf_coreimage.o] Error 1
>>>>>>>>>> make: *** Waiting for unfinished jobs....
>>>>>> Should be fixed in attached patch.
>>>>
>>>> No, it isn't. vf_coreimage must depend on coreimage, otherwise it will be enabled for
>>>> every platform.
>>>> Also, coreimage is not a component listed in any list, so it's always disabled. Look
>>>> for example at chromaprint to get an idea of what's missing.
>> I'm sorry, I've no linux right now to test it on...
>> coreimage is no external lib, I don't think chromaprint analogies would fit.
>> It is more like avfoundation. However, I think I made one more mistake
>> that has been changed.
>>
>> Please test again the attached patch.
>>
>> Thanks!
>>
>> -Thilo
>>
>>
>> 0002-lavf-Add-coreimage-filter-for-GPU-based-image-filter.patch
>>
>>
>> From 76d67f19f1f537ca20ee86047d318558fe3a36cd Mon Sep 17 00:00:00 2001
>> From: Thilo Borgmann <thilo.borgmann at mail.de>
>> Date: Sat, 12 Mar 2016 23:55:50 +0100
>> Subject: [PATCH 2/2] lavf: Add coreimage filter for GPU based image filtering
>> on OSX.
>>
>> ---
>> Changelog | 1 +
>> MAINTAINERS | 1 +
>> configure | 2 +
>> doc/filters.texi | 67 ++++++
>> libavfilter/Makefile | 1 +
>> libavfilter/allfilters.c | 1 +
>> libavfilter/vf_coreimage.m | 553 +++++++++++++++++++++++++++++++++++++++++++++
>> 7 files changed, 626 insertions(+)
>> create mode 100644 libavfilter/vf_coreimage.m
>>
>> diff --git a/Changelog b/Changelog
>> index 1f57f5e..5053a86 100644
>> --- a/Changelog
>> +++ b/Changelog
>> @@ -12,6 +12,7 @@ version <next>:
>> - ciescope filter
>> - protocol blacklisting API
>> - MediaCodec H264 decoding
>> +- coreimage filter (GPU based image filtering on OSX)
>>
>>
>> version 3.0:
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 531c21d..a993a67 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -370,6 +370,7 @@ Filters:
>> vf_colorbalance.c Paul B Mahol
>> vf_colorkey.c Timo Rothenpieler
>> vf_colorlevels.c Paul B Mahol
>> + vf_coreimage.m Thilo Borgmann
>> vf_deband.c Paul B Mahol
>> vf_dejudder.c Nicholas Robbins
>> vf_delogo.c Jean Delvare (CC <jdelvare at suse.com>)
>> diff --git a/configure b/configure
>> index 1b189328..d21d22d 100755
>> --- a/configure
>> +++ b/configure
>> @@ -5255,6 +5255,7 @@ frei0r_filter_extralibs='$ldl'
>> frei0r_src_filter_extralibs='$ldl'
>> ladspa_filter_extralibs='$ldl'
>> nvenc_encoder_extralibs='$ldl'
>> +coreimage_filter_extralibs="-framework QuartzCore -framework AppKit -framework OpenGL"
>>
>> if ! disabled network; then
>> check_func getaddrinfo $network_extralibs
>> @@ -5483,6 +5484,7 @@ enabled avisynth && { { check_lib2 "windows.h" LoadLibrary; } ||
>> die "ERROR: LoadLibrary/dlopen not found for avisynth"; }
>> enabled cuda && check_lib cuda.h cuInit -lcuda
>> enabled chromaprint && require chromaprint chromaprint.h chromaprint_get_version -lchromaprint
>> +enabled coreimage_filter && { check_header_objcc CoreImage/CoreImage.h || disable avfoundation_indev; }
>
> I assume avfoundation_indev here is a copy-paste mistake? But yes, it
> should be ok after changing that into coreimage_filter.
Indeed and found another bug. It never really checked on OSX.
In the mean time I could test Linux & OSX, now it seems to work.
Will attach the works-for-me patch in a seperate mail.
Thanks!
-Thilo
More information about the ffmpeg-devel
mailing list