GPUImage source reading (Overview)

Summary

GPUImage is a famous open source library for image processing, which allows you to use GPU acceleration filters and other special effects on pictures, videos and cameras. Compared to the CoreImage framework, you can use custom filters based on the interfaces provided by GPUImage. Project address: https://github.com/BradLarson/GPUImage
here, the article is mainly an overview of the GPUImage framework. When you read the source code, you can read the input, filter, output, and the GPUImage dependency environment.

Environmental Science

  • GPUImage context object
The class name Explain analysis
GPUImageContext GPUImage context object See the GPUImage source code reading (1)
  • GL program
The class name Explain analysis
GLProgram Manage the GL program See the GPUImage source code reading (1)
  • Frame buffer
The class name Explain analysis
GPUImageFramebufferCache Managing frame buffer objects See the GPUImage source code reading (two)
GPUImageFramebuffer Frame buffer object See the GPUImage source code reading (two)
  • base class
The class name Explain analysis
GPUImageOutput The base class that can output frame buffer objects See the GPUImage source code reading (three)
  • Agreement
The class name Explain analysis
GPUImageInput Class implementation that can accept frame buffer object input See the GPUImage source code reading (three)

input

The class name Explain analysis
GPUImageUIElement UI render input See the GPUImage source code reading (four)
GPUImageMovie Video input See the GPUImage source code reading (five)
GPUImagePicture Picture input See the GPUImage source code reading (four)
GPUImageRawDataInput Metadata input See the GPUImage source code reading (six)
GPUImageTextureInput Texture input See the GPUImage source code reading (six)
GPUImageVideoCamera Camera video input See the GPUImage source code reading (five)
GPUImageStillCamera Camera photo input See the GPUImage source code reading (five)

Filter

  • Single target input filter
The class name Explain analysis
GPUImageFilter Single target input filter In the creation of…
  • Multiple object input filter
The class name Explain analysis
GPUImageTwoInputFilter Two target input filters See the GPUImage source code reading (eight)
GPUImageThreeInputFilter Three target input filters See the GPUImage source code reading (eight)
GPUImageFourInputFilter Four target input filters See the GPUImage source code reading (eight)
  • Combination filter
The class name Explain analysis
GPUImageFilterGroup A self combination filter that can participate in the response chain See the GPUImage source code reading (seven)
GPUImageFilterPipeline A combination filter that does not participate in the response chain itself See the GPUImage source code reading (seven)

output

The class name Explain analysis
GPUImageRawDataOutput Metadata output See the GPUImage source code reading (six)
GPUImageTextureOutput Texture output See the GPUImage source code reading (six)
GPUImageMovieWriter Video output See the GPUImage source code reading (five)
GPUImageView Picture preview output See the GPUImage source code reading (four)

Last

Finally attach related links

Source address: GPUImage series
series https://github.com/QinminiOS/GPUImage source code to read the address: GPUImage http://www.jianshu.com/nb/11749791
OpenGL ES source code to read special entry: http://www.jianshu.com/c/30e2e76bc140