* Revert "feat: Skia for Android (#1731)"
This reverts commit a7c137da07.
* Remove some skia
* Remove all the Skia stuff.
* Update useFrameProcessor.ts
* Update lockfiles
* fix: Use native Preview again
* Use `OpenGLTexture&` again
* Remove `PreviewOutput` (we use `SurfaceView` in parallel)
* fix: Log photo widths
* fix: Fix cpplint
* feat: Call Skia Renderer
* Use default NativePreviewView for Skia
* Render to separate FBO
* It appears once
* Refactor a lot lol
* Pass width/height
* Read width/heights
* Update SkiaRenderer.cpp
* Read stencil/samples
* Use switch for target
* Clear full red
* Update VideoPipeline.cpp
* fix: Use `BorrowTextureFrom` instead of `AdoptTextureFrom`
* Get it to work
* Draw Camera Frame again (only works for first frame)
* glDisable(GL_BLEND)
* Use Frame Buffer again
* Simplify Skia offscreen surface creation
* fix: Get it to kinda work?
* fix: Remove `sampler2D` shader
Only the EXTERNAL_OES one kinda works
* Revert "fix: Remove `sampler2D` shader"
This reverts commit bf241a82f440f5a442f23a2b10329b813e7cdb3e.
* Revert "fix: Get it to kinda work?"
This reverts commit ea6a8784ad8dc7d05e8076591874f021b51dd84a.
* fix: Use Skia for rendering
* Simplify drawing code a lot
* Clean up drawing loop a bit more
* Some docs
* Update SkiaRenderer.cpp
* Surface
* try to use Matrix
* Use BottomLeft as a surface origin again
* Get actual surface dimensions
* Use 1x1 pbuffer instead
* Update SkiaRenderer.cpp
* Update SkiaRenderer.cpp
* feat: Implement Skia Frame Processor (#1735)
* feat: Implement JS Skia Frame Processor
* Update SkiaRenderer.cpp
* push
* Create Frame from C++
* compile
* Compile
* Update VideoPipeline.cpp
* Fix JNI local ref
* Use `HardwareBuffer` for implementation
* feat: Custom `Frame` implementation that uses CPU `ByteBuffer` (#1736)
* feat: Implement JS Skia Frame Processor
* Update SkiaRenderer.cpp
* push
* Create Frame from C++
* compile
* Compile
* Update VideoPipeline.cpp
* Fix JNI local ref
* Use `HardwareBuffer` for implementation
* try: Try to just create a CPU based ByteBuffer
* fix: Fix Java Type
* fix remaining errors
* try fixing FrameFactory
* Use `free`
* fix: Fix scene mode crash on some emulators
* fix: Fix scene mode crash on some emulators
* Fix getting pixels
* fix: Fix buffer not being freed
* Add some docs to `Frame`
* Test Skia again
* Use `getCurrentPresentationTime()`
* Remove `FrameFactory.cpp`
* Update VideoPipeline.h
* Update VideoPipeline.cpp
* Create `VideoPipeline` c++
* Remove folly C++ dependency
* Create `VideoPipeline` HybridClass
* Set up OpenGL
* Add outputs
* Update VideoPipeline.kt
* Bum `minSdkVersion` to `26`
* Create `VideoPipelineOutput`
* Create output funcs
* Set output pipelines
* Add FP/Recording on Output change
* Update VideoPipeline.cpp
* Create `PassThroughShader`
* Try to draw? I have honestly no idea
* fix: Fix `setFrameProcessor` nameclash
* fix: Fix `high-res-sizes` being null
* Add preview output
* Create `OpenGLContext.cpp`
* Make screen red
* This _should_ work (MESSY)
* FINALLY RENDER TEXTURE
* Rotate
* Mirror
* Clean up a bit
* Add `getWidth()`/`getHeight()`
* Cleanup
* fix: Use uniforms instead of attributes
* Draw with passed rotation/mirror mode
* feat: Use SurfaceTexture's transformMatrix in OpenGL pipeline (#1727)
* feat: Use Transform Matrix from SurfaceTexture
* Renam
* feat: Fix OpenGL Shader
* Update VideoPipeline.kt
* Measure elapsed time
* fix: Fix low resolution
* Render to offscreen
* Render to every context
* Release `SurfaceTexture` on close
* Use one OpenGL context to render to multiple EGLSurfaces
* Clean up a bit
* fix: Fix recording pipeline not triggering
* fix: Synchronize close to prevent nulls
* Update OpenGLRenderer.cpp
* fix: Hardcode Android recorder size
Replaces `ReadableNativeMap`/`WritableNativeMap` with `Map<String, Object>` and `ReadableNativeArray`/`WritableNativeArray` with `List<Object>`, making the JSI -> JNI conversion a bit faster and more logical.
Also, we could now convert Array Buffers or HostObjects if we wanted to.