* Add capability to set audio codec to encode video files with.
* Cleanup
* Handle audio codec in SnapshotVideoRecorder.java
* Remove two AMR codecs and VORBIS, replace if with switch
* All chosen codecs in SnapshotVideoRecorder.java should use "audio/mp4a-latm". Setting DEVICE_DEFAULT to use it's actual value would change the behaviour of the class.
* Match style of video codec switch block above.
* Feature option to setPreviewFrameRate as exact as possible
* update docs for setPreviewFrameRateExact
* clean code and add tests for feature setPreviewFrameRateExact
* fix test issue and clean code for setPreviewFrameRateExact
* fix accessiblility issue for mPreviewFrameRateExact
* fix test issue for testPreviewFrameRateExact
Co-authored-by: Mattia Iavarone <mat.iavarone@gmail.com>
* Fix deploy CI trigger
* Use actions/checkout@v2
* Call onImageAvailable on a separate thread
* Add setFrameProcessingPoolSize API
* Add setFrameProcessingExecutors API
* Ensure captures are not blocked by frame processing
* Wait for first frame in onStartPreview
* Enable abortCaptures()
* Improve testFrameProcessing_format
* Improve testFrameProcessing_format again
* Check engine state after picture metering - Fixes#685
* Ensure actions are only started in a valid holder state - Fixes#669
* Improve size selection
* Add PictureFormat definition
* Change PictureResult to reflect new format
* Throw if toBitmap is called with a DNG file
* Update the CameraView interface to support PictureFormat
* Implement DNG support into the CameraEngine, restart if needed
* Make CameraOptions engine aware
* Fix action bug
* Make CameraOptions check RAW availability
* Complete engine/options logic for RAW
* Add RAW control to demo app
* Ensure toBitmap does not crash in demo
* RAW support inside Full2PictureRecorder
* Add DNG test, fix implementation bugs
* Add option to see RAW result through share option
* Enable RAW toBitmap for API 24+
* Add documentation
* Improve documentation
* Change tests
* Small change
* Add cameraPictureMetering and cameraPictureSnapshotMetering
* Adapt Meter and metering package to picture use
* Simplify Full2PictureRecorder, we'll use metering package instead
* Add doMetering parameter
* Implement cameraPictureMetering and cameraPictureSnapshotMetering in engine
* Add options in demo app
* Add better logs
* Add Snapshot2PictureRecorder
* Capture the correct frame based on timestamp
* Lock AE and AWB. Account for captureBuilder changes
* Fix runtime flash changes bug
* Small changes
* Flash support for metered snapshots
* Remove AE and AWB locks
* Lock AE/AWB/AF inside the snapshot recorder
* Small changes
* Fix AutoExposure metering
* Create Locker and locking.* parameters
* Implement Locker in Camera2Engine
* Implement reset delay in Camera2Engine instead of Meter
* Simplify Snapshot2PictureRecorder
* Fix success value
* Unlock inside Camera2Engine
* Do not lock for normal gestures
* Simplify logic
* Improve locking/AutoFocus
* Fix TORCH bug
* Small changes to locking and metering
* Remove AF and AWB for testing
* Create action package
* Create OneShotAction
* Create LogAction
* Revisit Full2VideoRecorder using actions
* Revisit Full2PictureRecorder using actions
* Enable missing functionality in Snapshot2PictureRecorder
* Move Snapshot2PictureRecorder using actions, rewrite lock package
* Add TimeoutAction
* Add comments to the action package
* Add meter package
* Remove old metering package
* Fix various bugs
* Add action.abort()
* Abort old MeterAction when running new ones
* Fix various bugs
* Add doc empty page
* Add documentation
* Fix tests
* New approach for metering
* Include AWB
* Complete AWB integration
* Rearrange code into MeteringParameters objects
* Add FORCED_END_DELAY into Meter
* Small changes
* Improve Camera2 pictures speed and quality
* Extend auto focus functionality to more cameras
* Move Mapper to own package
* Refactor Camera1Mapper
* Refactor Camera2Mapper
* Rename mapper methods
* Add Camera2MapperTests
* Fix success parameter
* Fix focus when zooming
* Ensure copied filters have right size
* Create MultiFilter base implementation
* Working implementation with replaceAll hack
* Implement OneParameterFilter and TwoParameterFilter in MultiFilter
* Add docs
* Add tests
* Fix rotation issues
* Fix tests and cleanup
* Small improvements
* Create DeviceEncoders
* Prefer hardware encoders, adjust size and bitrate
* Do the same for video frame rate
* Fix docs
* Rename CameraView method
* Fix DeviceEncoders comparator
* Add tests
* Fix tests
* Fix tests again
* Scale down based on encoder requirements
* Add DeviceEncoders MODE_ values
* Use DeviceEncoders for full videos as well
* Fix small bug
* Add FILTER_CONTROL_1 and FILTER_CONTROL_2 to control filters with gestures
* Improve TintFilter and DuotoneFilter
* Display current filter in DemoApp
* Fix potential bug
* Rename outputSize
* Fix tests
* added shader effects
* added setting shaders
* intermediate commit
* added shader implementation
* refatored code
* implemented initial effects
* modified few filters
* modified all effects
* implemented shader while taking picture and video
* updated all effects
* modified all filters range to 0.0f-1.0f
* added control to filter
* added shader effects
* added setting shaders
* intermediate commit
* added shader implementation
* refatored code
* implemented initial effects
* modified few filters
* modified all effects
* implemented shader while taking picture and video
* updated all effects
* modified all filters range to 0.0f-1.0f
* added control to filter
* modified shaders and removed the glsurfaceview dependency
* changed folder structure
* changed allignmen and filters
* added annotations
* code refacor
* changed effect name to filters
* changed filter implementation for image and video
* fixed for travis build