[FFmpeg-devel] [PATCH 2/2] lavf: Add coreimage filter for GPU based image filtering on OSX.

James Almer jamrial at gmail.com
Sat Mar 12 23:45:27 CET 2016


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:
>>>> >>> Add coreimage filter for OSX.
>>> >>
>>> >> Corrected patch attached.
>>> >>
>>> >> -Thilo
>>> >>
>> > 
>>> >>  Changelog                  |    1 
>>> >>  MAINTAINERS                |    1 
>>> >>  configure                  |    3 
>>> >>  doc/filters.texi           |   67 +++++
>>> >>  libavfilter/Makefile       |    1 
>>> >>  libavfilter/allfilters.c   |    1 
>>> >>  libavfilter/vf_coreimage.m |  553 +++++++++++++++++++++++++++++++++++++++++++++
>>> >>  7 files changed, 627 insertions(+)
>>> >> 2bc3194273f31211d7ee3effc2af6c6d1b393db2  0002-lavf-Add-coreimage-filter-for-GPU-based-image-filter.patch
>>> >> From 124fb0ce2a30c965ec28c8fbff1c04a872f33bc6 Mon Sep 17 00:00:00 2001
>>> >> From: Thilo Borgmann <thilo.borgmann at mail.de>
>>> >> Date: Sat, 12 Mar 2016 15:18:04 +0100
>>> >> Subject: [PATCH 2/2] lavf: Add coreimage filter for GPU based image filtering
>>> >>  on OSX.
>>> >>
>>> >> ---
>>> >>  Changelog                  |   1 +
>>> >>  MAINTAINERS                |   1 +
>>> >>  configure                  |   3 +
>>> >>  doc/filters.texi           |  67 ++++++
>>> >>  libavfilter/Makefile       |   1 +
>>> >>  libavfilter/allfilters.c   |   1 +
>>> >>  libavfilter/vf_coreimage.m | 553 +++++++++++++++++++++++++++++++++++++++++++++
>>> >>  7 files changed, 627 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..fe96215 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,8 @@ 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         && { check_header_oc CoreImage/CoreImage.h || die "ERROR: CoreImage.h header not found"; }
>>> >> +#enabled coreimage         && { check_lib2 CoreImage/CoreImage.h CGGetActiveDisplayList -framework CoreImage; }
>> > 
>> > this looks suspect
> Removed.
> 
>> > 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.



More information about the ffmpeg-devel mailing list