├── .gitignore ├── .gitmodules ├── .vscode └── settings.json ├── README.md ├── android ├── .gitignore ├── app │ ├── .classpath │ ├── .gitignore │ ├── build.gradle │ ├── libs │ │ └── ffmpeg.aar │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── org │ │ │ └── voiddog │ │ │ └── ffmpeg │ │ │ └── test │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── org │ │ │ │ └── voiddog │ │ │ │ └── ffmpeg │ │ │ │ └── test │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.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 │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── org │ │ └── voiddog │ │ └── ffmpeg │ │ └── test │ │ └── ExampleUnitTest.java ├── build.gradle ├── ffmpeg │ ├── .classpath │ ├── .gitignore │ ├── CMakeLists.txt │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── org │ │ │ └── voiddog │ │ │ └── ffmpeg │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── cpp │ │ │ ├── cmdutils.c │ │ │ ├── cmdutils.h │ │ │ ├── compat │ │ │ │ ├── aix │ │ │ │ │ └── math.h │ │ │ │ ├── atomics │ │ │ │ │ ├── dummy │ │ │ │ │ │ └── stdatomic.h │ │ │ │ │ ├── gcc │ │ │ │ │ │ └── stdatomic.h │ │ │ │ │ ├── pthread │ │ │ │ │ │ └── stdatomic.h │ │ │ │ │ ├── suncc │ │ │ │ │ │ └── stdatomic.h │ │ │ │ │ └── win32 │ │ │ │ │ │ └── stdatomic.h │ │ │ │ ├── avisynth │ │ │ │ │ ├── avisynth_c.h │ │ │ │ │ ├── avs │ │ │ │ │ │ ├── capi.h │ │ │ │ │ │ ├── config.h │ │ │ │ │ │ └── types.h │ │ │ │ │ ├── avxsynth_c.h │ │ │ │ │ └── windowsPorts │ │ │ │ │ │ ├── basicDataTypeConversions.h │ │ │ │ │ │ └── windows2linux.h │ │ │ │ ├── cuda │ │ │ │ │ ├── dynlink_cuda.h │ │ │ │ │ ├── dynlink_cuviddec.h │ │ │ │ │ ├── dynlink_loader.h │ │ │ │ │ └── dynlink_nvcuvid.h │ │ │ │ ├── dispatch_semaphore │ │ │ │ │ └── semaphore.h │ │ │ │ ├── float │ │ │ │ │ ├── float.h │ │ │ │ │ └── limits.h │ │ │ │ ├── msvcrt │ │ │ │ │ └── snprintf.h │ │ │ │ ├── nvenc │ │ │ │ │ └── nvEncodeAPI.h │ │ │ │ ├── os2threads.h │ │ │ │ ├── tms470 │ │ │ │ │ └── math.h │ │ │ │ ├── va_copy.h │ │ │ │ ├── w32dlfcn.h │ │ │ │ └── w32pthreads.h │ │ │ ├── config.h │ │ │ ├── ffmpeg.c │ │ │ ├── ffmpeg.h │ │ │ ├── ffmpeg_filter.c │ │ │ ├── ffmpeg_hw.c │ │ │ ├── ffmpeg_lib.c │ │ │ ├── ffmpeg_opt.c │ │ │ ├── ffmpeg_thread.c │ │ │ ├── ffmpeg_thread.h │ │ │ ├── ffserver_config.h │ │ │ ├── libavcodec │ │ │ │ ├── a64colors.h │ │ │ │ ├── a64tables.h │ │ │ │ ├── aac.h │ │ │ │ ├── aac_ac3_parser.h │ │ │ │ ├── aac_defines.h │ │ │ │ ├── aacadtsdec.h │ │ │ │ ├── aaccoder_trellis.h │ │ │ │ ├── aaccoder_twoloop.h │ │ │ │ ├── aacdectab.h │ │ │ │ ├── aacenc.h │ │ │ │ ├── aacenc_is.h │ │ │ │ ├── aacenc_ltp.h │ │ │ │ ├── aacenc_pred.h │ │ │ │ ├── aacenc_quantization.h │ │ │ │ ├── aacenc_quantization_misc.h │ │ │ │ ├── aacenc_tns.h │ │ │ │ ├── aacenc_utils.h │ │ │ │ ├── aacenctab.h │ │ │ │ ├── aacps.h │ │ │ │ ├── aacps_fixed_tablegen.h │ │ │ │ ├── aacps_tablegen.h │ │ │ │ ├── aacpsdsp.h │ │ │ │ ├── aacsbr.h │ │ │ │ ├── aacsbr_fixed_tablegen.h │ │ │ │ ├── aacsbr_tablegen.h │ │ │ │ ├── aacsbr_tablegen_common.h │ │ │ │ ├── aacsbrdata.h │ │ │ │ ├── aactab.h │ │ │ │ ├── aandcttab.h │ │ │ │ ├── aarch64 │ │ │ │ │ ├── asm-offsets.h │ │ │ │ │ ├── cabac.h │ │ │ │ │ ├── idct.h │ │ │ │ │ └── vp9dsp_init.h │ │ │ │ ├── ac3.h │ │ │ │ ├── ac3_parser.h │ │ │ │ ├── ac3dec.h │ │ │ │ ├── ac3dec_data.h │ │ │ │ ├── ac3dsp.h │ │ │ │ ├── ac3enc.h │ │ │ │ ├── ac3tab.h │ │ │ │ ├── acelp_filters.h │ │ │ │ ├── acelp_pitch_delay.h │ │ │ │ ├── acelp_vectors.h │ │ │ │ ├── adpcm.h │ │ │ │ ├── adpcm_data.h │ │ │ │ ├── adx.h │ │ │ │ ├── alac_data.h │ │ │ │ ├── alacdsp.h │ │ │ │ ├── alpha │ │ │ │ │ ├── asm.h │ │ │ │ │ ├── hpeldsp_alpha.h │ │ │ │ │ ├── idctdsp_alpha.h │ │ │ │ │ └── regdef.h │ │ │ │ ├── amr.h │ │ │ │ ├── amrnbdata.h │ │ │ │ ├── amrwbdata.h │ │ │ │ ├── apng.h │ │ │ │ ├── arm │ │ │ │ │ ├── aac.h │ │ │ │ │ ├── asm-offsets.h │ │ │ │ │ ├── audiodsp_arm.h │ │ │ │ │ ├── blockdsp_arm.h │ │ │ │ │ ├── cabac.h │ │ │ │ │ ├── dca.h │ │ │ │ │ ├── hevcdsp_arm.h │ │ │ │ │ ├── hpeldsp_arm.h │ │ │ │ │ ├── idct.h │ │ │ │ │ ├── idctdsp_arm.h │ │ │ │ │ ├── mathops.h │ │ │ │ │ ├── mpegvideo_arm.h │ │ │ │ │ ├── startcode.h │ │ │ │ │ ├── vc1dsp.h │ │ │ │ │ ├── videodsp_arm.h │ │ │ │ │ ├── vp56_arith.h │ │ │ │ │ ├── vp8.h │ │ │ │ │ ├── vp8dsp.h │ │ │ │ │ └── vp9dsp_init.h │ │ │ │ ├── ass.h │ │ │ │ ├── ass_split.h │ │ │ │ ├── asv.h │ │ │ │ ├── atrac.h │ │ │ │ ├── atrac1data.h │ │ │ │ ├── atrac3data.h │ │ │ │ ├── atrac3plus.h │ │ │ │ ├── atrac3plus_data.h │ │ │ │ ├── audio_frame_queue.h │ │ │ │ ├── audioconvert.h │ │ │ │ ├── audiodsp.h │ │ │ │ ├── avcodec.h │ │ │ │ ├── avdct.h │ │ │ │ ├── avfft.h │ │ │ │ ├── avr32 │ │ │ │ │ └── mathops.h │ │ │ │ ├── bethsoftvideo.h │ │ │ │ ├── bgmc.h │ │ │ │ ├── binkdata.h │ │ │ │ ├── binkdsp.h │ │ │ │ ├── bintext.h │ │ │ │ ├── blockdsp.h │ │ │ │ ├── bmp.h │ │ │ │ ├── bsf.h │ │ │ │ ├── bswapdsp.h │ │ │ │ ├── bytestream.h │ │ │ │ ├── cabac.h │ │ │ │ ├── cabac_functions.h │ │ │ │ ├── canopus.h │ │ │ │ ├── cavs.h │ │ │ │ ├── cavsdsp.h │ │ │ │ ├── cbrt_data.h │ │ │ │ ├── cbrt_tablegen.h │ │ │ │ ├── celp_filters.h │ │ │ │ ├── celp_math.h │ │ │ │ ├── cfhd.h │ │ │ │ ├── cga_data.h │ │ │ │ ├── cookdata.h │ │ │ │ ├── copy_block.h │ │ │ │ ├── d3d11va.h │ │ │ │ ├── dca.h │ │ │ │ ├── dca_core.h │ │ │ │ ├── dca_exss.h │ │ │ │ ├── dca_lbr.h │ │ │ │ ├── dca_syncwords.h │ │ │ │ ├── dca_xll.h │ │ │ │ ├── dcaadpcm.h │ │ │ │ ├── dcadata.h │ │ │ │ ├── dcadct.h │ │ │ │ ├── dcadec.h │ │ │ │ ├── dcadsp.h │ │ │ │ ├── dcaenc.h │ │ │ │ ├── dcahuff.h │ │ │ │ ├── dcamath.h │ │ │ │ ├── dct.h │ │ │ │ ├── dct32.h │ │ │ │ ├── dctref.h │ │ │ │ ├── decode.h │ │ │ │ ├── dirac.h │ │ │ │ ├── dirac_arith.h │ │ │ │ ├── dirac_dwt.h │ │ │ │ ├── dirac_vlc.h │ │ │ │ ├── diracdsp.h │ │ │ │ ├── diractab.h │ │ │ │ ├── dnxhddata.h │ │ │ │ ├── dnxhdenc.h │ │ │ │ ├── dsd.h │ │ │ │ ├── dsd_tablegen.h │ │ │ │ ├── dv.h │ │ │ │ ├── dv_profile.h │ │ │ │ ├── dv_profile_internal.h │ │ │ │ ├── dv_tablegen.h │ │ │ │ ├── dvaudio.h │ │ │ │ ├── dvbtxt.h │ │ │ │ ├── dvdata.h │ │ │ │ ├── dxva2.h │ │ │ │ ├── dxva2_internal.h │ │ │ │ ├── eac3_data.h │ │ │ │ ├── eac3enc.h │ │ │ │ ├── eaidct.h │ │ │ │ ├── elbg.h │ │ │ │ ├── elsdec.h │ │ │ │ ├── error_resilience.h │ │ │ │ ├── evrcdata.h │ │ │ │ ├── exif.h │ │ │ │ ├── faandct.h │ │ │ │ ├── faanidct.h │ │ │ │ ├── faxcompr.h │ │ │ │ ├── fdctdsp.h │ │ │ │ ├── ffjni.h │ │ │ │ ├── fft-internal.h │ │ │ │ ├── fft.h │ │ │ │ ├── fft_table.h │ │ │ │ ├── ffv1.h │ │ │ │ ├── flac.h │ │ │ │ ├── flacdata.h │ │ │ │ ├── flacdsp.h │ │ │ │ ├── flv.h │ │ │ │ ├── fmtconvert.h │ │ │ │ ├── frame_thread_encoder.h │ │ │ │ ├── g722.h │ │ │ │ ├── g722dsp.h │ │ │ │ ├── g723_1.h │ │ │ │ ├── g729.h │ │ │ │ ├── g729data.h │ │ │ │ ├── g729postfilter.h │ │ │ │ ├── get_bits.h │ │ │ │ ├── gif.h │ │ │ │ ├── golomb.h │ │ │ │ ├── gsm.h │ │ │ │ ├── gsmdec_data.h │ │ │ │ ├── h261.h │ │ │ │ ├── h263.h │ │ │ │ ├── h263_parser.h │ │ │ │ ├── h263data.h │ │ │ │ ├── h263dsp.h │ │ │ │ ├── h264.h │ │ │ │ ├── h2645_parse.h │ │ │ │ ├── h264_mvpred.h │ │ │ │ ├── h264_parse.h │ │ │ │ ├── h264_ps.h │ │ │ │ ├── h264_sei.h │ │ │ │ ├── h264chroma.h │ │ │ │ ├── h264data.h │ │ │ │ ├── h264dec.h │ │ │ │ ├── h264dsp.h │ │ │ │ ├── h264idct.h │ │ │ │ ├── h264pred.h │ │ │ │ ├── h264qpel.h │ │ │ │ ├── hap.h │ │ │ │ ├── hevc.h │ │ │ │ ├── hevc_data.h │ │ │ │ ├── hevc_parse.h │ │ │ │ ├── hevc_ps.h │ │ │ │ ├── hevc_sei.h │ │ │ │ ├── hevcdec.h │ │ │ │ ├── hevcdsp.h │ │ │ │ ├── hevcpred.h │ │ │ │ ├── hpeldsp.h │ │ │ │ ├── hq_hqa.h │ │ │ │ ├── hq_hqadsp.h │ │ │ │ ├── hqx.h │ │ │ │ ├── hqxdsp.h │ │ │ │ ├── htmlsubtitles.h │ │ │ │ ├── huffman.h │ │ │ │ ├── huffyuv.h │ │ │ │ ├── huffyuvdsp.h │ │ │ │ ├── huffyuvencdsp.h │ │ │ │ ├── hwaccel.h │ │ │ │ ├── idctdsp.h │ │ │ │ ├── iirfilter.h │ │ │ │ ├── imcdata.h │ │ │ │ ├── indeo2data.h │ │ │ │ ├── indeo3data.h │ │ │ │ ├── indeo4data.h │ │ │ │ ├── indeo5data.h │ │ │ │ ├── internal.h │ │ │ │ ├── intrax8.h │ │ │ │ ├── intrax8dsp.h │ │ │ │ ├── intrax8huf.h │ │ │ │ ├── ivi.h │ │ │ │ ├── ivi_dsp.h │ │ │ │ ├── jacosub.h │ │ │ │ ├── jni.h │ │ │ │ ├── jpeg2000.h │ │ │ │ ├── jpeg2000dsp.h │ │ │ │ ├── jpeg2000dwt.h │ │ │ │ ├── jpegls.h │ │ │ │ ├── jpeglsdec.h │ │ │ │ ├── jpegtables.h │ │ │ │ ├── kbdwin.h │ │ │ │ ├── lagarithrac.h │ │ │ │ ├── lcl.h │ │ │ │ ├── libopenh264.h │ │ │ │ ├── libopus.h │ │ │ │ ├── libvpx.h │ │ │ │ ├── libwebpenc_common.h │ │ │ │ ├── libxvid.h │ │ │ │ ├── lossless_audiodsp.h │ │ │ │ ├── lossless_videodsp.h │ │ │ │ ├── lossless_videoencdsp.h │ │ │ │ ├── lpc.h │ │ │ │ ├── lsp.h │ │ │ │ ├── lzf.h │ │ │ │ ├── lzw.h │ │ │ │ ├── mathops.h │ │ │ │ ├── mdct15.h │ │ │ │ ├── me_cmp.h │ │ │ │ ├── mediacodec.h │ │ │ │ ├── mediacodec_surface.h │ │ │ │ ├── mediacodec_sw_buffer.h │ │ │ │ ├── mediacodec_wrapper.h │ │ │ │ ├── mediacodecdec_common.h │ │ │ │ ├── metasound_data.h │ │ │ │ ├── mips │ │ │ │ │ ├── aacdec_mips.h │ │ │ │ │ ├── aacpsy_mips.h │ │ │ │ │ ├── aacsbr_mips.h │ │ │ │ │ ├── amrwbdec_mips.h │ │ │ │ │ ├── blockdsp_mips.h │ │ │ │ │ ├── compute_antialias_fixed.h │ │ │ │ │ ├── compute_antialias_float.h │ │ │ │ │ ├── constants.h │ │ │ │ │ ├── h263dsp_mips.h │ │ │ │ │ ├── h264chroma_mips.h │ │ │ │ │ ├── h264dsp_mips.h │ │ │ │ │ ├── h264pred_mips.h │ │ │ │ │ ├── hevc_macros_msa.h │ │ │ │ │ ├── hevcdsp_mips.h │ │ │ │ │ ├── hevcpred_mips.h │ │ │ │ │ ├── hpeldsp_mips.h │ │ │ │ │ ├── idctdsp_mips.h │ │ │ │ │ ├── lsp_mips.h │ │ │ │ │ ├── mathops.h │ │ │ │ │ ├── me_cmp_mips.h │ │ │ │ │ ├── mpegvideo_mips.h │ │ │ │ │ ├── pixblockdsp_mips.h │ │ │ │ │ ├── qpeldsp_mips.h │ │ │ │ │ ├── vc1dsp_mips.h │ │ │ │ │ ├── vp8dsp_mips.h │ │ │ │ │ ├── vp9dsp_mips.h │ │ │ │ │ ├── wmv2dsp_mips.h │ │ │ │ │ └── xvididct_mips.h │ │ │ │ ├── mjpeg.h │ │ │ │ ├── mjpegdec.h │ │ │ │ ├── mjpegenc.h │ │ │ │ ├── mjpegenc_common.h │ │ │ │ ├── mjpegenc_huffman.h │ │ │ │ ├── mlp.h │ │ │ │ ├── mlp_parser.h │ │ │ │ ├── mlpdsp.h │ │ │ │ ├── mlz.h │ │ │ │ ├── motion_est.h │ │ │ │ ├── motionpixels_tablegen.h │ │ │ │ ├── mpc.h │ │ │ │ ├── mpc7data.h │ │ │ │ ├── mpc8data.h │ │ │ │ ├── mpc8huff.h │ │ │ │ ├── mpcdata.h │ │ │ │ ├── mpeg12.h │ │ │ │ ├── mpeg12data.h │ │ │ │ ├── mpeg12vlc.h │ │ │ │ ├── mpeg4audio.h │ │ │ │ ├── mpeg4data.h │ │ │ │ ├── mpeg4video.h │ │ │ │ ├── mpeg4video_parser.h │ │ │ │ ├── mpeg_er.h │ │ │ │ ├── mpegaudio.h │ │ │ │ ├── mpegaudio_tablegen.h │ │ │ │ ├── mpegaudiodata.h │ │ │ │ ├── mpegaudiodecheader.h │ │ │ │ ├── mpegaudiodectab.h │ │ │ │ ├── mpegaudiodsp.h │ │ │ │ ├── mpegaudiotab.h │ │ │ │ ├── mpegpicture.h │ │ │ │ ├── mpegutils.h │ │ │ │ ├── mpegvideo.h │ │ │ │ ├── mpegvideodata.h │ │ │ │ ├── mpegvideodsp.h │ │ │ │ ├── mpegvideoencdsp.h │ │ │ │ ├── mqc.h │ │ │ │ ├── msgsmdec.h │ │ │ │ ├── msmpeg4.h │ │ │ │ ├── msmpeg4data.h │ │ │ │ ├── msrledec.h │ │ │ │ ├── mss12.h │ │ │ │ ├── mss2dsp.h │ │ │ │ ├── mss34dsp.h │ │ │ │ ├── nellymoser.h │ │ │ │ ├── nvenc.h │ │ │ │ ├── on2avcdata.h │ │ │ │ ├── options_table.h │ │ │ │ ├── opus.h │ │ │ │ ├── opus_celt.h │ │ │ │ ├── opus_pvq.h │ │ │ │ ├── opus_rc.h │ │ │ │ ├── opustab.h │ │ │ │ ├── paf.h │ │ │ │ ├── parser.h │ │ │ │ ├── pcm_tablegen.h │ │ │ │ ├── pixblockdsp.h │ │ │ │ ├── pixels.h │ │ │ │ ├── png.h │ │ │ │ ├── pngdsp.h │ │ │ │ ├── pnm.h │ │ │ │ ├── ppc │ │ │ │ │ ├── fdct.h │ │ │ │ │ ├── fft_vsx.h │ │ │ │ │ ├── hpeldsp_altivec.h │ │ │ │ │ └── mathops.h │ │ │ │ ├── profiles.h │ │ │ │ ├── proresdata.h │ │ │ │ ├── proresdec.h │ │ │ │ ├── proresdsp.h │ │ │ │ ├── psymodel.h │ │ │ │ ├── pthread_internal.h │ │ │ │ ├── put_bits.h │ │ │ │ ├── qcelpdata.h │ │ │ │ ├── qdm2_tablegen.h │ │ │ │ ├── qdm2data.h │ │ │ │ ├── qpeldsp.h │ │ │ │ ├── qsv.h │ │ │ │ ├── qsv_internal.h │ │ │ │ ├── qsvdec.h │ │ │ │ ├── qsvenc.h │ │ │ │ ├── ra144.h │ │ │ │ ├── ra288.h │ │ │ │ ├── ralfdata.h │ │ │ │ ├── rangecoder.h │ │ │ │ ├── ratecontrol.h │ │ │ │ ├── raw.h │ │ │ │ ├── rdft.h │ │ │ │ ├── rectangle.h │ │ │ │ ├── rl.h │ │ │ │ ├── rle.h │ │ │ │ ├── rnd_avg.h │ │ │ │ ├── roqvideo.h │ │ │ │ ├── rtjpeg.h │ │ │ │ ├── rv10.h │ │ │ │ ├── rv30data.h │ │ │ │ ├── rv34.h │ │ │ │ ├── rv34data.h │ │ │ │ ├── rv34dsp.h │ │ │ │ ├── rv34vlc.h │ │ │ │ ├── rv40data.h │ │ │ │ ├── rv40vlc2.h │ │ │ │ ├── sbr.h │ │ │ │ ├── sbrdsp.h │ │ │ │ ├── sgi.h │ │ │ │ ├── simple_idct.h │ │ │ │ ├── sinewin.h │ │ │ │ ├── sinewin_tablegen.h │ │ │ │ ├── sipr.h │ │ │ │ ├── sipr16kdata.h │ │ │ │ ├── siprdata.h │ │ │ │ ├── snappy.h │ │ │ │ ├── snow.h │ │ │ │ ├── snow_dwt.h │ │ │ │ ├── snowdata.h │ │ │ │ ├── sp5x.h │ │ │ │ ├── startcode.h │ │ │ │ ├── sunrast.h │ │ │ │ ├── svq1.h │ │ │ │ ├── svq1_cb.h │ │ │ │ ├── svq1_vlc.h │ │ │ │ ├── svq1enc.h │ │ │ │ ├── svq1enc_cb.h │ │ │ │ ├── synth_filter.h │ │ │ │ ├── tableprint.h │ │ │ │ ├── tableprint_vlc.h │ │ │ │ ├── tak.h │ │ │ │ ├── takdsp.h │ │ │ │ ├── targa.h │ │ │ │ ├── texturedsp.h │ │ │ │ ├── thread.h │ │ │ │ ├── tiff.h │ │ │ │ ├── tiff_common.h │ │ │ │ ├── tiff_data.h │ │ │ │ ├── tpeldsp.h │ │ │ │ ├── truemotion1data.h │ │ │ │ ├── truespeech_data.h │ │ │ │ ├── tscc2data.h │ │ │ │ ├── ttadata.h │ │ │ │ ├── ttadsp.h │ │ │ │ ├── ttaencdsp.h │ │ │ │ ├── twinvq.h │ │ │ │ ├── twinvq_data.h │ │ │ │ ├── ulti_cb.h │ │ │ │ ├── unary.h │ │ │ │ ├── utvideo.h │ │ │ │ ├── v210dec.h │ │ │ │ ├── v210enc.h │ │ │ │ ├── vaapi.h │ │ │ │ ├── vaapi_decode.h │ │ │ │ ├── vaapi_encode.h │ │ │ │ ├── vaapi_encode_h26x.h │ │ │ │ ├── vc1.h │ │ │ │ ├── vc1_common.h │ │ │ │ ├── vc1_pred.h │ │ │ │ ├── vc1acdata.h │ │ │ │ ├── vc1data.h │ │ │ │ ├── vc1dsp.h │ │ │ │ ├── vc2enc_dwt.h │ │ │ │ ├── vda.h │ │ │ │ ├── vda_vt_internal.h │ │ │ │ ├── vdpau.h │ │ │ │ ├── vdpau_compat.h │ │ │ │ ├── vdpau_internal.h │ │ │ │ ├── version.h │ │ │ │ ├── videodsp.h │ │ │ │ ├── videotoolbox.h │ │ │ │ ├── vlc.h │ │ │ │ ├── vorbis.h │ │ │ │ ├── vorbis_enc_data.h │ │ │ │ ├── vorbis_parser.h │ │ │ │ ├── vorbis_parser_internal.h │ │ │ │ ├── vorbisdsp.h │ │ │ │ ├── vp3data.h │ │ │ │ ├── vp3dsp.h │ │ │ │ ├── vp56.h │ │ │ │ ├── vp56data.h │ │ │ │ ├── vp56dsp.h │ │ │ │ ├── vp5data.h │ │ │ │ ├── vp6data.h │ │ │ │ ├── vp8.h │ │ │ │ ├── vp8data.h │ │ │ │ ├── vp8dsp.h │ │ │ │ ├── vp9.h │ │ │ │ ├── vp9data.h │ │ │ │ ├── vp9dec.h │ │ │ │ ├── vp9dsp.h │ │ │ │ ├── vp9shared.h │ │ │ │ ├── wavpack.h │ │ │ │ ├── wavpackenc.h │ │ │ │ ├── wma.h │ │ │ │ ├── wma_common.h │ │ │ │ ├── wma_freqs.h │ │ │ │ ├── wmadata.h │ │ │ │ ├── wmaprodata.h │ │ │ │ ├── wmavoice_data.h │ │ │ │ ├── wmv2.h │ │ │ │ ├── wmv2data.h │ │ │ │ ├── wmv2dsp.h │ │ │ │ ├── x86 │ │ │ │ │ ├── cabac.h │ │ │ │ │ ├── constants.h │ │ │ │ │ ├── fdct.h │ │ │ │ │ ├── fft.h │ │ │ │ │ ├── fpel.h │ │ │ │ │ ├── hevcdsp.h │ │ │ │ │ ├── hpeldsp.h │ │ │ │ │ ├── idctdsp.h │ │ │ │ │ ├── inline_asm.h │ │ │ │ │ ├── mathops.h │ │ │ │ │ ├── simple_idct.h │ │ │ │ │ ├── vc1dsp.h │ │ │ │ │ ├── vp56_arith.h │ │ │ │ │ ├── vp9dsp_init.h │ │ │ │ │ └── xvididct.h │ │ │ │ ├── xface.h │ │ │ │ ├── xiph.h │ │ │ │ ├── xvididct.h │ │ │ │ ├── xvmc.h │ │ │ │ ├── xvmc_internal.h │ │ │ │ └── xwd.h │ │ │ ├── libavdevice │ │ │ │ ├── alsa.h │ │ │ │ ├── avdevice.h │ │ │ │ ├── decklink_common.h │ │ │ │ ├── decklink_common_c.h │ │ │ │ ├── decklink_dec.h │ │ │ │ ├── decklink_enc.h │ │ │ │ ├── dshow_capture.h │ │ │ │ ├── dv1394.h │ │ │ │ ├── fbdev_common.h │ │ │ │ ├── internal.h │ │ │ │ ├── opengl_enc_shaders.h │ │ │ │ ├── oss.h │ │ │ │ ├── pulse_audio_common.h │ │ │ │ ├── sndio.h │ │ │ │ ├── timefilter.h │ │ │ │ ├── v4l2-common.h │ │ │ │ └── version.h │ │ │ ├── libavfilter │ │ │ │ ├── af_afir.h │ │ │ │ ├── af_volume.h │ │ │ │ ├── audio.h │ │ │ │ ├── avf_showcqt.h │ │ │ │ ├── avfilter.h │ │ │ │ ├── avfiltergraph.h │ │ │ │ ├── bbox.h │ │ │ │ ├── blend.h │ │ │ │ ├── bufferqueue.h │ │ │ │ ├── buffersink.h │ │ │ │ ├── buffersrc.h │ │ │ │ ├── bwdif.h │ │ │ │ ├── colorspacedsp.h │ │ │ │ ├── deshake.h │ │ │ │ ├── deshake_opencl.h │ │ │ │ ├── deshake_opencl_kernel.h │ │ │ │ ├── drawutils.h │ │ │ │ ├── dualinput.h │ │ │ │ ├── ebur128.h │ │ │ │ ├── filters.h │ │ │ │ ├── formats.h │ │ │ │ ├── framepool.h │ │ │ │ ├── framequeue.h │ │ │ │ ├── framesync.h │ │ │ │ ├── generate_wave_table.h │ │ │ │ ├── gradfun.h │ │ │ │ ├── hermite.h │ │ │ │ ├── interlace.h │ │ │ │ ├── internal.h │ │ │ │ ├── lavfutils.h │ │ │ │ ├── lswsutils.h │ │ │ │ ├── maskedmerge.h │ │ │ │ ├── motion_estimation.h │ │ │ │ ├── opencl_allkernels.h │ │ │ │ ├── psnr.h │ │ │ │ ├── removegrain.h │ │ │ │ ├── scale.h │ │ │ │ ├── signature.h │ │ │ │ ├── ssim.h │ │ │ │ ├── stereo3d.h │ │ │ │ ├── thread.h │ │ │ │ ├── tinterlace.h │ │ │ │ ├── transform.h │ │ │ │ ├── unsharp.h │ │ │ │ ├── unsharp_opencl.h │ │ │ │ ├── unsharp_opencl_kernel.h │ │ │ │ ├── version.h │ │ │ │ ├── vf_eq.h │ │ │ │ ├── vf_fspp.h │ │ │ │ ├── vf_hqdn3d.h │ │ │ │ ├── vf_idet.h │ │ │ │ ├── vf_noise.h │ │ │ │ ├── vf_pp7.h │ │ │ │ ├── vf_pullup.h │ │ │ │ ├── vf_spp.h │ │ │ │ ├── video.h │ │ │ │ ├── vidstabutils.h │ │ │ │ ├── w3fdif.h │ │ │ │ ├── window_func.h │ │ │ │ └── yadif.h │ │ │ ├── libavformat │ │ │ │ ├── aiff.h │ │ │ │ ├── apetag.h │ │ │ │ ├── asf.h │ │ │ │ ├── asfcrypt.h │ │ │ │ ├── ast.h │ │ │ │ ├── audiointerleave.h │ │ │ │ ├── avc.h │ │ │ │ ├── avformat.h │ │ │ │ ├── avi.h │ │ │ │ ├── avio.h │ │ │ │ ├── avio_internal.h │ │ │ │ ├── avlanguage.h │ │ │ │ ├── caf.h │ │ │ │ ├── dv.h │ │ │ │ ├── ffm.h │ │ │ │ ├── ffmeta.h │ │ │ │ ├── flac_picture.h │ │ │ │ ├── flacenc.h │ │ │ │ ├── flv.h │ │ │ │ ├── gxf.h │ │ │ │ ├── hevc.h │ │ │ │ ├── http.h │ │ │ │ ├── httpauth.h │ │ │ │ ├── id3v1.h │ │ │ │ ├── id3v2.h │ │ │ │ ├── img2.h │ │ │ │ ├── internal.h │ │ │ │ ├── ircam.h │ │ │ │ ├── isom.h │ │ │ │ ├── lrc.h │ │ │ │ ├── matroska.h │ │ │ │ ├── metadata.h │ │ │ │ ├── mms.h │ │ │ │ ├── mov_chan.h │ │ │ │ ├── movenc.h │ │ │ │ ├── movenccenc.h │ │ │ │ ├── mpeg.h │ │ │ │ ├── mpegts.h │ │ │ │ ├── mxf.h │ │ │ │ ├── network.h │ │ │ │ ├── nut.h │ │ │ │ ├── oggdec.h │ │ │ │ ├── oma.h │ │ │ │ ├── options_table.h │ │ │ │ ├── os_support.h │ │ │ │ ├── pcm.h │ │ │ │ ├── qtpalette.h │ │ │ │ ├── rawdec.h │ │ │ │ ├── rawenc.h │ │ │ │ ├── rdt.h │ │ │ │ ├── replaygain.h │ │ │ │ ├── riff.h │ │ │ │ ├── rm.h │ │ │ │ ├── rmsipr.h │ │ │ │ ├── rso.h │ │ │ │ ├── rtmp.h │ │ │ │ ├── rtmpcrypt.h │ │ │ │ ├── rtmpdh.h │ │ │ │ ├── rtmppkt.h │ │ │ │ ├── rtp.h │ │ │ │ ├── rtpdec.h │ │ │ │ ├── rtpdec_formats.h │ │ │ │ ├── rtpenc.h │ │ │ │ ├── rtpenc_chain.h │ │ │ │ ├── rtpproto.h │ │ │ │ ├── rtsp.h │ │ │ │ ├── rtspcodes.h │ │ │ │ ├── sauce.h │ │ │ │ ├── smjpeg.h │ │ │ │ ├── sox.h │ │ │ │ ├── spdif.h │ │ │ │ ├── srtp.h │ │ │ │ ├── subtitles.h │ │ │ │ ├── swf.h │ │ │ │ ├── tee_common.h │ │ │ │ ├── tls.h │ │ │ │ ├── url.h │ │ │ │ ├── urldecode.h │ │ │ │ ├── version.h │ │ │ │ ├── voc.h │ │ │ │ ├── vorbiscomment.h │ │ │ │ ├── vpcc.h │ │ │ │ ├── w64.h │ │ │ │ ├── wtv.h │ │ │ │ ├── wv.h │ │ │ │ └── yuv4mpeg.h │ │ │ ├── libavresample │ │ │ │ ├── aarch64 │ │ │ │ │ └── asm-offsets.h │ │ │ │ ├── arm │ │ │ │ │ └── asm-offsets.h │ │ │ │ ├── audio_convert.h │ │ │ │ ├── audio_data.h │ │ │ │ ├── audio_mix.h │ │ │ │ ├── avresample.h │ │ │ │ ├── dither.h │ │ │ │ ├── internal.h │ │ │ │ ├── resample.h │ │ │ │ └── version.h │ │ │ ├── libavutil │ │ │ │ ├── aarch64 │ │ │ │ │ ├── bswap.h │ │ │ │ │ ├── cpu.h │ │ │ │ │ ├── neontest.h │ │ │ │ │ └── timer.h │ │ │ │ ├── adler32.h │ │ │ │ ├── aes.h │ │ │ │ ├── aes_ctr.h │ │ │ │ ├── aes_internal.h │ │ │ │ ├── arm │ │ │ │ │ ├── bswap.h │ │ │ │ │ ├── cpu.h │ │ │ │ │ ├── float_dsp_arm.h │ │ │ │ │ ├── intmath.h │ │ │ │ │ ├── intreadwrite.h │ │ │ │ │ ├── neontest.h │ │ │ │ │ └── timer.h │ │ │ │ ├── atomic.h │ │ │ │ ├── atomic_gcc.h │ │ │ │ ├── atomic_suncc.h │ │ │ │ ├── atomic_win32.h │ │ │ │ ├── attributes.h │ │ │ │ ├── audio_fifo.h │ │ │ │ ├── avassert.h │ │ │ │ ├── avconfig.h │ │ │ │ ├── avr32 │ │ │ │ │ ├── bswap.h │ │ │ │ │ └── intreadwrite.h │ │ │ │ ├── avstring.h │ │ │ │ ├── avutil.h │ │ │ │ ├── base64.h │ │ │ │ ├── bfin │ │ │ │ │ ├── bswap.h │ │ │ │ │ └── timer.h │ │ │ │ ├── blowfish.h │ │ │ │ ├── bprint.h │ │ │ │ ├── bswap.h │ │ │ │ ├── buffer.h │ │ │ │ ├── buffer_internal.h │ │ │ │ ├── camellia.h │ │ │ │ ├── cast5.h │ │ │ │ ├── channel_layout.h │ │ │ │ ├── color_utils.h │ │ │ │ ├── colorspace.h │ │ │ │ ├── common.h │ │ │ │ ├── cpu.h │ │ │ │ ├── cpu_internal.h │ │ │ │ ├── crc.h │ │ │ │ ├── des.h │ │ │ │ ├── dict.h │ │ │ │ ├── display.h │ │ │ │ ├── downmix_info.h │ │ │ │ ├── dynarray.h │ │ │ │ ├── error.h │ │ │ │ ├── eval.h │ │ │ │ ├── ffmath.h │ │ │ │ ├── ffversion.h │ │ │ │ ├── fifo.h │ │ │ │ ├── file.h │ │ │ │ ├── fixed_dsp.h │ │ │ │ ├── float_dsp.h │ │ │ │ ├── frame.h │ │ │ │ ├── hash.h │ │ │ │ ├── hmac.h │ │ │ │ ├── hwcontext.h │ │ │ │ ├── hwcontext_cuda.h │ │ │ │ ├── hwcontext_cuda_internal.h │ │ │ │ ├── hwcontext_dxva2.h │ │ │ │ ├── hwcontext_internal.h │ │ │ │ ├── hwcontext_qsv.h │ │ │ │ ├── hwcontext_vaapi.h │ │ │ │ ├── hwcontext_vdpau.h │ │ │ │ ├── hwcontext_videotoolbox.h │ │ │ │ ├── imgutils.h │ │ │ │ ├── imgutils_internal.h │ │ │ │ ├── integer.h │ │ │ │ ├── internal.h │ │ │ │ ├── intfloat.h │ │ │ │ ├── intmath.h │ │ │ │ ├── intreadwrite.h │ │ │ │ ├── lfg.h │ │ │ │ ├── libm.h │ │ │ │ ├── lls.h │ │ │ │ ├── log.h │ │ │ │ ├── lzo.h │ │ │ │ ├── macros.h │ │ │ │ ├── mastering_display_metadata.h │ │ │ │ ├── mathematics.h │ │ │ │ ├── md5.h │ │ │ │ ├── mem.h │ │ │ │ ├── mem_internal.h │ │ │ │ ├── mips │ │ │ │ │ ├── asmdefs.h │ │ │ │ │ ├── generic_macros_msa.h │ │ │ │ │ ├── intreadwrite.h │ │ │ │ │ ├── libm_mips.h │ │ │ │ │ └── mmiutils.h │ │ │ │ ├── motion_vector.h │ │ │ │ ├── murmur3.h │ │ │ │ ├── opencl.h │ │ │ │ ├── opencl_internal.h │ │ │ │ ├── opt.h │ │ │ │ ├── parseutils.h │ │ │ │ ├── pca.h │ │ │ │ ├── pixdesc.h │ │ │ │ ├── pixelutils.h │ │ │ │ ├── pixfmt.h │ │ │ │ ├── ppc │ │ │ │ │ ├── cpu.h │ │ │ │ │ ├── float_dsp_altivec.h │ │ │ │ │ ├── float_dsp_vsx.h │ │ │ │ │ ├── intreadwrite.h │ │ │ │ │ ├── timer.h │ │ │ │ │ └── util_altivec.h │ │ │ │ ├── qsort.h │ │ │ │ ├── random_seed.h │ │ │ │ ├── rational.h │ │ │ │ ├── rc4.h │ │ │ │ ├── replaygain.h │ │ │ │ ├── reverse.h │ │ │ │ ├── ripemd.h │ │ │ │ ├── samplefmt.h │ │ │ │ ├── sh4 │ │ │ │ │ └── bswap.h │ │ │ │ ├── sha.h │ │ │ │ ├── sha512.h │ │ │ │ ├── softfloat.h │ │ │ │ ├── softfloat_ieee754.h │ │ │ │ ├── softfloat_tables.h │ │ │ │ ├── spherical.h │ │ │ │ ├── stereo3d.h │ │ │ │ ├── tablegen.h │ │ │ │ ├── tea.h │ │ │ │ ├── thread.h │ │ │ │ ├── threadmessage.h │ │ │ │ ├── time.h │ │ │ │ ├── time_internal.h │ │ │ │ ├── timecode.h │ │ │ │ ├── timer.h │ │ │ │ ├── timestamp.h │ │ │ │ ├── tomi │ │ │ │ │ └── intreadwrite.h │ │ │ │ ├── tree.h │ │ │ │ ├── twofish.h │ │ │ │ ├── version.h │ │ │ │ ├── wchar_filename.h │ │ │ │ ├── x86 │ │ │ │ │ ├── asm.h │ │ │ │ │ ├── bswap.h │ │ │ │ │ ├── cpu.h │ │ │ │ │ ├── emms.h │ │ │ │ │ ├── intmath.h │ │ │ │ │ ├── intreadwrite.h │ │ │ │ │ ├── pixelutils.h │ │ │ │ │ ├── timer.h │ │ │ │ │ └── w64xmmtest.h │ │ │ │ ├── xga_font_data.h │ │ │ │ └── xtea.h │ │ │ ├── libpostproc │ │ │ │ ├── postprocess.h │ │ │ │ ├── postprocess_internal.h │ │ │ │ └── version.h │ │ │ ├── libswresample │ │ │ │ ├── audioconvert.h │ │ │ │ ├── resample.h │ │ │ │ ├── swresample.h │ │ │ │ ├── swresample_internal.h │ │ │ │ └── version.h │ │ │ └── libswscale │ │ │ │ ├── ppc │ │ │ │ └── yuv2rgb_altivec.h │ │ │ │ ├── rgb2rgb.h │ │ │ │ ├── swscale.h │ │ │ │ ├── swscale_internal.h │ │ │ │ └── version.h │ │ ├── java │ │ │ └── org │ │ │ │ └── voiddog │ │ │ │ └── ffmpeg │ │ │ │ └── FFmpegNativeBridge.java │ │ └── jniLibs │ │ │ └── armeabi-v7a │ │ │ ├── libavcodec.so │ │ │ ├── libavdevice.so │ │ │ ├── libavfilter.so │ │ │ ├── libavformat.so │ │ │ ├── libavresample.so │ │ │ ├── libavutil.so │ │ │ ├── libpostproc.so │ │ │ ├── libswresample.so │ │ │ └── libswscale.so │ │ └── test │ │ └── java │ │ └── org │ │ └── voiddog │ │ └── ffmpeg │ │ └── ExampleUnitTest.java ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle └── build ├── build_ffmpeg.sh ├── build_x264.sh ├── lib └── ffmpeg │ └── armv7-a │ ├── include │ ├── libavcodec │ │ ├── avcodec.h │ │ ├── avdct.h │ │ ├── avfft.h │ │ ├── d3d11va.h │ │ ├── dirac.h │ │ ├── dv_profile.h │ │ ├── dxva2.h │ │ ├── jni.h │ │ ├── mediacodec.h │ │ ├── qsv.h │ │ ├── vaapi.h │ │ ├── vda.h │ │ ├── vdpau.h │ │ ├── version.h │ │ ├── videotoolbox.h │ │ ├── vorbis_parser.h │ │ └── xvmc.h │ ├── libavdevice │ │ ├── avdevice.h │ │ └── version.h │ ├── libavfilter │ │ ├── avfilter.h │ │ ├── avfiltergraph.h │ │ ├── buffersink.h │ │ ├── buffersrc.h │ │ └── version.h │ ├── libavformat │ │ ├── avformat.h │ │ ├── avio.h │ │ └── version.h │ ├── libavresample │ │ ├── avresample.h │ │ └── version.h │ ├── libavutil │ │ ├── adler32.h │ │ ├── aes.h │ │ ├── aes_ctr.h │ │ ├── attributes.h │ │ ├── audio_fifo.h │ │ ├── avassert.h │ │ ├── avconfig.h │ │ ├── avstring.h │ │ ├── avutil.h │ │ ├── base64.h │ │ ├── blowfish.h │ │ ├── bprint.h │ │ ├── bswap.h │ │ ├── buffer.h │ │ ├── camellia.h │ │ ├── cast5.h │ │ ├── channel_layout.h │ │ ├── common.h │ │ ├── cpu.h │ │ ├── crc.h │ │ ├── des.h │ │ ├── dict.h │ │ ├── display.h │ │ ├── downmix_info.h │ │ ├── error.h │ │ ├── eval.h │ │ ├── ffversion.h │ │ ├── fifo.h │ │ ├── file.h │ │ ├── frame.h │ │ ├── hash.h │ │ ├── hmac.h │ │ ├── hwcontext.h │ │ ├── hwcontext_cuda.h │ │ ├── hwcontext_dxva2.h │ │ ├── hwcontext_qsv.h │ │ ├── hwcontext_vaapi.h │ │ ├── hwcontext_vdpau.h │ │ ├── hwcontext_videotoolbox.h │ │ ├── imgutils.h │ │ ├── intfloat.h │ │ ├── intreadwrite.h │ │ ├── lfg.h │ │ ├── log.h │ │ ├── lzo.h │ │ ├── macros.h │ │ ├── mastering_display_metadata.h │ │ ├── mathematics.h │ │ ├── md5.h │ │ ├── mem.h │ │ ├── motion_vector.h │ │ ├── murmur3.h │ │ ├── opt.h │ │ ├── parseutils.h │ │ ├── pixdesc.h │ │ ├── pixelutils.h │ │ ├── pixfmt.h │ │ ├── random_seed.h │ │ ├── rational.h │ │ ├── rc4.h │ │ ├── replaygain.h │ │ ├── ripemd.h │ │ ├── samplefmt.h │ │ ├── sha.h │ │ ├── sha512.h │ │ ├── spherical.h │ │ ├── stereo3d.h │ │ ├── tea.h │ │ ├── threadmessage.h │ │ ├── time.h │ │ ├── timecode.h │ │ ├── timestamp.h │ │ ├── tree.h │ │ ├── twofish.h │ │ ├── version.h │ │ └── xtea.h │ ├── libpostproc │ │ ├── postprocess.h │ │ └── version.h │ ├── libswresample │ │ ├── swresample.h │ │ └── version.h │ └── libswscale │ │ ├── swscale.h │ │ └── version.h │ └── lib │ ├── libavcodec.so │ ├── libavdevice.so │ ├── libavfilter.so │ ├── libavformat.so │ ├── libavresample.so │ ├── libavutil.so │ ├── libpostproc.so │ ├── libswresample.so │ ├── libswscale.so │ └── sthZJBgl └── setting.sh /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.a 3 | *.diff 4 | *.orig 5 | *.rej 6 | *.dll* 7 | *.exe 8 | *.def 9 | *.lib 10 | *.pdb 11 | *.mo 12 | *.o 13 | *.patch 14 | *.pc 15 | *.pot 16 | *.dylib 17 | .*.swp 18 | .depend 19 | .DS_Store 20 | config.mak 21 | config.log 22 | x264_config.h 23 | x264 24 | checkasm 25 | 26 | *.264 27 | *.h264 28 | *.2pass 29 | *.ffindex 30 | *.avs 31 | *.mkv 32 | *.flv 33 | *.mp4 34 | *.y4m 35 | *.yuv 36 | *.log 37 | *.mbtree 38 | *.temp 39 | *.pyc 40 | *.pgd 41 | *.pgc 42 | 43 | .digress_x264 44 | dataDec.txt 45 | log.dec 46 | common/oclobj.h 47 | x264_lookahead.clbin 48 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "ffmpeg"] 2 | path = ffmpeg 3 | url = git@github.com:voiddog/FFmpeg.git 4 | [submodule "x264"] 5 | path = x264 6 | url = git@github.com:voiddog/x264.git 7 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic" 3 | } -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | .idea 4 | .settings 5 | .project 6 | /local.properties 7 | /.idea/workspace.xml 8 | /.idea/libraries 9 | .DS_Store 10 | /build 11 | /captures 12 | .externalNativeBuild 13 | -------------------------------------------------------------------------------- /android/app/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /android/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion COMPILE_SDK_VERSION as Integer 5 | buildToolsVersion BUILD_TOOLS_VERSION 6 | defaultConfig { 7 | applicationId "org.voiddog.ffmpeg.test" 8 | minSdkVersion MIN_SDK_VERION 9 | targetSdkVersion TARGET_SDK_VERSION 10 | versionCode 1 11 | versionName "1.0" 12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | repositories { 23 | flatDir { 24 | dirs 'libs' 25 | } 26 | } 27 | 28 | dependencies { 29 | implementation fileTree(dir: 'libs', include: ['*.jar']) 30 | androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { 31 | exclude group: 'com.android.support', module: 'support-annotations' 32 | }) 33 | // implementation(name:'ffmpeg', ext:'aar') 34 | implementation project(':ffmpeg') 35 | implementation 'com.android.support:appcompat-v7:25.3.1' 36 | implementation 'com.android.support.constraint:constraint-layout:1.0.2' 37 | testImplementation 'junit:junit:4.12' 38 | } 39 | -------------------------------------------------------------------------------- /android/app/libs/ffmpeg.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/voiddog/FFmpeg-Android/eec30bda1d793f8b9f978edf1b4920e7ae5d1b67/android/app/libs/ffmpeg.aar -------------------------------------------------------------------------------- /android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/qigengxin/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | 19 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | -------------------------------------------------------------------------------- /android/app/src/androidTest/java/org/voiddog/ffmpeg/test/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package org.voiddog.ffmpeg.test; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumentation test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("org.voiddog.ffmpeg.test", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /android/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 |