├── CommonResource ├── abc.aac ├── abc.m4a ├── abc.mp3 ├── abc.mp4 ├── abc.pcm ├── test.mov └── test.pcm ├── README.md ├── Tutorial01-Encode.h264 ├── LearnVideoToolBox.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── loyinglin.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── LearnVideoToolBox.xcscheme │ │ └── xcschememanagement.plist ├── LearnVideoToolBox │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m └── LearnVideoToolBoxTests │ ├── Info.plist │ └── LearnVideoToolBoxTests.m ├── Tutorial02-Decode.h264 ├── LearnVideoToolBox.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── LearnVideoToolBox.xcscheme │ │ └── xcschememanagement.plist ├── LearnVideoToolBox │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── LYOpenGLView.h │ ├── LYOpenGLView.m │ ├── Shader.fsh │ ├── Shader.vsh │ ├── ViewController.h │ ├── ViewController.m │ ├── abc.h264 │ ├── main.m │ └── qwe.h264 └── LearnVideoToolBoxTests │ ├── Info.plist │ └── LearnVideoToolBoxTests.m ├── Tutorial03-EncodeAAC.AAC ├── LearnVideoToolBox.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── LearnVideoToolBox.xcscheme │ │ └── xcschememanagement.plist ├── LearnVideoToolBox │ ├── AACEncoder.h │ ├── AACEncoder.m │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m └── LearnVideoToolBoxTests │ ├── Info.plist │ └── LearnVideoToolBoxTests.m ├── Tutorial04-DecodeAAC.AAC ├── LearnVideoToolBox.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── LearnVideoToolBox.xcscheme │ │ └── xcschememanagement.plist ├── LearnVideoToolBox │ ├── AACPlayer.h │ ├── AACPlayer.m │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ ├── abc.aac │ └── main.m └── LearnVideoToolBoxTests │ ├── Info.plist │ └── LearnVideoToolBoxTests.m ├── Tutorial05-LiveSample └── LearnLIVE │ ├── LearnLIVE.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ └── xcschemes │ │ ├── LearnLIVE.xcscheme │ │ └── xcschememanagement.plist │ ├── LearnLIVE.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ └── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ ├── LearnLIVE │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m │ ├── LearnLIVETests │ ├── Info.plist │ └── LearnLIVETests.m │ ├── Podfile │ ├── Podfile.lock │ └── Pods │ ├── Headers │ ├── Private │ │ └── LFLiveKit │ │ │ ├── GLProgram.h │ │ │ ├── GPUImage.h │ │ │ ├── GPUImage3x3ConvolutionFilter.h │ │ │ ├── GPUImage3x3TextureSamplingFilter.h │ │ │ ├── GPUImageAdaptiveThresholdFilter.h │ │ │ ├── GPUImageAddBlendFilter.h │ │ │ ├── GPUImageAlphaBlendFilter.h │ │ │ ├── GPUImageAmatorkaFilter.h │ │ │ ├── GPUImageAverageColor.h │ │ │ ├── GPUImageAverageLuminanceThresholdFilter.h │ │ │ ├── GPUImageBilateralFilter.h │ │ │ ├── GPUImageBoxBlurFilter.h │ │ │ ├── GPUImageBrightnessFilter.h │ │ │ ├── GPUImageBuffer.h │ │ │ ├── GPUImageBulgeDistortionFilter.h │ │ │ ├── GPUImageCGAColorspaceFilter.h │ │ │ ├── GPUImageCannyEdgeDetectionFilter.h │ │ │ ├── GPUImageChromaKeyBlendFilter.h │ │ │ ├── GPUImageChromaKeyFilter.h │ │ │ ├── GPUImageClosingFilter.h │ │ │ ├── GPUImageColorBlendFilter.h │ │ │ ├── GPUImageColorBurnBlendFilter.h │ │ │ ├── GPUImageColorConversion.h │ │ │ ├── GPUImageColorDodgeBlendFilter.h │ │ │ ├── GPUImageColorInvertFilter.h │ │ │ ├── GPUImageColorLocalBinaryPatternFilter.h │ │ │ ├── GPUImageColorMatrixFilter.h │ │ │ ├── GPUImageColorPackingFilter.h │ │ │ ├── GPUImageColourFASTFeatureDetector.h │ │ │ ├── GPUImageColourFASTSamplingOperation.h │ │ │ ├── GPUImageContext.h │ │ │ ├── GPUImageContrastFilter.h │ │ │ ├── GPUImageCropFilter.h │ │ │ ├── GPUImageCrosshairGenerator.h │ │ │ ├── GPUImageCrosshatchFilter.h │ │ │ ├── GPUImageDarkenBlendFilter.h │ │ │ ├── GPUImageDifferenceBlendFilter.h │ │ │ ├── GPUImageDilationFilter.h │ │ │ ├── GPUImageDirectionalNonMaximumSuppressionFilter.h │ │ │ ├── GPUImageDirectionalSobelEdgeDetectionFilter.h │ │ │ ├── GPUImageDissolveBlendFilter.h │ │ │ ├── GPUImageDivideBlendFilter.h │ │ │ ├── GPUImageEmbossFilter.h │ │ │ ├── GPUImageErosionFilter.h │ │ │ ├── GPUImageExclusionBlendFilter.h │ │ │ ├── GPUImageExposureFilter.h │ │ │ ├── GPUImageFASTCornerDetectionFilter.h │ │ │ ├── GPUImageFalseColorFilter.h │ │ │ ├── GPUImageFilter.h │ │ │ ├── GPUImageFilterGroup.h │ │ │ ├── GPUImageFilterPipeline.h │ │ │ ├── GPUImageFourInputFilter.h │ │ │ ├── GPUImageFramebuffer.h │ │ │ ├── GPUImageFramebufferCache.h │ │ │ ├── GPUImageFramework.h │ │ │ ├── GPUImageGammaFilter.h │ │ │ ├── GPUImageGaussianBlurFilter.h │ │ │ ├── GPUImageGaussianBlurPositionFilter.h │ │ │ ├── GPUImageGaussianSelectiveBlurFilter.h │ │ │ ├── GPUImageGlassSphereFilter.h │ │ │ ├── GPUImageGrayscaleFilter.h │ │ │ ├── GPUImageHSBFilter.h │ │ │ ├── GPUImageHalftoneFilter.h │ │ │ ├── GPUImageHardLightBlendFilter.h │ │ │ ├── GPUImageHarrisCornerDetectionFilter.h │ │ │ ├── GPUImageHazeFilter.h │ │ │ ├── GPUImageHighPassFilter.h │ │ │ ├── GPUImageHighlightShadowFilter.h │ │ │ ├── GPUImageHighlightShadowTintFilter.h │ │ │ ├── GPUImageHistogramEqualizationFilter.h │ │ │ ├── GPUImageHistogramFilter.h │ │ │ ├── GPUImageHistogramGenerator.h │ │ │ ├── GPUImageHoughTransformLineDetector.h │ │ │ ├── GPUImageHueBlendFilter.h │ │ │ ├── GPUImageHueFilter.h │ │ │ ├── GPUImageJFAVoronoiFilter.h │ │ │ ├── GPUImageKuwaharaFilter.h │ │ │ ├── GPUImageKuwaharaRadius3Filter.h │ │ │ ├── GPUImageLanczosResamplingFilter.h │ │ │ ├── GPUImageLaplacianFilter.h │ │ │ ├── GPUImageLevelsFilter.h │ │ │ ├── GPUImageLightenBlendFilter.h │ │ │ ├── GPUImageLineGenerator.h │ │ │ ├── GPUImageLinearBurnBlendFilter.h │ │ │ ├── GPUImageLocalBinaryPatternFilter.h │ │ │ ├── GPUImageLookupFilter.h │ │ │ ├── GPUImageLowPassFilter.h │ │ │ ├── GPUImageLuminanceRangeFilter.h │ │ │ ├── GPUImageLuminanceThresholdFilter.h │ │ │ ├── GPUImageLuminosity.h │ │ │ ├── GPUImageLuminosityBlendFilter.h │ │ │ ├── GPUImageMaskFilter.h │ │ │ ├── GPUImageMedianFilter.h │ │ │ ├── GPUImageMissEtikateFilter.h │ │ │ ├── GPUImageMonochromeFilter.h │ │ │ ├── GPUImageMosaicFilter.h │ │ │ ├── GPUImageMotionBlurFilter.h │ │ │ ├── GPUImageMotionDetector.h │ │ │ ├── GPUImageMovie.h │ │ │ ├── GPUImageMovieComposition.h │ │ │ ├── GPUImageMovieWriter.h │ │ │ ├── GPUImageMultiplyBlendFilter.h │ │ │ ├── GPUImageNobleCornerDetectionFilter.h │ │ │ ├── GPUImageNonMaximumSuppressionFilter.h │ │ │ ├── GPUImageNormalBlendFilter.h │ │ │ ├── GPUImageOpacityFilter.h │ │ │ ├── GPUImageOpeningFilter.h │ │ │ ├── GPUImageOutput.h │ │ │ ├── GPUImageOverlayBlendFilter.h │ │ │ ├── GPUImageParallelCoordinateLineTransformFilter.h │ │ │ ├── GPUImagePerlinNoiseFilter.h │ │ │ ├── GPUImagePicture+TextureSubimage.h │ │ │ ├── GPUImagePicture.h │ │ │ ├── GPUImagePinchDistortionFilter.h │ │ │ ├── GPUImagePixellateFilter.h │ │ │ ├── GPUImagePixellatePositionFilter.h │ │ │ ├── GPUImagePoissonBlendFilter.h │ │ │ ├── GPUImagePolarPixellateFilter.h │ │ │ ├── GPUImagePolkaDotFilter.h │ │ │ ├── GPUImagePosterizeFilter.h │ │ │ ├── GPUImagePrewittEdgeDetectionFilter.h │ │ │ ├── GPUImageRGBClosingFilter.h │ │ │ ├── GPUImageRGBDilationFilter.h │ │ │ ├── GPUImageRGBErosionFilter.h │ │ │ ├── GPUImageRGBFilter.h │ │ │ ├── GPUImageRGBOpeningFilter.h │ │ │ ├── GPUImageRawDataInput.h │ │ │ ├── GPUImageRawDataOutput.h │ │ │ ├── GPUImageSaturationBlendFilter.h │ │ │ ├── GPUImageSaturationFilter.h │ │ │ ├── GPUImageScreenBlendFilter.h │ │ │ ├── GPUImageSepiaFilter.h │ │ │ ├── GPUImageSharpenFilter.h │ │ │ ├── GPUImageShiTomasiFeatureDetectionFilter.h │ │ │ ├── GPUImageSingleComponentGaussianBlurFilter.h │ │ │ ├── GPUImageSketchFilter.h │ │ │ ├── GPUImageSkinToneFilter.h │ │ │ ├── GPUImageSmoothToonFilter.h │ │ │ ├── GPUImageSobelEdgeDetectionFilter.h │ │ │ ├── GPUImageSoftEleganceFilter.h │ │ │ ├── GPUImageSoftLightBlendFilter.h │ │ │ ├── GPUImageSolarizeFilter.h │ │ │ ├── GPUImageSolidColorGenerator.h │ │ │ ├── GPUImageSourceOverBlendFilter.h │ │ │ ├── GPUImageSphereRefractionFilter.h │ │ │ ├── GPUImageStillCamera.h │ │ │ ├── GPUImageStretchDistortionFilter.h │ │ │ ├── GPUImageSubtractBlendFilter.h │ │ │ ├── GPUImageSwirlFilter.h │ │ │ ├── GPUImageTextureInput.h │ │ │ ├── GPUImageTextureOutput.h │ │ │ ├── GPUImageThreeInputFilter.h │ │ │ ├── GPUImageThresholdEdgeDetectionFilter.h │ │ │ ├── GPUImageThresholdSketchFilter.h │ │ │ ├── GPUImageThresholdedNonMaximumSuppressionFilter.h │ │ │ ├── GPUImageTiltShiftFilter.h │ │ │ ├── GPUImageToneCurveFilter.h │ │ │ ├── GPUImageToonFilter.h │ │ │ ├── GPUImageTransformFilter.h │ │ │ ├── GPUImageTwoInputCrossTextureSamplingFilter.h │ │ │ ├── GPUImageTwoInputFilter.h │ │ │ ├── GPUImageTwoPassFilter.h │ │ │ ├── GPUImageTwoPassTextureSamplingFilter.h │ │ │ ├── GPUImageUIElement.h │ │ │ ├── GPUImageUnsharpMaskFilter.h │ │ │ ├── GPUImageVideoCamera.h │ │ │ ├── GPUImageView.h │ │ │ ├── GPUImageVignetteFilter.h │ │ │ ├── GPUImageVoronoiConsumerFilter.h │ │ │ ├── GPUImageWeakPixelInclusionFilter.h │ │ │ ├── GPUImageWhiteBalanceFilter.h │ │ │ ├── GPUImageXYDerivativeFilter.h │ │ │ ├── GPUImageZoomBlurFilter.h │ │ │ ├── GPUImageiOSBlurFilter.h │ │ │ ├── LFAVEncoder.h │ │ │ ├── LFAudioCapture.h │ │ │ ├── LFAudioEncoding.h │ │ │ ├── LFAudioFrame.h │ │ │ ├── LFFrame.h │ │ │ ├── LFGPUImageBeautyFilter.h │ │ │ ├── LFGPUImageEmptyFilter.h │ │ │ ├── LFH264VideoEncoder.h │ │ │ ├── LFHardwareAudioEncoder.h │ │ │ ├── LFHardwareVideoEncoder.h │ │ │ ├── LFLiveAudioConfiguration.h │ │ │ ├── LFLiveDebug.h │ │ │ ├── LFLiveKit.h │ │ │ ├── LFLiveSession.h │ │ │ ├── LFLiveStreamInfo.h │ │ │ ├── LFLiveVideoConfiguration.h │ │ │ ├── LFMP4Atom.h │ │ │ ├── LFNALUnit.h │ │ │ ├── LFStreamRTMPSocket.h │ │ │ ├── LFStreamSocket.h │ │ │ ├── LFStreamingBuffer.h │ │ │ ├── LFVideoCapture.h │ │ │ ├── LFVideoEncoder.h │ │ │ ├── LFVideoEncoding.h │ │ │ ├── LFVideoFrame.h │ │ │ ├── NSMutableArray+LFAdd.h │ │ │ ├── amf.h │ │ │ ├── bytes.h │ │ │ ├── dh.h │ │ │ ├── dhgroups.h │ │ │ ├── error.h │ │ │ ├── handshake.h │ │ │ ├── http.h │ │ │ ├── log.h │ │ │ ├── rtmp.h │ │ │ └── rtmp_sys.h │ └── Public │ │ └── LFLiveKit │ │ ├── LFAudioFrame.h │ │ ├── LFFrame.h │ │ ├── LFLiveAudioConfiguration.h │ │ ├── LFLiveDebug.h │ │ ├── LFLiveKit.h │ │ ├── LFLiveSession.h │ │ ├── LFLiveStreamInfo.h │ │ ├── LFLiveVideoConfiguration.h │ │ └── LFVideoFrame.h │ ├── LFLiveKit │ ├── LFLiveKit │ │ ├── LFLiveKit.h │ │ ├── LFLiveSession.h │ │ ├── LFLiveSession.m │ │ ├── Vendor │ │ │ ├── GPUImage │ │ │ │ ├── GLProgram.h │ │ │ │ ├── GLProgram.m │ │ │ │ ├── GPUImage.h │ │ │ │ ├── GPUImage3x3ConvolutionFilter.h │ │ │ │ ├── GPUImage3x3ConvolutionFilter.m │ │ │ │ ├── GPUImage3x3TextureSamplingFilter.h │ │ │ │ ├── GPUImage3x3TextureSamplingFilter.m │ │ │ │ ├── GPUImageAdaptiveThresholdFilter.h │ │ │ │ ├── GPUImageAdaptiveThresholdFilter.m │ │ │ │ ├── GPUImageAddBlendFilter.h │ │ │ │ ├── GPUImageAddBlendFilter.m │ │ │ │ ├── GPUImageAlphaBlendFilter.h │ │ │ │ ├── GPUImageAlphaBlendFilter.m │ │ │ │ ├── GPUImageAmatorkaFilter.h │ │ │ │ ├── GPUImageAmatorkaFilter.m │ │ │ │ ├── GPUImageAverageColor.h │ │ │ │ ├── GPUImageAverageColor.m │ │ │ │ ├── GPUImageAverageLuminanceThresholdFilter.h │ │ │ │ ├── GPUImageAverageLuminanceThresholdFilter.m │ │ │ │ ├── GPUImageBilateralFilter.h │ │ │ │ ├── GPUImageBilateralFilter.m │ │ │ │ ├── GPUImageBoxBlurFilter.h │ │ │ │ ├── GPUImageBoxBlurFilter.m │ │ │ │ ├── GPUImageBrightnessFilter.h │ │ │ │ ├── GPUImageBrightnessFilter.m │ │ │ │ ├── GPUImageBuffer.h │ │ │ │ ├── GPUImageBuffer.m │ │ │ │ ├── GPUImageBulgeDistortionFilter.h │ │ │ │ ├── GPUImageBulgeDistortionFilter.m │ │ │ │ ├── GPUImageCGAColorspaceFilter.h │ │ │ │ ├── GPUImageCGAColorspaceFilter.m │ │ │ │ ├── GPUImageCannyEdgeDetectionFilter.h │ │ │ │ ├── GPUImageCannyEdgeDetectionFilter.m │ │ │ │ ├── GPUImageChromaKeyBlendFilter.h │ │ │ │ ├── GPUImageChromaKeyBlendFilter.m │ │ │ │ ├── GPUImageChromaKeyFilter.h │ │ │ │ ├── GPUImageChromaKeyFilter.m │ │ │ │ ├── GPUImageClosingFilter.h │ │ │ │ ├── GPUImageClosingFilter.m │ │ │ │ ├── GPUImageColorBlendFilter.h │ │ │ │ ├── GPUImageColorBlendFilter.m │ │ │ │ ├── GPUImageColorBurnBlendFilter.h │ │ │ │ ├── GPUImageColorBurnBlendFilter.m │ │ │ │ ├── GPUImageColorConversion.h │ │ │ │ ├── GPUImageColorConversion.m │ │ │ │ ├── GPUImageColorDodgeBlendFilter.h │ │ │ │ ├── GPUImageColorDodgeBlendFilter.m │ │ │ │ ├── GPUImageColorInvertFilter.h │ │ │ │ ├── GPUImageColorInvertFilter.m │ │ │ │ ├── GPUImageColorLocalBinaryPatternFilter.h │ │ │ │ ├── GPUImageColorLocalBinaryPatternFilter.m │ │ │ │ ├── GPUImageColorMatrixFilter.h │ │ │ │ ├── GPUImageColorMatrixFilter.m │ │ │ │ ├── GPUImageColorPackingFilter.h │ │ │ │ ├── GPUImageColorPackingFilter.m │ │ │ │ ├── GPUImageColourFASTFeatureDetector.h │ │ │ │ ├── GPUImageColourFASTFeatureDetector.m │ │ │ │ ├── GPUImageColourFASTSamplingOperation.h │ │ │ │ ├── GPUImageColourFASTSamplingOperation.m │ │ │ │ ├── GPUImageContrastFilter.h │ │ │ │ ├── GPUImageContrastFilter.m │ │ │ │ ├── GPUImageCropFilter.h │ │ │ │ ├── GPUImageCropFilter.m │ │ │ │ ├── GPUImageCrosshairGenerator.h │ │ │ │ ├── GPUImageCrosshairGenerator.m │ │ │ │ ├── GPUImageCrosshatchFilter.h │ │ │ │ ├── GPUImageCrosshatchFilter.m │ │ │ │ ├── GPUImageDarkenBlendFilter.h │ │ │ │ ├── GPUImageDarkenBlendFilter.m │ │ │ │ ├── GPUImageDifferenceBlendFilter.h │ │ │ │ ├── GPUImageDifferenceBlendFilter.m │ │ │ │ ├── GPUImageDilationFilter.h │ │ │ │ ├── GPUImageDilationFilter.m │ │ │ │ ├── GPUImageDirectionalNonMaximumSuppressionFilter.h │ │ │ │ ├── GPUImageDirectionalNonMaximumSuppressionFilter.m │ │ │ │ ├── GPUImageDirectionalSobelEdgeDetectionFilter.h │ │ │ │ ├── GPUImageDirectionalSobelEdgeDetectionFilter.m │ │ │ │ ├── GPUImageDissolveBlendFilter.h │ │ │ │ ├── GPUImageDissolveBlendFilter.m │ │ │ │ ├── GPUImageDivideBlendFilter.h │ │ │ │ ├── GPUImageDivideBlendFilter.m │ │ │ │ ├── GPUImageEmbossFilter.h │ │ │ │ ├── GPUImageEmbossFilter.m │ │ │ │ ├── GPUImageErosionFilter.h │ │ │ │ ├── GPUImageErosionFilter.m │ │ │ │ ├── GPUImageExclusionBlendFilter.h │ │ │ │ ├── GPUImageExclusionBlendFilter.m │ │ │ │ ├── GPUImageExposureFilter.h │ │ │ │ ├── GPUImageExposureFilter.m │ │ │ │ ├── GPUImageFASTCornerDetectionFilter.h │ │ │ │ ├── GPUImageFASTCornerDetectionFilter.m │ │ │ │ ├── GPUImageFalseColorFilter.h │ │ │ │ ├── GPUImageFalseColorFilter.m │ │ │ │ ├── GPUImageFilter.h │ │ │ │ ├── GPUImageFilter.m │ │ │ │ ├── GPUImageFilterGroup.h │ │ │ │ ├── GPUImageFilterGroup.m │ │ │ │ ├── GPUImageFilterPipeline.h │ │ │ │ ├── GPUImageFilterPipeline.m │ │ │ │ ├── GPUImageFourInputFilter.h │ │ │ │ ├── GPUImageFourInputFilter.m │ │ │ │ ├── GPUImageFramebuffer.h │ │ │ │ ├── GPUImageFramebuffer.m │ │ │ │ ├── GPUImageFramebufferCache.h │ │ │ │ ├── GPUImageFramebufferCache.m │ │ │ │ ├── GPUImageGammaFilter.h │ │ │ │ ├── GPUImageGammaFilter.m │ │ │ │ ├── GPUImageGaussianBlurFilter.h │ │ │ │ ├── GPUImageGaussianBlurFilter.m │ │ │ │ ├── GPUImageGaussianBlurPositionFilter.h │ │ │ │ ├── GPUImageGaussianBlurPositionFilter.m │ │ │ │ ├── GPUImageGaussianSelectiveBlurFilter.h │ │ │ │ ├── GPUImageGaussianSelectiveBlurFilter.m │ │ │ │ ├── GPUImageGlassSphereFilter.h │ │ │ │ ├── GPUImageGlassSphereFilter.m │ │ │ │ ├── GPUImageGrayscaleFilter.h │ │ │ │ ├── GPUImageGrayscaleFilter.m │ │ │ │ ├── GPUImageHSBFilter.h │ │ │ │ ├── GPUImageHSBFilter.m │ │ │ │ ├── GPUImageHalftoneFilter.h │ │ │ │ ├── GPUImageHalftoneFilter.m │ │ │ │ ├── GPUImageHardLightBlendFilter.h │ │ │ │ ├── GPUImageHardLightBlendFilter.m │ │ │ │ ├── GPUImageHarrisCornerDetectionFilter.h │ │ │ │ ├── GPUImageHarrisCornerDetectionFilter.m │ │ │ │ ├── GPUImageHazeFilter.h │ │ │ │ ├── GPUImageHazeFilter.m │ │ │ │ ├── GPUImageHighPassFilter.h │ │ │ │ ├── GPUImageHighPassFilter.m │ │ │ │ ├── GPUImageHighlightShadowFilter.h │ │ │ │ ├── GPUImageHighlightShadowFilter.m │ │ │ │ ├── GPUImageHighlightShadowTintFilter.h │ │ │ │ ├── GPUImageHighlightShadowTintFilter.m │ │ │ │ ├── GPUImageHistogramEqualizationFilter.h │ │ │ │ ├── GPUImageHistogramEqualizationFilter.m │ │ │ │ ├── GPUImageHistogramFilter.h │ │ │ │ ├── GPUImageHistogramFilter.m │ │ │ │ ├── GPUImageHistogramGenerator.h │ │ │ │ ├── GPUImageHistogramGenerator.m │ │ │ │ ├── GPUImageHoughTransformLineDetector.h │ │ │ │ ├── GPUImageHoughTransformLineDetector.m │ │ │ │ ├── GPUImageHueBlendFilter.h │ │ │ │ ├── GPUImageHueBlendFilter.m │ │ │ │ ├── GPUImageHueFilter.h │ │ │ │ ├── GPUImageHueFilter.m │ │ │ │ ├── GPUImageJFAVoronoiFilter.h │ │ │ │ ├── GPUImageJFAVoronoiFilter.m │ │ │ │ ├── GPUImageKuwaharaFilter.h │ │ │ │ ├── GPUImageKuwaharaFilter.m │ │ │ │ ├── GPUImageKuwaharaRadius3Filter.h │ │ │ │ ├── GPUImageKuwaharaRadius3Filter.m │ │ │ │ ├── GPUImageLanczosResamplingFilter.h │ │ │ │ ├── GPUImageLanczosResamplingFilter.m │ │ │ │ ├── GPUImageLaplacianFilter.h │ │ │ │ ├── GPUImageLaplacianFilter.m │ │ │ │ ├── GPUImageLevelsFilter.h │ │ │ │ ├── GPUImageLevelsFilter.m │ │ │ │ ├── GPUImageLightenBlendFilter.h │ │ │ │ ├── GPUImageLightenBlendFilter.m │ │ │ │ ├── GPUImageLineGenerator.h │ │ │ │ ├── GPUImageLineGenerator.m │ │ │ │ ├── GPUImageLinearBurnBlendFilter.h │ │ │ │ ├── GPUImageLinearBurnBlendFilter.m │ │ │ │ ├── GPUImageLocalBinaryPatternFilter.h │ │ │ │ ├── GPUImageLocalBinaryPatternFilter.m │ │ │ │ ├── GPUImageLookupFilter.h │ │ │ │ ├── GPUImageLookupFilter.m │ │ │ │ ├── GPUImageLowPassFilter.h │ │ │ │ ├── GPUImageLowPassFilter.m │ │ │ │ ├── GPUImageLuminanceRangeFilter.h │ │ │ │ ├── GPUImageLuminanceRangeFilter.m │ │ │ │ ├── GPUImageLuminanceThresholdFilter.h │ │ │ │ ├── GPUImageLuminanceThresholdFilter.m │ │ │ │ ├── GPUImageLuminosity.h │ │ │ │ ├── GPUImageLuminosity.m │ │ │ │ ├── GPUImageLuminosityBlendFilter.h │ │ │ │ ├── GPUImageLuminosityBlendFilter.m │ │ │ │ ├── GPUImageMaskFilter.h │ │ │ │ ├── GPUImageMaskFilter.m │ │ │ │ ├── GPUImageMedianFilter.h │ │ │ │ ├── GPUImageMedianFilter.m │ │ │ │ ├── GPUImageMissEtikateFilter.h │ │ │ │ ├── GPUImageMissEtikateFilter.m │ │ │ │ ├── GPUImageMonochromeFilter.h │ │ │ │ ├── GPUImageMonochromeFilter.m │ │ │ │ ├── GPUImageMosaicFilter.h │ │ │ │ ├── GPUImageMosaicFilter.m │ │ │ │ ├── GPUImageMotionBlurFilter.h │ │ │ │ ├── GPUImageMotionBlurFilter.m │ │ │ │ ├── GPUImageMotionDetector.h │ │ │ │ ├── GPUImageMotionDetector.m │ │ │ │ ├── GPUImageMovie.h │ │ │ │ ├── GPUImageMovie.m │ │ │ │ ├── GPUImageMovieComposition.h │ │ │ │ ├── GPUImageMovieComposition.m │ │ │ │ ├── GPUImageMultiplyBlendFilter.h │ │ │ │ ├── GPUImageMultiplyBlendFilter.m │ │ │ │ ├── GPUImageNobleCornerDetectionFilter.h │ │ │ │ ├── GPUImageNobleCornerDetectionFilter.m │ │ │ │ ├── GPUImageNonMaximumSuppressionFilter.h │ │ │ │ ├── GPUImageNonMaximumSuppressionFilter.m │ │ │ │ ├── GPUImageNormalBlendFilter.h │ │ │ │ ├── GPUImageNormalBlendFilter.m │ │ │ │ ├── GPUImageOpacityFilter.h │ │ │ │ ├── GPUImageOpacityFilter.m │ │ │ │ ├── GPUImageOpeningFilter.h │ │ │ │ ├── GPUImageOpeningFilter.m │ │ │ │ ├── GPUImageOutput.h │ │ │ │ ├── GPUImageOutput.m │ │ │ │ ├── GPUImageOverlayBlendFilter.h │ │ │ │ ├── GPUImageOverlayBlendFilter.m │ │ │ │ ├── GPUImageParallelCoordinateLineTransformFilter.h │ │ │ │ ├── GPUImageParallelCoordinateLineTransformFilter.m │ │ │ │ ├── GPUImagePerlinNoiseFilter.h │ │ │ │ ├── GPUImagePerlinNoiseFilter.m │ │ │ │ ├── GPUImagePinchDistortionFilter.h │ │ │ │ ├── GPUImagePinchDistortionFilter.m │ │ │ │ ├── GPUImagePixellateFilter.h │ │ │ │ ├── GPUImagePixellateFilter.m │ │ │ │ ├── GPUImagePixellatePositionFilter.h │ │ │ │ ├── GPUImagePixellatePositionFilter.m │ │ │ │ ├── GPUImagePoissonBlendFilter.h │ │ │ │ ├── GPUImagePoissonBlendFilter.m │ │ │ │ ├── GPUImagePolarPixellateFilter.h │ │ │ │ ├── GPUImagePolarPixellateFilter.m │ │ │ │ ├── GPUImagePolkaDotFilter.h │ │ │ │ ├── GPUImagePolkaDotFilter.m │ │ │ │ ├── GPUImagePosterizeFilter.h │ │ │ │ ├── GPUImagePosterizeFilter.m │ │ │ │ ├── GPUImagePrewittEdgeDetectionFilter.h │ │ │ │ ├── GPUImagePrewittEdgeDetectionFilter.m │ │ │ │ ├── GPUImageRGBClosingFilter.h │ │ │ │ ├── GPUImageRGBClosingFilter.m │ │ │ │ ├── GPUImageRGBDilationFilter.h │ │ │ │ ├── GPUImageRGBDilationFilter.m │ │ │ │ ├── GPUImageRGBErosionFilter.h │ │ │ │ ├── GPUImageRGBErosionFilter.m │ │ │ │ ├── GPUImageRGBFilter.h │ │ │ │ ├── GPUImageRGBFilter.m │ │ │ │ ├── GPUImageRGBOpeningFilter.h │ │ │ │ ├── GPUImageRGBOpeningFilter.m │ │ │ │ ├── GPUImageRawDataInput.h │ │ │ │ ├── GPUImageRawDataInput.m │ │ │ │ ├── GPUImageRawDataOutput.h │ │ │ │ ├── GPUImageRawDataOutput.m │ │ │ │ ├── GPUImageSaturationBlendFilter.h │ │ │ │ ├── GPUImageSaturationBlendFilter.m │ │ │ │ ├── GPUImageSaturationFilter.h │ │ │ │ ├── GPUImageSaturationFilter.m │ │ │ │ ├── GPUImageScreenBlendFilter.h │ │ │ │ ├── GPUImageScreenBlendFilter.m │ │ │ │ ├── GPUImageSepiaFilter.h │ │ │ │ ├── GPUImageSepiaFilter.m │ │ │ │ ├── GPUImageSharpenFilter.h │ │ │ │ ├── GPUImageSharpenFilter.m │ │ │ │ ├── GPUImageShiTomasiFeatureDetectionFilter.h │ │ │ │ ├── GPUImageShiTomasiFeatureDetectionFilter.m │ │ │ │ ├── GPUImageSingleComponentGaussianBlurFilter.h │ │ │ │ ├── GPUImageSingleComponentGaussianBlurFilter.m │ │ │ │ ├── GPUImageSketchFilter.h │ │ │ │ ├── GPUImageSketchFilter.m │ │ │ │ ├── GPUImageSkinToneFilter.h │ │ │ │ ├── GPUImageSkinToneFilter.m │ │ │ │ ├── GPUImageSmoothToonFilter.h │ │ │ │ ├── GPUImageSmoothToonFilter.m │ │ │ │ ├── GPUImageSobelEdgeDetectionFilter.h │ │ │ │ ├── GPUImageSobelEdgeDetectionFilter.m │ │ │ │ ├── GPUImageSoftEleganceFilter.h │ │ │ │ ├── GPUImageSoftEleganceFilter.m │ │ │ │ ├── GPUImageSoftLightBlendFilter.h │ │ │ │ ├── GPUImageSoftLightBlendFilter.m │ │ │ │ ├── GPUImageSolarizeFilter.h │ │ │ │ ├── GPUImageSolarizeFilter.m │ │ │ │ ├── GPUImageSolidColorGenerator.h │ │ │ │ ├── GPUImageSolidColorGenerator.m │ │ │ │ ├── GPUImageSourceOverBlendFilter.h │ │ │ │ ├── GPUImageSourceOverBlendFilter.m │ │ │ │ ├── GPUImageSphereRefractionFilter.h │ │ │ │ ├── GPUImageSphereRefractionFilter.m │ │ │ │ ├── GPUImageStillCamera.h │ │ │ │ ├── GPUImageStillCamera.m │ │ │ │ ├── GPUImageStretchDistortionFilter.h │ │ │ │ ├── GPUImageStretchDistortionFilter.m │ │ │ │ ├── GPUImageSubtractBlendFilter.h │ │ │ │ ├── GPUImageSubtractBlendFilter.m │ │ │ │ ├── GPUImageSwirlFilter.h │ │ │ │ ├── GPUImageSwirlFilter.m │ │ │ │ ├── GPUImageTextureInput.h │ │ │ │ ├── GPUImageTextureInput.m │ │ │ │ ├── GPUImageTextureOutput.h │ │ │ │ ├── GPUImageTextureOutput.m │ │ │ │ ├── GPUImageThreeInputFilter.h │ │ │ │ ├── GPUImageThreeInputFilter.m │ │ │ │ ├── GPUImageThresholdEdgeDetectionFilter.h │ │ │ │ ├── GPUImageThresholdEdgeDetectionFilter.m │ │ │ │ ├── GPUImageThresholdSketchFilter.h │ │ │ │ ├── GPUImageThresholdSketchFilter.m │ │ │ │ ├── GPUImageThresholdedNonMaximumSuppressionFilter.h │ │ │ │ ├── GPUImageThresholdedNonMaximumSuppressionFilter.m │ │ │ │ ├── GPUImageTiltShiftFilter.h │ │ │ │ ├── GPUImageTiltShiftFilter.m │ │ │ │ ├── GPUImageToneCurveFilter.h │ │ │ │ ├── GPUImageToneCurveFilter.m │ │ │ │ ├── GPUImageToonFilter.h │ │ │ │ ├── GPUImageToonFilter.m │ │ │ │ ├── GPUImageTransformFilter.h │ │ │ │ ├── GPUImageTransformFilter.m │ │ │ │ ├── GPUImageTwoInputCrossTextureSamplingFilter.h │ │ │ │ ├── GPUImageTwoInputCrossTextureSamplingFilter.m │ │ │ │ ├── GPUImageTwoInputFilter.h │ │ │ │ ├── GPUImageTwoInputFilter.m │ │ │ │ ├── GPUImageTwoPassFilter.h │ │ │ │ ├── GPUImageTwoPassFilter.m │ │ │ │ ├── GPUImageTwoPassTextureSamplingFilter.h │ │ │ │ ├── GPUImageTwoPassTextureSamplingFilter.m │ │ │ │ ├── GPUImageUIElement.h │ │ │ │ ├── GPUImageUIElement.m │ │ │ │ ├── GPUImageUnsharpMaskFilter.h │ │ │ │ ├── GPUImageUnsharpMaskFilter.m │ │ │ │ ├── GPUImageVideoCamera.h │ │ │ │ ├── GPUImageVideoCamera.m │ │ │ │ ├── GPUImageVignetteFilter.h │ │ │ │ ├── GPUImageVignetteFilter.m │ │ │ │ ├── GPUImageVoronoiConsumerFilter.h │ │ │ │ ├── GPUImageVoronoiConsumerFilter.m │ │ │ │ ├── GPUImageWeakPixelInclusionFilter.h │ │ │ │ ├── GPUImageWeakPixelInclusionFilter.m │ │ │ │ ├── GPUImageWhiteBalanceFilter.h │ │ │ │ ├── GPUImageWhiteBalanceFilter.m │ │ │ │ ├── GPUImageXYDerivativeFilter.h │ │ │ │ ├── GPUImageXYDerivativeFilter.m │ │ │ │ ├── GPUImageZoomBlurFilter.h │ │ │ │ ├── GPUImageZoomBlurFilter.m │ │ │ │ ├── GPUImageiOSBlurFilter.h │ │ │ │ ├── GPUImageiOSBlurFilter.m │ │ │ │ └── iOS │ │ │ │ │ ├── Framework │ │ │ │ │ └── GPUImageFramework.h │ │ │ │ │ ├── GPUImageContext.h │ │ │ │ │ ├── GPUImageContext.m │ │ │ │ │ ├── GPUImageMovieWriter.h │ │ │ │ │ ├── GPUImageMovieWriter.m │ │ │ │ │ ├── GPUImagePicture+TextureSubimage.h │ │ │ │ │ ├── GPUImagePicture+TextureSubimage.m │ │ │ │ │ ├── GPUImagePicture.h │ │ │ │ │ ├── GPUImagePicture.m │ │ │ │ │ ├── GPUImageView.h │ │ │ │ │ └── GPUImageView.m │ │ │ └── pili-librtmp │ │ │ │ ├── amf.c │ │ │ │ ├── amf.h │ │ │ │ ├── bytes.h │ │ │ │ ├── dh.h │ │ │ │ ├── dhgroups.h │ │ │ │ ├── error.c │ │ │ │ ├── error.h │ │ │ │ ├── handshake.h │ │ │ │ ├── hashswf.c │ │ │ │ ├── http.h │ │ │ │ ├── log.c │ │ │ │ ├── log.h │ │ │ │ ├── parseurl.c │ │ │ │ ├── rtmp.c │ │ │ │ ├── rtmp.h │ │ │ │ └── rtmp_sys.h │ │ ├── capture │ │ │ ├── LFAudioCapture.h │ │ │ ├── LFAudioCapture.m │ │ │ ├── LFVideoCapture.h │ │ │ └── LFVideoCapture.m │ │ ├── coder │ │ │ ├── H264 │ │ │ │ ├── LFAVEncoder.h │ │ │ │ ├── LFAVEncoder.mm │ │ │ │ ├── LFMP4Atom.h │ │ │ │ ├── LFMP4Atom.m │ │ │ │ ├── LFNALUnit.cpp │ │ │ │ ├── LFNALUnit.h │ │ │ │ ├── LFVideoEncoder.h │ │ │ │ └── LFVideoEncoder.m │ │ │ ├── LFAudioEncoding.h │ │ │ ├── LFH264VideoEncoder.h │ │ │ ├── LFH264VideoEncoder.mm │ │ │ ├── LFHardwareAudioEncoder.h │ │ │ ├── LFHardwareAudioEncoder.m │ │ │ ├── LFHardwareVideoEncoder.h │ │ │ ├── LFHardwareVideoEncoder.m │ │ │ └── LFVideoEncoding.h │ │ ├── configuration │ │ │ ├── LFLiveAudioConfiguration.h │ │ │ ├── LFLiveAudioConfiguration.m │ │ │ ├── LFLiveVideoConfiguration.h │ │ │ └── LFLiveVideoConfiguration.m │ │ ├── filter │ │ │ ├── LFGPUImageBeautyFilter.h │ │ │ ├── LFGPUImageBeautyFilter.m │ │ │ ├── LFGPUImageEmptyFilter.h │ │ │ └── LFGPUImageEmptyFilter.m │ │ ├── objects │ │ │ ├── LFAudioFrame.h │ │ │ ├── LFAudioFrame.m │ │ │ ├── LFFrame.h │ │ │ ├── LFFrame.m │ │ │ ├── LFLiveDebug.h │ │ │ ├── LFLiveDebug.m │ │ │ ├── LFLiveStreamInfo.h │ │ │ ├── LFLiveStreamInfo.m │ │ │ ├── LFVideoFrame.h │ │ │ └── LFVideoFrame.m │ │ └── publish │ │ │ ├── LFStreamRTMPSocket.h │ │ │ ├── LFStreamRTMPSocket.m │ │ │ ├── LFStreamSocket.h │ │ │ ├── LFStreamingBuffer.h │ │ │ ├── LFStreamingBuffer.m │ │ │ ├── NSMutableArray+LFAdd.h │ │ │ └── NSMutableArray+LFAdd.m │ ├── LICENSE │ └── README.md │ ├── Manifest.lock │ ├── Pods.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── loyinglin.xcuserdatad │ │ │ └── WorkspaceSettings.xcsettings │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ └── xcschemes │ │ ├── LFLiveKit.xcscheme │ │ ├── Pods.xcscheme │ │ └── xcschememanagement.plist │ └── Target Support Files │ ├── LFLiveKit │ ├── LFLiveKit-dummy.m │ ├── LFLiveKit-prefix.pch │ └── LFLiveKit.xcconfig │ └── Pods │ ├── Pods-acknowledgements.markdown │ ├── Pods-acknowledgements.plist │ ├── Pods-dummy.m │ ├── Pods-frameworks.sh │ ├── Pods-resources.sh │ ├── Pods.debug.xcconfig │ └── Pods.release.xcconfig ├── Tutorial06-Stream ├── client │ ├── LearnVideoToolBox.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── loyinglin.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── loyinglin.xcuserdatad │ │ │ ├── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ └── xcschemes │ │ │ ├── LearnVideoToolBox.xcscheme │ │ │ └── xcschememanagement.plist │ ├── LearnVideoToolBox │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m │ └── LearnVideoToolBoxTests │ │ ├── Info.plist │ │ └── LearnVideoToolBoxTests.m ├── server-app │ └── AudioStreamServer │ │ ├── AudioStreamServer.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcuserdata │ │ │ │ └── loyinglin.xcuserdatad │ │ │ │ └── UserInterfaceState.xcuserstate │ │ └── xcuserdata │ │ │ └── loyinglin.xcuserdatad │ │ │ ├── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ └── xcschemes │ │ │ ├── AudioStreamServer.xcscheme │ │ │ └── xcschememanagement.plist │ │ └── AudioStreamServer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m └── server-binary │ └── AudioServer │ ├── AudioServer.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── AudioServer.xcscheme │ │ └── xcschememanagement.plist │ └── AudioServer │ ├── chenli.mp3 │ └── main.cpp ├── Tutorial07-AudioUnitPlayPCM ├── LeanAudioUnit.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── loyinglin.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── LeanAudioUnit.xcscheme │ │ └── xcschememanagement.plist └── LeanAudioUnit │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── LYPlayer.h │ ├── LYPlayer.m │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── Tutorial08-AudioUnitRecordAndPlay ├── LearnAudioUnit.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── loyinglin.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── LearnAudioUnit.xcscheme │ │ └── xcschememanagement.plist └── LearnAudioUnit │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── Tutorial09-AudioUnitAndConverter └── LeanAudioUnit │ ├── LeanAudioUnit.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── loyinglin.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── LeanAudioUnit.xcscheme │ │ └── xcschememanagement.plist │ └── LeanAudioUnit │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── LYPlayer.h │ ├── LYPlayer.m │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── Tutorial10-AudioUnitAndExConverter └── LeanAudioUnit │ ├── LeanAudioUnit.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── loyinglin.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── LeanAudioUnit.xcscheme │ │ └── xcschememanagement.plist │ └── LeanAudioUnit │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── LYPlayer.h │ ├── LYPlayer.m │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── Tutorial11-AUGraph ├── LearnAudioUnit.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── loyinglin.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ ├── LearnAudioUnit.xcscheme │ │ └── xcschememanagement.plist └── LearnAudioUnit │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── Info.plist │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── Tutorial12-AudioUnitWithCMSampleBuffer └── LearnAudioUnit │ ├── LearnAudioUnit.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ └── xcschememanagement.plist │ └── LearnAudioUnit │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard │ ├── GL │ ├── LYOpenGLView.h │ ├── LYOpenGLView.m │ ├── Shader.fsh │ └── Shader.vsh │ ├── Info.plist │ ├── LYPlayer.h │ ├── LYPlayer.m │ ├── ViewController.h │ ├── ViewController.m │ └── main.m ├── Tutorialtmp-FFmpeg ├── FFmpeg.pages └── LearnAudioUnit │ ├── LearnAudioUnit.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ └── loyinglin.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── loyinglin.xcuserdatad │ │ ├── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist │ │ └── xcschemes │ │ └── xcschememanagement.plist │ ├── LearnAudioUnit │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── GL │ │ ├── LYOpenGLView.h │ │ ├── LYOpenGLView.m │ │ ├── Shader.fsh │ │ └── Shader.vsh │ ├── Info.plist │ ├── LYPlayer.h │ ├── LYPlayer.m │ ├── ViewController.h │ ├── ViewController.m │ ├── XYQMovieObject.h │ ├── XYQMovieObject.m │ └── main.m │ └── readme.md └── pdf ├── AAC ├── AAC解码算法原理详解.doc └── AAC解码算法原理详解.pdf └── H264 └── H.264标准详细图解.pdf /CommonResource/abc.aac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/CommonResource/abc.aac -------------------------------------------------------------------------------- /CommonResource/abc.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/CommonResource/abc.m4a -------------------------------------------------------------------------------- /CommonResource/abc.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/CommonResource/abc.mp3 -------------------------------------------------------------------------------- /CommonResource/abc.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/CommonResource/abc.mp4 -------------------------------------------------------------------------------- /CommonResource/abc.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/CommonResource/abc.pcm -------------------------------------------------------------------------------- /CommonResource/test.mov: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/CommonResource/test.mov -------------------------------------------------------------------------------- /CommonResource/test.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/CommonResource/test.pcm -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LearnVideoToolBox 2 | 技术预研,实践某些想法。 3 | 4 | 5 | # 教程在[这里](http://www.jianshu.com/notebooks/5037333/latest) 6 | 7 | 8 | 目前就职于字节跳动,如果你或者身边的朋友想来字节跳动(北京/上海/深圳/广州/武汉/杭州),可以邮箱联系 loying@foxmail.com 9 | 10 | 或者微信联系(备注GitHub内推),微信号loyinglin -------------------------------------------------------------------------------- /Tutorial01-Encode.h264/LearnVideoToolBox.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial01-Encode.h264/LearnVideoToolBox.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorial01-Encode.h264/LearnVideoToolBox.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Tutorial01-Encode.h264/LearnVideoToolBox.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Tutorial01-Encode.h264/LearnVideoToolBox.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LearnVideoToolBox.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FD315B7E1D77F89E000CC96D 16 | 17 | primary 18 | 19 | 20 | FD315B971D77F89E000CC96D 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Tutorial01-Encode.h264/LearnVideoToolBox/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorial01-Encode.h264/LearnVideoToolBox/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /Tutorial01-Encode.h264/LearnVideoToolBox/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Tutorial01-Encode.h264/LearnVideoToolBox/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorial02-Decode.h264/LearnVideoToolBox.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial02-Decode.h264/LearnVideoToolBox.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Tutorial02-Decode.h264/LearnVideoToolBox.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LearnVideoToolBox.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FD315B7E1D77F89E000CC96D 16 | 17 | primary 18 | 19 | 20 | FD315B971D77F89E000CC96D 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Tutorial02-Decode.h264/LearnVideoToolBox/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorial02-Decode.h264/LearnVideoToolBox/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /Tutorial02-Decode.h264/LearnVideoToolBox/LYOpenGLView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // LearnOpenGLESWithGPUImage 4 | // 5 | // Created by loyinglin on 16/5/10. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import 12 | 13 | @interface LYOpenGLView : UIView 14 | 15 | - (void)setupGL; 16 | - (void)displayPixelBuffer:(CVPixelBufferRef)pixelBuffer; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Tutorial02-Decode.h264/LearnVideoToolBox/Shader.fsh: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // LearnOpenGLESWithGPUImage 4 | // 5 | // Created by loyinglin on 16/5/10. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | varying highp vec2 texCoordVarying; 10 | precision mediump float; 11 | 12 | uniform sampler2D SamplerY; 13 | uniform sampler2D SamplerUV; 14 | uniform mat3 colorConversionMatrix; 15 | 16 | void main() 17 | { 18 | mediump vec3 yuv; 19 | lowp vec3 rgb; 20 | 21 | // Subtract constants to map the video range start at 0 22 | yuv.x = (texture2D(SamplerY, texCoordVarying).r);// - (16.0/255.0)); 23 | yuv.yz = (texture2D(SamplerUV, texCoordVarying).ra - vec2(0.5, 0.5)); 24 | 25 | rgb = colorConversionMatrix * yuv; 26 | 27 | gl_FragColor = vec4(rgb,1); 28 | // gl_FragColor = vec4(1, 0, 0, 1); 29 | } -------------------------------------------------------------------------------- /Tutorial02-Decode.h264/LearnVideoToolBox/Shader.vsh: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // LearnOpenGLESWithGPUImage 4 | // 5 | // Created by loyinglin on 16/5/10. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | attribute vec4 position; 10 | attribute vec2 texCoord; 11 | 12 | varying vec2 texCoordVarying; 13 | 14 | void main() 15 | { 16 | float preferredRotation = 3.14; 17 | mat4 rotationMatrix = mat4( cos(preferredRotation), -sin(preferredRotation), 0.0, 0.0, 18 | sin(preferredRotation), cos(preferredRotation), 0.0, 0.0, 19 | 0.0, 0.0, 1.0, 0.0, 20 | 0.0, 0.0, 0.0, 1.0); 21 | gl_Position = rotationMatrix * position; 22 | texCoordVarying = texCoord; 23 | } 24 | 25 | -------------------------------------------------------------------------------- /Tutorial02-Decode.h264/LearnVideoToolBox/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Tutorial02-Decode.h264/LearnVideoToolBox/abc.h264: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorial02-Decode.h264/LearnVideoToolBox/abc.h264 -------------------------------------------------------------------------------- /Tutorial02-Decode.h264/LearnVideoToolBox/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorial02-Decode.h264/LearnVideoToolBox/qwe.h264: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorial02-Decode.h264/LearnVideoToolBox/qwe.h264 -------------------------------------------------------------------------------- /Tutorial03-EncodeAAC.AAC/LearnVideoToolBox.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial03-EncodeAAC.AAC/LearnVideoToolBox.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Tutorial03-EncodeAAC.AAC/LearnVideoToolBox.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LearnVideoToolBox.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FD315B7E1D77F89E000CC96D 16 | 17 | primary 18 | 19 | 20 | FD315B971D77F89E000CC96D 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Tutorial03-EncodeAAC.AAC/LearnVideoToolBox/AACEncoder.h: -------------------------------------------------------------------------------- 1 | // 2 | // 3 | // 4 | // LearnVideoToolBox 5 | // 6 | // Created by loyinglin on 16/9/1. 7 | // Copyright © 2016年 loyinglin. All rights reserved. 8 | // 9 | 10 | #import 11 | #import 12 | #import 13 | 14 | @interface AACEncoder : NSObject 15 | 16 | @property (nonatomic) dispatch_queue_t encoderQueue; 17 | @property (nonatomic) dispatch_queue_t callbackQueue; 18 | 19 | - (void) encodeSampleBuffer:(CMSampleBufferRef)sampleBuffer completionBlock:(void (^)(NSData *encodedData, NSError* error))completionBlock; 20 | 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Tutorial03-EncodeAAC.AAC/LearnVideoToolBox/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorial03-EncodeAAC.AAC/LearnVideoToolBox/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Tutorial03-EncodeAAC.AAC/LearnVideoToolBox/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorial04-DecodeAAC.AAC/LearnVideoToolBox.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial04-DecodeAAC.AAC/LearnVideoToolBox.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LearnVideoToolBox.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FD315B7E1D77F89E000CC96D 16 | 17 | primary 18 | 19 | 20 | FD315B971D77F89E000CC96D 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Tutorial04-DecodeAAC.AAC/LearnVideoToolBox/AACPlayer.h: -------------------------------------------------------------------------------- 1 | // 2 | // AACPlayer.h 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/9. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface AACPlayer : NSObject 13 | 14 | - (void)play; 15 | 16 | - (double)getCurrentTime; 17 | 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Tutorial04-DecodeAAC.AAC/LearnVideoToolBox/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorial04-DecodeAAC.AAC/LearnVideoToolBox/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Tutorial04-DecodeAAC.AAC/LearnVideoToolBox/abc.aac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorial04-DecodeAAC.AAC/LearnVideoToolBox/abc.aac -------------------------------------------------------------------------------- /Tutorial04-DecodeAAC.AAC/LearnVideoToolBox/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/LearnLIVE.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/LearnLIVE.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LearnLIVE.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FD22D6F61D93FED300FAC48A 16 | 17 | primary 18 | 19 | 20 | FD22D70F1D93FED300FAC48A 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/LearnLIVE.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/LearnLIVE.xcworkspace/xcuserdata/loyinglin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/LearnLIVE/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LearnLIVE 4 | // 5 | // Created by loyinglin on 16/9/22. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/LearnLIVE/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LearnLIVE 4 | // 5 | // Created by loyinglin on 16/9/22. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/LearnLIVE/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LearnLIVE 4 | // 5 | // Created by loyinglin on 16/9/22. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Podfile: -------------------------------------------------------------------------------- 1 | pod 'LFLiveKit' 2 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - LFLiveKit (2.1) 3 | 4 | DEPENDENCIES: 5 | - LFLiveKit 6 | 7 | SPEC CHECKSUMS: 8 | LFLiveKit: f9a0cb5941e4ab892a7d9522348ae370b19e67e7 9 | 10 | COCOAPODS: 0.39.0 11 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GLProgram.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GLProgram.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImage.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImage.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImage3x3ConvolutionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImage3x3ConvolutionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImage3x3TextureSamplingFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImage3x3TextureSamplingFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageAdaptiveThresholdFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageAdaptiveThresholdFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageAddBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageAddBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageAlphaBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageAlphaBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageAmatorkaFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageAmatorkaFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageAverageColor.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageAverageColor.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageAverageLuminanceThresholdFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageAverageLuminanceThresholdFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageBilateralFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageBilateralFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageBoxBlurFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageBoxBlurFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageBrightnessFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageBrightnessFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageBuffer.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageBuffer.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageBulgeDistortionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageBulgeDistortionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageCGAColorspaceFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageCGAColorspaceFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageCannyEdgeDetectionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageCannyEdgeDetectionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageChromaKeyBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageChromaKeyBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageChromaKeyFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageChromaKeyFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageClosingFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageClosingFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageColorBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageColorBurnBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorBurnBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageColorConversion.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorConversion.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageColorDodgeBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorDodgeBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageColorInvertFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorInvertFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageColorLocalBinaryPatternFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorLocalBinaryPatternFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageColorMatrixFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorMatrixFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageColorPackingFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorPackingFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageColourFASTFeatureDetector.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColourFASTFeatureDetector.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageColourFASTSamplingOperation.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColourFASTSamplingOperation.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageContext.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/iOS/GPUImageContext.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageContrastFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageContrastFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageCropFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageCropFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageCrosshairGenerator.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageCrosshairGenerator.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageCrosshatchFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageCrosshatchFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageDarkenBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageDarkenBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageDifferenceBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageDifferenceBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageDilationFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageDilationFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageDirectionalNonMaximumSuppressionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageDirectionalNonMaximumSuppressionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageDirectionalSobelEdgeDetectionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageDirectionalSobelEdgeDetectionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageDissolveBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageDissolveBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageDivideBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageDivideBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageEmbossFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageEmbossFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageErosionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageErosionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageExclusionBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageExclusionBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageExposureFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageExposureFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageFASTCornerDetectionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageFASTCornerDetectionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageFalseColorFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageFalseColorFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageFilterGroup.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageFilterGroup.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageFilterPipeline.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageFilterPipeline.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageFourInputFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageFourInputFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageFramebuffer.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageFramebuffer.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageFramebufferCache.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageFramebufferCache.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageFramework.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/iOS/Framework/GPUImageFramework.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageGammaFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageGammaFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageGaussianBlurFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageGaussianBlurFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageGaussianBlurPositionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageGaussianBlurPositionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageGaussianSelectiveBlurFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageGaussianSelectiveBlurFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageGlassSphereFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageGlassSphereFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageGrayscaleFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageGrayscaleFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHSBFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHSBFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHalftoneFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHalftoneFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHardLightBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHardLightBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHarrisCornerDetectionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHarrisCornerDetectionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHazeFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHazeFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHighPassFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHighPassFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHighlightShadowFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHighlightShadowFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHighlightShadowTintFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHighlightShadowTintFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHistogramEqualizationFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHistogramEqualizationFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHistogramFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHistogramFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHistogramGenerator.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHistogramGenerator.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHoughTransformLineDetector.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHoughTransformLineDetector.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHueBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHueBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageHueFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHueFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageJFAVoronoiFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageJFAVoronoiFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageKuwaharaFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageKuwaharaFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageKuwaharaRadius3Filter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageKuwaharaRadius3Filter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLanczosResamplingFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLanczosResamplingFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLaplacianFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLaplacianFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLevelsFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLevelsFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLightenBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLightenBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLineGenerator.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLineGenerator.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLinearBurnBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLinearBurnBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLocalBinaryPatternFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLocalBinaryPatternFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLookupFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLookupFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLowPassFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLowPassFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLuminanceRangeFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLuminanceRangeFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLuminanceThresholdFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLuminanceThresholdFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLuminosity.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLuminosity.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageLuminosityBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLuminosityBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageMaskFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMaskFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageMedianFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMedianFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageMissEtikateFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMissEtikateFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageMonochromeFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMonochromeFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageMosaicFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMosaicFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageMotionBlurFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMotionBlurFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageMotionDetector.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMotionDetector.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageMovie.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMovie.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageMovieComposition.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMovieComposition.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageMovieWriter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/iOS/GPUImageMovieWriter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageMultiplyBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMultiplyBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageNobleCornerDetectionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageNobleCornerDetectionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageNonMaximumSuppressionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageNonMaximumSuppressionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageNormalBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageNormalBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageOpacityFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageOpacityFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageOpeningFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageOpeningFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageOutput.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageOutput.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageOverlayBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageOverlayBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageParallelCoordinateLineTransformFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageParallelCoordinateLineTransformFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImagePerlinNoiseFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePerlinNoiseFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImagePicture+TextureSubimage.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/iOS/GPUImagePicture+TextureSubimage.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImagePicture.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/iOS/GPUImagePicture.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImagePinchDistortionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePinchDistortionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImagePixellateFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePixellateFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImagePixellatePositionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePixellatePositionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImagePoissonBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePoissonBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImagePolarPixellateFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePolarPixellateFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImagePolkaDotFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePolkaDotFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImagePosterizeFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePosterizeFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImagePrewittEdgeDetectionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePrewittEdgeDetectionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageRGBClosingFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageRGBClosingFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageRGBDilationFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageRGBDilationFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageRGBErosionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageRGBErosionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageRGBFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageRGBFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageRGBOpeningFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageRGBOpeningFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageRawDataInput.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageRawDataInput.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageRawDataOutput.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageRawDataOutput.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSaturationBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSaturationBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSaturationFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSaturationFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageScreenBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageScreenBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSepiaFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSepiaFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSharpenFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSharpenFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageShiTomasiFeatureDetectionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageShiTomasiFeatureDetectionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSingleComponentGaussianBlurFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSingleComponentGaussianBlurFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSketchFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSketchFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSkinToneFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSkinToneFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSmoothToonFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSmoothToonFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSobelEdgeDetectionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSobelEdgeDetectionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSoftEleganceFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSoftEleganceFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSoftLightBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSoftLightBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSolarizeFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSolarizeFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSolidColorGenerator.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSolidColorGenerator.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSourceOverBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSourceOverBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSphereRefractionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSphereRefractionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageStillCamera.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageStillCamera.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageStretchDistortionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageStretchDistortionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSubtractBlendFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSubtractBlendFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageSwirlFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSwirlFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageTextureInput.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTextureInput.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageTextureOutput.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTextureOutput.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageThreeInputFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageThreeInputFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageThresholdEdgeDetectionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageThresholdEdgeDetectionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageThresholdSketchFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageThresholdSketchFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageThresholdedNonMaximumSuppressionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageThresholdedNonMaximumSuppressionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageTiltShiftFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTiltShiftFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageToneCurveFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageToneCurveFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageToonFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageToonFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageTransformFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTransformFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageTwoInputCrossTextureSamplingFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTwoInputCrossTextureSamplingFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageTwoInputFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTwoInputFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageTwoPassFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTwoPassFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageTwoPassTextureSamplingFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTwoPassTextureSamplingFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageUIElement.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageUIElement.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageUnsharpMaskFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageUnsharpMaskFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageVideoCamera.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageVideoCamera.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageView.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/iOS/GPUImageView.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageVignetteFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageVignetteFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageVoronoiConsumerFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageVoronoiConsumerFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageWeakPixelInclusionFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageWeakPixelInclusionFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageWhiteBalanceFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageWhiteBalanceFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageXYDerivativeFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageXYDerivativeFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageZoomBlurFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageZoomBlurFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/GPUImageiOSBlurFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageiOSBlurFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFAVEncoder.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/coder/H264/LFAVEncoder.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFAudioCapture.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/capture/LFAudioCapture.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFAudioEncoding.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/coder/LFAudioEncoding.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFAudioFrame.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/objects/LFAudioFrame.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFFrame.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/objects/LFFrame.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFGPUImageBeautyFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/filter/LFGPUImageBeautyFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFGPUImageEmptyFilter.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/filter/LFGPUImageEmptyFilter.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFH264VideoEncoder.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/coder/LFH264VideoEncoder.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFHardwareAudioEncoder.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/coder/LFHardwareAudioEncoder.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFHardwareVideoEncoder.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/coder/LFHardwareVideoEncoder.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFLiveAudioConfiguration.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/configuration/LFLiveAudioConfiguration.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFLiveDebug.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/objects/LFLiveDebug.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFLiveKit.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/LFLiveKit.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFLiveSession.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/LFLiveSession.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFLiveStreamInfo.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/objects/LFLiveStreamInfo.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFLiveVideoConfiguration.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/configuration/LFLiveVideoConfiguration.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFMP4Atom.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/coder/H264/LFMP4Atom.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFNALUnit.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/coder/H264/LFNALUnit.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFStreamRTMPSocket.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/publish/LFStreamRTMPSocket.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFStreamSocket.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/publish/LFStreamSocket.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFStreamingBuffer.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/publish/LFStreamingBuffer.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFVideoCapture.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/capture/LFVideoCapture.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFVideoEncoder.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/coder/H264/LFVideoEncoder.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFVideoEncoding.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/coder/LFVideoEncoding.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/LFVideoFrame.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/objects/LFVideoFrame.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/NSMutableArray+LFAdd.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/publish/NSMutableArray+LFAdd.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/amf.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/pili-librtmp/amf.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/bytes.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/pili-librtmp/bytes.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/dh.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/pili-librtmp/dh.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/dhgroups.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/pili-librtmp/dhgroups.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/error.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/pili-librtmp/error.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/handshake.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/pili-librtmp/handshake.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/http.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/pili-librtmp/http.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/log.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/pili-librtmp/log.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/rtmp.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/pili-librtmp/rtmp.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Private/LFLiveKit/rtmp_sys.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/Vendor/pili-librtmp/rtmp_sys.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Public/LFLiveKit/LFAudioFrame.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/objects/LFAudioFrame.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Public/LFLiveKit/LFFrame.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/objects/LFFrame.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Public/LFLiveKit/LFLiveAudioConfiguration.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/configuration/LFLiveAudioConfiguration.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Public/LFLiveKit/LFLiveDebug.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/objects/LFLiveDebug.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Public/LFLiveKit/LFLiveKit.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/LFLiveKit.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Public/LFLiveKit/LFLiveSession.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/LFLiveSession.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Public/LFLiveKit/LFLiveStreamInfo.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/objects/LFLiveStreamInfo.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Public/LFLiveKit/LFLiveVideoConfiguration.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/configuration/LFLiveVideoConfiguration.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Headers/Public/LFLiveKit/LFVideoFrame.h: -------------------------------------------------------------------------------- 1 | ../../../LFLiveKit/LFLiveKit/objects/LFVideoFrame.h -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/LFLiveKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // LFLiveKit.h 3 | // LFLiveKit 4 | // 5 | // Created by admin on 16/5/24. 6 | // Copyright © 2016年 admin. All rights reserved. 7 | // 8 | 9 | #import "LFLiveSession.h" 10 | #import "LFLiveAudioConfiguration.h" 11 | #import "LFLiveVideoConfiguration.h" 12 | #import "LFAudioFrame.h" 13 | #import "LFFrame.h" 14 | #import "LFLiveStreamInfo.h" 15 | #import "LFVideoFrame.h" 16 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImage3x3ConvolutionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | /** Runs a 3x3 convolution kernel against the image 4 | */ 5 | @interface GPUImage3x3ConvolutionFilter : GPUImage3x3TextureSamplingFilter 6 | { 7 | GLint convolutionMatrixUniform; 8 | } 9 | 10 | /** Convolution kernel to run against the image 11 | 12 | The convolution kernel is a 3x3 matrix of values to apply to the pixel and its 8 surrounding pixels. 13 | The matrix is specified in row-major order, with the top left pixel being one.one and the bottom right three.three 14 | If the values in the matrix don't add up to 1.0, the image could be brightened or darkened. 15 | */ 16 | @property(readwrite, nonatomic) GPUMatrix3x3 convolutionKernel; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImage3x3TextureSamplingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | extern NSString *const kGPUImageNearbyTexelSamplingVertexShaderString; 4 | 5 | @interface GPUImage3x3TextureSamplingFilter : GPUImageFilter 6 | { 7 | GLint texelWidthUniform, texelHeightUniform; 8 | 9 | CGFloat texelWidth, texelHeight; 10 | BOOL hasOverriddenImageSizeFactor; 11 | } 12 | 13 | // The texel width and height determines how far out to sample from this texel. By default, this is the normalized width of a pixel, but this can be overridden for different effects. 14 | @property(readwrite, nonatomic) CGFloat texelWidth; 15 | @property(readwrite, nonatomic) CGFloat texelHeight; 16 | 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageAdaptiveThresholdFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @interface GPUImageAdaptiveThresholdFilter : GPUImageFilterGroup 4 | 5 | /** A multiplier for the background averaging blur radius in pixels, with a default of 4 6 | */ 7 | @property(readwrite, nonatomic) CGFloat blurRadiusInPixels; 8 | 9 | @end 10 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageAddBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageAddBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageAlphaBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageAlphaBlendFilter : GPUImageTwoInputFilter 4 | { 5 | GLint mixUniform; 6 | } 7 | 8 | // Mix ranges from 0.0 (only image 1) to 1.0 (only image 2), with 1.0 as the normal level 9 | @property(readwrite, nonatomic) CGFloat mix; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageAmatorkaFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImagePicture; 4 | 5 | /** A photo filter based on Photoshop action by Amatorka 6 | http://amatorka.deviantart.com/art/Amatorka-Action-2-121069631 7 | */ 8 | 9 | // Note: If you want to use this effect you have to add lookup_amatorka.png 10 | // from Resources folder to your application bundle. 11 | 12 | @interface GPUImageAmatorkaFilter : GPUImageFilterGroup 13 | { 14 | GPUImagePicture *lookupImageSource; 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageAverageColor.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | extern NSString *const kGPUImageColorAveragingVertexShaderString; 4 | 5 | @interface GPUImageAverageColor : GPUImageFilter 6 | { 7 | GLint texelWidthUniform, texelHeightUniform; 8 | 9 | NSUInteger numberOfStages; 10 | 11 | GLubyte *rawImagePixels; 12 | CGSize finalStageSize; 13 | } 14 | 15 | // This block is called on the completion of color averaging for a frame 16 | @property(nonatomic, copy) void(^colorAverageProcessingFinishedBlock)(CGFloat redComponent, CGFloat greenComponent, CGFloat blueComponent, CGFloat alphaComponent, CMTime frameTime); 17 | 18 | - (void)extractAverageColorAtFrameTime:(CMTime)frameTime; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageAverageLuminanceThresholdFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @interface GPUImageAverageLuminanceThresholdFilter : GPUImageFilterGroup 4 | 5 | // This is multiplied by the continually calculated average image luminosity to arrive at the final threshold. Default is 1.0. 6 | @property(readwrite, nonatomic) CGFloat thresholdMultiplier; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageBilateralFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageGaussianBlurFilter.h" 2 | 3 | @interface GPUImageBilateralFilter : GPUImageGaussianBlurFilter 4 | { 5 | CGFloat firstDistanceNormalizationFactorUniform; 6 | CGFloat secondDistanceNormalizationFactorUniform; 7 | } 8 | // A normalization factor for the distance between central color and sample color. 9 | @property(nonatomic, readwrite) CGFloat distanceNormalizationFactor; 10 | @end 11 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageBoxBlurFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageGaussianBlurFilter.h" 2 | 3 | /** A hardware-accelerated box blur of an image 4 | */ 5 | @interface GPUImageBoxBlurFilter : GPUImageGaussianBlurFilter 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageBrightnessFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageBrightnessFilter : GPUImageFilter 4 | { 5 | GLint brightnessUniform; 6 | } 7 | 8 | // Brightness ranges from -1.0 to 1.0, with 0.0 as the normal level 9 | @property(readwrite, nonatomic) CGFloat brightness; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageBuffer.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageBuffer : GPUImageFilter 4 | { 5 | NSMutableArray *bufferedFramebuffers; 6 | } 7 | 8 | @property(readwrite, nonatomic) NSUInteger bufferSize; 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageBulgeDistortionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /// Creates a bulge distortion on the image 4 | @interface GPUImageBulgeDistortionFilter : GPUImageFilter 5 | { 6 | GLint aspectRatioUniform, radiusUniform, centerUniform, scaleUniform; 7 | } 8 | 9 | /// The center about which to apply the distortion, with a default of (0.5, 0.5) 10 | @property(readwrite, nonatomic) CGPoint center; 11 | /// The radius of the distortion, ranging from 0.0 to 1.0, with a default of 0.25 12 | @property(readwrite, nonatomic) CGFloat radius; 13 | /// The amount of distortion to apply, from -1.0 to 1.0, with a default of 0.5 14 | @property(readwrite, nonatomic) CGFloat scale; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageCGAColorspaceFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageCGAColorspaceFilter : GPUImageFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageClosingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImageErosionFilter; 4 | @class GPUImageDilationFilter; 5 | 6 | // A filter that first performs a dilation on the red channel of an image, followed by an erosion of the same radius. 7 | // This helps to filter out smaller dark elements. 8 | 9 | @interface GPUImageClosingFilter : GPUImageFilterGroup 10 | { 11 | GPUImageErosionFilter *erosionFilter; 12 | GPUImageDilationFilter *dilationFilter; 13 | } 14 | 15 | @property(readwrite, nonatomic) CGFloat verticalTexelSpacing, horizontalTexelSpacing; 16 | 17 | - (id)initWithRadius:(NSUInteger)radius; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageColorBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorBurnBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | /** Applies a color burn blend of two images 4 | */ 5 | @interface GPUImageColorBurnBlendFilter : GPUImageTwoInputFilter 6 | { 7 | } 8 | 9 | @end 10 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorConversion.h: -------------------------------------------------------------------------------- 1 | #ifndef GPUImageColorConversion_h 2 | #define GPUImageColorConversion_h 3 | 4 | extern GLfloat *kColorConversion601; 5 | extern GLfloat *kColorConversion601FullRange; 6 | extern GLfloat *kColorConversion709; 7 | extern NSString *const kGPUImageYUVVideoRangeConversionForRGFragmentShaderString; 8 | extern NSString *const kGPUImageYUVFullRangeConversionForLAFragmentShaderString; 9 | extern NSString *const kGPUImageYUVVideoRangeConversionForLAFragmentShaderString; 10 | 11 | 12 | #endif /* GPUImageColorConversion_h */ 13 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorDodgeBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | /** Applies a color dodge blend of two images 4 | */ 5 | @interface GPUImageColorDodgeBlendFilter : GPUImageTwoInputFilter 6 | { 7 | } 8 | 9 | @end 10 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorInvertFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageColorInvertFilter : GPUImageFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorLocalBinaryPatternFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageColorLocalBinaryPatternFilter : GPUImage3x3TextureSamplingFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorMatrixFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Transforms the colors of an image by applying a matrix to them 4 | */ 5 | @interface GPUImageColorMatrixFilter : GPUImageFilter 6 | { 7 | GLint colorMatrixUniform; 8 | GLint intensityUniform; 9 | } 10 | 11 | /** A 4x4 matrix used to transform each color in an image 12 | */ 13 | @property(readwrite, nonatomic) GPUMatrix4x4 colorMatrix; 14 | 15 | /** The degree to which the new transformed color replaces the original color for each pixel 16 | */ 17 | @property(readwrite, nonatomic) CGFloat intensity; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageColorPackingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageColorPackingFilter : GPUImageFilter 4 | { 5 | GLint texelWidthUniform, texelHeightUniform; 6 | 7 | CGFloat texelWidth, texelHeight; 8 | } 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageContrastFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Adjusts the contrast of the image 4 | */ 5 | @interface GPUImageContrastFilter : GPUImageFilter 6 | { 7 | GLint contrastUniform; 8 | } 9 | 10 | /** Contrast ranges from 0.0 to 4.0 (max contrast), with 1.0 as the normal level 11 | */ 12 | @property(readwrite, nonatomic) CGFloat contrast; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageCropFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageCropFilter : GPUImageFilter 4 | { 5 | GLfloat cropTextureCoordinates[8]; 6 | } 7 | 8 | // The crop region is the rectangle within the image to crop. It is normalized to a coordinate space from 0.0 to 1.0, with 0.0, 0.0 being the upper left corner of the image 9 | @property(readwrite, nonatomic) CGRect cropRegion; 10 | 11 | // Initialization and teardown 12 | - (id)initWithCropRegion:(CGRect)newCropRegion; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageCrosshatchFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageCrosshatchFilter : GPUImageFilter 4 | { 5 | GLint crossHatchSpacingUniform, lineWidthUniform; 6 | } 7 | // The fractional width of the image to use as the spacing for the crosshatch. The default is 0.03. 8 | @property(readwrite, nonatomic) CGFloat crossHatchSpacing; 9 | 10 | // A relative width for the crosshatch lines. The default is 0.003. 11 | @property(readwrite, nonatomic) CGFloat lineWidth; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageDarkenBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageDarkenBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageDifferenceBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageDifferenceBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageDirectionalSobelEdgeDetectionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageDirectionalSobelEdgeDetectionFilter : GPUImage3x3TextureSamplingFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageDissolveBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageDissolveBlendFilter : GPUImageTwoInputFilter 4 | { 5 | GLint mixUniform; 6 | } 7 | 8 | // Mix ranges from 0.0 (only image 1) to 1.0 (only image 2), with 0.5 (half of either) as the normal level 9 | @property(readwrite, nonatomic) CGFloat mix; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageDivideBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageDivideBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageEmbossFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3ConvolutionFilter.h" 2 | 3 | @interface GPUImageEmbossFilter : GPUImage3x3ConvolutionFilter 4 | 5 | // The strength of the embossing, from 0.0 to 4.0, with 1.0 as the normal level 6 | @property(readwrite, nonatomic) CGFloat intensity; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageErosionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassTextureSamplingFilter.h" 2 | 3 | // For each pixel, this sets it to the minimum value of the red channel in a rectangular neighborhood extending out dilationRadius pixels from the center. 4 | // This extends out dark features, and is most commonly used with black-and-white thresholded images. 5 | 6 | @interface GPUImageErosionFilter : GPUImageTwoPassTextureSamplingFilter 7 | 8 | // Acceptable values for erosionRadius, which sets the distance in pixels to sample out from the center, are 1, 2, 3, and 4. 9 | - (id)initWithRadius:(NSUInteger)erosionRadius; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageExclusionBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageExclusionBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageExposureFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageExposureFilter : GPUImageFilter 4 | { 5 | GLint exposureUniform; 6 | } 7 | 8 | // Exposure ranges from -10.0 to 10.0, with 0.0 as the normal level 9 | @property(readwrite, nonatomic) CGFloat exposure; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageFalseColorFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageFalseColorFilter : GPUImageFilter 4 | { 5 | GLint firstColorUniform, secondColorUniform; 6 | } 7 | 8 | // The first and second colors specify what colors replace the dark and light areas of the image, respectively. The defaults are (0.0, 0.0, 0.5) amd (1.0, 0.0, 0.0). 9 | @property(readwrite, nonatomic) GPUVector4 firstColor; 10 | @property(readwrite, nonatomic) GPUVector4 secondColor; 11 | 12 | - (void)setFirstColorRed:(GLfloat)redComponent green:(GLfloat)greenComponent blue:(GLfloat)blueComponent; 13 | - (void)setSecondColorRed:(GLfloat)redComponent green:(GLfloat)greenComponent blue:(GLfloat)blueComponent; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageFilterGroup.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageOutput.h" 2 | #import "GPUImageFilter.h" 3 | 4 | @interface GPUImageFilterGroup : GPUImageOutput 5 | { 6 | NSMutableArray *filters; 7 | BOOL isEndProcessing; 8 | } 9 | 10 | @property(readwrite, nonatomic, strong) GPUImageOutput *terminalFilter; 11 | @property(readwrite, nonatomic, strong) NSArray *initialFilters; 12 | @property(readwrite, nonatomic, strong) GPUImageOutput *inputFilterToIgnoreForUpdates; 13 | 14 | // Filter management 15 | - (void)addFilter:(GPUImageOutput *)newFilter; 16 | - (GPUImageOutput *)filterAtIndex:(NSUInteger)filterIndex; 17 | - (NSUInteger)filterCount; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageFourInputFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageThreeInputFilter.h" 2 | 3 | extern NSString *const kGPUImageFourInputTextureVertexShaderString; 4 | 5 | @interface GPUImageFourInputFilter : GPUImageThreeInputFilter 6 | { 7 | GPUImageFramebuffer *fourthInputFramebuffer; 8 | 9 | GLint filterFourthTextureCoordinateAttribute; 10 | GLint filterInputTextureUniform4; 11 | GPUImageRotationMode inputRotation4; 12 | GLuint filterSourceTexture4; 13 | CMTime fourthFrameTime; 14 | 15 | BOOL hasSetThirdTexture, hasReceivedFourthFrame, fourthFrameWasVideo; 16 | BOOL fourthFrameCheckDisabled; 17 | } 18 | 19 | - (void)disableFourthFrameCheck; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageGammaFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageGammaFilter : GPUImageFilter 4 | { 5 | GLint gammaUniform; 6 | } 7 | 8 | // Gamma ranges from 0.0 to 3.0, with 1.0 as the normal level 9 | @property(readwrite, nonatomic) CGFloat gamma; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageGaussianBlurPositionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassTextureSamplingFilter.h" 2 | 3 | /** A more generalized 9x9 Gaussian blur filter 4 | */ 5 | @interface GPUImageGaussianBlurPositionFilter : GPUImageTwoPassTextureSamplingFilter 6 | { 7 | GLint blurCenterUniform, blurRadiusUniform, aspectRatioUniform; 8 | } 9 | 10 | /** A multiplier for the blur size, ranging from 0.0 on up, with a default of 1.0 11 | */ 12 | @property (readwrite, nonatomic) CGFloat blurSize; 13 | 14 | /** Center for the blur, defaults to 0.5, 0.5 15 | */ 16 | @property (readwrite, nonatomic) CGPoint blurCenter; 17 | 18 | /** Radius for the blur, defaults to 1.0 19 | */ 20 | @property (readwrite, nonatomic) CGFloat blurRadius; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageGlassSphereFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageSphereRefractionFilter.h" 2 | 3 | @interface GPUImageGlassSphereFilter : GPUImageSphereRefractionFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageGrayscaleFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | extern NSString *const kGPUImageLuminanceFragmentShaderString; 4 | 5 | /** Converts an image to grayscale (a slightly faster implementation of the saturation filter, without the ability to vary the color contribution) 6 | */ 7 | @interface GPUImageGrayscaleFilter : GPUImageFilter 8 | 9 | @end 10 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHalftoneFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImagePixellateFilter.h" 2 | 3 | @interface GPUImageHalftoneFilter : GPUImagePixellateFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHardLightBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageHardLightBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHighPassFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | #import "GPUImageLowPassFilter.h" 3 | #import "GPUImageDifferenceBlendFilter.h" 4 | 5 | @interface GPUImageHighPassFilter : GPUImageFilterGroup 6 | { 7 | GPUImageLowPassFilter *lowPassFilter; 8 | GPUImageDifferenceBlendFilter *differenceBlendFilter; 9 | } 10 | 11 | // This controls the degree by which the previous accumulated frames are blended and then subtracted from the current one. This ranges from 0.0 to 1.0, with a default of 0.5. 12 | @property(readwrite, nonatomic) CGFloat filterStrength; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHighlightShadowFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageHighlightShadowFilter : GPUImageFilter 4 | { 5 | GLint shadowsUniform, highlightsUniform; 6 | } 7 | 8 | /** 9 | * 0 - 1, increase to lighten shadows. 10 | * @default 0 11 | */ 12 | @property(readwrite, nonatomic) CGFloat shadows; 13 | 14 | /** 15 | * 0 - 1, decrease to darken highlights. 16 | * @default 1 17 | */ 18 | @property(readwrite, nonatomic) CGFloat highlights; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHistogramGenerator.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageHistogramGenerator : GPUImageFilter 4 | { 5 | GLint backgroundColorUniform; 6 | } 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHueBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageHueBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageHueFilter.h: -------------------------------------------------------------------------------- 1 | 2 | #import "GPUImageFilter.h" 3 | 4 | @interface GPUImageHueFilter : GPUImageFilter 5 | { 6 | GLint hueAdjustUniform; 7 | 8 | } 9 | @property (nonatomic, readwrite) CGFloat hue; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageJFAVoronoiFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageJFAVoronoiFilter : GPUImageFilter 4 | { 5 | GLuint secondFilterOutputTexture; 6 | GLuint secondFilterFramebuffer; 7 | 8 | 9 | GLint sampleStepUniform; 10 | GLint sizeUniform; 11 | NSUInteger numPasses; 12 | 13 | } 14 | 15 | @property (nonatomic, readwrite) CGSize sizeInPixels; 16 | 17 | @end -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageKuwaharaFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Kuwahara image abstraction, drawn from the work of Kyprianidis, et. al. in their publication "Anisotropic Kuwahara Filtering on the GPU" within the GPU Pro collection. This produces an oil-painting-like image, but it is extremely computationally expensive, so it can take seconds to render a frame on an iPad 2. This might be best used for still images. 4 | */ 5 | @interface GPUImageKuwaharaFilter : GPUImageFilter 6 | { 7 | GLint radiusUniform; 8 | } 9 | 10 | /// The radius to sample from when creating the brush-stroke effect, with a default of 3. The larger the radius, the slower the filter. 11 | @property(readwrite, nonatomic) NSUInteger radius; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageKuwaharaRadius3Filter.h: -------------------------------------------------------------------------------- 1 | // 2 | // GPUImageKuwaharaRadius3Filter.h 3 | 4 | #import "GPUImageFilter.h" 5 | 6 | @interface GPUImageKuwaharaRadius3Filter : GPUImageFilter 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLanczosResamplingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassTextureSamplingFilter.h" 2 | 3 | @interface GPUImageLanczosResamplingFilter : GPUImageTwoPassTextureSamplingFilter 4 | 5 | @property(readwrite, nonatomic) CGSize originalImageSize; 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLaplacianFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3ConvolutionFilter.h" 2 | 3 | @interface GPUImageLaplacianFilter : GPUImage3x3ConvolutionFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLightenBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | /// Blends two images by taking the maximum value of each color component between the images 4 | @interface GPUImageLightenBlendFilter : GPUImageTwoInputFilter 5 | { 6 | } 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLinearBurnBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageLinearBurnBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLocalBinaryPatternFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageLocalBinaryPatternFilter : GPUImage3x3TextureSamplingFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLowPassFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | #import "GPUImageBuffer.h" 3 | #import "GPUImageDissolveBlendFilter.h" 4 | 5 | @interface GPUImageLowPassFilter : GPUImageFilterGroup 6 | { 7 | GPUImageBuffer *bufferFilter; 8 | GPUImageDissolveBlendFilter *dissolveBlendFilter; 9 | } 10 | 11 | // This controls the degree by which the previous accumulated frames are blended with the current one. This ranges from 0.0 to 1.0, with a default of 0.5. 12 | @property(readwrite, nonatomic) CGFloat filterStrength; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLuminanceRangeFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageLuminanceRangeFilter : GPUImageFilter 4 | { 5 | GLint rangeReductionUniform; 6 | } 7 | 8 | /** The degree to reduce the luminance range, from 0.0 to 1.0. Default is 0.6. 9 | */ 10 | @property(readwrite, nonatomic) CGFloat rangeReductionFactor; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLuminanceThresholdFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Pixels with a luminance above the threshold will appear white, and those below will be black 4 | */ 5 | @interface GPUImageLuminanceThresholdFilter : GPUImageFilter 6 | { 7 | GLint thresholdUniform; 8 | } 9 | 10 | /** Anything above this luminance will be white, and anything below black. Ranges from 0.0 to 1.0, with 0.5 as the default 11 | */ 12 | @property(readwrite, nonatomic) CGFloat threshold; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLuminosity.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageAverageColor.h" 2 | 3 | @interface GPUImageLuminosity : GPUImageAverageColor 4 | { 5 | GLProgram *secondFilterProgram; 6 | GLint secondFilterPositionAttribute, secondFilterTextureCoordinateAttribute; 7 | GLint secondFilterInputTextureUniform, secondFilterInputTextureUniform2; 8 | GLint secondFilterTexelWidthUniform, secondFilterTexelHeightUniform; 9 | } 10 | 11 | // This block is called on the completion of color averaging for a frame 12 | @property(nonatomic, copy) void(^luminosityProcessingFinishedBlock)(CGFloat luminosity, CMTime frameTime); 13 | 14 | - (void)extractLuminosityAtFrameTime:(CMTime)frameTime; 15 | - (void)initializeSecondaryAttributes; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageLuminosityBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageLuminosityBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMaskFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageMaskFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMedianFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageMedianFilter : GPUImage3x3TextureSamplingFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMissEtikateFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImagePicture; 4 | 5 | /** A photo filter based on Photoshop action by Miss Etikate: 6 | http://miss-etikate.deviantart.com/art/Photoshop-Action-15-120151961 7 | */ 8 | 9 | // Note: If you want to use this effect you have to add lookup_miss_etikate.png 10 | // from Resources folder to your application bundle. 11 | 12 | @interface GPUImageMissEtikateFilter : GPUImageFilterGroup 13 | { 14 | GPUImagePicture *lookupImageSource; 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMonochromeFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageMonochromeFilter : GPUImageFilter 4 | { 5 | GLint intensityUniform, filterColorUniform; 6 | } 7 | 8 | @property(readwrite, nonatomic) CGFloat intensity; 9 | @property(readwrite, nonatomic) GPUVector4 color; 10 | 11 | - (void)setColorRed:(GLfloat)redComponent green:(GLfloat)greenComponent blue:(GLfloat)blueComponent; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMotionBlurFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageMotionBlurFilter : GPUImageFilter 4 | 5 | /** A multiplier for the blur size, ranging from 0.0 on up, with a default of 1.0 6 | */ 7 | @property (readwrite, nonatomic) CGFloat blurSize; 8 | 9 | /** The angular direction of the blur, in degrees. 0 degrees by default 10 | */ 11 | @property (readwrite, nonatomic) CGFloat blurAngle; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMovieComposition.h: -------------------------------------------------------------------------------- 1 | // 2 | // GPUImageMovieComposition.h 3 | // Givit 4 | // 5 | // Created by Sean Meiners on 2013/01/25. 6 | // 7 | // 8 | 9 | #import "GPUImageMovie.h" 10 | 11 | @interface GPUImageMovieComposition : GPUImageMovie 12 | 13 | @property (readwrite, retain) AVComposition *compositon; 14 | @property (readwrite, retain) AVVideoComposition *videoComposition; 15 | @property (readwrite, retain) AVAudioMix *audioMix; 16 | 17 | - (id)initWithComposition:(AVComposition*)compositon 18 | andVideoComposition:(AVVideoComposition*)videoComposition 19 | andAudioMix:(AVAudioMix*)audioMix; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageMultiplyBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageMultiplyBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageNobleCornerDetectionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageHarrisCornerDetectionFilter.h" 2 | 3 | /** Noble corner detector 4 | 5 | This is the Noble variant on the Harris detector, from 6 | Alison Noble, "Descriptions of Image Surfaces", PhD thesis, Department of Engineering Science, Oxford University 1989, p45. 7 | */ 8 | 9 | 10 | @interface GPUImageNobleCornerDetectionFilter : GPUImageHarrisCornerDetectionFilter 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageNonMaximumSuppressionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageNonMaximumSuppressionFilter : GPUImage3x3TextureSamplingFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageNormalBlendFilter.h: -------------------------------------------------------------------------------- 1 | // Created by Jorge Garcia on 9/5/12. 2 | // 3 | 4 | #import "GPUImageTwoInputFilter.h" 5 | 6 | @interface GPUImageNormalBlendFilter : GPUImageTwoInputFilter 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageOpacityFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageOpacityFilter : GPUImageFilter 4 | { 5 | GLint opacityUniform; 6 | } 7 | 8 | // Opacity ranges from 0.0 to 1.0, with 1.0 as the normal setting 9 | @property(readwrite, nonatomic) CGFloat opacity; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageOpeningFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImageErosionFilter; 4 | @class GPUImageDilationFilter; 5 | 6 | // A filter that first performs an erosion on the red channel of an image, followed by a dilation of the same radius. 7 | // This helps to filter out smaller bright elements. 8 | 9 | @interface GPUImageOpeningFilter : GPUImageFilterGroup 10 | { 11 | GPUImageErosionFilter *erosionFilter; 12 | GPUImageDilationFilter *dilationFilter; 13 | } 14 | 15 | @property(readwrite, nonatomic) CGFloat verticalTexelSpacing, horizontalTexelSpacing; 16 | 17 | - (id)initWithRadius:(NSUInteger)radius; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageOverlayBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageOverlayBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePerlinNoiseFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImagePerlinNoiseFilter : GPUImageFilter 4 | { 5 | GLint scaleUniform, colorStartUniform, colorFinishUniform; 6 | } 7 | 8 | @property (readwrite, nonatomic) GPUVector4 colorStart; 9 | @property (readwrite, nonatomic) GPUVector4 colorFinish; 10 | 11 | @property (readwrite, nonatomic) float scale; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePinchDistortionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Creates a pinch distortion of the image 4 | */ 5 | @interface GPUImagePinchDistortionFilter : GPUImageFilter 6 | { 7 | GLint aspectRatioUniform, radiusUniform, centerUniform, scaleUniform; 8 | } 9 | 10 | /** The center about which to apply the distortion, with a default of (0.5, 0.5) 11 | */ 12 | @property(readwrite, nonatomic) CGPoint center; 13 | /** The radius of the distortion, ranging from 0.0 to 2.0, with a default of 1.0 14 | */ 15 | @property(readwrite, nonatomic) CGFloat radius; 16 | /** The amount of distortion to apply, from -2.0 to 2.0, with a default of 0.5 17 | */ 18 | @property(readwrite, nonatomic) CGFloat scale; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePixellateFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImagePixellateFilter : GPUImageFilter 4 | { 5 | GLint fractionalWidthOfAPixelUniform, aspectRatioUniform; 6 | } 7 | 8 | // The fractional width of the image to use as a size for the pixels in the resulting image. Values below one pixel width in the source image are ignored. 9 | @property(readwrite, nonatomic) CGFloat fractionalWidthOfAPixel; 10 | 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePixellatePositionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImagePixellatePositionFilter : GPUImageFilter 4 | { 5 | GLint fractionalWidthOfAPixelUniform, aspectRatioUniform, centerUniform, radiusUniform; 6 | } 7 | 8 | // The fractional width of the image to use as a size for the pixels in the resulting image. Values below one pixel width in the source image are ignored. 9 | @property(readwrite, nonatomic) CGFloat fractionalWidthOfAPixel; 10 | 11 | // the center point to start pixelation in texture coordinates, default 0.5, 0.5 12 | @property(readwrite, nonatomic) CGPoint center; 13 | 14 | // the radius (0.0 - 1.0) in which to pixelate, default 1.0 15 | @property(readwrite, nonatomic) CGFloat radius; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePoissonBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputCrossTextureSamplingFilter.h" 2 | #import "GPUImageFilterGroup.h" 3 | 4 | @interface GPUImagePoissonBlendFilter : GPUImageTwoInputCrossTextureSamplingFilter 5 | { 6 | GLint mixUniform; 7 | 8 | GPUImageFramebuffer *secondOutputFramebuffer; 9 | } 10 | 11 | // Mix ranges from 0.0 (only image 1) to 1.0 (only image 2 gradients), with 1.0 as the normal level 12 | @property(readwrite, nonatomic) CGFloat mix; 13 | 14 | // The number of times to propagate the gradients. 15 | // Crank this up to 100 or even 1000 if you want to get anywhere near convergence. Yes, this will be slow. 16 | @property(readwrite, nonatomic) NSUInteger numIterations; 17 | 18 | @end -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePolarPixellateFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImagePolarPixellateFilter : GPUImageFilter { 4 | GLint centerUniform, pixelSizeUniform; 5 | } 6 | 7 | // The center about which to apply the distortion, with a default of (0.5, 0.5) 8 | @property(readwrite, nonatomic) CGPoint center; 9 | // The amount of distortion to apply, from (-2.0, -2.0) to (2.0, 2.0), with a default of (0.05, 0.05) 10 | @property(readwrite, nonatomic) CGSize pixelSize; 11 | 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePolkaDotFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImagePixellateFilter.h" 2 | 3 | @interface GPUImagePolkaDotFilter : GPUImagePixellateFilter 4 | { 5 | GLint dotScalingUniform; 6 | } 7 | 8 | @property(readwrite, nonatomic) CGFloat dotScaling; 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePosterizeFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** This reduces the color dynamic range into the number of steps specified, leading to a cartoon-like simple shading of the image. 4 | */ 5 | @interface GPUImagePosterizeFilter : GPUImageFilter 6 | { 7 | GLint colorLevelsUniform; 8 | } 9 | 10 | /** The number of color levels to reduce the image space to. This ranges from 1 to 256, with a default of 10. 11 | */ 12 | @property(readwrite, nonatomic) NSUInteger colorLevels; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImagePrewittEdgeDetectionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageSobelEdgeDetectionFilter.h" 2 | 3 | @interface GPUImagePrewittEdgeDetectionFilter : GPUImageSobelEdgeDetectionFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageRGBClosingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImageRGBErosionFilter; 4 | @class GPUImageRGBDilationFilter; 5 | 6 | // A filter that first performs a dilation on each color channel of an image, followed by an erosion of the same radius. 7 | // This helps to filter out smaller dark elements. 8 | 9 | @interface GPUImageRGBClosingFilter : GPUImageFilterGroup 10 | { 11 | GPUImageRGBErosionFilter *erosionFilter; 12 | GPUImageRGBDilationFilter *dilationFilter; 13 | } 14 | 15 | - (id)initWithRadius:(NSUInteger)radius; 16 | 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageRGBDilationFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassTextureSamplingFilter.h" 2 | 3 | // For each pixel, this sets it to the maximum value of each color channel in a rectangular neighborhood extending out dilationRadius pixels from the center. 4 | // This extends out brighter colors, and can be used for abstraction of color images. 5 | 6 | @interface GPUImageRGBDilationFilter : GPUImageTwoPassTextureSamplingFilter 7 | 8 | // Acceptable values for dilationRadius, which sets the distance in pixels to sample out from the center, are 1, 2, 3, and 4. 9 | - (id)initWithRadius:(NSUInteger)dilationRadius; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageRGBErosionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassTextureSamplingFilter.h" 2 | 3 | // For each pixel, this sets it to the minimum value of each color channel in a rectangular neighborhood extending out dilationRadius pixels from the center. 4 | // This extends out dark features, and can be used for abstraction of color images. 5 | 6 | @interface GPUImageRGBErosionFilter : GPUImageTwoPassTextureSamplingFilter 7 | 8 | // Acceptable values for erosionRadius, which sets the distance in pixels to sample out from the center, are 1, 2, 3, and 4. 9 | - (id)initWithRadius:(NSUInteger)erosionRadius; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageRGBFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageRGBFilter : GPUImageFilter 4 | { 5 | GLint redUniform; 6 | GLint greenUniform; 7 | GLint blueUniform; 8 | } 9 | 10 | // Normalized values by which each color channel is multiplied. The range is from 0.0 up, with 1.0 as the default. 11 | @property (readwrite, nonatomic) CGFloat red; 12 | @property (readwrite, nonatomic) CGFloat green; 13 | @property (readwrite, nonatomic) CGFloat blue; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageRGBOpeningFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImageRGBErosionFilter; 4 | @class GPUImageRGBDilationFilter; 5 | 6 | // A filter that first performs an erosion on each color channel of an image, followed by a dilation of the same radius. 7 | // This helps to filter out smaller bright elements. 8 | 9 | @interface GPUImageRGBOpeningFilter : GPUImageFilterGroup 10 | { 11 | GPUImageRGBErosionFilter *erosionFilter; 12 | GPUImageRGBDilationFilter *dilationFilter; 13 | } 14 | 15 | - (id)initWithRadius:(NSUInteger)radius; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSaturationBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageSaturationBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSaturationFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Adjusts the saturation of an image 4 | */ 5 | @interface GPUImageSaturationFilter : GPUImageFilter 6 | { 7 | GLint saturationUniform; 8 | } 9 | 10 | /** Saturation ranges from 0.0 (fully desaturated) to 2.0 (max saturation), with 1.0 as the normal level 11 | */ 12 | @property(readwrite, nonatomic) CGFloat saturation; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageScreenBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageScreenBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSepiaFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageColorMatrixFilter.h" 2 | 3 | /// Simple sepia tone filter 4 | @interface GPUImageSepiaFilter : GPUImageColorMatrixFilter 5 | 6 | @end 7 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSepiaFilter.m: -------------------------------------------------------------------------------- 1 | #import "GPUImageSepiaFilter.h" 2 | 3 | @implementation GPUImageSepiaFilter 4 | 5 | - (id)init; 6 | { 7 | if (!(self = [super init])) 8 | { 9 | return nil; 10 | } 11 | 12 | self.intensity = 1.0; 13 | self.colorMatrix = (GPUMatrix4x4){ 14 | {0.3588, 0.7044, 0.1368, 0.0}, 15 | {0.2990, 0.5870, 0.1140, 0.0}, 16 | {0.2392, 0.4696, 0.0912 ,0.0}, 17 | {0,0,0,1.0}, 18 | }; 19 | 20 | return self; 21 | } 22 | 23 | @end 24 | 25 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSharpenFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageSharpenFilter : GPUImageFilter 4 | { 5 | GLint sharpnessUniform; 6 | GLint imageWidthFactorUniform, imageHeightFactorUniform; 7 | } 8 | 9 | // Sharpness ranges from -4.0 to 4.0, with 0.0 as the normal level 10 | @property(readwrite, nonatomic) CGFloat sharpness; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageShiTomasiFeatureDetectionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageHarrisCornerDetectionFilter.h" 2 | 3 | /** Shi-Tomasi feature detector 4 | 5 | This is the Shi-Tomasi feature detector, as described in 6 | J. Shi and C. Tomasi. Good features to track. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 593-600, June 1994. 7 | */ 8 | 9 | @interface GPUImageShiTomasiFeatureDetectionFilter : GPUImageHarrisCornerDetectionFilter 10 | 11 | // Compared to the Harris corner detector, the default sensitivity value for this detector is set to 1.5 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSingleComponentGaussianBlurFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageGaussianBlurFilter.h" 2 | 3 | // This filter merely performs the standard Gaussian blur on the red color channel (assuming a luminance image) 4 | 5 | @interface GPUImageSingleComponentGaussianBlurFilter : GPUImageGaussianBlurFilter 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSketchFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageSobelEdgeDetectionFilter.h" 2 | 3 | /** Converts video to look like a sketch. 4 | 5 | This is just the Sobel edge detection filter with the colors inverted. 6 | */ 7 | @interface GPUImageSketchFilter : GPUImageSobelEdgeDetectionFilter 8 | { 9 | } 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSoftEleganceFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImagePicture; 4 | 5 | /** A photo filter based on Soft Elegance Photoshop action 6 | http://h-d-stock.deviantart.com/art/H-D-A-soft-elegance-70107603 7 | */ 8 | 9 | // Note: If you want to use this effect you have to add 10 | // lookup_soft_elegance_1.png and lookup_soft_elegance_2.png 11 | // from Resources folder to your application bundle. 12 | 13 | @interface GPUImageSoftEleganceFilter : GPUImageFilterGroup 14 | { 15 | GPUImagePicture *lookupImageSource1; 16 | GPUImagePicture *lookupImageSource2; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSoftLightBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageSoftLightBlendFilter : GPUImageTwoInputFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSolarizeFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Pixels with a luminance above the threshold will invert their color 4 | */ 5 | @interface GPUImageSolarizeFilter : GPUImageFilter 6 | { 7 | GLint thresholdUniform; 8 | } 9 | 10 | /** Anything above this luminance will be inverted, and anything below normal. Ranges from 0.0 to 1.0, with 0.5 as the default 11 | */ 12 | @property(readwrite, nonatomic) CGFloat threshold; 13 | 14 | @end -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSourceOverBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageSourceOverBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSphereRefractionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageSphereRefractionFilter : GPUImageFilter 4 | { 5 | GLint radiusUniform, centerUniform, aspectRatioUniform, refractiveIndexUniform; 6 | } 7 | 8 | /// The center about which to apply the distortion, with a default of (0.5, 0.5) 9 | @property(readwrite, nonatomic) CGPoint center; 10 | /// The radius of the distortion, ranging from 0.0 to 1.0, with a default of 0.25 11 | @property(readwrite, nonatomic) CGFloat radius; 12 | /// The index of refraction for the sphere, with a default of 0.71 13 | @property(readwrite, nonatomic) CGFloat refractiveIndex; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageStretchDistortionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Creates a stretch distortion of the image 4 | */ 5 | @interface GPUImageStretchDistortionFilter : GPUImageFilter { 6 | GLint centerUniform; 7 | } 8 | 9 | /** The center about which to apply the distortion, with a default of (0.5, 0.5) 10 | */ 11 | @property(readwrite, nonatomic) CGPoint center; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSubtractBlendFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageSubtractBlendFilter : GPUImageTwoInputFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageSwirlFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | /** Creates a swirl distortion on the image 4 | */ 5 | @interface GPUImageSwirlFilter : GPUImageFilter 6 | { 7 | GLint radiusUniform, centerUniform, angleUniform; 8 | } 9 | 10 | /// The center about which to apply the distortion, with a default of (0.5, 0.5) 11 | @property(readwrite, nonatomic) CGPoint center; 12 | /// The radius of the distortion, ranging from 0.0 to 1.0, with a default of 0.5 13 | @property(readwrite, nonatomic) CGFloat radius; 14 | /// The amount of distortion to apply, with a minimum of 0.0 and a default of 1.0 15 | @property(readwrite, nonatomic) CGFloat angle; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTextureInput.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageOutput.h" 2 | 3 | @interface GPUImageTextureInput : GPUImageOutput 4 | { 5 | CGSize textureSize; 6 | } 7 | 8 | // Initialization and teardown 9 | - (id)initWithTexture:(GLuint)newInputTexture size:(CGSize)newTextureSize; 10 | 11 | // Image rendering 12 | - (void)processTextureWithFrameTime:(CMTime)frameTime; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTextureOutput.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "GPUImageContext.h" 3 | 4 | @protocol GPUImageTextureOutputDelegate; 5 | 6 | @interface GPUImageTextureOutput : NSObject 7 | { 8 | GPUImageFramebuffer *firstInputFramebuffer; 9 | } 10 | 11 | @property(readwrite, unsafe_unretained, nonatomic) id delegate; 12 | @property(readonly) GLuint texture; 13 | @property(nonatomic) BOOL enabled; 14 | 15 | - (void)doneWithTexture; 16 | 17 | @end 18 | 19 | @protocol GPUImageTextureOutputDelegate 20 | - (void)newFrameReadyFromTextureOutput:(GPUImageTextureOutput *)callbackTextureOutput; 21 | @end 22 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageThreeInputFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | extern NSString *const kGPUImageThreeInputTextureVertexShaderString; 4 | 5 | @interface GPUImageThreeInputFilter : GPUImageTwoInputFilter 6 | { 7 | GPUImageFramebuffer *thirdInputFramebuffer; 8 | 9 | GLint filterThirdTextureCoordinateAttribute; 10 | GLint filterInputTextureUniform3; 11 | GPUImageRotationMode inputRotation3; 12 | GLuint filterSourceTexture3; 13 | CMTime thirdFrameTime; 14 | 15 | BOOL hasSetSecondTexture, hasReceivedThirdFrame, thirdFrameWasVideo; 16 | BOOL thirdFrameCheckDisabled; 17 | } 18 | 19 | - (void)disableThirdFrameCheck; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageThresholdEdgeDetectionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageSobelEdgeDetectionFilter.h" 2 | 3 | @interface GPUImageThresholdEdgeDetectionFilter : GPUImageSobelEdgeDetectionFilter 4 | { 5 | GLint thresholdUniform; 6 | } 7 | 8 | /** Any edge above this threshold will be black, and anything below white. Ranges from 0.0 to 1.0, with 0.8 as the default 9 | */ 10 | @property(readwrite, nonatomic) CGFloat threshold; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageThresholdSketchFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageThresholdEdgeDetectionFilter.h" 2 | 3 | @interface GPUImageThresholdSketchFilter : GPUImageThresholdEdgeDetectionFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageThresholdedNonMaximumSuppressionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageThresholdedNonMaximumSuppressionFilter : GPUImage3x3TextureSamplingFilter 4 | { 5 | GLint thresholdUniform; 6 | } 7 | 8 | /** Any local maximum above this threshold will be white, and anything below black. Ranges from 0.0 to 1.0, with 0.8 as the default 9 | */ 10 | @property(readwrite, nonatomic) CGFloat threshold; 11 | 12 | - (id)initWithPackedColorspace:(BOOL)inputUsesPackedColorspace; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageToonFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | /** This uses Sobel edge detection to place a black border around objects, 4 | and then it quantizes the colors present in the image to give a cartoon-like quality to the image. 5 | */ 6 | @interface GPUImageToonFilter : GPUImage3x3TextureSamplingFilter 7 | { 8 | GLint thresholdUniform, quantizationLevelsUniform; 9 | } 10 | 11 | /** The threshold at which to apply the edges, default of 0.2 12 | */ 13 | @property(readwrite, nonatomic) CGFloat threshold; 14 | 15 | /** The levels of quantization for the posterization of colors within the scene, with a default of 10.0 16 | */ 17 | @property(readwrite, nonatomic) CGFloat quantizationLevels; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTwoInputCrossTextureSamplingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageTwoInputCrossTextureSamplingFilter : GPUImageTwoInputFilter 4 | { 5 | GLint texelWidthUniform, texelHeightUniform; 6 | 7 | CGFloat texelWidth, texelHeight; 8 | BOOL hasOverriddenImageSizeFactor; 9 | } 10 | 11 | // The texel width and height determines how far out to sample from this texel. By default, this is the normalized width of a pixel, but this can be overridden for different effects. 12 | @property(readwrite, nonatomic) CGFloat texelWidth; 13 | @property(readwrite, nonatomic) CGFloat texelHeight; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTwoInputFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | extern NSString *const kGPUImageTwoInputTextureVertexShaderString; 4 | 5 | @interface GPUImageTwoInputFilter : GPUImageFilter 6 | { 7 | GPUImageFramebuffer *secondInputFramebuffer; 8 | 9 | GLint filterSecondTextureCoordinateAttribute; 10 | GLint filterInputTextureUniform2; 11 | GPUImageRotationMode inputRotation2; 12 | CMTime firstFrameTime, secondFrameTime; 13 | 14 | BOOL hasSetFirstTexture, hasReceivedFirstFrame, hasReceivedSecondFrame, firstFrameWasVideo, secondFrameWasVideo; 15 | BOOL firstFrameCheckDisabled, secondFrameCheckDisabled; 16 | } 17 | 18 | - (void)disableFirstFrameCheck; 19 | - (void)disableSecondFrameCheck; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageTwoPassTextureSamplingFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoPassFilter.h" 2 | 3 | @interface GPUImageTwoPassTextureSamplingFilter : GPUImageTwoPassFilter 4 | { 5 | GLint verticalPassTexelWidthOffsetUniform, verticalPassTexelHeightOffsetUniform, horizontalPassTexelWidthOffsetUniform, horizontalPassTexelHeightOffsetUniform; 6 | GLfloat verticalPassTexelWidthOffset, verticalPassTexelHeightOffset, horizontalPassTexelWidthOffset, horizontalPassTexelHeightOffset; 7 | CGFloat _verticalTexelSpacing, _horizontalTexelSpacing; 8 | } 9 | 10 | // This sets the spacing between texels (in pixels) when sampling for the first. By default, this is 1.0 11 | @property(readwrite, nonatomic) CGFloat verticalTexelSpacing, horizontalTexelSpacing; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageUIElement.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageOutput.h" 2 | 3 | @interface GPUImageUIElement : GPUImageOutput 4 | 5 | // Initialization and teardown 6 | - (id)initWithView:(UIView *)inputView; 7 | - (id)initWithLayer:(CALayer *)inputLayer; 8 | 9 | // Layer management 10 | - (CGSize)layerSizeInPixels; 11 | - (void)update; 12 | - (void)updateUsingCurrentTime; 13 | - (void)updateWithTimestamp:(CMTime)frameTime; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageUnsharpMaskFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilterGroup.h" 2 | 3 | @class GPUImageGaussianBlurFilter; 4 | 5 | @interface GPUImageUnsharpMaskFilter : GPUImageFilterGroup 6 | { 7 | GPUImageGaussianBlurFilter *blurFilter; 8 | GPUImageFilter *unsharpMaskFilter; 9 | } 10 | // The blur radius of the underlying Gaussian blur. The default is 4.0. 11 | @property (readwrite, nonatomic) CGFloat blurRadiusInPixels; 12 | 13 | // The strength of the sharpening, from 0.0 on up, with a default of 1.0 14 | @property(readwrite, nonatomic) CGFloat intensity; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageVoronoiConsumerFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageTwoInputFilter.h" 2 | 3 | @interface GPUImageVoronoiConsumerFilter : GPUImageTwoInputFilter 4 | { 5 | GLint sizeUniform; 6 | } 7 | 8 | @property (nonatomic, readwrite) CGSize sizeInPixels; 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageWeakPixelInclusionFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImage3x3TextureSamplingFilter.h" 2 | 3 | @interface GPUImageWeakPixelInclusionFilter : GPUImage3x3TextureSamplingFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageWhiteBalanceFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | /** 3 | * Created by Alaric Cole 4 | * Allows adjustment of color temperature in terms of what an image was effectively shot in. This means higher Kelvin values will warm the image, while lower values will cool it. 5 | 6 | */ 7 | @interface GPUImageWhiteBalanceFilter : GPUImageFilter 8 | { 9 | GLint temperatureUniform, tintUniform; 10 | } 11 | //choose color temperature, in degrees Kelvin 12 | @property(readwrite, nonatomic) CGFloat temperature; 13 | 14 | //adjust tint to compensate 15 | @property(readwrite, nonatomic) CGFloat tint; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageXYDerivativeFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageSobelEdgeDetectionFilter.h" 2 | 3 | @interface GPUImageXYDerivativeFilter : GPUImageSobelEdgeDetectionFilter 4 | 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/GPUImageZoomBlurFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface GPUImageZoomBlurFilter : GPUImageFilter 4 | 5 | /** A multiplier for the blur size, ranging from 0.0 on up, with a default of 1.0 6 | */ 7 | @property (readwrite, nonatomic) CGFloat blurSize; 8 | 9 | /** The normalized center of the blur. (0.5, 0.5) by default 10 | */ 11 | @property (readwrite, nonatomic) CGPoint blurCenter; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/GPUImage/iOS/GPUImagePicture+TextureSubimage.h: -------------------------------------------------------------------------------- 1 | // 2 | // GPUImagePicture+TextureSubimage.h 3 | // GPUImage 4 | // 5 | // Created by Jack Wu on 2014-05-28. 6 | // Copyright (c) 2014 Brad Larson. All rights reserved. 7 | // 8 | 9 | #import "GPUImagePicture.h" 10 | 11 | @interface GPUImagePicture (TextureSubimage) 12 | 13 | - (void)replaceTextureWithSubimage:(UIImage*)subimage; 14 | - (void)replaceTextureWithSubCGImage:(CGImageRef)subimageSource; 15 | 16 | - (void)replaceTextureWithSubimage:(UIImage*)subimage inRect:(CGRect)subRect; 17 | - (void)replaceTextureWithSubCGImage:(CGImageRef)subimageSource inRect:(CGRect)subRect; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/Vendor/pili-librtmp/error.c: -------------------------------------------------------------------------------- 1 | #include "error.h" 2 | #include 3 | #include 4 | 5 | void RTMPError_Alloc(RTMPError *error, size_t msg_size) { 6 | RTMPError_Free(error); 7 | 8 | error->code = 0; 9 | error->message = (char *)malloc(msg_size + 1); 10 | memset(error->message, 0, msg_size); 11 | } 12 | 13 | void RTMPError_Free(RTMPError *error) { 14 | if (error) { 15 | if (error->message) { 16 | free(error->message); 17 | error->message = NULL; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/coder/LFH264VideoEncoder.h: -------------------------------------------------------------------------------- 1 | // 2 | // LFH264VideoEncoder 3 | // LFLiveKit 4 | // 5 | // Created by feng on 7/5/16. 6 | // Copyright (c) 2014 zhanqi.tv. All rights reserved. 7 | // 8 | #import "LFVideoEncoding.h" 9 | 10 | @interface LFH264VideoEncoder : NSObject { 11 | 12 | } 13 | 14 | - (void)shutdown; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/coder/LFHardwareAudioEncoder.h: -------------------------------------------------------------------------------- 1 | // 2 | // LFHardwareAudioEncoder.h 3 | // LFLiveKit 4 | // 5 | // Created by 倾慕 on 16/5/2. 6 | // Copyright © 2016年 倾慕. All rights reserved. 7 | // 8 | 9 | #import "LFAudioEncoding.h" 10 | 11 | @interface LFHardwareAudioEncoder : NSObject 12 | 13 | #pragma mark - Initializer 14 | ///============================================================================= 15 | /// @name Initializer 16 | ///============================================================================= 17 | - (nullable instancetype)init UNAVAILABLE_ATTRIBUTE; 18 | + (nullable instancetype)new UNAVAILABLE_ATTRIBUTE; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/coder/LFHardwareVideoEncoder.h: -------------------------------------------------------------------------------- 1 | // 2 | // LFHardwareVideoEncoder.h 3 | // LFLiveKit 4 | // 5 | // Created by 倾慕 on 16/5/2. 6 | // Copyright © 2016年 倾慕. All rights reserved. 7 | // 8 | 9 | #import "LFVideoEncoding.h" 10 | 11 | @interface LFHardwareVideoEncoder : NSObject 12 | 13 | #pragma mark - Initializer 14 | ///============================================================================= 15 | /// @name Initializer 16 | ///============================================================================= 17 | - (nullable instancetype)init UNAVAILABLE_ATTRIBUTE; 18 | + (nullable instancetype)new UNAVAILABLE_ATTRIBUTE; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/filter/LFGPUImageBeautyFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface LFGPUImageBeautyFilter : GPUImageFilter { 4 | } 5 | 6 | @property (nonatomic, assign) CGFloat beautyLevel; 7 | @property (nonatomic, assign) CGFloat brightLevel; 8 | @property (nonatomic, assign) CGFloat toneLevel; 9 | @end 10 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/filter/LFGPUImageEmptyFilter.h: -------------------------------------------------------------------------------- 1 | #import "GPUImageFilter.h" 2 | 3 | @interface LFGPUImageEmptyFilter : GPUImageFilter 4 | { 5 | } 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/objects/LFAudioFrame.h: -------------------------------------------------------------------------------- 1 | // 2 | // LFAudioFrame.h 3 | // LFLiveKit 4 | // 5 | // Created by 倾慕 on 16/5/2. 6 | // Copyright © 2016年 倾慕. All rights reserved. 7 | // 8 | 9 | #import "LFFrame.h" 10 | 11 | @interface LFAudioFrame : LFFrame 12 | 13 | /// flv打包中aac的header 14 | @property (nonatomic, strong) NSData *audioInfo; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/objects/LFAudioFrame.m: -------------------------------------------------------------------------------- 1 | // 2 | // LFAudioFrame.m 3 | // LFLiveKit 4 | // 5 | // Created by 倾慕 on 16/5/2. 6 | // Copyright © 2016年 倾慕. All rights reserved. 7 | // 8 | 9 | #import "LFAudioFrame.h" 10 | 11 | @implementation LFAudioFrame 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/objects/LFFrame.h: -------------------------------------------------------------------------------- 1 | // 2 | // LFFrame.h 3 | // LFLiveKit 4 | // 5 | // Created by 倾慕 on 16/5/2. 6 | // Copyright © 2016年 倾慕. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface LFFrame : NSObject 12 | 13 | @property (nonatomic, assign) uint64_t timestamp; 14 | @property (nonatomic, strong) NSData *data; 15 | ///< flv或者rtmp包头 16 | @property (nonatomic, strong) NSData *header; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/objects/LFFrame.m: -------------------------------------------------------------------------------- 1 | // 2 | // LFFrame.m 3 | // LFLiveKit 4 | // 5 | // Created by 倾慕 on 16/5/2. 6 | // Copyright © 2016年 倾慕. All rights reserved. 7 | // 8 | 9 | #import "LFFrame.h" 10 | 11 | @implementation LFFrame 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/objects/LFLiveDebug.m: -------------------------------------------------------------------------------- 1 | // 2 | // LFLiveDebug.m 3 | // LaiFeng 4 | // 5 | // Created by admin on 16/5/19. 6 | // Copyright © 2016年 live Interactive. All rights reserved. 7 | // 8 | 9 | #import "LFLiveDebug.h" 10 | 11 | @implementation LFLiveDebug 12 | 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/objects/LFLiveStreamInfo.m: -------------------------------------------------------------------------------- 1 | // 2 | // LFLiveStreamInfo.m 3 | // LFLiveKit 4 | // 5 | // Created by 倾慕 on 16/5/2. 6 | // Copyright © 2016年 倾慕. All rights reserved. 7 | // 8 | 9 | #import "LFLiveStreamInfo.h" 10 | 11 | @implementation LFLiveStreamInfo 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/objects/LFVideoFrame.h: -------------------------------------------------------------------------------- 1 | // 2 | // LFVideoFrame.h 3 | // LFLiveKit 4 | // 5 | // Created by 倾慕 on 16/5/2. 6 | // Copyright © 2016年 倾慕. All rights reserved. 7 | // 8 | 9 | #import "LFFrame.h" 10 | 11 | @interface LFVideoFrame : LFFrame 12 | 13 | @property (nonatomic, assign) BOOL isKeyFrame; 14 | @property (nonatomic, strong) NSData *sps; 15 | @property (nonatomic, strong) NSData *pps; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/objects/LFVideoFrame.m: -------------------------------------------------------------------------------- 1 | // 2 | // LFVideoFrame.m 3 | // LFLiveKit 4 | // 5 | // Created by 倾慕 on 16/5/2. 6 | // Copyright © 2016年 倾慕. All rights reserved. 7 | // 8 | 9 | #import "LFVideoFrame.h" 10 | 11 | @implementation LFVideoFrame 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/publish/LFStreamRTMPSocket.h: -------------------------------------------------------------------------------- 1 | // 2 | // LFStreamRTMPSocket.h 3 | // LaiFeng 4 | // 5 | // Created by admin on 16/5/18. 6 | // Copyright © 2016年 live Interactive. All rights reserved. 7 | // 8 | 9 | #import "LFStreamSocket.h" 10 | 11 | @interface LFStreamRTMPSocket : NSObject 12 | 13 | #pragma mark - Initializer 14 | ///============================================================================= 15 | /// @name Initializer 16 | ///============================================================================= 17 | - (nullable instancetype)init UNAVAILABLE_ATTRIBUTE; 18 | + (nullable instancetype)new UNAVAILABLE_ATTRIBUTE; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/publish/NSMutableArray+LFAdd.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSMutableArray+LFAdd.h 3 | // YYKit 4 | // 5 | // Created by admin on 16/5/20. 6 | // Copyright © 2016年 倾慕. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSMutableArray (YYAdd) 12 | 13 | /** 14 | Removes and returns the object with the lowest-valued index in the array. 15 | If the array is empty, it just returns nil. 16 | 17 | @return The first object, or nil. 18 | */ 19 | - (nullable id)lfPopFirstObject; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/LFLiveKit/LFLiveKit/publish/NSMutableArray+LFAdd.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSMutableArray+LFAdd.m 3 | // YYKit 4 | // 5 | // Created by admin on 16/5/20. 6 | // Copyright © 2016年 倾慕. All rights reserved. 7 | // 8 | 9 | #import "NSMutableArray+LFAdd.h" 10 | 11 | @implementation NSMutableArray (YYAdd) 12 | 13 | - (void)lfRemoveFirstObject { 14 | if (self.count) { 15 | [self removeObjectAtIndex:0]; 16 | } 17 | } 18 | 19 | - (id)lfPopFirstObject { 20 | id obj = nil; 21 | if (self.count) { 22 | obj = self.firstObject; 23 | [self lfRemoveFirstObject]; 24 | } 25 | return obj; 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - LFLiveKit (2.1) 3 | 4 | DEPENDENCIES: 5 | - LFLiveKit 6 | 7 | SPEC CHECKSUMS: 8 | LFLiveKit: f9a0cb5941e4ab892a7d9522348ae370b19e67e7 9 | 10 | COCOAPODS: 0.39.0 11 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildLocationStyle 6 | UseTargetSettings 7 | 8 | 9 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Target Support Files/LFLiveKit/LFLiveKit-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_LFLiveKit : NSObject 3 | @end 4 | @implementation PodsDummy_LFLiveKit 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Target Support Files/LFLiveKit/LFLiveKit-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Target Support Files/LFLiveKit/LFLiveKit.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/LFLiveKit" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/LFLiveKit" 3 | OTHER_LDFLAGS = -l"c++" -l"z" -framework "AVFoundation" -framework "AudioToolbox" -framework "Foundation" -framework "UIKit" -framework "VideoToolbox" 4 | PODS_ROOT = ${SRCROOT} 5 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Target Support Files/Pods/Pods-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods : NSObject 3 | @end 4 | @implementation PodsDummy_Pods 5 | @end 6 | -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Target Support Files/Pods/Pods.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/LFLiveKit" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/LFLiveKit" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"LFLiveKit" -l"c++" -l"z" -framework "AVFoundation" -framework "AudioToolbox" -framework "Foundation" -framework "UIKit" -framework "VideoToolbox" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /Tutorial05-LiveSample/LearnLIVE/Pods/Target Support Files/Pods/Pods.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/LFLiveKit" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/LFLiveKit" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"LFLiveKit" -l"c++" -l"z" -framework "AVFoundation" -framework "AudioToolbox" -framework "Foundation" -framework "UIKit" -framework "VideoToolbox" 5 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /Tutorial06-Stream/client/LearnVideoToolBox.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial06-Stream/client/LearnVideoToolBox.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorial06-Stream/client/LearnVideoToolBox.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Tutorial06-Stream/client/LearnVideoToolBox.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Tutorial06-Stream/client/LearnVideoToolBox.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LearnVideoToolBox.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FD315B7E1D77F89E000CC96D 16 | 17 | primary 18 | 19 | 20 | FD315B971D77F89E000CC96D 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Tutorial06-Stream/client/LearnVideoToolBox/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorial06-Stream/client/LearnVideoToolBox/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Tutorial06-Stream/client/LearnVideoToolBox/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LearnVideoToolBox 4 | // 5 | // Created by loyinglin on 16/9/1. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorial06-Stream/server-app/AudioStreamServer/AudioStreamServer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial06-Stream/server-app/AudioStreamServer/AudioStreamServer.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorial06-Stream/server-app/AudioStreamServer/AudioStreamServer.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Tutorial06-Stream/server-app/AudioStreamServer/AudioStreamServer.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Tutorial06-Stream/server-app/AudioStreamServer/AudioStreamServer.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AudioStreamServer.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FDDA853C1E8FCCFA009E7656 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Tutorial06-Stream/server-app/AudioStreamServer/AudioStreamServer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // AudioStreamServer 4 | // 5 | // Created by loyinglin on 2017/4/1. 6 | // Copyright © 2017年 loying. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : NSObject 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Tutorial06-Stream/server-app/AudioStreamServer/AudioStreamServer/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // AudioStreamServer 4 | // 5 | // Created by loyinglin on 2017/4/1. 6 | // Copyright © 2017年 loying. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 18 | // Insert code here to initialize your application 19 | } 20 | 21 | 22 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 23 | // Insert code here to tear down your application 24 | } 25 | 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Tutorial06-Stream/server-app/AudioStreamServer/AudioStreamServer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // AudioStreamServer 4 | // 5 | // Created by loyinglin on 2017/4/1. 6 | // Copyright © 2017年 loying. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : NSViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Tutorial06-Stream/server-app/AudioStreamServer/AudioStreamServer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AudioStreamServer 4 | // 5 | // Created by loyinglin on 2017/4/1. 6 | // Copyright © 2017年 loying. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, const char * argv[]) { 12 | return NSApplicationMain(argc, argv); 13 | } 14 | -------------------------------------------------------------------------------- /Tutorial06-Stream/server-binary/AudioServer/AudioServer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial06-Stream/server-binary/AudioServer/AudioServer.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Tutorial06-Stream/server-binary/AudioServer/AudioServer.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AudioServer.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FDDA85281E8FCBD5009E7656 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Tutorial06-Stream/server-binary/AudioServer/AudioServer/chenli.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorial06-Stream/server-binary/AudioServer/AudioServer/chenli.mp3 -------------------------------------------------------------------------------- /Tutorial07-AudioUnitPlayPCM/LeanAudioUnit.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial07-AudioUnitPlayPCM/LeanAudioUnit.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorial07-AudioUnitPlayPCM/LeanAudioUnit.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Tutorial07-AudioUnitPlayPCM/LeanAudioUnit.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Tutorial07-AudioUnitPlayPCM/LeanAudioUnit.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LeanAudioUnit.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FD30540A1F69334B00947271 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Tutorial07-AudioUnitPlayPCM/LeanAudioUnit/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LeanAudioUnit 4 | // 5 | // Created by loyinglin on 2017/9/13. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorial07-AudioUnitPlayPCM/LeanAudioUnit/LYPlayer.h: -------------------------------------------------------------------------------- 1 | // 2 | // LYPlayer.h 3 | // LeanAudioUnit 4 | // 5 | // Created by loyinglin on 2017/9/13. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class LYPlayer; 12 | @protocol LYPlayerDelegate 13 | 14 | - (void)onPlayToEnd:(LYPlayer *)player; 15 | 16 | @end 17 | 18 | 19 | @interface LYPlayer : NSObject 20 | 21 | @property (nonatomic, weak) id delegate; 22 | 23 | - (void)play; 24 | 25 | - (double)getCurrentTime; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /Tutorial07-AudioUnitPlayPCM/LeanAudioUnit/ViewController.h: -------------------------------------------------------------------------------- 1 | 2 | // LeanAudioUnit 3 | // 4 | // Created by loyinglin on 2017/9/13. 5 | // Copyright © 2017年 loyinglin. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | @interface ViewController : UIViewController 11 | 12 | 13 | @end 14 | 15 | -------------------------------------------------------------------------------- /Tutorial07-AudioUnitPlayPCM/LeanAudioUnit/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LeanAudioUnit 4 | // 5 | // Created by loyinglin on 2017/9/13. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorial08-AudioUnitRecordAndPlay/LearnAudioUnit.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial08-AudioUnitRecordAndPlay/LearnAudioUnit.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorial08-AudioUnitRecordAndPlay/LearnAudioUnit.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Tutorial08-AudioUnitRecordAndPlay/LearnAudioUnit.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LearnAudioUnit.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FDDA14391F5CF127009FFBF5 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Tutorial08-AudioUnitRecordAndPlay/LearnAudioUnit/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LearnAudioUnit 4 | // 5 | // Created by loyinglin on 2017/9/4. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorial08-AudioUnitRecordAndPlay/LearnAudioUnit/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LearnAudioUnit 4 | // 5 | // Created by loyinglin on 2017/9/4. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Tutorial08-AudioUnitRecordAndPlay/LearnAudioUnit/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LearnAudioUnit 4 | // 5 | // Created by loyinglin on 2017/9/4. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorial09-AudioUnitAndConverter/LeanAudioUnit/LeanAudioUnit.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial09-AudioUnitAndConverter/LeanAudioUnit/LeanAudioUnit.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorial09-AudioUnitAndConverter/LeanAudioUnit/LeanAudioUnit.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Tutorial09-AudioUnitAndConverter/LeanAudioUnit/LeanAudioUnit.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Tutorial09-AudioUnitAndConverter/LeanAudioUnit/LeanAudioUnit.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LeanAudioUnit.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FDF118181F7A4E19007CBA46 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Tutorial09-AudioUnitAndConverter/LeanAudioUnit/LeanAudioUnit/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LeanAudioUnit 4 | // 5 | // Created by loyinglin on 2017/9/26. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorial09-AudioUnitAndConverter/LeanAudioUnit/LeanAudioUnit/LYPlayer.h: -------------------------------------------------------------------------------- 1 | 2 | // LeanAudioUnit 3 | // 4 | // Created by loyinglin on 2017/9/26. 5 | // Copyright © 2017年 loyinglin. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | @class LYPlayer; 11 | @protocol LYPlayerDelegate 12 | 13 | - (void)onPlayToEnd:(LYPlayer *)player; 14 | 15 | @end 16 | 17 | 18 | @interface LYPlayer : NSObject 19 | 20 | @property (nonatomic, weak) id delegate; 21 | 22 | - (void)play; 23 | 24 | - (double)getCurrentTime; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Tutorial09-AudioUnitAndConverter/LeanAudioUnit/LeanAudioUnit/ViewController.h: -------------------------------------------------------------------------------- 1 | 2 | // LeanAudioUnit 3 | // 4 | // Created by loyinglin on 2017/9/26. 5 | // Copyright © 2017年 loyinglin. All rights reserved. 6 | // 7 | #import 8 | 9 | @interface ViewController : UIViewController 10 | 11 | 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /Tutorial09-AudioUnitAndConverter/LeanAudioUnit/LeanAudioUnit/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LeanAudioUnit 4 | // 5 | // Created by loyinglin on 2017/9/26. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorial10-AudioUnitAndExConverter/LeanAudioUnit/LeanAudioUnit.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial10-AudioUnitAndExConverter/LeanAudioUnit/LeanAudioUnit.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorial10-AudioUnitAndExConverter/LeanAudioUnit/LeanAudioUnit.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Tutorial10-AudioUnitAndExConverter/LeanAudioUnit/LeanAudioUnit.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Tutorial10-AudioUnitAndExConverter/LeanAudioUnit/LeanAudioUnit.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LeanAudioUnit.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FDF118181F7A4E19007CBA46 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Tutorial10-AudioUnitAndExConverter/LeanAudioUnit/LeanAudioUnit/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LeanAudioUnit 4 | // 5 | // Created by loyinglin on 2017/10/26. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorial10-AudioUnitAndExConverter/LeanAudioUnit/LeanAudioUnit/LYPlayer.h: -------------------------------------------------------------------------------- 1 | 2 | // LeanAudioUnit 3 | // 4 | // Created by loyinglin on 2017/10/26. 5 | // Copyright © 2017年 loyinglin. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | @class LYPlayer; 11 | @protocol LYPlayerDelegate 12 | 13 | - (void)onPlayToEnd:(LYPlayer *)player; 14 | 15 | @end 16 | 17 | 18 | @interface LYPlayer : NSObject 19 | 20 | @property (nonatomic, weak) id delegate; 21 | 22 | - (void)play; 23 | 24 | - (double)getCurrentTime; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Tutorial10-AudioUnitAndExConverter/LeanAudioUnit/LeanAudioUnit/ViewController.h: -------------------------------------------------------------------------------- 1 | 2 | // LeanAudioUnit 3 | // 4 | // Created by loyinglin on 2017/10/26. 5 | // Copyright © 2017年 loyinglin. All rights reserved. 6 | // 7 | #import 8 | 9 | @interface ViewController : UIViewController 10 | 11 | 12 | @end 13 | 14 | -------------------------------------------------------------------------------- /Tutorial10-AudioUnitAndExConverter/LeanAudioUnit/LeanAudioUnit/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LeanAudioUnit 4 | // 5 | // Created by loyinglin on 2017/10/26. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorial11-AUGraph/LearnAudioUnit.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial11-AUGraph/LearnAudioUnit.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorial11-AUGraph/LearnAudioUnit.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Tutorial11-AUGraph/LearnAudioUnit.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LearnAudioUnit.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | FDDA14391F5CF127009FFBF5 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Tutorial11-AUGraph/LearnAudioUnit/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LearnAudioUnit 4 | // 5 | // Created by loyinglin on 2017/9/4. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorial11-AUGraph/LearnAudioUnit/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /Tutorial11-AUGraph/LearnAudioUnit/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LearnAudioUnit 4 | // 5 | // Created by loyinglin on 2017/9/4. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Tutorial11-AUGraph/LearnAudioUnit/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LearnAudioUnit 4 | // 5 | // Created by loyinglin on 2017/9/4. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorial12-AudioUnitWithCMSampleBuffer/LearnAudioUnit/LearnAudioUnit.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorial12-AudioUnitWithCMSampleBuffer/LearnAudioUnit/LearnAudioUnit.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Tutorial12-AudioUnitWithCMSampleBuffer/LearnAudioUnit/LearnAudioUnit.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LearnAudioUnit.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Tutorial12-AudioUnitWithCMSampleBuffer/LearnAudioUnit/LearnAudioUnit/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LearnAudioUnit 4 | // 5 | // Created by loyinglin on 2017/12/6. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorial12-AudioUnitWithCMSampleBuffer/LearnAudioUnit/LearnAudioUnit/GL/LYOpenGLView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // LearnOpenGLESWithGPUImage 4 | // 5 | // Created by loyinglin on 16/5/10. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import 12 | 13 | @interface LYOpenGLView : UIView 14 | 15 | 16 | @property (nonatomic , assign) BOOL isFullYUVRange; 17 | 18 | - (void)setupGL; 19 | - (void)displayPixelBuffer:(CVPixelBufferRef)pixelBuffer; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Tutorial12-AudioUnitWithCMSampleBuffer/LearnAudioUnit/LearnAudioUnit/GL/Shader.vsh: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // LearnOpenGLESWithGPUImage 4 | // 5 | // Created by loyinglin on 16/5/10. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | attribute vec4 position; 10 | attribute vec2 texCoord; 11 | 12 | varying vec2 texCoordVarying; 13 | 14 | void main() 15 | { 16 | gl_Position = position; 17 | texCoordVarying = texCoord; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Tutorial12-AudioUnitWithCMSampleBuffer/LearnAudioUnit/LearnAudioUnit/LYPlayer.h: -------------------------------------------------------------------------------- 1 | // 2 | // LYPlayer.h 3 | // LeanAudioUnit 4 | // 5 | // Created by loyinglin on 2017/12/6. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import 12 | 13 | @class LYPlayer; 14 | @protocol LYPlayerDelegate 15 | 16 | - (AudioBufferList *)onRequestAudioData; 17 | - (void)onPlayToEnd:(LYPlayer *)player; 18 | 19 | @end 20 | 21 | 22 | @interface LYPlayer : NSObject 23 | 24 | @property (nonatomic, weak) id delegate; 25 | 26 | - (void)prepareForPlayWithOutputASBD:(AudioStreamBasicDescription)outputFormat; 27 | 28 | - (void)play; 29 | 30 | - (double)getCurrentTime; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Tutorial12-AudioUnitWithCMSampleBuffer/LearnAudioUnit/LearnAudioUnit/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LearnAudioUnit 4 | // 5 | // Created by loyinglin on 2017/12/6. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Tutorial12-AudioUnitWithCMSampleBuffer/LearnAudioUnit/LearnAudioUnit/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LearnAudioUnit 4 | // 5 | // Created by loyinglin on 2017/12/6. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/FFmpeg.pages: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorialtmp-FFmpeg/FFmpeg.pages -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/LearnAudioUnit/LearnAudioUnit.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/LearnAudioUnit/LearnAudioUnit.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/LearnAudioUnit/LearnAudioUnit.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/Tutorialtmp-FFmpeg/LearnAudioUnit/LearnAudioUnit.xcodeproj/project.xcworkspace/xcuserdata/loyinglin.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/LearnAudioUnit/LearnAudioUnit.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/LearnAudioUnit/LearnAudioUnit.xcodeproj/xcuserdata/loyinglin.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | LearnAudioUnit.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/LearnAudioUnit/LearnAudioUnit/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // LearnAudioUnit 4 | // 5 | // Created by loyinglin on 2017/12/6. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/LearnAudioUnit/LearnAudioUnit/GL/LYOpenGLView.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // LearnOpenGLESWithGPUImage 4 | // 5 | // Created by loyinglin on 16/5/10. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import 12 | 13 | @interface LYOpenGLView : UIView 14 | 15 | 16 | @property (nonatomic , assign) BOOL isFullYUVRange; 17 | 18 | - (void)setupGL; 19 | - (void)displayPixelBuffer:(CVPixelBufferRef)pixelBuffer; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/LearnAudioUnit/LearnAudioUnit/GL/Shader.vsh: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // LearnOpenGLESWithGPUImage 4 | // 5 | // Created by loyinglin on 16/5/10. 6 | // Copyright © 2016年 loyinglin. All rights reserved. 7 | // 8 | 9 | attribute vec4 position; 10 | attribute vec2 texCoord; 11 | 12 | varying vec2 texCoordVarying; 13 | 14 | void main() 15 | { 16 | gl_Position = position; 17 | texCoordVarying = texCoord; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/LearnAudioUnit/LearnAudioUnit/LYPlayer.h: -------------------------------------------------------------------------------- 1 | // 2 | // LYPlayer.h 3 | // LeanAudioUnit 4 | // 5 | // Created by loyinglin on 2017/12/6. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import 12 | 13 | @class LYPlayer; 14 | @protocol LYPlayerDelegate 15 | 16 | - (AudioBufferList *)onRequestAudioData; 17 | - (void)onPlayToEnd:(LYPlayer *)player; 18 | 19 | @end 20 | 21 | 22 | @interface LYPlayer : NSObject 23 | 24 | @property (nonatomic, weak) id delegate; 25 | 26 | - (void)prepareForPlayWithOutputASBD:(AudioStreamBasicDescription)outputFormat; 27 | 28 | - (void)play; 29 | 30 | - (double)getCurrentTime; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/LearnAudioUnit/LearnAudioUnit/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // LearnAudioUnit 4 | // 5 | // Created by loyinglin on 2017/12/6. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/LearnAudioUnit/LearnAudioUnit/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // LearnAudioUnit 4 | // 5 | // Created by loyinglin on 2017/12/6. 6 | // Copyright © 2017年 loyinglin. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tutorialtmp-FFmpeg/LearnAudioUnit/readme.md: -------------------------------------------------------------------------------- 1 | 因为大小的原因,FFmpeg的库不上传到库中。 2 | 需要FFmpeg-iOS库的可用链接 3 | https://share.weiyun.com/86c776660ebd21ea03a69d2a6f51afed 4 | 5 | vy6 加 vjy (6个字母,拼一下) 6 | 7 | 文件夹放在LearnAudioUnit下面,与GL文件夹同级 8 | -------------------------------------------------------------------------------- /pdf/AAC/AAC解码算法原理详解.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/pdf/AAC/AAC解码算法原理详解.doc -------------------------------------------------------------------------------- /pdf/AAC/AAC解码算法原理详解.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/pdf/AAC/AAC解码算法原理详解.pdf -------------------------------------------------------------------------------- /pdf/H264/H.264标准详细图解.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/loyinglin/LearnVideoToolBox/5c294d7c9ff50af89060d01399ea2d4cd38c31d8/pdf/H264/H.264标准详细图解.pdf --------------------------------------------------------------------------------