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

Thilo Borgmann thilo.borgmann at mail.de
Mon Mar 14 13:46:52 CET 2016


Am 14.03.16 um 11:22 schrieb Clément Bœsch:
> [...]
>> +./ffmpeg -f lavfi -i nullsrc=s=100x100,coreimage=filter=CIQRCodeGenerator@@inputMessage=https\\\\\://FFmpeg.org/@@inputCorrectionLevel=H -frames:v 1 QRCode.png
> 
> remove ./
> 
> also, it's probably better to have 2 filters: one for usage as a source,
> and another one for filtering (coreimagesrc vs coreimage).

I want to extend it later to allow the user to define an output size avoiding
the need to have it defined by input iamge size. Then it could be used as an
image source, too. However, I'll have to think about many more cases for that to
work good. Thus I really want to do it as further work.

Also, if we split out the generator category into coreimagesrc, the following
would not work anymore without GPU-HOST transfer:

coreimage=filter=boxblur at default#qrcode at whatever@somewhere

Instead the user would have to use a complex filter:

coreimagesrc=filter=qrcode at whatever [qr],
[v:0] coreimage=filter=boxblur at default [blur],
[blur][qr]overlay=somewhere [output]

To do it without transfer then would require to allow coreimage to do generators
like coreimagesrc - which would void the argument for a seperated src because
complete feature duplication, don't you think?


>> +#define SafeCFRelease(ptr) { \
>> +    if (ptr) {               \
>> +        CFRelease(ptr);      \
>> +        ptr = NULL;          \
>> +    }                        \
>> +}
> 
> please use do while(0) form

I don't understand how do while(0) form could be applied here, please explain.


Everything else committed locally, thanks!

-Thilo


More information about the ffmpeg-devel mailing list