BradLarson / GPUImage3

GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal.
BSD 3-Clause "New" or "Revised" License
2.74k stars 345 forks source link

No Pressure but is GPUImage 3 going to continue? #28

Open BenK1934 opened 5 years ago

BenK1934 commented 5 years ago

Hi Brad and Red Queen No pressure but just wondering if there will be continuing development of GPUImage 3? I've loved using GPUImage in the past but the shift to Metal looks essential. So this is a question flavoured with gratitude for the vast amount of work and generosity that has made GPUImage so useful in the past.

BradLarson commented 5 years ago

Sorry, meant to reply to this earlier, got distracted. We are indeed planning to do a lot more with this starting now. Janie wrote about this in detail here:

http://redqueencoder.com/2018-changes-in-latitudes-changes-in-attitudes/

but personal matters (getting married, selling and buying a house) and professional tasks (conferences, completing contracts, heavy sales volume at my robotics company) got in the way of moving this forward in the latter part of 2018.

These have largely been dealt with, so you should start seeing new commits within the next few days. Janie is working on a series of newly ported operations that she's testing now, and I'm building out some more of the key infrastructure. We definitely want to get this to a level of maturity where it can stand as a drop-in replacement for GPUImage 2 (and a migration target for GPUImage) before anything more serious happens on the OpenGL deprecation front on Mac and iOS.

BenK1934 commented 5 years ago

Dear Brad and Janie
That's terrific, both that there's continuing action on GPUImage 3 and that both of you have been doing big things in the far more important spheres of moving your personal lives forward and upwards through complex times. All the users of GPUImage are the beneficieries of your generosity and skill in making it work and available to less technically vertuosic coders. ( actually I'm amazed you both bother to do this at all given all the other things you seem to have going on. So really, thanks to you both.

sabiland commented 5 years ago

As I understand “drop-in” replacement, this means no code would have to be updated?

Another question is this, how can we (METAL works only on device right?) develop (using GpuImage3) and test it in simulator? I use GpuImage2 quite heavily and develop/test my app exclusively on simulator. I cannot imagine developing/testing my app exclusively on real device.

BradLarson commented 5 years ago

@sabiland - In general, yes, you should be able to use identical code to interface with one or the other. There will be specific cases where this changes, such as wherever the underlying OpenGL or Metal interface is exposed (providing or receiving textures, interfacing with sharegroups, etc.), but overall we've tried to abstract away a direct interface and allow for the same API for both.

You're right that until Metal works in the Simulator, you'll need to work on device for iOS applications. I'd always kind of assumed working on device, even when developing using OpenGL, because things like camera inputs and movies don't work in the Simulator either. The performance differences and even the way things are calculated between the Simulator and device also led me to do all my development on-device. For this, we've largely been prototyping on the Mac and then testing on device using the same code, due being able to use the same Metal shaders on Mac and iOS.

CharlyPico commented 5 years ago

Hi there Brad!

I've being using GPUImage 2 for a while and it is awesome. Does GPUImage 3 already supports ChomaKeying for videos?

And by the way, in GPUImage 2, I've been experiencing this random crashes when recording a video after finishing one (It won't happen all the time, but randomly) it crashes because the status of the assetWritter is still 1 (writing) but it is supposed that it already finished when I start recording a new video. Any ideas?

BenK1934 commented 4 years ago

Dear Brad and Janie Hope you're both well in this strange COVID time. So it's been a while since there have been any progress on GPUImage3. Is it still active? Would love movieOutput, motionBlur lanczosBlur crop and rotate to work. The hard shift away from OpenGl on iOS is almost here so a fully working GPUImage3 would be a truly wonderful thing. And thanks again for all the wonderful work on this.

sosale151 commented 4 years ago

Just wanted to echo what Benk1934 said!

Would be extremely grateful for any updates regarding GPUImage3 and when this would be production ready. OpenGL seems to still work on iOS 14, but I'm not entirely sure how much longer that's going to be the case.