A LUT (lot) of image filters on Android
summary
Implements image filters by applying 3D lookup tables on Android using RenderScript first and later porting to OpenGL for faster GPU work. Uses designer-supplied 64-cube LUT bitmaps, implements the cube-to-pixel mapping, fixes alpha bugs by un-pre-multiplying premultiplied alpha, and reduces banding with trilinear interpolation. Ships a working filter pipeline and UI; remaining tradeoffs are LUT resolution versus quality and performance.
AI-written summary · about
chapters (13)
- 0:00Start
- 3:53Different Approaches To Image Filters
- 4:20Presets
- 7:40What Are Luts
- 10:113d Lookup Table
- 13:27Lookup Table Algorithm
- 16:42Intrinsic 3d Lut
- 20:13Custom Script
- 21:20Looking Up a Pixel in Lut
- 22:16How Luts Look
- 25:27Pre-Multiplied Alpha
- 28:28Banding and Interpolation
- 30:24Tri-Linear Interpolation
related talks
33mA LUT (lot) of image filters on Android
35mPractical Image Processing in Android
10mLiTr (LinkedIn Transformer) - and open source library to transcode and modify...
37mThe JPEG of 3D: Bringing 3D scenes and objects into your 2D Android app with glTF
36mDrawn out: How Android renders
40mThe Evolution of Android Graphics
16mAndroid Graphics
39mThe JPEG of 3D: Bringing 3D scenes and objects into your 2D Android app with glTF
