├── .gitignore
├── README.md
├── app
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── zxj
│ │ └── android
│ │ └── source
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── cpp
│ │ ├── CMakeLists.txt
│ │ ├── include
│ │ │ ├── android
│ │ │ │ ├── asset_manager.h
│ │ │ │ ├── asset_manager_jni.h
│ │ │ │ ├── bitmap.h
│ │ │ │ ├── configuration.h
│ │ │ │ ├── input.h
│ │ │ │ ├── keycodes.h
│ │ │ │ ├── looper.h
│ │ │ │ ├── native_activity.h
│ │ │ │ ├── native_window.h
│ │ │ │ ├── native_window_jni.h
│ │ │ │ ├── obb.h
│ │ │ │ ├── rect.h
│ │ │ │ ├── sensor.h
│ │ │ │ ├── storage_manager.h
│ │ │ │ └── window.h
│ │ │ ├── cpustats
│ │ │ │ ├── CentralTendencyStatistics.h
│ │ │ │ ├── README.txt
│ │ │ │ └── ThreadCpuUsage.h
│ │ │ ├── cutils
│ │ │ │ ├── atomic-arm.h
│ │ │ │ ├── atomic-arm64.h
│ │ │ │ ├── atomic-inline.h
│ │ │ │ ├── atomic-mips.h
│ │ │ │ ├── atomic-mips64.h
│ │ │ │ ├── atomic-x86.h
│ │ │ │ ├── atomic-x86_64.h
│ │ │ │ ├── atomic.h
│ │ │ │ ├── bitops.h
│ │ │ │ ├── log.h
│ │ │ │ ├── properties.h
│ │ │ │ └── sched_policy.h
│ │ │ ├── gui
│ │ │ │ ├── BitTube.h
│ │ │ │ ├── BufferItemConsumer.h
│ │ │ │ ├── BufferQueue.h
│ │ │ │ ├── ConsumerBase.h
│ │ │ │ ├── CpuConsumer.h
│ │ │ │ ├── DisplayEventReceiver.h
│ │ │ │ ├── DummyConsumer.h
│ │ │ │ ├── GuiConfig.h
│ │ │ │ ├── IDisplayEventConnection.h
│ │ │ │ ├── IGraphicBufferAlloc.h
│ │ │ │ ├── ISensorEventConnection.h
│ │ │ │ ├── ISensorServer.h
│ │ │ │ ├── ISurface.h
│ │ │ │ ├── ISurfaceComposer.h
│ │ │ │ ├── ISurfaceComposerClient.h
│ │ │ │ ├── ISurfaceTexture.h
│ │ │ │ ├── Sensor.h
│ │ │ │ ├── SensorEventQueue.h
│ │ │ │ ├── SensorManager.h
│ │ │ │ ├── Surface.h
│ │ │ │ ├── SurfaceComposerClient.h
│ │ │ │ ├── SurfaceTexture.h
│ │ │ │ └── SurfaceTextureClient.h
│ │ │ ├── media
│ │ │ │ ├── AudioBufferProvider.h
│ │ │ │ ├── AudioEffect.h
│ │ │ │ ├── AudioParameter.h
│ │ │ │ ├── AudioRecord.h
│ │ │ │ ├── AudioSystem.h
│ │ │ │ ├── AudioTrack.h
│ │ │ │ ├── EffectsFactoryApi.h
│ │ │ │ ├── ExtendedAudioBufferProvider.h
│ │ │ │ ├── IAudioFlinger.h
│ │ │ │ ├── IAudioFlingerClient.h
│ │ │ │ ├── IAudioPolicyService.h
│ │ │ │ ├── IAudioRecord.h
│ │ │ │ ├── IAudioTrack.h
│ │ │ │ ├── ICrypto.h
│ │ │ │ ├── IEffect.h
│ │ │ │ ├── IEffectClient.h
│ │ │ │ ├── IHDCP.h
│ │ │ │ ├── IMediaDeathNotifier.h
│ │ │ │ ├── IMediaMetadataRetriever.h
│ │ │ │ ├── IMediaPlayer.h
│ │ │ │ ├── IMediaPlayerClient.h
│ │ │ │ ├── IMediaPlayerService.h
│ │ │ │ ├── IMediaRecorder.h
│ │ │ │ ├── IMediaRecorderClient.h
│ │ │ │ ├── IOMX.h
│ │ │ │ ├── IRemoteDisplay.h
│ │ │ │ ├── IRemoteDisplayClient.h
│ │ │ │ ├── IStreamSource.h
│ │ │ │ ├── JetPlayer.h
│ │ │ │ ├── MediaMetadataRetrieverInterface.h
│ │ │ │ ├── MediaPlayerInterface.h
│ │ │ │ ├── MediaProfiles.h
│ │ │ │ ├── MediaRecorderBase.h
│ │ │ │ ├── MemoryLeakTrackUtil.h
│ │ │ │ ├── Metadata.h
│ │ │ │ ├── SoundPool.h
│ │ │ │ ├── ToneGenerator.h
│ │ │ │ ├── Visualizer.h
│ │ │ │ ├── editor
│ │ │ │ │ └── II420ColorConverter.h
│ │ │ │ ├── hardware
│ │ │ │ │ ├── CryptoAPI.h
│ │ │ │ │ ├── HDCPAPI.h
│ │ │ │ │ ├── HardwareAPI.h
│ │ │ │ │ ├── MetadataBufferType.h
│ │ │ │ │ └── OMXPluginBase.h
│ │ │ │ ├── mediametadataretriever.h
│ │ │ │ ├── mediaplayer.h
│ │ │ │ ├── mediarecorder.h
│ │ │ │ ├── mediascanner.h
│ │ │ │ ├── nbaio
│ │ │ │ │ ├── AudioBufferProviderSource.h
│ │ │ │ │ ├── AudioStreamInSource.h
│ │ │ │ │ ├── AudioStreamOutSink.h
│ │ │ │ │ ├── LibsndfileSink.h
│ │ │ │ │ ├── LibsndfileSource.h
│ │ │ │ │ ├── MonoPipe.h
│ │ │ │ │ ├── MonoPipeReader.h
│ │ │ │ │ ├── NBAIO.h
│ │ │ │ │ ├── Pipe.h
│ │ │ │ │ ├── PipeReader.h
│ │ │ │ │ ├── SourceAudioBufferProvider.h
│ │ │ │ │ └── roundup.h
│ │ │ │ ├── openmax
│ │ │ │ │ ├── OMX_Audio.h
│ │ │ │ │ ├── OMX_Component.h
│ │ │ │ │ ├── OMX_ContentPipe.h
│ │ │ │ │ ├── OMX_Core.h
│ │ │ │ │ ├── OMX_IVCommon.h
│ │ │ │ │ ├── OMX_Image.h
│ │ │ │ │ ├── OMX_Index.h
│ │ │ │ │ ├── OMX_Other.h
│ │ │ │ │ ├── OMX_Types.h
│ │ │ │ │ └── OMX_Video.h
│ │ │ │ └── stagefright
│ │ │ │ │ ├── AACWriter.h
│ │ │ │ │ ├── ACodec.h
│ │ │ │ │ ├── AMRWriter.h
│ │ │ │ │ ├── AudioPlayer.h
│ │ │ │ │ ├── AudioSource.h
│ │ │ │ │ ├── CameraSource.h
│ │ │ │ │ ├── CameraSourceTimeLapse.h
│ │ │ │ │ ├── ColorConverter.h
│ │ │ │ │ ├── DataSource.h
│ │ │ │ │ ├── FileSource.h
│ │ │ │ │ ├── JPEGSource.h
│ │ │ │ │ ├── MPEG2TSWriter.h
│ │ │ │ │ ├── MPEG4Writer.h
│ │ │ │ │ ├── MediaBuffer.h
│ │ │ │ │ ├── MediaBufferGroup.h
│ │ │ │ │ ├── MediaCodec.h
│ │ │ │ │ ├── MediaCodecList.h
│ │ │ │ │ ├── MediaDefs.h
│ │ │ │ │ ├── MediaErrors.h
│ │ │ │ │ ├── MediaExtractor.h
│ │ │ │ │ ├── MediaSource.h
│ │ │ │ │ ├── MediaWriter.h
│ │ │ │ │ ├── MetaData.h
│ │ │ │ │ ├── NativeWindowWrapper.h
│ │ │ │ │ ├── NuMediaExtractor.h
│ │ │ │ │ ├── OMXClient.h
│ │ │ │ │ ├── OMXCodec.h
│ │ │ │ │ ├── SkipCutBuffer.h
│ │ │ │ │ ├── StagefrightMediaScanner.h
│ │ │ │ │ ├── SurfaceMediaSource.h
│ │ │ │ │ ├── TimeSource.h
│ │ │ │ │ ├── Utils.h
│ │ │ │ │ ├── YUVCanvas.h
│ │ │ │ │ ├── YUVImage.h
│ │ │ │ │ ├── foundation
│ │ │ │ │ ├── AAtomizer.h
│ │ │ │ │ ├── ABase.h
│ │ │ │ │ ├── ABitReader.h
│ │ │ │ │ ├── ABuffer.h
│ │ │ │ │ ├── ADebug.h
│ │ │ │ │ ├── AHandler.h
│ │ │ │ │ ├── AHandlerReflector.h
│ │ │ │ │ ├── AHierarchicalStateMachine.h
│ │ │ │ │ ├── ALooper.h
│ │ │ │ │ ├── ALooperRoster.h
│ │ │ │ │ ├── AMessage.h
│ │ │ │ │ ├── AString.h
│ │ │ │ │ ├── base64.h
│ │ │ │ │ └── hexdump.h
│ │ │ │ │ └── timedtext
│ │ │ │ │ └── TimedTextDriver.h
│ │ │ ├── powermanager
│ │ │ │ ├── IPowerManager.h
│ │ │ │ └── PowerManager.h
│ │ │ ├── private
│ │ │ │ ├── binder
│ │ │ │ │ ├── Static.h
│ │ │ │ │ └── binder_module.h
│ │ │ │ ├── gui
│ │ │ │ │ ├── ComposerService.h
│ │ │ │ │ └── LayerState.h
│ │ │ │ ├── ui
│ │ │ │ │ └── RegionHelper.h
│ │ │ │ └── utils
│ │ │ │ │ └── Static.h
│ │ │ ├── ui
│ │ │ │ ├── ANativeObjectBase.h
│ │ │ │ ├── DisplayInfo.h
│ │ │ │ ├── Fence.h
│ │ │ │ ├── FramebufferNativeWindow.h
│ │ │ │ ├── GraphicBuffer.h
│ │ │ │ ├── GraphicBufferAllocator.h
│ │ │ │ ├── GraphicBufferMapper.h
│ │ │ │ ├── PixelFormat.h
│ │ │ │ ├── Point.h
│ │ │ │ ├── Rect.h
│ │ │ │ ├── Region.h
│ │ │ │ └── UiConfig.h
│ │ │ └── utils
│ │ │ │ ├── AndroidThreads.h
│ │ │ │ ├── Atomic.h
│ │ │ │ ├── BasicHashtable.h
│ │ │ │ ├── BitSet.h
│ │ │ │ ├── BlobCache.h
│ │ │ │ ├── BufferedTextOutput.h
│ │ │ │ ├── ByteOrder.h
│ │ │ │ ├── CallStack.h
│ │ │ │ ├── Compat.h
│ │ │ │ ├── Condition.h
│ │ │ │ ├── Debug.h
│ │ │ │ ├── Endian.h
│ │ │ │ ├── Errors.h
│ │ │ │ ├── FileMap.h
│ │ │ │ ├── Flattenable.h
│ │ │ │ ├── Functor.h
│ │ │ │ ├── GenerationCache.h
│ │ │ │ ├── KeyedVector.h
│ │ │ │ ├── LinearTransform.h
│ │ │ │ ├── List.h
│ │ │ │ ├── Log.h
│ │ │ │ ├── Looper.h
│ │ │ │ ├── Mutex.h
│ │ │ │ ├── PropertyMap.h
│ │ │ │ ├── RWLock.h
│ │ │ │ ├── RefBase.h
│ │ │ │ ├── SharedBuffer.h
│ │ │ │ ├── Singleton.h
│ │ │ │ ├── SortedVector.h
│ │ │ │ ├── StopWatch.h
│ │ │ │ ├── String16.h
│ │ │ │ ├── String8.h
│ │ │ │ ├── StringArray.h
│ │ │ │ ├── StrongPointer.h
│ │ │ │ ├── SystemClock.h
│ │ │ │ ├── TextOutput.h
│ │ │ │ ├── Thread.h
│ │ │ │ ├── ThreadDefs.h
│ │ │ │ ├── Timers.h
│ │ │ │ ├── Tokenizer.h
│ │ │ │ ├── Trace.h
│ │ │ │ ├── TypeHelpers.h
│ │ │ │ ├── Unicode.h
│ │ │ │ ├── UniquePtr.h
│ │ │ │ ├── Vector.h
│ │ │ │ ├── VectorImpl.h
│ │ │ │ ├── WorkQueue.h
│ │ │ │ ├── ZipFileCRO.h
│ │ │ │ ├── ZipFileRO.h
│ │ │ │ ├── ZipUtils.h
│ │ │ │ ├── ashmem.h
│ │ │ │ ├── misc.h
│ │ │ │ └── threads.h
│ │ ├── libstagefright
│ │ │ ├── AACExtractor.cpp
│ │ │ ├── AACWriter.cpp
│ │ │ ├── ACodec.cpp
│ │ │ ├── AMRExtractor.cpp
│ │ │ ├── AMRWriter.cpp
│ │ │ ├── AVIExtractor.cpp
│ │ │ ├── Android.mk
│ │ │ ├── AudioPlayer.cpp
│ │ │ ├── AudioSource.cpp
│ │ │ ├── AwesomePlayer.cpp
│ │ │ ├── CameraSource.cpp
│ │ │ ├── CameraSourceTimeLapse.cpp
│ │ │ ├── DRMExtractor.cpp
│ │ │ ├── DataSource.cpp
│ │ │ ├── ESDS.cpp
│ │ │ ├── FLACExtractor.cpp
│ │ │ ├── FileSource.cpp
│ │ │ ├── FragmentedMP4Extractor.cpp
│ │ │ ├── HTTPBase.cpp
│ │ │ ├── JPEGSource.cpp
│ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ ├── MP3Extractor.cpp
│ │ │ ├── MPEG2TSWriter.cpp
│ │ │ ├── MPEG4Extractor.cpp
│ │ │ ├── MPEG4Writer.cpp
│ │ │ ├── MediaBuffer.cpp
│ │ │ ├── MediaBufferGroup.cpp
│ │ │ ├── MediaCodec.cpp
│ │ │ ├── MediaCodecList.cpp
│ │ │ ├── MediaDefs.cpp
│ │ │ ├── MediaExtractor.cpp
│ │ │ ├── MediaSource.cpp
│ │ │ ├── MetaData.cpp
│ │ │ ├── NOTICE
│ │ │ ├── NuCachedSource2.cpp
│ │ │ ├── NuMediaExtractor.cpp
│ │ │ ├── OMXClient.cpp
│ │ │ ├── OMXCodec.cpp
│ │ │ ├── OggExtractor.cpp
│ │ │ ├── SampleIterator.cpp
│ │ │ ├── SampleTable.cpp
│ │ │ ├── SkipCutBuffer.cpp
│ │ │ ├── StagefrightMediaScanner.cpp
│ │ │ ├── StagefrightMetadataRetriever.cpp
│ │ │ ├── SurfaceMediaSource.cpp
│ │ │ ├── ThrottledSource.cpp
│ │ │ ├── TimeSource.cpp
│ │ │ ├── TimedEventQueue.cpp
│ │ │ ├── Utils.cpp
│ │ │ ├── VBRISeeker.cpp
│ │ │ ├── WAVExtractor.cpp
│ │ │ ├── WVMExtractor.cpp
│ │ │ ├── XINGSeeker.cpp
│ │ │ ├── avc_utils.cpp
│ │ │ ├── chromium_http
│ │ │ │ ├── Android.mk
│ │ │ │ ├── ChromiumHTTPDataSource.cpp
│ │ │ │ ├── DataUriSource.cpp
│ │ │ │ ├── chromium_http_stub.cpp
│ │ │ │ ├── support.cpp
│ │ │ │ └── support.h
│ │ │ ├── chromium_http_stub.cpp
│ │ │ ├── codecs
│ │ │ │ ├── Android.mk
│ │ │ │ ├── aacdec
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ ├── NOTICE
│ │ │ │ │ ├── SoftAAC2.cpp
│ │ │ │ │ └── SoftAAC2.h
│ │ │ │ ├── aacenc
│ │ │ │ │ ├── AACEncoder.cpp
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ ├── NOTICE
│ │ │ │ │ ├── SampleCode
│ │ │ │ │ │ ├── AAC_E_SAMPLES.c
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ └── NOTICE
│ │ │ │ │ ├── SoftAACEncoder.cpp
│ │ │ │ │ ├── SoftAACEncoder.h
│ │ │ │ │ ├── SoftAACEncoder2.cpp
│ │ │ │ │ ├── SoftAACEncoder2.h
│ │ │ │ │ ├── basic_op
│ │ │ │ │ │ ├── basic_op.h
│ │ │ │ │ │ ├── basicop2.c
│ │ │ │ │ │ ├── oper_32b.c
│ │ │ │ │ │ ├── oper_32b.h
│ │ │ │ │ │ ├── typedef.h
│ │ │ │ │ │ └── typedefs.h
│ │ │ │ │ ├── doc
│ │ │ │ │ │ └── voAACEncoderSDK.pdf
│ │ │ │ │ ├── inc
│ │ │ │ │ │ ├── aac_rom.h
│ │ │ │ │ │ ├── aacenc_core.h
│ │ │ │ │ │ ├── adj_thr.h
│ │ │ │ │ │ ├── adj_thr_data.h
│ │ │ │ │ │ ├── band_nrg.h
│ │ │ │ │ │ ├── bit_cnt.h
│ │ │ │ │ │ ├── bitbuffer.h
│ │ │ │ │ │ ├── bitenc.h
│ │ │ │ │ │ ├── block_switch.h
│ │ │ │ │ │ ├── channel_map.h
│ │ │ │ │ │ ├── config.h
│ │ │ │ │ │ ├── dyn_bits.h
│ │ │ │ │ │ ├── grp_data.h
│ │ │ │ │ │ ├── interface.h
│ │ │ │ │ │ ├── line_pe.h
│ │ │ │ │ │ ├── memalign.h
│ │ │ │ │ │ ├── ms_stereo.h
│ │ │ │ │ │ ├── pre_echo_control.h
│ │ │ │ │ │ ├── psy_configuration.h
│ │ │ │ │ │ ├── psy_const.h
│ │ │ │ │ │ ├── psy_data.h
│ │ │ │ │ │ ├── psy_main.h
│ │ │ │ │ │ ├── qc_data.h
│ │ │ │ │ │ ├── qc_main.h
│ │ │ │ │ │ ├── quantize.h
│ │ │ │ │ │ ├── sf_estim.h
│ │ │ │ │ │ ├── spreading.h
│ │ │ │ │ │ ├── stat_bits.h
│ │ │ │ │ │ ├── tns.h
│ │ │ │ │ │ ├── tns_func.h
│ │ │ │ │ │ ├── tns_param.h
│ │ │ │ │ │ └── transform.h
│ │ │ │ │ ├── patent_disclaimer.txt
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── aac_rom.c
│ │ │ │ │ │ ├── aacenc.c
│ │ │ │ │ │ ├── aacenc_core.c
│ │ │ │ │ │ ├── adj_thr.c
│ │ │ │ │ │ ├── asm
│ │ │ │ │ │ ├── ARMV5E
│ │ │ │ │ │ │ ├── AutoCorrelation_v5.s
│ │ │ │ │ │ │ ├── CalcWindowEnergy_v5.s
│ │ │ │ │ │ │ ├── PrePostMDCT_v5.s
│ │ │ │ │ │ │ ├── R4R8First_v5.s
│ │ │ │ │ │ │ ├── Radix4FFT_v5.s
│ │ │ │ │ │ │ └── band_nrg_v5.s
│ │ │ │ │ │ └── ARMV7
│ │ │ │ │ │ │ ├── PrePostMDCT_v7.s
│ │ │ │ │ │ │ ├── R4R8First_v7.s
│ │ │ │ │ │ │ └── Radix4FFT_v7.s
│ │ │ │ │ │ ├── band_nrg.c
│ │ │ │ │ │ ├── bit_cnt.c
│ │ │ │ │ │ ├── bitbuffer.c
│ │ │ │ │ │ ├── bitenc.c
│ │ │ │ │ │ ├── block_switch.c
│ │ │ │ │ │ ├── channel_map.c
│ │ │ │ │ │ ├── dyn_bits.c
│ │ │ │ │ │ ├── grp_data.c
│ │ │ │ │ │ ├── interface.c
│ │ │ │ │ │ ├── line_pe.c
│ │ │ │ │ │ ├── memalign.c
│ │ │ │ │ │ ├── ms_stereo.c
│ │ │ │ │ │ ├── pre_echo_control.c
│ │ │ │ │ │ ├── psy_configuration.c
│ │ │ │ │ │ ├── psy_main.c
│ │ │ │ │ │ ├── qc_main.c
│ │ │ │ │ │ ├── quantize.c
│ │ │ │ │ │ ├── sf_estim.c
│ │ │ │ │ │ ├── spreading.c
│ │ │ │ │ │ ├── stat_bits.c
│ │ │ │ │ │ ├── tns.c
│ │ │ │ │ │ └── transform.c
│ │ │ │ ├── amrnb
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── common
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ ├── NOTICE
│ │ │ │ │ │ ├── include
│ │ │ │ │ │ │ ├── abs_s.h
│ │ │ │ │ │ │ ├── add.h
│ │ │ │ │ │ │ ├── az_lsp.h
│ │ │ │ │ │ │ ├── basic_op.h
│ │ │ │ │ │ │ ├── basic_op_arm_gcc_v5.h
│ │ │ │ │ │ │ ├── basic_op_arm_v5.h
│ │ │ │ │ │ │ ├── basic_op_c_equivalent.h
│ │ │ │ │ │ │ ├── basicop_malloc.h
│ │ │ │ │ │ │ ├── bitno_tab.h
│ │ │ │ │ │ │ ├── bitreorder_tab.h
│ │ │ │ │ │ │ ├── bits2prm.h
│ │ │ │ │ │ │ ├── bytesused.h
│ │ │ │ │ │ │ ├── cnst.h
│ │ │ │ │ │ │ ├── cnst_vad.h
│ │ │ │ │ │ │ ├── copy.h
│ │ │ │ │ │ │ ├── d_gain_c.h
│ │ │ │ │ │ │ ├── d_gain_p.h
│ │ │ │ │ │ │ ├── d_plsf.h
│ │ │ │ │ │ │ ├── div_32.h
│ │ │ │ │ │ │ ├── div_s.h
│ │ │ │ │ │ │ ├── dtx_common_def.h
│ │ │ │ │ │ │ ├── extract_h.h
│ │ │ │ │ │ │ ├── extract_l.h
│ │ │ │ │ │ │ ├── frame.h
│ │ │ │ │ │ │ ├── frame_type_3gpp.h
│ │ │ │ │ │ │ ├── gc_pred.h
│ │ │ │ │ │ │ ├── gmed_n.h
│ │ │ │ │ │ │ ├── gsm_amr_typedefs.h
│ │ │ │ │ │ │ ├── int_lpc.h
│ │ │ │ │ │ │ ├── int_lsf.h
│ │ │ │ │ │ │ ├── inv_sqrt.h
│ │ │ │ │ │ │ ├── l_abs.h
│ │ │ │ │ │ │ ├── l_add.h
│ │ │ │ │ │ │ ├── l_add_c.h
│ │ │ │ │ │ │ ├── l_comp.h
│ │ │ │ │ │ │ ├── l_deposit_h.h
│ │ │ │ │ │ │ ├── l_deposit_l.h
│ │ │ │ │ │ │ ├── l_extract.h
│ │ │ │ │ │ │ ├── l_mac.h
│ │ │ │ │ │ │ ├── l_msu.h
│ │ │ │ │ │ │ ├── l_mult.h
│ │ │ │ │ │ │ ├── l_negate.h
│ │ │ │ │ │ │ ├── l_shl.h
│ │ │ │ │ │ │ ├── l_shr.h
│ │ │ │ │ │ │ ├── l_shr_r.h
│ │ │ │ │ │ │ ├── l_sub.h
│ │ │ │ │ │ │ ├── log2.h
│ │ │ │ │ │ │ ├── log2_norm.h
│ │ │ │ │ │ │ ├── lsfwt.h
│ │ │ │ │ │ │ ├── lsp.h
│ │ │ │ │ │ │ ├── lsp_az.h
│ │ │ │ │ │ │ ├── lsp_lsf.h
│ │ │ │ │ │ │ ├── lsp_tab.h
│ │ │ │ │ │ │ ├── mac_32.h
│ │ │ │ │ │ │ ├── mode.h
│ │ │ │ │ │ │ ├── mpy_32.h
│ │ │ │ │ │ │ ├── mpy_32_16.h
│ │ │ │ │ │ │ ├── mult.h
│ │ │ │ │ │ │ ├── mult_r.h
│ │ │ │ │ │ │ ├── n_proc.h
│ │ │ │ │ │ │ ├── negate.h
│ │ │ │ │ │ │ ├── norm_l.h
│ │ │ │ │ │ │ ├── norm_s.h
│ │ │ │ │ │ │ ├── oper_32b.h
│ │ │ │ │ │ │ ├── p_ol_wgh.h
│ │ │ │ │ │ │ ├── pow2.h
│ │ │ │ │ │ │ ├── pred_lt.h
│ │ │ │ │ │ │ ├── q_plsf.h
│ │ │ │ │ │ │ ├── q_plsf_3_tbl.h
│ │ │ │ │ │ │ ├── q_plsf_5_tbl.h
│ │ │ │ │ │ │ ├── qgain475_tab.h
│ │ │ │ │ │ │ ├── qua_gain.h
│ │ │ │ │ │ │ ├── qua_gain_tbl.h
│ │ │ │ │ │ │ ├── reorder.h
│ │ │ │ │ │ │ ├── residu.h
│ │ │ │ │ │ │ ├── reverse_bits.h
│ │ │ │ │ │ │ ├── round.h
│ │ │ │ │ │ │ ├── set_zero.h
│ │ │ │ │ │ │ ├── shl.h
│ │ │ │ │ │ │ ├── shr.h
│ │ │ │ │ │ │ ├── shr_r.h
│ │ │ │ │ │ │ ├── sqrt_l.h
│ │ │ │ │ │ │ ├── sub.h
│ │ │ │ │ │ │ ├── syn_filt.h
│ │ │ │ │ │ │ ├── typedef.h
│ │ │ │ │ │ │ ├── vad.h
│ │ │ │ │ │ │ ├── vad1.h
│ │ │ │ │ │ │ ├── vad2.h
│ │ │ │ │ │ │ ├── weight_a.h
│ │ │ │ │ │ │ ├── window_tab.h
│ │ │ │ │ │ │ └── wmf_to_ets.h
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── add.cpp
│ │ │ │ │ │ │ ├── az_lsp.cpp
│ │ │ │ │ │ │ ├── bitno_tab.cpp
│ │ │ │ │ │ │ ├── bitreorder_tab.cpp
│ │ │ │ │ │ │ ├── bits2prm.cpp
│ │ │ │ │ │ │ ├── bytesused.cpp
│ │ │ │ │ │ │ ├── c2_9pf_tab.cpp
│ │ │ │ │ │ │ ├── copy.cpp
│ │ │ │ │ │ │ ├── div_32.cpp
│ │ │ │ │ │ │ ├── div_s.cpp
│ │ │ │ │ │ │ ├── extract_h.cpp
│ │ │ │ │ │ │ ├── extract_l.cpp
│ │ │ │ │ │ │ ├── gains_tbl.cpp
│ │ │ │ │ │ │ ├── gc_pred.cpp
│ │ │ │ │ │ │ ├── gmed_n.cpp
│ │ │ │ │ │ │ ├── gray_tbl.cpp
│ │ │ │ │ │ │ ├── grid_tbl.cpp
│ │ │ │ │ │ │ ├── int_lpc.cpp
│ │ │ │ │ │ │ ├── inv_sqrt.cpp
│ │ │ │ │ │ │ ├── inv_sqrt_tbl.cpp
│ │ │ │ │ │ │ ├── l_abs.cpp
│ │ │ │ │ │ │ ├── l_deposit_h.cpp
│ │ │ │ │ │ │ ├── l_deposit_l.cpp
│ │ │ │ │ │ │ ├── l_shr_r.cpp
│ │ │ │ │ │ │ ├── log2.cpp
│ │ │ │ │ │ │ ├── log2_norm.cpp
│ │ │ │ │ │ │ ├── log2_tbl.cpp
│ │ │ │ │ │ │ ├── lsfwt.cpp
│ │ │ │ │ │ │ ├── lsp.cpp
│ │ │ │ │ │ │ ├── lsp_az.cpp
│ │ │ │ │ │ │ ├── lsp_lsf.cpp
│ │ │ │ │ │ │ ├── lsp_lsf_tbl.cpp
│ │ │ │ │ │ │ ├── lsp_tab.cpp
│ │ │ │ │ │ │ ├── mult_r.cpp
│ │ │ │ │ │ │ ├── negate.cpp
│ │ │ │ │ │ │ ├── norm_l.cpp
│ │ │ │ │ │ │ ├── norm_s.cpp
│ │ │ │ │ │ │ ├── overflow_tbl.cpp
│ │ │ │ │ │ │ ├── ph_disp_tab.cpp
│ │ │ │ │ │ │ ├── pow2.cpp
│ │ │ │ │ │ │ ├── pow2_tbl.cpp
│ │ │ │ │ │ │ ├── pred_lt.cpp
│ │ │ │ │ │ │ ├── q_plsf.cpp
│ │ │ │ │ │ │ ├── q_plsf_3.cpp
│ │ │ │ │ │ │ ├── q_plsf_3_tbl.cpp
│ │ │ │ │ │ │ ├── q_plsf_5.cpp
│ │ │ │ │ │ │ ├── q_plsf_5_tbl.cpp
│ │ │ │ │ │ │ ├── qua_gain_tbl.cpp
│ │ │ │ │ │ │ ├── reorder.cpp
│ │ │ │ │ │ │ ├── residu.cpp
│ │ │ │ │ │ │ ├── round.cpp
│ │ │ │ │ │ │ ├── set_zero.cpp
│ │ │ │ │ │ │ ├── shr.cpp
│ │ │ │ │ │ │ ├── shr_r.cpp
│ │ │ │ │ │ │ ├── sqrt_l.cpp
│ │ │ │ │ │ │ ├── sqrt_l_tbl.cpp
│ │ │ │ │ │ │ ├── sub.cpp
│ │ │ │ │ │ │ ├── syn_filt.cpp
│ │ │ │ │ │ │ ├── vad1.cpp
│ │ │ │ │ │ │ ├── weight_a.cpp
│ │ │ │ │ │ │ └── window_tab.cpp
│ │ │ │ │ ├── dec
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ ├── NOTICE
│ │ │ │ │ │ ├── SoftAMR.cpp
│ │ │ │ │ │ ├── SoftAMR.h
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── a_refl.cpp
│ │ │ │ │ │ │ ├── a_refl.h
│ │ │ │ │ │ │ ├── agc.cpp
│ │ │ │ │ │ │ ├── agc.h
│ │ │ │ │ │ │ ├── amrdecode.cpp
│ │ │ │ │ │ │ ├── amrdecode.h
│ │ │ │ │ │ │ ├── b_cn_cod.cpp
│ │ │ │ │ │ │ ├── b_cn_cod.h
│ │ │ │ │ │ │ ├── bgnscd.cpp
│ │ │ │ │ │ │ ├── bgnscd.h
│ │ │ │ │ │ │ ├── c_g_aver.cpp
│ │ │ │ │ │ │ ├── c_g_aver.h
│ │ │ │ │ │ │ ├── d1035pf.cpp
│ │ │ │ │ │ │ ├── d1035pf.h
│ │ │ │ │ │ │ ├── d2_11pf.cpp
│ │ │ │ │ │ │ ├── d2_11pf.h
│ │ │ │ │ │ │ ├── d2_9pf.cpp
│ │ │ │ │ │ │ ├── d2_9pf.h
│ │ │ │ │ │ │ ├── d3_14pf.cpp
│ │ │ │ │ │ │ ├── d3_14pf.h
│ │ │ │ │ │ │ ├── d4_17pf.cpp
│ │ │ │ │ │ │ ├── d4_17pf.h
│ │ │ │ │ │ │ ├── d8_31pf.cpp
│ │ │ │ │ │ │ ├── d8_31pf.h
│ │ │ │ │ │ │ ├── d_gain_c.cpp
│ │ │ │ │ │ │ ├── d_gain_p.cpp
│ │ │ │ │ │ │ ├── d_plsf.cpp
│ │ │ │ │ │ │ ├── d_plsf_3.cpp
│ │ │ │ │ │ │ ├── d_plsf_5.cpp
│ │ │ │ │ │ │ ├── dec_amr.cpp
│ │ │ │ │ │ │ ├── dec_amr.h
│ │ │ │ │ │ │ ├── dec_gain.cpp
│ │ │ │ │ │ │ ├── dec_gain.h
│ │ │ │ │ │ │ ├── dec_input_format_tab.cpp
│ │ │ │ │ │ │ ├── dec_lag3.cpp
│ │ │ │ │ │ │ ├── dec_lag3.h
│ │ │ │ │ │ │ ├── dec_lag6.cpp
│ │ │ │ │ │ │ ├── dec_lag6.h
│ │ │ │ │ │ │ ├── dtx_dec.cpp
│ │ │ │ │ │ │ ├── dtx_dec.h
│ │ │ │ │ │ │ ├── ec_gains.cpp
│ │ │ │ │ │ │ ├── ec_gains.h
│ │ │ │ │ │ │ ├── ex_ctrl.cpp
│ │ │ │ │ │ │ ├── ex_ctrl.h
│ │ │ │ │ │ │ ├── gsmamr_dec.h
│ │ │ │ │ │ │ ├── if2_to_ets.cpp
│ │ │ │ │ │ │ ├── if2_to_ets.h
│ │ │ │ │ │ │ ├── int_lsf.cpp
│ │ │ │ │ │ │ ├── lsp_avg.cpp
│ │ │ │ │ │ │ ├── lsp_avg.h
│ │ │ │ │ │ │ ├── ph_disp.cpp
│ │ │ │ │ │ │ ├── ph_disp.h
│ │ │ │ │ │ │ ├── post_pro.cpp
│ │ │ │ │ │ │ ├── post_pro.h
│ │ │ │ │ │ │ ├── preemph.cpp
│ │ │ │ │ │ │ ├── preemph.h
│ │ │ │ │ │ │ ├── pstfilt.cpp
│ │ │ │ │ │ │ ├── pstfilt.h
│ │ │ │ │ │ │ ├── qgain475_tab.cpp
│ │ │ │ │ │ │ ├── sp_dec.cpp
│ │ │ │ │ │ │ ├── sp_dec.h
│ │ │ │ │ │ │ └── wmf_to_ets.cpp
│ │ │ │ │ ├── enc
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ ├── NOTICE
│ │ │ │ │ │ ├── SoftAMRNBEncoder.cpp
│ │ │ │ │ │ ├── SoftAMRNBEncoder.h
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── amrencode.cpp
│ │ │ │ │ │ │ ├── amrencode.h
│ │ │ │ │ │ │ ├── autocorr.cpp
│ │ │ │ │ │ │ ├── autocorr.h
│ │ │ │ │ │ │ ├── c1035pf.cpp
│ │ │ │ │ │ │ ├── c1035pf.h
│ │ │ │ │ │ │ ├── c2_11pf.cpp
│ │ │ │ │ │ │ ├── c2_11pf.h
│ │ │ │ │ │ │ ├── c2_9pf.cpp
│ │ │ │ │ │ │ ├── c2_9pf.h
│ │ │ │ │ │ │ ├── c3_14pf.cpp
│ │ │ │ │ │ │ ├── c3_14pf.h
│ │ │ │ │ │ │ ├── c4_17pf.cpp
│ │ │ │ │ │ │ ├── c4_17pf.h
│ │ │ │ │ │ │ ├── c8_31pf.cpp
│ │ │ │ │ │ │ ├── c8_31pf.h
│ │ │ │ │ │ │ ├── calc_cor.cpp
│ │ │ │ │ │ │ ├── calc_cor.h
│ │ │ │ │ │ │ ├── calc_en.cpp
│ │ │ │ │ │ │ ├── calc_en.h
│ │ │ │ │ │ │ ├── cbsearch.cpp
│ │ │ │ │ │ │ ├── cbsearch.h
│ │ │ │ │ │ │ ├── cl_ltp.cpp
│ │ │ │ │ │ │ ├── cl_ltp.h
│ │ │ │ │ │ │ ├── cod_amr.cpp
│ │ │ │ │ │ │ ├── cod_amr.h
│ │ │ │ │ │ │ ├── convolve.cpp
│ │ │ │ │ │ │ ├── convolve.h
│ │ │ │ │ │ │ ├── cor_h.cpp
│ │ │ │ │ │ │ ├── cor_h.h
│ │ │ │ │ │ │ ├── cor_h_x.cpp
│ │ │ │ │ │ │ ├── cor_h_x.h
│ │ │ │ │ │ │ ├── cor_h_x2.cpp
│ │ │ │ │ │ │ ├── cor_h_x2.h
│ │ │ │ │ │ │ ├── corrwght_tab.cpp
│ │ │ │ │ │ │ ├── dtx_enc.cpp
│ │ │ │ │ │ │ ├── dtx_enc.h
│ │ │ │ │ │ │ ├── enc_lag3.cpp
│ │ │ │ │ │ │ ├── enc_lag3.h
│ │ │ │ │ │ │ ├── enc_lag6.cpp
│ │ │ │ │ │ │ ├── enc_lag6.h
│ │ │ │ │ │ │ ├── enc_output_format_tab.cpp
│ │ │ │ │ │ │ ├── ets_to_if2.cpp
│ │ │ │ │ │ │ ├── ets_to_if2.h
│ │ │ │ │ │ │ ├── ets_to_wmf.cpp
│ │ │ │ │ │ │ ├── ets_to_wmf.h
│ │ │ │ │ │ │ ├── g_adapt.cpp
│ │ │ │ │ │ │ ├── g_adapt.h
│ │ │ │ │ │ │ ├── g_code.cpp
│ │ │ │ │ │ │ ├── g_code.h
│ │ │ │ │ │ │ ├── g_pitch.cpp
│ │ │ │ │ │ │ ├── g_pitch.h
│ │ │ │ │ │ │ ├── gain_q.cpp
│ │ │ │ │ │ │ ├── gain_q.h
│ │ │ │ │ │ │ ├── gsmamr_enc.h
│ │ │ │ │ │ │ ├── hp_max.cpp
│ │ │ │ │ │ │ ├── hp_max.h
│ │ │ │ │ │ │ ├── inter_36.cpp
│ │ │ │ │ │ │ ├── inter_36.h
│ │ │ │ │ │ │ ├── inter_36_tab.cpp
│ │ │ │ │ │ │ ├── inter_36_tab.h
│ │ │ │ │ │ │ ├── l_comp.cpp
│ │ │ │ │ │ │ ├── l_extract.cpp
│ │ │ │ │ │ │ ├── l_negate.cpp
│ │ │ │ │ │ │ ├── lag_wind.cpp
│ │ │ │ │ │ │ ├── lag_wind.h
│ │ │ │ │ │ │ ├── lag_wind_tab.cpp
│ │ │ │ │ │ │ ├── lag_wind_tab.h
│ │ │ │ │ │ │ ├── levinson.cpp
│ │ │ │ │ │ │ ├── levinson.h
│ │ │ │ │ │ │ ├── lpc.cpp
│ │ │ │ │ │ │ ├── lpc.h
│ │ │ │ │ │ │ ├── ol_ltp.cpp
│ │ │ │ │ │ │ ├── ol_ltp.h
│ │ │ │ │ │ │ ├── p_ol_wgh.cpp
│ │ │ │ │ │ │ ├── pitch_fr.cpp
│ │ │ │ │ │ │ ├── pitch_fr.h
│ │ │ │ │ │ │ ├── pitch_ol.cpp
│ │ │ │ │ │ │ ├── pitch_ol.h
│ │ │ │ │ │ │ ├── pre_big.cpp
│ │ │ │ │ │ │ ├── pre_big.h
│ │ │ │ │ │ │ ├── pre_proc.cpp
│ │ │ │ │ │ │ ├── pre_proc.h
│ │ │ │ │ │ │ ├── prm2bits.cpp
│ │ │ │ │ │ │ ├── prm2bits.h
│ │ │ │ │ │ │ ├── q_gain_c.cpp
│ │ │ │ │ │ │ ├── q_gain_c.h
│ │ │ │ │ │ │ ├── q_gain_p.cpp
│ │ │ │ │ │ │ ├── q_gain_p.h
│ │ │ │ │ │ │ ├── qgain475.cpp
│ │ │ │ │ │ │ ├── qgain475.h
│ │ │ │ │ │ │ ├── qgain795.cpp
│ │ │ │ │ │ │ ├── qgain795.h
│ │ │ │ │ │ │ ├── qua_gain.cpp
│ │ │ │ │ │ │ ├── s10_8pf.cpp
│ │ │ │ │ │ │ ├── s10_8pf.h
│ │ │ │ │ │ │ ├── set_sign.cpp
│ │ │ │ │ │ │ ├── set_sign.h
│ │ │ │ │ │ │ ├── sid_sync.cpp
│ │ │ │ │ │ │ ├── sid_sync.h
│ │ │ │ │ │ │ ├── sp_enc.cpp
│ │ │ │ │ │ │ ├── sp_enc.h
│ │ │ │ │ │ │ ├── spreproc.cpp
│ │ │ │ │ │ │ ├── spreproc.h
│ │ │ │ │ │ │ ├── spstproc.cpp
│ │ │ │ │ │ │ ├── spstproc.h
│ │ │ │ │ │ │ ├── ton_stab.cpp
│ │ │ │ │ │ │ └── ton_stab.h
│ │ │ │ │ └── patent_disclaimer.txt
│ │ │ │ ├── amrwb
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ ├── NOTICE
│ │ │ │ │ ├── include
│ │ │ │ │ │ └── pvamrwbdecoder_api.h
│ │ │ │ │ ├── patent_disclaimer.txt
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── agc2_amr_wb.cpp
│ │ │ │ │ │ ├── band_pass_6k_7k.cpp
│ │ │ │ │ │ ├── dec_acelp_2p_in_64.cpp
│ │ │ │ │ │ ├── dec_acelp_4p_in_64.cpp
│ │ │ │ │ │ ├── dec_alg_codebook.cpp
│ │ │ │ │ │ ├── dec_gain2_amr_wb.cpp
│ │ │ │ │ │ ├── deemphasis_32.cpp
│ │ │ │ │ │ ├── dtx.h
│ │ │ │ │ │ ├── dtx_decoder_amr_wb.cpp
│ │ │ │ │ │ ├── e_pv_amrwbdec.h
│ │ │ │ │ │ ├── get_amr_wb_bits.cpp
│ │ │ │ │ │ ├── get_amr_wb_bits.h
│ │ │ │ │ │ ├── highpass_400hz_at_12k8.cpp
│ │ │ │ │ │ ├── highpass_50hz_at_12k8.cpp
│ │ │ │ │ │ ├── homing_amr_wb_dec.cpp
│ │ │ │ │ │ ├── interpolate_isp.cpp
│ │ │ │ │ │ ├── isf_extrapolation.cpp
│ │ │ │ │ │ ├── isp_az.cpp
│ │ │ │ │ │ ├── isp_isf.cpp
│ │ │ │ │ │ ├── lagconceal.cpp
│ │ │ │ │ │ ├── low_pass_filt_7k.cpp
│ │ │ │ │ │ ├── median5.cpp
│ │ │ │ │ │ ├── mime_io.cpp
│ │ │ │ │ │ ├── mime_io.h
│ │ │ │ │ │ ├── noise_gen_amrwb.cpp
│ │ │ │ │ │ ├── normalize_amr_wb.cpp
│ │ │ │ │ │ ├── normalize_amr_wb.h
│ │ │ │ │ │ ├── oversamp_12k8_to_16k.cpp
│ │ │ │ │ │ ├── phase_dispersion.cpp
│ │ │ │ │ │ ├── pit_shrp.cpp
│ │ │ │ │ │ ├── pred_lt4.cpp
│ │ │ │ │ │ ├── preemph_amrwb_dec.cpp
│ │ │ │ │ │ ├── pv_amr_wb_type_defs.h
│ │ │ │ │ │ ├── pvamrwb_math_op.cpp
│ │ │ │ │ │ ├── pvamrwb_math_op.h
│ │ │ │ │ │ ├── pvamrwbdecoder.cpp
│ │ │ │ │ │ ├── pvamrwbdecoder.h
│ │ │ │ │ │ ├── pvamrwbdecoder_acelp.h
│ │ │ │ │ │ ├── pvamrwbdecoder_basic_op.h
│ │ │ │ │ │ ├── pvamrwbdecoder_basic_op_armv5.h
│ │ │ │ │ │ ├── pvamrwbdecoder_basic_op_cequivalent.h
│ │ │ │ │ │ ├── pvamrwbdecoder_basic_op_gcc_armv5.h
│ │ │ │ │ │ ├── pvamrwbdecoder_cnst.h
│ │ │ │ │ │ ├── pvamrwbdecoder_mem_funcs.h
│ │ │ │ │ │ ├── q_gain2_tab.cpp
│ │ │ │ │ │ ├── q_pulse.h
│ │ │ │ │ │ ├── qisf_ns.cpp
│ │ │ │ │ │ ├── qisf_ns.h
│ │ │ │ │ │ ├── qisf_ns_tab.cpp
│ │ │ │ │ │ ├── qpisf_2s.cpp
│ │ │ │ │ │ ├── qpisf_2s.h
│ │ │ │ │ │ ├── qpisf_2s_tab.cpp
│ │ │ │ │ │ ├── scale_signal.cpp
│ │ │ │ │ │ ├── synthesis_amr_wb.cpp
│ │ │ │ │ │ ├── synthesis_amr_wb.h
│ │ │ │ │ │ ├── voice_factor.cpp
│ │ │ │ │ │ ├── wb_syn_filt.cpp
│ │ │ │ │ │ └── weight_amrwb_lpc.cpp
│ │ │ │ ├── amrwbenc
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ ├── NOTICE
│ │ │ │ │ ├── SampleCode
│ │ │ │ │ │ ├── AMRWB_E_SAMPLE.c
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ └── NOTICE
│ │ │ │ │ ├── SoftAMRWBEncoder.cpp
│ │ │ │ │ ├── SoftAMRWBEncoder.h
│ │ │ │ │ ├── doc
│ │ │ │ │ │ └── voAMRWBEncoderSDK.pdf
│ │ │ │ │ ├── inc
│ │ │ │ │ │ ├── acelp.h
│ │ │ │ │ │ ├── basic_op.h
│ │ │ │ │ │ ├── bits.h
│ │ │ │ │ │ ├── cnst.h
│ │ │ │ │ │ ├── cod_main.h
│ │ │ │ │ │ ├── dtx.h
│ │ │ │ │ │ ├── grid100.tab
│ │ │ │ │ │ ├── ham_wind.tab
│ │ │ │ │ │ ├── homing.tab
│ │ │ │ │ │ ├── isp_isf.tab
│ │ │ │ │ │ ├── lag_wind.tab
│ │ │ │ │ │ ├── log2.h
│ │ │ │ │ │ ├── log2_tab.h
│ │ │ │ │ │ ├── main.h
│ │ │ │ │ │ ├── math_op.h
│ │ │ │ │ │ ├── mem_align.h
│ │ │ │ │ │ ├── mime_io.tab
│ │ │ │ │ │ ├── oper_32b.h
│ │ │ │ │ │ ├── p_med_o.h
│ │ │ │ │ │ ├── p_med_ol.tab
│ │ │ │ │ │ ├── q_gain2.tab
│ │ │ │ │ │ ├── q_pulse.h
│ │ │ │ │ │ ├── qisf_ns.tab
│ │ │ │ │ │ ├── qpisf_2s.tab
│ │ │ │ │ │ ├── stream.h
│ │ │ │ │ │ ├── typedef.h
│ │ │ │ │ │ ├── typedefs.h
│ │ │ │ │ │ ├── wb_vad.h
│ │ │ │ │ │ └── wb_vad_c.h
│ │ │ │ │ ├── patent_disclaimer.txt
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── asm
│ │ │ │ │ │ ├── ARMV5E
│ │ │ │ │ │ │ ├── Deemph_32_opt.s
│ │ │ │ │ │ │ ├── Dot_p_opt.s
│ │ │ │ │ │ │ ├── Filt_6k_7k_opt.s
│ │ │ │ │ │ │ ├── Norm_Corr_opt.s
│ │ │ │ │ │ │ ├── Syn_filt_32_opt.s
│ │ │ │ │ │ │ ├── convolve_opt.s
│ │ │ │ │ │ │ ├── cor_h_vec_opt.s
│ │ │ │ │ │ │ ├── pred_lt4_1_opt.s
│ │ │ │ │ │ │ ├── residu_asm_opt.s
│ │ │ │ │ │ │ ├── scale_sig_opt.s
│ │ │ │ │ │ │ └── syn_filt_opt.s
│ │ │ │ │ │ └── ARMV7
│ │ │ │ │ │ │ ├── Deemph_32_neon.s
│ │ │ │ │ │ │ ├── Dot_p_neon.s
│ │ │ │ │ │ │ ├── Filt_6k_7k_neon.s
│ │ │ │ │ │ │ ├── Norm_Corr_neon.s
│ │ │ │ │ │ │ ├── Syn_filt_32_neon.s
│ │ │ │ │ │ │ ├── convolve_neon.s
│ │ │ │ │ │ │ ├── cor_h_vec_neon.s
│ │ │ │ │ │ │ ├── pred_lt4_1_neon.s
│ │ │ │ │ │ │ ├── residu_asm_neon.s
│ │ │ │ │ │ │ ├── scale_sig_neon.s
│ │ │ │ │ │ │ └── syn_filt_neon.s
│ │ │ │ │ │ ├── autocorr.c
│ │ │ │ │ │ ├── az_isp.c
│ │ │ │ │ │ ├── bits.c
│ │ │ │ │ │ ├── c2t64fx.c
│ │ │ │ │ │ ├── c4t64fx.c
│ │ │ │ │ │ ├── convolve.c
│ │ │ │ │ │ ├── cor_h_x.c
│ │ │ │ │ │ ├── decim54.c
│ │ │ │ │ │ ├── deemph.c
│ │ │ │ │ │ ├── dtx.c
│ │ │ │ │ │ ├── g_pitch.c
│ │ │ │ │ │ ├── gpclip.c
│ │ │ │ │ │ ├── homing.c
│ │ │ │ │ │ ├── hp400.c
│ │ │ │ │ │ ├── hp50.c
│ │ │ │ │ │ ├── hp6k.c
│ │ │ │ │ │ ├── hp_wsp.c
│ │ │ │ │ │ ├── int_lpc.c
│ │ │ │ │ │ ├── isp_az.c
│ │ │ │ │ │ ├── isp_isf.c
│ │ │ │ │ │ ├── lag_wind.c
│ │ │ │ │ │ ├── levinson.c
│ │ │ │ │ │ ├── log2.c
│ │ │ │ │ │ ├── lp_dec2.c
│ │ │ │ │ │ ├── math_op.c
│ │ │ │ │ │ ├── mem_align.c
│ │ │ │ │ │ ├── oper_32b.c
│ │ │ │ │ │ ├── p_med_ol.c
│ │ │ │ │ │ ├── pit_shrp.c
│ │ │ │ │ │ ├── pitch_f4.c
│ │ │ │ │ │ ├── pred_lt4.c
│ │ │ │ │ │ ├── preemph.c
│ │ │ │ │ │ ├── q_gain2.c
│ │ │ │ │ │ ├── q_pulse.c
│ │ │ │ │ │ ├── qisf_ns.c
│ │ │ │ │ │ ├── qpisf_2s.c
│ │ │ │ │ │ ├── random.c
│ │ │ │ │ │ ├── residu.c
│ │ │ │ │ │ ├── scale.c
│ │ │ │ │ │ ├── stream.c
│ │ │ │ │ │ ├── syn_filt.c
│ │ │ │ │ │ ├── updt_tar.c
│ │ │ │ │ │ ├── util.c
│ │ │ │ │ │ ├── voAMRWBEnc.c
│ │ │ │ │ │ ├── voicefac.c
│ │ │ │ │ │ ├── wb_vad.c
│ │ │ │ │ │ └── weight_a.c
│ │ │ │ ├── avc
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── common
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ ├── NOTICE
│ │ │ │ │ │ ├── include
│ │ │ │ │ │ │ ├── avc_types.h
│ │ │ │ │ │ │ ├── avcapi_common.h
│ │ │ │ │ │ │ ├── avcint_common.h
│ │ │ │ │ │ │ └── avclib_common.h
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── deblock.cpp
│ │ │ │ │ │ │ ├── dpb.cpp
│ │ │ │ │ │ │ ├── fmo.cpp
│ │ │ │ │ │ │ ├── mb_access.cpp
│ │ │ │ │ │ │ └── reflist.cpp
│ │ │ │ │ ├── enc
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ ├── NOTICE
│ │ │ │ │ │ ├── SoftAVCEncoder.cpp
│ │ │ │ │ │ ├── SoftAVCEncoder.h
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── avcenc_api.cpp
│ │ │ │ │ │ │ ├── avcenc_api.h
│ │ │ │ │ │ │ ├── avcenc_int.h
│ │ │ │ │ │ │ ├── avcenc_lib.h
│ │ │ │ │ │ │ ├── bitstream_io.cpp
│ │ │ │ │ │ │ ├── block.cpp
│ │ │ │ │ │ │ ├── findhalfpel.cpp
│ │ │ │ │ │ │ ├── header.cpp
│ │ │ │ │ │ │ ├── init.cpp
│ │ │ │ │ │ │ ├── intra_est.cpp
│ │ │ │ │ │ │ ├── motion_comp.cpp
│ │ │ │ │ │ │ ├── motion_est.cpp
│ │ │ │ │ │ │ ├── rate_control.cpp
│ │ │ │ │ │ │ ├── residual.cpp
│ │ │ │ │ │ │ ├── sad.cpp
│ │ │ │ │ │ │ ├── sad_halfpel.cpp
│ │ │ │ │ │ │ ├── sad_halfpel_inline.h
│ │ │ │ │ │ │ ├── sad_inline.h
│ │ │ │ │ │ │ ├── sad_mb_offset.h
│ │ │ │ │ │ │ ├── slice.cpp
│ │ │ │ │ │ │ └── vlc_encode.cpp
│ │ │ │ │ └── patent_disclaimer.txt
│ │ │ │ ├── common
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── Config.mk
│ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ ├── NOTICE
│ │ │ │ │ ├── cmnMemory.c
│ │ │ │ │ └── include
│ │ │ │ │ │ ├── cmnMemory.h
│ │ │ │ │ │ ├── voAAC.h
│ │ │ │ │ │ ├── voAMRWB.h
│ │ │ │ │ │ ├── voAudio.h
│ │ │ │ │ │ ├── voIndex.h
│ │ │ │ │ │ ├── voMem.h
│ │ │ │ │ │ └── voType.h
│ │ │ │ ├── flac
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ └── enc
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ ├── NOTICE
│ │ │ │ │ │ ├── SoftFlacEncoder.cpp
│ │ │ │ │ │ └── SoftFlacEncoder.h
│ │ │ │ ├── g711
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ └── dec
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ ├── NOTICE
│ │ │ │ │ │ ├── SoftG711.cpp
│ │ │ │ │ │ └── SoftG711.h
│ │ │ │ ├── m4v_h263
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── dec
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ ├── NOTICE
│ │ │ │ │ │ ├── SoftMPEG4.cpp
│ │ │ │ │ │ ├── SoftMPEG4.h
│ │ │ │ │ │ ├── include
│ │ │ │ │ │ │ ├── m4vh263_decoder_pv_types.h
│ │ │ │ │ │ │ ├── mp4dec_api.h
│ │ │ │ │ │ │ └── visual_header.h
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── adaptive_smooth_no_mmx.cpp
│ │ │ │ │ │ │ ├── bitstream.cpp
│ │ │ │ │ │ │ ├── bitstream.h
│ │ │ │ │ │ │ ├── block_idct.cpp
│ │ │ │ │ │ │ ├── cal_dc_scaler.cpp
│ │ │ │ │ │ │ ├── chv_filter.cpp
│ │ │ │ │ │ │ ├── chvr_filter.cpp
│ │ │ │ │ │ │ ├── combined_decode.cpp
│ │ │ │ │ │ │ ├── conceal.cpp
│ │ │ │ │ │ │ ├── datapart_decode.cpp
│ │ │ │ │ │ │ ├── dcac_prediction.cpp
│ │ │ │ │ │ │ ├── dec_pred_intra_dc.cpp
│ │ │ │ │ │ │ ├── deringing_chroma.cpp
│ │ │ │ │ │ │ ├── deringing_luma.cpp
│ │ │ │ │ │ │ ├── find_min_max.cpp
│ │ │ │ │ │ │ ├── get_pred_adv_b_add.cpp
│ │ │ │ │ │ │ ├── get_pred_outside.cpp
│ │ │ │ │ │ │ ├── idct.cpp
│ │ │ │ │ │ │ ├── idct.h
│ │ │ │ │ │ │ ├── idct_vca.cpp
│ │ │ │ │ │ │ ├── max_level.h
│ │ │ │ │ │ │ ├── mb_motion_comp.cpp
│ │ │ │ │ │ │ ├── mb_utils.cpp
│ │ │ │ │ │ │ ├── mbtype_mode.h
│ │ │ │ │ │ │ ├── motion_comp.h
│ │ │ │ │ │ │ ├── mp4dec_lib.h
│ │ │ │ │ │ │ ├── mp4def.h
│ │ │ │ │ │ │ ├── mp4lib_int.h
│ │ │ │ │ │ │ ├── packet_util.cpp
│ │ │ │ │ │ │ ├── post_filter.cpp
│ │ │ │ │ │ │ ├── post_proc.h
│ │ │ │ │ │ │ ├── post_proc_semaphore.cpp
│ │ │ │ │ │ │ ├── pp_semaphore_chroma_inter.cpp
│ │ │ │ │ │ │ ├── pp_semaphore_luma.cpp
│ │ │ │ │ │ │ ├── pvdec_api.cpp
│ │ │ │ │ │ │ ├── scaling.h
│ │ │ │ │ │ │ ├── scaling_tab.cpp
│ │ │ │ │ │ │ ├── vlc_dec_tab.h
│ │ │ │ │ │ │ ├── vlc_decode.cpp
│ │ │ │ │ │ │ ├── vlc_decode.h
│ │ │ │ │ │ │ ├── vlc_dequant.cpp
│ │ │ │ │ │ │ ├── vlc_tab.cpp
│ │ │ │ │ │ │ ├── vop.cpp
│ │ │ │ │ │ │ ├── zigzag.h
│ │ │ │ │ │ │ └── zigzag_tab.cpp
│ │ │ │ │ ├── enc
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ ├── NOTICE
│ │ │ │ │ │ ├── SoftMPEG4Encoder.cpp
│ │ │ │ │ │ ├── SoftMPEG4Encoder.h
│ │ │ │ │ │ ├── include
│ │ │ │ │ │ │ ├── cvei.h
│ │ │ │ │ │ │ └── mp4enc_api.h
│ │ │ │ │ │ └── src
│ │ │ │ │ │ │ ├── bitstream_io.cpp
│ │ │ │ │ │ │ ├── bitstream_io.h
│ │ │ │ │ │ │ ├── combined_encode.cpp
│ │ │ │ │ │ │ ├── datapart_encode.cpp
│ │ │ │ │ │ │ ├── dct.cpp
│ │ │ │ │ │ │ ├── dct.h
│ │ │ │ │ │ │ ├── dct_inline.h
│ │ │ │ │ │ │ ├── fastcodemb.cpp
│ │ │ │ │ │ │ ├── fastcodemb.h
│ │ │ │ │ │ │ ├── fastidct.cpp
│ │ │ │ │ │ │ ├── fastquant.cpp
│ │ │ │ │ │ │ ├── fastquant_inline.h
│ │ │ │ │ │ │ ├── findhalfpel.cpp
│ │ │ │ │ │ │ ├── m4venc_oscl.h
│ │ │ │ │ │ │ ├── me_utils.cpp
│ │ │ │ │ │ │ ├── motion_comp.cpp
│ │ │ │ │ │ │ ├── motion_est.cpp
│ │ │ │ │ │ │ ├── mp4def.h
│ │ │ │ │ │ │ ├── mp4enc_api.cpp
│ │ │ │ │ │ │ ├── mp4enc_lib.h
│ │ │ │ │ │ │ ├── mp4lib_int.h
│ │ │ │ │ │ │ ├── rate_control.cpp
│ │ │ │ │ │ │ ├── rate_control.h
│ │ │ │ │ │ │ ├── sad.cpp
│ │ │ │ │ │ │ ├── sad_halfpel.cpp
│ │ │ │ │ │ │ ├── sad_halfpel_inline.h
│ │ │ │ │ │ │ ├── sad_inline.h
│ │ │ │ │ │ │ ├── sad_mb_offset.h
│ │ │ │ │ │ │ ├── vlc_enc_tab.h
│ │ │ │ │ │ │ ├── vlc_encode.cpp
│ │ │ │ │ │ │ ├── vlc_encode.h
│ │ │ │ │ │ │ ├── vlc_encode_inline.h
│ │ │ │ │ │ │ └── vop.cpp
│ │ │ │ │ └── patent_disclaimer.txt
│ │ │ │ ├── mp3dec
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ ├── NOTICE
│ │ │ │ │ ├── SoftMP3.cpp
│ │ │ │ │ ├── SoftMP3.h
│ │ │ │ │ ├── include
│ │ │ │ │ │ ├── mp3_decoder_selection.h
│ │ │ │ │ │ ├── pvmp3_audio_type_defs.h
│ │ │ │ │ │ └── pvmp3decoder_api.h
│ │ │ │ │ ├── patent_disclaimer.txt
│ │ │ │ │ └── src
│ │ │ │ │ │ ├── asm
│ │ │ │ │ │ ├── pvmp3_dct_16_gcc.s
│ │ │ │ │ │ ├── pvmp3_dct_9_arm.s
│ │ │ │ │ │ ├── pvmp3_dct_9_gcc.s
│ │ │ │ │ │ ├── pvmp3_mdct_18_arm.s
│ │ │ │ │ │ ├── pvmp3_mdct_18_gcc.s
│ │ │ │ │ │ ├── pvmp3_mdct_18_wm.asm
│ │ │ │ │ │ ├── pvmp3_polyphase_filter_window_arm.s
│ │ │ │ │ │ ├── pvmp3_polyphase_filter_window_gcc.s
│ │ │ │ │ │ └── pvmp3_polyphase_filter_window_wm.asm
│ │ │ │ │ │ ├── mp3_mem_funcs.h
│ │ │ │ │ │ ├── pv_mp3_huffman.h
│ │ │ │ │ │ ├── pv_mp3dec_fxd_op.h
│ │ │ │ │ │ ├── pv_mp3dec_fxd_op_arm.h
│ │ │ │ │ │ ├── pv_mp3dec_fxd_op_arm_gcc.h
│ │ │ │ │ │ ├── pv_mp3dec_fxd_op_c_equivalent.h
│ │ │ │ │ │ ├── pv_mp3dec_fxd_op_msc_evc.h
│ │ │ │ │ │ ├── pvmp3_alias_reduction.cpp
│ │ │ │ │ │ ├── pvmp3_alias_reduction.h
│ │ │ │ │ │ ├── pvmp3_crc.cpp
│ │ │ │ │ │ ├── pvmp3_crc.h
│ │ │ │ │ │ ├── pvmp3_dct_16.cpp
│ │ │ │ │ │ ├── pvmp3_dct_16.h
│ │ │ │ │ │ ├── pvmp3_dct_6.cpp
│ │ │ │ │ │ ├── pvmp3_dct_9.cpp
│ │ │ │ │ │ ├── pvmp3_dec_defs.h
│ │ │ │ │ │ ├── pvmp3_decode_header.cpp
│ │ │ │ │ │ ├── pvmp3_decode_header.h
│ │ │ │ │ │ ├── pvmp3_decode_huff_cw.cpp
│ │ │ │ │ │ ├── pvmp3_decode_huff_cw.h
│ │ │ │ │ │ ├── pvmp3_dequantize_sample.cpp
│ │ │ │ │ │ ├── pvmp3_dequantize_sample.h
│ │ │ │ │ │ ├── pvmp3_equalizer.cpp
│ │ │ │ │ │ ├── pvmp3_equalizer.h
│ │ │ │ │ │ ├── pvmp3_framedecoder.cpp
│ │ │ │ │ │ ├── pvmp3_framedecoder.h
│ │ │ │ │ │ ├── pvmp3_get_main_data_size.cpp
│ │ │ │ │ │ ├── pvmp3_get_main_data_size.h
│ │ │ │ │ │ ├── pvmp3_get_scale_factors.cpp
│ │ │ │ │ │ ├── pvmp3_get_scale_factors.h
│ │ │ │ │ │ ├── pvmp3_get_side_info.cpp
│ │ │ │ │ │ ├── pvmp3_get_side_info.h
│ │ │ │ │ │ ├── pvmp3_getbits.cpp
│ │ │ │ │ │ ├── pvmp3_getbits.h
│ │ │ │ │ │ ├── pvmp3_huffman_decoding.cpp
│ │ │ │ │ │ ├── pvmp3_huffman_parsing.cpp
│ │ │ │ │ │ ├── pvmp3_imdct_synth.cpp
│ │ │ │ │ │ ├── pvmp3_imdct_synth.h
│ │ │ │ │ │ ├── pvmp3_mdct_18.cpp
│ │ │ │ │ │ ├── pvmp3_mdct_18.h
│ │ │ │ │ │ ├── pvmp3_mdct_6.cpp
│ │ │ │ │ │ ├── pvmp3_mdct_6.h
│ │ │ │ │ │ ├── pvmp3_mpeg2_get_scale_data.cpp
│ │ │ │ │ │ ├── pvmp3_mpeg2_get_scale_data.h
│ │ │ │ │ │ ├── pvmp3_mpeg2_get_scale_factors.cpp
│ │ │ │ │ │ ├── pvmp3_mpeg2_get_scale_factors.h
│ │ │ │ │ │ ├── pvmp3_mpeg2_stereo_proc.cpp
│ │ │ │ │ │ ├── pvmp3_mpeg2_stereo_proc.h
│ │ │ │ │ │ ├── pvmp3_normalize.cpp
│ │ │ │ │ │ ├── pvmp3_normalize.h
│ │ │ │ │ │ ├── pvmp3_poly_phase_synthesis.cpp
│ │ │ │ │ │ ├── pvmp3_poly_phase_synthesis.h
│ │ │ │ │ │ ├── pvmp3_polyphase_filter_window.cpp
│ │ │ │ │ │ ├── pvmp3_polyphase_filter_window.h
│ │ │ │ │ │ ├── pvmp3_reorder.cpp
│ │ │ │ │ │ ├── pvmp3_reorder.h
│ │ │ │ │ │ ├── pvmp3_seek_synch.cpp
│ │ │ │ │ │ ├── pvmp3_seek_synch.h
│ │ │ │ │ │ ├── pvmp3_stereo_proc.cpp
│ │ │ │ │ │ ├── pvmp3_stereo_proc.h
│ │ │ │ │ │ ├── pvmp3_tables.cpp
│ │ │ │ │ │ ├── pvmp3_tables.h
│ │ │ │ │ │ ├── s_huffcodetab.h
│ │ │ │ │ │ ├── s_mp3bits.h
│ │ │ │ │ │ ├── s_tmp3dec_chan.h
│ │ │ │ │ │ └── s_tmp3dec_file.h
│ │ │ │ ├── on2
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── dec
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ ├── NOTICE
│ │ │ │ │ │ ├── SoftVPX.cpp
│ │ │ │ │ │ └── SoftVPX.h
│ │ │ │ │ └── h264dec
│ │ │ │ │ │ ├── Android.mk
│ │ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ │ ├── NOTICE
│ │ │ │ │ │ ├── SoftAVC.cpp
│ │ │ │ │ │ ├── SoftAVC.h
│ │ │ │ │ │ ├── inc
│ │ │ │ │ │ ├── H264SwDecApi.h
│ │ │ │ │ │ └── basetype.h
│ │ │ │ │ │ ├── omxdl
│ │ │ │ │ │ ├── arm11
│ │ │ │ │ │ │ ├── ARM_DELIVERY.TXT
│ │ │ │ │ │ │ ├── ARM_MANIFEST.TXT
│ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ ├── armCOMM.h
│ │ │ │ │ │ │ │ ├── armCOMM_BitDec_s.h
│ │ │ │ │ │ │ │ ├── armCOMM_Bitstream.h
│ │ │ │ │ │ │ │ ├── armCOMM_IDCTTable.h
│ │ │ │ │ │ │ │ ├── armCOMM_IDCT_s.h
│ │ │ │ │ │ │ │ ├── armCOMM_MaskTable.h
│ │ │ │ │ │ │ │ ├── armCOMM_Version.h
│ │ │ │ │ │ │ │ ├── armCOMM_s.h
│ │ │ │ │ │ │ │ ├── armOMX.h
│ │ │ │ │ │ │ │ ├── omxtypes.h
│ │ │ │ │ │ │ │ └── omxtypes_s.h
│ │ │ │ │ │ │ ├── build_vc.pl
│ │ │ │ │ │ │ ├── filelist_vc.txt
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ │ ├── armCOMM.c
│ │ │ │ │ │ │ │ ├── armCOMM_Bitstream.c
│ │ │ │ │ │ │ │ ├── armCOMM_IDCTTable.c
│ │ │ │ │ │ │ │ └── armCOMM_MaskTable.c
│ │ │ │ │ │ │ └── vc
│ │ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ ├── armVC.h
│ │ │ │ │ │ │ │ ├── armVCCOMM_s.h
│ │ │ │ │ │ │ │ ├── omxVC.h
│ │ │ │ │ │ │ │ └── omxVC_s.h
│ │ │ │ │ │ │ │ ├── comm
│ │ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ │ │ ├── omxVCCOMM_Copy16x16_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCCOMM_Copy8x8_s.s
│ │ │ │ │ │ │ │ │ └── omxVCCOMM_ExpandFrame_I_s.s
│ │ │ │ │ │ │ │ ├── m4p10
│ │ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ │ └── armVCM4P10_CAVLCTables.h
│ │ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_Average_4x_Align_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_CAVLCTables.c
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_DeblockingChroma_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_DeblockingLuma_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_DecodeCoeffsToPair_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_DequantTables_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_Align_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_Copy_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_DiagCopy_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_HalfDiagHorVer4x4_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_HalfDiagVerHor4x4_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_HalfHor4x4_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_Interpolate_Chroma_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_QuantTables_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_TransformResidual4x4_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_UnpackBlock4x4_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_DeblockChroma_I.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_DeblockLuma_I.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_DecodeChromaDcCoeffsToPairCAVLC.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_DecodeCoeffsToPairCAVLC.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_DequantTransformResidualFromPairAndAdd_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingChroma_HorEdge_I_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingChroma_VerEdge_I_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingLuma_HorEdge_I_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingLuma_VerEdge_I_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_InterpolateChroma.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_InterpolateLuma_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_PredictIntraChroma_8x8_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_PredictIntra_16x16_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_PredictIntra_4x4_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_TransformDequantChromaDCFromPair_s.s
│ │ │ │ │ │ │ │ │ └── omxVCM4P10_TransformDequantLumaDCFromPair_s.s
│ │ │ │ │ │ │ │ ├── m4p2
│ │ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_Huff_Tables_VLC.h
│ │ │ │ │ │ │ │ │ └── armVCM4P2_ZigZag_Tables.h
│ │ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_Clip8_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_DecodeVLCZigzag_AC_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_Huff_Tables_VLC.c
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_Lookup_Tables.c
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_SetPredDir_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_Zigzag_Tables.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeBlockCoef_Inter.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeBlockCoef_Intra.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodePadMV_PVOP_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeVLCZigzag_Inter_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeVLCZigzag_IntraACVLC_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeVLCZigzag_IntraDCVLC_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_FindMVpred_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_IDCT8x8blk_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_MCReconBlock_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_PredictReconCoefIntra_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_QuantInvInter_I_s.s
│ │ │ │ │ │ │ │ │ └── omxVCM4P2_QuantInvIntra_I_s.s
│ │ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ │ └── armVC_Version.c
│ │ │ │ │ │ ├── arm_neon
│ │ │ │ │ │ │ ├── ARM_DELIVERY.TXT
│ │ │ │ │ │ │ ├── ARM_MANIFEST.TXT
│ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ ├── armCOMM.h
│ │ │ │ │ │ │ │ ├── armCOMM_BitDec_s.h
│ │ │ │ │ │ │ │ ├── armCOMM_Bitstream.h
│ │ │ │ │ │ │ │ ├── armCOMM_IDCTTable.h
│ │ │ │ │ │ │ │ ├── armCOMM_IDCT_s.h
│ │ │ │ │ │ │ │ ├── armCOMM_MaskTable.h
│ │ │ │ │ │ │ │ ├── armCOMM_Version.h
│ │ │ │ │ │ │ │ ├── armCOMM_s.h
│ │ │ │ │ │ │ │ ├── armOMX.h
│ │ │ │ │ │ │ │ ├── omxtypes.h
│ │ │ │ │ │ │ │ └── omxtypes_s.h
│ │ │ │ │ │ │ ├── build_vc.pl
│ │ │ │ │ │ │ ├── filelist_vc.txt
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ │ ├── armCOMM.c
│ │ │ │ │ │ │ │ ├── armCOMM_Bitstream.c
│ │ │ │ │ │ │ │ ├── armCOMM_IDCTTable.c
│ │ │ │ │ │ │ │ └── armCOMM_MaskTable.c
│ │ │ │ │ │ │ └── vc
│ │ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ ├── armVC.h
│ │ │ │ │ │ │ │ ├── armVCCOMM_s.h
│ │ │ │ │ │ │ │ ├── omxVC.h
│ │ │ │ │ │ │ │ └── omxVC_s.h
│ │ │ │ │ │ │ │ ├── comm
│ │ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ │ │ ├── omxVCCOMM_Copy16x16_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCCOMM_Copy8x8_s.s
│ │ │ │ │ │ │ │ │ └── omxVCCOMM_ExpandFrame_I_s.s
│ │ │ │ │ │ │ │ ├── m4p10
│ │ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ │ └── armVCM4P10_CAVLCTables.h
│ │ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_Average_4x_Align_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_CAVLCTables.c
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_DeblockingChroma_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_DeblockingLuma_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_DecodeCoeffsToPair_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_DequantTables_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_Align_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_Copy_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_DiagCopy_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_HalfDiagHorVer4x4_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_HalfDiagVerHor4x4_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_HalfHor4x4_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_Interpolate_Chroma_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_QuantTables_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_TransformResidual4x4_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_UnpackBlock4x4_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_DeblockChroma_I.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_DeblockLuma_I.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_DecodeChromaDcCoeffsToPairCAVLC.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_DecodeCoeffsToPairCAVLC.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_DequantTransformResidualFromPairAndAdd_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingChroma_HorEdge_I_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingChroma_VerEdge_I_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingLuma_HorEdge_I_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingLuma_VerEdge_I_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_InterpolateChroma.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_InterpolateLuma_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_PredictIntraChroma_8x8_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_PredictIntra_16x16_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_PredictIntra_4x4_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_TransformDequantChromaDCFromPair_s.s
│ │ │ │ │ │ │ │ │ └── omxVCM4P10_TransformDequantLumaDCFromPair_s.s
│ │ │ │ │ │ │ │ └── src_gcc
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_Average_4x_Align_unsafe_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_DeblockingChroma_unsafe_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_DeblockingLuma_unsafe_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_DecodeCoeffsToPair_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_DequantTables_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_Align_unsafe_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_Copy_unsafe_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_DiagCopy_unsafe_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_HalfDiagHorVer4x4_unsafe_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_HalfDiagVerHor4x4_unsafe_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_HalfHor4x4_unsafe_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_Interpolate_Chroma_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_QuantTables_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_TransformResidual4x4_s.S
│ │ │ │ │ │ │ │ │ ├── armVCM4P10_UnpackBlock4x4_s.S
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_DeblockLuma_I.S
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_DequantTransformResidualFromPairAndAdd_s.S
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingChroma_HorEdge_I_s.S
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingChroma_VerEdge_I_s.S
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingLuma_HorEdge_I_s.S
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingLuma_VerEdge_I_s.S
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_InterpolateLuma_s.S
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_PredictIntraChroma_8x8_s.S
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_PredictIntra_16x16_s.S
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_PredictIntra_4x4_s.S
│ │ │ │ │ │ │ │ │ ├── omxVCM4P10_TransformDequantChromaDCFromPair_s.S
│ │ │ │ │ │ │ │ │ └── omxVCM4P10_TransformDequantLumaDCFromPair_s.S
│ │ │ │ │ │ │ │ ├── m4p2
│ │ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_Huff_Tables_VLC.h
│ │ │ │ │ │ │ │ │ └── armVCM4P2_ZigZag_Tables.h
│ │ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_Clip8_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_DecodeVLCZigzag_AC_unsafe_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_Huff_Tables_VLC.c
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_Lookup_Tables.c
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_SetPredDir_s.s
│ │ │ │ │ │ │ │ │ ├── armVCM4P2_Zigzag_Tables.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeBlockCoef_Inter.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeBlockCoef_Intra.c
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodePadMV_PVOP_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeVLCZigzag_Inter_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeVLCZigzag_IntraACVLC_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeVLCZigzag_IntraDCVLC_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_FindMVpred_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_IDCT8x8blk_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_MCReconBlock_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_PredictReconCoefIntra_s.s
│ │ │ │ │ │ │ │ │ ├── omxVCM4P2_QuantInvInter_I_s.s
│ │ │ │ │ │ │ │ │ └── omxVCM4P2_QuantInvIntra_I_s.s
│ │ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ │ └── armVC_Version.c
│ │ │ │ │ │ └── reference
│ │ │ │ │ │ │ ├── ARM_DELIVERY.TXT
│ │ │ │ │ │ │ ├── ARM_MANIFEST.TXT
│ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ ├── armCOMM.h
│ │ │ │ │ │ │ ├── armCOMM_Bitstream.h
│ │ │ │ │ │ │ ├── armCOMM_Version.h
│ │ │ │ │ │ │ ├── armOMX.h
│ │ │ │ │ │ │ └── omxtypes.h
│ │ │ │ │ │ │ ├── build_vc.pl
│ │ │ │ │ │ │ ├── filelist_vc.txt
│ │ │ │ │ │ │ ├── src
│ │ │ │ │ │ │ ├── armCOMM.c
│ │ │ │ │ │ │ └── armCOMM_Bitstream.c
│ │ │ │ │ │ │ └── vc
│ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ ├── armVC.h
│ │ │ │ │ │ │ └── omxVC.h
│ │ │ │ │ │ │ ├── comm
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ │ ├── armVCCOMM_Average.c
│ │ │ │ │ │ │ │ ├── armVCCOMM_SAD.c
│ │ │ │ │ │ │ │ ├── omxVCCOMM_Average_16x.c
│ │ │ │ │ │ │ │ ├── omxVCCOMM_Average_8x.c
│ │ │ │ │ │ │ │ ├── omxVCCOMM_ComputeTextureErrorBlock.c
│ │ │ │ │ │ │ │ ├── omxVCCOMM_ComputeTextureErrorBlock_SAD.c
│ │ │ │ │ │ │ │ ├── omxVCCOMM_Copy16x16.c
│ │ │ │ │ │ │ │ ├── omxVCCOMM_Copy8x8.c
│ │ │ │ │ │ │ │ ├── omxVCCOMM_ExpandFrame_I.c
│ │ │ │ │ │ │ │ ├── omxVCCOMM_LimitMVToRect.c
│ │ │ │ │ │ │ │ ├── omxVCCOMM_SAD_16x.c
│ │ │ │ │ │ │ │ └── omxVCCOMM_SAD_8x.c
│ │ │ │ │ │ │ ├── m4p10
│ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ └── armVCM4P10_CAVLCTables.h
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ │ ├── armVCM4P10_CAVLCTables.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_CompareMotionCostToMV.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_DeBlockPixel.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_DecodeCoeffsToPair.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_DequantTables.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_FwdTransformResidual4x4.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateHalfDiag_Luma.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateHalfHor_Luma.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_InterpolateHalfVer_Luma.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_Interpolate_Chroma.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_Interpolate_Luma.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_PredictIntraDC4x4.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_QuantTables.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_SADQuar.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_TransformResidual4x4.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_UnpackBlock2x2.c
│ │ │ │ │ │ │ │ ├── armVCM4P10_UnpackBlock4x4.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_Average_4x.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_BlockMatch_Half.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_BlockMatch_Integer.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_BlockMatch_Quarter.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_DeblockChroma_I.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_DeblockLuma_I.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_DecodeChromaDcCoeffsToPairCAVLC.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_DecodeCoeffsToPairCAVLC.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_DequantTransformResidualFromPairAndAdd.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingChroma_HorEdge_I.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingChroma_VerEdge_I.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingLuma_HorEdge_I.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_FilterDeblockingLuma_VerEdge_I.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_GetVLCInfo.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_InterpolateChroma.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_InterpolateHalfHor_Luma.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_InterpolateHalfVer_Luma.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_InterpolateLuma.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_InvTransformDequant_ChromaDC.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_InvTransformDequant_LumaDC.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_InvTransformResidualAndAdd.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_MEGetBufSize.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_MEInit.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_MotionEstimationMB.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_PredictIntraChroma_8x8.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_PredictIntra_16x16.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_PredictIntra_4x4.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_SADQuar_16x.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_SADQuar_4x.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_SADQuar_8x.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_SAD_4x.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_SATD_4x4.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_SubAndTransformQDQResidual.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_TransformDequantChromaDCFromPair.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_TransformDequantLumaDCFromPair.c
│ │ │ │ │ │ │ │ ├── omxVCM4P10_TransformQuant_ChromaDC.c
│ │ │ │ │ │ │ │ └── omxVCM4P10_TransformQuant_LumaDC.c
│ │ │ │ │ │ │ ├── m4p2
│ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ ├── armVCM4P2_DCT_Table.h
│ │ │ │ │ │ │ │ ├── armVCM4P2_Huff_Tables_VLC.h
│ │ │ │ │ │ │ │ └── armVCM4P2_ZigZag_Tables.h
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ │ ├── armVCM4P2_ACDCPredict.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_BlockMatch_Half.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_BlockMatch_Integer.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_CheckVLCEscapeMode.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_CompareMV.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_DCT_Table.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_DecodeVLCZigzag_intra.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_EncodeVLCZigzag_intra.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_FillVLCBuffer.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_FillVLDBuffer.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_GetVLCBits.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_Huff_Tables_VLC.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_PutVLCBits.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_SetPredDir.c
│ │ │ │ │ │ │ │ ├── armVCM4P2_Zigzag_Tables.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_BlockMatch_Half_16x16.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_BlockMatch_Half_8x8.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_BlockMatch_Integer_16x16.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_BlockMatch_Integer_8x8.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_DCT8x8blk.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeBlockCoef_Inter.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeBlockCoef_Intra.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodePadMV_PVOP.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeVLCZigzag_Inter.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeVLCZigzag_IntraACVLC.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_DecodeVLCZigzag_IntraDCVLC.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_EncodeMV.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_EncodeVLCZigzag_Inter.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_EncodeVLCZigzag_IntraACVLC.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_EncodeVLCZigzag_IntraDCVLC.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_FindMVpred.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_IDCT8x8blk.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_MCReconBlock.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_MEGetBufSize.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_MEInit.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_MotionEstimationMB.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_PredictReconCoefIntra.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_QuantInter_I.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_QuantIntra_I.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_QuantInvInter_I.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_QuantInvIntra_I.c
│ │ │ │ │ │ │ │ ├── omxVCM4P2_TransRecBlockCoef_inter.c
│ │ │ │ │ │ │ │ └── omxVCM4P2_TransRecBlockCoef_intra.c
│ │ │ │ │ │ │ └── src
│ │ │ │ │ │ │ └── armVC_Version.c
│ │ │ │ │ │ └── source
│ │ │ │ │ │ ├── DecTestBench.c
│ │ │ │ │ │ ├── EvaluationTestBench.c
│ │ │ │ │ │ ├── H264SwDecApi.c
│ │ │ │ │ │ ├── TestBenchMultipleInstance.c
│ │ │ │ │ │ ├── arm11_asm
│ │ │ │ │ │ ├── h264bsd_interpolate_chroma_hor.s
│ │ │ │ │ │ ├── h264bsd_interpolate_chroma_hor_ver.s
│ │ │ │ │ │ ├── h264bsd_interpolate_chroma_ver.s
│ │ │ │ │ │ ├── h264bsd_interpolate_hor_half.s
│ │ │ │ │ │ ├── h264bsd_interpolate_hor_quarter.s
│ │ │ │ │ │ ├── h264bsd_interpolate_hor_ver_quarter.s
│ │ │ │ │ │ ├── h264bsd_interpolate_mid_hor.s
│ │ │ │ │ │ ├── h264bsd_interpolate_ver_half.s
│ │ │ │ │ │ ├── h264bsd_interpolate_ver_quarter.s
│ │ │ │ │ │ └── win_asm.bat
│ │ │ │ │ │ ├── arm_neon_asm
│ │ │ │ │ │ ├── h264bsdClearMbLayer.s
│ │ │ │ │ │ ├── h264bsdCountLeadingZeros.s
│ │ │ │ │ │ ├── h264bsdFillRow7.s
│ │ │ │ │ │ ├── h264bsdFlushBits.s
│ │ │ │ │ │ └── h264bsdWriteMacroblock.s
│ │ │ │ │ │ ├── arm_neon_asm_gcc
│ │ │ │ │ │ ├── asm_common.S
│ │ │ │ │ │ ├── h264bsdClearMbLayer.S
│ │ │ │ │ │ ├── h264bsdCountLeadingZeros.S
│ │ │ │ │ │ ├── h264bsdFillRow7.S
│ │ │ │ │ │ ├── h264bsdFlushBits.S
│ │ │ │ │ │ └── h264bsdWriteMacroblock.S
│ │ │ │ │ │ ├── h264bsd_byte_stream.c
│ │ │ │ │ │ ├── h264bsd_byte_stream.h
│ │ │ │ │ │ ├── h264bsd_cavlc.c
│ │ │ │ │ │ ├── h264bsd_cavlc.h
│ │ │ │ │ │ ├── h264bsd_cfg.h
│ │ │ │ │ │ ├── h264bsd_conceal.c
│ │ │ │ │ │ ├── h264bsd_conceal.h
│ │ │ │ │ │ ├── h264bsd_container.h
│ │ │ │ │ │ ├── h264bsd_deblocking.c
│ │ │ │ │ │ ├── h264bsd_deblocking.h
│ │ │ │ │ │ ├── h264bsd_decoder.c
│ │ │ │ │ │ ├── h264bsd_decoder.h
│ │ │ │ │ │ ├── h264bsd_dpb.c
│ │ │ │ │ │ ├── h264bsd_dpb.h
│ │ │ │ │ │ ├── h264bsd_image.c
│ │ │ │ │ │ ├── h264bsd_image.h
│ │ │ │ │ │ ├── h264bsd_inter_prediction.c
│ │ │ │ │ │ ├── h264bsd_inter_prediction.h
│ │ │ │ │ │ ├── h264bsd_intra_prediction.c
│ │ │ │ │ │ ├── h264bsd_intra_prediction.h
│ │ │ │ │ │ ├── h264bsd_macroblock_layer.c
│ │ │ │ │ │ ├── h264bsd_macroblock_layer.h
│ │ │ │ │ │ ├── h264bsd_nal_unit.c
│ │ │ │ │ │ ├── h264bsd_nal_unit.h
│ │ │ │ │ │ ├── h264bsd_neighbour.c
│ │ │ │ │ │ ├── h264bsd_neighbour.h
│ │ │ │ │ │ ├── h264bsd_pic_order_cnt.c
│ │ │ │ │ │ ├── h264bsd_pic_order_cnt.h
│ │ │ │ │ │ ├── h264bsd_pic_param_set.c
│ │ │ │ │ │ ├── h264bsd_pic_param_set.h
│ │ │ │ │ │ ├── h264bsd_reconstruct.c
│ │ │ │ │ │ ├── h264bsd_reconstruct.h
│ │ │ │ │ │ ├── h264bsd_sei.c
│ │ │ │ │ │ ├── h264bsd_sei.h
│ │ │ │ │ │ ├── h264bsd_seq_param_set.c
│ │ │ │ │ │ ├── h264bsd_seq_param_set.h
│ │ │ │ │ │ ├── h264bsd_slice_data.c
│ │ │ │ │ │ ├── h264bsd_slice_data.h
│ │ │ │ │ │ ├── h264bsd_slice_group_map.c
│ │ │ │ │ │ ├── h264bsd_slice_group_map.h
│ │ │ │ │ │ ├── h264bsd_slice_header.c
│ │ │ │ │ │ ├── h264bsd_slice_header.h
│ │ │ │ │ │ ├── h264bsd_storage.c
│ │ │ │ │ │ ├── h264bsd_storage.h
│ │ │ │ │ │ ├── h264bsd_stream.c
│ │ │ │ │ │ ├── h264bsd_stream.h
│ │ │ │ │ │ ├── h264bsd_transform.c
│ │ │ │ │ │ ├── h264bsd_transform.h
│ │ │ │ │ │ ├── h264bsd_util.c
│ │ │ │ │ │ ├── h264bsd_util.h
│ │ │ │ │ │ ├── h264bsd_vlc.c
│ │ │ │ │ │ ├── h264bsd_vlc.h
│ │ │ │ │ │ ├── h264bsd_vui.c
│ │ │ │ │ │ └── h264bsd_vui.h
│ │ │ │ ├── raw
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ ├── NOTICE
│ │ │ │ │ ├── SoftRaw.cpp
│ │ │ │ │ └── SoftRaw.h
│ │ │ │ └── vorbis
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ └── dec
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ ├── NOTICE
│ │ │ │ │ ├── SoftVorbis.cpp
│ │ │ │ │ └── SoftVorbis.h
│ │ │ ├── colorconversion
│ │ │ │ ├── Android.mk
│ │ │ │ ├── ColorConverter.cpp
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── NOTICE
│ │ │ │ └── SoftwareRenderer.cpp
│ │ │ ├── foundation
│ │ │ │ ├── AAtomizer.cpp
│ │ │ │ ├── ABitReader.cpp
│ │ │ │ ├── ABuffer.cpp
│ │ │ │ ├── AHandler.cpp
│ │ │ │ ├── AHierarchicalStateMachine.cpp
│ │ │ │ ├── ALooper.cpp
│ │ │ │ ├── ALooperRoster.cpp
│ │ │ │ ├── AMessage.cpp
│ │ │ │ ├── AString.cpp
│ │ │ │ ├── Android.mk
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── NOTICE
│ │ │ │ ├── base64.cpp
│ │ │ │ └── hexdump.cpp
│ │ │ ├── httplive
│ │ │ │ ├── Android.mk
│ │ │ │ ├── LiveDataSource.cpp
│ │ │ │ ├── LiveDataSource.h
│ │ │ │ ├── LiveSession.cpp
│ │ │ │ ├── M3UParser.cpp
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ └── NOTICE
│ │ │ ├── id3
│ │ │ │ ├── Android.mk
│ │ │ │ ├── ID3.cpp
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── NOTICE
│ │ │ │ └── testid3.cpp
│ │ │ ├── include
│ │ │ │ ├── AACEncoder.h
│ │ │ │ ├── AACExtractor.h
│ │ │ │ ├── AMRExtractor.h
│ │ │ │ ├── AVIExtractor.h
│ │ │ │ ├── AwesomePlayer.h
│ │ │ │ ├── ChromiumHTTPDataSource.h
│ │ │ │ ├── DRMExtractor.h
│ │ │ │ ├── DataUriSource.h
│ │ │ │ ├── ESDS.h
│ │ │ │ ├── FLACExtractor.h
│ │ │ │ ├── FragmentedMP4Extractor.h
│ │ │ │ ├── FragmentedMP4Parser.h
│ │ │ │ ├── HTTPBase.h
│ │ │ │ ├── ID3.h
│ │ │ │ ├── LiveSession.h
│ │ │ │ ├── M3UParser.h
│ │ │ │ ├── MP3Extractor.h
│ │ │ │ ├── MP3Seeker.h
│ │ │ │ ├── MPEG2PSExtractor.h
│ │ │ │ ├── MPEG2TSExtractor.h
│ │ │ │ ├── MPEG4Extractor.h
│ │ │ │ ├── NuCachedSource2.h
│ │ │ │ ├── OMX.h
│ │ │ │ ├── OMXNodeInstance.h
│ │ │ │ ├── OggExtractor.h
│ │ │ │ ├── SampleIterator.h
│ │ │ │ ├── SampleTable.h
│ │ │ │ ├── SimpleSoftOMXComponent.h
│ │ │ │ ├── SoftOMXComponent.h
│ │ │ │ ├── SoftwareRenderer.h
│ │ │ │ ├── StagefrightMetadataRetriever.h
│ │ │ │ ├── ThrottledSource.h
│ │ │ │ ├── TimedEventQueue.h
│ │ │ │ ├── VBRISeeker.h
│ │ │ │ ├── WAVExtractor.h
│ │ │ │ ├── WVMExtractor.h
│ │ │ │ ├── XINGSeeker.h
│ │ │ │ ├── avc_utils.h
│ │ │ │ └── chromium_http_stub.h
│ │ │ ├── matroska
│ │ │ │ ├── Android.mk
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── MatroskaExtractor.cpp
│ │ │ │ ├── MatroskaExtractor.h
│ │ │ │ └── NOTICE
│ │ │ ├── mp4
│ │ │ │ ├── FragmentedMP4Parser.cpp
│ │ │ │ ├── TrackFragment.cpp
│ │ │ │ └── TrackFragment.h
│ │ │ ├── mpeg2ts
│ │ │ │ ├── ATSParser.cpp
│ │ │ │ ├── ATSParser.h
│ │ │ │ ├── Android.mk
│ │ │ │ ├── AnotherPacketSource.cpp
│ │ │ │ ├── AnotherPacketSource.h
│ │ │ │ ├── ESQueue.cpp
│ │ │ │ ├── ESQueue.h
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── MPEG2PSExtractor.cpp
│ │ │ │ ├── MPEG2TSExtractor.cpp
│ │ │ │ └── NOTICE
│ │ │ ├── omx
│ │ │ │ ├── Android.mk
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── NOTICE
│ │ │ │ ├── OMX.cpp
│ │ │ │ ├── OMXMaster.cpp
│ │ │ │ ├── OMXMaster.h
│ │ │ │ ├── OMXNodeInstance.cpp
│ │ │ │ ├── SimpleSoftOMXComponent.cpp
│ │ │ │ ├── SoftOMXComponent.cpp
│ │ │ │ ├── SoftOMXPlugin.cpp
│ │ │ │ ├── SoftOMXPlugin.h
│ │ │ │ └── tests
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ │ ├── NOTICE
│ │ │ │ │ ├── OMXHarness.cpp
│ │ │ │ │ └── OMXHarness.h
│ │ │ ├── rtsp
│ │ │ │ ├── AAMRAssembler.cpp
│ │ │ │ ├── AAMRAssembler.h
│ │ │ │ ├── AAVCAssembler.cpp
│ │ │ │ ├── AAVCAssembler.h
│ │ │ │ ├── AH263Assembler.cpp
│ │ │ │ ├── AH263Assembler.h
│ │ │ │ ├── AMPEG2TSAssembler.cpp
│ │ │ │ ├── AMPEG2TSAssembler.h
│ │ │ │ ├── AMPEG4AudioAssembler.cpp
│ │ │ │ ├── AMPEG4AudioAssembler.h
│ │ │ │ ├── AMPEG4ElementaryAssembler.cpp
│ │ │ │ ├── AMPEG4ElementaryAssembler.h
│ │ │ │ ├── APacketSource.cpp
│ │ │ │ ├── APacketSource.h
│ │ │ │ ├── ARTPAssembler.cpp
│ │ │ │ ├── ARTPAssembler.h
│ │ │ │ ├── ARTPConnection.cpp
│ │ │ │ ├── ARTPConnection.h
│ │ │ │ ├── ARTPSession.cpp
│ │ │ │ ├── ARTPSession.h
│ │ │ │ ├── ARTPSource.cpp
│ │ │ │ ├── ARTPSource.h
│ │ │ │ ├── ARTPWriter.cpp
│ │ │ │ ├── ARTPWriter.h
│ │ │ │ ├── ARTSPConnection.cpp
│ │ │ │ ├── ARTSPConnection.h
│ │ │ │ ├── ARawAudioAssembler.cpp
│ │ │ │ ├── ARawAudioAssembler.h
│ │ │ │ ├── ASessionDescription.cpp
│ │ │ │ ├── ASessionDescription.h
│ │ │ │ ├── Android.mk
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── MyHandler.h
│ │ │ │ ├── MyTransmitter.h
│ │ │ │ ├── NOTICE
│ │ │ │ ├── UDPPusher.cpp
│ │ │ │ ├── UDPPusher.h
│ │ │ │ ├── VideoSource.h
│ │ │ │ └── rtp_test.cpp
│ │ │ ├── tests
│ │ │ │ ├── Android.mk
│ │ │ │ ├── DummyRecorder.cpp
│ │ │ │ ├── DummyRecorder.h
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── NOTICE
│ │ │ │ └── SurfaceMediaSource_test.cpp
│ │ │ ├── timedtext
│ │ │ │ ├── Android.mk
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── NOTICE
│ │ │ │ ├── TextDescriptions.cpp
│ │ │ │ ├── TextDescriptions.h
│ │ │ │ ├── TimedText3GPPSource.cpp
│ │ │ │ ├── TimedText3GPPSource.h
│ │ │ │ ├── TimedTextDriver.cpp
│ │ │ │ ├── TimedTextPlayer.cpp
│ │ │ │ ├── TimedTextPlayer.h
│ │ │ │ ├── TimedTextSRTSource.cpp
│ │ │ │ ├── TimedTextSRTSource.h
│ │ │ │ ├── TimedTextSource.cpp
│ │ │ │ ├── TimedTextSource.h
│ │ │ │ └── test
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ └── TimedTextSRTSource_test.cpp
│ │ │ ├── wifi-display
│ │ │ │ ├── ANetworkSession.cpp
│ │ │ │ ├── ANetworkSession.h
│ │ │ │ ├── Android.mk
│ │ │ │ ├── Parameters.cpp
│ │ │ │ ├── Parameters.h
│ │ │ │ ├── ParsedMessage.cpp
│ │ │ │ ├── ParsedMessage.h
│ │ │ │ ├── TimeSeries.cpp
│ │ │ │ ├── TimeSeries.h
│ │ │ │ ├── sink
│ │ │ │ │ ├── LinearRegression.cpp
│ │ │ │ │ ├── LinearRegression.h
│ │ │ │ │ ├── RTPSink.cpp
│ │ │ │ │ ├── RTPSink.h
│ │ │ │ │ ├── TunnelRenderer.cpp
│ │ │ │ │ ├── TunnelRenderer.h
│ │ │ │ │ ├── WifiDisplaySink.cpp
│ │ │ │ │ └── WifiDisplaySink.h
│ │ │ │ ├── source
│ │ │ │ │ ├── Converter.cpp
│ │ │ │ │ ├── Converter.h
│ │ │ │ │ ├── MediaPuller.cpp
│ │ │ │ │ ├── MediaPuller.h
│ │ │ │ │ ├── PlaybackSession.cpp
│ │ │ │ │ ├── PlaybackSession.h
│ │ │ │ │ ├── RepeaterSource.cpp
│ │ │ │ │ ├── RepeaterSource.h
│ │ │ │ │ ├── Sender.cpp
│ │ │ │ │ ├── Sender.h
│ │ │ │ │ ├── TSPacketizer.cpp
│ │ │ │ │ ├── TSPacketizer.h
│ │ │ │ │ ├── WifiDisplaySource.cpp
│ │ │ │ │ └── WifiDisplaySource.h
│ │ │ │ ├── udptest.cpp
│ │ │ │ └── wfd.cpp
│ │ │ └── yuv
│ │ │ │ ├── Android.mk
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── NOTICE
│ │ │ │ ├── YUVCanvas.cpp
│ │ │ │ └── YUVImage.cpp
│ │ └── native-lib.cpp
│ ├── java
│ │ └── com
│ │ │ └── zxj
│ │ │ └── android
│ │ │ └── source
│ │ │ └── MainActivity.java
│ └── res
│ │ ├── drawable-v24
│ │ └── ic_launcher_foreground.xml
│ │ ├── drawable
│ │ └── ic_launcher_background.xml
│ │ ├── layout
│ │ └── activity_main.xml
│ │ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher.xml
│ │ └── ic_launcher_round.xml
│ │ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── values-night
│ │ └── themes.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── themes.xml
│ └── test
│ └── java
│ └── com
│ └── zxj
│ └── android
│ └── source
│ └── ExampleUnitTest.java
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea
5 | /.idea/caches
6 | /.idea/libraries
7 | /.idea/modules.xml
8 | /.idea/workspace.xml
9 | /.idea/navEditor.xml
10 | /.idea/assetWizardSettings.xml
11 | .DS_Store
12 | /build
13 | /captures
14 | .externalNativeBuild
15 | .cxx
16 | local.properties
17 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'com.android.application'
3 | }
4 |
5 | android {
6 | compileSdkVersion 30
7 | buildToolsVersion "30.0.0"
8 |
9 | defaultConfig {
10 | applicationId "com.zxj.android.source"
11 | minSdkVersion 16
12 | targetSdkVersion 30
13 | versionCode 1
14 | versionName "1.0"
15 |
16 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
17 | externalNativeBuild {
18 | cmake {
19 | cppFlags ''
20 | }
21 | }
22 | }
23 |
24 | buildTypes {
25 | release {
26 | minifyEnabled false
27 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
28 | }
29 | }
30 | compileOptions {
31 | sourceCompatibility JavaVersion.VERSION_1_8
32 | targetCompatibility JavaVersion.VERSION_1_8
33 | }
34 | externalNativeBuild {
35 | cmake {
36 | path file('src/main/cpp/CMakeLists.txt')
37 | version '3.10.2'
38 | }
39 | }
40 | buildFeatures {
41 | viewBinding true
42 | }
43 | }
44 |
45 | dependencies {
46 |
47 | implementation 'androidx.appcompat:appcompat:1.2.0'
48 | implementation 'com.google.android.material:material:1.2.1'
49 | implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
50 | testImplementation 'junit:junit:4.+'
51 | androidTestImplementation 'androidx.test.ext:junit:1.1.3'
52 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
53 | }
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/zxj/android/source/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package com.zxj.android.source;
2 |
3 | import android.content.Context;
4 |
5 | import androidx.test.platform.app.InstrumentationRegistry;
6 | import androidx.test.ext.junit.runners.AndroidJUnit4;
7 |
8 | import org.junit.Test;
9 | import org.junit.runner.RunWith;
10 |
11 | import static org.junit.Assert.*;
12 |
13 | /**
14 | * Instrumented test, which will execute on an Android device.
15 | *
16 | * @see Testing documentation
17 | */
18 | @RunWith(AndroidJUnit4.class)
19 | public class ExampleInstrumentedTest {
20 | @Test
21 | public void useAppContext() {
22 | // Context of the app under test.
23 | Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
24 | assertEquals("com.zxj.android.source", appContext.getPackageName());
25 | }
26 | }
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/cpp/CMakeLists.txt:
--------------------------------------------------------------------------------
1 |
2 | cmake_minimum_required(VERSION 3.10.2)
3 |
4 |
5 | project("source")
6 |
7 | include_directories(include)
8 | #include_directories(include/media/)
9 |
10 | #file(GLOB_RECURSE MIRACASTSRC
11 | # "media/libstagefright/*.h"
12 | # "media/libstagefright/*.cpp"
13 | # )
14 |
15 | #file(GLOB source_file libstagefright/*.h libstagefright/*.cpp)
16 | file(GLOB_RECURSE source_file libstagefright/*.h libstagefright/*.cpp)
17 |
18 | add_library(
19 | native-lib
20 | SHARED
21 |
22 | ${source_file})
23 |
24 |
25 | find_library(
26 | log-lib
27 | log )
28 |
29 | target_link_libraries(
30 | native-lib
31 | ${log-lib} )
--------------------------------------------------------------------------------
/app/src/main/cpp/include/android/asset_manager_jni.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 |
18 | #ifndef ANDROID_ASSET_MANAGER_JNI_H
19 | #define ANDROID_ASSET_MANAGER_JNI_H
20 |
21 | #include
22 | #include
23 |
24 | #ifdef __cplusplus
25 | extern "C" {
26 | #endif
27 |
28 | /**
29 | * Given a Dalvik AssetManager object, obtain the corresponding native AAssetManager
30 | * object. Note that the caller is responsible for obtaining and holding a VM reference
31 | * to the jobject to prevent its being garbage collected while the native object is
32 | * in use.
33 | */
34 | AAssetManager* AAssetManager_fromJava(JNIEnv* env, jobject assetManager);
35 |
36 | #ifdef __cplusplus
37 | };
38 | #endif
39 |
40 | #endif // ANDROID_ASSET_MANAGER_JNI_H
41 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/android/native_window_jni.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_NATIVE_WINDOW_JNI_H
18 | #define ANDROID_NATIVE_WINDOW_JNI_H
19 |
20 | #include
21 |
22 | #include
23 |
24 | #ifdef __cplusplus
25 | extern "C" {
26 | #endif
27 |
28 | /**
29 | * Return the ANativeWindow associated with a Java Surface object,
30 | * for interacting with it through native code. This acquires a reference
31 | * on the ANativeWindow that is returned; be sure to use ANativeWindow_release()
32 | * when done with it so that it doesn't leak.
33 | */
34 | ANativeWindow* ANativeWindow_fromSurface(JNIEnv* env, jobject surface);
35 |
36 | #ifdef __cplusplus
37 | };
38 | #endif
39 |
40 | #endif // ANDROID_NATIVE_WINDOW_H
41 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/android/obb.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 |
18 | #ifndef ANDROID_OBB_H
19 | #define ANDROID_OBB_H
20 |
21 | #include
22 |
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | struct AObbInfo;
28 | typedef struct AObbInfo AObbInfo;
29 |
30 | enum {
31 | AOBBINFO_OVERLAY = 0x0001,
32 | };
33 |
34 | /**
35 | * Scan an OBB and get information about it.
36 | */
37 | AObbInfo* AObbScanner_getObbInfo(const char* filename);
38 |
39 | /**
40 | * Destroy the AObbInfo object. You must call this when finished with the object.
41 | */
42 | void AObbInfo_delete(AObbInfo* obbInfo);
43 |
44 | /**
45 | * Get the package name for the OBB.
46 | */
47 | const char* AObbInfo_getPackageName(AObbInfo* obbInfo);
48 |
49 | /**
50 | * Get the version of an OBB file.
51 | */
52 | int32_t AObbInfo_getVersion(AObbInfo* obbInfo);
53 |
54 | /**
55 | * Get the flags of an OBB file.
56 | */
57 | int32_t AObbInfo_getFlags(AObbInfo* obbInfo);
58 |
59 | #ifdef __cplusplus
60 | };
61 | #endif
62 |
63 | #endif // ANDROID_OBB_H
64 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/android/rect.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 |
18 | #ifndef ANDROID_RECT_H
19 | #define ANDROID_RECT_H
20 |
21 | #include
22 |
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | typedef struct ARect {
28 | #ifdef __cplusplus
29 | typedef int32_t value_type;
30 | #endif
31 | int32_t left;
32 | int32_t top;
33 | int32_t right;
34 | int32_t bottom;
35 | } ARect;
36 |
37 | #ifdef __cplusplus
38 | };
39 | #endif
40 |
41 | #endif // ANDROID_RECT_H
42 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/cpustats/README.txt:
--------------------------------------------------------------------------------
1 | This is a static library of CPU usage statistics, originally written
2 | for audio but most are not actually specific to audio.
3 |
4 | Requirements to be here:
5 | * should be related to CPU usage statistics
6 | * should be portable to host; avoid Android OS dependencies without a conditional
7 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/cutils/log.h:
--------------------------------------------------------------------------------
1 | #include
2 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/gui/DummyConsumer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2012 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_GUI_DUMMYCONSUMER_H
18 | #define ANDROID_GUI_DUMMYCONSUMER_H
19 |
20 | #include
21 |
22 | namespace android {
23 | // ----------------------------------------------------------------------------
24 |
25 |
26 | // The DummyConsumer does not keep a reference to BufferQueue
27 | // unlike SurfaceTexture. This prevents a circular reference from
28 | // forming without having to use a ProxyConsumerListener
29 | class DummyConsumer : public BufferQueue::ConsumerListener {
30 | public:
31 | DummyConsumer();
32 | virtual ~DummyConsumer();
33 | protected:
34 |
35 | // Implementation of the BufferQueue::ConsumerListener interface. These
36 | // calls are used to notify the SurfaceTexture of asynchronous events in the
37 | // BufferQueue.
38 | virtual void onFrameAvailable();
39 | virtual void onBuffersReleased();
40 |
41 | };
42 |
43 | // ----------------------------------------------------------------------------
44 | }; // namespace android
45 |
46 | #endif // ANDROID_GUI_DUMMYCONSUMER_H
47 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/gui/GuiConfig.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2012 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_GUI_CONFIG_H
18 | #define ANDROID_GUI_CONFIG_H
19 |
20 | #include
21 |
22 | namespace android {
23 |
24 | // Append the libgui configuration details to configStr.
25 | void appendGuiConfigString(String8& configStr);
26 |
27 | }; // namespace android
28 |
29 | #endif /*ANDROID_GUI_CONFIG_H*/
30 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/ExtendedAudioBufferProvider.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2012 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_EXTENDED_AUDIO_BUFFER_PROVIDER_H
18 | #define ANDROID_EXTENDED_AUDIO_BUFFER_PROVIDER_H
19 |
20 | #include
21 |
22 | namespace android {
23 |
24 | class ExtendedAudioBufferProvider : public AudioBufferProvider {
25 | public:
26 | virtual size_t framesReady() const = 0; // see description at AudioFlinger.h
27 | };
28 |
29 | } // namespace android
30 |
31 | #endif // ANDROID_EXTENDED_AUDIO_BUFFER_PROVIDER_H
32 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/IMediaPlayerClient.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_IMEDIAPLAYERCLIENT_H
18 | #define ANDROID_IMEDIAPLAYERCLIENT_H
19 |
20 | #include
21 | #include
22 | #include
23 |
24 | namespace android {
25 |
26 | class IMediaPlayerClient: public IInterface
27 | {
28 | public:
29 | DECLARE_META_INTERFACE(MediaPlayerClient);
30 |
31 | virtual void notify(int msg, int ext1, int ext2, const Parcel *obj) = 0;
32 | };
33 |
34 | // ----------------------------------------------------------------------------
35 |
36 | class BnMediaPlayerClient: public BnInterface
37 | {
38 | public:
39 | virtual status_t onTransact( uint32_t code,
40 | const Parcel& data,
41 | Parcel* reply,
42 | uint32_t flags = 0);
43 | };
44 |
45 | }; // namespace android
46 |
47 | #endif // ANDROID_IMEDIAPLAYERCLIENT_H
48 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/IMediaRecorderClient.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_IMEDIARECORDERCLIENT_H
18 | #define ANDROID_IMEDIARECORDERCLIENT_H
19 |
20 | #include
21 | #include
22 | #include
23 |
24 | namespace android {
25 |
26 | class IMediaRecorderClient: public IInterface
27 | {
28 | public:
29 | DECLARE_META_INTERFACE(MediaRecorderClient);
30 |
31 | virtual void notify(int msg, int ext1, int ext2) = 0;
32 | };
33 |
34 | // ----------------------------------------------------------------------------
35 |
36 | class BnMediaRecorderClient: public BnInterface
37 | {
38 | public:
39 | virtual status_t onTransact( uint32_t code,
40 | const Parcel& data,
41 | Parcel* reply,
42 | uint32_t flags = 0);
43 | };
44 |
45 | }; // namespace android
46 |
47 | #endif // ANDROID_IMEDIARECORDERCLIENT_H
48 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/MemoryLeakTrackUtil.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2011, The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | #ifndef MEMORY_LEAK_TRACK_UTIL_H
17 | #define MEMORY_LEAK_TRACK_UTIL_H
18 |
19 | namespace android {
20 | /*
21 | * Dump the memory address of the calling process to the given fd.
22 | */
23 | extern void dumpMemoryAddresses(int fd);
24 |
25 | };
26 |
27 | #endif // MEMORY_LEAK_TRACK_UTIL_H
28 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/nbaio/roundup.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2012 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ROUNDUP_H
18 | #define ROUNDUP_H
19 |
20 | #ifdef __cplusplus
21 | extern "C" {
22 | #endif
23 |
24 | // Round up to the next highest power of 2
25 | unsigned roundup(unsigned v);
26 |
27 | #ifdef __cplusplus
28 | }
29 | #endif
30 |
31 | #endif // ROUNDUP_H
32 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/openmax/OMX_Other.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/include/media/openmax/OMX_Other.h
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/JPEGSource.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2009 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef JPEG_SOURCE_H_
18 |
19 | #define JPEG_SOURCE_H_
20 |
21 | #include
22 |
23 | namespace android {
24 |
25 | class DataSource;
26 | class MediaBufferGroup;
27 |
28 | struct JPEGSource : public MediaSource {
29 | JPEGSource(const sp &source);
30 |
31 | virtual status_t start(MetaData *params = NULL);
32 | virtual status_t stop();
33 | virtual sp getFormat();
34 |
35 | virtual status_t read(
36 | MediaBuffer **buffer, const ReadOptions *options = NULL);
37 |
38 | protected:
39 | virtual ~JPEGSource();
40 |
41 | private:
42 | sp mSource;
43 | MediaBufferGroup *mGroup;
44 | bool mStarted;
45 | off64_t mSize;
46 | int32_t mWidth, mHeight;
47 | off64_t mOffset;
48 |
49 | status_t parseJPEG();
50 |
51 | JPEGSource(const JPEGSource &);
52 | JPEGSource &operator=(const JPEGSource &);
53 | };
54 |
55 | } // namespace android
56 |
57 | #endif // JPEG_SOURCE_H_
58 |
59 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/NativeWindowWrapper.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2011 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef NATIVE_WINDOW_WRAPPER_H_
18 |
19 | #define NATIVE_WINDOW_WRAPPER_H_
20 |
21 | #include
22 |
23 | namespace android {
24 |
25 | // SurfaceTextureClient derives from ANativeWindow which derives from multiple
26 | // base classes, in order to carry it in AMessages, we'll temporarily wrap it
27 | // into a NativeWindowWrapper.
28 |
29 | struct NativeWindowWrapper : RefBase {
30 | NativeWindowWrapper(
31 | const sp &surfaceTextureClient) :
32 | mSurfaceTextureClient(surfaceTextureClient) { }
33 |
34 | sp getNativeWindow() const {
35 | return mSurfaceTextureClient;
36 | }
37 |
38 | sp getSurfaceTextureClient() const {
39 | return mSurfaceTextureClient;
40 | }
41 |
42 | private:
43 | const sp mSurfaceTextureClient;
44 |
45 | DISALLOW_EVIL_CONSTRUCTORS(NativeWindowWrapper);
46 | };
47 |
48 | } // namespace android
49 |
50 | #endif // NATIVE_WINDOW_WRAPPER_H_
51 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/OMXClient.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2009 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef OMX_CLIENT_H_
18 |
19 | #define OMX_CLIENT_H_
20 |
21 | #include
22 |
23 | namespace android {
24 |
25 | class OMXClient {
26 | public:
27 | OMXClient();
28 |
29 | status_t connect();
30 | void disconnect();
31 |
32 | sp interface() {
33 | return mOMX;
34 | }
35 |
36 | private:
37 | sp mOMX;
38 |
39 | OMXClient(const OMXClient &);
40 | OMXClient &operator=(const OMXClient &);
41 | };
42 |
43 | } // namespace android
44 |
45 | #endif // OMX_CLIENT_H_
46 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/StagefrightMediaScanner.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2009 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef STAGEFRIGHT_MEDIA_SCANNER_H_
18 |
19 | #define STAGEFRIGHT_MEDIA_SCANNER_H_
20 |
21 | #include
22 |
23 | namespace android {
24 |
25 | struct StagefrightMediaScanner : public MediaScanner {
26 | StagefrightMediaScanner();
27 | virtual ~StagefrightMediaScanner();
28 |
29 | virtual MediaScanResult processFile(
30 | const char *path, const char *mimeType,
31 | MediaScannerClient &client);
32 |
33 | virtual char *extractAlbumArt(int fd);
34 |
35 | private:
36 | StagefrightMediaScanner(const StagefrightMediaScanner &);
37 | StagefrightMediaScanner &operator=(const StagefrightMediaScanner &);
38 |
39 | MediaScanResult processFileInternal(
40 | const char *path, const char *mimeType,
41 | MediaScannerClient &client);
42 | };
43 |
44 | } // namespace android
45 |
46 | #endif // STAGEFRIGHT_MEDIA_SCANNER_H_
47 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/TimeSource.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2009 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef TIME_SOURCE_H_
18 |
19 | #define TIME_SOURCE_H_
20 |
21 | #include
22 |
23 | namespace android {
24 |
25 | class TimeSource {
26 | public:
27 | TimeSource() {}
28 | virtual ~TimeSource() {}
29 |
30 | virtual int64_t getRealTimeUs() = 0;
31 |
32 | private:
33 | TimeSource(const TimeSource &);
34 | TimeSource &operator=(const TimeSource &);
35 | };
36 |
37 | class SystemTimeSource : public TimeSource {
38 | public:
39 | SystemTimeSource();
40 |
41 | virtual int64_t getRealTimeUs();
42 |
43 | private:
44 | int64_t mStartTimeUs;
45 | };
46 |
47 | } // namespace android
48 |
49 | #endif // TIME_SOURCE_H_
50 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/Utils.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2009 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef UTILS_H_
18 |
19 | #define UTILS_H_
20 |
21 | #include
22 | #include
23 | #include
24 |
25 | namespace android {
26 |
27 | #define FOURCC(c1, c2, c3, c4) \
28 | (c1 << 24 | c2 << 16 | c3 << 8 | c4)
29 |
30 | uint16_t U16_AT(const uint8_t *ptr);
31 | uint32_t U32_AT(const uint8_t *ptr);
32 | uint64_t U64_AT(const uint8_t *ptr);
33 |
34 | uint16_t U16LE_AT(const uint8_t *ptr);
35 | uint32_t U32LE_AT(const uint8_t *ptr);
36 | uint64_t U64LE_AT(const uint8_t *ptr);
37 |
38 | uint64_t ntoh64(uint64_t x);
39 | uint64_t hton64(uint64_t x);
40 |
41 | struct MetaData;
42 | struct AMessage;
43 | status_t convertMetaDataToMessage(
44 | const sp &meta, sp *format);
45 | void convertMessageToMetaData(
46 | const sp &format, sp &meta);
47 |
48 | } // namespace android
49 |
50 | #endif // UTILS_H_
51 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/foundation/AAtomizer.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef A_ATOMIZER_H_
18 |
19 | #define A_ATOMIZER_H_
20 |
21 | #include
22 |
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include
28 |
29 | namespace android {
30 |
31 | struct AAtomizer {
32 | static const char *Atomize(const char *name);
33 |
34 | private:
35 | static AAtomizer gAtomizer;
36 |
37 | Mutex mLock;
38 | Vector > mAtoms;
39 |
40 | AAtomizer();
41 |
42 | const char *atomize(const char *name);
43 |
44 | static uint32_t Hash(const char *s);
45 |
46 | DISALLOW_EVIL_CONSTRUCTORS(AAtomizer);
47 | };
48 |
49 | } // namespace android
50 |
51 | #endif // A_ATOMIZER_H_
52 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/foundation/ABase.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef A_BASE_H_
18 |
19 | #define A_BASE_H_
20 |
21 | #define DISALLOW_EVIL_CONSTRUCTORS(name) \
22 | name(const name &); \
23 | name &operator=(const name &)
24 |
25 | #endif // A_BASE_H_
26 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/foundation/ABitReader.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef A_BIT_READER_H_
18 |
19 | #define A_BIT_READER_H_
20 |
21 | #include
22 |
23 | #include
24 | #include
25 |
26 | namespace android {
27 |
28 | struct ABitReader {
29 | ABitReader(const uint8_t *data, size_t size);
30 |
31 | uint32_t getBits(size_t n);
32 | void skipBits(size_t n);
33 |
34 | void putBits(uint32_t x, size_t n);
35 |
36 | size_t numBitsLeft() const;
37 |
38 | const uint8_t *data() const;
39 |
40 | private:
41 | const uint8_t *mData;
42 | size_t mSize;
43 |
44 | uint32_t mReservoir; // left-aligned bits
45 | size_t mNumBitsLeft;
46 |
47 | void fillReservoir();
48 |
49 | DISALLOW_EVIL_CONSTRUCTORS(ABitReader);
50 | };
51 |
52 | } // namespace android
53 |
54 | #endif // A_BIT_READER_H_
55 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/foundation/AHandler.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef A_HANDLER_H_
18 |
19 | #define A_HANDLER_H_
20 |
21 | #include
22 | #include
23 |
24 | namespace android {
25 |
26 | struct AMessage;
27 |
28 | struct AHandler : public RefBase {
29 | AHandler()
30 | : mID(0) {
31 | }
32 |
33 | ALooper::handler_id id() const {
34 | return mID;
35 | }
36 |
37 | sp looper();
38 |
39 | protected:
40 | virtual void onMessageReceived(const sp &msg) = 0;
41 |
42 | private:
43 | friend struct ALooperRoster;
44 |
45 | ALooper::handler_id mID;
46 |
47 | void setID(ALooper::handler_id id) {
48 | mID = id;
49 | }
50 |
51 | DISALLOW_EVIL_CONSTRUCTORS(AHandler);
52 | };
53 |
54 | } // namespace android
55 |
56 | #endif // A_HANDLER_H_
57 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/foundation/AHandlerReflector.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef A_HANDLER_REFLECTOR_H_
18 |
19 | #define A_HANDLER_REFLECTOR_H_
20 |
21 | #include
22 |
23 | namespace android {
24 |
25 | template
26 | struct AHandlerReflector : public AHandler {
27 | AHandlerReflector(T *target)
28 | : mTarget(target) {
29 | }
30 |
31 | protected:
32 | virtual void onMessageReceived(const sp &msg) {
33 | sp target = mTarget.promote();
34 | if (target != NULL) {
35 | target->onMessageReceived(msg);
36 | }
37 | }
38 |
39 | private:
40 | wp mTarget;
41 |
42 | AHandlerReflector(const AHandlerReflector &);
43 | AHandlerReflector &operator=(const AHandlerReflector &);
44 | };
45 |
46 | } // namespace android
47 |
48 | #endif // A_HANDLER_REFLECTOR_H_
49 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/foundation/base64.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef BASE_64_H_
18 |
19 | #define BASE_64_H_
20 |
21 | #include
22 |
23 | namespace android {
24 |
25 | struct ABuffer;
26 | struct AString;
27 |
28 | sp decodeBase64(const AString &s);
29 | void encodeBase64(const void *data, size_t size, AString *out);
30 |
31 | } // namespace android
32 |
33 | #endif // BASE_64_H_
34 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/media/stagefright/foundation/hexdump.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef HEXDUMP_H_
18 |
19 | #define HEXDUMP_H_
20 |
21 | #include
22 |
23 | namespace android {
24 |
25 | struct AString;
26 |
27 | void hexdump(
28 | const void *_data, size_t size,
29 | size_t indent = 0, AString *appendTo = NULL);
30 |
31 | } // namespace android
32 |
33 | #endif // HEXDUMP_H_
34 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/powermanager/IPowerManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2011 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_IPOWERMANAGER_H
18 | #define ANDROID_IPOWERMANAGER_H
19 |
20 | #include
21 | #include
22 |
23 | namespace android {
24 |
25 | // ----------------------------------------------------------------------------
26 |
27 | // must be kept in sync with interface defined in IPowerManager.aidl
28 | class IPowerManager : public IInterface
29 | {
30 | public:
31 | DECLARE_META_INTERFACE(PowerManager);
32 |
33 | virtual status_t acquireWakeLock(int flags, const sp& lock, const String16& tag) = 0;
34 | virtual status_t releaseWakeLock(const sp& lock, int flags) = 0;
35 | };
36 |
37 | // ----------------------------------------------------------------------------
38 |
39 | }; // namespace android
40 |
41 | #endif // ANDROID_IPOWERMANAGER_H
42 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/powermanager/PowerManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2011 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_POWERMANAGER_H
18 | #define ANDROID_POWERMANAGER_H
19 |
20 | namespace android {
21 |
22 | // must be kept in sync with definitions in PowerManager.java
23 | enum {
24 | POWERMANAGER_PARTIAL_WAKE_LOCK = 1, // equals PowerManager.PARTIAL_WAKE_LOCK constant
25 | };
26 |
27 | }; // namespace android
28 |
29 | #endif // ANDROID_POWERMANAGER_H
30 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/private/binder/Static.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | // All static variables go here, to control initialization and
18 | // destruction order in the library.
19 |
20 | #include
21 |
22 | #include
23 | #include
24 | #include
25 | #include
26 | #include
27 |
28 | namespace android {
29 |
30 | // For ProcessState.cpp
31 | extern Mutex gProcessMutex;
32 | extern sp gProcess;
33 |
34 | // For ServiceManager.cpp
35 | extern Mutex gDefaultServiceManagerLock;
36 | extern sp gDefaultServiceManager;
37 | extern sp gPermissionController;
38 |
39 | } // namespace android
40 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/private/binder/binder_module.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef _BINDER_MODULE_H_
18 | #define _BINDER_MODULE_H_
19 |
20 | #ifdef __cplusplus
21 | namespace android {
22 | #endif
23 |
24 | /* obtain structures and constants from the kernel header */
25 |
26 | #include
27 | #include
28 |
29 | #ifdef __cplusplus
30 | } // namespace android
31 | #endif
32 |
33 | #endif // _BINDER_MODULE_H_
34 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/private/utils/Static.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | // All static variables go here, to control initialization and
18 | // destruction order in the library.
19 |
20 | #include
21 | #include
22 |
23 | namespace android {
24 | // For TextStream.cpp
25 | extern Vector gTextBuffers;
26 |
27 | // For String8.cpp
28 | extern void initialize_string8();
29 | extern void terminate_string8();
30 |
31 | // For String16.cpp
32 | extern void initialize_string16();
33 | extern void terminate_string16();
34 |
35 | } // namespace android
36 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/ui/DisplayInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2007 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_UI_DISPLAY_INFO_H
18 | #define ANDROID_UI_DISPLAY_INFO_H
19 |
20 | #include
21 | #include
22 |
23 | #include
24 |
25 | namespace android {
26 |
27 | struct DisplayInfo {
28 | uint32_t w;
29 | uint32_t h;
30 | float xdpi;
31 | float ydpi;
32 | float fps;
33 | float density;
34 | uint8_t orientation;
35 | bool secure;
36 | uint8_t reserved[2];
37 | // TODO: this needs to go away (currently needed only by webkit)
38 | PixelFormatInfo pixelFormatInfo;
39 | };
40 |
41 | /* Display orientations as defined in Surface.java and ISurfaceComposer.h. */
42 | enum {
43 | DISPLAY_ORIENTATION_0 = 0,
44 | DISPLAY_ORIENTATION_90 = 1,
45 | DISPLAY_ORIENTATION_180 = 2,
46 | DISPLAY_ORIENTATION_270 = 3
47 | };
48 |
49 | }; // namespace android
50 |
51 | #endif // ANDROID_COMPOSER_DISPLAY_INFO_H
52 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/ui/UiConfig.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2012 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_UI_CONFIG_H
18 | #define ANDROID_UI_CONFIG_H
19 |
20 | #include
21 |
22 | namespace android {
23 |
24 | // Append the libui configuration details to configStr.
25 | void appendUiConfigString(String8& configStr);
26 |
27 | }; // namespace android
28 |
29 | #endif /*ANDROID_UI_CONFIG_H*/
30 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/utils/Atomic.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_UTILS_ATOMIC_H
18 | #define ANDROID_UTILS_ATOMIC_H
19 |
20 | #include
21 |
22 | #endif // ANDROID_UTILS_ATOMIC_H
23 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/utils/Compat.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef __LIB_UTILS_COMPAT_H
18 | #define __LIB_UTILS_COMPAT_H
19 |
20 | #include
21 |
22 | /* Compatibility definitions for non-Linux (i.e., BSD-based) hosts. */
23 | #ifndef HAVE_OFF64_T
24 | #if _FILE_OFFSET_BITS < 64
25 | #error "_FILE_OFFSET_BITS < 64; large files are not supported on this platform"
26 | #endif /* _FILE_OFFSET_BITS < 64 */
27 |
28 | typedef off_t off64_t;
29 |
30 | static inline off64_t lseek64(int fd, off64_t offset, int whence) {
31 | return lseek(fd, offset, whence);
32 | }
33 |
34 | #ifdef HAVE_PREAD
35 | static inline ssize_t pread64(int fd, void* buf, size_t nbytes, off64_t offset) {
36 | return pread(fd, buf, nbytes, offset);
37 | }
38 | #endif
39 |
40 | #endif /* !HAVE_OFF64_T */
41 |
42 | #endif /* __LIB_UTILS_COMPAT_H */
43 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/utils/Endian.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2005 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | //
18 | // Android endian-ness defines.
19 | //
20 | #ifndef _LIBS_UTILS_ENDIAN_H
21 | #define _LIBS_UTILS_ENDIAN_H
22 |
23 | #if defined(HAVE_ENDIAN_H)
24 |
25 | #include
26 |
27 | #else /*not HAVE_ENDIAN_H*/
28 |
29 | #define __BIG_ENDIAN 0x1000
30 | #define __LITTLE_ENDIAN 0x0001
31 |
32 | #if defined(HAVE_LITTLE_ENDIAN)
33 | # define __BYTE_ORDER __LITTLE_ENDIAN
34 | #else
35 | # define __BYTE_ORDER __BIG_ENDIAN
36 | #endif
37 |
38 | #endif /*not HAVE_ENDIAN_H*/
39 |
40 | #endif /*_LIBS_UTILS_ENDIAN_H*/
41 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/utils/Functor.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2011 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_FUNCTOR_H
18 | #define ANDROID_FUNCTOR_H
19 |
20 | #include
21 |
22 | namespace android {
23 |
24 | class Functor {
25 | public:
26 | Functor() {}
27 | virtual ~Functor() {}
28 | virtual status_t operator ()(int what, void* data) { return NO_ERROR; }
29 | };
30 |
31 | }; // namespace android
32 |
33 | #endif // ANDROID_FUNCTOR_H
34 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/utils/SystemClock.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef ANDROID_UTILS_SYSTEMCLOCK_H
18 | #define ANDROID_UTILS_SYSTEMCLOCK_H
19 |
20 | #include
21 | #include
22 |
23 | namespace android {
24 |
25 | int setCurrentTimeMillis(int64_t millis);
26 | int64_t uptimeMillis();
27 | int64_t elapsedRealtime();
28 | int64_t elapsedRealtimeNano();
29 |
30 | }; // namespace android
31 |
32 | #endif // ANDROID_UTILS_SYSTEMCLOCK_H
33 |
34 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/utils/ashmem.h:
--------------------------------------------------------------------------------
1 | /* utils/ashmem.h
2 | **
3 | ** Copyright 2008 The Android Open Source Project
4 | **
5 | ** This file is dual licensed. It may be redistributed and/or modified
6 | ** under the terms of the Apache 2.0 License OR version 2 of the GNU
7 | ** General Public License.
8 | */
9 |
10 | #ifndef _UTILS_ASHMEM_H
11 | #define _UTILS_ASHMEM_H
12 |
13 | #include
14 | #include
15 |
16 | #define ASHMEM_NAME_LEN 256
17 |
18 | #define ASHMEM_NAME_DEF "dev/ashmem"
19 |
20 | /* Return values from ASHMEM_PIN: Was the mapping purged while unpinned? */
21 | #define ASHMEM_NOT_REAPED 0
22 | #define ASHMEM_WAS_REAPED 1
23 |
24 | /* Return values from ASHMEM_UNPIN: Is the mapping now pinned or unpinned? */
25 | #define ASHMEM_NOW_UNPINNED 0
26 | #define ASHMEM_NOW_PINNED 1
27 |
28 | #define __ASHMEMIOC 0x77
29 |
30 | #define ASHMEM_SET_NAME _IOW(__ASHMEMIOC, 1, char[ASHMEM_NAME_LEN])
31 | #define ASHMEM_GET_NAME _IOR(__ASHMEMIOC, 2, char[ASHMEM_NAME_LEN])
32 | #define ASHMEM_SET_SIZE _IOW(__ASHMEMIOC, 3, size_t)
33 | #define ASHMEM_GET_SIZE _IO(__ASHMEMIOC, 4)
34 | #define ASHMEM_SET_PROT_MASK _IOW(__ASHMEMIOC, 5, unsigned long)
35 | #define ASHMEM_GET_PROT_MASK _IO(__ASHMEMIOC, 6)
36 | #define ASHMEM_PIN _IO(__ASHMEMIOC, 7)
37 | #define ASHMEM_UNPIN _IO(__ASHMEMIOC, 8)
38 | #define ASHMEM_ISPINNED _IO(__ASHMEMIOC, 9)
39 | #define ASHMEM_PURGE_ALL_CACHES _IO(__ASHMEMIOC, 10)
40 |
41 | #endif /* _UTILS_ASHMEM_H */
42 |
--------------------------------------------------------------------------------
/app/src/main/cpp/include/utils/threads.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2007 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef _LIBS_UTILS_THREADS_H
18 | #define _LIBS_UTILS_THREADS_H
19 |
20 | /*
21 | * Please, DO NOT USE!
22 | *
23 | * This file is here only for legacy reasons. Instead, include directly
24 | * the headers you need below.
25 | *
26 | */
27 |
28 | #include
29 |
30 | #ifdef __cplusplus
31 | #include
32 | #include
33 | #include
34 | #include
35 | #include
36 | #endif
37 |
38 | #endif // _LIBS_UTILS_THREADS_H
39 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/TimeSource.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2009 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #include
18 | #include
19 |
20 | #include
21 | #include
22 |
23 | namespace android {
24 |
25 | SystemTimeSource::SystemTimeSource()
26 | : mStartTimeUs(ALooper::GetNowUs()) {
27 | }
28 |
29 | int64_t SystemTimeSource::getRealTimeUs() {
30 | return ALooper::GetNowUs() - mStartTimeUs;
31 | }
32 |
33 | } // namespace android
34 |
35 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/chromium_http/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 |
3 | ifneq ($(TARGET_BUILD_PDK), true)
4 | include $(CLEAR_VARS)
5 |
6 | LOCAL_SRC_FILES:= \
7 | DataUriSource.cpp \
8 | ChromiumHTTPDataSource.cpp \
9 | support.cpp \
10 | chromium_http_stub.cpp
11 |
12 | LOCAL_C_INCLUDES:= \
13 | $(TOP)/frameworks/av/media/libstagefright \
14 | $(TOP)/frameworks/native/include/media/openmax \
15 | external/chromium \
16 | external/chromium/android
17 |
18 | LOCAL_CFLAGS += -Wno-multichar
19 |
20 | LOCAL_SHARED_LIBRARIES += \
21 | libstlport \
22 | libchromium_net \
23 | libutils \
24 | libcutils \
25 | libstagefright_foundation \
26 | libstagefright \
27 | libdrmframework
28 |
29 | include external/stlport/libstlport.mk
30 |
31 | LOCAL_MODULE:= libstagefright_chromium_http
32 |
33 | LOCAL_MODULE_TAGS := optional
34 |
35 | include $(BUILD_SHARED_LIBRARY)
36 | endif
37 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/chromium_http/chromium_http_stub.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2012 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #include
18 |
19 | #include
20 | #include
21 | #include
22 |
23 | namespace android {
24 |
25 | HTTPBase *createChromiumHTTPDataSource(uint32_t flags) {
26 | return new ChromiumHTTPDataSource(flags);
27 | }
28 |
29 | DataSource *createDataUriSource(const char *uri) {
30 | return new DataUriSource(uri);
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | include $(call all-makefiles-under,$(LOCAL_PATH))
5 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacdec/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 |
5 | LOCAL_SRC_FILES := \
6 | SoftAAC2.cpp
7 |
8 | LOCAL_C_INCLUDES := \
9 | frameworks/av/media/libstagefright/include \
10 | frameworks/native/include/media/openmax \
11 | external/aac/libAACdec/include \
12 | external/aac/libPCMutils/include \
13 | external/aac/libFDK/include \
14 | external/aac/libMpegTPDec/include \
15 | external/aac/libSBRdec/include \
16 | external/aac/libSYS/include
17 |
18 | LOCAL_CFLAGS :=
19 |
20 | LOCAL_STATIC_LIBRARIES := libFraunhoferAAC
21 |
22 | LOCAL_SHARED_LIBRARIES := \
23 | libstagefright_omx libstagefright_foundation libutils libcutils
24 |
25 | LOCAL_MODULE := libstagefright_soft_aacdec
26 | LOCAL_MODULE_TAGS := optional
27 |
28 | include $(BUILD_SHARED_LIBRARY)
29 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacdec/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/aacdec/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/aacenc/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/SampleCode/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES := \
5 | AAC_E_SAMPLES.c \
6 | ../../common/cmnMemory.c
7 |
8 | LOCAL_MODULE_TAGS := debug
9 |
10 | LOCAL_MODULE := AACEncTest
11 |
12 | LOCAL_ARM_MODE := arm
13 |
14 | LOCAL_SHARED_LIBRARIES := \
15 | libstagefright \
16 | libdl
17 |
18 | LOCAL_C_INCLUDES := \
19 | $(LOCAL_PATH)/ \
20 | $(LOCAL_PATH)/../../common \
21 | $(LOCAL_PATH)/../../common/include \
22 |
23 | include $(BUILD_EXECUTABLE)
24 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/SampleCode/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/aacenc/SampleCode/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/doc/voAACEncoderSDK.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/aacenc/doc/voAACEncoderSDK.pdf
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/inc/band_nrg.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: band_nrg.h
18 |
19 | Content: Band/Line energy calculations functions
20 |
21 | *******************************************************************************/
22 |
23 |
24 | #ifndef _BAND_NRG_H
25 | #define _BAND_NRG_H
26 |
27 | #include "typedef.h"
28 |
29 |
30 | void CalcBandEnergy(const Word32 *mdctSpectrum,
31 | const Word16 *bandOffset,
32 | const Word16 numBands,
33 | Word32 *bandEnergy,
34 | Word32 *bandEnergySum);
35 |
36 |
37 | void CalcBandEnergyMS(const Word32 *mdctSpectrumLeft,
38 | const Word32 *mdctSpectrumRight,
39 | const Word16 *bandOffset,
40 | const Word16 numBands,
41 | Word32 *bandEnergyMid,
42 | Word32 *bandEnergyMidSum,
43 | Word32 *bandEnergySide,
44 | Word32 *bandEnergySideSum);
45 |
46 | #endif
47 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/inc/bitenc.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: bitenc.h
18 |
19 | Content: Bitstream encoder structure and functions
20 |
21 | *******************************************************************************/
22 |
23 | #ifndef _BITENC_H
24 | #define _BITENC_H
25 |
26 | #include "qc_data.h"
27 | #include "tns.h"
28 | #include "channel_map.h"
29 | #include "interface.h"
30 |
31 | struct BITSTREAMENCODER_INIT
32 | {
33 | Word16 nChannels;
34 | Word32 bitrate;
35 | Word32 sampleRate;
36 | Word16 profile;
37 | };
38 |
39 |
40 |
41 | Word16 WriteBitstream (HANDLE_BIT_BUF hBitstream,
42 | ELEMENT_INFO elInfo,
43 | QC_OUT *qcOut,
44 | PSY_OUT *psyOut,
45 | Word16 *globUsedBits,
46 | const UWord8 *ancBytes,
47 | Word16 samplerate
48 | );
49 |
50 | #endif /* _BITENC_H */
51 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/inc/channel_map.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: channel_map.h
18 |
19 | Content: channel mapping functions
20 |
21 | *******************************************************************************/
22 |
23 | #ifndef _CHANNEL_MAP_H
24 | #define _CHANNEL_MAP_H
25 |
26 | #include "psy_const.h"
27 | #include "qc_data.h"
28 |
29 | Word16 InitElementInfo (Word16 nChannels, ELEMENT_INFO* elInfo);
30 |
31 | Word16 InitElementBits(ELEMENT_BITS *elementBits,
32 | ELEMENT_INFO elInfo,
33 | Word32 bitrateTot,
34 | Word16 averageBitsTot,
35 | Word16 staticBitsTot);
36 |
37 | #endif /* CHANNEL_MAP_H */
38 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/inc/config.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: config.h
18 |
19 | Content: aac encoder parameter
20 |
21 | *******************************************************************************/
22 |
23 | #ifndef _AACENC_CONFIG_H_
24 | #define _AACENC_CONFIG_H_
25 |
26 | #define MAX_CHANNELS 2
27 |
28 | #define AACENC_BLOCKSIZE 1024 /*! encoder only takes BLOCKSIZE samples at a time */
29 | #define AACENC_TRANS_FAC 8 /*! encoder short long ratio */
30 |
31 |
32 | #define MAXBITS_COEF 6144
33 | #define MINBITS_COEF 744
34 |
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/inc/grp_data.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: grp_data.h
18 |
19 | Content: Short block grouping function
20 |
21 | *******************************************************************************/
22 |
23 | #ifndef __GRP_DATA_H__
24 | #define __GRP_DATA_H__
25 | #include "psy_data.h"
26 | #include "typedefs.h"
27 |
28 | void
29 | groupShortData(Word32 *mdctSpectrum,
30 | Word32 *tmpSpectrum,
31 | SFB_THRESHOLD *sfbThreshold,
32 | SFB_ENERGY *sfbEnergy,
33 | SFB_ENERGY *sfbEnergyMS,
34 | SFB_ENERGY *sfbSpreadedEnergy,
35 | const Word16 sfbCnt,
36 | const Word16 *sfbOffset,
37 | const Word16 *sfbMinSnr,
38 | Word16 *groupedSfbOffset,
39 | Word16 *maxSfbPerGroup,
40 | Word16 *groupedSfbMinSnr,
41 | const Word16 noOfGroups,
42 | const Word16 *groupLen);
43 |
44 | #endif /* _INTERFACE_H */
45 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/inc/memalign.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: memalign.h
18 |
19 | Content: Memory alloc alignments functions
20 |
21 | *******************************************************************************/
22 |
23 | #ifndef __VO_AACENC_MEM_ALIGN_H__
24 | #define __VO_AACENC_MEM_ALIGN_H__
25 |
26 | #include "voMem.h"
27 | #include "typedef.h"
28 |
29 | extern void *mem_malloc(VO_MEM_OPERATOR *pMemop, unsigned int size, unsigned char alignment, unsigned int CodecID);
30 | extern void mem_free(VO_MEM_OPERATOR *pMemop, void *mem_ptr, unsigned int CodecID);
31 |
32 | #endif /* __VO_MEM_ALIGN_H__ */
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/inc/pre_echo_control.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: pre_echo_control.h
18 |
19 | Content: Pre echo control functions
20 |
21 | *******************************************************************************/
22 |
23 | #ifndef __PRE_ECHO_CONTROL_H
24 | #define __PRE_ECHO_CONTROL_H
25 |
26 | #include "typedefs.h"
27 |
28 | void InitPreEchoControl(Word32 *pbThresholdnm1,
29 | Word16 numPb,
30 | Word32 *pbThresholdQuiet);
31 |
32 |
33 | void PreEchoControl(Word32 *pbThresholdNm1,
34 | Word16 numPb,
35 | Word32 maxAllowedIncreaseFactor,
36 | Word16 minRemainingThresholdFactor,
37 | Word32 *pbThreshold,
38 | Word16 mdctScale,
39 | Word16 mdctScalenm1);
40 |
41 | #endif
42 |
43 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/inc/quantize.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: quantize.h
18 |
19 | Content: Quantization functions
20 |
21 | *******************************************************************************/
22 |
23 | #ifndef _QUANTIZE_H_
24 | #define _QUANTIZE_H_
25 | #include "typedefs.h"
26 |
27 | /* quantizing */
28 |
29 | #define MAX_QUANT 8191
30 |
31 | void QuantizeSpectrum(Word16 sfbCnt,
32 | Word16 maxSfbPerGroup,
33 | Word16 sfbPerGroup,
34 | Word16 *sfbOffset, Word32 *mdctSpectrum,
35 | Word16 globalGain, Word16 *scalefactors,
36 | Word16 *quantizedSpectrum);
37 |
38 | Word32 calcSfbDist(const Word32 *spec,
39 | Word16 sfbWidth,
40 | Word16 gain);
41 |
42 | #endif /* _QUANTIZE_H_ */
43 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/inc/spreading.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: spreading.h
18 |
19 | Content: Spreading of energy functions
20 |
21 | *******************************************************************************/
22 |
23 | #ifndef _SPREADING_H
24 | #define _SPREADING_H
25 | #include "typedefs.h"
26 |
27 |
28 | void SpreadingMax(const Word16 pbCnt,
29 | const Word16 *maskLowFactor,
30 | const Word16 *maskHighFactor,
31 | Word32 *pbSpreadedEnergy);
32 |
33 | #endif /* #ifndef _SPREADING_H */
34 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/inc/stat_bits.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: stat_bits.h
18 |
19 | Content: Static bit counter functions
20 |
21 | *******************************************************************************/
22 |
23 | #ifndef __STAT_BITS_H
24 | #define __STAT_BITS_H
25 |
26 | #include "psy_const.h"
27 | #include "interface.h"
28 |
29 | Word16 countStaticBitdemand(PSY_OUT_CHANNEL psyOutChannel[MAX_CHANNELS],
30 | PSY_OUT_ELEMENT *psyOutElement,
31 | Word16 nChannels,
32 | Word16 adtsUsed);
33 |
34 | #endif /* __STAT_BITS_H */
35 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/inc/tns_param.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: tns_param.h
18 |
19 | Content: TNS parameters
20 |
21 | *******************************************************************************/
22 |
23 | /*
24 | TNS parameters
25 | */
26 | #ifndef _TNS_PARAM_H
27 | #define _TNS_PARAM_H
28 |
29 | #include "tns.h"
30 |
31 | typedef struct{
32 | Word32 samplingRate;
33 | Word16 maxBandLong;
34 | Word16 maxBandShort;
35 | }TNS_MAX_TAB_ENTRY;
36 |
37 | typedef struct{
38 | Word32 bitRateFrom;
39 | Word32 bitRateTo;
40 | const TNS_CONFIG_TABULATED *paramMono_Long; /* contains TNS parameters */
41 | const TNS_CONFIG_TABULATED *paramMono_Short;
42 | const TNS_CONFIG_TABULATED *paramStereo_Long;
43 | const TNS_CONFIG_TABULATED *paramStereo_Short;
44 | }TNS_INFO_TAB;
45 |
46 |
47 | void GetTnsParam(TNS_CONFIG_TABULATED *tnsConfigTab,
48 | Word32 bitRate, Word16 channels, Word16 blockType);
49 |
50 | void GetTnsMaxBands(Word32 samplingRate, Word16 blockType, Word16* tnsMaxSfb);
51 |
52 | #endif /* _TNS_PARAM_H */
53 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/inc/transform.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: transform.h
18 |
19 | Content: MDCT Transform functions
20 |
21 | *******************************************************************************/
22 |
23 | #ifndef __TRANSFORM_H__
24 | #define __TRANSFORM_H__
25 |
26 | #include "typedef.h"
27 |
28 | void Transform_Real(Word16 *mdctDelayBuffer,
29 | Word16 *timeSignal,
30 | Word16 chIncrement, /*! channel increment */
31 | Word32 *realOut,
32 | Word16 *mdctScale,
33 | Word16 windowSequence
34 | );
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/aacenc/patent_disclaimer.txt:
--------------------------------------------------------------------------------
1 |
2 | THIS IS NOT A GRANT OF PATENT RIGHTS.
3 |
4 | Google makes no representation or warranty that the codecs for which
5 | source code is made available hereunder are unencumbered by
6 | third-party patents. Those intending to use this source code in
7 | hardware or software products are advised that implementations of
8 | these codecs, including in open source software or shareware, may
9 | require patent licenses from the relevant patent holders.
10 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrnb/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | include $(call all-makefiles-under,$(LOCAL_PATH))
5 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrnb/common/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/amrnb/common/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrnb/common/include/n_proc.h:
--------------------------------------------------------------------------------
1 | /* ------------------------------------------------------------------
2 | * Copyright (C) 1998-2009 PacketVideo
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | * express or implied.
14 | * See the License for the specific language governing permissions
15 | * and limitations under the License.
16 | * -------------------------------------------------------------------
17 | */
18 | /****************************************************************************************
19 | Portions of this file are derived from the following 3GPP standard:
20 |
21 | 3GPP TS 26.073
22 | ANSI-C code for the Adaptive Multi-Rate (AMR) speech codec
23 | Available from http://www.3gpp.org
24 |
25 | (C) 2004, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC)
26 | Permission to distribute, modify and use this file under the standard license
27 | terms listed above has been obtained from the copyright holder.
28 | ****************************************************************************************/
29 | /* $Id $ */
30 |
31 | void proc_head(char *mes);
32 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrnb/dec/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/amrnb/dec/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrnb/enc/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/amrnb/enc/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrnb/patent_disclaimer.txt:
--------------------------------------------------------------------------------
1 |
2 | THIS IS NOT A GRANT OF PATENT RIGHTS.
3 |
4 | Google makes no representation or warranty that the codecs for which
5 | source code is made available hereunder are unencumbered by
6 | third-party patents. Those intending to use this source code in
7 | hardware or software products are advised that implementations of
8 | these codecs, including in open source software or shareware, may
9 | require patent licenses from the relevant patent holders.
10 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwb/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES := \
5 | src/agc2_amr_wb.cpp \
6 | src/band_pass_6k_7k.cpp \
7 | src/dec_acelp_2p_in_64.cpp \
8 | src/dec_acelp_4p_in_64.cpp \
9 | src/dec_alg_codebook.cpp \
10 | src/dec_gain2_amr_wb.cpp \
11 | src/deemphasis_32.cpp \
12 | src/dtx_decoder_amr_wb.cpp \
13 | src/get_amr_wb_bits.cpp \
14 | src/highpass_400hz_at_12k8.cpp \
15 | src/highpass_50hz_at_12k8.cpp \
16 | src/homing_amr_wb_dec.cpp \
17 | src/interpolate_isp.cpp \
18 | src/isf_extrapolation.cpp \
19 | src/isp_az.cpp \
20 | src/isp_isf.cpp \
21 | src/lagconceal.cpp \
22 | src/low_pass_filt_7k.cpp \
23 | src/median5.cpp \
24 | src/mime_io.cpp \
25 | src/noise_gen_amrwb.cpp \
26 | src/normalize_amr_wb.cpp \
27 | src/oversamp_12k8_to_16k.cpp \
28 | src/phase_dispersion.cpp \
29 | src/pit_shrp.cpp \
30 | src/pred_lt4.cpp \
31 | src/preemph_amrwb_dec.cpp \
32 | src/pvamrwb_math_op.cpp \
33 | src/pvamrwbdecoder.cpp \
34 | src/q_gain2_tab.cpp \
35 | src/qisf_ns.cpp \
36 | src/qisf_ns_tab.cpp \
37 | src/qpisf_2s.cpp \
38 | src/qpisf_2s_tab.cpp \
39 | src/scale_signal.cpp \
40 | src/synthesis_amr_wb.cpp \
41 | src/voice_factor.cpp \
42 | src/wb_syn_filt.cpp \
43 | src/weight_amrwb_lpc.cpp
44 |
45 | LOCAL_C_INCLUDES := \
46 | frameworks/av/media/libstagefright/include \
47 | $(LOCAL_PATH)/src \
48 | $(LOCAL_PATH)/include
49 |
50 | LOCAL_CFLAGS := \
51 | -DOSCL_UNUSED_ARG= -DOSCL_IMPORT_REF=
52 |
53 | LOCAL_MODULE := libstagefright_amrwbdec
54 |
55 | include $(BUILD_STATIC_LIBRARY)
56 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwb/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/amrwb/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwb/patent_disclaimer.txt:
--------------------------------------------------------------------------------
1 |
2 | THIS IS NOT A GRANT OF PATENT RIGHTS.
3 |
4 | Google makes no representation or warranty that the codecs for which
5 | source code is made available hereunder are unencumbered by
6 | third-party patents. Those intending to use this source code in
7 | hardware or software products are advised that implementations of
8 | these codecs, including in open source software or shareware, may
9 | require patent licenses from the relevant patent holders.
10 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwbenc/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/amrwbenc/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwbenc/SampleCode/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES := \
5 | AMRWB_E_SAMPLE.c \
6 | ../../common/cmnMemory.c
7 |
8 | LOCAL_MODULE_TAGS := debug
9 | LOCAL_MODULE := AMRWBEncTest
10 |
11 | LOCAL_ARM_MODE := arm
12 |
13 | LOCAL_CFLAGS := -DLINUX
14 |
15 | LOCAL_SHARED_LIBRARIES := \
16 | libstagefright \
17 | libdl
18 |
19 | LOCAL_C_INCLUDES := \
20 | $(LOCAL_PATH)/ \
21 | $(LOCAL_PATH)/../../common \
22 | $(LOCAL_PATH)/../../common/include
23 |
24 | include $(BUILD_EXECUTABLE)
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwbenc/SampleCode/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/amrwbenc/SampleCode/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwbenc/doc/voAMRWBEncoderSDK.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/amrwbenc/doc/voAMRWBEncoderSDK.pdf
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwbenc/inc/log2_tab.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | ** Copyright 2003-2010, VisualOn, Inc.
4 | **
5 | ** Licensed under the Apache License, Version 2.0 (the "License");
6 | ** you may not use this file except in compliance with the License.
7 | ** You may obtain a copy of the License at
8 | **
9 | ** http://www.apache.org/licenses/LICENSE-2.0
10 | **
11 | ** Unless required by applicable law or agreed to in writing, software
12 | ** distributed under the License is distributed on an "AS IS" BASIS,
13 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | ** See the License for the specific language governing permissions and
15 | ** limitations under the License.
16 | */
17 |
18 |
19 |
20 | /*******************************************************************************
21 | *
22 | * File : log2.tab
23 | * Purpose : Table for routine Log2().
24 | * $Id $
25 | *
26 | ********************************************************************************
27 | */
28 | static const Word16 table[33] =
29 | {
30 | 0, 1455, 2866, 4236, 5568, 6863, 8124, 9352, 10549, 11716,
31 | 12855, 13967, 15054, 16117, 17156, 18172, 19167, 20142, 21097, 22033,
32 | 22951, 23852, 24735, 25603, 26455, 27291, 28113, 28922, 29716, 30497,
33 | 31266, 32023, 32767
34 | };
35 |
36 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwbenc/inc/mem_align.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 | /*******************************************************************************
17 | File: mem_align.h
18 |
19 | Content: Memory alloc alignments functions
20 |
21 | *******************************************************************************/
22 |
23 | #ifndef __VO_MEM_ALIGN_H__
24 | #define __VO_MEM_ALIGN_H__
25 |
26 | #include "voMem.h"
27 | #include "typedef.h"
28 |
29 | extern void *mem_malloc(VO_MEM_OPERATOR *pMemop, unsigned int size, unsigned char alignment, unsigned int CodecID);
30 | extern void mem_free(VO_MEM_OPERATOR *pMemop, void *mem_ptr, unsigned int CodecID);
31 |
32 | #endif /* __VO_MEM_ALIGN_H__ */
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwbenc/inc/oper_32b.h:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 |
17 |
18 | /* Double precision operations */
19 | /* $Id$ */
20 |
21 | #ifndef __OPER_32B_H__
22 | #define __OPER_32B_H__
23 |
24 | void VO_L_Extract (Word32 L_32, Word16 *hi, Word16 *lo);
25 | Word32 L_Comp (Word16 hi, Word16 lo);
26 | Word32 Mpy_32 (Word16 hi1, Word16 lo1, Word16 hi2, Word16 lo2);
27 | Word32 Mpy_32_16 (Word16 hi, Word16 lo, Word16 n);
28 | Word32 Div_32 (Word32 L_num, Word16 denom_hi, Word16 denom_lo);
29 |
30 | #endif //__OPER_32B_H__
31 |
32 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwbenc/inc/stream.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | ** Copyright 2003-2010, VisualOn, Inc.
4 | **
5 | ** Licensed under the Apache License, Version 2.0 (the "License");
6 | ** you may not use this file except in compliance with the License.
7 | ** You may obtain a copy of the License at
8 | **
9 | ** http://www.apache.org/licenses/LICENSE-2.0
10 | **
11 | ** Unless required by applicable law or agreed to in writing, software
12 | ** distributed under the License is distributed on an "AS IS" BASIS,
13 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | ** See the License for the specific language governing permissions and
15 | ** limitations under the License.
16 | */
17 |
18 |
19 | /***********************************************************************
20 | File: stream.h
21 |
22 | Contains: VOME API Buffer Operator Implement Header
23 |
24 | ************************************************************************/
25 | #ifndef __STREAM_H__
26 | #define __STREAM_H__
27 |
28 | #include "voMem.h"
29 | #define Frame_Maxsize 1024 * 2 //Work Buffer 10K
30 | #define Frame_MaxByte 640 //AMR_WB Encoder one frame 320 samples = 640 Bytes
31 | #define MIN(a,b) ((a) < (b)? (a) : (b))
32 |
33 | typedef struct{
34 | unsigned char *set_ptr;
35 | unsigned char *frame_ptr;
36 | unsigned char *frame_ptr_bk;
37 | int set_len;
38 | int framebuffer_len;
39 | int frame_storelen;
40 | int used_len;
41 | }FrameStream;
42 |
43 | void voAWB_UpdateFrameBuffer(FrameStream *stream, VO_MEM_OPERATOR *pMemOP);
44 | void voAWB_InitFrameBuffer(FrameStream *stream);
45 | void voAWB_FlushFrameBuffer(FrameStream *stream);
46 | #endif //__STREAM_H__
47 |
48 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwbenc/patent_disclaimer.txt:
--------------------------------------------------------------------------------
1 |
2 | THIS IS NOT A GRANT OF PATENT RIGHTS.
3 |
4 | Google makes no representation or warranty that the codecs for which
5 | source code is made available hereunder are unencumbered by
6 | third-party patents. Those intending to use this source code in
7 | hardware or software products are advised that implementations of
8 | these codecs, including in open source software or shareware, may
9 | require patent licenses from the relevant patent holders.
10 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwbenc/src/homing.c:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 |
17 | /***********************************************************************
18 | * File: homing.c *
19 | * *
20 | * Description:Performs the homing routines *
21 | * *
22 | ************************************************************************/
23 |
24 | #include "typedef.h"
25 | #include "cnst.h"
26 | #include "basic_op.h"
27 | #include "bits.h"
28 | #include "homing.tab"
29 |
30 | Word16 encoder_homing_frame_test(Word16 input_frame[])
31 | {
32 | Word32 i;
33 | Word16 j = 0;
34 |
35 | /* check 320 input samples for matching EHF_MASK: defined in e_homing.h */
36 | for (i = 0; i < L_FRAME16k; i++)
37 | {
38 | j = (Word16) (input_frame[i] ^ EHF_MASK);
39 |
40 | if (j)
41 | break;
42 | }
43 |
44 | return (Word16) (!j);
45 | }
46 |
47 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/amrwbenc/src/random.c:
--------------------------------------------------------------------------------
1 | /*
2 | ** Copyright 2003-2010, VisualOn, Inc.
3 | **
4 | ** Licensed under the Apache License, Version 2.0 (the "License");
5 | ** you may not use this file except in compliance with the License.
6 | ** You may obtain a copy of the License at
7 | **
8 | ** http://www.apache.org/licenses/LICENSE-2.0
9 | **
10 | ** Unless required by applicable law or agreed to in writing, software
11 | ** distributed under the License is distributed on an "AS IS" BASIS,
12 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ** See the License for the specific language governing permissions and
14 | ** limitations under the License.
15 | */
16 |
17 | /***********************************************************************
18 | * File: random.c *
19 | * *
20 | * Description: Signed 16 bits random generator *
21 | * *
22 | ************************************************************************/
23 |
24 | #include "typedef.h"
25 | #include "basic_op.h"
26 |
27 | Word16 Random(Word16 * seed)
28 | {
29 | /* static Word16 seed = 21845; */
30 | *seed = (Word16)(L_add((L_mult(*seed, 31821) >> 1), 13849L));
31 | return (*seed);
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/avc/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | include $(call all-makefiles-under,$(LOCAL_PATH))
5 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/avc/common/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES := \
5 | src/deblock.cpp \
6 | src/dpb.cpp \
7 | src/fmo.cpp \
8 | src/mb_access.cpp \
9 | src/reflist.cpp
10 |
11 | LOCAL_MODULE := libstagefright_avc_common
12 |
13 | LOCAL_CFLAGS := -DOSCL_EXPORT_REF= -DOSCL_IMPORT_REF=
14 |
15 | LOCAL_C_INCLUDES := \
16 | $(LOCAL_PATH)/src \
17 | $(LOCAL_PATH)/include
18 |
19 | include $(BUILD_SHARED_LIBRARY)
20 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/avc/common/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/avc/common/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/avc/common/include/avc_types.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2009 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | #ifndef AVC_TYPES_H_
17 |
18 | #define AVC_TYPES_H_
19 |
20 | #include
21 |
22 | typedef uint8_t uint8;
23 | typedef uint16_t uint16;
24 | typedef int16_t int16;
25 | typedef uint32_t uint32;
26 | typedef int32_t int32;
27 | typedef unsigned int uint;
28 |
29 | #endif // AVC_TYPES_H_
30 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/avc/enc/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/avc/enc/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/avc/patent_disclaimer.txt:
--------------------------------------------------------------------------------
1 |
2 | THIS IS NOT A GRANT OF PATENT RIGHTS.
3 |
4 | Google makes no representation or warranty that the codecs for which
5 | source code is made available hereunder are unencumbered by
6 | third-party patents. Those intending to use this source code in
7 | hardware or software products are advised that implementations of
8 | these codecs, including in open source software or shareware, may
9 | require patent licenses from the relevant patent holders.
10 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/common/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 |
5 |
6 | LOCAL_SRC_FILES := cmnMemory.c
7 |
8 | LOCAL_MODULE := libstagefright_enc_common
9 |
10 | LOCAL_ARM_MODE := arm
11 |
12 | LOCAL_STATIC_LIBRARIES :=
13 |
14 | LOCAL_C_INCLUDES := \
15 | $(LOCAL_PATH)/include
16 |
17 | include $(BUILD_SHARED_LIBRARY)
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/common/Config.mk:
--------------------------------------------------------------------------------
1 | #
2 | # This configure file is just for Linux projects against Android
3 | #
4 |
5 | VOPRJ :=
6 | VONJ :=
7 |
8 | # WARNING:
9 | # Using v7 breaks generic build
10 | ifeq ($(TARGET_ARCH),arm)
11 | VOTT := v5
12 | else
13 | VOTT := pc
14 | endif
15 |
16 | # Do we also need to check on ARCH_ARM_HAVE_ARMV7A? - probably not
17 | ifeq ($(ARCH_ARM_HAVE_NEON),true)
18 | VOTT := v7
19 | endif
20 |
21 | VOTEST := 0
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/common/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/common/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/flac/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | include $(call all-makefiles-under,$(LOCAL_PATH))
5 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/flac/enc/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES := \
5 | SoftFlacEncoder.cpp
6 |
7 | LOCAL_C_INCLUDES := \
8 | frameworks/av/media/libstagefright/include \
9 | frameworks/native/include/media/openmax \
10 | external/flac/include
11 |
12 | LOCAL_SHARED_LIBRARIES := \
13 | libstagefright libstagefright_omx libstagefright_foundation libutils
14 |
15 | LOCAL_STATIC_LIBRARIES := \
16 | libFLAC \
17 |
18 | LOCAL_MODULE := libstagefright_soft_flacenc
19 | LOCAL_MODULE_TAGS := optional
20 |
21 | include $(BUILD_SHARED_LIBRARY)
22 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/flac/enc/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/flac/enc/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/g711/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | include $(call all-makefiles-under,$(LOCAL_PATH))
5 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/g711/dec/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES := \
5 | SoftG711.cpp
6 |
7 | LOCAL_C_INCLUDES := \
8 | frameworks/av/media/libstagefright/include \
9 | frameworks/native/include/media/openmax
10 |
11 | LOCAL_SHARED_LIBRARIES := \
12 | libstagefright libstagefright_omx libstagefright_foundation libutils
13 |
14 | LOCAL_MODULE := libstagefright_soft_g711dec
15 | LOCAL_MODULE_TAGS := optional
16 |
17 | include $(BUILD_SHARED_LIBRARY)
18 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/g711/dec/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/g711/dec/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/m4v_h263/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | include $(call all-makefiles-under,$(LOCAL_PATH))
5 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/m4v_h263/dec/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/m4v_h263/dec/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/m4v_h263/dec/src/mbtype_mode.h:
--------------------------------------------------------------------------------
1 | /* ------------------------------------------------------------------
2 | * Copyright (C) 1998-2009 PacketVideo
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | * express or implied.
14 | * See the License for the specific language governing permissions
15 | * and limitations under the License.
16 | * -------------------------------------------------------------------
17 | */
18 | const static int MBtype_mode[] =
19 | {
20 | MODE_INTER,
21 | MODE_INTER_Q,
22 | MODE_INTER4V,
23 | MODE_INTRA,
24 | MODE_INTRA_Q,
25 | #ifdef PV_ANNEX_IJKT_SUPPORT
26 | MODE_INTER4V_Q,
27 | #endif
28 | MODE_SKIPPED
29 | };
30 | #ifdef PV_ANNEX_IJKT_SUPPORT
31 | const static int16 DQ_tab_Annex_T_10[32] = {0, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3};
32 | const static int16 DQ_tab_Annex_T_11[32] = {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, -5};
33 | const static int16 MQ_chroma_QP_table[32] = {0, 1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13,
34 | 14, 14, 14, 14, 14, 15, 15, 15, 15, 15
35 | };
36 | #endif
37 |
38 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/m4v_h263/enc/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/m4v_h263/enc/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/m4v_h263/patent_disclaimer.txt:
--------------------------------------------------------------------------------
1 |
2 | THIS IS NOT A GRANT OF PATENT RIGHTS.
3 |
4 | Google makes no representation or warranty that the codecs for which
5 | source code is made available hereunder are unencumbered by
6 | third-party patents. Those intending to use this source code in
7 | hardware or software products are advised that implementations of
8 | these codecs, including in open source software or shareware, may
9 | require patent licenses from the relevant patent holders.
10 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/mp3dec/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/mp3dec/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/mp3dec/include/mp3_decoder_selection.h:
--------------------------------------------------------------------------------
1 | /* ------------------------------------------------------------------
2 | * Copyright (C) 1998-2009 PacketVideo
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13 | * express or implied.
14 | * See the License for the specific language governing permissions
15 | * and limitations under the License.
16 | * -------------------------------------------------------------------
17 | */
18 | /*! \file mp3_decoder_selection.h
19 | * \brief select mp3 decoder
20 | *
21 | */
22 |
23 | #ifndef MP3_DECODER_SELECTION_H
24 | #define MP3_DECODER_SELECTION_H
25 |
26 |
27 | #define NEW_PV_MP3_DECODER 1 // 1 == PV mp3 decoder
28 |
29 | #endif
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/mp3dec/patent_disclaimer.txt:
--------------------------------------------------------------------------------
1 |
2 | THIS IS NOT A GRANT OF PATENT RIGHTS.
3 |
4 | Google makes no representation or warranty that the codecs for which
5 | source code is made available hereunder are unencumbered by
6 | third-party patents. Those intending to use this source code in
7 | hardware or software products are advised that implementations of
8 | these codecs, including in open source software or shareware, may
9 | require patent licenses from the relevant patent holders.
10 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | include $(call all-makefiles-under,$(LOCAL_PATH))
5 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/dec/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES := \
5 | SoftVPX.cpp
6 |
7 | LOCAL_C_INCLUDES := \
8 | $(TOP)/external/libvpx \
9 | $(TOP)/external/libvpx/vpx_codec \
10 | $(TOP)/external/libvpx/vpx_ports \
11 | frameworks/av/media/libstagefright/include \
12 | frameworks/native/include/media/openmax \
13 |
14 | LOCAL_STATIC_LIBRARIES := \
15 | libvpx
16 |
17 | LOCAL_SHARED_LIBRARIES := \
18 | libstagefright libstagefright_omx libstagefright_foundation libutils
19 |
20 | LOCAL_MODULE := libstagefright_soft_vpxdec
21 | LOCAL_MODULE_TAGS := optional
22 |
23 | include $(BUILD_SHARED_LIBRARY)
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/dec/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/dec/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/inc/basetype.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2009 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 |
18 | #ifndef BASETYPE_H_INCLUDED
19 | #define BASETYPE_H_INCLUDED
20 |
21 |
22 | #ifdef __arm
23 | #define VOLATILE volatile
24 | #else
25 | #define VOLATILE
26 | #endif
27 |
28 | typedef unsigned char u8;
29 | typedef signed char i8;
30 | typedef unsigned short u16;
31 | typedef signed short i16;
32 | typedef unsigned int u32;
33 | typedef signed int i32;
34 |
35 | #if defined(VC1SWDEC_16BIT) || defined(MP4ENC_ARM11)
36 | typedef unsigned short u16x;
37 | typedef signed short i16x;
38 | #else
39 | typedef unsigned int u16x;
40 | typedef signed int i16x;
41 | #endif
42 |
43 |
44 | #ifndef NULL
45 | #ifdef __cplusplus
46 | #define NULL 0
47 | #else
48 | #define NULL ((void *)0)
49 | #endif
50 | #endif
51 |
52 | #endif /* BASETYPE_H_INCLUDED */
53 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/api/armCOMM_IDCTTable.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | * File Name: armCOMM_IDCTTable.h
5 | * OpenMAX DL: v1.0.2
6 | * Revision: 9641
7 | * Date: Thursday, February 7, 2008
8 | *
9 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
10 | *
11 | *
12 | *
13 | * File : armCOMM_IDCTTable.h
14 | * Description : Contains declarations of tables for IDCT calculation.
15 | *
16 | */
17 |
18 | #ifndef _armCOMM_IDCTTable_H_
19 | #define _armCOMM_IDCTTable_H_
20 |
21 | #include "omxtypes.h"
22 |
23 | /* Table of s(u)*A(u)*A(v)/16 at Q15
24 | * s(u)=1.0 0 <= u <= 5
25 | * s(6)=2.0
26 | * s(7)=4.0
27 | * A(0) = 2*sqrt(2)
28 | * A(u) = 4*cos(u*pi/16) for (u!=0)
29 | */
30 | extern const OMX_U16 armCOMM_IDCTPreScale [64];
31 | extern const OMX_U16 armCOMM_IDCTCoef [4];
32 |
33 | #endif /* _armCOMM_IDCTTable_H_ */
34 |
35 |
36 | /* End of File */
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/api/armCOMM_MaskTable.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * File Name: armCOMM_MaskTable.h
4 | * OpenMAX DL: v1.0.2
5 | * Revision: 9641
6 | * Date: Thursday, February 7, 2008
7 | *
8 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
9 | *
10 | *
11 | *
12 | * Mask Table to mask the end of array
13 | */
14 |
15 |
16 |
17 | #ifndef _ARMCOMM_MASKTABLE_H_
18 | #define _ARMCOMM_MASKTABLE_H_
19 |
20 | #define MaskTableSize 72
21 |
22 | /* Mask table */
23 |
24 | extern const OMX_U16 armCOMM_qMaskTable16[MaskTableSize];
25 | extern const OMX_U8 armCOMM_qMaskTable8[MaskTableSize];
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/api/omxtypes.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/api/omxtypes.h
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/api/armVC.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/api/armVC.h
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/api/omxVC.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/api/omxVC.h
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/api/omxVC_s.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/api/omxVC_s.h
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/m4p10/api/armVCM4P10_CAVLCTables.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------
2 | *
3 | *
4 | * File Name: armVCM4P10_CAVLCTables.h
5 | * OpenMAX DL: v1.0.2
6 | * Revision: 9641
7 | * Date: Thursday, February 7, 2008
8 | *
9 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
10 | *
11 | *
12 | *
13 | * Header file for optimized H.264 CALVC tables
14 | *
15 | */
16 |
17 | #ifndef ARMVCM4P10_CAVLCTABLES_H
18 | #define ARMVCM4P10_CAVLCTABLES_H
19 |
20 | /* CAVLC tables */
21 |
22 | extern const OMX_U16 *armVCM4P10_CAVLCCoeffTokenTables[18];
23 | extern const OMX_U16 *armVCM4P10_CAVLCTotalZeroTables[15];
24 | extern const OMX_U16 *armVCM4P10_CAVLCTotalZeros2x2Tables[3];
25 | extern const OMX_U16 *armVCM4P10_CAVLCRunBeforeTables[15];
26 | extern const OMX_U8 armVCM4P10_ZigZag_4x4[16];
27 | extern const OMX_U8 armVCM4P10_ZigZag_2x2[4];
28 | extern const OMX_S8 armVCM4P10_SuffixToLevel[7];
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/m4p10/src/armVCM4P10_DeblockingChroma_unsafe_s.s:
--------------------------------------------------------------------------------
1 | ;//
2 | ;//
3 | ;// File Name: armVCM4P10_DeblockingChroma_unsafe_s.s
4 | ;// OpenMAX DL: v1.0.2
5 | ;// Revision: 9641
6 | ;// Date: Thursday, February 7, 2008
7 | ;//
8 | ;// (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
9 | ;//
10 | ;//
11 | ;//
12 |
13 | INCLUDE omxtypes_s.h
14 | INCLUDE armCOMM_s.h
15 |
16 | M_VARIANTS ARM1136JS
17 |
18 |
19 |
20 | END
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/m4p10/src/omxVCM4P10_DecodeCoeffsToPairCAVLC.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/m4p10/src/omxVCM4P10_DecodeCoeffsToPairCAVLC.c
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/m4p2/api/armVCM4P2_Huff_Tables_VLC.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * File Name: armVCM4P2_Huff_Tables_VLC.h
4 | * OpenMAX DL: v1.0.2
5 | * Revision: 9641
6 | * Date: Thursday, February 7, 2008
7 | *
8 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
9 | *
10 | *
11 | *
12 | *
13 | * File: armVCM4P2_Huff_Tables.h
14 | * Description: Declares Tables used for Hufffman coding and decoding
15 | * in MP4P2 codec.
16 | *
17 | */
18 |
19 | #ifndef _OMXHUFFTAB_H_
20 | #define _OMXHUFFTAB_H_
21 |
22 |
23 | extern const OMX_U16 armVCM4P2_IntraVlcL0L1[200];
24 |
25 |
26 | extern const OMX_U16 armVCM4P2_InterVlcL0L1[200];
27 |
28 | extern const OMX_U16 armVCM4P2_aIntraDCLumaChromaIndex[64];
29 | //extern const OMX_U16 armVCM4P2_aIntraDCChromaIndex[32];
30 | extern const OMX_U16 armVCM4P2_aVlcMVD[124];
31 |
32 | extern const OMX_U8 armVCM4P2_InterL0L1LMAX[73];
33 | extern const OMX_U8 armVCM4P2_InterL0L1RMAX[35];
34 | extern const OMX_U8 armVCM4P2_IntraL0L1LMAX[53];
35 | extern const OMX_U8 armVCM4P2_IntraL0L1RMAX[40]
36 |
37 | #endif /* _OMXHUFFTAB_H_ */
38 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/m4p2/api/armVCM4P2_ZigZag_Tables.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * File Name: armVCM4P2_ZigZag_Tables.h
4 | * OpenMAX DL: v1.0.2
5 | * Revision: 9641
6 | * Date: Thursday, February 7, 2008
7 | *
8 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
9 | *
10 | *
11 | *
12 | *
13 | * File: armVCM4P2_Zigzag_Tables.h
14 | * Description: Declares Tables used for Zigzag scan in MP4P2 codec.
15 | *
16 | */
17 |
18 | #ifndef _OMXZIGZAGTAB_H
19 | #define _OMXZIGZAGTAB_H
20 |
21 | extern const OMX_U8 armVCM4P2_aClassicalZigzagScan [192];
22 | //extern const OMX_U8 armVCM4P2_aHorizontalZigzagScan [64];
23 | //extern const OMX_U8 armVCM4P2_aVerticalZigzagScan [64];
24 |
25 | #endif /* _OMXZIGZAGTAB_H_ */
26 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm11/vc/src/armVC_Version.c:
--------------------------------------------------------------------------------
1 | #include "omxtypes.h"
2 | #include "armCOMM_Version.h"
3 |
4 | #ifdef ARM_INCLUDE_VERSION_DESCRIPTIONS
5 | const char * const omxVC_VersionDescription = "ARM OpenMAX DL v" ARM_VERSION_STRING " Rel=" OMX_ARM_RELEASE_TAG " Arch=" OMX_ARM_BUILD_ARCHITECTURE " Tools=" OMX_ARM_BUILD_TOOLCHAIN ;
6 | #endif /* ARM_INCLUDE_VERSION_DESCRIPTIONS */
7 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/api/armCOMM_IDCTTable.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | *
4 | * File Name: armCOMM_IDCTTable.h
5 | * OpenMAX DL: v1.0.2
6 | * Revision: 12290
7 | * Date: Wednesday, April 9, 2008
8 | *
9 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
10 | *
11 | *
12 | *
13 | * File : armCOMM_IDCTTable.h
14 | * Description : Contains declarations of tables for IDCT calculation.
15 | *
16 | */
17 |
18 | #ifndef _armCOMM_IDCTTable_H_
19 | #define _armCOMM_IDCTTable_H_
20 |
21 | #include "omxtypes.h"
22 |
23 | /* Table of s(u)*A(u)*A(v)/16 at Q15
24 | * s(u)=1.0 0 <= u <= 5
25 | * s(6)=2.0
26 | * s(7)=4.0
27 | * A(0) = 2*sqrt(2)
28 | * A(u) = 4*cos(u*pi/16) for (u!=0)
29 | */
30 | extern const OMX_U16 armCOMM_IDCTPreScale [64];
31 | extern const OMX_U16 armCOMM_IDCTCoef [4];
32 |
33 | #endif /* _armCOMM_IDCTTable_H_ */
34 |
35 |
36 | /* End of File */
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/api/armCOMM_MaskTable.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * File Name: armCOMM_MaskTable.h
4 | * OpenMAX DL: v1.0.2
5 | * Revision: 12290
6 | * Date: Wednesday, April 9, 2008
7 | *
8 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
9 | *
10 | *
11 | *
12 | * Mask Table to mask the end of array
13 | */
14 |
15 |
16 |
17 | #ifndef _ARMCOMM_MASKTABLE_H_
18 | #define _ARMCOMM_MASKTABLE_H_
19 |
20 | #define MaskTableSize 72
21 |
22 | /* Mask table */
23 |
24 | extern const OMX_U16 armCOMM_qMaskTable16[MaskTableSize];
25 | extern const OMX_U8 armCOMM_qMaskTable8[MaskTableSize];
26 |
27 | #endif
28 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/api/omxtypes.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/api/omxtypes.h
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/api/armVC.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/api/armVC.h
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/api/omxVC.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/api/omxVC.h
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/m4p10/api/armVCM4P10_CAVLCTables.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------
2 | *
3 | *
4 | * File Name: armVCM4P10_CAVLCTables.h
5 | * OpenMAX DL: v1.0.2
6 | * Revision: 12290
7 | * Date: Wednesday, April 9, 2008
8 | *
9 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
10 | *
11 | *
12 | *
13 | * Header file for optimized H.264 CALVC tables
14 | *
15 | */
16 |
17 | #ifndef ARMVCM4P10_CAVLCTABLES_H
18 | #define ARMVCM4P10_CAVLCTABLES_H
19 |
20 | /* CAVLC tables */
21 |
22 | extern const OMX_U16 *armVCM4P10_CAVLCCoeffTokenTables[18];
23 | extern const OMX_U16 *armVCM4P10_CAVLCTotalZeroTables[15];
24 | extern const OMX_U16 *armVCM4P10_CAVLCTotalZeros2x2Tables[3];
25 | extern const OMX_U16 *armVCM4P10_CAVLCRunBeforeTables[15];
26 | extern const OMX_U8 armVCM4P10_ZigZag_4x4[16];
27 | extern const OMX_U8 armVCM4P10_ZigZag_2x2[4];
28 | extern const OMX_S8 armVCM4P10_SuffixToLevel[7];
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DecodeCoeffsToPairCAVLC.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/m4p10/src/omxVCM4P10_DecodeCoeffsToPairCAVLC.c
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_DeblockingChroma_unsafe_s.S:
--------------------------------------------------------------------------------
1 | /*
2 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
3 | *
4 | */
5 |
6 | .eabi_attribute 24, 1
7 | .eabi_attribute 25, 1
8 |
9 | .arm
10 | .fpu neon
11 | .text
12 |
13 | .global armVCM4P10_DeblockingChromabSLT4_unsafe
14 | .func armVCM4P10_DeblockingChromabSLT4_unsafe
15 | armVCM4P10_DeblockingChromabSLT4_unsafe:
16 | VLD1.32 {d18[0]},[r5]!
17 | VSUBL.U8 q11,d5,d9
18 | VMOV d28,d18
19 | VSUBL.U8 q10,d8,d4
20 | VSHR.S16 q11,q11,#2
21 | VZIP.8 d18,d28
22 | VBIF d18,d14,d16
23 | VRHADD.S16 q10,q11,q10
24 | VADD.I8 d31,d18,d15
25 | VQMOVN.S16 d20,q10
26 | VLD1.8 {d0[]},[r2]
27 | VMIN.S8 d20,d20,d31
28 | VNEG.S8 d31,d31
29 | VLD1.8 {d2[]},[r3]
30 | VMAX.S8 d20,d20,d31
31 | VMOVL.U8 q14,d4
32 | VMOVL.U8 q12,d8
33 | VADDW.S8 q14,q14,d20
34 | VSUBW.S8 q12,q12,d20
35 | VQMOVUN.S16 d29,q14
36 | VQMOVUN.S16 d24,q12
37 | BX lr
38 | .endfunc
39 |
40 | .global armVCM4P10_DeblockingChromabSGE4_unsafe
41 | .func armVCM4P10_DeblockingChromabSGE4_unsafe
42 | armVCM4P10_DeblockingChromabSGE4_unsafe:
43 | VHADD.U8 d13,d4,d9
44 | VHADD.U8 d31,d8,d5
45 | VLD1.8 {d0[]},[r2]
46 | ADD r5,r5,#4
47 | VLD1.8 {d2[]},[r3]
48 | VRHADD.U8 d13,d13,d5
49 | VRHADD.U8 d31,d31,d9
50 | BX lr
51 | .endfunc
52 |
53 | .end
54 |
55 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe_s.S:
--------------------------------------------------------------------------------
1 | /*
2 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
3 | *
4 | */
5 |
6 | .eabi_attribute 24, 1
7 | .eabi_attribute 25, 1
8 |
9 | .arm
10 | .fpu neon
11 | .text
12 |
13 | .global armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe
14 | .func armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe
15 | armVCM4P10_InterpolateLuma_HalfVer4x4_unsafe:
16 | PUSH {r4-r12,lr}
17 | VLD1.8 {d7},[r0],r1
18 | ADD r12,r0,r1,LSL #2
19 | VLD1.8 {d8},[r0],r1
20 | VLD1.8 {d12},[r12],r1
21 | VLD1.8 {d9},[r0],r1
22 | VADDL.U8 q0,d7,d12
23 | VLD1.8 {d10},[r0],r1
24 | VLD1.8 {d13},[r12],r1
25 | VLD1.8 {d11},[r0],r1
26 | VLD1.8 {d14},[r12],r1
27 | VADDL.U8 q8,d8,d11
28 | VADDL.U8 q9,d9,d10
29 | VLD1.8 {d15},[r12],r1
30 | VMLS.I16 d0,d16,d30
31 | VMUL.I16 d20,d18,d31
32 | VADDL.U8 q8,d9,d12
33 | VADDL.U8 q9,d10,d11
34 | VADDL.U8 q1,d8,d13
35 | VMLS.I16 d2,d16,d30
36 | VMUL.I16 d21,d18,d31
37 | VADDL.U8 q8,d10,d13
38 | VADDL.U8 q9,d11,d12
39 | VADDL.U8 q2,d9,d14
40 | VMLS.I16 d4,d16,d30
41 | VMUL.I16 d22,d18,d31
42 | VADDL.U8 q8,d11,d14
43 | VADDL.U8 q3,d10,d15
44 | VADDL.U8 q9,d12,d13
45 | VMLS.I16 d6,d16,d30
46 | VADD.I16 d0,d0,d20
47 | VADD.I16 d2,d2,d21
48 | VADD.I16 d4,d4,d22
49 | VMLA.I16 d6,d18,d31
50 | VQRSHRUN.S16 d0,q0,#5
51 | VQRSHRUN.S16 d2,q1,#5
52 | VQRSHRUN.S16 d4,q2,#5
53 | VQRSHRUN.S16 d6,q3,#5
54 | POP {r4-r12,pc}
55 | .endfunc
56 |
57 | .end
58 |
59 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_TransformResidual4x4_s.S:
--------------------------------------------------------------------------------
1 | /*
2 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
3 | *
4 | */
5 |
6 | .eabi_attribute 24, 1
7 | .eabi_attribute 25, 1
8 |
9 | .arm
10 | .fpu neon
11 | .text
12 |
13 | .global armVCM4P10_TransformResidual4x4
14 | .func armVCM4P10_TransformResidual4x4
15 | armVCM4P10_TransformResidual4x4:
16 | VPUSH {d8}
17 | VLD4.16 {d0,d1,d2,d3},[r1]
18 | VMOV.I16 d4,#0
19 | VADD.I16 d5,d0,d2
20 | VSUB.I16 d6,d0,d2
21 | VHADD.S16 d7,d1,d4
22 | VHADD.S16 d8,d3,d4
23 | VSUB.I16 d7,d7,d3
24 | VADD.I16 d8,d1,d8
25 | VADD.I16 d0,d5,d8
26 | VADD.I16 d1,d6,d7
27 | VSUB.I16 d2,d6,d7
28 | VSUB.I16 d3,d5,d8
29 | VTRN.16 d0,d1
30 | VTRN.16 d2,d3
31 | VTRN.32 q0,q1
32 | VADD.I16 d5,d0,d2
33 | VSUB.I16 d6,d0,d2
34 | VHADD.S16 d7,d1,d4
35 | VHADD.S16 d8,d3,d4
36 | VSUB.I16 d7,d7,d3
37 | VADD.I16 d8,d1,d8
38 | VADD.I16 d0,d5,d8
39 | VADD.I16 d1,d6,d7
40 | VSUB.I16 d2,d6,d7
41 | VSUB.I16 d3,d5,d8
42 | VRSHR.S16 d0,d0,#6
43 | VRSHR.S16 d1,d1,#6
44 | VRSHR.S16 d2,d2,#6
45 | VRSHR.S16 d3,d3,#6
46 | VST1.16 {d0,d1,d2,d3},[r0]
47 | VPOP {d8}
48 | BX lr
49 | .endfunc
50 |
51 | .end
52 |
53 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/m4p10/src_gcc/armVCM4P10_UnpackBlock4x4_s.S:
--------------------------------------------------------------------------------
1 | /*
2 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
3 | *
4 | */
5 |
6 | .eabi_attribute 24, 1
7 | .eabi_attribute 25, 1
8 |
9 | .arm
10 | .fpu neon
11 | .text
12 |
13 | .global armVCM4P10_UnpackBlock4x4
14 | .func armVCM4P10_UnpackBlock4x4
15 | armVCM4P10_UnpackBlock4x4:
16 | PUSH {r4-r8,lr}
17 | LDR r2,[r0,#0]
18 | MOV r7,#0x1f
19 | MOV r4,#0
20 | MOV r5,#0
21 | LDRB r3,[r2],#1
22 | STRD r4,r5,[r1,#0]
23 | STRD r4,r5,[r1,#8]
24 | STRD r4,r5,[r1,#0x10]
25 | STRD r4,r5,[r1,#0x18]
26 | unpackLoop:
27 | TST r3,#0x10
28 | LDRNESB r5,[r2,#1]
29 | LDRNEB r4,[r2],#2
30 | AND r6,r7,r3,LSL #1
31 | LDREQSB r4,[r2],#1
32 | ORRNE r4,r4,r5,LSL #8
33 | TST r3,#0x20
34 | LDREQB r3,[r2],#1
35 | STRH r4,[r1,r6]
36 | BEQ unpackLoop
37 | STR r2,[r0,#0]
38 | POP {r4-r8,pc}
39 | .endfunc
40 | .end
41 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_DeblockLuma_I.S:
--------------------------------------------------------------------------------
1 | /*
2 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
3 | *
4 | */
5 |
6 | .eabi_attribute 24, 1
7 | .eabi_attribute 25, 1
8 |
9 | .arm
10 | .fpu neon
11 | .text
12 |
13 | .global omxVCM4P10_DeblockLuma_I
14 | .func omxVCM4P10_DeblockLuma_I
15 | omxVCM4P10_DeblockLuma_I:
16 | PUSH {r4-r9,lr}
17 | MOVS r6,r0
18 | SUB sp,sp,#0xc
19 | MOV r9,r1
20 | MOV r7,r2
21 | MOV r8,r3
22 | LDR r4,[sp,#0x28]
23 | LDR r5,[sp,#0x2c]
24 | BEQ L0x58
25 | TST r6,#7
26 | TSTEQ r9,#7
27 | BNE L0x58
28 | CMP r7,#0
29 | CMPNE r8,#0
30 | CMPNE r4,#0
31 | BEQ L0x58
32 | TST r4,#3
33 | BNE L0x58
34 | CMP r5,#0
35 | BEQ L0x58
36 | TST r5,#3
37 | BEQ L0x64
38 | L0x58:
39 | MVN r0,#4
40 | L0x5c:
41 | ADD sp,sp,#0xc
42 | POP {r4-r9,pc}
43 | L0x64:
44 | STR r4,[sp,#0]
45 | MOV r3,r8
46 | STR r5,[sp,#4]
47 | MOV r2,r7
48 | MOV r1,r9
49 | MOV r0,r6
50 | BL omxVCM4P10_FilterDeblockingLuma_VerEdge_I
51 | CMP r0,#0
52 | BNE L0x5c
53 | ADD r3,r5,#0x10
54 | ADD r2,r4,#0x10
55 | STR r3,[sp,#4]
56 | STR r2,[sp,#0]
57 | ADD r3,r8,#2
58 | ADD r2,r7,#2
59 | MOV r1,r9
60 | MOV r0,r6
61 | BL omxVCM4P10_FilterDeblockingLuma_HorEdge_I
62 | ADD sp,sp,#0xc
63 | POP {r4-r9,pc}
64 | .endfunc
65 |
66 | .end
67 |
68 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/m4p10/src_gcc/omxVCM4P10_TransformDequantChromaDCFromPair_s.S:
--------------------------------------------------------------------------------
1 | /*
2 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
3 | *
4 | */
5 |
6 | .eabi_attribute 24, 1
7 | .eabi_attribute 25, 1
8 |
9 | .arm
10 | .fpu neon
11 | .text
12 |
13 | .global omxVCM4P10_TransformDequantChromaDCFromPair
14 | .func omxVCM4P10_TransformDequantChromaDCFromPair
15 | omxVCM4P10_TransformDequantChromaDCFromPair:
16 | push {r4-r10, lr}
17 | ldr r9, [r0,#0]
18 | vmov.i16 d0, #0
19 | mov r8, #0x1f
20 | vst1.16 {d0}, [r1]
21 | ldrb r6, [r9], #1
22 | unpackLoop:
23 | tst r6, #0x10
24 | ldrnesb r5, [r9, #1]
25 | ldrneb r4, [r9], #2
26 | and r7, r8, r6, lsl #1
27 | ldreqsb r4, [r9], #1
28 | orrne r4, r4, r5, lsl #8
29 | tst r6, #0x20
30 | ldreqb r6, [r9], #1
31 | strh r4, [r1, r7]
32 | beq unpackLoop
33 | ldmia r1, {r3, r4}
34 | str r9, [r0, #0]
35 | ldr r5, .LarmVCM4P10_QPDivTable
36 | P0: add r5, pc
37 | ldr r6, .LarmVCM4P10_VMatrixQPModTable
38 | P1: add r6, pc
39 | saddsubx r3, r3, r3
40 | saddsubx r4, r4, r4
41 | ldrsb r9, [r5, r2]
42 | ldrsb r2, [r6, r2]
43 | sadd16 r5, r3, r4
44 | ssub16 r6, r3, r4
45 | lsl r2, r2, r9
46 | vmov d0, r5, r6
47 | vrev32.16 d0, d0
48 | vdup.16 d1, r2
49 | vmull.s16 q1, d0, d1
50 | vshrn.i32 d2, q1, #1
51 | vst1.16 {d2}, [r1]
52 | mov r0, #0
53 | pop {r4-r10, pc}
54 | .endfunc
55 |
56 | .LarmVCM4P10_QPDivTable:
57 | .word armVCM4P10_QPDivTable-(P0+8)
58 | .LarmVCM4P10_VMatrixQPModTable:
59 | .word armVCM4P10_VMatrixQPModTable-(P1+8)
60 |
61 | .end
62 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/m4p2/api/armVCM4P2_Huff_Tables_VLC.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * File Name: armVCM4P2_Huff_Tables_VLC.h
4 | * OpenMAX DL: v1.0.2
5 | * Revision: 12290
6 | * Date: Wednesday, April 9, 2008
7 | *
8 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
9 | *
10 | *
11 | *
12 | *
13 | * File: armVCM4P2_Huff_Tables.h
14 | * Description: Declares Tables used for Hufffman coding and decoding
15 | * in MP4P2 codec.
16 | *
17 | */
18 |
19 | #ifndef _OMXHUFFTAB_H_
20 | #define _OMXHUFFTAB_H_
21 |
22 |
23 | extern const OMX_U16 armVCM4P2_IntraVlcL0L1[200];
24 |
25 |
26 | extern const OMX_U16 armVCM4P2_InterVlcL0L1[200];
27 |
28 | extern const OMX_U16 armVCM4P2_aIntraDCLumaChromaIndex[64];
29 | //extern const OMX_U16 armVCM4P2_aIntraDCChromaIndex[32];
30 | extern const OMX_U16 armVCM4P2_aVlcMVD[124];
31 |
32 | extern const OMX_U8 armVCM4P2_InterL0L1LMAX[73];
33 | extern const OMX_U8 armVCM4P2_InterL0L1RMAX[35];
34 | extern const OMX_U8 armVCM4P2_IntraL0L1LMAX[53];
35 | extern const OMX_U8 armVCM4P2_IntraL0L1RMAX[40]
36 |
37 | #endif /* _OMXHUFFTAB_H_ */
38 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/m4p2/api/armVCM4P2_ZigZag_Tables.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * File Name: armVCM4P2_ZigZag_Tables.h
4 | * OpenMAX DL: v1.0.2
5 | * Revision: 12290
6 | * Date: Wednesday, April 9, 2008
7 | *
8 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
9 | *
10 | *
11 | *
12 | *
13 | * File: armVCM4P2_Zigzag_Tables.h
14 | * Description: Declares Tables used for Zigzag scan in MP4P2 codec.
15 | *
16 | */
17 |
18 | #ifndef _OMXZIGZAGTAB_H
19 | #define _OMXZIGZAGTAB_H
20 |
21 | extern const OMX_U8 armVCM4P2_aClassicalZigzagScan [192];
22 | //extern const OMX_U8 armVCM4P2_aHorizontalZigzagScan [64];
23 | //extern const OMX_U8 armVCM4P2_aVerticalZigzagScan [64];
24 |
25 | #endif /* _OMXZIGZAGTAB_H_ */
26 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/arm_neon/vc/src/armVC_Version.c:
--------------------------------------------------------------------------------
1 | #include "omxtypes.h"
2 | #include "armCOMM_Version.h"
3 |
4 | #ifdef ARM_INCLUDE_VERSION_DESCRIPTIONS
5 | const char * const omxVC_VersionDescription = "ARM OpenMAX DL v" ARM_VERSION_STRING " Rel=" OMX_ARM_RELEASE_TAG " Arch=" OMX_ARM_BUILD_ARCHITECTURE " Tools=" OMX_ARM_BUILD_TOOLCHAIN ;
6 | #endif /* ARM_INCLUDE_VERSION_DESCRIPTIONS */
7 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/api/omxtypes.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/api/omxtypes.h
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/api/armVC.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/api/armVC.h
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/api/omxVC.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/api/omxVC.h
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/m4p10/api/armVCM4P10_CAVLCTables.h:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------
2 | *
3 | *
4 | * File Name: armVCM4P10_CAVLCTables.h
5 | * OpenMAX DL: v1.0.2
6 | * Revision: 9641
7 | * Date: Thursday, February 7, 2008
8 | *
9 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
10 | *
11 | *
12 | *
13 | * ----------------------------------------------------------------
14 | * File: armVCM4P10_CAVLCTables.h
15 | * ----------------------------------------------------------------
16 | *
17 | * Header file for ARM implementation of OpenMAX VCM4P10
18 | *
19 | */
20 |
21 | #ifndef ARMVCM4P10_CAVLCTABLES_H
22 | #define ARMVCM4P10_CAVLCTABLES_H
23 |
24 | /* CAVLC tables */
25 |
26 | extern const OMX_U8 armVCM4P10_CAVLCTrailingOnes[62];
27 | extern const OMX_U8 armVCM4P10_CAVLCTotalCoeff[62];
28 | extern const ARM_VLC32 *armVCM4P10_CAVLCCoeffTokenTables[5];
29 | extern const ARM_VLC32 armVCM4P10_CAVLCLevelPrefix[17];
30 | extern const ARM_VLC32 *armVCM4P10_CAVLCTotalZeroTables[15];
31 | extern const ARM_VLC32 *armVCM4P10_CAVLCTotalZeros2x2Tables[3];
32 | extern const ARM_VLC32 *armVCM4P10_CAVLCRunBeforeTables[7];
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/m4p10/src/armVCM4P10_DequantTables.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------
2 | *
3 | *
4 | * File Name: armVCM4P10_DequantTables.c
5 | * OpenMAX DL: v1.0.2
6 | * Revision: 9641
7 | * Date: Thursday, February 7, 2008
8 | *
9 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
10 | *
11 | *
12 | *
13 | * H.264 inverse quantize tables
14 | *
15 | */
16 |
17 | #include "omxtypes.h"
18 | #include "armOMX.h"
19 | #include "omxVC.h"
20 | #include "armVC.h"
21 |
22 |
23 | const OMX_U8 armVCM4P10_PosToVCol4x4[16] =
24 | {
25 | 0, 2, 0, 2,
26 | 2, 1, 2, 1,
27 | 0, 2, 0, 2,
28 | 2, 1, 2, 1
29 | };
30 |
31 | const OMX_U8 armVCM4P10_PosToVCol2x2[4] =
32 | {
33 | 0, 2,
34 | 2, 1
35 | };
36 |
37 | const OMX_U8 armVCM4P10_VMatrix[6][3] =
38 | {
39 | { 10, 16, 13 },
40 | { 11, 18, 14 },
41 | { 13, 20, 16 },
42 | { 14, 23, 18 },
43 | { 16, 25, 20 },
44 | { 18, 29, 23 }
45 | };
46 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/m4p10/src/armVCM4P10_QuantTables.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------
2 | *
3 | *
4 | * File Name: armVCM4P10_QuantTables.c
5 | * OpenMAX DL: v1.0.2
6 | * Revision: 9641
7 | * Date: Thursday, February 7, 2008
8 | *
9 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
10 | *
11 | *
12 | *
13 | * H.264 inverse quantize tables
14 | *
15 | */
16 |
17 | #include "omxtypes.h"
18 | #include "armOMX.h"
19 | #include "omxVC.h"
20 |
21 | #include "armVC.h"
22 |
23 | const OMX_U32 armVCM4P10_MFMatrix[6][3] =
24 | {
25 | {13107, 5243, 8066},
26 | {11916, 4660, 7490},
27 | {10082, 4194, 6554},
28 | { 9362, 3647, 5825},
29 | { 8192, 3355, 5243},
30 | { 7282, 2893, 4559}
31 | };
32 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/m4p2/api/armVCM4P2_DCT_Table.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * File Name: armVCM4P2_DCT_Table.h
4 | * OpenMAX DL: v1.0.2
5 | * Revision: 9641
6 | * Date: Thursday, February 7, 2008
7 | *
8 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
9 | *
10 | *
11 | *
12 | *
13 | * File: armVCM4P2_DCT_Table.h
14 | * Description: Declares Tables used for DCT/IDCT module
15 | * in MP4P2 codec.
16 | *
17 | */
18 |
19 | #ifndef _OMXDCTTAB_H_
20 | #define _OMXDCTTAB_H_
21 |
22 | extern const OMX_F64 armVCM4P2_preCalcDCTCos[8][8];
23 |
24 | #endif /* _OMXDCTTAB_H_ */
25 |
26 |
27 | /* End of file */
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/m4p2/api/armVCM4P2_Huff_Tables_VLC.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * File Name: armVCM4P2_Huff_Tables_VLC.h
4 | * OpenMAX DL: v1.0.2
5 | * Revision: 9641
6 | * Date: Thursday, February 7, 2008
7 | *
8 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
9 | *
10 | *
11 | *
12 | *
13 | * File: armVCM4P2_Huff_Tables.h
14 | * Description: Declares Tables used for Hufffman coding and decoding
15 | * in MP4P2 codec.
16 | *
17 | */
18 |
19 | #ifndef _OMXHUFFTAB_H_
20 | #define _OMXHUFFTAB_H_
21 |
22 | extern const OMX_U8 armVCM4P2_IntraL0RunIdx[11];
23 | extern const ARM_VLC32 armVCM4P2_IntraVlcL0[68];
24 | extern const OMX_U8 armVCM4P2_IntraL1RunIdx[7];
25 | extern const ARM_VLC32 armVCM4P2_IntraVlcL1[36];
26 | extern const OMX_U8 armVCM4P2_IntraL0LMAX[15];
27 | extern const OMX_U8 armVCM4P2_IntraL1LMAX[21];
28 | extern const OMX_U8 armVCM4P2_IntraL0RMAX[27];
29 | extern const OMX_U8 armVCM4P2_IntraL1RMAX[8];
30 | extern const OMX_U8 armVCM4P2_InterL0RunIdx[12];
31 | extern const ARM_VLC32 armVCM4P2_InterVlcL0[59];
32 | extern const OMX_U8 armVCM4P2_InterL1RunIdx[3];
33 | extern const ARM_VLC32 armVCM4P2_InterVlcL1[45];
34 | extern const OMX_U8 armVCM4P2_InterL0LMAX[27];
35 | extern const OMX_U8 armVCM4P2_InterL1LMAX[41];
36 | extern const OMX_U8 armVCM4P2_InterL0RMAX[12];
37 | extern const OMX_U8 armVCM4P2_InterL1RMAX[3];
38 | extern const ARM_VLC32 armVCM4P2_aIntraDCLumaIndex[14];
39 | extern const ARM_VLC32 armVCM4P2_aIntraDCChromaIndex[14];
40 | extern const ARM_VLC32 armVCM4P2_aVlcMVD[66];
41 |
42 | #endif /* _OMXHUFFTAB_H_ */
43 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/m4p2/api/armVCM4P2_ZigZag_Tables.h:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * File Name: armVCM4P2_ZigZag_Tables.h
4 | * OpenMAX DL: v1.0.2
5 | * Revision: 9641
6 | * Date: Thursday, February 7, 2008
7 | *
8 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
9 | *
10 | *
11 | *
12 | *
13 | * File: armVCM4P2_Zigzag_Tables.h
14 | * Description: Declares Tables used for Zigzag scan in MP4P2 codec.
15 | *
16 | */
17 |
18 | #ifndef _OMXZIGZAGTAB_H_
19 | #define _OMXZIGZAGTAB_H_
20 |
21 | extern const OMX_U8 armVCM4P2_aClassicalZigzagScan [64];
22 | extern const OMX_U8 armVCM4P2_aHorizontalZigzagScan [64];
23 | extern const OMX_U8 armVCM4P2_aVerticalZigzagScan [64];
24 |
25 | #endif /* _OMXZIGZAGTAB_H_ */
26 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/m4p2/src/armVCM4P2_BlockMatch_Half.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/m4p2/src/armVCM4P2_BlockMatch_Half.c
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/m4p2/src/armVCM4P2_BlockMatch_Integer.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/m4p2/src/armVCM4P2_BlockMatch_Integer.c
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/m4p2/src/armVCM4P2_Zigzag_Tables.c:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * File Name: armVCM4P2_Zigzag_Tables.c
4 | * OpenMAX DL: v1.0.2
5 | * Revision: 9641
6 | * Date: Thursday, February 7, 2008
7 | *
8 | * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
9 | *
10 | *
11 | *
12 | * File: armVCM4P2_ZigZag_Tables.c
13 | * Description: Contains the zigzag tables
14 | *
15 | */
16 |
17 | #include "omxtypes.h"
18 |
19 | const OMX_U8 armVCM4P2_aClassicalZigzagScan [64] =
20 | {
21 | 0, 1, 8, 16, 9, 2, 3, 10,
22 | 17, 24, 32, 25, 18, 11, 4, 5,
23 | 12, 19, 26, 33, 40, 48, 41, 34,
24 | 27, 20, 13, 6, 7, 14, 21, 28,
25 | 35, 42, 49, 56, 57, 50, 43, 36,
26 | 29, 22, 15, 23, 30, 37, 44, 51,
27 | 58, 59, 52, 45, 38, 31, 39, 46,
28 | 53, 60, 61, 54, 47, 55, 62, 63
29 | };
30 |
31 | const OMX_U8 armVCM4P2_aHorizontalZigzagScan [64] =
32 | {
33 | 0, 1, 2, 3, 8, 9, 16, 17,
34 | 10, 11, 4, 5, 6, 7, 15, 14,
35 | 13, 12, 19, 18, 24, 25, 32, 33,
36 | 26, 27, 20, 21, 22, 23, 28, 29,
37 | 30, 31, 34, 35, 40, 41, 48, 49,
38 | 42, 43, 36, 37, 38, 39, 44, 45,
39 | 46, 47, 50, 51, 56, 57, 58, 59,
40 | 52, 53, 54, 55, 60, 61, 62, 63
41 | };
42 |
43 | const OMX_U8 armVCM4P2_aVerticalZigzagScan [64] =
44 | {
45 | 0, 8, 16, 24, 1, 9, 2, 10,
46 | 17, 25, 32, 40, 48, 56, 57, 49,
47 | 41, 33, 26, 18, 3, 11, 4, 12,
48 | 19, 27, 34, 42, 50, 58, 35, 43,
49 | 51, 59, 20, 28, 5, 13, 6, 14,
50 | 21, 29, 36, 44, 52, 60, 37, 45,
51 | 53, 61, 22, 30, 7, 15, 23, 31,
52 | 38, 46, 54, 62, 39, 47, 55, 63
53 | };
54 |
55 |
56 | /* End of file */
57 |
58 |
59 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/omxdl/reference/vc/src/armVC_Version.c:
--------------------------------------------------------------------------------
1 | #include "omxtypes.h"
2 | #include "armCOMM_Version.h"
3 |
4 | #ifdef ARM_INCLUDE_VERSION_DESCRIPTIONS
5 | const char * const omxVC_VersionDescription = "ARM OpenMAX DL v" ARM_VERSION_STRING " Rel=" OMX_ARM_RELEASE_TAG " Arch=" OMX_ARM_BUILD_ARCHITECTURE " Tools=" OMX_ARM_BUILD_TOOLCHAIN ;
6 | #endif /* ARM_INCLUDE_VERSION_DESCRIPTIONS */
7 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/source/arm11_asm/win_asm.bat:
--------------------------------------------------------------------------------
1 | echo off
2 | set ASMFLAGS= -checkreglist -CPU ARM1136 -PreDefine "H264DEC_WINASM SETL {TRUE}"
3 | set ASM="D:\Program Files\Microsoft Visual Studio 8\VC\ce\bin\x86_arm\armasm"
4 | echo on
5 |
6 | %ASM% %ASMFLAGS% h264bsd_interpolate_chroma_ver.s
7 | %ASM% %ASMFLAGS% h264bsd_interpolate_chroma_hor.s
8 | %ASM% %ASMFLAGS% h264bsd_interpolate_hor_half.s
9 | %ASM% %ASMFLAGS% h264bsd_interpolate_hor_quarter.s
10 | %ASM% %ASMFLAGS% h264bsd_interpolate_hor_ver_quarter.s
11 | %ASM% %ASMFLAGS% h264bsd_interpolate_ver_half.s
12 | %ASM% %ASMFLAGS% h264bsd_interpolate_ver_quarter.s
13 |
14 | rem %ASM% %ASMFLAGS% h264bsd_interpolate_chroma_hor_ver.s
15 | rem %ASM% %ASMFLAGS% h264bsd_interpolate_mid_hor.s
16 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/source/arm_neon_asm/h264bsdCountLeadingZeros.s:
--------------------------------------------------------------------------------
1 | ;
2 | ; Copyright (C) 2009 The Android Open Source Project
3 | ;
4 | ; Licensed under the Apache License, Version 2.0 (the "License");
5 | ; you may not use this file except in compliance with the License.
6 | ; You may obtain a copy of the License at
7 | ;
8 | ; http://www.apache.org/licenses/LICENSE-2.0
9 | ;
10 | ; Unless required by applicable law or agreed to in writing, software
11 | ; distributed under the License is distributed on an "AS IS" BASIS,
12 | ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | ; See the License for the specific language governing permissions and
14 | ; limitations under the License.
15 | ;
16 |
17 | REQUIRE8
18 | PRESERVE8
19 |
20 | AREA |.text|, CODE
21 |
22 | EXPORT h264bsdCountLeadingZeros
23 |
24 | ; Input / output registers
25 | value RN 0
26 |
27 | ; -- NEON registers --
28 |
29 | ;/*------------------------------------------------------------------------------
30 | ;
31 | ; Function: h264bsdCountLeadingZeros
32 | ;
33 | ; Functional description:
34 | ;
35 | ; Inputs:
36 | ;
37 | ; Outputs:
38 | ;
39 | ; Returns:
40 | ;
41 | ;------------------------------------------------------------------------------*/
42 |
43 | h264bsdCountLeadingZeros
44 |
45 | CLZ value, value
46 | BX lr
47 | END
48 |
49 |
50 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/source/arm_neon_asm_gcc/asm_common.S:
--------------------------------------------------------------------------------
1 | @
2 | @ Copyright (C) 2009 The Android Open Source Project
3 | @
4 | @ Licensed under the Apache License, Version 2.0 (the "License");
5 | @ you may not use this file except in compliance with the License.
6 | @ You may obtain a copy of the License at
7 | @
8 | @ http://www.apache.org/licenses/LICENSE-2.0
9 | @
10 | @ Unless required by applicable law or agreed to in writing, software
11 | @ distributed under the License is distributed on an "AS IS" BASIS,
12 | @ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | @ See the License for the specific language governing permissions and
14 | @ limitations under the License.
15 | @
16 |
17 |
18 |
19 |
20 | .macro REQUIRE8
21 | .eabi_attribute 24, 1
22 | .endm
23 |
24 | .macro PRESERVE8
25 | .eabi_attribute 25, 1
26 | .endm
27 |
28 |
29 | .macro function name, export=0
30 | .if \export
31 | .global \name
32 | .endif
33 | .type \name, %function
34 | .func \name
35 | \name:
36 | .endm
37 |
38 | .macro endfunction
39 | .endfunc
40 | .endm
41 |
42 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/source/arm_neon_asm_gcc/h264bsdCountLeadingZeros.S:
--------------------------------------------------------------------------------
1 | @
2 | @ Copyright (C) 2009 The Android Open Source Project
3 | @
4 | @ Licensed under the Apache License, Version 2.0 (the "License");
5 | @ you may not use this file except in compliance with the License.
6 | @ You may obtain a copy of the License at
7 | @
8 | @ http://www.apache.org/licenses/LICENSE-2.0
9 | @
10 | @ Unless required by applicable law or agreed to in writing, software
11 | @ distributed under the License is distributed on an "AS IS" BASIS,
12 | @ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | @ See the License for the specific language governing permissions and
14 | @ limitations under the License.
15 | @
16 | #include "asm_common.S"
17 |
18 | preserve8
19 | .arm
20 | .text
21 |
22 |
23 | /* Input / output registers */
24 | #define value r0
25 |
26 | /* -- NEON registers -- */
27 |
28 | /*------------------------------------------------------------------------------
29 |
30 | Function: h264bsdCountLeadingZeros
31 |
32 | Functional description:
33 |
34 | Inputs:
35 |
36 | Outputs:
37 |
38 | Returns:
39 |
40 | ------------------------------------------------------------------------------*/
41 |
42 | function h264bsdCountLeadingZeros, export=1
43 |
44 | CLZ value, value
45 | BX lr
46 |
47 | endfunction
48 |
49 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/on2/h264dec/source/h264bsd_nal_unit.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/on2/h264dec/source/h264bsd_nal_unit.c
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/raw/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES := \
5 | SoftRaw.cpp
6 |
7 | LOCAL_C_INCLUDES := \
8 | frameworks/av/media/libstagefright/include \
9 | frameworks/native/include/media/openmax
10 |
11 | LOCAL_SHARED_LIBRARIES := \
12 | libstagefright_omx libstagefright_foundation libutils
13 |
14 | LOCAL_MODULE := libstagefright_soft_rawdec
15 | LOCAL_MODULE_TAGS := optional
16 |
17 | include $(BUILD_SHARED_LIBRARY)
18 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/raw/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/raw/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/vorbis/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | include $(call all-makefiles-under,$(LOCAL_PATH))
5 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/vorbis/dec/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES := \
5 | SoftVorbis.cpp
6 |
7 | LOCAL_C_INCLUDES := \
8 | external/tremolo \
9 | frameworks/av/media/libstagefright/include \
10 | frameworks/native/include/media/openmax \
11 |
12 | LOCAL_SHARED_LIBRARIES := \
13 | libvorbisidec libstagefright libstagefright_omx \
14 | libstagefright_foundation libutils
15 |
16 | LOCAL_MODULE := libstagefright_soft_vorbisdec
17 | LOCAL_MODULE_TAGS := optional
18 |
19 | include $(BUILD_SHARED_LIBRARY)
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/codecs/vorbis/dec/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/codecs/vorbis/dec/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/colorconversion/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES:= \
5 | ColorConverter.cpp \
6 | SoftwareRenderer.cpp
7 |
8 | LOCAL_C_INCLUDES := \
9 | $(TOP)/frameworks/native/include/media/openmax \
10 | $(TOP)/hardware/msm7k
11 |
12 | LOCAL_MODULE:= libstagefright_color_conversion
13 |
14 | include $(BUILD_STATIC_LIBRARY)
15 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/colorconversion/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/colorconversion/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/foundation/AHandler.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | //#define LOG_NDEBUG 0
18 | #define LOG_TAG "AHandler"
19 | #include
20 |
21 | #include
22 |
23 | #include
24 |
25 | namespace android {
26 |
27 | sp AHandler::looper() {
28 | extern ALooperRoster gLooperRoster;
29 |
30 | return gLooperRoster.findLooper(id());
31 | }
32 |
33 | } // namespace android
34 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/foundation/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES:= \
5 | AAtomizer.cpp \
6 | ABitReader.cpp \
7 | ABuffer.cpp \
8 | AHandler.cpp \
9 | AHierarchicalStateMachine.cpp \
10 | ALooper.cpp \
11 | ALooperRoster.cpp \
12 | AMessage.cpp \
13 | AString.cpp \
14 | base64.cpp \
15 | hexdump.cpp
16 |
17 | LOCAL_C_INCLUDES:= \
18 | frameworks/av/include/media/stagefright/foundation
19 |
20 | LOCAL_SHARED_LIBRARIES := \
21 | libbinder \
22 | libutils \
23 |
24 | LOCAL_CFLAGS += -Wno-multichar
25 |
26 | LOCAL_MODULE:= libstagefright_foundation
27 |
28 |
29 |
30 | include $(BUILD_SHARED_LIBRARY)
31 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/foundation/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/foundation/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/httplive/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 |
5 | LOCAL_SRC_FILES:= \
6 | LiveDataSource.cpp \
7 | LiveSession.cpp \
8 | M3UParser.cpp \
9 |
10 | LOCAL_C_INCLUDES:= \
11 | $(TOP)/frameworks/av/media/libstagefright \
12 | $(TOP)/frameworks/native/include/media/openmax \
13 | $(TOP)/external/openssl/include
14 |
15 | LOCAL_MODULE:= libstagefright_httplive
16 |
17 | ifeq ($(TARGET_ARCH),arm)
18 | LOCAL_CFLAGS += -Wno-psabi
19 | endif
20 |
21 | include $(BUILD_STATIC_LIBRARY)
22 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/httplive/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/httplive/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/id3/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES := \
5 | ID3.cpp
6 |
7 | LOCAL_MODULE := libstagefright_id3
8 |
9 | include $(BUILD_STATIC_LIBRARY)
10 |
11 | ################################################################################
12 |
13 | include $(CLEAR_VARS)
14 |
15 | LOCAL_SRC_FILES := \
16 | testid3.cpp
17 |
18 | LOCAL_SHARED_LIBRARIES := \
19 | libstagefright libutils libbinder libstagefright_foundation
20 |
21 | LOCAL_STATIC_LIBRARIES := \
22 | libstagefright_id3
23 |
24 | LOCAL_MODULE_TAGS := debug
25 |
26 | LOCAL_MODULE := testid3
27 |
28 | include $(BUILD_EXECUTABLE)
29 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/id3/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/id3/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/include/MP3Seeker.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef MP3_SEEKER_H_
18 |
19 | #define MP3_SEEKER_H_
20 |
21 | #include
22 | #include
23 |
24 | namespace android {
25 |
26 | struct MP3Seeker : public RefBase {
27 | MP3Seeker() {}
28 |
29 | virtual bool getDuration(int64_t *durationUs) = 0;
30 |
31 | // Given a request seek time in "*timeUs", find the byte offset closest
32 | // to that position and return it in "*pos". Update "*timeUs" to reflect
33 | // the actual time that seekpoint represents.
34 | virtual bool getOffsetForTime(int64_t *timeUs, off64_t *pos) = 0;
35 |
36 | protected:
37 | virtual ~MP3Seeker() {}
38 |
39 | private:
40 | DISALLOW_EVIL_CONSTRUCTORS(MP3Seeker);
41 | };
42 |
43 | } // namespace android
44 |
45 | #endif // MP3_SEEKER_H_
46 |
47 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/include/ThrottledSource.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef THROTTLED_SOURCE_H_
18 |
19 | #define THROTTLED_SOURCE_H_
20 |
21 | #include
22 | #include
23 |
24 | namespace android {
25 |
26 | struct ThrottledSource : public DataSource {
27 | ThrottledSource(
28 | const sp &source,
29 | int32_t bandwidthLimitBytesPerSecond);
30 |
31 | virtual status_t initCheck() const;
32 |
33 | virtual ssize_t readAt(off64_t offset, void *data, size_t size);
34 |
35 | virtual status_t getSize(off64_t *size);
36 | virtual uint32_t flags();
37 |
38 | virtual String8 getMIMEType() const {
39 | return mSource->getMIMEType();
40 | }
41 |
42 |
43 | private:
44 | Mutex mLock;
45 |
46 | sp mSource;
47 | int32_t mBandwidthLimitBytesPerSecond;
48 | int64_t mStartTimeUs;
49 | size_t mTotalTransferred;
50 |
51 | ThrottledSource(const ThrottledSource &);
52 | ThrottledSource &operator=(const ThrottledSource &);
53 | };
54 |
55 | } // namespace android
56 |
57 | #endif // THROTTLED_SOURCE_H_
58 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/include/VBRISeeker.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef VBRI_SEEKER_H_
18 |
19 | #define VBRI_SEEKER_H_
20 |
21 | #include "include/MP3Seeker.h"
22 |
23 | #include
24 |
25 | namespace android {
26 |
27 | struct DataSource;
28 |
29 | struct VBRISeeker : public MP3Seeker {
30 | static sp CreateFromSource(
31 | const sp &source, off64_t post_id3_pos);
32 |
33 | virtual bool getDuration(int64_t *durationUs);
34 | virtual bool getOffsetForTime(int64_t *timeUs, off64_t *pos);
35 |
36 | private:
37 | off64_t mBasePos;
38 | int64_t mDurationUs;
39 | Vector mSegments;
40 |
41 | VBRISeeker();
42 |
43 | DISALLOW_EVIL_CONSTRUCTORS(VBRISeeker);
44 | };
45 |
46 | } // namespace android
47 |
48 | #endif // VBRI_SEEKER_H_
49 |
50 |
51 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/include/XINGSeeker.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef XING_SEEKER_H_
18 |
19 | #define XING_SEEKER_H_
20 |
21 | #include "include/MP3Seeker.h"
22 |
23 | namespace android {
24 |
25 | struct DataSource;
26 |
27 | struct XINGSeeker : public MP3Seeker {
28 | static sp CreateFromSource(
29 | const sp &source, off64_t first_frame_pos);
30 |
31 | virtual bool getDuration(int64_t *durationUs);
32 | virtual bool getOffsetForTime(int64_t *timeUs, off64_t *pos);
33 |
34 | virtual int32_t getEncoderDelay();
35 | virtual int32_t getEncoderPadding();
36 |
37 | private:
38 | int64_t mFirstFramePos;
39 | int64_t mDurationUs;
40 | int32_t mSizeBytes;
41 | int32_t mEncoderDelay;
42 | int32_t mEncoderPadding;
43 |
44 | // TOC entries in XING header. Skip the first one since it's always 0.
45 | unsigned char mTOC[99];
46 | bool mTOCValid;
47 |
48 | XINGSeeker();
49 |
50 | DISALLOW_EVIL_CONSTRUCTORS(XINGSeeker);
51 | };
52 |
53 | } // namespace android
54 |
55 | #endif // XING_SEEKER_H_
56 |
57 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/include/chromium_http_stub.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2012 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef CHROMIUM_HTTP_STUB_H_
18 | #define CHROMIUM_HTTP_STUB_H_
19 |
20 | #include
21 | #include
22 |
23 | namespace android {
24 | extern "C" {
25 | HTTPBase *createChromiumHTTPDataSource(uint32_t flags);
26 | DataSource *createDataUriSource(const char *uri);
27 | }
28 | }
29 |
30 | #endif
31 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/matroska/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES:= \
5 | MatroskaExtractor.cpp
6 |
7 | LOCAL_C_INCLUDES:= \
8 | $(TOP)/external/libvpx/mkvparser \
9 | $(TOP)/frameworks/native/include/media/openmax \
10 |
11 | LOCAL_CFLAGS += -Wno-multichar
12 |
13 | LOCAL_MODULE:= libstagefright_matroska
14 |
15 | include $(BUILD_STATIC_LIBRARY)
16 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/matroska/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/matroska/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/mpeg2ts/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 |
5 | LOCAL_SRC_FILES:= \
6 | AnotherPacketSource.cpp \
7 | ATSParser.cpp \
8 | ESQueue.cpp \
9 | MPEG2PSExtractor.cpp \
10 | MPEG2TSExtractor.cpp \
11 |
12 | LOCAL_C_INCLUDES:= \
13 | $(TOP)/frameworks/av/media/libstagefright \
14 | $(TOP)/frameworks/native/include/media/openmax
15 |
16 | LOCAL_MODULE:= libstagefright_mpeg2ts
17 |
18 | ifeq ($(TARGET_ARCH),arm)
19 | LOCAL_CFLAGS += -Wno-psabi
20 | endif
21 |
22 | include $(BUILD_STATIC_LIBRARY)
23 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/mpeg2ts/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/mpeg2ts/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/omx/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES:= \
5 | OMX.cpp \
6 | OMXMaster.cpp \
7 | OMXNodeInstance.cpp \
8 | SimpleSoftOMXComponent.cpp \
9 | SoftOMXComponent.cpp \
10 | SoftOMXPlugin.cpp \
11 |
12 | LOCAL_C_INCLUDES += \
13 | $(TOP)/frameworks/av/media/libstagefright \
14 | $(TOP)/frameworks/native/include/media/hardware \
15 | $(TOP)/frameworks/native/include/media/openmax
16 |
17 | LOCAL_SHARED_LIBRARIES := \
18 | libbinder \
19 | libmedia \
20 | libutils \
21 | libui \
22 | libcutils \
23 | libstagefright_foundation \
24 | libdl
25 |
26 | LOCAL_MODULE:= libstagefright_omx
27 |
28 | include $(BUILD_SHARED_LIBRARY)
29 |
30 | ################################################################################
31 |
32 | include $(call all-makefiles-under,$(LOCAL_PATH))
33 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/omx/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/omx/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/omx/SoftOMXPlugin.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2011 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef SOFT_OMX_PLUGIN_H_
18 |
19 | #define SOFT_OMX_PLUGIN_H_
20 |
21 | #include
22 | #include
23 |
24 | namespace android {
25 |
26 | struct SoftOMXPlugin : public OMXPluginBase {
27 | SoftOMXPlugin();
28 |
29 | virtual OMX_ERRORTYPE makeComponentInstance(
30 | const char *name,
31 | const OMX_CALLBACKTYPE *callbacks,
32 | OMX_PTR appData,
33 | OMX_COMPONENTTYPE **component);
34 |
35 | virtual OMX_ERRORTYPE destroyComponentInstance(
36 | OMX_COMPONENTTYPE *component);
37 |
38 | virtual OMX_ERRORTYPE enumerateComponents(
39 | OMX_STRING name,
40 | size_t size,
41 | OMX_U32 index);
42 |
43 | virtual OMX_ERRORTYPE getRolesOfComponent(
44 | const char *name,
45 | Vector *roles);
46 |
47 | private:
48 | DISALLOW_EVIL_CONSTRUCTORS(SoftOMXPlugin);
49 | };
50 |
51 | } // namespace android
52 |
53 | #endif // SOFT_OMX_PLUGIN_H_
54 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/omx/tests/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES = \
5 | OMXHarness.cpp \
6 |
7 | LOCAL_SHARED_LIBRARIES := \
8 | libstagefright libbinder libmedia libutils libstagefright_foundation
9 |
10 | LOCAL_C_INCLUDES := \
11 | $(TOP)/frameworks/av/media/libstagefright \
12 | $(TOP)/frameworks/native/include/media/openmax
13 |
14 | LOCAL_MODULE := omx_tests
15 |
16 | LOCAL_MODULE_TAGS := tests
17 |
18 | include $(BUILD_EXECUTABLE)
19 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/omx/tests/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/omx/tests/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/rtsp/AAMRAssembler.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef A_AMR_ASSEMBLER_H_
18 |
19 | #define A_AMR_ASSEMBLER_H_
20 |
21 | #include "ARTPAssembler.h"
22 |
23 | #include
24 |
25 | #include
26 |
27 | namespace android {
28 |
29 | struct AMessage;
30 | struct AString;
31 |
32 | struct AAMRAssembler : public ARTPAssembler {
33 | AAMRAssembler(
34 | const sp ¬ify, bool isWide,
35 | const AString ¶ms);
36 |
37 | protected:
38 | virtual ~AAMRAssembler();
39 |
40 | virtual AssemblyStatus assembleMore(const sp &source);
41 | virtual void onByeReceived();
42 | virtual void packetLost();
43 |
44 | private:
45 | bool mIsWide;
46 |
47 | sp mNotifyMsg;
48 | bool mNextExpectedSeqNoValid;
49 | uint32_t mNextExpectedSeqNo;
50 |
51 | AssemblyStatus addPacket(const sp &source);
52 |
53 | DISALLOW_EVIL_CONSTRUCTORS(AAMRAssembler);
54 | };
55 |
56 | } // namespace android
57 |
58 | #endif // A_AMR_ASSEMBLER_H_
59 |
60 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/rtsp/AH263Assembler.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef A_H263_ASSEMBLER_H_
18 |
19 | #define A_H263_ASSEMBLER_H_
20 |
21 | #include "ARTPAssembler.h"
22 |
23 | #include
24 |
25 | #include
26 |
27 | namespace android {
28 |
29 | struct AMessage;
30 |
31 | struct AH263Assembler : public ARTPAssembler {
32 | AH263Assembler(const sp ¬ify);
33 |
34 | protected:
35 | virtual ~AH263Assembler();
36 |
37 | virtual AssemblyStatus assembleMore(const sp &source);
38 | virtual void onByeReceived();
39 | virtual void packetLost();
40 |
41 | private:
42 | sp mNotifyMsg;
43 | uint32_t mAccessUnitRTPTime;
44 | bool mNextExpectedSeqNoValid;
45 | uint32_t mNextExpectedSeqNo;
46 | bool mAccessUnitDamaged;
47 | List > mPackets;
48 |
49 | AssemblyStatus addPacket(const sp &source);
50 | void submitAccessUnit();
51 |
52 | DISALLOW_EVIL_CONSTRUCTORS(AH263Assembler);
53 | };
54 |
55 | } // namespace android
56 |
57 | #endif // A_H263_ASSEMBLER_H_
58 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/rtsp/AMPEG2TSAssembler.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2012 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef A_MPEG2_TS_ASSEMBLER_H_
18 |
19 | #define A_MPEG2_TS_ASSEMBLER_H_
20 |
21 | #include "ARTPAssembler.h"
22 |
23 | namespace android {
24 |
25 | struct AMessage;
26 | struct AString;
27 | struct MetaData;
28 |
29 | struct AMPEG2TSAssembler : public ARTPAssembler {
30 | AMPEG2TSAssembler(
31 | const sp ¬ify,
32 | const char *desc, const AString ¶ms);
33 |
34 | protected:
35 | virtual ~AMPEG2TSAssembler();
36 |
37 | virtual AssemblyStatus assembleMore(const sp &source);
38 | virtual void onByeReceived();
39 | virtual void packetLost();
40 |
41 | private:
42 | sp mNotifyMsg;
43 | bool mNextExpectedSeqNoValid;
44 | uint32_t mNextExpectedSeqNo;
45 |
46 | AssemblyStatus addPacket(const sp &source);
47 |
48 | DISALLOW_EVIL_CONSTRUCTORS(AMPEG2TSAssembler);
49 | };
50 |
51 | } // namespace android
52 |
53 | #endif // A_MPEG2_TS_ASSEMBLER_H_
54 |
55 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/rtsp/APacketSource.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef A_PACKET_SOURCE_H_
18 |
19 | #define A_PACKET_SOURCE_H_
20 |
21 | #include
22 | #include
23 | #include
24 |
25 | namespace android {
26 |
27 | struct ASessionDescription;
28 |
29 | struct APacketSource : public RefBase {
30 | APacketSource(const sp &sessionDesc, size_t index);
31 |
32 | status_t initCheck() const;
33 |
34 | virtual sp getFormat();
35 |
36 | protected:
37 | virtual ~APacketSource();
38 |
39 | private:
40 | status_t mInitCheck;
41 |
42 | sp mFormat;
43 |
44 | DISALLOW_EVIL_CONSTRUCTORS(APacketSource);
45 | };
46 |
47 |
48 | } // namespace android
49 |
50 | #endif // A_PACKET_SOURCE_H_
51 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/rtsp/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 |
5 | LOCAL_SRC_FILES:= \
6 | AAMRAssembler.cpp \
7 | AAVCAssembler.cpp \
8 | AH263Assembler.cpp \
9 | AMPEG2TSAssembler.cpp \
10 | AMPEG4AudioAssembler.cpp \
11 | AMPEG4ElementaryAssembler.cpp \
12 | APacketSource.cpp \
13 | ARawAudioAssembler.cpp \
14 | ARTPAssembler.cpp \
15 | ARTPConnection.cpp \
16 | ARTPSource.cpp \
17 | ARTPWriter.cpp \
18 | ARTSPConnection.cpp \
19 | ASessionDescription.cpp \
20 |
21 | LOCAL_C_INCLUDES:= \
22 | $(TOP)/frameworks/av/media/libstagefright/include \
23 | $(TOP)/frameworks/native/include/media/openmax \
24 | $(TOP)/external/openssl/include
25 |
26 | LOCAL_MODULE:= libstagefright_rtsp
27 |
28 | ifeq ($(TARGET_ARCH),arm)
29 | LOCAL_CFLAGS += -Wno-psabi
30 | endif
31 |
32 | include $(BUILD_STATIC_LIBRARY)
33 |
34 | ################################################################################
35 |
36 | include $(CLEAR_VARS)
37 |
38 | LOCAL_SRC_FILES:= \
39 | rtp_test.cpp
40 |
41 | LOCAL_SHARED_LIBRARIES := \
42 | libstagefright liblog libutils libbinder libstagefright_foundation
43 |
44 | LOCAL_STATIC_LIBRARIES := \
45 | libstagefright_rtsp
46 |
47 | LOCAL_C_INCLUDES:= \
48 | frameworks/av/media/libstagefright \
49 | $(TOP)/frameworks/native/include/media/openmax
50 |
51 | LOCAL_CFLAGS += -Wno-multichar
52 |
53 | LOCAL_MODULE_TAGS := debug
54 |
55 | LOCAL_MODULE:= rtp_test
56 |
57 | # include $(BUILD_EXECUTABLE)
58 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/rtsp/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/rtsp/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/rtsp/UDPPusher.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef UDP_PUSHER_H_
18 |
19 | #define UDP_PUSHER_H_
20 |
21 | #include
22 |
23 | #include
24 | #include
25 |
26 | namespace android {
27 |
28 | struct UDPPusher : public AHandler {
29 | UDPPusher(const char *filename, unsigned port);
30 |
31 | void start();
32 |
33 | protected:
34 | virtual ~UDPPusher();
35 | virtual void onMessageReceived(const sp &msg);
36 |
37 | private:
38 | enum {
39 | kWhatPush = 'push'
40 | };
41 |
42 | FILE *mFile;
43 | int mSocket;
44 | struct sockaddr_in mRemoteAddr;
45 |
46 | uint32_t mFirstTimeMs;
47 | int64_t mFirstTimeUs;
48 |
49 | bool onPush();
50 |
51 | DISALLOW_EVIL_CONSTRUCTORS(UDPPusher);
52 | };
53 |
54 | } // namespace android
55 |
56 | #endif // UDP_PUSHER_H_
57 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/tests/Android.mk:
--------------------------------------------------------------------------------
1 | # Build the unit tests.
2 | LOCAL_PATH:= $(call my-dir)
3 | include $(CLEAR_VARS)
4 |
5 | ifneq ($(TARGET_SIMULATOR),true)
6 |
7 | LOCAL_MODULE := SurfaceMediaSource_test
8 |
9 | LOCAL_MODULE_TAGS := tests
10 |
11 | LOCAL_SRC_FILES := \
12 | SurfaceMediaSource_test.cpp \
13 | DummyRecorder.cpp \
14 |
15 | LOCAL_SHARED_LIBRARIES := \
16 | libEGL \
17 | libGLESv2 \
18 | libbinder \
19 | libcutils \
20 | libgui \
21 | libmedia \
22 | libstagefright \
23 | libstagefright_foundation \
24 | libstagefright_omx \
25 | libstlport \
26 | libsync \
27 | libui \
28 | libutils \
29 |
30 | LOCAL_STATIC_LIBRARIES := \
31 | libgtest \
32 | libgtest_main \
33 |
34 | LOCAL_C_INCLUDES := \
35 | bionic \
36 | bionic/libstdc++/include \
37 | external/gtest/include \
38 | external/stlport/stlport \
39 | frameworks/av/media/libstagefright \
40 | frameworks/av/media/libstagefright/include \
41 | $(TOP)/frameworks/native/include/media/openmax \
42 |
43 | include $(BUILD_EXECUTABLE)
44 |
45 | endif
46 |
47 | # Include subdirectory makefiles
48 | # ============================================================
49 |
50 | # If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework
51 | # team really wants is to build the stuff defined by this makefile.
52 | ifeq (,$(ONE_SHOT_MAKEFILE))
53 | include $(call first-makefiles-under,$(LOCAL_PATH))
54 | endif
55 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/tests/DummyRecorder.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2011 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef DUMMY_RECORDER_H_
18 | #define DUMMY_RECORDER_H_
19 |
20 | #include
21 | #include
22 | #include
23 |
24 |
25 | namespace android {
26 |
27 | class MediaSource;
28 | class MediaBuffer;
29 |
30 | class DummyRecorder {
31 | public:
32 | // The media source from which this will receive frames
33 | sp mSource;
34 | bool mStarted;
35 | pthread_t mThread;
36 |
37 | status_t start();
38 | status_t stop();
39 |
40 | // actual entry point for the thread
41 | void readFromSource();
42 |
43 | // static function to wrap the actual thread entry point
44 | static void *threadWrapper(void *pthis);
45 |
46 | DummyRecorder(const sp &source) : mSource(source)
47 | , mStarted(false) {}
48 | ~DummyRecorder( ) {}
49 |
50 | private:
51 |
52 | DISALLOW_EVIL_CONSTRUCTORS(DummyRecorder);
53 | };
54 |
55 | } // end of namespace android
56 | #endif
57 |
58 |
59 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/tests/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/tests/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/timedtext/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES:= \
5 | TextDescriptions.cpp \
6 | TimedTextDriver.cpp \
7 | TimedText3GPPSource.cpp \
8 | TimedTextSource.cpp \
9 | TimedTextSRTSource.cpp \
10 | TimedTextPlayer.cpp
11 |
12 | LOCAL_CFLAGS += -Wno-multichar
13 | LOCAL_C_INCLUDES:= \
14 | $(TOP)/frameworks/av/include/media/stagefright/timedtext \
15 | $(TOP)/frameworks/av/media/libstagefright
16 |
17 | LOCAL_MODULE:= libstagefright_timedtext
18 |
19 | include $(BUILD_STATIC_LIBRARY)
20 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/timedtext/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/timedtext/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/timedtext/test/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 |
3 | # ================================================================
4 | # Unit tests for libstagefright_timedtext
5 | # See also /development/testrunner/test_defs.xml
6 | # ================================================================
7 |
8 | # ================================================================
9 | # A test for TimedTextSRTSource
10 | # ================================================================
11 | include $(CLEAR_VARS)
12 |
13 | LOCAL_MODULE := TimedTextSRTSource_test
14 |
15 | LOCAL_MODULE_TAGS := eng tests
16 |
17 | LOCAL_SRC_FILES := TimedTextSRTSource_test.cpp
18 |
19 | LOCAL_C_INCLUDES := \
20 | $(TOP)/external/expat/lib \
21 | $(TOP)/frameworks/base/media/libstagefright/timedtext
22 |
23 | LOCAL_SHARED_LIBRARIES := \
24 | libexpat \
25 | libstagefright
26 |
27 | include $(BUILD_NATIVE_TEST)
28 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/wifi-display/Parameters.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2012, The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #include
18 | #include
19 | #include
20 | #include
21 |
22 | namespace android {
23 |
24 | struct Parameters : public RefBase {
25 | static sp Parse(const char *data, size_t size);
26 |
27 | bool findParameter(const char *name, AString *value) const;
28 |
29 | protected:
30 | virtual ~Parameters();
31 |
32 | private:
33 | KeyedVector mDict;
34 |
35 | Parameters();
36 | status_t parse(const char *data, size_t size);
37 |
38 | DISALLOW_EVIL_CONSTRUCTORS(Parameters);
39 | };
40 |
41 | } // namespace android
42 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/wifi-display/TimeSeries.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2012, The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef TIME_SERIES_H_
18 |
19 | #define TIME_SERIES_H_
20 |
21 | #include
22 |
23 | namespace android {
24 |
25 | struct TimeSeries {
26 | TimeSeries();
27 |
28 | void add(double val);
29 |
30 | double mean() const;
31 | double sdev() const;
32 |
33 | private:
34 | enum {
35 | kHistorySize = 20
36 | };
37 | double mValues[kHistorySize];
38 |
39 | size_t mCount;
40 | double mSum;
41 | };
42 |
43 | } // namespace android
44 |
45 | #endif // TIME_SERIES_H_
46 |
47 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/wifi-display/sink/LinearRegression.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2012, The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | #ifndef LINEAR_REGRESSION_H_
18 |
19 | #define LINEAR_REGRESSION_H_
20 |
21 | #include
22 | #include
23 |
24 | namespace android {
25 |
26 | // Helper class to fit a line to a set of points minimizing the sum of
27 | // squared (orthogonal) distances from line to individual points.
28 | struct LinearRegression {
29 | LinearRegression(size_t historySize);
30 | ~LinearRegression();
31 |
32 | void addPoint(float x, float y);
33 |
34 | bool approxLine(float *n1, float *n2, float *b) const;
35 |
36 | private:
37 | struct Point {
38 | float mX, mY;
39 | };
40 |
41 | size_t mHistorySize;
42 | size_t mCount;
43 | Point *mHistory;
44 |
45 | float mSumX, mSumY;
46 |
47 | DISALLOW_EVIL_CONSTRUCTORS(LinearRegression);
48 | };
49 |
50 | } // namespace android
51 |
52 | #endif // LINEAR_REGRESSION_H_
53 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/wifi-display/source/RepeaterSource.h:
--------------------------------------------------------------------------------
1 | #ifndef REPEATER_SOURCE_H_
2 |
3 | #define REPEATER_SOURCE_H_
4 |
5 | #include
6 | #include
7 | #include
8 |
9 | #define SUSPEND_VIDEO_IF_IDLE 1
10 |
11 | namespace android {
12 |
13 | // This MediaSource delivers frames at a constant rate by repeating buffers
14 | // if necessary.
15 | struct RepeaterSource : public MediaSource {
16 | RepeaterSource(const sp &source, double rateHz);
17 |
18 | virtual status_t start(MetaData *params);
19 | virtual status_t stop();
20 | virtual sp getFormat();
21 |
22 | virtual status_t read(
23 | MediaBuffer **buffer, const ReadOptions *options);
24 |
25 | void onMessageReceived(const sp &msg);
26 |
27 | // If RepeaterSource is currently dormant, because SurfaceFlinger didn't
28 | // send updates in a while, this is its wakeup call.
29 | void wakeUp();
30 |
31 | protected:
32 | virtual ~RepeaterSource();
33 |
34 | private:
35 | enum {
36 | kWhatRead,
37 | };
38 |
39 | Mutex mLock;
40 | Condition mCondition;
41 |
42 | bool mStarted;
43 |
44 | sp mSource;
45 | double mRateHz;
46 |
47 | sp mLooper;
48 | sp > mReflector;
49 |
50 | MediaBuffer *mBuffer;
51 | status_t mResult;
52 | int64_t mLastBufferUpdateUs;
53 |
54 | int64_t mStartTimeUs;
55 | int32_t mFrameCount;
56 |
57 | void postRead();
58 |
59 | DISALLOW_EVIL_CONSTRUCTORS(RepeaterSource);
60 | };
61 |
62 | } // namespace android
63 |
64 | #endif // REPEATER_SOURCE_H_
65 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/yuv/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_SRC_FILES:= \
5 | YUVImage.cpp \
6 | YUVCanvas.cpp
7 |
8 | LOCAL_SHARED_LIBRARIES := \
9 | libcutils
10 |
11 | LOCAL_MODULE:= libstagefright_yuv
12 |
13 |
14 |
15 | include $(BUILD_SHARED_LIBRARY)
16 |
--------------------------------------------------------------------------------
/app/src/main/cpp/libstagefright/yuv/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/cpp/libstagefright/yuv/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/app/src/main/cpp/native-lib.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | extern "C" JNIEXPORT jstring JNICALL
6 | Java_com_zxj_android_source_MainActivity_stringFromJNI(
7 | JNIEnv* env,
8 | jobject /* this */) {
9 | std::string hello = "Hello from C++";
10 | // CHECK()
11 | return env->NewStringUTF(hello.c_str());
12 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/zxj/android/source/MainActivity.java:
--------------------------------------------------------------------------------
1 | package com.zxj.android.source;
2 |
3 | import androidx.appcompat.app.AppCompatActivity;
4 |
5 | import android.os.Bundle;
6 | import android.widget.TextView;
7 |
8 | import com.zxj.android.source.databinding.ActivityMainBinding;
9 |
10 | public class MainActivity extends AppCompatActivity {
11 |
12 | // Used to load the 'native-lib' library on application startup.
13 | static {
14 | System.loadLibrary("native-lib");
15 | }
16 |
17 | private ActivityMainBinding binding;
18 |
19 | @Override
20 | protected void onCreate(Bundle savedInstanceState) {
21 | super.onCreate(savedInstanceState);
22 |
23 | binding = ActivityMainBinding.inflate(getLayoutInflater());
24 | setContentView(binding.getRoot());
25 |
26 | // Example of a call to a native method
27 | TextView tv = binding.sampleText;
28 | tv.setText(stringFromJNI());
29 | }
30 |
31 | /**
32 | * A native method that is implemented by the 'native-lib' native library,
33 | * which is packaged with this application.
34 | */
35 | public native String stringFromJNI();
36 | }
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/values-night/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFBB86FC
4 | #FF6200EE
5 | #FF3700B3
6 | #FF03DAC5
7 | #FF018786
8 | #FF000000
9 | #FFFFFFFF
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | native-source
3 |
--------------------------------------------------------------------------------
/app/src/main/res/values/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
16 |
--------------------------------------------------------------------------------
/app/src/test/java/com/zxj/android/source/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.zxj.android.source;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 | buildscript {
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 | dependencies {
8 | classpath "com.android.tools.build:gradle:4.2.2"
9 |
10 | // NOTE: Do not place your application dependencies here; they belong
11 | // in the individual module build.gradle files
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | google()
18 | mavenCentral()
19 | jcenter() // Warning: this repository is going to shut down soon
20 | }
21 | }
22 |
23 | task clean(type: Delete) {
24 | delete rootProject.buildDir
25 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
14 | # AndroidX package structure to make it clearer which packages are bundled with the
15 | # Android operating system, and which are packaged with your app"s APK
16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn
17 | android.useAndroidX=true
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/itzuo/source-sink/052c7bb09ddd299564075221c2be804fb1525336/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Jul 12 15:08:52 CST 2022
2 | distributionBase=GRADLE_USER_HOME
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
4 | distributionPath=wrapper/dists
5 | zipStorePath=wrapper/dists
6 | zipStoreBase=GRADLE_USER_HOME
7 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = "source-sink"
2 | include ':app'
3 |
--------------------------------------------------------------------------------