├── .gitignore ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── herohan │ │ └── uvcapp │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── ic_launcher-playstore.png │ ├── java │ │ └── com │ │ │ └── herohan │ │ │ └── uvcapp │ │ │ ├── MyApplication.java │ │ │ ├── activity │ │ │ └── MainActivity.java │ │ │ ├── adapter │ │ │ └── DeviceItemRecyclerViewAdapter.java │ │ │ ├── fragment │ │ │ ├── CameraControlsDialogFragment.java │ │ │ ├── DeviceListDialogFragment.java │ │ │ └── VideoFormatDialogFragment.java │ │ │ └── utils │ │ │ ├── SaveHelper.java │ │ │ └── TimeFormatter.java │ └── res │ │ ├── drawable-anydpi │ │ ├── ic_action_camera.xml │ │ ├── ic_action_control.xml │ │ ├── ic_action_usb.xml │ │ └── ic_action_video.xml │ │ ├── drawable-hdpi │ │ ├── ic_action_camera.png │ │ ├── ic_action_control.png │ │ ├── ic_action_usb.png │ │ ├── ic_action_video.png │ │ ├── ic_switch_camera.png │ │ └── ic_switch_video.png │ │ ├── drawable-mdpi │ │ ├── ic_action_camera.png │ │ ├── ic_action_control.png │ │ ├── ic_action_usb.png │ │ └── ic_action_video.png │ │ ├── drawable-xhdpi │ │ ├── ic_action_camera.png │ │ ├── ic_action_control.png │ │ ├── ic_action_usb.png │ │ └── ic_action_video.png │ │ ├── drawable-xxhdpi │ │ ├── ic_action_camera.png │ │ ├── ic_action_control.png │ │ ├── ic_action_usb.png │ │ └── ic_action_video.png │ │ ├── drawable │ │ ├── ic_launcher_background.xml │ │ ├── ic_launcher_foreground.xml │ │ └── ic_record_red_dot.xml │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── fragment_camera_controls.xml │ │ ├── fragment_device_item.xml │ │ ├── fragment_device_list.xml │ │ └── fragment_video_format.xml │ │ ├── menu │ │ └── menu_main.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-land │ │ └── dimens.xml │ │ ├── values-night │ │ ├── styles.xml │ │ └── themes.xml │ │ ├── values-w1240dp │ │ └── dimens.xml │ │ ├── values-w600dp │ │ └── dimens.xml │ │ └── values │ │ ├── attrs_my_view.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ ├── styles.xml │ │ └── themes.xml │ └── test │ └── java │ └── com │ └── herohan │ └── uvcapp │ └── ExampleUnitTest.java ├── build.gradle ├── demo ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── herohan │ │ └── uvcdemo │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── herohan │ │ │ └── uvcdemo │ │ │ ├── BasicPreviewActivity.java │ │ │ ├── CustomPreviewActivity.java │ │ │ ├── EntryActivity.java │ │ │ ├── MultiCameraActivity.java │ │ │ ├── MultiCameraNewActivity.java │ │ │ ├── MultiPreviewActivity.java │ │ │ ├── RecordVideoActivity.java │ │ │ ├── SetFrameCallbackActivity.java │ │ │ ├── TakePictureActivity.java │ │ │ ├── adapter │ │ │ └── DeviceItemRecyclerViewAdapter.java │ │ │ ├── fragment │ │ │ ├── CameraControlsDialogFragment.java │ │ │ ├── DeviceListDialogFragment.java │ │ │ └── VideoFormatDialogFragment.java │ │ │ └── utils │ │ │ ├── CustomFPS.java │ │ │ └── NV21ToBitmap.java │ └── res │ │ ├── drawable-hdpi │ │ ├── ic_switch_camera.png │ │ └── ic_switch_video.png │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── ic_action_control.xml │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ ├── activity_basic_preview.xml │ │ ├── activity_custom_preview.xml │ │ ├── activity_entry.xml │ │ ├── activity_multi_camera.xml │ │ ├── activity_multi_camera_new.xml │ │ ├── activity_multi_preview.xml │ │ ├── activity_record_video.xml │ │ ├── activity_set_frame_callback.xml │ │ ├── activity_take_picture.xml │ │ ├── fragment_camera_controls.xml │ │ ├── fragment_device_item.xml │ │ ├── fragment_device_list.xml │ │ └── fragment_video_format.xml │ │ ├── menu │ │ └── menu_custom_preview.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values-night │ │ └── themes.xml │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ ├── styles.xml │ │ └── themes.xml │ └── test │ └── java │ └── com │ └── herohan │ └── uvcdemo │ └── ExampleUnitTest.java ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── libuvccamera ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ ├── herohan │ │ └── uvcapp │ │ │ ├── CameraConnectionService.java │ │ │ ├── CameraException.java │ │ │ ├── CameraHelper.java │ │ │ ├── CameraInternal.java │ │ │ ├── CameraPreviewConfig.java │ │ │ ├── CameraRendererHolder.java │ │ │ ├── ICameraConnection.java │ │ │ ├── ICameraHelper.java │ │ │ ├── ICameraInternal.java │ │ │ ├── ICameraRendererHolder.java │ │ │ ├── IImageCapture.java │ │ │ ├── ImageCapture.java │ │ │ ├── ImageCapture2.java │ │ │ ├── ImageCaptureConfig.java │ │ │ ├── ImageRawData.java │ │ │ ├── ImageSaver.java │ │ │ ├── ImageSaver2.java │ │ │ ├── VideoCapture.java │ │ │ ├── VideoCaptureConfig.java │ │ │ └── utils │ │ │ ├── VideoUtil.java │ │ │ ├── Watchdog.java │ │ │ └── WatchdogDiagnostics.java │ │ └── serenegiant │ │ ├── encoder │ │ ├── IAudioEncoder.java │ │ ├── IVideoEncoder.java │ │ ├── MediaAudioEncoder.java │ │ ├── MediaEncoder.java │ │ ├── MediaMuxerWrapper.java │ │ ├── MediaSurfaceEncoder.java │ │ ├── MediaVideoBufferEncoder.java │ │ ├── MediaVideoEncoder.java │ │ └── helper │ │ │ ├── MediaSurfaceEncoderHelper.java │ │ │ └── MediaVideoBufferEncoderHelper.java │ │ ├── opengl │ │ ├── EGLBase.java │ │ ├── EGLBase10.java │ │ ├── EGLBase14.java │ │ ├── EGLTask.java │ │ ├── GLDrawer2D.java │ │ ├── GLHelper.java │ │ ├── GLTexture.java │ │ ├── IDrawer2D.java │ │ ├── ITexture.java │ │ ├── ShaderConst.java │ │ ├── TextureOffscreen.java │ │ ├── renderer │ │ │ ├── IRendererHolder.java │ │ │ ├── MirrorMode.java │ │ │ ├── RendererHolder.java │ │ │ ├── RendererHolderCallback.java │ │ │ └── RendererSurface.java │ │ └── utils │ │ │ └── RenderHandler.java │ │ ├── usb │ │ ├── CameraDialog.java │ │ ├── DeviceFilter.java │ │ ├── Format.java │ │ ├── IButtonCallback.java │ │ ├── IFrameCallback.java │ │ ├── IStatusCallback.java │ │ ├── Size.java │ │ ├── USBMonitor.java │ │ ├── USBVendorId.java │ │ ├── UVCCamera.java │ │ ├── UVCControl.java │ │ └── UVCParam.java │ │ ├── utils │ │ ├── AssetsHelper.java │ │ ├── FileUtils.java │ │ ├── FpsCounter.java │ │ ├── HandlerThreadHandler.java │ │ ├── Time.java │ │ ├── UVCUtils.java │ │ ├── UriHelper.java │ │ └── ViewAnimationHelper.java │ │ └── widget │ │ ├── AspectRatioSurfaceView.java │ │ ├── AspectRatioTextureView.java │ │ ├── CameraViewInterface.java │ │ ├── IAspectRatioView.java │ │ └── UVCCameraTextureView.java │ ├── jni │ ├── Android.mk │ ├── Application.mk │ ├── CMakeLists.txt │ ├── UVCCamera │ │ ├── Android.mk │ │ ├── CMakeLists.txt │ │ ├── ConvertHelper.cpp │ │ ├── ConvertHelper.h │ │ ├── Parameters.cpp │ │ ├── Parameters.h │ │ ├── UVCButtonCallback.cpp │ │ ├── UVCButtonCallback.h │ │ ├── UVCCamera.cpp │ │ ├── UVCCamera.h │ │ ├── UVCControl.cpp │ │ ├── UVCControl.h │ │ ├── UVCPreview.cpp │ │ ├── UVCPreview.h │ │ ├── UVCStatusCallback.cpp │ │ ├── UVCStatusCallback.h │ │ ├── _onload.cpp │ │ ├── _onload.h │ │ ├── libUVCCamera.h │ │ ├── objectarray.h │ │ ├── registerUVCCamera.cpp │ │ ├── registerUVCControl.cpp │ │ └── utilbase.cpp │ ├── libjpeg-turbo │ │ ├── Android.mk │ │ ├── BUILDING.md │ │ ├── CMakeLists.txt │ │ ├── ChangeLog.md │ │ ├── LICENSE.md │ │ ├── README.ijg │ │ ├── README.md │ │ ├── cderror.h │ │ ├── cdjpeg.c │ │ ├── cdjpeg.h │ │ ├── change.log │ │ ├── cjpeg.1 │ │ ├── cjpeg.c │ │ ├── cmakescripts │ │ │ ├── BuildPackages.cmake │ │ │ ├── GNUInstallDirs.cmake │ │ │ ├── cmake_uninstall.cmake.in │ │ │ └── testclean.cmake │ │ ├── cmyk.h │ │ ├── coderules.txt │ │ ├── croptest.in │ │ ├── djpeg.1 │ │ ├── djpeg.c │ │ ├── doc │ │ │ └── html │ │ │ │ ├── annotated.html │ │ │ │ ├── bc_s.png │ │ │ │ ├── bdwn.png │ │ │ │ ├── classes.html │ │ │ │ ├── closed.png │ │ │ │ ├── doc.png │ │ │ │ ├── doxygen-extra.css │ │ │ │ ├── doxygen.css │ │ │ │ ├── doxygen.svg │ │ │ │ ├── dynsections.js │ │ │ │ ├── folderclosed.png │ │ │ │ ├── folderopen.png │ │ │ │ ├── functions.html │ │ │ │ ├── functions_vars.html │ │ │ │ ├── group___turbo_j_p_e_g.html │ │ │ │ ├── index.html │ │ │ │ ├── jquery.js │ │ │ │ ├── menu.js │ │ │ │ ├── menudata.js │ │ │ │ ├── modules.html │ │ │ │ ├── nav_f.png │ │ │ │ ├── nav_g.png │ │ │ │ ├── nav_h.png │ │ │ │ ├── open.png │ │ │ │ ├── search │ │ │ │ ├── all_0.html │ │ │ │ ├── all_0.js │ │ │ │ ├── all_1.html │ │ │ │ ├── all_1.js │ │ │ │ ├── all_2.html │ │ │ │ ├── all_2.js │ │ │ │ ├── all_3.html │ │ │ │ ├── all_3.js │ │ │ │ ├── all_4.html │ │ │ │ ├── all_4.js │ │ │ │ ├── all_5.html │ │ │ │ ├── all_5.js │ │ │ │ ├── all_6.html │ │ │ │ ├── all_6.js │ │ │ │ ├── all_7.html │ │ │ │ ├── all_7.js │ │ │ │ ├── all_8.html │ │ │ │ ├── all_8.js │ │ │ │ ├── all_9.html │ │ │ │ ├── all_9.js │ │ │ │ ├── classes_0.html │ │ │ │ ├── classes_0.js │ │ │ │ ├── close.svg │ │ │ │ ├── enums_0.html │ │ │ │ ├── enums_0.js │ │ │ │ ├── enumvalues_0.html │ │ │ │ ├── enumvalues_0.js │ │ │ │ ├── functions_0.html │ │ │ │ ├── functions_0.js │ │ │ │ ├── groups_0.html │ │ │ │ ├── groups_0.js │ │ │ │ ├── mag_sel.svg │ │ │ │ ├── nomatches.html │ │ │ │ ├── search.css │ │ │ │ ├── search.js │ │ │ │ ├── search_l.png │ │ │ │ ├── search_m.png │ │ │ │ ├── search_r.png │ │ │ │ ├── searchdata.js │ │ │ │ ├── typedefs_0.html │ │ │ │ ├── typedefs_0.js │ │ │ │ ├── variables_0.html │ │ │ │ ├── variables_0.js │ │ │ │ ├── variables_1.html │ │ │ │ ├── variables_1.js │ │ │ │ ├── variables_2.html │ │ │ │ ├── variables_2.js │ │ │ │ ├── variables_3.html │ │ │ │ ├── variables_3.js │ │ │ │ ├── variables_4.html │ │ │ │ ├── variables_4.js │ │ │ │ ├── variables_5.html │ │ │ │ ├── variables_5.js │ │ │ │ ├── variables_6.html │ │ │ │ ├── variables_6.js │ │ │ │ ├── variables_7.html │ │ │ │ ├── variables_7.js │ │ │ │ ├── variables_8.html │ │ │ │ ├── variables_8.js │ │ │ │ ├── variables_9.html │ │ │ │ └── variables_9.js │ │ │ │ ├── splitbar.png │ │ │ │ ├── structtjregion.html │ │ │ │ ├── structtjscalingfactor.html │ │ │ │ ├── structtjtransform.html │ │ │ │ ├── sync_off.png │ │ │ │ ├── sync_on.png │ │ │ │ ├── tab_a.png │ │ │ │ ├── tab_b.png │ │ │ │ ├── tab_h.png │ │ │ │ ├── tab_s.png │ │ │ │ └── tabs.css │ │ ├── doxygen-extra.css │ │ ├── doxygen.config │ │ ├── example.txt │ │ ├── fuzz │ │ │ ├── CMakeLists.txt │ │ │ ├── build.sh │ │ │ ├── cjpeg.cc │ │ │ ├── compress.cc │ │ │ ├── compress_yuv.cc │ │ │ ├── decompress.cc │ │ │ ├── decompress_yuv.cc │ │ │ └── transform.cc │ │ ├── include │ │ │ ├── jconfig.h │ │ │ ├── jconfigint.h │ │ │ ├── jerror.h │ │ │ ├── jmorecfg.h │ │ │ ├── jpeglib.h │ │ │ └── turbojpeg.h │ │ ├── jaricom.c │ │ ├── java │ │ │ ├── CMakeLists.txt │ │ │ ├── MANIFEST.MF │ │ │ ├── README │ │ │ ├── TJBench.java │ │ │ ├── TJExample.java │ │ │ ├── TJUnitTest.java │ │ │ ├── doc │ │ │ │ ├── allclasses-frame.html │ │ │ │ ├── allclasses-noframe.html │ │ │ │ ├── constant-values.html │ │ │ │ ├── deprecated-list.html │ │ │ │ ├── help-doc.html │ │ │ │ ├── index-all.html │ │ │ │ ├── index.html │ │ │ │ ├── org │ │ │ │ │ └── libjpegturbo │ │ │ │ │ │ └── turbojpeg │ │ │ │ │ │ ├── TJ.html │ │ │ │ │ │ ├── TJCompressor.html │ │ │ │ │ │ ├── TJCustomFilter.html │ │ │ │ │ │ ├── TJDecompressor.html │ │ │ │ │ │ ├── TJException.html │ │ │ │ │ │ ├── TJScalingFactor.html │ │ │ │ │ │ ├── TJTransform.html │ │ │ │ │ │ ├── TJTransformer.html │ │ │ │ │ │ ├── YUVImage.html │ │ │ │ │ │ ├── package-frame.html │ │ │ │ │ │ ├── package-summary.html │ │ │ │ │ │ └── package-tree.html │ │ │ │ ├── overview-tree.html │ │ │ │ ├── package-list │ │ │ │ ├── resources │ │ │ │ │ ├── background.gif │ │ │ │ │ ├── tab.gif │ │ │ │ │ ├── titlebar.gif │ │ │ │ │ └── titlebar_end.gif │ │ │ │ ├── script.js │ │ │ │ ├── serialized-form.html │ │ │ │ └── stylesheet.css │ │ │ ├── org │ │ │ │ └── libjpegturbo │ │ │ │ │ └── turbojpeg │ │ │ │ │ ├── TJ.java │ │ │ │ │ ├── TJCompressor.java │ │ │ │ │ ├── TJCustomFilter.java │ │ │ │ │ ├── TJDecompressor.java │ │ │ │ │ ├── TJException.java │ │ │ │ │ ├── TJLoader-unix.java.in │ │ │ │ │ ├── TJLoader-win.java.in │ │ │ │ │ ├── TJScalingFactor.java │ │ │ │ │ ├── TJTransform.java │ │ │ │ │ ├── TJTransformer.java │ │ │ │ │ └── YUVImage.java │ │ │ ├── org_libjpegturbo_turbojpeg_TJ.h │ │ │ ├── org_libjpegturbo_turbojpeg_TJCompressor.h │ │ │ ├── org_libjpegturbo_turbojpeg_TJDecompressor.h │ │ │ └── org_libjpegturbo_turbojpeg_TJTransformer.h │ │ ├── jcapimin.c │ │ ├── jcapistd.c │ │ ├── jcarith.c │ │ ├── jccoefct.c │ │ ├── jccolext.c │ │ ├── jccolor.c │ │ ├── jcdctmgr.c │ │ ├── jchuff.c │ │ ├── jchuff.h │ │ ├── jcicc.c │ │ ├── jcinit.c │ │ ├── jcmainct.c │ │ ├── jcmarker.c │ │ ├── jcmaster.c │ │ ├── jcomapi.c │ │ ├── jconfig.h.in │ │ ├── jconfig.txt │ │ ├── jconfigint.h.in │ │ ├── jcparam.c │ │ ├── jcphuff.c │ │ ├── jcprepct.c │ │ ├── jcsample.c │ │ ├── jcstest.c │ │ ├── jctrans.c │ │ ├── jdapimin.c │ │ ├── jdapistd.c │ │ ├── jdarith.c │ │ ├── jdatadst-tj.c │ │ ├── jdatadst.c │ │ ├── jdatasrc-tj.c │ │ ├── jdatasrc.c │ │ ├── jdcoefct.c │ │ ├── jdcoefct.h │ │ ├── jdcol565.c │ │ ├── jdcolext.c │ │ ├── jdcolor.c │ │ ├── jdct.h │ │ ├── jddctmgr.c │ │ ├── jdhuff.c │ │ ├── jdhuff.h │ │ ├── jdicc.c │ │ ├── jdinput.c │ │ ├── jdmainct.c │ │ ├── jdmainct.h │ │ ├── jdmarker.c │ │ ├── jdmaster.c │ │ ├── jdmaster.h │ │ ├── jdmerge.c │ │ ├── jdmerge.h │ │ ├── jdmrg565.c │ │ ├── jdmrgext.c │ │ ├── jdphuff.c │ │ ├── jdpostct.c │ │ ├── jdsample.c │ │ ├── jdsample.h │ │ ├── jdtrans.c │ │ ├── jerror.c │ │ ├── jerror.h │ │ ├── jfdctflt.c │ │ ├── jfdctfst.c │ │ ├── jfdctint.c │ │ ├── jidctflt.c │ │ ├── jidctfst.c │ │ ├── jidctint.c │ │ ├── jidctred.c │ │ ├── jinclude.h │ │ ├── jmemmgr.c │ │ ├── jmemnobs.c │ │ ├── jmemsys.h │ │ ├── jmorecfg.h │ │ ├── jpeg_nbits_table.h │ │ ├── jpegcomp.h │ │ ├── jpegint.h │ │ ├── jpeglib.h │ │ ├── jpegtran.1 │ │ ├── jpegtran.c │ │ ├── jquant1.c │ │ ├── jquant2.c │ │ ├── jsimd.h │ │ ├── jsimd_none.c │ │ ├── jsimddct.h │ │ ├── jstdhuff.c │ │ ├── jutils.c │ │ ├── jversion.h │ │ ├── libjpeg.map.in │ │ ├── libjpeg.txt │ │ ├── md5 │ │ │ ├── CMakeLists.txt │ │ │ ├── md5.c │ │ │ ├── md5.h │ │ │ ├── md5cmp.c │ │ │ └── md5hl.c │ │ ├── rdbmp.c │ │ ├── rdcolmap.c │ │ ├── rdgif.c │ │ ├── rdjpgcom.1 │ │ ├── rdjpgcom.c │ │ ├── rdppm.c │ │ ├── rdswitch.c │ │ ├── rdtarga.c │ │ ├── release │ │ │ ├── Config.cmake.in │ │ │ ├── Distribution.xml.in │ │ │ ├── License.rtf │ │ │ ├── ReadMe.txt │ │ │ ├── Welcome.rtf.in │ │ │ ├── deb-control.in │ │ │ ├── installer.nsi.in │ │ │ ├── libjpeg.pc.in │ │ │ ├── libturbojpeg.pc.in │ │ │ ├── makedpkg.in │ │ │ ├── makemacpkg.in │ │ │ ├── makerpm.in │ │ │ ├── makesrpm.in │ │ │ ├── maketarball.in │ │ │ ├── rpm.spec.in │ │ │ └── uninstall.in │ │ ├── sharedlib │ │ │ └── CMakeLists.txt │ │ ├── simd │ │ │ ├── Android.mk │ │ │ ├── CMakeLists.txt │ │ │ ├── arm │ │ │ │ ├── aarch32 │ │ │ │ │ ├── jccolext-neon.c │ │ │ │ │ ├── jchuff-neon.c │ │ │ │ │ ├── jsimd.c │ │ │ │ │ └── jsimd_neon.S │ │ │ │ ├── aarch64 │ │ │ │ │ ├── jccolext-neon.c │ │ │ │ │ ├── jchuff-neon.c │ │ │ │ │ ├── jsimd.c │ │ │ │ │ └── jsimd_neon.S │ │ │ │ ├── align.h │ │ │ │ ├── jccolor-neon.c │ │ │ │ ├── jcgray-neon.c │ │ │ │ ├── jcgryext-neon.c │ │ │ │ ├── jchuff.h │ │ │ │ ├── jcphuff-neon.c │ │ │ │ ├── jcsample-neon.c │ │ │ │ ├── jdcolext-neon.c │ │ │ │ ├── jdcolor-neon.c │ │ │ │ ├── jdmerge-neon.c │ │ │ │ ├── jdmrgext-neon.c │ │ │ │ ├── jdsample-neon.c │ │ │ │ ├── jfdctfst-neon.c │ │ │ │ ├── jfdctint-neon.c │ │ │ │ ├── jidctfst-neon.c │ │ │ │ ├── jidctint-neon.c │ │ │ │ ├── jidctred-neon.c │ │ │ │ ├── jquanti-neon.c │ │ │ │ ├── neon-compat.h │ │ │ │ └── neon-compat.h.in │ │ │ ├── i386 │ │ │ │ ├── jccolext-avx2.asm │ │ │ │ ├── jccolext-mmx.asm │ │ │ │ ├── jccolext-sse2.asm │ │ │ │ ├── jccolor-avx2.asm │ │ │ │ ├── jccolor-mmx.asm │ │ │ │ ├── jccolor-sse2.asm │ │ │ │ ├── jcgray-avx2.asm │ │ │ │ ├── jcgray-mmx.asm │ │ │ │ ├── jcgray-sse2.asm │ │ │ │ ├── jcgryext-avx2.asm │ │ │ │ ├── jcgryext-mmx.asm │ │ │ │ ├── jcgryext-sse2.asm │ │ │ │ ├── jchuff-sse2.asm │ │ │ │ ├── jcphuff-sse2.asm │ │ │ │ ├── jcsample-avx2.asm │ │ │ │ ├── jcsample-mmx.asm │ │ │ │ ├── jcsample-sse2.asm │ │ │ │ ├── jdcolext-avx2.asm │ │ │ │ ├── jdcolext-mmx.asm │ │ │ │ ├── jdcolext-sse2.asm │ │ │ │ ├── jdcolor-avx2.asm │ │ │ │ ├── jdcolor-mmx.asm │ │ │ │ ├── jdcolor-sse2.asm │ │ │ │ ├── jdmerge-avx2.asm │ │ │ │ ├── jdmerge-mmx.asm │ │ │ │ ├── jdmerge-sse2.asm │ │ │ │ ├── jdmrgext-avx2.asm │ │ │ │ ├── jdmrgext-mmx.asm │ │ │ │ ├── jdmrgext-sse2.asm │ │ │ │ ├── jdsample-avx2.asm │ │ │ │ ├── jdsample-mmx.asm │ │ │ │ ├── jdsample-sse2.asm │ │ │ │ ├── jfdctflt-3dn.asm │ │ │ │ ├── jfdctflt-sse.asm │ │ │ │ ├── jfdctfst-mmx.asm │ │ │ │ ├── jfdctfst-sse2.asm │ │ │ │ ├── jfdctint-avx2.asm │ │ │ │ ├── jfdctint-mmx.asm │ │ │ │ ├── jfdctint-sse2.asm │ │ │ │ ├── jidctflt-3dn.asm │ │ │ │ ├── jidctflt-sse.asm │ │ │ │ ├── jidctflt-sse2.asm │ │ │ │ ├── jidctfst-mmx.asm │ │ │ │ ├── jidctfst-sse2.asm │ │ │ │ ├── jidctint-avx2.asm │ │ │ │ ├── jidctint-mmx.asm │ │ │ │ ├── jidctint-sse2.asm │ │ │ │ ├── jidctred-mmx.asm │ │ │ │ ├── jidctred-sse2.asm │ │ │ │ ├── jquant-3dn.asm │ │ │ │ ├── jquant-mmx.asm │ │ │ │ ├── jquant-sse.asm │ │ │ │ ├── jquantf-sse2.asm │ │ │ │ ├── jquanti-avx2.asm │ │ │ │ ├── jquanti-sse2.asm │ │ │ │ ├── jsimd.c │ │ │ │ └── jsimdcpu.asm │ │ │ ├── jsimd.h │ │ │ ├── mips │ │ │ │ ├── jsimd.c │ │ │ │ ├── jsimd_dspr2.S │ │ │ │ └── jsimd_dspr2_asm.h │ │ │ ├── mips64 │ │ │ │ ├── jccolext-mmi.c │ │ │ │ ├── jccolor-mmi.c │ │ │ │ ├── jcgray-mmi.c │ │ │ │ ├── jcgryext-mmi.c │ │ │ │ ├── jcsample-mmi.c │ │ │ │ ├── jcsample.h │ │ │ │ ├── jdcolext-mmi.c │ │ │ │ ├── jdcolor-mmi.c │ │ │ │ ├── jdmerge-mmi.c │ │ │ │ ├── jdmrgext-mmi.c │ │ │ │ ├── jdsample-mmi.c │ │ │ │ ├── jfdctfst-mmi.c │ │ │ │ ├── jfdctint-mmi.c │ │ │ │ ├── jidctfst-mmi.c │ │ │ │ ├── jidctint-mmi.c │ │ │ │ ├── jquanti-mmi.c │ │ │ │ ├── jsimd.c │ │ │ │ ├── jsimd_mmi.h │ │ │ │ └── loongson-mmintrin.h │ │ │ ├── nasm │ │ │ │ ├── jcolsamp.inc │ │ │ │ ├── jdct.inc │ │ │ │ ├── jsimdcfg.inc │ │ │ │ ├── jsimdcfg.inc.h │ │ │ │ └── jsimdext.inc │ │ │ ├── powerpc │ │ │ │ ├── jccolext-altivec.c │ │ │ │ ├── jccolor-altivec.c │ │ │ │ ├── jcgray-altivec.c │ │ │ │ ├── jcgryext-altivec.c │ │ │ │ ├── jcsample-altivec.c │ │ │ │ ├── jcsample.h │ │ │ │ ├── jdcolext-altivec.c │ │ │ │ ├── jdcolor-altivec.c │ │ │ │ ├── jdmerge-altivec.c │ │ │ │ ├── jdmrgext-altivec.c │ │ │ │ ├── jdsample-altivec.c │ │ │ │ ├── jfdctfst-altivec.c │ │ │ │ ├── jfdctint-altivec.c │ │ │ │ ├── jidctfst-altivec.c │ │ │ │ ├── jidctint-altivec.c │ │ │ │ ├── jquanti-altivec.c │ │ │ │ ├── jsimd.c │ │ │ │ └── jsimd_altivec.h │ │ │ └── x86_64 │ │ │ │ ├── jccolext-avx2.asm │ │ │ │ ├── jccolext-sse2.asm │ │ │ │ ├── jccolor-avx2.asm │ │ │ │ ├── jccolor-sse2.asm │ │ │ │ ├── jcgray-avx2.asm │ │ │ │ ├── jcgray-sse2.asm │ │ │ │ ├── jcgryext-avx2.asm │ │ │ │ ├── jcgryext-sse2.asm │ │ │ │ ├── jchuff-sse2.asm │ │ │ │ ├── jcphuff-sse2.asm │ │ │ │ ├── jcsample-avx2.asm │ │ │ │ ├── jcsample-sse2.asm │ │ │ │ ├── jdcolext-avx2.asm │ │ │ │ ├── jdcolext-sse2.asm │ │ │ │ ├── jdcolor-avx2.asm │ │ │ │ ├── jdcolor-sse2.asm │ │ │ │ ├── jdmerge-avx2.asm │ │ │ │ ├── jdmerge-sse2.asm │ │ │ │ ├── jdmrgext-avx2.asm │ │ │ │ ├── jdmrgext-sse2.asm │ │ │ │ ├── jdsample-avx2.asm │ │ │ │ ├── jdsample-sse2.asm │ │ │ │ ├── jfdctflt-sse.asm │ │ │ │ ├── jfdctfst-sse2.asm │ │ │ │ ├── jfdctint-avx2.asm │ │ │ │ ├── jfdctint-sse2.asm │ │ │ │ ├── jidctflt-sse2.asm │ │ │ │ ├── jidctfst-sse2.asm │ │ │ │ ├── jidctint-avx2.asm │ │ │ │ ├── jidctint-sse2.asm │ │ │ │ ├── jidctred-sse2.asm │ │ │ │ ├── jquantf-sse2.asm │ │ │ │ ├── jquanti-avx2.asm │ │ │ │ ├── jquanti-sse2.asm │ │ │ │ ├── jsimd.c │ │ │ │ └── jsimdcpu.asm │ │ ├── structure.txt │ │ ├── testimages │ │ │ ├── nightshot_iso_100.bmp │ │ │ ├── nightshot_iso_100.txt │ │ │ ├── test.scan │ │ │ ├── test1.icc │ │ │ ├── test1.icc.txt │ │ │ ├── test2.icc │ │ │ ├── test2.icc.txt │ │ │ ├── testimgari.jpg │ │ │ ├── testimgint.jpg │ │ │ ├── testorig.jpg │ │ │ ├── testorig.ppm │ │ │ ├── testorig12.jpg │ │ │ ├── vgl_5674_0098.bmp │ │ │ ├── vgl_6434_0018a.bmp │ │ │ └── vgl_6548_0026a.bmp │ │ ├── tjbench.c │ │ ├── tjbenchtest.in │ │ ├── tjbenchtest.java.in │ │ ├── tjexample.c │ │ ├── tjexampletest.in │ │ ├── tjexampletest.java.in │ │ ├── tjunittest.c │ │ ├── tjutil.c │ │ ├── tjutil.h │ │ ├── transupp.c │ │ ├── transupp.h │ │ ├── turbojpeg-jni.c │ │ ├── turbojpeg-mapfile │ │ ├── turbojpeg-mapfile.jni │ │ ├── turbojpeg.c │ │ ├── turbojpeg.h │ │ ├── usage.txt │ │ ├── win │ │ │ ├── gcc │ │ │ │ └── projectTargets-release.cmake.in │ │ │ ├── jconfig.h.in │ │ │ ├── jpeg62-memsrcdst.def │ │ │ ├── jpeg62.def │ │ │ ├── jpeg7-memsrcdst.def │ │ │ ├── jpeg7.def │ │ │ ├── jpeg8.def │ │ │ ├── projectTargets.cmake.in │ │ │ └── vc │ │ │ │ └── projectTargets-release.cmake.in │ │ ├── wizard.txt │ │ ├── wrbmp.c │ │ ├── wrgif.c │ │ ├── wrjpgcom.1 │ │ ├── wrjpgcom.c │ │ ├── wrppm.c │ │ └── wrtarga.c │ ├── libusb │ │ ├── .travis.yml │ │ ├── AUTHORS │ │ ├── CMakeLists.txt │ │ ├── COPYING │ │ ├── ChangeLog │ │ ├── INSTALL_WIN.txt │ │ ├── Makefile.am │ │ ├── NEWS │ │ ├── PORTING │ │ ├── README │ │ ├── README.git │ │ ├── README.md │ │ ├── TODO │ │ ├── Xcode │ │ │ ├── common.xcconfig │ │ │ ├── config.h │ │ │ ├── debug.xcconfig │ │ │ ├── libusb.xcconfig │ │ │ ├── libusb.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ ├── libusb_debug.xcconfig │ │ │ ├── libusb_release.xcconfig │ │ │ └── release.xcconfig │ │ ├── android │ │ │ ├── README │ │ │ ├── config.h │ │ │ ├── examples │ │ │ │ ├── unrooted_android.c │ │ │ │ └── unrooted_android.h │ │ │ └── jni │ │ │ │ ├── Android.mk │ │ │ │ ├── Android_origin.mk │ │ │ │ ├── Application.mk │ │ │ │ ├── examples.mk │ │ │ │ ├── libusb.mk │ │ │ │ ├── libusb_origin.mk │ │ │ │ └── tests.mk │ │ ├── appveyor.yml │ │ ├── autogen.sh │ │ ├── bootstrap.sh │ │ ├── configure.ac │ │ ├── doc │ │ │ ├── Makefile.in │ │ │ ├── doxygen.cfg.in │ │ │ └── libusb.png │ │ ├── examples │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── dpfp.c │ │ │ ├── ezusb.c │ │ │ ├── ezusb.h │ │ │ ├── fxload.c │ │ │ ├── hotplugtest.c │ │ │ ├── listdevs.c │ │ │ ├── sam3u_benchmark.c │ │ │ ├── testlibusb.c │ │ │ └── xusb.c │ │ ├── libusb-1.0.pc.in │ │ ├── libusb │ │ │ ├── Makefile.am │ │ │ ├── Makefile.am.extra │ │ │ ├── core.c │ │ │ ├── descriptor.c │ │ │ ├── hotplug.c │ │ │ ├── io.c │ │ │ ├── libusb-1.0.def │ │ │ ├── libusb-1.0.rc │ │ │ ├── libusb.h │ │ │ ├── libusb_origin.h │ │ │ ├── libusbi.h │ │ │ ├── os │ │ │ │ ├── darwin_usb.c │ │ │ │ ├── darwin_usb.h │ │ │ │ ├── events_posix.c │ │ │ │ ├── events_posix.h │ │ │ │ ├── events_windows.c │ │ │ │ ├── events_windows.h │ │ │ │ ├── haiku_pollfs.cpp │ │ │ │ ├── haiku_usb.h │ │ │ │ ├── haiku_usb_backend.cpp │ │ │ │ ├── haiku_usb_raw.cpp │ │ │ │ ├── haiku_usb_raw.h │ │ │ │ ├── linux_netlink.c │ │ │ │ ├── linux_udev.c │ │ │ │ ├── linux_usbfs.c │ │ │ │ ├── linux_usbfs.h │ │ │ │ ├── netbsd_usb.c │ │ │ │ ├── null_usb.c │ │ │ │ ├── openbsd_usb.c │ │ │ │ ├── sunos_usb.c │ │ │ │ ├── sunos_usb.h │ │ │ │ ├── threads_posix.c │ │ │ │ ├── threads_posix.h │ │ │ │ ├── threads_windows.c │ │ │ │ ├── threads_windows.h │ │ │ │ ├── windows_common.c │ │ │ │ ├── windows_common.h │ │ │ │ ├── windows_usbdk.c │ │ │ │ ├── windows_usbdk.h │ │ │ │ ├── windows_winusb.c │ │ │ │ └── windows_winusb.h │ │ │ ├── strerror.c │ │ │ ├── sync.c │ │ │ ├── version.h │ │ │ └── version_nano.h │ │ ├── msvc │ │ │ ├── config.h │ │ │ ├── dpfp_2013.vcxproj │ │ │ ├── dpfp_2013.vcxproj.filters │ │ │ ├── dpfp_2015.vcxproj │ │ │ ├── dpfp_2015.vcxproj.filters │ │ │ ├── dpfp_2017.vcxproj │ │ │ ├── dpfp_2017.vcxproj.filters │ │ │ ├── dpfp_2019.vcxproj │ │ │ ├── dpfp_2019.vcxproj.filters │ │ │ ├── dpfp_threaded_2013.vcxproj │ │ │ ├── dpfp_threaded_2013.vcxproj.filters │ │ │ ├── dpfp_threaded_2015.vcxproj │ │ │ ├── dpfp_threaded_2015.vcxproj.filters │ │ │ ├── dpfp_threaded_2017.vcxproj │ │ │ ├── dpfp_threaded_2017.vcxproj.filters │ │ │ ├── dpfp_threaded_2019.vcxproj │ │ │ ├── dpfp_threaded_2019.vcxproj.filters │ │ │ ├── fxload_2013.vcxproj │ │ │ ├── fxload_2013.vcxproj.filters │ │ │ ├── fxload_2015.vcxproj │ │ │ ├── fxload_2015.vcxproj.filters │ │ │ ├── fxload_2017.vcxproj │ │ │ ├── fxload_2017.vcxproj.filters │ │ │ ├── fxload_2019.vcxproj │ │ │ ├── fxload_2019.vcxproj.filters │ │ │ ├── getopt │ │ │ │ ├── getopt.c │ │ │ │ ├── getopt.h │ │ │ │ └── getopt1.c │ │ │ ├── getopt_2013.vcxproj │ │ │ ├── getopt_2013.vcxproj.filters │ │ │ ├── getopt_2015.vcxproj │ │ │ ├── getopt_2015.vcxproj.filters │ │ │ ├── getopt_2017.vcxproj │ │ │ ├── getopt_2017.vcxproj.filters │ │ │ ├── getopt_2019.vcxproj │ │ │ ├── getopt_2019.vcxproj.filters │ │ │ ├── hotplugtest_2013.vcxproj │ │ │ ├── hotplugtest_2013.vcxproj.filters │ │ │ ├── hotplugtest_2015.vcxproj │ │ │ ├── hotplugtest_2015.vcxproj.filters │ │ │ ├── hotplugtest_2017.vcxproj │ │ │ ├── hotplugtest_2017.vcxproj.filters │ │ │ ├── hotplugtest_2019.vcxproj │ │ │ ├── hotplugtest_2019.vcxproj.filters │ │ │ ├── libusb_2013.sln │ │ │ ├── libusb_2015.sln │ │ │ ├── libusb_2017.sln │ │ │ ├── libusb_2019.sln │ │ │ ├── libusb_dll_2013.vcxproj │ │ │ ├── libusb_dll_2013.vcxproj.filters │ │ │ ├── libusb_dll_2015.vcxproj │ │ │ ├── libusb_dll_2015.vcxproj.filters │ │ │ ├── libusb_dll_2017.vcxproj │ │ │ ├── libusb_dll_2017.vcxproj.filters │ │ │ ├── libusb_dll_2019.vcxproj │ │ │ ├── libusb_dll_2019.vcxproj.filters │ │ │ ├── libusb_static_2013.vcxproj │ │ │ ├── libusb_static_2013.vcxproj.filters │ │ │ ├── libusb_static_2015.vcxproj │ │ │ ├── libusb_static_2015.vcxproj.filters │ │ │ ├── libusb_static_2017.vcxproj │ │ │ ├── libusb_static_2017.vcxproj.filters │ │ │ ├── libusb_static_2019.vcxproj │ │ │ ├── libusb_static_2019.vcxproj.filters │ │ │ ├── listdevs_2013.vcxproj │ │ │ ├── listdevs_2013.vcxproj.filters │ │ │ ├── listdevs_2015.vcxproj │ │ │ ├── listdevs_2015.vcxproj.filters │ │ │ ├── listdevs_2017.vcxproj │ │ │ ├── listdevs_2017.vcxproj.filters │ │ │ ├── listdevs_2019.vcxproj │ │ │ ├── listdevs_2019.vcxproj.filters │ │ │ ├── sam3u_benchmark_2013.vcxproj │ │ │ ├── sam3u_benchmark_2013.vcxproj.filters │ │ │ ├── sam3u_benchmark_2015.vcxproj │ │ │ ├── sam3u_benchmark_2015.vcxproj.filters │ │ │ ├── sam3u_benchmark_2017.vcxproj │ │ │ ├── sam3u_benchmark_2017.vcxproj.filters │ │ │ ├── sam3u_benchmark_2019.vcxproj │ │ │ ├── sam3u_benchmark_2019.vcxproj.filters │ │ │ ├── stress_2013.vcxproj │ │ │ ├── stress_2013.vcxproj.filters │ │ │ ├── stress_2015.vcxproj │ │ │ ├── stress_2015.vcxproj.filters │ │ │ ├── stress_2017.vcxproj │ │ │ ├── stress_2017.vcxproj.filters │ │ │ ├── stress_2019.vcxproj │ │ │ ├── stress_2019.vcxproj.filters │ │ │ ├── testlibusb_2013.vcxproj │ │ │ ├── testlibusb_2013.vcxproj.filters │ │ │ ├── testlibusb_2015.vcxproj │ │ │ ├── testlibusb_2015.vcxproj.filters │ │ │ ├── testlibusb_2017.vcxproj │ │ │ ├── testlibusb_2017.vcxproj.filters │ │ │ ├── testlibusb_2019.vcxproj │ │ │ ├── testlibusb_2019.vcxproj.filters │ │ │ ├── xusb_2013.vcxproj │ │ │ ├── xusb_2013.vcxproj.filters │ │ │ ├── xusb_2015.vcxproj │ │ │ ├── xusb_2015.vcxproj.filters │ │ │ ├── xusb_2017.vcxproj │ │ │ ├── xusb_2017.vcxproj.filters │ │ │ ├── xusb_2019.vcxproj │ │ │ └── xusb_2019.vcxproj.filters │ │ └── tests │ │ │ ├── Makefile.am │ │ │ ├── libusb_testlib.h │ │ │ ├── stress.c │ │ │ └── testlib.c │ ├── libuvc │ │ ├── CMakeLists.bak │ │ ├── CMakeLists.txt │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── android │ │ │ └── jni │ │ │ │ └── Android.mk │ │ ├── cameras │ │ │ ├── isight_imac.txt │ │ │ ├── isight_macbook.txt │ │ │ ├── logitech_hd_pro_920.txt │ │ │ ├── ms_lifecam_show.txt │ │ │ ├── quickcampro9000.txt │ │ │ ├── quickcampro9000_builtin_ctrls.txt │ │ │ └── quickcampro9000_extra_ctrls.txt │ │ ├── changelog.txt │ │ ├── cmake │ │ │ ├── FindJpegPkg.cmake │ │ │ ├── FindLibUSB.cmake │ │ │ └── FindOpenCVPkg.cmake │ │ ├── doxygen.conf │ │ ├── include │ │ │ ├── libuvc │ │ │ │ ├── libuvc.h │ │ │ │ ├── libuvc_config.h │ │ │ │ ├── libuvc_config.h.in │ │ │ │ ├── libuvc_internal.h │ │ │ │ └── libuvc_orgin.h │ │ │ └── utlist.h │ │ ├── libuvc.pc.in │ │ ├── libuvcConfig.cmake │ │ ├── src │ │ │ ├── ctrl-gen.c │ │ │ ├── ctrl-gen.py │ │ │ ├── ctrl.c │ │ │ ├── device.c │ │ │ ├── device_origin.c │ │ │ ├── diag.c │ │ │ ├── example.c │ │ │ ├── frame-mjpeg.c │ │ │ ├── frame-mjpeg_orgin.c │ │ │ ├── frame.c │ │ │ ├── frame_origin.c │ │ │ ├── init.c │ │ │ ├── misc.c │ │ │ ├── stream.c │ │ │ └── test.c │ │ └── standard-units.yaml │ ├── libyuv │ │ ├── Android.mk │ │ ├── docs │ │ │ ├── deprecated_builds.md │ │ │ ├── environment_variables.md │ │ │ ├── filtering.md │ │ │ ├── formats.md │ │ │ ├── getting_started.md │ │ │ └── rotation.md │ │ ├── include │ │ │ ├── libyuv.h │ │ │ └── libyuv │ │ │ │ ├── basic_types.h │ │ │ │ ├── compare.h │ │ │ │ ├── compare_row.h │ │ │ │ ├── convert.h │ │ │ │ ├── convert_argb.h │ │ │ │ ├── convert_from.h │ │ │ │ ├── convert_from_argb.h │ │ │ │ ├── cpu_id.h │ │ │ │ ├── loongson_intrinsics.h │ │ │ │ ├── macros_msa.h │ │ │ │ ├── mjpeg_decoder.h │ │ │ │ ├── planar_functions.h │ │ │ │ ├── rotate.h │ │ │ │ ├── rotate_argb.h │ │ │ │ ├── rotate_row.h │ │ │ │ ├── row.h │ │ │ │ ├── scale.h │ │ │ │ ├── scale_argb.h │ │ │ │ ├── scale_rgb.h │ │ │ │ ├── scale_row.h │ │ │ │ ├── scale_uv.h │ │ │ │ ├── version.h │ │ │ │ └── video_common.h │ │ ├── source │ │ │ ├── compare.cc │ │ │ ├── compare_common.cc │ │ │ ├── compare_gcc.cc │ │ │ ├── compare_mmi.cc │ │ │ ├── compare_msa.cc │ │ │ ├── compare_neon.cc │ │ │ ├── compare_neon64.cc │ │ │ ├── compare_win.cc │ │ │ ├── convert.cc │ │ │ ├── convert_argb.cc │ │ │ ├── convert_from.cc │ │ │ ├── convert_from_argb.cc │ │ │ ├── convert_jpeg.cc │ │ │ ├── convert_to_argb.cc │ │ │ ├── convert_to_i420.cc │ │ │ ├── cpu_id.cc │ │ │ ├── mjpeg_decoder.cc │ │ │ ├── mjpeg_validate.cc │ │ │ ├── planar_functions.cc │ │ │ ├── rotate.cc │ │ │ ├── rotate_any.cc │ │ │ ├── rotate_argb.cc │ │ │ ├── rotate_common.cc │ │ │ ├── rotate_gcc.cc │ │ │ ├── rotate_lsx.cc │ │ │ ├── rotate_mmi.cc │ │ │ ├── rotate_msa.cc │ │ │ ├── rotate_neon.cc │ │ │ ├── rotate_neon64.cc │ │ │ ├── rotate_win.cc │ │ │ ├── row_any.cc │ │ │ ├── row_common.cc │ │ │ ├── row_gcc.cc │ │ │ ├── row_lasx.cc │ │ │ ├── row_lsx.cc │ │ │ ├── row_mmi.cc │ │ │ ├── row_msa.cc │ │ │ ├── row_neon.cc │ │ │ ├── row_neon64.cc │ │ │ ├── row_win.cc │ │ │ ├── scale.cc │ │ │ ├── scale_any.cc │ │ │ ├── scale_argb.cc │ │ │ ├── scale_common.cc │ │ │ ├── scale_gcc.cc │ │ │ ├── scale_lsx.cc │ │ │ ├── scale_mmi.cc │ │ │ ├── scale_msa.cc │ │ │ ├── scale_neon.cc │ │ │ ├── scale_neon64.cc │ │ │ ├── scale_rgb.cc │ │ │ ├── scale_uv.cc │ │ │ ├── scale_win.cc │ │ │ ├── test.sh │ │ │ └── video_common.cc │ │ └── util │ │ │ ├── Makefile │ │ │ ├── color.cc │ │ │ ├── compare.cc │ │ │ ├── cpuid.c │ │ │ ├── i444tonv12_eg.cc │ │ │ ├── psnr.cc │ │ │ ├── psnr.h │ │ │ ├── psnr_main.cc │ │ │ ├── ssim.cc │ │ │ ├── ssim.h │ │ │ ├── yuvconstants.c │ │ │ └── yuvconvert.cc │ ├── localdefines.h │ ├── rapidjson │ │ ├── .gitmodules │ │ ├── .travis.yml │ │ ├── doc │ │ │ ├── diagram │ │ │ │ ├── insituparsing.dot │ │ │ │ ├── insituparsing.png │ │ │ │ ├── iterative-parser-states-diagram.dot │ │ │ │ ├── iterative-parser-states-diagram.png │ │ │ │ ├── makefile │ │ │ │ ├── move1.dot │ │ │ │ ├── move1.png │ │ │ │ ├── move2.dot │ │ │ │ ├── move2.png │ │ │ │ ├── move3.dot │ │ │ │ ├── move3.png │ │ │ │ ├── normalparsing.dot │ │ │ │ ├── normalparsing.png │ │ │ │ ├── simpledom.dot │ │ │ │ ├── simpledom.png │ │ │ │ ├── tutorial.dot │ │ │ │ └── tutorial.png │ │ │ ├── dom.md │ │ │ ├── encoding.md │ │ │ ├── faq.md │ │ │ ├── features.md │ │ │ ├── internals.md │ │ │ ├── logo │ │ │ │ ├── rapidjson.png │ │ │ │ └── rapidjson.svg │ │ │ ├── misc │ │ │ │ ├── DoxygenLayout.xml │ │ │ │ ├── doxygenextra.css │ │ │ │ ├── footer.html │ │ │ │ └── header.html │ │ │ ├── performance.md │ │ │ ├── sax.md │ │ │ ├── stream.md │ │ │ └── tutorial.md │ │ ├── example │ │ │ ├── capitalize │ │ │ │ └── capitalize.cpp │ │ │ ├── condense │ │ │ │ └── condense.cpp │ │ │ ├── messagereader │ │ │ │ └── messagereader.cpp │ │ │ ├── pretty │ │ │ │ └── pretty.cpp │ │ │ ├── prettyauto │ │ │ │ └── prettyauto.cpp │ │ │ ├── serialize │ │ │ │ └── serialize.cpp │ │ │ ├── simpledom │ │ │ │ └── simpledom.cpp │ │ │ ├── simplereader │ │ │ │ └── simplereader.cpp │ │ │ ├── simplewriter │ │ │ │ └── simplewriter.cpp │ │ │ └── tutorial │ │ │ │ └── tutorial.cpp │ │ ├── include │ │ │ └── rapidjson │ │ │ │ ├── allocators.h │ │ │ │ ├── document.h │ │ │ │ ├── encodedstream.h │ │ │ │ ├── encodings.h │ │ │ │ ├── error │ │ │ │ ├── en.h │ │ │ │ └── error.h │ │ │ │ ├── filereadstream.h │ │ │ │ ├── filestream.h │ │ │ │ ├── filewritestream.h │ │ │ │ ├── internal │ │ │ │ ├── dtoa.h │ │ │ │ ├── itoa.h │ │ │ │ ├── meta.h │ │ │ │ ├── pow10.h │ │ │ │ ├── stack.h │ │ │ │ └── strfunc.h │ │ │ │ ├── memorybuffer.h │ │ │ │ ├── memorystream.h │ │ │ │ ├── msinttypes │ │ │ │ ├── inttypes.h │ │ │ │ └── stdint.h │ │ │ │ ├── prettywriter.h │ │ │ │ ├── rapidjson.h │ │ │ │ ├── reader.h │ │ │ │ ├── stringbuffer.h │ │ │ │ └── writer.h │ │ ├── license.txt │ │ ├── readme.md │ │ ├── test │ │ │ ├── perftest │ │ │ │ ├── jsoncpptest.cpp │ │ │ │ ├── misctest.cpp │ │ │ │ ├── perftest.cpp │ │ │ │ ├── perftest.h │ │ │ │ ├── platformtest.cpp │ │ │ │ ├── rapidjsontest.cpp │ │ │ │ ├── ultrajsontest.cpp │ │ │ │ ├── yajl_all.c │ │ │ │ └── yajltest.cpp │ │ │ └── unittest │ │ │ │ ├── documenttest.cpp │ │ │ │ ├── encodedstreamtest.cpp │ │ │ │ ├── encodingstest.cpp │ │ │ │ ├── filestreamtest.cpp │ │ │ │ ├── jsoncheckertest.cpp │ │ │ │ ├── readertest.cpp │ │ │ │ ├── unittest.cpp │ │ │ │ ├── unittest.h │ │ │ │ ├── valuetest.cpp │ │ │ │ └── writertest.cpp │ │ └── thirdparty │ │ │ ├── jsoncpp │ │ │ ├── AUTHORS │ │ │ ├── LICENSE │ │ │ ├── README.txt │ │ │ ├── include │ │ │ │ └── json │ │ │ │ │ ├── autolink.h │ │ │ │ │ ├── config.h │ │ │ │ │ ├── features.h │ │ │ │ │ ├── forwards.h │ │ │ │ │ ├── json.h │ │ │ │ │ ├── reader.h │ │ │ │ │ ├── value.h │ │ │ │ │ └── writer.h │ │ │ ├── src │ │ │ │ ├── jsontestrunner │ │ │ │ │ ├── main.cpp │ │ │ │ │ └── sconscript │ │ │ │ ├── lib_json │ │ │ │ │ ├── json_batchallocator.h │ │ │ │ │ ├── json_internalarray.inl │ │ │ │ │ ├── json_internalmap.inl │ │ │ │ │ ├── json_reader.cpp │ │ │ │ │ ├── json_value.cpp │ │ │ │ │ ├── json_valueiterator.inl │ │ │ │ │ ├── json_writer.cpp │ │ │ │ │ └── sconscript │ │ │ │ └── test_lib_json │ │ │ │ │ ├── jsontest.cpp │ │ │ │ │ ├── jsontest.h │ │ │ │ │ ├── main.cpp │ │ │ │ │ └── sconscript │ │ │ └── version │ │ │ ├── ultrajson │ │ │ ├── README │ │ │ ├── ultrajson.h │ │ │ ├── ultrajsondec.c │ │ │ └── ultrajsonenc.c │ │ │ └── yajl │ │ │ ├── COPYING │ │ │ ├── ChangeLog │ │ │ ├── README │ │ │ ├── TODO │ │ │ ├── include │ │ │ └── yajl │ │ │ │ ├── yajl_common.h │ │ │ │ ├── yajl_gen.h │ │ │ │ ├── yajl_parse.h │ │ │ │ ├── yajl_tree.h │ │ │ │ └── yajl_version.h │ │ │ └── src │ │ │ ├── CMakeLists.txt │ │ │ ├── YAJL.dxy │ │ │ ├── api │ │ │ ├── yajl_common.h │ │ │ ├── yajl_gen.h │ │ │ ├── yajl_parse.h │ │ │ ├── yajl_tree.h │ │ │ └── yajl_version.h.cmake │ │ │ ├── yajl │ │ │ ├── yajl.c │ │ │ ├── yajl_alloc.c │ │ │ ├── yajl_alloc.h │ │ │ ├── yajl_buf.c │ │ │ ├── yajl_buf.h │ │ │ ├── yajl_bytestack.h │ │ │ ├── yajl_encode.c │ │ │ ├── yajl_encode.h │ │ │ ├── yajl_gen.c │ │ │ ├── yajl_lex.c │ │ │ ├── yajl_lex.h │ │ │ ├── yajl_parser.c │ │ │ ├── yajl_parser.h │ │ │ ├── yajl_tree.c │ │ │ └── yajl_version.c │ └── utilbase.h │ └── res │ ├── layout │ ├── dialog_camera.xml │ └── listitem_device.xml │ ├── mipmap-xxxhdpi │ └── ic_launcher.png │ ├── values-ja │ ├── strings.xml │ └── strings_permissions.xml │ ├── values-zh │ ├── strings.xml │ └── strings_permissions.xml │ ├── values │ ├── colors.xml │ ├── dimens.xml │ ├── ids_view_animation.xml │ ├── strings.xml │ └── strings_permissions.xml │ └── xml │ └── device_filter.xml ├── publish_aar.gradle └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | # built application files 2 | *.apk 3 | *.ap_ 4 | *.aab 5 | 6 | # files for the dex VM 7 | *.dex 8 | 9 | # Java class files 10 | *.class 11 | 12 | # Mobile Tools for Java (J2ME) 13 | .mtj.tmp/ 14 | 15 | 16 | # generated files 17 | bin/ 18 | gen/ 19 | out/ 20 | *.cache 21 | 22 | # Gradle files 23 | .gradle/ 24 | build/ 25 | 26 | # Local configuration file (sdk path, etc) 27 | local.properties 28 | 29 | # Eclipse project files 30 | .classpath 31 | .project 32 | 33 | # Proguard folder generated by Eclipse 34 | proguard/ 35 | 36 | # Intellij project files 37 | *.iml 38 | *.ipr 39 | *.iws 40 | .idea 41 | 42 | # gedit 43 | *~ 44 | 45 | # Keystore files 46 | # Uncomment the following lines if you do not want to check your keystore files in. 47 | #*.jks 48 | #*.keystore 49 | 50 | # External native build folder generated in Android Studio 2.2 and later 51 | .cxx 52 | .externalNativeBuild 53 | 54 | # Google Services (e.g. APIs or Firebase) 55 | # google-services.json 56 | 57 | # Freeline 58 | freeline.py 59 | freeline/ 60 | freeline_project_description.json 61 | 62 | # fastlane 63 | fastlane/report.xml 64 | fastlane/Preview.html 65 | fastlane/screenshots 66 | fastlane/test_output 67 | fastlane/readme.md 68 | 69 | # Version control 70 | vcs.xml 71 | 72 | # lint 73 | lint/intermediates/ 74 | lint/generated/ 75 | lint/outputs/ 76 | lint/tmp/ 77 | # lint/reports/ 78 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Maven Central](https://img.shields.io/maven-central/v/com.herohan/UVCAndroid.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.herohan%22%20AND%20a:%22UVCAndroid%22) 2 | 3 | UVCAndroid 4 | ========= 5 | 6 | Library and sample to access UVC camera on non-rooted Android device 7 | 8 | [中文文档: UVCAndroid,安卓UVC相机通用开发库](https://blog.csdn.net/hanshiying007/article/details/124118486) 9 | 10 | How do I use it? 11 | --- 12 | 13 | ### Setup 14 | 15 | ##### Dependencies 16 | ```groovy 17 | repositories { 18 | mavenCentral() 19 | } 20 | 21 | dependencies { 22 | implementation 'com.herohan:UVCAndroid:1.0.9' 23 | } 24 | ``` 25 | R8 / ProGuard 26 | ------------- 27 | 28 | If you are using R8 the shrinking and obfuscation rules are included automatically. 29 | 30 | ProGuard users must manually add the below options. 31 | ```groovy 32 | -keep class com.herohan.uvcapp.** { *; } 33 | -keep class com.serenegiant.usb.** { *; } 34 | -keepclassmembers class * implements com.serenegiant.usb.IButtonCallback {*;} 35 | -keepclassmembers class * implements com.serenegiant.usb.IFrameCallback {*;} 36 | -keepclassmembers class * implements com.serenegiant.usb.IStatusCallback {*;} 37 | ``` 38 | 39 | Requirements 40 | -------------- 41 | Android 5.0+ -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /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 -------------------------------------------------------------------------------- /app/src/androidTest/java/com/herohan/uvcapp/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.herohan.uvcapp; 2 | 3 | import android.content.Context; 4 | 5 | import androidx.test.platform.app.InstrumentationRegistry; 6 | import androidx.test.ext.junit.runners.AndroidJUnit4; 7 | 8 | import org.junit.Test; 9 | import org.junit.runner.RunWith; 10 | 11 | import static org.junit.Assert.*; 12 | 13 | /** 14 | * Instrumented test, which will execute on an Android device. 15 | * 16 | * @see Testing documentation 17 | */ 18 | @RunWith(AndroidJUnit4.class) 19 | public class ExampleInstrumentedTest { 20 | @Test 21 | public void useAppContext() { 22 | // Context of the app under test. 23 | Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); 24 | assertEquals("com.herohan.uvcapp", appContext.getPackageName()); 25 | } 26 | } -------------------------------------------------------------------------------- /app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/java/com/herohan/uvcapp/MyApplication.java: -------------------------------------------------------------------------------- 1 | package com.herohan.uvcapp; 2 | 3 | import android.app.Application; 4 | import android.graphics.Color; 5 | 6 | import jp.wasabeef.takt.Seat; 7 | import jp.wasabeef.takt.Takt; 8 | 9 | public class MyApplication extends Application { 10 | @Override 11 | public void onCreate() { 12 | super.onCreate(); 13 | // Takt.stock(this) 14 | // .seat(Seat.BOTTOM_LEFT) 15 | // .interval(250) 16 | // .color(Color.WHITE) 17 | // .size(14f) 18 | // .alpha(0.5f) 19 | // .listener(fps -> { 20 | //// Log.d("uvcdemo", (int) fps + " fps"); 21 | // }); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-anydpi/ic_action_camera.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-anydpi/ic_action_control.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-anydpi/ic_action_usb.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-anydpi/ic_action_video.xml: -------------------------------------------------------------------------------- 1 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-hdpi/ic_action_camera.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-hdpi/ic_action_control.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_usb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-hdpi/ic_action_usb.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_action_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-hdpi/ic_action_video.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_switch_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-hdpi/ic_switch_camera.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_switch_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-hdpi/ic_switch_video.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-mdpi/ic_action_camera.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-mdpi/ic_action_control.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_usb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-mdpi/ic_action_usb.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_action_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-mdpi/ic_action_video.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-xhdpi/ic_action_camera.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-xhdpi/ic_action_control.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_usb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-xhdpi/ic_action_usb.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_action_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-xhdpi/ic_action_video.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-xxhdpi/ic_action_camera.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-xxhdpi/ic_action_control.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_usb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-xxhdpi/ic_action_usb.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_action_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/drawable-xxhdpi/ic_action_video.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 11 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_record_red_dot.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_device_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 16 | 17 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_video_format.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 11 | 12 | 15 | 16 | 19 | 20 | 23 | 24 | 27 | 28 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values-land/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 48dp 3 | -------------------------------------------------------------------------------- /app/src/main/res/values-night/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-night/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-w1240dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 200dp 3 | -------------------------------------------------------------------------------- /app/src/main/res/values-w600dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 48dp 3 | -------------------------------------------------------------------------------- /app/src/main/res/values/attrs_my_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 16dp 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | 17 | 21 | 22 | 16 | -------------------------------------------------------------------------------- /demo/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | -------------------------------------------------------------------------------- /demo/src/test/java/com/herohan/uvcdemo/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.herohan.uvcdemo; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | android.enableJetifier=true 14 | android.useAndroidX=true 15 | org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 16 | 17 | # When configured, Gradle will run in incubating parallel mode. 18 | # This option should only be used with decoupled projects. More details, visit 19 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 20 | org.gradle.parallel=true -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Aug 06 20:16:08 CST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /libuvccamera/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /.cxx 3 | /.externalNativeBuild -------------------------------------------------------------------------------- /libuvccamera/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | ################libuvccamera################## 2 | -keep class com.herohan.uvcapp.** { *; } 3 | -keep class com.serenegiant.usb.** { *; } 4 | -keepclassmembers class * implements com.serenegiant.usb.IButtonCallback {*;} 5 | -keepclassmembers class * implements com.serenegiant.usb.IFrameCallback {*;} 6 | -keepclassmembers class * implements com.serenegiant.usb.IStatusCallback {*;} 7 | -keepclassmembers class * implements com.serenegiant.opengl.IDrawer2D {*;} 8 | -keepclassmembers class * implements com.serenegiant.opengl.renderer.IRendererHolder {*;} -------------------------------------------------------------------------------- /libuvccamera/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/saki/android-sdks/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | ################libuvccamera################## 19 | -keep class com.herohan.uvcapp.** { *; } 20 | -keep class com.serenegiant.usb.** { *; } 21 | -keepclassmembers class * implements com.serenegiant.usb.IButtonCallback {*;} 22 | -keepclassmembers class * implements com.serenegiant.usb.IFrameCallback {*;} 23 | -keepclassmembers class * implements com.serenegiant.usb.IStatusCallback {*;} 24 | -------------------------------------------------------------------------------- /libuvccamera/src/main/java/com/herohan/uvcapp/CameraException.java: -------------------------------------------------------------------------------- 1 | package com.herohan.uvcapp; 2 | 3 | public class CameraException extends Exception { 4 | /** 5 | * Unknown error occurred when open camera 6 | */ 7 | public static int CAMERA_OPEN_ERROR_UNKNOWN = 1; 8 | /** 9 | * The device is occupied when open camera. 10 | */ 11 | public static int CAMERA_OPEN_ERROR_BUSY = 2; 12 | 13 | /** 14 | * Error code 15 | */ 16 | private int code; 17 | 18 | private Exception internalError; 19 | 20 | CameraException(String message) { 21 | super(message); 22 | } 23 | 24 | CameraException(int code, String message) { 25 | super(message); 26 | this.code = code; 27 | } 28 | 29 | CameraException(int code, Exception cause) { 30 | super(cause); 31 | this.code = code; 32 | } 33 | 34 | public int getCode() { 35 | return code; 36 | } 37 | 38 | @Override 39 | public String toString() { 40 | return "CameraException{" + 41 | "code=" + code + 42 | ",message=" + getMessage() + 43 | '}'; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /libuvccamera/src/main/java/com/herohan/uvcapp/ICameraRendererHolder.java: -------------------------------------------------------------------------------- 1 | package com.herohan.uvcapp; 2 | 3 | import com.serenegiant.opengl.renderer.IRendererHolder; 4 | 5 | interface ICameraRendererHolder extends IRendererHolder { 6 | 7 | /** 8 | * capture still picture 9 | * blocking for capture to complete 10 | */ 11 | void captureImage(OnImageCapturedCallback callback); 12 | 13 | interface OnImageCapturedCallback{ 14 | void onCaptureSuccess(ImageRawData image); 15 | 16 | void onError(Exception e); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /libuvccamera/src/main/java/com/herohan/uvcapp/ImageRawData.java: -------------------------------------------------------------------------------- 1 | package com.herohan.uvcapp; 2 | 3 | class ImageRawData { 4 | private byte[] mData; 5 | private int mWidth; 6 | private int mHeight; 7 | 8 | public ImageRawData(byte[] data, int width, int height) { 9 | this.mData = data; 10 | this.mWidth = width; 11 | this.mHeight = height; 12 | } 13 | 14 | public byte[] getData() { 15 | return mData; 16 | } 17 | 18 | public int getWidth() { 19 | return mWidth; 20 | } 21 | 22 | public int getHeight() { 23 | return mHeight; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/java/com/serenegiant/encoder/IAudioEncoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * UVCCamera 3 | * library and sample to access to UVC web camera on non-rooted Android device 4 | * 5 | * Copyright (c) 2014-2017 saki t_saki@serenegiant.com 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * 19 | * All files in the folder are under this Apache License, Version 2.0. 20 | * Files in the libjpeg-turbo, libusb, libuvc, rapidjson folder 21 | * may have a different license, see the respective files. 22 | */ 23 | 24 | package com.serenegiant.encoder; 25 | 26 | public interface IAudioEncoder { 27 | } 28 | -------------------------------------------------------------------------------- /libuvccamera/src/main/java/com/serenegiant/encoder/IVideoEncoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * UVCCamera 3 | * library and sample to access to UVC web camera on non-rooted Android device 4 | * 5 | * Copyright (c) 2014-2017 saki t_saki@serenegiant.com 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * 19 | * All files in the folder are under this Apache License, Version 2.0. 20 | * Files in the libjpeg-turbo, libusb, libuvc, rapidjson folder 21 | * may have a different license, see the respective files. 22 | */ 23 | 24 | package com.serenegiant.encoder; 25 | 26 | public interface IVideoEncoder { 27 | public boolean frameAvailableSoon(); 28 | } 29 | -------------------------------------------------------------------------------- /libuvccamera/src/main/java/com/serenegiant/opengl/ITexture.java: -------------------------------------------------------------------------------- 1 | package com.serenegiant.opengl; 2 | /* 3 | * libcommon 4 | * utility/helper classes for myself 5 | * 6 | * Copyright (c) 2014-2018 saki t_saki@serenegiant.com 7 | * 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | */ 20 | 21 | import android.graphics.Bitmap; 22 | 23 | import java.io.IOException; 24 | 25 | public interface ITexture { 26 | void release(); 27 | 28 | void bind(); 29 | void unbind(); 30 | 31 | int getTexTarget(); 32 | int getTexture(); 33 | 34 | float[] getTexMatrix(); 35 | void getTexMatrix(float[] matrix, int offset); 36 | 37 | int getTexWidth(); 38 | int getTexHeight(); 39 | 40 | void loadTexture(String filePath) throws NullPointerException, IOException; 41 | void loadTexture(Bitmap bitmap) throws NullPointerException; 42 | } 43 | -------------------------------------------------------------------------------- /libuvccamera/src/main/java/com/serenegiant/opengl/renderer/MirrorMode.java: -------------------------------------------------------------------------------- 1 | package com.serenegiant.opengl.renderer; 2 | 3 | import androidx.annotation.IntDef; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @IntDef({MirrorMode.MIRROR_NORMAL, MirrorMode.MIRROR_HORIZONTAL, 9 | MirrorMode.MIRROR_VERTICAL, MirrorMode.MIRROR_BOTH}) 10 | @Retention(RetentionPolicy.SOURCE) 11 | public @interface MirrorMode { 12 | int MIRROR_NORMAL = 0; 13 | int MIRROR_HORIZONTAL = 1; 14 | int MIRROR_VERTICAL = 2; 15 | int MIRROR_BOTH = 3; 16 | int MIRROR_NUM = 4; 17 | } 18 | -------------------------------------------------------------------------------- /libuvccamera/src/main/java/com/serenegiant/opengl/renderer/RendererHolderCallback.java: -------------------------------------------------------------------------------- 1 | package com.serenegiant.opengl.renderer; 2 | /* 3 | * libcommon 4 | * utility/helper classes for myself 5 | * 6 | * Copyright (c) 2014-2018 saki t_saki@serenegiant.com 7 | * 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | */ 20 | 21 | import android.view.Surface; 22 | 23 | /** 24 | * Listener callback of RenderHolder 25 | */ 26 | public interface RendererHolderCallback { 27 | void onPrimarySurfaceCreate(Surface surface); 28 | 29 | void onFrameAvailable(); 30 | 31 | void onPrimarySurfaceDestroy(); 32 | } 33 | -------------------------------------------------------------------------------- /libuvccamera/src/main/java/com/serenegiant/usb/IButtonCallback.java: -------------------------------------------------------------------------------- 1 | package com.serenegiant.usb; 2 | 3 | public interface IButtonCallback { 4 | void onButton(int button, int state); 5 | } 6 | -------------------------------------------------------------------------------- /libuvccamera/src/main/java/com/serenegiant/usb/IStatusCallback.java: -------------------------------------------------------------------------------- 1 | package com.serenegiant.usb; 2 | 3 | import java.nio.ByteBuffer; 4 | 5 | public interface IStatusCallback { 6 | void onStatus(int statusClass, int event, int selector, int statusAttribute, ByteBuffer data); 7 | } 8 | -------------------------------------------------------------------------------- /libuvccamera/src/main/java/com/serenegiant/usb/UVCParam.java: -------------------------------------------------------------------------------- 1 | package com.serenegiant.usb; 2 | 3 | import androidx.annotation.NonNull; 4 | 5 | public class UVCParam implements Cloneable { 6 | 7 | /** 8 | * Preview size 9 | */ 10 | private Size previewSize; 11 | /** 12 | * Enable some quirks to resolve specific issues 13 | */ 14 | private int quirks; 15 | 16 | public UVCParam() { 17 | } 18 | 19 | public UVCParam(Size previewSize, int quirks) { 20 | this.previewSize = previewSize; 21 | this.quirks = quirks; 22 | } 23 | 24 | public Size getPreviewSize() { 25 | return previewSize; 26 | } 27 | 28 | public void setPreviewSize(Size previewSize) { 29 | this.previewSize = previewSize; 30 | } 31 | 32 | public int getQuirks() { 33 | return quirks; 34 | } 35 | 36 | public void setQuirks(int quirks) { 37 | this.quirks = quirks; 38 | } 39 | 40 | @NonNull 41 | @Override 42 | protected Object clone() { 43 | try { 44 | return super.clone(); 45 | } catch (CloneNotSupportedException e) { 46 | return new UVCParam(previewSize, quirks); 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /libuvccamera/src/main/java/com/serenegiant/widget/IAspectRatioView.java: -------------------------------------------------------------------------------- 1 | package com.serenegiant.widget; 2 | /* 3 | * libcommon 4 | * utility/helper classes for myself 5 | * 6 | * Copyright (c) 2014-2018 saki t_saki@serenegiant.com 7 | * 8 | * Licensed under the Apache License, Version 2.0 (the "License"); 9 | * you may not use this file except in compliance with the License. 10 | * You may obtain a copy of the License at 11 | * 12 | * http://www.apache.org/licenses/LICENSE-2.0 13 | * 14 | * Unless required by applicable law or agreed to in writing, software 15 | * distributed under the License is distributed on an "AS IS" BASIS, 16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | * See the License for the specific language governing permissions and 18 | * limitations under the License. 19 | */ 20 | 21 | /** 22 | * アスペクト比を一定に保つView用のインターフェースを定義 23 | */ 24 | public interface IAspectRatioView { 25 | public void setAspectRatio(double aspectRatio); 26 | public void setAspectRatio(final int width, final int height); 27 | public double getAspectRatio(); 28 | } 29 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/Android.mk: -------------------------------------------------------------------------------- 1 | PROJ_PATH := $(call my-dir) 2 | include $(CLEAR_VARS) 3 | include $(PROJ_PATH)/libjpeg-turbo/Android.mk 4 | include $(PROJ_PATH)/libyuv/Android.mk 5 | include $(PROJ_PATH)/libusb/android/jni/Android.mk 6 | include $(PROJ_PATH)/libuvc/android/jni/Android.mk 7 | include $(PROJ_PATH)/UVCCamera/Android.mk -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # For more information about using CMake with Android Studio, read the 2 | # documentation: https://d.android.com/studio/projects/add-native-code.html 3 | 4 | # Sets the minimum version of CMake required to build the native library. 5 | 6 | cmake_minimum_required(VERSION 3.6.4) 7 | 8 | set(ANDROID_NDK on) 9 | set(CMAKE_VERBOSE_MAKEFILE on) 10 | set(CMAKE_BUILD_TARGET "Shared") 11 | 12 | add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/libjpeg-turbo) 13 | add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/libusb) 14 | add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/libuvc) 15 | add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/UVCCamera) -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/UVCCamera/ConvertHelper.h: -------------------------------------------------------------------------------- 1 | #ifndef UVC_CAMERA_CONVERTHELPER_H 2 | #define UVC_CAMERA_CONVERTHELPER_H 3 | 4 | #include 5 | #include 6 | #include "libUVCCamera.h" 7 | 8 | #define PIXEL_RGB565 2 9 | #define PIXEL_UYVY 2 10 | #define PIXEL_YUYV 2 11 | #define PIXEL_NV21 1.5 12 | #define PIXEL_RGB 3 13 | #define PIXEL_BGR 3 14 | #define PIXEL_RGBX 4 15 | 16 | int uvc_mjpeg2rgbx_tj(uvc_frame_t *in, uvc_frame_t *out); 17 | 18 | int uvc_mjpeg2rgbx_new(uvc_frame_t *in, uvc_frame_t *out); 19 | 20 | 21 | int uvc_rgbx_to_yuyv(uvc_frame_t *in, uvc_frame_t *out); 22 | 23 | int uvc_rgbx_to_nv12(uvc_frame_t *in, uvc_frame_t *out); 24 | 25 | int uvc_rgbx_to_nv21(uvc_frame_t *in, uvc_frame_t *out); 26 | 27 | int uvc_rgbx_to_rgb(uvc_frame_t *in, uvc_frame_t *out); 28 | 29 | int uvc_rgbx_to_rgb565(uvc_frame_t *in, uvc_frame_t *out); 30 | 31 | int uvc_rgbx_to_bgr(uvc_frame_t *in, uvc_frame_t *out); 32 | 33 | #endif //UVC_CAMERA_CONVERTHELPER_H 34 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/UVCCamera/UVCButtonCallback.h: -------------------------------------------------------------------------------- 1 | #ifndef UVCBUTTONCALLBACK_H_ 2 | #define UVCBUTTONCALLBACK_H_ 3 | 4 | #include "libUVCCamera.h" 5 | #include 6 | #include 7 | #include "objectarray.h" 8 | 9 | #pragma interface 10 | 11 | // for callback to Java object 12 | typedef struct { 13 | jmethodID onButton; 14 | } Fields_ibuttoncallback; 15 | 16 | class UVCButtonCallback { 17 | private: 18 | uvc_device_handle_t *mDeviceHandle; 19 | pthread_mutex_t button_mutex; 20 | jobject mButtonCallbackObj; 21 | Fields_ibuttoncallback ibuttoncallback_fields; 22 | void notifyButtonCallback(JNIEnv *env, int button, int state); 23 | static void uvc_button_callback(int button, int state, void *user_ptr); 24 | public: 25 | UVCButtonCallback(uvc_device_handle_t *devh); 26 | ~UVCButtonCallback(); 27 | 28 | int setCallback(JNIEnv *env, jobject button_callback_obj); 29 | }; 30 | 31 | #endif /* UVCBUTTONCALLBACK_H_ */ 32 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/UVCCamera/UVCStatusCallback.h: -------------------------------------------------------------------------------- 1 | #ifndef UVCSTATUSCALLBACK_H_ 2 | #define UVCSTATUSCALLBACK_H_ 3 | 4 | #include "libUVCCamera.h" 5 | #include 6 | #include 7 | #include "objectarray.h" 8 | 9 | #pragma interface 10 | 11 | // for callback to Java object 12 | typedef struct { 13 | jmethodID onStatus; 14 | } Fields_istatuscallback; 15 | 16 | class UVCStatusCallback { 17 | private: 18 | uvc_device_handle_t *mDeviceHandle; 19 | pthread_mutex_t status_mutex; 20 | jobject mStatusCallbackObj; 21 | Fields_istatuscallback istatuscallback_fields; 22 | void notifyStatusCallback(JNIEnv *env, uvc_status_class status_class, int event, int selector, uvc_status_attribute status_attribute, void *data, size_t data_len); 23 | static void uvc_status_callback(uvc_status_class status_class, int event, int selector, uvc_status_attribute status_attribute, void *data, size_t data_len, void *user_ptr); 24 | public: 25 | UVCStatusCallback(uvc_device_handle_t *devh); 26 | ~UVCStatusCallback(); 27 | 28 | int setCallback(JNIEnv *env, jobject status_callback_obj); 29 | }; 30 | 31 | #endif /* UVCSTATUSCALLBACK_H_ */ 32 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/UVCCamera/_onload.h: -------------------------------------------------------------------------------- 1 | /* 2 | * UVCCamera 3 | * library and sample to access to UVC web camera on non-rooted Android device 4 | * 5 | * Copyright (c) 2014-2017 saki t_saki@serenegiant.com 6 | * 7 | * File name: _onload.h 8 | * 9 | * Licensed under the Apache License, Version 2.0 (the "License"); 10 | * you may not use this file except in compliance with the License. 11 | * You may obtain a copy of the License at 12 | * 13 | * http://www.apache.org/licenses/LICENSE-2.0 14 | * 15 | * Unless required by applicable law or agreed to in writing, software 16 | * distributed under the License is distributed on an "AS IS" BASIS, 17 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | * See the License for the specific language governing permissions and 19 | * limitations under the License. 20 | * 21 | * All files in the folder are under this Apache License, Version 2.0. 22 | * Files in the jni/libjpeg, jni/libusb, jin/libuvc, jni/rapidjson folder may have a different license, see the respective files. 23 | */ 24 | 25 | #ifndef ONLOAD_H_ 26 | #define ONLOAD_H_ 27 | 28 | #pragma interface 29 | 30 | #include 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | jint JNI_OnLoad(JavaVM *vm, void *reserved); 37 | 38 | #ifdef __cplusplus 39 | } 40 | #endif 41 | 42 | #endif /* ONLOAD_H_ */ 43 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/UVCCamera/libUVCCamera.h: -------------------------------------------------------------------------------- 1 | /* 2 | * UVCCamera 3 | * library and sample to access to UVC web camera on non-rooted Android device 4 | * 5 | * Copyright (c) 2014-2017 saki t_saki@serenegiant.com 6 | * 7 | * File name: libUVCCamera.h 8 | * 9 | * Licensed under the Apache License, Version 2.0 (the "License"); 10 | * you may not use this file except in compliance with the License. 11 | * You may obtain a copy of the License at 12 | * 13 | * http://www.apache.org/licenses/LICENSE-2.0 14 | * 15 | * Unless required by applicable law or agreed to in writing, software 16 | * distributed under the License is distributed on an "AS IS" BASIS, 17 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 | * See the License for the specific language governing permissions and 19 | * limitations under the License. 20 | * 21 | * All files in the folder are under this Apache License, Version 2.0. 22 | * Files in the jni/libjpeg, jni/libusb, jin/libuvc, jni/rapidjson folder may have a different license, see the respective files. 23 | */ 24 | 25 | #ifndef LIBUVCCAMERA_H_ 26 | #define LIBUVCCAMERA_H_ 27 | 28 | #include 29 | #include "libusb.h" 30 | #include "libuvc.h" 31 | #include "utilbase.h" 32 | 33 | #endif /* LIBUVCCAMERA_H_ */ 34 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/cmakescripts/cmake_uninstall.cmake.in: -------------------------------------------------------------------------------- 1 | # This code is from the CMake FAQ 2 | 3 | if (NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") 4 | message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_BINARY_DIR@/install_manifest.txt\"") 5 | endif(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") 6 | 7 | file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files) 8 | string(REGEX REPLACE "\n" ";" files "${files}") 9 | list(REVERSE files) 10 | foreach (file ${files}) 11 | message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") 12 | if (EXISTS "$ENV{DESTDIR}${file}") 13 | execute_process( 14 | COMMAND "@CMAKE_COMMAND@" -E remove "$ENV{DESTDIR}${file}" 15 | OUTPUT_VARIABLE rm_out 16 | RESULT_VARIABLE rm_retval 17 | ) 18 | if(NOT ${rm_retval} EQUAL 0) 19 | message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") 20 | endif (NOT ${rm_retval} EQUAL 0) 21 | else (EXISTS "$ENV{DESTDIR}${file}") 22 | message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") 23 | endif (EXISTS "$ENV{DESTDIR}${file}") 24 | endforeach(file) 25 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/cmakescripts/testclean.cmake: -------------------------------------------------------------------------------- 1 | file(GLOB FILES 2 | testout* 3 | *_GRAY_*.bmp 4 | *_GRAY_*.png 5 | *_GRAY_*.ppm 6 | *_GRAY_*.jpg 7 | *_GRAY.yuv 8 | *_420_*.bmp 9 | *_420_*.png 10 | *_420_*.ppm 11 | *_420_*.jpg 12 | *_420.yuv 13 | *_422_*.bmp 14 | *_422_*.png 15 | *_422_*.ppm 16 | *_422_*.jpg 17 | *_422.yuv 18 | *_444_*.bmp 19 | *_444_*.png 20 | *_444_*.ppm 21 | *_444_*.jpg 22 | *_444.yuv 23 | *_440_*.bmp 24 | *_440_*.png 25 | *_440_*.ppm 26 | *_440_*.jpg 27 | *_440.yuv 28 | *_411_*.bmp 29 | *_411_*.png 30 | *_411_*.ppm 31 | *_411_*.jpg 32 | *_411.yuv 33 | tjbenchtest*.log 34 | tjexampletest*.log) 35 | 36 | if(NOT FILES STREQUAL "") 37 | message(STATUS "Removing test files") 38 | file(REMOVE ${FILES}) 39 | else() 40 | message(STATUS "No files to remove") 41 | endif() 42 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/bc_s.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/bdwn.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/closed.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/doc.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/doxygen-extra.css: -------------------------------------------------------------------------------- 1 | code { 2 | color: #4665A2; 3 | } 4 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/folderclosed.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/folderopen.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/nav_f.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/nav_g.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/nav_h.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/open.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['customfilter_0',['customFilter',['../structtjtransform.html#afd7fc262df33f741e120ef4183202ef5',1,'tjtransform']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['data_1',['data',['../structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3',1,'tjtransform']]], 4 | ['denom_2',['denom',['../structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3',1,'tjscalingfactor']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['h_3',['h',['../structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115',1,'tjregion']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/all_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['num_4',['num',['../structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec',1,'tjscalingfactor']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['op_5',['op',['../structtjtransform.html#a2525aab4ba6978a1c273f74fef50e498',1,'tjtransform']]], 4 | ['options_6',['options',['../structtjtransform.html#ac0e74655baa4402209a21e1ae481c8f6',1,'tjtransform']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['r_7',['r',['../structtjtransform.html#ac324e5e442abec8a961e5bf219db12cf',1,'tjtransform']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['w_108',['w',['../structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42',1,'tjregion']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/all_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['x_109',['x',['../structtjregion.html#a4b6a37a93997091b26a75831fa291ad9',1,'tjregion']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/all_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['y_110',['y',['../structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2',1,'tjregion']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tjregion_111',['tjregion',['../structtjregion.html',1,'']]], 4 | ['tjscalingfactor_112',['tjscalingfactor',['../structtjscalingfactor.html',1,'']]], 5 | ['tjtransform_113',['tjtransform',['../structtjtransform.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/enums_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tjcs_162',['TJCS',['../group___turbo_j_p_e_g.html#ga4f83ad3368e0e29d1957be0efa7c3720',1,'turbojpeg.h']]], 4 | ['tjerr_163',['TJERR',['../group___turbo_j_p_e_g.html#gafbc17cfa57d0d5d11fea35ac025950fe',1,'turbojpeg.h']]], 5 | ['tjpf_164',['TJPF',['../group___turbo_j_p_e_g.html#gac916144e26c3817ac514e64ae5d12e2a',1,'turbojpeg.h']]], 6 | ['tjsamp_165',['TJSAMP',['../group___turbo_j_p_e_g.html#ga1d047060ea80bb9820d540bb928e9074',1,'turbojpeg.h']]], 7 | ['tjxop_166',['TJXOP',['../group___turbo_j_p_e_g.html#ga2de531af4e7e6c4f124908376b354866',1,'turbojpeg.h']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/groups_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['turbojpeg_201',['TurboJPEG',['../group___turbo_j_p_e_g.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/search_l.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/search_m.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/search_r.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "cdhnortwxy", 4 | 1: "t", 5 | 2: "t", 6 | 3: "cdhnortwxy", 7 | 4: "t", 8 | 5: "t", 9 | 6: "t", 10 | 7: "t" 11 | }; 12 | 13 | var indexSectionNames = 14 | { 15 | 0: "all", 16 | 1: "classes", 17 | 2: "functions", 18 | 3: "variables", 19 | 4: "typedefs", 20 | 5: "enums", 21 | 6: "enumvalues", 22 | 7: "groups" 23 | }; 24 | 25 | var indexSectionLabels = 26 | { 27 | 0: "All", 28 | 1: "Data Structures", 29 | 2: "Functions", 30 | 3: "Variables", 31 | 4: "Typedefs", 32 | 5: "Enumerations", 33 | 6: "Enumerator", 34 | 7: "Modules" 35 | }; 36 | 37 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/typedefs_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tjhandle_160',['tjhandle',['../group___turbo_j_p_e_g.html#ga758d2634ecb4949de7815cba621f5763',1,'turbojpeg.h']]], 4 | ['tjtransform_161',['tjtransform',['../group___turbo_j_p_e_g.html#ga504805ec0161f1b505397ca0118bf8fd',1,'turbojpeg.h']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/variables_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['customfilter_142',['customFilter',['../structtjtransform.html#afd7fc262df33f741e120ef4183202ef5',1,'tjtransform']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/variables_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['data_143',['data',['../structtjtransform.html#a688fe8f1a8ecc12a538d9e561cf338e3',1,'tjtransform']]], 4 | ['denom_144',['denom',['../structtjscalingfactor.html#aefbcdf3e9e62274b2d312c695f133ce3',1,'tjscalingfactor']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/variables_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['h_145',['h',['../structtjregion.html#aecefc45a26f4d8b60dd4d825c1710115',1,'tjregion']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/variables_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['num_146',['num',['../structtjscalingfactor.html#a9b011e57f981ee23083e2c1aa5e640ec',1,'tjscalingfactor']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/variables_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['op_147',['op',['../structtjtransform.html#a2525aab4ba6978a1c273f74fef50e498',1,'tjtransform']]], 4 | ['options_148',['options',['../structtjtransform.html#ac0e74655baa4402209a21e1ae481c8f6',1,'tjtransform']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/variables_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['r_149',['r',['../structtjtransform.html#ac324e5e442abec8a961e5bf219db12cf',1,'tjtransform']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/variables_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tjalphaoffset_150',['tjAlphaOffset',['../group___turbo_j_p_e_g.html#ga5af0ab065feefd526debf1e20c43e837',1,'turbojpeg.h']]], 4 | ['tjblueoffset_151',['tjBlueOffset',['../group___turbo_j_p_e_g.html#ga84e2e35d3f08025f976ec1ec53693dea',1,'turbojpeg.h']]], 5 | ['tjgreenoffset_152',['tjGreenOffset',['../group___turbo_j_p_e_g.html#ga82d6e35da441112a411da41923c0ba2f',1,'turbojpeg.h']]], 6 | ['tjmcuheight_153',['tjMCUHeight',['../group___turbo_j_p_e_g.html#gabd247bb9fecb393eca57366feb8327bf',1,'turbojpeg.h']]], 7 | ['tjmcuwidth_154',['tjMCUWidth',['../group___turbo_j_p_e_g.html#ga9e61e7cd47a15a173283ba94e781308c',1,'turbojpeg.h']]], 8 | ['tjpixelsize_155',['tjPixelSize',['../group___turbo_j_p_e_g.html#gad77cf8fe5b2bfd3cb3f53098146abb4c',1,'turbojpeg.h']]], 9 | ['tjredoffset_156',['tjRedOffset',['../group___turbo_j_p_e_g.html#gadd9b446742ac8a3923f7992c7988fea8',1,'turbojpeg.h']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/variables_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['w_157',['w',['../structtjregion.html#ab6eb73ceef584fc23c8c8097926dce42',1,'tjregion']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/variables_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['x_158',['x',['../structtjregion.html#a4b6a37a93997091b26a75831fa291ad9',1,'tjregion']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/search/variables_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['y_159',['y',['../structtjregion.html#a7b3e0c24cfe87acc80e334cafdcf22c2',1,'tjregion']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/splitbar.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/sync_off.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/sync_on.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/tab_a.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/tab_b.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/tab_h.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doc/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/doc/html/tab_s.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doxygen-extra.css: -------------------------------------------------------------------------------- 1 | code { 2 | color: #4665A2; 3 | } 4 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/doxygen.config: -------------------------------------------------------------------------------- 1 | PROJECT_NAME = TurboJPEG 2 | PROJECT_NUMBER = 2.1 3 | OUTPUT_DIRECTORY = doc/ 4 | USE_WINDOWS_ENCODING = NO 5 | OPTIMIZE_OUTPUT_FOR_C = YES 6 | WARN_NO_PARAMDOC = YES 7 | GENERATE_LATEX = NO 8 | FILE_PATTERNS = turbojpeg.h 9 | HIDE_UNDOC_MEMBERS = YES 10 | VERBATIM_HEADERS = NO 11 | EXTRACT_STATIC = YES 12 | JAVADOC_AUTOBRIEF = YES 13 | MAX_INITIALIZER_LINES = 0 14 | ALWAYS_DETAILED_SEC = YES 15 | HTML_TIMESTAMP = NO 16 | HTML_EXTRA_STYLESHEET = doxygen-extra.css 17 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/fuzz/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -u 4 | set -e 5 | 6 | cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_STATIC=1 -DENABLE_SHARED=0 \ 7 | -DCMAKE_C_FLAGS_RELWITHDEBINFO="-g -DNDEBUG" \ 8 | -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-g -DNDEBUG" -DCMAKE_INSTALL_PREFIX=$WORK \ 9 | -DWITH_FUZZ=1 -DFUZZ_BINDIR=$OUT -DFUZZ_LIBRARY=$LIB_FUZZING_ENGINE 10 | make "-j$(nproc)" "--load-average=$(nproc)" 11 | make install 12 | 13 | cp $SRC/compress_fuzzer_seed_corpus.zip $OUT/cjpeg_fuzzer_seed_corpus.zip 14 | cp $SRC/compress_fuzzer_seed_corpus.zip $OUT/compress_fuzzer_seed_corpus.zip 15 | cp $SRC/compress_fuzzer_seed_corpus.zip $OUT/compress_yuv_fuzzer_seed_corpus.zip 16 | cp $SRC/decompress_fuzzer_seed_corpus.zip $OUT/libjpeg_turbo_fuzzer_seed_corpus.zip 17 | cp $SRC/decompress_fuzzer_seed_corpus.zip $OUT/decompress_yuv_fuzzer_seed_corpus.zip 18 | cp $SRC/decompress_fuzzer_seed_corpus.zip $OUT/transform_fuzzer_seed_corpus.zip 19 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/include/jconfigint.h: -------------------------------------------------------------------------------- 1 | /* libjpeg-turbo build number */ 2 | #define BUILD "20211215" 3 | 4 | /* Compiler's inline keyword */ 5 | #undef inline 6 | 7 | /* How to obtain function inlining. */ 8 | #define INLINE __inline__ __attribute__((always_inline)) 9 | 10 | /* How to obtain thread-local storage */ 11 | #define THREAD_LOCAL __thread 12 | 13 | /* Define to the full name of this package. */ 14 | #define PACKAGE_NAME "libjpeg-turbo" 15 | 16 | /* Version number of package */ 17 | #define VERSION "2.1.2" 18 | 19 | /* The size of `size_t', as computed by sizeof. */ 20 | //#define SIZEOF_SIZE_T 8 21 | 22 | #if defined(_MSC_VER) && defined(HAVE_INTRIN_H) 23 | #if (SIZEOF_SIZE_T == 8) 24 | #define HAVE_BITSCANFORWARD64 25 | #elif (SIZEOF_SIZE_T == 4) 26 | #define HAVE_BITSCANFORWARD 27 | #endif 28 | #endif 29 | 30 | #if defined(__has_attribute) 31 | #if __has_attribute(fallthrough) 32 | #define FALLTHROUGH __attribute__((fallthrough)); 33 | #else 34 | #define FALLTHROUGH 35 | #endif 36 | #else 37 | #define FALLTHROUGH 38 | #endif 39 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/java/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Main-Class: TJExample 3 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/java/doc/package-list: -------------------------------------------------------------------------------- 1 | org.libjpegturbo.turbojpeg 2 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/java/doc/resources/background.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/java/doc/resources/background.gif -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/java/doc/resources/tab.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/java/doc/resources/tab.gif -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/java/doc/resources/titlebar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/java/doc/resources/titlebar.gif -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/java/doc/resources/titlebar_end.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/java/doc/resources/titlebar_end.gif -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/java/doc/script.js: -------------------------------------------------------------------------------- 1 | function show(type) 2 | { 3 | count = 0; 4 | for (var key in methods) { 5 | var row = document.getElementById(key); 6 | if ((methods[key] & type) != 0) { 7 | row.style.display = ''; 8 | row.className = (count++ % 2) ? rowColor : altColor; 9 | } 10 | else 11 | row.style.display = 'none'; 12 | } 13 | updateTabs(type); 14 | } 15 | 16 | function updateTabs(type) 17 | { 18 | for (var value in tabs) { 19 | var sNode = document.getElementById(tabs[value][0]); 20 | var spanNode = sNode.firstChild; 21 | if (value == type) { 22 | sNode.className = activeTableTab; 23 | spanNode.innerHTML = tabs[value][1]; 24 | } 25 | else { 26 | sNode.className = tableTab; 27 | spanNode.innerHTML = "" + tabs[value][1] + ""; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/java/org_libjpegturbo_turbojpeg_TJTransformer.h: -------------------------------------------------------------------------------- 1 | /* DO NOT EDIT THIS FILE - it is machine generated */ 2 | #include 3 | /* Header for class org_libjpegturbo_turbojpeg_TJTransformer */ 4 | 5 | #ifndef _Included_org_libjpegturbo_turbojpeg_TJTransformer 6 | #define _Included_org_libjpegturbo_turbojpeg_TJTransformer 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | /* 11 | * Class: org_libjpegturbo_turbojpeg_TJTransformer 12 | * Method: init 13 | * Signature: ()V 14 | */ 15 | JNIEXPORT void JNICALL Java_org_libjpegturbo_turbojpeg_TJTransformer_init 16 | (JNIEnv *, jobject); 17 | 18 | /* 19 | * Class: org_libjpegturbo_turbojpeg_TJTransformer 20 | * Method: transform 21 | * Signature: ([BI[[B[Lorg/libjpegturbo/turbojpeg/TJTransform;I)[I 22 | */ 23 | JNIEXPORT jintArray JNICALL Java_org_libjpegturbo_turbojpeg_TJTransformer_transform 24 | (JNIEnv *, jobject, jbyteArray, jint, jobjectArray, jobjectArray, jint); 25 | 26 | #ifdef __cplusplus 27 | } 28 | #endif 29 | #endif 30 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/jconfigint.h.in: -------------------------------------------------------------------------------- 1 | /* libjpeg-turbo build number */ 2 | #define BUILD "@BUILD@" 3 | 4 | /* Compiler's inline keyword */ 5 | #undef inline 6 | 7 | /* How to obtain function inlining. */ 8 | #define INLINE @INLINE@ 9 | 10 | /* How to obtain thread-local storage */ 11 | #define THREAD_LOCAL @THREAD_LOCAL@ 12 | 13 | /* Define to the full name of this package. */ 14 | #define PACKAGE_NAME "@CMAKE_PROJECT_NAME@" 15 | 16 | /* Version number of package */ 17 | #define VERSION "@VERSION@" 18 | 19 | /* The size of `size_t', as computed by sizeof. */ 20 | #define SIZEOF_SIZE_T @SIZE_T@ 21 | 22 | /* Define if your compiler has __builtin_ctzl() and sizeof(unsigned long) == sizeof(size_t). */ 23 | #cmakedefine HAVE_BUILTIN_CTZL 24 | 25 | /* Define to 1 if you have the header file. */ 26 | #cmakedefine HAVE_INTRIN_H 27 | 28 | #if defined(_MSC_VER) && defined(HAVE_INTRIN_H) 29 | #if (SIZEOF_SIZE_T == 8) 30 | #define HAVE_BITSCANFORWARD64 31 | #elif (SIZEOF_SIZE_T == 4) 32 | #define HAVE_BITSCANFORWARD 33 | #endif 34 | #endif 35 | 36 | #if defined(__has_attribute) 37 | #if __has_attribute(fallthrough) 38 | #define FALLTHROUGH __attribute__((fallthrough)); 39 | #else 40 | #define FALLTHROUGH 41 | #endif 42 | #else 43 | #define FALLTHROUGH 44 | #endif 45 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/jdmaster.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jdmaster.h 3 | * 4 | * This file was part of the Independent JPEG Group's software: 5 | * Copyright (C) 1991-1995, Thomas G. Lane. 6 | * For conditions of distribution and use, see the accompanying README.ijg 7 | * file. 8 | * 9 | * This file contains the master control structure for the JPEG decompressor. 10 | */ 11 | 12 | /* Private state */ 13 | 14 | typedef struct { 15 | struct jpeg_decomp_master pub; /* public fields */ 16 | 17 | int pass_number; /* # of passes completed */ 18 | 19 | boolean using_merged_upsample; /* TRUE if using merged upsample/cconvert */ 20 | 21 | /* Saved references to initialized quantizer modules, 22 | * in case we need to switch modes. 23 | */ 24 | struct jpeg_color_quantizer *quantizer_1pass; 25 | struct jpeg_color_quantizer *quantizer_2pass; 26 | } my_decomp_master; 27 | 28 | typedef my_decomp_master *my_master_ptr; 29 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/jpegcomp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jpegcomp.h 3 | * 4 | * Copyright (C) 2010, 2020, D. R. Commander. 5 | * For conditions of distribution and use, see the accompanying README.ijg 6 | * file. 7 | * 8 | * JPEG compatibility macros 9 | * These declarations are considered internal to the JPEG library; most 10 | * applications using the library shouldn't need to include this file. 11 | */ 12 | 13 | #if JPEG_LIB_VERSION >= 70 14 | #define _DCT_scaled_size DCT_h_scaled_size 15 | #define _DCT_h_scaled_size DCT_h_scaled_size 16 | #define _DCT_v_scaled_size DCT_v_scaled_size 17 | #define _min_DCT_scaled_size min_DCT_h_scaled_size 18 | #define _min_DCT_h_scaled_size min_DCT_h_scaled_size 19 | #define _min_DCT_v_scaled_size min_DCT_v_scaled_size 20 | #define _jpeg_width jpeg_width 21 | #define _jpeg_height jpeg_height 22 | #define JERR_ARITH_NOTIMPL JERR_NOT_COMPILED 23 | #else 24 | #define _DCT_scaled_size DCT_scaled_size 25 | #define _DCT_h_scaled_size DCT_scaled_size 26 | #define _DCT_v_scaled_size DCT_scaled_size 27 | #define _min_DCT_scaled_size min_DCT_scaled_size 28 | #define _min_DCT_h_scaled_size min_DCT_scaled_size 29 | #define _min_DCT_v_scaled_size min_DCT_scaled_size 30 | #define _jpeg_width image_width 31 | #define _jpeg_height image_height 32 | #endif 33 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/libjpeg.map.in: -------------------------------------------------------------------------------- 1 | LIBJPEGTURBO_@JPEG_LIB_VERSION_DECIMAL@ { 2 | @MEM_SRCDST_FUNCTIONS@ 3 | local: 4 | jsimd_*; 5 | jconst_*; 6 | }; 7 | 8 | LIBJPEG_@JPEG_LIB_VERSION_DECIMAL@ { 9 | global: 10 | *; 11 | }; 12 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/md5/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(md5cmp md5cmp.c md5.c md5hl.c) 2 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/release/Config.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | include("${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@Targets.cmake") 4 | check_required_components("@CMAKE_PROJECT_NAME@") 5 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/release/Distribution.xml.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | @CMAKE_PROJECT_NAME@ 4 | 5 | 6 | 7 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | @PKGNAME@.pkg 24 | 25 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/release/ReadMe.txt: -------------------------------------------------------------------------------- 1 | libjpeg-turbo is a JPEG image codec that uses SIMD instructions to accelerate baseline JPEG compression and decompression on x86, x86-64, Arm, PowerPC, and MIPS systems, as well as progressive JPEG compression on x86, x86-64, and Arm systems. On such systems, libjpeg-turbo is generally 2-6x as fast as libjpeg, all else being equal. On other types of systems, libjpeg-turbo can still outperform libjpeg by a significant amount, by virtue of its highly-optimized Huffman coding routines. In many cases, the performance of libjpeg-turbo rivals that of proprietary high-speed JPEG codecs. 2 | 3 | libjpeg-turbo implements both the traditional libjpeg API as well as the less powerful but more straightforward TurboJPEG API. libjpeg-turbo also features colorspace extensions that allow it to compress from/decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.), as well as a full-featured Java interface. 4 | 5 | libjpeg-turbo was originally based on libjpeg/SIMD, an MMX-accelerated derivative of libjpeg v6b developed by Miyasaka Masaru. The TigerVNC and VirtualGL projects made numerous enhancements to the codec in 2009, and in early 2010, libjpeg-turbo spun off into an independent project, with the goal of making high-speed JPEG compression/decompression technology available to a broader range of users and developers. 6 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/release/Welcome.rtf.in: -------------------------------------------------------------------------------- 1 | {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360 2 | {\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 CourierNewPSMT;} 3 | {\colortbl;\red255\green255\blue255;} 4 | \margl1440\margr1440\vieww9000\viewh8400\viewkind0 5 | \deftab720 6 | \pard\pardeftab720\ql\qnatural 7 | 8 | \f0\fs24 \cf0 This installer will install the libjpeg-turbo SDK and run-time libraries onto your computer so that you can use libjpeg-turbo to build new applications or accelerate existing ones. To remove the libjpeg-turbo package, run\ 9 | \ 10 | \pard\pardeftab720\ql\qnatural 11 | 12 | \f1 \cf0 @CMAKE_INSTALL_FULL_BINDIR@/uninstall\ 13 | \pard\pardeftab720\ql\qnatural 14 | 15 | \f0 \cf0 \ 16 | from the command line.\ 17 | } 18 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/release/libjpeg.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=@CMAKE_INSTALL_PREFIX@ 3 | libdir=@CMAKE_INSTALL_FULL_LIBDIR@ 4 | includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ 5 | 6 | Name: libjpeg 7 | Description: A SIMD-accelerated JPEG codec that provides the libjpeg API 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -ljpeg 10 | Cflags: -I${includedir} 11 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/release/libturbojpeg.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=@CMAKE_INSTALL_PREFIX@ 3 | libdir=@CMAKE_INSTALL_FULL_LIBDIR@ 4 | includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ 5 | 6 | Name: libturbojpeg 7 | Description: A SIMD-accelerated JPEG codec that provides the TurboJPEG API 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -lturbojpeg 10 | Cflags: -I${includedir} 11 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/release/makerpm.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -u 4 | set -e 5 | trap onexit INT 6 | trap onexit TERM 7 | trap onexit EXIT 8 | 9 | TMPDIR= 10 | 11 | onexit() 12 | { 13 | if [ ! "$TMPDIR" = "" ]; then 14 | rm -rf $TMPDIR 15 | fi 16 | } 17 | 18 | if [ -f @PKGNAME@-@VERSION@.@RPMARCH@.rpm ]; then 19 | rm -f @PKGNAME@-@VERSION@.@RPMARCH@.rpm 20 | fi 21 | 22 | umask 022 23 | TMPDIR=`mktemp -d /tmp/@CMAKE_PROJECT_NAME@-build.XXXXXX` 24 | 25 | mkdir -p $TMPDIR/RPMS 26 | ln -fs `pwd` $TMPDIR/BUILD 27 | rpmbuild -bb --define "_blddir $TMPDIR/buildroot" --define "_topdir $TMPDIR" \ 28 | --target @RPMARCH@ pkgscripts/rpm.spec; \ 29 | cp $TMPDIR/RPMS/@RPMARCH@/@PKGNAME@-@VERSION@-@BUILD@.@RPMARCH@.rpm \ 30 | @PKGNAME@-@VERSION@.@RPMARCH@.rpm 31 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/release/makesrpm.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -u 4 | set -e 5 | trap onexit INT 6 | trap onexit TERM 7 | trap onexit EXIT 8 | 9 | TMPDIR= 10 | 11 | onexit() 12 | { 13 | if [ ! "$TMPDIR" = "" ]; then 14 | rm -rf $TMPDIR 15 | fi 16 | } 17 | 18 | PKGNAME=@PKGNAME@ 19 | PROJECT=@CMAKE_PROJECT_NAME@ 20 | VERSION=@VERSION@ 21 | BUILD=@BUILD@ 22 | 23 | if [ -f $PKGNAME-$VERSION.src.rpm ]; then 24 | rm -f $PKGNAME-$VERSION.src.rpm 25 | fi 26 | 27 | umask 022 28 | TMPDIR=`mktemp -d /tmp/$PKGNAME-build.XXXXXX` 29 | 30 | mkdir -p $TMPDIR/RPMS 31 | mkdir -p $TMPDIR/SRPMS 32 | mkdir -p $TMPDIR/BUILD 33 | mkdir -p $TMPDIR/SOURCES 34 | mkdir -p $TMPDIR/SPECS 35 | 36 | if [ ! -f $PROJECT-$VERSION.tar.gz ]; then 37 | echo "ERROR: $PROJECT-$VERSION.tar.gz does not exist." 38 | fi 39 | 40 | cp $PROJECT-$VERSION.tar.gz $TMPDIR/SOURCES/$PROJECT-$VERSION.tar.gz 41 | 42 | cat pkgscripts/rpm.spec | sed s/%{_blddir}/%{_tmppath}/g \ 43 | | sed s/#--\>//g > $TMPDIR/SPECS/$PKGNAME.spec 44 | 45 | rpmbuild -bs --define "_topdir $TMPDIR" $TMPDIR/SPECS/$PKGNAME.spec 46 | mv $TMPDIR/SRPMS/$PKGNAME-$VERSION-$BUILD.src.rpm $PKGNAME-$VERSION.src.rpm 47 | 48 | exit 49 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/simd/arm/align.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2020, Arm Limited. All Rights Reserved. 3 | * 4 | * This software is provided 'as-is', without any express or implied 5 | * warranty. In no event will the authors be held liable for any damages 6 | * arising from the use of this software. 7 | * 8 | * Permission is granted to anyone to use this software for any purpose, 9 | * including commercial applications, and to alter it and redistribute it 10 | * freely, subject to the following restrictions: 11 | * 12 | * 1. The origin of this software must not be misrepresented; you must not 13 | * claim that you wrote the original software. If you use this software 14 | * in a product, an acknowledgment in the product documentation would be 15 | * appreciated but is not required. 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software. 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | */ 20 | 21 | /* How to obtain memory alignment for structures and variables */ 22 | #if defined(_MSC_VER) 23 | #define ALIGN(alignment) __declspec(align(alignment)) 24 | #elif defined(__clang__) || defined(__GNUC__) 25 | #define ALIGN(alignment) __attribute__((aligned(alignment))) 26 | #else 27 | #error "Unknown compiler" 28 | #endif 29 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/simd/mips64/jcsample.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jcsample.h 3 | * 4 | * This file was part of the Independent JPEG Group's software: 5 | * Copyright (C) 1991-1996, Thomas G. Lane. 6 | * For conditions of distribution and use, see the accompanying README.ijg 7 | * file. 8 | */ 9 | 10 | LOCAL(void) 11 | expand_right_edge(JSAMPARRAY image_data, int num_rows, JDIMENSION input_cols, 12 | JDIMENSION output_cols) 13 | { 14 | register JSAMPROW ptr; 15 | register JSAMPLE pixval; 16 | register int count; 17 | int row; 18 | int numcols = (int)(output_cols - input_cols); 19 | 20 | if (numcols > 0) { 21 | for (row = 0; row < num_rows; row++) { 22 | ptr = image_data[row] + input_cols; 23 | pixval = ptr[-1]; 24 | for (count = numcols; count > 0; count--) 25 | *ptr++ = pixval; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/simd/powerpc/jcsample.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jcsample.h 3 | * 4 | * This file was part of the Independent JPEG Group's software: 5 | * Copyright (C) 1991-1996, Thomas G. Lane. 6 | * For conditions of distribution and use, see the accompanying README.ijg 7 | * file. 8 | */ 9 | 10 | LOCAL(void) 11 | expand_right_edge(JSAMPARRAY image_data, int num_rows, JDIMENSION input_cols, 12 | JDIMENSION output_cols) 13 | { 14 | register JSAMPROW ptr; 15 | register JSAMPLE pixval; 16 | register int count; 17 | int row; 18 | int numcols = (int)(output_cols - input_cols); 19 | 20 | if (numcols > 0) { 21 | for (row = 0; row < num_rows; row++) { 22 | ptr = image_data[row] + input_cols; 23 | pixval = ptr[-1]; 24 | for (count = numcols; count > 0; count--) 25 | *ptr++ = pixval; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/nightshot_iso_100.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/testimages/nightshot_iso_100.bmp -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/test.scan: -------------------------------------------------------------------------------- 1 | 0 1 2: 0 0 0 0; 2 | 0: 1 9 0 0; 3 | 0: 10 41 0 2; 4 | 0: 10 41 2 1; 5 | 0: 10 41 1 0; 6 | 0: 42 63 0 0; 7 | 1: 1 63 0 0; 8 | 2: 1 63 0 0; 9 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/test1.icc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/testimages/test1.icc -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/test1.icc.txt: -------------------------------------------------------------------------------- 1 | Little CMS 2 | Copyright (c) 1998-2011 Marti Maria Saguer 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of 5 | this software and associated documentation files (the "Software"), to deal in 6 | the Software without restriction, including without limitation the rights to 7 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 8 | of the Software, and to permit persons to whom the Software is furnished to do 9 | so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | SOFTWARE. 21 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/test2.icc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/testimages/test2.icc -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/test2.icc.txt: -------------------------------------------------------------------------------- 1 | Little CMS 2 | Copyright (c) 1998-2011 Marti Maria Saguer 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of 5 | this software and associated documentation files (the "Software"), to deal in 6 | the Software without restriction, including without limitation the rights to 7 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 8 | of the Software, and to permit persons to whom the Software is furnished to do 9 | so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | SOFTWARE. 21 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/testimgari.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/testimages/testimgari.jpg -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/testimgint.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/testimages/testimgint.jpg -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/testorig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/testimages/testorig.jpg -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/testorig.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/testimages/testorig.ppm -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/testorig12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/testimages/testorig12.jpg -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/vgl_5674_0098.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/testimages/vgl_5674_0098.bmp -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/vgl_6434_0018a.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/testimages/vgl_6434_0018a.bmp -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/testimages/vgl_6548_0026a.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libjpeg-turbo/testimages/vgl_6548_0026a.bmp -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/turbojpeg-mapfile: -------------------------------------------------------------------------------- 1 | TURBOJPEG_1.0 2 | { 3 | global: 4 | tjInitCompress; 5 | tjCompress; 6 | TJBUFSIZE; 7 | tjInitDecompress; 8 | tjDecompressHeader; 9 | tjDecompress; 10 | tjDestroy; 11 | tjGetErrorStr; 12 | local: 13 | *; 14 | }; 15 | 16 | TURBOJPEG_1.1 17 | { 18 | global: 19 | TJBUFSIZEYUV; 20 | tjDecompressHeader2; 21 | tjDecompressToYUV; 22 | tjEncodeYUV; 23 | } TURBOJPEG_1.0; 24 | 25 | TURBOJPEG_1.2 26 | { 27 | global: 28 | tjAlloc; 29 | tjBufSize; 30 | tjBufSizeYUV; 31 | tjCompress2; 32 | tjDecompress2; 33 | tjEncodeYUV2; 34 | tjFree; 35 | tjGetScalingFactors; 36 | tjInitTransform; 37 | tjTransform; 38 | } TURBOJPEG_1.1; 39 | 40 | TURBOJPEG_1.4 41 | { 42 | global: 43 | tjBufSizeYUV2; 44 | tjCompressFromYUV; 45 | tjCompressFromYUVPlanes; 46 | tjDecodeYUV; 47 | tjDecodeYUVPlanes; 48 | tjDecompressHeader3; 49 | tjDecompressToYUV2; 50 | tjDecompressToYUVPlanes; 51 | tjEncodeYUV3; 52 | tjEncodeYUVPlanes; 53 | tjPlaneHeight; 54 | tjPlaneSizeYUV; 55 | tjPlaneWidth; 56 | } TURBOJPEG_1.2; 57 | 58 | TURBOJPEG_2.0 59 | { 60 | global: 61 | tjGetErrorCode; 62 | tjGetErrorStr2; 63 | tjLoadImage; 64 | tjSaveImage; 65 | } TURBOJPEG_1.4; 66 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libjpeg-turbo/win/jconfig.h.in: -------------------------------------------------------------------------------- 1 | #define JPEG_LIB_VERSION @JPEG_LIB_VERSION@ 2 | #define LIBJPEG_TURBO_VERSION @VERSION@ 3 | #define LIBJPEG_TURBO_VERSION_NUMBER @LIBJPEG_TURBO_VERSION_NUMBER@ 4 | 5 | #cmakedefine C_ARITH_CODING_SUPPORTED 6 | #cmakedefine D_ARITH_CODING_SUPPORTED 7 | #cmakedefine MEM_SRCDST_SUPPORTED 8 | #cmakedefine WITH_SIMD 9 | 10 | #define BITS_IN_JSAMPLE @BITS_IN_JSAMPLE@ /* use 8 or 12 */ 11 | 12 | #define HAVE_STDDEF_H 13 | #define HAVE_STDLIB_H 14 | #undef NEED_SYS_TYPES_H 15 | #undef NEED_BSD_STRINGS 16 | 17 | #define HAVE_UNSIGNED_CHAR 18 | #define HAVE_UNSIGNED_SHORT 19 | #undef INCOMPLETE_TYPES_BROKEN 20 | #undef RIGHT_SHIFT_IS_UNSIGNED 21 | 22 | /* Define "boolean" as unsigned char, not int, per Windows custom */ 23 | #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ 24 | typedef unsigned char boolean; 25 | #endif 26 | #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ 27 | 28 | /* Define "INT32" as int, not long, per Windows custom */ 29 | #if !(defined(_BASETSD_H_) || defined(_BASETSD_H)) /* don't conflict if basetsd.h already read */ 30 | typedef short INT16; 31 | typedef signed int INT32; 32 | #endif 33 | #define XMD_H /* prevent jmorecfg.h from redefining it */ 34 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/NEWS: -------------------------------------------------------------------------------- 1 | For the latest libusb news, please refer to the ChangeLog file, or visit: 2 | http://libusb.info 3 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/README.md: -------------------------------------------------------------------------------- 1 | README -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/TODO: -------------------------------------------------------------------------------- 1 | Please see the libusb roadmap by visiting: 2 | https://github.com/libusb/libusb/milestones?direction=asc&sort=due_date&state=open 3 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/Xcode/config.h: -------------------------------------------------------------------------------- 1 | /* config.h. Manually generated for Xcode. */ 2 | 3 | #include 4 | 5 | /* Define to the attribute for default visibility. */ 6 | #define DEFAULT_VISIBILITY __attribute__ ((visibility ("default"))) 7 | 8 | /* Define to 1 to enable message logging. */ 9 | #define ENABLE_LOGGING 1 10 | 11 | /* On 10.12 and later, use newly available clock_*() functions */ 12 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 101200 13 | /* Define to 1 if you have the `clock_gettime' function. */ 14 | #define HAVE_CLOCK_GETTIME 1 15 | #endif 16 | 17 | /* On 10.6 and later, use newly available pthread_threadid_np() function */ 18 | #if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060 19 | /* Define to 1 if you have the 'pthread_threadid_np' function. */ 20 | #define HAVE_PTHREAD_THREADID_NP 1 21 | #endif 22 | 23 | /* Define to 1 if the system has the type `nfds_t'. */ 24 | #define HAVE_NFDS_T 1 25 | 26 | /* Define to 1 if you have the header file. */ 27 | #define HAVE_SYS_TIME_H 1 28 | 29 | /* Define to 1 if compiling for a POSIX platform. */ 30 | #define PLATFORM_POSIX 1 31 | 32 | /* Define to the attribute for enabling parameter checks on printf-like 33 | functions. */ 34 | #define PRINTF_FORMAT(a, b) __attribute__ ((__format__ (__printf__, a, b))) 35 | 36 | /* Enable GNU extensions. */ 37 | #define _GNU_SOURCE 1 38 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/Xcode/debug.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // libusb Xcode configuration file 3 | // Copyright © 2012 Pete Batard 4 | // For more information, please visit: 5 | // 6 | // This library is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU Lesser General Public 8 | // License as published by the Free Software Foundation; either 9 | // version 2.1 of the License, or (at your option) any later version. 10 | // 11 | // This library is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | // Lesser General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU Lesser General Public 17 | // License along with this library; if not, write to the Free Software 18 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | 20 | #include "common.xcconfig" 21 | 22 | // Embed debug symbols in binary itself. 23 | DEBUG_INFORMATION_FORMAT = dwarf 24 | 25 | // No optimizations in debug. 26 | GCC_OPTIMIZATION_LEVEL = 0 27 | 28 | // 29 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) DEBUG=1 30 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/Xcode/libusb.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // libusb Xcode configuration file 3 | // Copyright © 2012 Pete Batard 4 | // For more information, please visit: 5 | // 6 | // This library is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU Lesser General Public 8 | // License as published by the Free Software Foundation; either 9 | // version 2.1 of the License, or (at your option) any later version. 10 | // 11 | // This library is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | // Lesser General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU Lesser General Public 17 | // License along with this library; if not, write to the Free Software 18 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | 20 | PRODUCT_NAME = libusb-1.0.0 21 | LD_DYLIB_INSTALL_NAME = @rpath/libusb-1.0.0.dylib 22 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/Xcode/libusb_debug.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // libusb Xcode configuration file 3 | // Copyright © 2012 Pete Batard 4 | // For more information, please visit: 5 | // 6 | // This library is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU Lesser General Public 8 | // License as published by the Free Software Foundation; either 9 | // version 2.1 of the License, or (at your option) any later version. 10 | // 11 | // This library is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | // Lesser General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU Lesser General Public 17 | // License along with this library; if not, write to the Free Software 18 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | 20 | #include "debug.xcconfig" 21 | #include "libusb.xcconfig" 22 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/Xcode/libusb_release.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // libusb Xcode configuration file 3 | // Copyright © 2012 Pete Batard 4 | // For more information, please visit: 5 | // 6 | // This library is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU Lesser General Public 8 | // License as published by the Free Software Foundation; either 9 | // version 2.1 of the License, or (at your option) any later version. 10 | // 11 | // This library is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | // Lesser General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU Lesser General Public 17 | // License along with this library; if not, write to the Free Software 18 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | 20 | #include "release.xcconfig" 21 | #include "libusb.xcconfig" 22 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/Xcode/release.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // libusb Xcode configuration file 3 | // Copyright © 2012 Pete Batard 4 | // For more information, please visit: 5 | // 6 | // This library is free software; you can redistribute it and/or 7 | // modify it under the terms of the GNU Lesser General Public 8 | // License as published by the Free Software Foundation; either 9 | // version 2.1 of the License, or (at your option) any later version. 10 | // 11 | // This library is distributed in the hope that it will be useful, 12 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | // Lesser General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU Lesser General Public 17 | // License along with this library; if not, write to the Free Software 18 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | 20 | #include "common.xcconfig" 21 | 22 | // Put debug symbols in separate .dym file. 23 | DEBUG_INFORMATION_FORMAT = dwarf-with-dsym 24 | 25 | // Optimizations in release. 26 | GCC_OPTIMIZATION_LEVEL = s 27 | LLVM_LTO = YES 28 | 29 | // Define NDEBUG so asserts go away in release. 30 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) NDEBUG=1 31 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/android/examples/unrooted_android.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2021 Peter Stoiber 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | * 18 | * Please contact the author if you need another license. 19 | * This Repository is provided "as is", without warranties of any kind. 20 | */ 21 | 22 | #ifndef unrooted_android_H 23 | #define unrooted_android_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | extern int unrooted_usb_description(int fileDescriptor); 30 | 31 | #ifdef __cplusplus 32 | } 33 | #endif 34 | 35 | #endif 36 | 37 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/android/jni/Android.mk: -------------------------------------------------------------------------------- 1 | # Android build config for libusb, examples and tests 2 | # Copyright © 2012-2013 RealVNC Ltd. 3 | # 4 | # This library is free software; you can redistribute it and/or 5 | # modify it under the terms of the GNU Lesser General Public 6 | # License as published by the Free Software Foundation; either 7 | # version 2.1 of the License, or (at your option) any later version. 8 | # 9 | # This library is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | # Lesser General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU Lesser General Public 15 | # License along with this library; if not, write to the Free Software 16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | # 18 | 19 | LOCAL_PATH := $(call my-dir) 20 | 21 | include $(LOCAL_PATH)/libusb.mk 22 | #include $(LOCAL_PATH)/examples.mk 23 | #include $(LOCAL_PATH)/tests.mk 24 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/android/jni/Android_origin.mk: -------------------------------------------------------------------------------- 1 | # Android build config for libusb, examples and tests 2 | # Copyright © 2012-2013 RealVNC Ltd. 3 | # 4 | # This library is free software; you can redistribute it and/or 5 | # modify it under the terms of the GNU Lesser General Public 6 | # License as published by the Free Software Foundation; either 7 | # version 2.1 of the License, or (at your option) any later version. 8 | # 9 | # This library is distributed in the hope that it will be useful, 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | # Lesser General Public License for more details. 13 | # 14 | # You should have received a copy of the GNU Lesser General Public 15 | # License along with this library; if not, write to the Free Software 16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | # 18 | 19 | LOCAL_PATH := $(call my-dir) 20 | 21 | include $(LOCAL_PATH)/libusb.mk 22 | include $(LOCAL_PATH)/examples.mk 23 | include $(LOCAL_PATH)/tests.mk 24 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | srcdir="$(dirname "$0")" 6 | 7 | "$srcdir"/bootstrap.sh 8 | if [ -z "$NOCONFIGURE" ]; then 9 | exec "$srcdir"/configure --enable-examples-build --enable-tests-build "$@" 10 | fi 11 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/bootstrap.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | cd "$(dirname "$0")" 6 | 7 | if [ ! -d m4 ]; then 8 | mkdir m4 9 | fi 10 | exec autoreconf -ivf 11 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/doc/Makefile.in: -------------------------------------------------------------------------------- 1 | LIBUSB_SRC_DIR = @top_srcdir@/libusb 2 | EXCLUDED_FILES = libusbi.h version.h version_nano.h 3 | LIBUSB_SRC = $(wildcard $(LIBUSB_SRC_DIR)/*.c) $(wildcard $(LIBUSB_SRC_DIR)/*.h) 4 | LIBUSB_DOC_SRC = $(filter-out $(addprefix $(LIBUSB_SRC_DIR)/,$(EXCLUDED_FILES)),$(LIBUSB_SRC)) 5 | 6 | docs: @DOXYGEN_HTMLDIR@ 7 | 8 | @DOXYGEN_HTMLDIR@: doxygen.cfg @top_srcdir@/doc/libusb.png $(LIBUSB_DOC_SRC) 9 | doxygen $< 10 | 11 | sfurl = web.sourceforge.net:/home/project-web/libusb/htdocs 12 | docs-upload: @DOXYGEN_HTMLDIR@ 13 | if [ -z "$$SF_USER" ]; then \ 14 | rsync -rv --delete $< $(sfurl); \ 15 | else \ 16 | rsync -rv --delete $< $$SF_USER@$(sfurl); \ 17 | fi 18 | 19 | clean: 20 | rm -rf @DOXYGEN_HTMLDIR@ 21 | 22 | .PHONY: clean docs docs-upload 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/doc/libusb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libusb/doc/libusb.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/examples/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = -I$(top_srcdir)/libusb 2 | LDADD = ../libusb/libusb-1.0.la 3 | LIBS = 4 | 5 | noinst_PROGRAMS = dpfp dpfp_threaded fxload hotplugtest listdevs sam3u_benchmark testlibusb xusb 6 | 7 | dpfp_threaded_CPPFLAGS = $(AM_CPPFLAGS) -DDPFP_THREADED 8 | dpfp_threaded_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS) 9 | dpfp_threaded_LDADD = $(LDADD) $(THREAD_LIBS) 10 | dpfp_threaded_SOURCES = dpfp.c 11 | 12 | fxload_SOURCES = ezusb.c ezusb.h fxload.c 13 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/libusb-1.0.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: libusb-1.0 7 | Description: C API for USB device access from Linux, Mac OS X, Windows, OpenBSD/NetBSD and Solaris userspace 8 | Version: @VERSION@ 9 | Libs: -L${libdir} -lusb-1.0 10 | Libs.private: @LIBS@ 11 | Cflags: -I${includedir}/libusb-1.0 12 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/libusb/Makefile.am.extra: -------------------------------------------------------------------------------- 1 | AM_V_DLLTOOL = $(am__v_DLLTOOL_$(V)) 2 | am__v_DLLTOOL_ = $(am__v_DLLTOOL_$(AM_DEFAULT_VERBOSITY)) 3 | am__v_DLLTOOL_0 = @echo " DLLTOOL " $@; 4 | am__v_DLLTOOL_1 = 5 | 6 | AM_V_RC = $(am__v_RC_$(V)) 7 | am__v_RC_ = $(am__v_RC_$(AM_DEFAULT_VERBOSITY)) 8 | am__v_RC_0 = @echo " RC " $@; 9 | am__v_RC_1 = 10 | 11 | LTRC = $(LIBTOOL) $(AM_V_lt) --tag=RC $(AM_LIBTOOLFLAGS) \ 12 | $(LIBTOOLFLAGS) --mode=compile $(RC) $(AM_RCFLAGS) \ 13 | $(RCFLAGS) 14 | 15 | RCPPARGS = \ 16 | --preprocessor-arg -MT \ 17 | --preprocessor-arg $@ \ 18 | --preprocessor-arg -MD \ 19 | --preprocessor-arg -MP \ 20 | --preprocessor-arg -MF \ 21 | --preprocessor-arg $$depbase.Tpo 22 | 23 | .rc.lo: 24 | $(AM_V_RC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ 25 | $(LTRC) $(RCPPARGS) -i $< -o $@ &&\ 26 | $(am__mv) $$depbase.Tpo $$depbase.Plo 27 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/libusb/version.h: -------------------------------------------------------------------------------- 1 | /* This file is parsed by m4 and windres and RC.EXE so please keep it simple. */ 2 | #include "version_nano.h" 3 | #ifndef LIBUSB_MAJOR 4 | #define LIBUSB_MAJOR 1 5 | #endif 6 | #ifndef LIBUSB_MINOR 7 | #define LIBUSB_MINOR 0 8 | #endif 9 | #ifndef LIBUSB_MICRO 10 | #define LIBUSB_MICRO 25 11 | #endif 12 | #ifndef LIBUSB_NANO 13 | #define LIBUSB_NANO 0 14 | #endif 15 | /* LIBUSB_RC is the release candidate suffix. Should normally be empty. */ 16 | #ifndef LIBUSB_RC 17 | #define LIBUSB_RC "" 18 | #endif 19 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/libusb/version_nano.h: -------------------------------------------------------------------------------- 1 | #define LIBUSB_NANO 11692 2 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/dpfp_2013.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4fc737f1-c7a5-4376-a066-2a32d752a2ff} 6 | c 7 | 8 | 9 | {93995380-89bd-4b04-88eb-625fbe52ebfb} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/dpfp_2015.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4fc737f1-c7a5-4376-a066-2a32d752a2ff} 6 | c 7 | 8 | 9 | {93995380-89bd-4b04-88eb-625fbe52ebfb} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/dpfp_2017.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4fc737f1-c7a5-4376-a066-2a32d752a2ff} 6 | c 7 | 8 | 9 | {93995380-89bd-4b04-88eb-625fbe52ebfb} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/dpfp_2019.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4fc737f1-c7a5-4376-a066-2a32d752a2ff} 6 | c 7 | 8 | 9 | {93995380-89bd-4b04-88eb-625fbe52ebfb} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/dpfp_threaded_2013.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4fc737f2-c7a5-4376-a066-2a32d752a2ff} 6 | c 7 | 8 | 9 | {93995381-89bd-4b04-88eb-625fbe52ebfb} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/dpfp_threaded_2015.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4fc737f2-c7a5-4376-a066-2a32d752a2ff} 6 | c 7 | 8 | 9 | {93995381-89bd-4b04-88eb-625fbe52ebfb} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/dpfp_threaded_2017.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4fc737f2-c7a5-4376-a066-2a32d752a2ff} 6 | c 7 | 8 | 9 | {93995381-89bd-4b04-88eb-625fbe52ebfb} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/dpfp_threaded_2019.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4fc737f2-c7a5-4376-a066-2a32d752a2ff} 6 | c 7 | 8 | 9 | {93995381-89bd-4b04-88eb-625fbe52ebfb} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/fxload_2013.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {777c7051-d00a-4cb4-9bd0-1c8f843183db} 6 | c 7 | 8 | 9 | {1cfdb0a6-840c-4444-a5c3-e3cd508bf25b} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | Header Files 22 | 23 | 24 | Header Files 25 | 26 | 27 | 28 | 29 | Source Files 30 | 31 | 32 | Source Files 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/fxload_2015.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {777c7051-d00a-4cb4-9bd0-1c8f843183db} 6 | c 7 | 8 | 9 | {1cfdb0a6-840c-4444-a5c3-e3cd508bf25b} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | Header Files 22 | 23 | 24 | Header Files 25 | 26 | 27 | 28 | 29 | Source Files 30 | 31 | 32 | Source Files 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/fxload_2017.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {777c7051-d00a-4cb4-9bd0-1c8f843183db} 6 | c 7 | 8 | 9 | {1cfdb0a6-840c-4444-a5c3-e3cd508bf25b} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | Header Files 22 | 23 | 24 | Header Files 25 | 26 | 27 | 28 | 29 | Source Files 30 | 31 | 32 | Source Files 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/fxload_2019.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {777c7051-d00a-4cb4-9bd0-1c8f843183db} 6 | c 7 | 8 | 9 | {1cfdb0a6-840c-4444-a5c3-e3cd508bf25b} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | Header Files 22 | 23 | 24 | Header Files 25 | 26 | 27 | 28 | 29 | Source Files 30 | 31 | 32 | Source Files 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/getopt_2013.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {ace8a4fb-b016-42e1-ad13-5e813dc2161a} 6 | c 7 | 8 | 9 | {fb949e29-22d4-48ec-a6ca-acc76a3caa62} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/getopt_2015.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {ace8a4fb-b016-42e1-ad13-5e813dc2161a} 6 | c 7 | 8 | 9 | {fb949e29-22d4-48ec-a6ca-acc76a3caa62} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/getopt_2017.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {ace8a4fb-b016-42e1-ad13-5e813dc2161a} 6 | c 7 | 8 | 9 | {fb949e29-22d4-48ec-a6ca-acc76a3caa62} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/getopt_2019.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {ace8a4fb-b016-42e1-ad13-5e813dc2161a} 6 | c 7 | 8 | 9 | {fb949e29-22d4-48ec-a6ca-acc76a3caa62} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/hotplugtest_2013.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {2499509b-af28-4409-aed1-a0c3cc458288} 6 | c 7 | 8 | 9 | {6fa5acdf-d7e4-48e3-a554-9000deb594d1} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/hotplugtest_2015.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {2499509b-af28-4409-aed1-a0c3cc458288} 6 | c 7 | 8 | 9 | {6fa5acdf-d7e4-48e3-a554-9000deb594d1} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/hotplugtest_2017.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {2499509b-af28-4409-aed1-a0c3cc458288} 6 | c 7 | 8 | 9 | {6fa5acdf-d7e4-48e3-a554-9000deb594d1} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/hotplugtest_2019.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {2499509b-af28-4409-aed1-a0c3cc458288} 6 | c 7 | 8 | 9 | {6fa5acdf-d7e4-48e3-a554-9000deb594d1} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/listdevs_2013.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {2ceecece-c641-4d87-8e75-ea3622a2a50c} 6 | c 7 | 8 | 9 | {6162aa6f-aa3a-43b0-92b2-f40207a0b581} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/listdevs_2015.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {2ceecece-c641-4d87-8e75-ea3622a2a50c} 6 | c 7 | 8 | 9 | {6162aa6f-aa3a-43b0-92b2-f40207a0b581} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/listdevs_2017.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {2ceecece-c641-4d87-8e75-ea3622a2a50c} 6 | c 7 | 8 | 9 | {6162aa6f-aa3a-43b0-92b2-f40207a0b581} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/listdevs_2019.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {2ceecece-c641-4d87-8e75-ea3622a2a50c} 6 | c 7 | 8 | 9 | {6162aa6f-aa3a-43b0-92b2-f40207a0b581} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/sam3u_benchmark_2013.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {a19ef59c-c0d8-48a6-8d62-c158c7bac2fe} 6 | c 7 | 8 | 9 | {5a6ad543-f221-4cb6-addd-c9020acd752e} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/sam3u_benchmark_2015.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {a19ef59c-c0d8-48a6-8d62-c158c7bac2fe} 6 | c 7 | 8 | 9 | {5a6ad543-f221-4cb6-addd-c9020acd752e} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/sam3u_benchmark_2017.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {a19ef59c-c0d8-48a6-8d62-c158c7bac2fe} 6 | c 7 | 8 | 9 | {5a6ad543-f221-4cb6-addd-c9020acd752e} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/sam3u_benchmark_2019.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {a19ef59c-c0d8-48a6-8d62-c158c7bac2fe} 6 | c 7 | 8 | 9 | {5a6ad543-f221-4cb6-addd-c9020acd752e} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | 22 | 23 | Source Files 24 | 25 | 26 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/stress_2013.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {9c3f4e23-69bf-41de-adfd-324d8a986054} 6 | c 7 | 8 | 9 | {0c2492ba-a6ee-4a3d-94c3-3e1ec440c8dd} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | Header Files 22 | 23 | 24 | 25 | 26 | Source Files 27 | 28 | 29 | Source Files 30 | 31 | 32 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/stress_2015.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {9c3f4e23-69bf-41de-adfd-324d8a986054} 6 | c 7 | 8 | 9 | {0c2492ba-a6ee-4a3d-94c3-3e1ec440c8dd} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | Header Files 22 | 23 | 24 | 25 | 26 | Source Files 27 | 28 | 29 | Source Files 30 | 31 | 32 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/stress_2017.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {9c3f4e23-69bf-41de-adfd-324d8a986054} 6 | c 7 | 8 | 9 | {0c2492ba-a6ee-4a3d-94c3-3e1ec440c8dd} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | Header Files 22 | 23 | 24 | 25 | 26 | Source Files 27 | 28 | 29 | Source Files 30 | 31 | 32 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/stress_2019.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {9c3f4e23-69bf-41de-adfd-324d8a986054} 6 | c 7 | 8 | 9 | {0c2492ba-a6ee-4a3d-94c3-3e1ec440c8dd} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | Header Files 19 | 20 | 21 | Header Files 22 | 23 | 24 | 25 | 26 | Source Files 27 | 28 | 29 | Source Files 30 | 31 | 32 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/testlibusb_2013.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4a89b408-009b-41e4-bb05-78f07a7c7f82} 6 | c 7 | 8 | 9 | {9dc8bfc2-c1d0-41d9-9fd2-858137d5d7c7} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/testlibusb_2015.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4a89b408-009b-41e4-bb05-78f07a7c7f82} 6 | c 7 | 8 | 9 | {9dc8bfc2-c1d0-41d9-9fd2-858137d5d7c7} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/testlibusb_2017.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4a89b408-009b-41e4-bb05-78f07a7c7f82} 6 | c 7 | 8 | 9 | {9dc8bfc2-c1d0-41d9-9fd2-858137d5d7c7} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/testlibusb_2019.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4a89b408-009b-41e4-bb05-78f07a7c7f82} 6 | c 7 | 8 | 9 | {9dc8bfc2-c1d0-41d9-9fd2-858137d5d7c7} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/xusb_2013.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4bdcefa9-8c79-431b-965b-15b234737380} 6 | c 7 | 8 | 9 | {f81e24cd-e12b-4324-ada3-accbab00ef08} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/xusb_2015.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4bdcefa9-8c79-431b-965b-15b234737380} 6 | c 7 | 8 | 9 | {f81e24cd-e12b-4324-ada3-accbab00ef08} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/xusb_2017.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4bdcefa9-8c79-431b-965b-15b234737380} 6 | c 7 | 8 | 9 | {f81e24cd-e12b-4324-ada3-accbab00ef08} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/msvc/xusb_2019.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4bdcefa9-8c79-431b-965b-15b234737380} 6 | c 7 | 8 | 9 | {f81e24cd-e12b-4324-ada3-accbab00ef08} 10 | h 11 | 12 | 13 | 14 | 15 | Header Files 16 | 17 | 18 | 19 | 20 | Source Files 21 | 22 | 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libusb/tests/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CPPFLAGS = -I$(top_srcdir)/libusb 2 | LDADD = ../libusb/libusb-1.0.la 3 | LIBS = 4 | 5 | noinst_PROGRAMS = stress 6 | 7 | stress_SOURCES = stress.c libusb_testlib.h testlib.c 8 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libuvc/cameras/ms_lifecam_show.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/libuvc/cameras/ms_lifecam_show.txt -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libuvc/cameras/quickcampro9000_builtin_ctrls.txt: -------------------------------------------------------------------------------- 1 | Listing available controls for device video0: 2 | Exposure, Auto Priority 3 | Exposure (Absolute) 4 | Exposure, Auto 5 | Backlight Compensation 6 | Sharpness 7 | White Balance Temperature 8 | Power Line Frequency 9 | Gain 10 | White Balance Temperature, Auto 11 | Saturation 12 | Contrast 13 | Brightness 14 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libuvc/cameras/quickcampro9000_extra_ctrls.txt: -------------------------------------------------------------------------------- 1 | Listing available controls for device video0: 2 | Raw bits per pixel 3 | Disable video processing 4 | LED1 Frequency 5 | LED1 Mode 6 | Focus 7 | Exposure, Auto Priority 8 | Exposure (Absolute) 9 | Exposure, Auto 10 | Backlight Compensation 11 | Sharpness 12 | White Balance Temperature 13 | Power Line Frequency 14 | Gain 15 | White Balance Temperature, Auto 16 | Saturation 17 | Contrast 18 | Brightness 19 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libuvc/include/libuvc/libuvc_config.h: -------------------------------------------------------------------------------- 1 | #ifndef LIBUVC_CONFIG_H 2 | #define LIBUVC_CONFIG_H 3 | 4 | #define LIBUVC_VERSION_MAJOR 0 5 | #define LIBUVC_VERSION_MINOR 0 6 | #define LIBUVC_VERSION_PATCH 6 7 | #define LIBUVC_VERSION_STR "0.0.6" 8 | #define LIBUVC_VERSION_INT \ 9 | ((0 << 16) | \ 10 | (0 << 8) | \ 11 | (6)) 12 | 13 | /** @brief Test whether libuvc is new enough 14 | * This macro evaluates true if and only if the current version is 15 | * at least as new as the version specified. 16 | */ 17 | #define LIBUVC_VERSION_GTE(major, minor, patch) \ 18 | (LIBUVC_VERSION_INT >= (((major) << 16) | ((minor) << 8) | (patch))) 19 | 20 | /* #undef LIBUVC_HAS_JPEG */ 21 | 22 | #endif // !def(LIBUVC_CONFIG_H) 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libuvc/include/libuvc/libuvc_config.h.in: -------------------------------------------------------------------------------- 1 | #ifndef LIBUVC_CONFIG_H 2 | #define LIBUVC_CONFIG_H 3 | 4 | #define LIBUVC_VERSION_MAJOR @libuvc_VERSION_MAJOR@ 5 | #define LIBUVC_VERSION_MINOR @libuvc_VERSION_MINOR@ 6 | #define LIBUVC_VERSION_PATCH @libuvc_VERSION_PATCH@ 7 | #define LIBUVC_VERSION_STR "@libuvc_VERSION@" 8 | #define LIBUVC_VERSION_INT \ 9 | ((@libuvc_VERSION_MAJOR@ << 16) | \ 10 | (@libuvc_VERSION_MINOR@ << 8) | \ 11 | (@libuvc_VERSION_PATCH@)) 12 | 13 | /** @brief Test whether libuvc is new enough 14 | * This macro evaluates true if and only if the current version is 15 | * at least as new as the version specified. 16 | */ 17 | #define LIBUVC_VERSION_GTE(major, minor, patch) \ 18 | (LIBUVC_VERSION_INT >= (((major) << 16) | ((minor) << 8) | (patch))) 19 | 20 | #cmakedefine LIBUVC_HAS_JPEG 1 21 | 22 | #endif // !def(LIBUVC_CONFIG_H) 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libuvc/libuvc.pc.in: -------------------------------------------------------------------------------- 1 | libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ 2 | includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@ 3 | 4 | Name: libuvc 5 | Description: @libuvc_DESCRIPTION@ 6 | URL: @libuvc_URL@ 7 | Version: @libuvc_VERSION@ 8 | Libs: -L${libdir} -luvc 9 | Libs.private: -lusb-1.0 @PKGCONFIG_JPEG_LDFLAG@ 10 | Cflags: -I${includedir} 11 | Requires: libusb-1.0 12 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libuvc/libuvcConfig.cmake: -------------------------------------------------------------------------------- 1 | list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) 2 | 3 | # If find_package called with REQUIRED or QUIET we need to 4 | # forward down it 5 | unset(extraArgs) 6 | if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) 7 | list(APPEND extraArgs QUIET) 8 | endif() 9 | if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED) 10 | list(APPEND extraArgs REQUIRED) 11 | endif() 12 | 13 | find_package(JpegPkg ${extraArgs}) 14 | find_package(LibUSB ${extraArgs}) 15 | include("${CMAKE_CURRENT_LIST_DIR}/libuvcTargets.cmake") 16 | 17 | set(libuvc_FOUND TRUE) 18 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libyuv/include/libyuv.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2011 The LibYuv Project Authors. All rights reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #ifndef INCLUDE_LIBYUV_H_ 12 | #define INCLUDE_LIBYUV_H_ 13 | 14 | #include "libyuv/basic_types.h" 15 | #include "libyuv/compare.h" 16 | #include "libyuv/convert.h" 17 | #include "libyuv/convert_argb.h" 18 | #include "libyuv/convert_from.h" 19 | #include "libyuv/convert_from_argb.h" 20 | #include "libyuv/cpu_id.h" 21 | #include "libyuv/mjpeg_decoder.h" 22 | #include "libyuv/planar_functions.h" 23 | #include "libyuv/rotate.h" 24 | #include "libyuv/rotate_argb.h" 25 | #include "libyuv/row.h" 26 | #include "libyuv/scale.h" 27 | #include "libyuv/scale_argb.h" 28 | #include "libyuv/scale_row.h" 29 | #include "libyuv/scale_uv.h" 30 | #include "libyuv/version.h" 31 | #include "libyuv/video_common.h" 32 | 33 | #endif // INCLUDE_LIBYUV_H_ 34 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libyuv/include/libyuv/rotate_argb.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 The LibYuv Project Authors. All rights reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #ifndef INCLUDE_LIBYUV_ROTATE_ARGB_H_ 12 | #define INCLUDE_LIBYUV_ROTATE_ARGB_H_ 13 | 14 | #include "libyuv/basic_types.h" 15 | #include "libyuv/rotate.h" // For RotationMode. 16 | 17 | #ifdef __cplusplus 18 | namespace libyuv { 19 | extern "C" { 20 | #endif 21 | 22 | // Rotate ARGB frame 23 | LIBYUV_API 24 | int ARGBRotate(const uint8_t* src_argb, 25 | int src_stride_argb, 26 | uint8_t* dst_argb, 27 | int dst_stride_argb, 28 | int src_width, 29 | int src_height, 30 | enum RotationMode mode); 31 | 32 | #ifdef __cplusplus 33 | } // extern "C" 34 | } // namespace libyuv 35 | #endif 36 | 37 | #endif // INCLUDE_LIBYUV_ROTATE_ARGB_H_ 38 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libyuv/include/libyuv/version.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 The LibYuv Project Authors. All rights reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | #ifndef INCLUDE_LIBYUV_VERSION_H_ 12 | #define INCLUDE_LIBYUV_VERSION_H_ 13 | 14 | #define LIBYUV_VERSION 1840 15 | 16 | #endif // INCLUDE_LIBYUV_VERSION_H_ 17 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libyuv/source/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -x 3 | 4 | function runbenchmark1 { 5 | perf record /google/src/cloud/fbarchard/clean/google3/blaze-bin/third_party/libyuv/libyuv_test --gunit_filter=*$1 --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=1000 --libyuv_flags=-1 --libyuv_cpu_info=-1 6 | perf report | grep AVX 7 | } 8 | 9 | runbenchmark1 ABGRToI420 10 | runbenchmark1 Android420ToI420 11 | runbenchmark1 ARGBToI420 12 | runbenchmark1 Convert16To8Plane 13 | runbenchmark1 ConvertToARGB 14 | runbenchmark1 ConvertToI420 15 | runbenchmark1 CopyPlane 16 | runbenchmark1 H010ToAB30 17 | runbenchmark1 H010ToAR30 18 | runbenchmark1 HalfFloatPlane 19 | runbenchmark1 I010ToAB30 20 | runbenchmark1 I010ToAR30 21 | runbenchmark1 I420Copy 22 | runbenchmark1 I420Psnr 23 | runbenchmark1 I420Scale 24 | runbenchmark1 I420Ssim 25 | runbenchmark1 I420ToARGB 26 | runbenchmark1 I420ToNV12 27 | runbenchmark1 I420ToUYVY 28 | runbenchmark1 I422ToI420 29 | runbenchmark1 InitCpuFlags 30 | runbenchmark1 J420ToARGB 31 | runbenchmark1 NV12ToARGB 32 | runbenchmark1 NV12ToI420 33 | runbenchmark1 NV12ToI420Rotate 34 | runbenchmark1 SetCpuFlags 35 | runbenchmark1 YUY2ToI420 36 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libyuv/util/Makefile: -------------------------------------------------------------------------------- 1 | psnr: psnr.cc ssim.cc psnr_main.cc 2 | ifeq ($(CXX),icl) 3 | $(CXX) /arch:SSE2 /Ox /openmp psnr.cc ssim.cc psnr_main.cc 4 | else 5 | $(CXX) -msse2 -O3 -fopenmp -static -o psnr psnr.cc ssim.cc psnr_main.cc -Wl,--strip-all 6 | endif 7 | 8 | # for MacOS 9 | # /usr/local/bin/g++-7 -msse2 -O3 -fopenmp -Bstatic -o psnr psnr.cc ssim.cc psnr_main.cc 10 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libyuv/util/i444tonv12_eg.cc: -------------------------------------------------------------------------------- 1 | 2 | #include "libyuv/convert.h" 3 | 4 | #include // for printf 5 | #include // for memset 6 | 7 | int main(int, char**) { 8 | unsigned char src_i444[640 * 400 * 3]; 9 | unsigned char dst_nv12[640 * 400 * 3 / 2]; 10 | 11 | for (size_t i = 0; i < sizeof(src_i444); ++i) { 12 | src_i444[i] = i & 255; 13 | } 14 | memset(dst_nv12, 0, sizeof(dst_nv12)); 15 | libyuv::I444ToNV12(&src_i444[0], 640, // source Y 16 | &src_i444[640 * 400], 640, // source U 17 | &src_i444[640 * 400 * 2], 640, // source V 18 | &dst_nv12[0], 640, // dest Y 19 | &dst_nv12[640 * 400], 640, // dest UV 20 | 640, 400); // width and height 21 | 22 | int checksum = 0; 23 | for (size_t i = 0; i < sizeof(dst_nv12); ++i) { 24 | checksum += dst_nv12[i]; 25 | } 26 | printf("checksum %x %s\n", checksum, checksum == 0x2ec0c00 ? "PASS" : "FAIL"); 27 | return 0; 28 | } -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/libyuv/util/ssim.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2013 The LibYuv Project Authors. All rights reserved. 3 | * 4 | * Use of this source code is governed by a BSD-style license 5 | * that can be found in the LICENSE file in the root of the source 6 | * tree. An additional intellectual property rights grant can be found 7 | * in the file PATENTS. All contributing project authors may 8 | * be found in the AUTHORS file in the root of the source tree. 9 | */ 10 | 11 | // Get SSIM for video sequence. Assuming RAW 4:2:0 Y:Cb:Cr format 12 | 13 | #ifndef UTIL_SSIM_H_ 14 | #define UTIL_SSIM_H_ 15 | 16 | #include // For log10() 17 | 18 | #ifdef __cplusplus 19 | extern "C" { 20 | #endif 21 | 22 | #if !defined(INT_TYPES_DEFINED) && !defined(UINT8_TYPE_DEFINED) 23 | typedef unsigned char uint8_t; 24 | #define UINT8_TYPE_DEFINED 25 | #endif 26 | 27 | double CalcSSIM(const uint8_t* org, 28 | const uint8_t* rec, 29 | const int image_width, 30 | const int image_height); 31 | 32 | double CalcLSSIM(double ssim); 33 | 34 | #ifdef __cplusplus 35 | } // extern "C" 36 | #endif 37 | 38 | #endif // UTIL_SSIM_H_ 39 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "thirdparty/gtest"] 2 | path = thirdparty/gtest 3 | url = https://chromium.googlesource.com/external/googletest.git 4 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | 3 | compiler: 4 | - clang 5 | - gcc 6 | 7 | env: 8 | matrix: 9 | - CONF=debug BITS=64 10 | - CONF=release BITS=64 11 | - CONF=debug BITS=32 12 | - CONF=release BITS=32 13 | global: 14 | - GITHUB_REPO='miloyip/rapidjson' 15 | - DEFINES='-DRAPIDJSON_HAS_STDSTRING' 16 | - secure: "HrsaCb+N66EG1HR+LWH1u51SjaJyRwJEDzqJGYMB7LJ/bfqb9mWKF1fLvZGk46W5t7TVaXRDD5KHFx9DPWvKn4gRUVkwTHEy262ah5ORh8M6n/6VVVajeV/AYt2C0sswdkDBDO4Xq+xy5gdw3G8s1A4Inbm73pUh+6vx+7ltBbk=" 17 | 18 | before_install: 19 | - sudo add-apt-repository -y ppa:codegear/release 20 | - sudo apt-get update -qq 21 | - sudo apt-get install -qq premake4 valgrind 22 | - if [ "$BITS" = 32 ]; then sudo apt-get install -qq g++-multilib libc6-dbg:i386; fi 23 | 24 | install: true 25 | 26 | before_script: 27 | - pushd build && premake4 'gmake' && popd 28 | 29 | script: 30 | - make -C build/gmake -f test.make config=${CONF}${BITS} 31 | - make -C build/gmake -f example.make config=${CONF}${BITS} 32 | - pushd bin 33 | - ./unittest_${CONF}_x${BITS}_gmake 34 | - valgrind --leak-check=full --error-exitcode=1 ./unittest_${CONF}_x${BITS}_gmake 35 | - if [ "$CONF" = "release" ]; then ./perftest_${CONF}_x${BITS}_gmake; fi 36 | - popd 37 | - ./build/travis-doxygen.sh; 38 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/diagram/insituparsing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/rapidjson/doc/diagram/insituparsing.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/diagram/iterative-parser-states-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/rapidjson/doc/diagram/iterative-parser-states-diagram.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/diagram/makefile: -------------------------------------------------------------------------------- 1 | %.pdf: %.dot 2 | dot $< -Tpdf -o $@ 3 | 4 | %.png: %.dot 5 | dot $< -Tpng -o $@ 6 | 7 | DOTFILES = $(basename $(wildcard *.dot)) 8 | all: $(addsuffix .png, $(DOTFILES)) $(addsuffix .pdf, $(DOTFILES)) 9 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/diagram/move1.dot: -------------------------------------------------------------------------------- 1 | digraph { 2 | compound=true 3 | fontname="Inconsolata, Consolas" 4 | fontsize=10 5 | margin="0,0" 6 | ranksep=0.2 7 | penwidth=0.5 8 | 9 | node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] 10 | edge [fontname="Inconsolata, Consolas", fontsize=10, arrowhead=normal] 11 | 12 | subgraph cluster1 { 13 | margin="10,10" 14 | labeljust="left" 15 | label = "Before" 16 | style=filled 17 | fillcolor=gray95 18 | 19 | node [shape=Mrecord, style=filled, colorscheme=spectral7] 20 | 21 | { 22 | rank = same 23 | b1 [label="{b:number|456}", fillcolor=6] 24 | a1 [label="{a:number|123}", fillcolor=6] 25 | } 26 | 27 | a1 -> b1 [style="dashed", label="Move", dir=back] 28 | } 29 | 30 | subgraph cluster2 { 31 | margin="10,10" 32 | labeljust="left" 33 | label = "After" 34 | style=filled 35 | fillcolor=gray95 36 | 37 | node [shape=Mrecord, style=filled, colorscheme=spectral7] 38 | 39 | { 40 | rank = same 41 | b2 [label="{b:null|}", fillcolor=1] 42 | a2 [label="{a:number|456}", fillcolor=6] 43 | } 44 | a2 -> b2 [style=invis, dir=back] 45 | } 46 | b1 -> b2 [style=invis] 47 | } -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/diagram/move1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/rapidjson/doc/diagram/move1.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/diagram/move2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/rapidjson/doc/diagram/move2.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/diagram/move3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/rapidjson/doc/diagram/move3.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/diagram/normalparsing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/rapidjson/doc/diagram/normalparsing.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/diagram/simpledom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/rapidjson/doc/diagram/simpledom.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/diagram/tutorial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/rapidjson/doc/diagram/tutorial.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/logo/rapidjson.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/jni/rapidjson/doc/logo/rapidjson.png -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/misc/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/misc/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | $projectname: $title 9 | $title 10 | 11 | 12 | 13 | $treeview 14 | $search 15 | $mathjax 16 | 17 | $extrastylesheet 18 | 19 | 20 |
21 |
22 | $searchbox 23 | 24 | 25 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/doc/performance.md: -------------------------------------------------------------------------------- 1 | # Performance 2 | 3 | The old performance article for RapidJSON 0.1 is provided [here](https://code.google.com/p/rapidjson/wiki/Performance). 4 | 5 | This file will be updated with new version and better procedures. 6 | 7 | In the meantime, you may also refer to the following third-party benchmarks. 8 | 9 | ## Third-party benchmarks 10 | 11 | * [Basic benchmarks for miscellaneous C++ JSON parsers and generators](https://github.com/mloskot/json_benchmark) by Mateusz Loskot (Jun 2013) 12 | * [casablanca](https://casablanca.codeplex.com/) 13 | * [json_spirit](https://github.com/cierelabs/json_spirit) 14 | * [jsoncpp](http://jsoncpp.sourceforge.net/) 15 | * [libjson](http://sourceforge.net/projects/libjson/) 16 | * [rapidjson](https://github.com/miloyip/rapidjson/) 17 | * [QJsonDocument](http://qt-project.org/doc/qt-5.0/qtcore/qjsondocument.html) 18 | 19 | * [JSON Parser Benchmarking](http://chadaustin.me/2013/01/json-parser-benchmarking/) by Chad Austin (Jan 2013) 20 | * [sajson](https://github.com/chadaustin/sajson) 21 | * [rapidjson](https://github.com/miloyip/rapidjson/) 22 | * [vjson](https://code.google.com/p/vjson/) 23 | * [YAJL](http://lloyd.github.com/yajl/) 24 | * [Jansson](http://www.digip.org/jansson/) 25 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/example/condense/condense.cpp: -------------------------------------------------------------------------------- 1 | // JSON condenser exmaple 2 | 3 | // This example parses JSON text from stdin with validation, 4 | // and re-output the JSON content to stdout without whitespace. 5 | 6 | #include "rapidjson/reader.h" 7 | #include "rapidjson/writer.h" 8 | #include "rapidjson/filereadstream.h" 9 | #include "rapidjson/filewritestream.h" 10 | #include "rapidjson/error/en.h" 11 | 12 | using namespace rapidjson; 13 | 14 | int main(int, char*[]) { 15 | // Prepare JSON reader and input stream. 16 | Reader reader; 17 | char readBuffer[65536]; 18 | FileReadStream is(stdin, readBuffer, sizeof(readBuffer)); 19 | 20 | // Prepare JSON writer and output stream. 21 | char writeBuffer[65536]; 22 | FileWriteStream os(stdout, writeBuffer, sizeof(writeBuffer)); 23 | Writer writer(os); 24 | 25 | // JSON reader parse from the input stream and let writer generate the output. 26 | if (!reader.Parse(is, writer)) { 27 | fprintf(stderr, "\nError(%u): %s\n", (unsigned)reader.GetErrorOffset(), GetParseError_En(reader.GetParseErrorCode())); 28 | return 1; 29 | } 30 | 31 | return 0; 32 | } 33 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/example/pretty/pretty.cpp: -------------------------------------------------------------------------------- 1 | // JSON pretty formatting example 2 | // This example can only handle UTF-8. For handling other encodings, see prettyauto example. 3 | 4 | #include "rapidjson/reader.h" 5 | #include "rapidjson/prettywriter.h" 6 | #include "rapidjson/filereadstream.h" 7 | #include "rapidjson/filewritestream.h" 8 | #include "rapidjson/error/en.h" 9 | 10 | using namespace rapidjson; 11 | 12 | int main(int, char*[]) { 13 | // Prepare reader and input stream. 14 | Reader reader; 15 | char readBuffer[65536]; 16 | FileReadStream is(stdin, readBuffer, sizeof(readBuffer)); 17 | 18 | // Prepare writer and output stream. 19 | char writeBuffer[65536]; 20 | FileWriteStream os(stdout, writeBuffer, sizeof(writeBuffer)); 21 | PrettyWriter writer(os); 22 | 23 | // JSON reader parse from the input stream and let writer generate the output. 24 | if (!reader.Parse(is, writer)) { 25 | fprintf(stderr, "\nError(%u): %s\n", (unsigned)reader.GetErrorOffset(), GetParseError_En(reader.GetParseErrorCode())); 26 | return 1; 27 | } 28 | 29 | return 0; 30 | } 31 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/example/simpledom/simpledom.cpp: -------------------------------------------------------------------------------- 1 | // JSON simple example 2 | // This example does not handle errors. 3 | 4 | #include "rapidjson/document.h" 5 | #include "rapidjson/writer.h" 6 | #include "rapidjson/stringbuffer.h" 7 | #include 8 | 9 | using namespace rapidjson; 10 | 11 | int main() { 12 | // 1. Parse a JSON string into DOM. 13 | const char* json = "{\"project\":\"rapidjson\",\"stars\":10}"; 14 | Document d; 15 | d.Parse(json); 16 | 17 | // 2. Modify it by DOM. 18 | Value& s = d["stars"]; 19 | s.SetInt(s.GetInt() + 1); 20 | 21 | // 3. Stringify the DOM 22 | StringBuffer buffer; 23 | Writer writer(buffer); 24 | d.Accept(writer); 25 | 26 | // Output {"project":"rapidjson","stars":11} 27 | std::cout << buffer.GetString() << std::endl; 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/example/simplewriter/simplewriter.cpp: -------------------------------------------------------------------------------- 1 | #include "rapidjson/writer.h" 2 | #include "rapidjson/stringbuffer.h" 3 | #include 4 | 5 | using namespace rapidjson; 6 | using namespace std; 7 | 8 | int main() { 9 | StringBuffer s; 10 | Writer writer(s); 11 | 12 | writer.StartObject(); 13 | writer.String("hello"); 14 | writer.String("world"); 15 | writer.String("t"); 16 | writer.Bool(true); 17 | writer.String("f"); 18 | writer.Bool(false); 19 | writer.String("n"); 20 | writer.Null(); 21 | writer.String("i"); 22 | writer.Uint(123); 23 | writer.String("pi"); 24 | writer.Double(3.1416); 25 | writer.String("a"); 26 | writer.StartArray(); 27 | for (unsigned i = 0; i < 4; i++) 28 | writer.Uint(i); 29 | writer.EndArray(); 30 | writer.EndObject(); 31 | 32 | cout << s.GetString() << endl; 33 | 34 | return 0; 35 | } 36 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/license.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011 Milo Yip 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/test/perftest/yajl_all.c: -------------------------------------------------------------------------------- 1 | #include "perftest.h" 2 | 3 | #if TEST_YAJL 4 | 5 | #ifdef _MSC_VER 6 | #include 7 | #define isinf !_finite 8 | #define isnan _isnan 9 | #define snprintf _snprintf 10 | #endif 11 | 12 | #include "yajl/src/yajl.c" 13 | #include "yajl/src/yajl_alloc.c" 14 | #include "yajl/src/yajl_buf.c" 15 | #include "yajl/src/yajl_encode.c" 16 | #include "yajl/src/yajl_gen.c" 17 | #include "yajl/src/yajl_lex.c" 18 | #include "yajl/src/yajl_parser.c" 19 | #include "yajl/src/yajl_tree.c" 20 | #include "yajl/src/yajl_version.c" 21 | 22 | #endif // TEST_YAJL 23 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/jsoncpp/AUTHORS: -------------------------------------------------------------------------------- 1 | Baptiste Lepilleur 2 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/jsoncpp/LICENSE: -------------------------------------------------------------------------------- 1 | The json-cpp library and this documentation are in Public Domain. 2 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/jsoncpp/include/json/autolink.h: -------------------------------------------------------------------------------- 1 | #ifndef JSON_AUTOLINK_H_INCLUDED 2 | # define JSON_AUTOLINK_H_INCLUDED 3 | 4 | # include "config.h" 5 | 6 | # ifdef JSON_IN_CPPTL 7 | # include 8 | # endif 9 | 10 | # if !defined(JSON_NO_AUTOLINK) && !defined(JSON_DLL_BUILD) && !defined(JSON_IN_CPPTL) 11 | # define CPPTL_AUTOLINK_NAME "json" 12 | # undef CPPTL_AUTOLINK_DLL 13 | # ifdef JSON_DLL 14 | # define CPPTL_AUTOLINK_DLL 15 | # endif 16 | # include "autolink.h" 17 | # endif 18 | 19 | #endif // JSON_AUTOLINK_H_INCLUDED 20 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/jsoncpp/include/json/forwards.h: -------------------------------------------------------------------------------- 1 | #ifndef JSON_FORWARDS_H_INCLUDED 2 | # define JSON_FORWARDS_H_INCLUDED 3 | 4 | # include "config.h" 5 | 6 | namespace Json { 7 | 8 | // writer.h 9 | class FastWriter; 10 | class StyledWriter; 11 | 12 | // reader.h 13 | class Reader; 14 | 15 | // features.h 16 | class Features; 17 | 18 | // value.h 19 | typedef int Int; 20 | typedef unsigned int UInt; 21 | class StaticString; 22 | class Path; 23 | class PathArgument; 24 | class Value; 25 | class ValueIteratorBase; 26 | class ValueIterator; 27 | class ValueConstIterator; 28 | #ifdef JSON_VALUE_USE_INTERNAL_MAP 29 | class ValueAllocator; 30 | class ValueMapAllocator; 31 | class ValueInternalLink; 32 | class ValueInternalArray; 33 | class ValueInternalMap; 34 | #endif // #ifdef JSON_VALUE_USE_INTERNAL_MAP 35 | 36 | } // namespace Json 37 | 38 | 39 | #endif // JSON_FORWARDS_H_INCLUDED 40 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/jsoncpp/include/json/json.h: -------------------------------------------------------------------------------- 1 | #ifndef JSON_JSON_H_INCLUDED 2 | # define JSON_JSON_H_INCLUDED 3 | 4 | # include "autolink.h" 5 | # include "value.h" 6 | # include "reader.h" 7 | # include "writer.h" 8 | # include "features.h" 9 | 10 | #endif // JSON_JSON_H_INCLUDED 11 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/jsoncpp/src/jsontestrunner/sconscript: -------------------------------------------------------------------------------- 1 | Import( 'env_testing buildJSONTests' ) 2 | 3 | buildJSONTests( env_testing, Split( """ 4 | main.cpp 5 | """ ), 6 | 'jsontestrunner' ) 7 | 8 | # For 'check' to work, 'libs' must be built first. 9 | env_testing.Depends('jsontestrunner', '#libs') 10 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/jsoncpp/src/lib_json/sconscript: -------------------------------------------------------------------------------- 1 | Import( 'env buildLibrary' ) 2 | 3 | buildLibrary( env, Split( """ 4 | json_reader.cpp 5 | json_value.cpp 6 | json_writer.cpp 7 | """ ), 8 | 'json' ) 9 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/jsoncpp/src/test_lib_json/sconscript: -------------------------------------------------------------------------------- 1 | Import( 'env_testing buildUnitTests' ) 2 | 3 | buildUnitTests( env_testing, Split( """ 4 | main.cpp 5 | jsontest.cpp 6 | """ ), 7 | 'test_lib_json' ) 8 | 9 | # For 'check' to work, 'libs' must be built first. 10 | env_testing.Depends('test_lib_json', '#libs') 11 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/jsoncpp/version: -------------------------------------------------------------------------------- 1 | 0.5.0 -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/yajl/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2007-2011, Lloyd Hilaiel 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/yajl/TODO: -------------------------------------------------------------------------------- 1 | * add a test for 0x1F bug 2 | * numeric overflow in integers and double 3 | * line and char offsets in the lexer and in error messages 4 | * testing: 5 | a. the permuter 6 | b. some performance comparison against json_checker. 7 | * investigate pull instead of push parsing 8 | * Handle memory allocation failures gracefully 9 | * cygwin/msys support on win32 10 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/yajl/include/yajl/yajl_version.h: -------------------------------------------------------------------------------- 1 | #ifndef YAJL_VERSION_H_ 2 | #define YAJL_VERSION_H_ 3 | 4 | #include 5 | 6 | #define YAJL_MAJOR 2 7 | #define YAJL_MINOR 0 8 | #define YAJL_MICRO 1 9 | 10 | #define YAJL_VERSION ((YAJL_MAJOR * 10000) + (YAJL_MINOR * 100) + YAJL_MICRO) 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | extern int YAJL_API yajl_version(void); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | 22 | #endif /* YAJL_VERSION_H_ */ 23 | 24 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/yajl/src/api/yajl_version.h.cmake: -------------------------------------------------------------------------------- 1 | #ifndef YAJL_VERSION_H_ 2 | #define YAJL_VERSION_H_ 3 | 4 | #include 5 | 6 | #define YAJL_MAJOR ${YAJL_MAJOR} 7 | #define YAJL_MINOR ${YAJL_MINOR} 8 | #define YAJL_MICRO ${YAJL_MICRO} 9 | 10 | #define YAJL_VERSION ((YAJL_MAJOR * 10000) + (YAJL_MINOR * 100) + YAJL_MICRO) 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | extern int YAJL_API yajl_version(void); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | 22 | #endif /* YAJL_VERSION_H_ */ 23 | 24 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/yajl/src/yajl: -------------------------------------------------------------------------------- 1 | /** 2 | \example reformatter/json_reformat.c 3 | \example example/parse_config.c 4 | */ 5 | 6 | /*! 7 | \mainpage Yet Another JSON Library (YAJL) 8 | \author Lloyd Hilaiel 9 | \date 2007-2011 10 | 11 | Yet Another JSON Library (YAJL) is a small event-driven (SAX-style) 12 | JSON parser written in ANSI C, and a small validating JSON 13 | generator. YAJL is released under the permissive ISC license. 14 | 15 | \section features Features 16 | 17 | -# Stream (incremental) parsing and generation of JSON 18 | -# ANSI C 19 | -# Human readable error messages with context 20 | -# tiny 21 | -# event driven 22 | -# support for generating "beautified" JSON 23 | -# includes 24 | It also includes a small simplified tree interface for 25 | simplified parsing and extraction of data from smallish JSON documents. 26 | 27 | \section usage Usage 28 | 29 | See json_reformat.c for a complete example of stream based parsing 30 | and generation of JSON. See parse_config.c for an example of the 31 | simplified tree interface. 32 | 33 | */ 34 | -------------------------------------------------------------------------------- /libuvccamera/src/main/jni/rapidjson/thirdparty/yajl/src/yajl_version.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int yajl_version(void) 4 | { 5 | return YAJL_VERSION; 6 | } 7 | 8 | -------------------------------------------------------------------------------- /libuvccamera/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shiyinghan/UVCAndroid/04197e835fa68422b59ab4d2deb26578cdf027e5/libuvccamera/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /libuvccamera/src/main/res/values-ja/strings_permissions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | アクセス許可について 4 | 5 | 録音許可がありません。\n音声機能を使用できません。 6 | 音声付きで録画するには録音許可が必要です。 7 | 8 | 外部ストレージへの書き込み許可がありません。静止画・動画保存できません。 9 | 静止画・動画を保存するには外部ストレージへの書き込み許可が必要です。 10 | 11 | ネットワークへのアクセス許可がありません。 12 | ストリーミングを行うにはネットワークへのアクセス許可が必要です。 13 | 14 | 内蔵カメラへのアクセス許可がありません。 15 | 内蔵カメラへのアクセス許可が必要です 16 | -------------------------------------------------------------------------------- /libuvccamera/src/main/res/values-zh/strings_permissions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 关于权限 4 | 5 | 没有录音许可。 \n所有音频功能被禁用 6 | 录制带有录音的视频需要录音权限。 7 | 8 | 没有外部存储的写入权限。 无法保存图像/视频。 9 | 保存图像和视频需要外部存储的写入权限。 10 | 11 | 没有访问网络的权限。 12 | 需要获得访问网络的权限才能进行流式传输。 13 | 14 | 没有访问摄像头的权限。 15 | 需要相机访问权限才能调用外部UVC设备。 16 | -------------------------------------------------------------------------------- /libuvccamera/src/main/res/values/ids_view_animation.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /libuvccamera/src/main/res/values/strings_permissions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Regarding permission 4 | 5 | No audio recording permission. \nAll audio function is disabled 6 | Audio recording permission is necessary for movie capture with audio. 7 | 8 | No permission of writing external storage. \nMovie/still image capturing are disabled. 9 | Permission of writing external storage is necessary for movie/still image capturing. 10 | 11 | No network access permission. 12 | Network access permission is necessary for streaming. 13 | 14 | No camera access permission 15 | Camera access permission is necessary for fallback to built in camera. 16 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * UVCCamera 3 | * library and sample to access to UVC web camera on non-rooted Android device 4 | * 5 | * Copyright (c) 2014-2017 saki t_saki@serenegiant.com 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * 19 | * All files in the folder are under this Apache License, Version 2.0. 20 | * Files in the libjpeg-turbo, libusb, libuvc, rapidjson folder 21 | * may have a different license, see the respective files. 22 | */ 23 | 24 | include ':libuvccamera' 25 | include ':app' 26 | include ':demo' 27 | --------------------------------------------------------------------------------