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

James Almer jamrial at gmail.com
Sun Mar 13 00:29:34 CET 2016


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.

>  enabled decklink          && { check_header DeckLinkAPI.h || die "ERROR: DeckLinkAPI.h header not found"; }
>  enabled frei0r            && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; }
>  enabled gmp               && require2 gmp gmp.h mpz_export -lgmp



More information about the ffmpeg-devel mailing list