以下为4.0.0.0及以后版本Sample文件结构
. ├── base # ui,mvp 结构基础类 ├── camera # camera 封装,包含 camera1、camera2 ├── core # sdk 接口封装,含特效、算法 │ ├── v3 # 3.* 版本时 demo 所用特效接口封装,现已弃用 │ │ ├── BaseEffectHelper.java │ │ ├── ImageEffectHelper.java │ │ ├── PreviewEffectHelper.java │ │ └── VideoEffectHelper.java │ ├── v4 # 4.* 版本时 sdk 接口封装,含特效接口、算法接口 │ │ ├── EffectHelper.java # 算法、特效统一输出接口 │ │ ├── ResourceHelper.java # 算法、特效统一资源路径接口 │ │ ├── algorithm # 算法相关接口 │ │ │ ├── AlgorithmInterface.java │ │ │ ├── AlgorithmManager.java # 算法对外输出接口,如果只需要使用算法,可直接使用此接口代替 EffectHelper.java 的功能 │ │ │ ├── AlgorithmRender.java │ │ │ ├── AlgorithmResourceHelper.java # 算法资源路径接口,如果只需要使用算法,可直接使用此接口代替 ResourceHelper.java 功能,内含各算法的模型文件路径等。算法版在这里修改授权文件路径 │ │ │ ├── AlgorithmTask.java # 算法模块基类 │ │ │ └── task # 包含所有算法模块的实现,如果不需要可以在这里删去,但是其他地方如 AlgorithmManager.java 会含有对其的引用,也要同步在这些文件中删去相关引用代码 │ │ ├── base # sdk 接口基本类,算法、特效通用 │ │ │ ├── BufferConvert.java # buffer 转换实现 │ │ │ ├── ProcessInput.java # 输出数据类 │ │ │ ├── ProcessOutput.java # 输出数据类 │ │ │ ├── ResourceProvider.java │ │ │ ├── Task.java │ │ │ ├── TaskContainer.java │ │ │ ├── task │ │ │ └── util │ │ └── effect # 特效相关接口 │ │ ├── EffectInterface.java │ │ ├── EffectManager.java # 特效对外输出接口,如果只需要使用特效,可直接使用此接口代替 EffectHelper.java 的功能 │ │ ├── EffectRender.java │ │ ├── EffectResourceHelper.java # 特效资源路径接口,如果只需要使用特效,可直接使用此接口代替 ResourceHelper.java 功能。特效版在这里修改授权文件路径 │ │ ├── TextureFormatter.java # 纹理类型转换实现 │ │ └── task # 特效模块实现 │ └── video # 视频录制相关实现 │ ├── EglCore.java │ ├── EglSurfaceBase.java │ ├── FullFrameRect.java │ ├── MediaMuxerManager.java │ ├── Texture2dProgram.java │ ├── TextureMovieEncoder.java │ ├── VideoEncoderCore.java │ └── WindowSurface.java ├── media # 视频播放相关实现 │ └── SimplePlayer.java ├── model # ui 相关,model 类 │ ├── AlgorithmItem.java │ ├── AlgorithmItemGroup.java │ ├── ButtonItem.java │ ├── CaptureResult.java │ ├── ComposerNode.java │ ├── DynamicActionAlgorithmItem.java │ ├── EffectBackup.java │ ├── EffectButtonItem.java │ ├── ExternParam.java │ ├── FaceVerifyResult.java │ ├── FilterItem.java │ └── StickerItem.java ├── opengl # ui 相关,openGL 工具类,用于算法中绘制算法结果等 │ ├── Drawable2d.java │ ├── Extensions.java │ ├── FrameBuffer.java │ ├── GlUtil.java │ ├── HairMaskProgram.java │ ├── LineProgram.java │ ├── MaskProgram.java │ ├── PointProgram.java │ ├── PortraitMaskProgram.java │ ├── Program.java │ ├── ProgramManager.java │ ├── ProgramTexture2d.java │ ├── ProgramTextureOES.java │ ├── ShaderHelper.java │ ├── ShaderProgram.java │ └── TextureRotationUtil.java ├── posteffect │ └── CustomRenderThread.java ├── presenter # ui 相关 │ ├── DetectPresenter.java │ ├── EffectPresenter.java # 内含 demo 中设置的默认值 │ ├── FilterPresenter.java # 内含所有滤镜 名称/索引 对应关系 │ ├── ItemGetPresenter.java # 内含所有小项 key/node 对应关系 │ ├── StickerPresenter.java # 内含所有 贴纸/提示语 对应关系 │ ├── WelcomePresenter.java │ └── contract │ ├── DetectContract.java │ ├── EffectContract.java │ ├── FilterContract.java │ ├── ItemGetContract.java │ ├── StickerContract.java │ └── WelcomeContract.java ├── task # demo 功能相关 │ ├── SavePicTask.java │ ├── UnzipTask.java │ ├── facecluster │ │ ├── FaceClusterHandler.java │ │ ├── FaceClusterMgr.java │ │ └── FaceClusterThread.java │ └── faceverify │ ├── FaceVerifyThreadHandler.java │ └── RepeatedVerifyHandler.java ├── ui # ui 相关 │ ├── BaseEffectActivity.java │ ├── DemoApplication.java │ ├── ImageEffectActivity.java │ ├── LocalBroadcastReceiver.java │ ├── PermissionsActivity.java │ ├── PreviewEffectActivity.java │ ├── ResourceHelper.java │ ├── VideoEffectActivity.java │ ├── WelcomeActivity.java │ ├── adapter │ │ ├── AlgorithmButtonRVAdapter.java │ │ ├── ButtonViewRVAdapter.java │ │ ├── EffectButtonViewRVAdapter.java │ │ ├── FaceClusterAdapter.java │ │ ├── FilterRVAdapter.java │ │ ├── FragmentVPAdapter.java │ │ ├── OnPageChangeListenerAdapter.java │ │ ├── SelectRVAdapter.java │ │ └── StickerRVAdapter.java │ ├── fragment │ │ ├── BaseFeatureFragment.java │ │ ├── algorithm # 算法相关的 ui │ │ │ ├── AlgorithmButtonFragment.java │ │ │ ├── AlgorithmFragment.java │ │ │ ├── DynamicActionInfoFragment.java │ │ │ ├── FaceClusterFragment.java │ │ │ ├── FaceInfoFragment.java │ │ │ ├── FaceVerifyFragment.java │ │ │ ├── StudentIdOcrFragment.java │ │ │ └── ui # 内含所有算法 ui 的实现 │ │ └── effect # 特效相关的 ui │ │ ├── BeautyFaceFragment.java │ │ ├── EffectFragment.java │ │ ├── FilterFragment.java │ │ ├── MakeupOptionFragment.java │ │ ├── StickerFragment.java │ │ └── TabStickerFragment.java │ └── view │ ├── BrandRecogTip.java │ ├── ButtonView.java │ ├── CarRectInfoTip.java │ ├── GeneralObjectInfoTip.java │ ├── HandInfoTip.java │ ├── HumanDistanceTip.java │ ├── PetFaceInfoTip.java │ ├── ProgressBar.java │ ├── PropertyTextView.java │ ├── ResultTip.java │ ├── TipManager.java │ └── VideoButton.java └── utils # demo 功能相关,各种工具类 ├── AppUtils.java ├── BitmapUtils.java ├── CommonUtils.java ├── Config.java ├── DensityUtils.java ├── FrameRator.java ├── InputSizeManager.java ├── RectUtils.java ├── ToastUtils.java ├── UserData.java └── timer_record ├── LogTimerRecord.java └── TimerRecord.java