├── README.md ├── adjust.png ├── android ├── FilterEngineDemo │ ├── .gitignore │ ├── .idea │ │ ├── caches │ │ │ └── build_file_checksums.ser │ │ ├── codeStyles │ │ │ └── Project.xml │ │ ├── dictionaries │ │ │ └── zhouhaibo.xml │ │ ├── gradle.xml │ │ ├── misc.xml │ │ └── runConfigurations.xml │ ├── app │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── me │ │ │ │ └── filterenginedemo │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── me │ │ │ │ │ └── filterenginedemo │ │ │ │ │ ├── CameraFilterActivity.java │ │ │ │ │ ├── ImageFilterActivity.java │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ ├── MeApplication.java │ │ │ │ │ ├── VideoFilterActivity.java │ │ │ │ │ ├── fragment │ │ │ │ │ ├── ConstantFilters.java │ │ │ │ │ ├── Filter.java │ │ │ │ │ ├── FilterFragment.java │ │ │ │ │ └── NumberSeekBar.java │ │ │ │ │ └── view │ │ │ │ │ └── ImageFilterView.java │ │ │ └── res │ │ │ │ ├── anim │ │ │ │ ├── translate_dialog_in.xml │ │ │ │ └── translate_dialog_out.xml │ │ │ │ ├── drawable-nodpi │ │ │ │ ├── amaro.jpg │ │ │ │ ├── amatorka.jpg │ │ │ │ ├── antique.jpg │ │ │ │ ├── blackcat.jpg │ │ │ │ ├── brannan.jpg │ │ │ │ ├── calm.jpg │ │ │ │ ├── cool.jpg │ │ │ │ ├── crayon.jpg │ │ │ │ ├── earlybird.jpg │ │ │ │ ├── emerald.jpg │ │ │ │ ├── evergreen.jpg │ │ │ │ ├── fairytale.jpg │ │ │ │ ├── healthy.jpg │ │ │ │ ├── hefe.jpg │ │ │ │ ├── highkey.jpg │ │ │ │ ├── hudson.jpg │ │ │ │ ├── i1977.jpg │ │ │ │ ├── inkwell.jpg │ │ │ │ ├── kelvin.jpg │ │ │ │ ├── latte.jpg │ │ │ │ ├── lomo.jpg │ │ │ │ ├── nashville.jpg │ │ │ │ ├── nostalgia.jpg │ │ │ │ ├── origin.jpg │ │ │ │ ├── rise.jpg │ │ │ │ ├── romance.jpg │ │ │ │ ├── sakura.jpg │ │ │ │ ├── sierra.jpg │ │ │ │ ├── sketch.jpg │ │ │ │ ├── sunrise.jpg │ │ │ │ ├── sunset.jpg │ │ │ │ ├── sutro.jpg │ │ │ │ ├── sweets.jpg │ │ │ │ ├── tender.jpg │ │ │ │ ├── toaster.jpg │ │ │ │ ├── valencia.jpg │ │ │ │ ├── walden.jpg │ │ │ │ ├── warm.jpg │ │ │ │ ├── whitecat.jpg │ │ │ │ └── xproll.jpg │ │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ │ ├── drawable │ │ │ │ ├── bg_publish_seekbar.xml │ │ │ │ ├── bgview.jpg │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ ├── icon_adjust_brightness.png │ │ │ │ ├── icon_adjust_contrast.png │ │ │ │ ├── icon_adjust_exposure.png │ │ │ │ ├── icon_adjust_hue.png │ │ │ │ ├── icon_adjust_off.png │ │ │ │ ├── icon_adjust_on.png │ │ │ │ ├── icon_adjust_saturation.png │ │ │ │ ├── icon_adjust_sharpen.png │ │ │ │ ├── icon_beautify_off.png │ │ │ │ ├── icon_beautify_on.png │ │ │ │ ├── icon_bigeye.png │ │ │ │ ├── icon_blur.png │ │ │ │ ├── icon_filter_off.png │ │ │ │ ├── icon_filter_on.png │ │ │ │ ├── icon_redden.png │ │ │ │ ├── icon_whitening.png │ │ │ │ ├── play_seek_bar.xml │ │ │ │ └── thumb_seek_normal.xml │ │ │ │ ├── layout │ │ │ │ ├── activity_image_filter.xml │ │ │ │ ├── activity_main.xml │ │ │ │ ├── activity_video_filter.xml │ │ │ │ ├── filter_item.xml │ │ │ │ ├── filter_list_item.xml │ │ │ │ └── fragment_filter.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ │ └── values │ │ │ │ ├── attr.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── me │ │ │ └── filterenginedemo │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── filterengine │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── me │ │ │ │ └── filterengine │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets │ │ │ │ └── filters │ │ │ │ │ ├── I1977 │ │ │ │ │ ├── config │ │ │ │ │ └── nmap.png │ │ │ │ │ ├── amaro │ │ │ │ │ ├── amaro_map.png │ │ │ │ │ ├── blackboard.png │ │ │ │ │ ├── config │ │ │ │ │ └── overlay_map.png │ │ │ │ │ ├── amatorka │ │ │ │ │ ├── amatorka.png │ │ │ │ │ └── config │ │ │ │ │ ├── antique │ │ │ │ │ ├── config │ │ │ │ │ └── curve.bin │ │ │ │ │ ├── blackcat │ │ │ │ │ ├── config │ │ │ │ │ └── curve.bin │ │ │ │ │ ├── brannan │ │ │ │ │ ├── brannan_blowout.png │ │ │ │ │ ├── brannan_contrast.png │ │ │ │ │ ├── brannan_luma.png │ │ │ │ │ ├── brannan_process.png │ │ │ │ │ ├── brannan_screen.png │ │ │ │ │ └── config │ │ │ │ │ ├── calm │ │ │ │ │ ├── config │ │ │ │ │ ├── curve.bin │ │ │ │ │ ├── mask.jpg │ │ │ │ │ └── mask1.jpg │ │ │ │ │ ├── cool │ │ │ │ │ ├── config │ │ │ │ │ └── curve.bin │ │ │ │ │ ├── crayon │ │ │ │ │ └── config │ │ │ │ │ ├── earlybird │ │ │ │ │ ├── config │ │ │ │ │ ├── earlybird_blowout.png │ │ │ │ │ ├── earlybird_curves.png │ │ │ │ │ ├── earlybird_map.png │ │ │ │ │ ├── earlybird_overlay_map.png │ │ │ │ │ └── vignette_map.png │ │ │ │ │ ├── emerald │ │ │ │ │ ├── config │ │ │ │ │ └── curve.bin │ │ │ │ │ ├── evergreen │ │ │ │ │ ├── config │ │ │ │ │ └── curve.bin │ │ │ │ │ ├── fairytale │ │ │ │ │ ├── config │ │ │ │ │ └── fairy_tale.png │ │ │ │ │ ├── filter.jpg │ │ │ │ │ ├── healthy │ │ │ │ │ ├── config │ │ │ │ │ ├── curve.bin │ │ │ │ │ └── mask.jpg │ │ │ │ │ ├── hefe │ │ │ │ │ ├── config │ │ │ │ │ ├── edge_burn.png │ │ │ │ │ ├── hefe_gradient_map.png │ │ │ │ │ ├── hefe_map.png │ │ │ │ │ ├── hefe_metal.png │ │ │ │ │ └── hefe_soft_light.png │ │ │ │ │ ├── highkey │ │ │ │ │ ├── config │ │ │ │ │ └── lookup_highkey.png │ │ │ │ │ ├── hudson │ │ │ │ │ ├── config │ │ │ │ │ ├── hudson_background.png │ │ │ │ │ ├── hudson_map.png │ │ │ │ │ └── overlay_map.png │ │ │ │ │ ├── icon │ │ │ │ │ └── origin.jpg │ │ │ │ │ ├── inkwell │ │ │ │ │ ├── config │ │ │ │ │ └── inkwell.png │ │ │ │ │ ├── kelvin │ │ │ │ │ ├── config │ │ │ │ │ └── kelvin_map.png │ │ │ │ │ ├── latte │ │ │ │ │ ├── config │ │ │ │ │ └── curve.bin │ │ │ │ │ ├── lomo │ │ │ │ │ ├── config │ │ │ │ │ ├── lomo_map.png │ │ │ │ │ └── vignette_map.png │ │ │ │ │ ├── nashville │ │ │ │ │ ├── config │ │ │ │ │ └── nashville_map.png │ │ │ │ │ ├── nostalgia │ │ │ │ │ ├── config │ │ │ │ │ ├── curve.bin │ │ │ │ │ └── curve1.bin │ │ │ │ │ ├── rise │ │ │ │ │ ├── blackboard.png │ │ │ │ │ ├── config │ │ │ │ │ ├── overlay_map.png │ │ │ │ │ └── rise_map.png │ │ │ │ │ ├── romance │ │ │ │ │ ├── config │ │ │ │ │ └── curve.bin │ │ │ │ │ ├── sakura │ │ │ │ │ ├── config │ │ │ │ │ └── curve.bin │ │ │ │ │ ├── sierra │ │ │ │ │ ├── config │ │ │ │ │ ├── overlay_map.png │ │ │ │ │ ├── sierra_map.png │ │ │ │ │ └── sierra_vignette.png │ │ │ │ │ ├── sketch │ │ │ │ │ └── config │ │ │ │ │ ├── sunrise │ │ │ │ │ ├── config │ │ │ │ │ ├── curve.bin │ │ │ │ │ ├── mask.jpg │ │ │ │ │ ├── mask1.jpg │ │ │ │ │ └── mask2.jpg │ │ │ │ │ ├── sunset │ │ │ │ │ ├── config │ │ │ │ │ ├── curve.bin │ │ │ │ │ ├── mask.jpg │ │ │ │ │ └── mask1.jpg │ │ │ │ │ ├── sutro │ │ │ │ │ ├── config │ │ │ │ │ ├── soft_light.png │ │ │ │ │ ├── sutro_curves.png │ │ │ │ │ ├── sutro_edge_burn.png │ │ │ │ │ ├── sutro_metal.png │ │ │ │ │ └── vignette_map.png │ │ │ │ │ ├── sweets │ │ │ │ │ ├── config │ │ │ │ │ ├── curve.bin │ │ │ │ │ └── mask.jpg │ │ │ │ │ ├── tender │ │ │ │ │ ├── config │ │ │ │ │ ├── curve.bin │ │ │ │ │ └── mask.jpg │ │ │ │ │ ├── toaster │ │ │ │ │ ├── config │ │ │ │ │ ├── toaster_color_shift.png │ │ │ │ │ ├── toaster_curves.png │ │ │ │ │ ├── toaster_metal.png │ │ │ │ │ ├── toaster_overlay_map_warm.png │ │ │ │ │ └── toaster_soft_light.png │ │ │ │ │ ├── valencia │ │ │ │ │ ├── config │ │ │ │ │ ├── valencia_gradient_map.png │ │ │ │ │ └── valencia_map.png │ │ │ │ │ ├── walden │ │ │ │ │ ├── config │ │ │ │ │ ├── vignette_map.png │ │ │ │ │ └── walden_map.png │ │ │ │ │ ├── warm │ │ │ │ │ ├── config │ │ │ │ │ ├── curve.bin │ │ │ │ │ ├── mask.jpg │ │ │ │ │ └── mask1.jpg │ │ │ │ │ ├── whitecat │ │ │ │ │ ├── config │ │ │ │ │ └── curve.bin │ │ │ │ │ └── xproll │ │ │ │ │ ├── config │ │ │ │ │ ├── vignette_map.png │ │ │ │ │ └── xpro_map.png │ │ │ ├── cpp │ │ │ │ ├── filter_handler_jni.cpp │ │ │ │ └── filter_handler_jni.h │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── me │ │ │ │ │ └── filterengine │ │ │ │ │ ├── FileUtils.java │ │ │ │ │ └── FilterHandler.java │ │ │ ├── jniLibs │ │ │ │ └── armeabi-v7a │ │ │ │ │ ├── include │ │ │ │ │ ├── libavcodec │ │ │ │ │ │ ├── avcodec.h │ │ │ │ │ │ ├── avdct.h │ │ │ │ │ │ ├── avfft.h │ │ │ │ │ │ ├── d3d11va.h │ │ │ │ │ │ ├── dirac.h │ │ │ │ │ │ ├── dv_profile.h │ │ │ │ │ │ ├── dxva2.h │ │ │ │ │ │ ├── jni.h │ │ │ │ │ │ ├── mediacodec.h │ │ │ │ │ │ ├── qsv.h │ │ │ │ │ │ ├── vaapi.h │ │ │ │ │ │ ├── vda.h │ │ │ │ │ │ ├── vdpau.h │ │ │ │ │ │ ├── version.h │ │ │ │ │ │ ├── videotoolbox.h │ │ │ │ │ │ ├── vorbis_parser.h │ │ │ │ │ │ └── xvmc.h │ │ │ │ │ ├── libavdevice │ │ │ │ │ │ ├── avdevice.h │ │ │ │ │ │ └── version.h │ │ │ │ │ ├── libavfilter │ │ │ │ │ │ ├── avfilter.h │ │ │ │ │ │ ├── avfiltergraph.h │ │ │ │ │ │ ├── buffersink.h │ │ │ │ │ │ ├── buffersrc.h │ │ │ │ │ │ └── version.h │ │ │ │ │ ├── libavformat │ │ │ │ │ │ ├── avc.h │ │ │ │ │ │ ├── avformat.h │ │ │ │ │ │ ├── avio.h │ │ │ │ │ │ ├── internal.h │ │ │ │ │ │ ├── url.h │ │ │ │ │ │ └── version.h │ │ │ │ │ ├── libavresample │ │ │ │ │ │ ├── avresample.h │ │ │ │ │ │ └── version.h │ │ │ │ │ ├── libavutil │ │ │ │ │ │ ├── adler32.h │ │ │ │ │ │ ├── aes.h │ │ │ │ │ │ ├── aes_ctr.h │ │ │ │ │ │ ├── application.h │ │ │ │ │ │ ├── attributes.h │ │ │ │ │ │ ├── audio_fifo.h │ │ │ │ │ │ ├── avassert.h │ │ │ │ │ │ ├── avconfig.h │ │ │ │ │ │ ├── avstring.h │ │ │ │ │ │ ├── avutil.h │ │ │ │ │ │ ├── base64.h │ │ │ │ │ │ ├── blowfish.h │ │ │ │ │ │ ├── bprint.h │ │ │ │ │ │ ├── bswap.h │ │ │ │ │ │ ├── buffer.h │ │ │ │ │ │ ├── camellia.h │ │ │ │ │ │ ├── cast5.h │ │ │ │ │ │ ├── channel_layout.h │ │ │ │ │ │ ├── common.h │ │ │ │ │ │ ├── cpu.h │ │ │ │ │ │ ├── crc.h │ │ │ │ │ │ ├── des.h │ │ │ │ │ │ ├── dict.h │ │ │ │ │ │ ├── display.h │ │ │ │ │ │ ├── dns_cache.h │ │ │ │ │ │ ├── downmix_info.h │ │ │ │ │ │ ├── error.h │ │ │ │ │ │ ├── eval.h │ │ │ │ │ │ ├── ffversion.h │ │ │ │ │ │ ├── fifo.h │ │ │ │ │ │ ├── file.h │ │ │ │ │ │ ├── frame.h │ │ │ │ │ │ ├── hash.h │ │ │ │ │ │ ├── hmac.h │ │ │ │ │ │ ├── hwcontext.h │ │ │ │ │ │ ├── hwcontext_cuda.h │ │ │ │ │ │ ├── hwcontext_d3d11va.h │ │ │ │ │ │ ├── hwcontext_drm.h │ │ │ │ │ │ ├── hwcontext_dxva2.h │ │ │ │ │ │ ├── hwcontext_qsv.h │ │ │ │ │ │ ├── hwcontext_vaapi.h │ │ │ │ │ │ ├── hwcontext_vdpau.h │ │ │ │ │ │ ├── hwcontext_videotoolbox.h │ │ │ │ │ │ ├── imgutils.h │ │ │ │ │ │ ├── intfloat.h │ │ │ │ │ │ ├── intreadwrite.h │ │ │ │ │ │ ├── lfg.h │ │ │ │ │ │ ├── log.h │ │ │ │ │ │ ├── lzo.h │ │ │ │ │ │ ├── macros.h │ │ │ │ │ │ ├── mastering_display_metadata.h │ │ │ │ │ │ ├── mathematics.h │ │ │ │ │ │ ├── md5.h │ │ │ │ │ │ ├── mem.h │ │ │ │ │ │ ├── motion_vector.h │ │ │ │ │ │ ├── murmur3.h │ │ │ │ │ │ ├── opt.h │ │ │ │ │ │ ├── parseutils.h │ │ │ │ │ │ ├── pixdesc.h │ │ │ │ │ │ ├── pixelutils.h │ │ │ │ │ │ ├── pixfmt.h │ │ │ │ │ │ ├── random_seed.h │ │ │ │ │ │ ├── rational.h │ │ │ │ │ │ ├── rc4.h │ │ │ │ │ │ ├── replaygain.h │ │ │ │ │ │ ├── ripemd.h │ │ │ │ │ │ ├── samplefmt.h │ │ │ │ │ │ ├── sha.h │ │ │ │ │ │ ├── sha512.h │ │ │ │ │ │ ├── spherical.h │ │ │ │ │ │ ├── stereo3d.h │ │ │ │ │ │ ├── tea.h │ │ │ │ │ │ ├── thread.h │ │ │ │ │ │ ├── threadmessage.h │ │ │ │ │ │ ├── time.h │ │ │ │ │ │ ├── timecode.h │ │ │ │ │ │ ├── timestamp.h │ │ │ │ │ │ ├── tree.h │ │ │ │ │ │ ├── twofish.h │ │ │ │ │ │ ├── version.h │ │ │ │ │ │ └── xtea.h │ │ │ │ │ ├── libffmpeg │ │ │ │ │ │ └── config.h │ │ │ │ │ ├── libpostproc │ │ │ │ │ │ ├── postprocess.h │ │ │ │ │ │ └── version.h │ │ │ │ │ ├── libswresample │ │ │ │ │ │ ├── swresample.h │ │ │ │ │ │ └── version.h │ │ │ │ │ └── libswscale │ │ │ │ │ │ ├── swscale.h │ │ │ │ │ │ └── version.h │ │ │ │ │ └── libijkffmpeg.so │ │ │ └── res │ │ │ │ └── values │ │ │ │ └── strings.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── me │ │ │ └── filterengine │ │ │ └── ExampleUnitTest.java │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── Readme.md ├── beautify.png ├── filter.gif └── src ├── beautify ├── beautify_filter.cpp ├── beautify_filter.h ├── beautify_manager.cpp └── beautify_manager.h ├── common ├── common.h ├── filter_interface.cpp ├── filter_interface.h └── platform.h ├── decoder ├── picture_decoder.cpp └── picture_decoder.h ├── effect ├── effect_interface.cpp └── effect_interface.h ├── filter ├── adjust │ ├── adjust_filter.cpp │ ├── adjust_filter.h │ ├── adjust_filter_manager.cpp │ └── adjust_filter_manager.h ├── advanced │ ├── I1977_filter.cpp │ ├── I1977_filter.h │ ├── amaro_filter.cpp │ ├── amaro_filter.h │ ├── brannan_filter.cpp │ ├── brannan_filter.h │ ├── earlybird_filter.cpp │ ├── earlybird_filter.h │ ├── hefe_filter.cpp │ ├── hefe_filter.h │ ├── hudson_filter.cpp │ ├── hudson_filter.h │ ├── inkwell_filter.cpp │ ├── inkwell_filter.h │ ├── lomo_filter.cpp │ ├── lomo_filter.h │ ├── lordkelvin_filter.cpp │ ├── lordkelvin_filter.h │ ├── nashville_filter.cpp │ ├── nashville_filter.h │ ├── rise_filter.cpp │ ├── rise_filter.h │ ├── sierra_filter.cpp │ ├── sierra_filter.h │ ├── sutro_filter.cpp │ ├── sutro_filter.h │ ├── toaster_filter.cpp │ ├── toaster_filter.h │ ├── valencia_filter.cpp │ ├── valencia_filter.h │ ├── walden_filter.cpp │ ├── walden_filter.h │ ├── xproll_filter.cpp │ └── xproll_filter.h ├── base │ ├── multi_input_filter.cpp │ └── multi_input_filter.h ├── filter_factory.cpp ├── filter_factory.h ├── filter_manager.cpp ├── filter_manager.h └── normal │ ├── antique_filter.cpp │ ├── antique_filter.h │ ├── blackcat_filter.cpp │ ├── blackcat_filter.h │ ├── calm_filter.cpp │ ├── calm_filter.h │ ├── cool_filter.cpp │ ├── cool_filter.h │ ├── crayon_filter.cpp │ ├── crayon_filter.h │ ├── emerald_filter.cpp │ ├── emerald_filter.h │ ├── evergreen_filter.cpp │ ├── evergreen_filter.h │ ├── healthy_filter.cpp │ ├── healthy_filter.h │ ├── latte_filter.cpp │ ├── latte_filter.h │ ├── lookup_filter.cpp │ ├── lookup_filter.h │ ├── nostalgia_filter.cpp │ ├── nostalgia_filter.h │ ├── romance_filter.cpp │ ├── romance_filter.h │ ├── sakura_filter.cpp │ ├── sakura_filter.h │ ├── sketch_filter.cpp │ ├── sketch_filter.h │ ├── sunrise_filter.cpp │ ├── sunrise_filter.h │ ├── sunset_filter.cpp │ ├── sunset_filter.h │ ├── sweets_filter.cpp │ ├── sweets_filter.h │ ├── tender_filter.cpp │ ├── tender_filter.h │ ├── warm_filter.cpp │ ├── warm_filter.h │ ├── whitecat_filter.cpp │ └── whitecat_filter.h ├── filter_handler.cpp ├── filter_handler.h └── utils ├── common_utils.cpp ├── common_utils.h ├── default_drawer.cpp ├── default_drawer.h ├── gl_utils.cpp ├── gl_utils.h ├── parse_config.cpp └── parse_config.h /README.md: -------------------------------------------------------------------------------- 1 | # filter-effect-engine 2 | Real-Time Image & Camera Filters Based on OpenGLES(移动端Android/IOS实时的图片/相机美颜、特效、滤镜项目) 3 | 4 | ## 简介 5 | * 包含美颜(美白、磨皮、红润)、自定义色彩调节(亮度、对比度、曝光、色调、锐化、饱和度)、以及几十款高级实时滤镜,其中每一款高级实时滤镜做成了zip包的形式方便使用。 6 | * 滤镜核心功能由C++代码实现,可以实现Android/IOS跨平台使用 7 | * 目前Demo较为简单,只提供了Android端Demo,后续有时间再整理 8 | 9 | ### 效果截图 10 | * 美颜 11 | 12 | ![img](https://github.com/zhouhaibocn/filter-effect-engine/blob/master/beautify.png) 13 | 14 | * 自定义色彩调节 15 | 16 | ![img](https://github.com/zhouhaibocn/filter-effect-engine/blob/master/adjust.png) 17 | 18 | * 滤镜 19 | 20 | ![img](https://github.com/zhouhaibocn/filter-effect-engine/blob/master/filter.gif) 21 | 22 | 23 | -------------------------------------------------------------------------------- /adjust.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/adjust.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/libraries 5 | /.idea/modules.xml 6 | /.idea/workspace.xml 7 | .DS_Store 8 | /build 9 | /captures 10 | .externalNativeBuild 11 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /android/FilterEngineDemo/.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 15 | 16 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/.idea/dictionaries/zhouhaibo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 19 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 27 | 28 | 29 | 30 | 31 | 32 | 34 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 27 5 | defaultConfig { 6 | applicationId "com.me.filterenginedemo" 7 | minSdkVersion 21 8 | targetSdkVersion 27 9 | versionCode 1 10 | versionName "1.0" 11 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 12 | } 13 | buildTypes { 14 | release { 15 | minifyEnabled false 16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 | } 18 | } 19 | } 20 | 21 | dependencies { 22 | implementation project(':filterengine') 23 | implementation fileTree(dir: 'libs', include: ['*.jar']) 24 | implementation 'com.android.support:appcompat-v7:27.1.1' 25 | implementation 'com.android.support:recyclerview-v7:26.1.0' 26 | implementation 'de.hdodenhof:circleimageview:2.0.0' 27 | implementation 'com.android.support.constraint:constraint-layout:1.1.3' 28 | testImplementation 'junit:junit:4.12' 29 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 30 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 31 | } 32 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/androidTest/java/com/me/filterenginedemo/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.me.filterenginedemo; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumented test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("com.me.filterenginedemo", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 18 | 19 | 27 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 39 | 40 | 41 | 42 | 43 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/java/com/me/filterenginedemo/CameraFilterActivity.java: -------------------------------------------------------------------------------- 1 | package com.me.filterenginedemo; 2 | 3 | public class CameraFilterActivity { 4 | } 5 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/java/com/me/filterenginedemo/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.me.filterenginedemo; 2 | 3 | import android.Manifest; 4 | import android.content.Intent; 5 | import android.content.pm.PackageManager; 6 | import android.support.v4.app.ActivityCompat; 7 | import android.support.v4.content.ContextCompat; 8 | import android.support.v7.app.AppCompatActivity; 9 | import android.os.Bundle; 10 | import android.view.View; 11 | 12 | public class MainActivity extends AppCompatActivity { 13 | 14 | private static final int REQUEST_PERMISSION = 100; 15 | 16 | private void checkPermissions() { 17 | if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED 18 | || ContextCompat.checkSelfPermission(this, android.Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ 19 | ActivityCompat.requestPermissions(this, new String[]{ 20 | android.Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE 21 | }, REQUEST_PERMISSION); 22 | } 23 | } 24 | 25 | @Override 26 | protected void onCreate(Bundle savedInstanceState) { 27 | super.onCreate(savedInstanceState); 28 | setContentView(R.layout.activity_main); 29 | 30 | checkPermissions(); 31 | } 32 | 33 | public void ImageFilterDemo(View view){ 34 | startActivity(new Intent(MainActivity.this, ImageFilterActivity.class)); 35 | } 36 | 37 | public void CameraFilterDemo(View view){ 38 | startActivity(new Intent(MainActivity.this, CameraFilterActivity.class)); 39 | } 40 | 41 | public void VideoFilterDemo(View view){ 42 | startActivity(new Intent(MainActivity.this, VideoFilterActivity.class)); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/java/com/me/filterenginedemo/MeApplication.java: -------------------------------------------------------------------------------- 1 | package com.me.filterenginedemo; 2 | 3 | import android.app.Application; 4 | import android.content.Context; 5 | import android.os.StrictMode; 6 | 7 | public class MeApplication extends Application { 8 | private static Context context; 9 | 10 | @Override 11 | public void onCreate() { 12 | super.onCreate(); 13 | context = getApplicationContext(); 14 | 15 | if (BuildConfig.DEBUG) { 16 | StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() 17 | .detectAll() 18 | .penaltyLog() 19 | .build()); 20 | StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() 21 | .detectAll() 22 | .penaltyLog() 23 | .build()); 24 | } 25 | } 26 | 27 | public static Context getContext() { 28 | return context; 29 | } 30 | } -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/java/com/me/filterenginedemo/fragment/Filter.java: -------------------------------------------------------------------------------- 1 | package com.me.filterenginedemo.fragment; 2 | 3 | public class Filter { 4 | 5 | private String name; 6 | private int imageId; 7 | 8 | public Filter(String name, int imageId) { 9 | this.name = name; 10 | this.imageId = imageId; 11 | } 12 | public String getName() { 13 | return name; 14 | } 15 | 16 | public int getImageId() { 17 | return imageId; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/anim/translate_dialog_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/anim/translate_dialog_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/amaro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/amaro.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/amatorka.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/amatorka.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/antique.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/antique.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/blackcat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/blackcat.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/brannan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/brannan.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/calm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/calm.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/cool.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/cool.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/crayon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/crayon.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/earlybird.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/earlybird.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/emerald.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/emerald.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/evergreen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/evergreen.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/fairytale.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/fairytale.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/healthy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/healthy.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/hefe.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/hefe.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/highkey.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/highkey.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/hudson.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/hudson.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/i1977.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/i1977.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/inkwell.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/inkwell.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/kelvin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/kelvin.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/latte.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/latte.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/lomo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/lomo.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/nashville.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/nashville.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/nostalgia.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/nostalgia.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/origin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/origin.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/rise.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/rise.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/romance.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/romance.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sakura.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sakura.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sierra.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sierra.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sketch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sketch.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sunrise.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sunrise.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sunset.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sunset.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sutro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sutro.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sweets.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/sweets.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/tender.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/tender.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/toaster.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/toaster.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/valencia.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/valencia.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/walden.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/walden.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/warm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/warm.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/whitecat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/whitecat.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-nodpi/xproll.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable-nodpi/xproll.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 12 | 13 | 19 | 22 | 25 | 26 | 27 | 28 | 34 | 35 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/bg_publish_seekbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/bgview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/bgview.jpg -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_brightness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_brightness.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_contrast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_contrast.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_exposure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_exposure.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_hue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_hue.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_off.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_on.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_saturation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_saturation.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_sharpen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_adjust_sharpen.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_beautify_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_beautify_off.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_beautify_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_beautify_on.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_bigeye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_bigeye.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_blur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_blur.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_filter_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_filter_off.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_filter_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_filter_on.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_redden.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_redden.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/icon_whitening.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhouhaibocn/filter-effect-engine/5b230bff76a805d473b7dc1c252c795e16a2cf6f/android/FilterEngineDemo/app/src/main/res/drawable/icon_whitening.png -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/play_seek_bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/drawable/thumb_seek_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /android/FilterEngineDemo/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 |