├── CMakeLists.txt ├── README.md ├── build.gradle └── 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 │ │ └── MainActivity.java ├── jniLibs │ └── armeabi-v7a │ │ ├── libavcodec.so │ │ ├── libavdevice.so │ │ ├── libavfilter.so │ │ ├── libavformat.so │ │ ├── libavresample.so │ │ ├── libavutil.so │ │ ├── libpostproc.so │ │ ├── libswresample.so │ │ └── libswscale.so └── 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 │ ├── colors.xml │ ├── strings.xml │ └── styles.xml └── test └── java └── org └── voiddog └── ffmpeg └── ExampleUnitTest.java /README.md: -------------------------------------------------------------------------------- 1 | # Audio-and-video-learning-materials 2 | 3 | 这是我辛苦收集的音视频学习代码,各位大大,求个star 4 | 5 | 这是在下写的音视频系列博文,各位大大指教一下 http://blog.csdn.net/column/details/19352.html 6 | 7 | Android 音视频深入 二十一 FFmpeg视频剪切 8 | 9 | Android 音视频深入 二十 FFmpeg视频压缩(附源码下载) 10 | 11 | Android 音视频深入 十九 使用ijkplayer做个视频播放器(附源码下载) 12 | 13 | Android 音视频深入 十八 FFmpeg播放视频,有声音(附源码下载) 14 | 15 | Android 音视频深入 十七 FFmpeg 获取RTMP流保存为flv (附源码下载) 16 | 17 | Android 音视频深入 十六 FFmpeg 推流手机摄像头,实现直播 (附源码下载) 18 | 19 | Android 音视频深入 十五 FFmpeg 推流mp4文件(附源码下载) 20 | 21 | Android 音视频深入 十四 FFmpeg与OpenSL ES 播放mp3音乐,能暂停(附源码下载) 22 | 23 | Android 音视频深入 十三 OpenSL ES 制作音乐播放器,能暂停和调整音量(附源码下载) 24 | 25 | Android 音视频深入 十二 FFmpeg视频替换声音(附源码下载) 26 | 27 | Android 音视频深入 十一 FFmpeg和AudioTrack播放声音(附源码下载) 28 | 29 | Android 音视频深入 十 FFmpeg给视频加特效(附源码下载) 30 | 31 | Android 音视频深入 九 FFmpeg解码视频生成yuv文件(附源码下载) 32 | 33 | Android 音视频深入 八 小视频录制(附源码下载)(2018-02-06 10:53) 34 | 35 | Android 音视频深入 七 学习之路的总结和资料分享(2018-02-06 10:52) 36 | 37 | Android 音视频深入 六 使用FFmpeg播放视频(附源码下载)(2018-02-06 10:51) 38 | 39 | Android 音视频深入 五 完美的录视频(附源码下载)(2018-02-03 12:01) 40 | 41 | Android 音视频深入 四 录视频MP4(附源码下载)(2018-02-03 12:00) 42 | 43 | Android 音视频深入 三 MP4解码播放视频 (附源码下载)(2018-02-03 11:59) 44 | 45 | Android 音视频深入 二 AudioTrack播放pcm(附源码下载)(2018-02-02 10:18) 46 | 47 | Android 音视频深入 一 AudioRecord录音生成pcm转换为wav(附源码下载)(2018-02-02 10:17) 48 | -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 26 5 | defaultConfig { 6 | applicationId "org.voiddog.ffmpeg" 7 | minSdkVersion 19 8 | targetSdkVersion 26 9 | versionCode 1 10 | versionName "1.0" 11 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 12 | externalNativeBuild { 13 | cmake { 14 | cppFlags "-std=c++11" 15 | } 16 | ndk { 17 | abiFilters "armeabi-v7a" 18 | } 19 | } 20 | } 21 | buildTypes { 22 | release { 23 | minifyEnabled false 24 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 25 | } 26 | } 27 | 28 | externalNativeBuild { 29 | cmake { 30 | path "CMakeLists.txt" 31 | } 32 | } 33 | } 34 | dependencies { 35 | implementation fileTree(dir: 'libs', include: ['*.jar']) 36 | implementation 'com.android.support:appcompat-v7:26.1.0' 37 | testImplementation 'junit:junit:4.12' 38 | androidTestImplementation 'com.android.support.test:runner:1.0.1' 39 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' 40 | } 41 | -------------------------------------------------------------------------------- /src/androidTest/java/org/voiddog/ffmpeg/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package org.voiddog.ffmpeg; 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 | * Instrumented 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", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/main/cpp/compat/aix/math.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Work around the class() function in AIX math.h clashing with 3 | * identifiers named "class". 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef COMPAT_AIX_MATH_H 23 | #define COMPAT_AIX_MATH_H 24 | 25 | #define class class_in_math_h_causes_problems 26 | 27 | #include_next 28 | 29 | #undef class 30 | 31 | #endif /* COMPAT_AIX_MATH_H */ 32 | -------------------------------------------------------------------------------- /src/main/cpp/compat/float/float.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Work around broken floating point limits on some systems. 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #include_next 22 | 23 | #ifdef FLT_MAX 24 | #undef FLT_MAX 25 | #define FLT_MAX 3.40282346638528859812e+38F 26 | 27 | #undef FLT_MIN 28 | #define FLT_MIN 1.17549435082228750797e-38F 29 | 30 | #undef DBL_MAX 31 | #define DBL_MAX ((double)1.79769313486231570815e+308L) 32 | 33 | #undef DBL_MIN 34 | #define DBL_MIN ((double)2.22507385850720138309e-308L) 35 | #endif 36 | -------------------------------------------------------------------------------- /src/main/cpp/compat/float/limits.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Work around broken floating point limits on some systems. 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #include_next 22 | #include 23 | -------------------------------------------------------------------------------- /src/main/cpp/compat/msvcrt/snprintf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * C99-compatible snprintf() and vsnprintf() implementations 3 | * Copyright (c) 2012 Ronald S. Bultje 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef COMPAT_MSVCRT_SNPRINTF_H 23 | #define COMPAT_MSVCRT_SNPRINTF_H 24 | 25 | #include 26 | #include 27 | 28 | int avpriv_snprintf(char *s, size_t n, const char *fmt, ...); 29 | int avpriv_vsnprintf(char *s, size_t n, const char *fmt, va_list ap); 30 | 31 | #undef snprintf 32 | #undef _snprintf 33 | #undef vsnprintf 34 | #define snprintf avpriv_snprintf 35 | #define _snprintf avpriv_snprintf 36 | #define vsnprintf avpriv_vsnprintf 37 | 38 | #endif /* COMPAT_MSVCRT_SNPRINTF_H */ 39 | -------------------------------------------------------------------------------- /src/main/cpp/compat/tms470/math.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef COMPAT_TMS470_MATH_H 20 | #define COMPAT_TMS470_MATH_H 21 | 22 | #include_next 23 | 24 | #undef INFINITY 25 | #undef NAN 26 | 27 | #define INFINITY (*(const float*)((const unsigned []){ 0x7f800000 })) 28 | #define NAN (*(const float*)((const unsigned []){ 0x7fc00000 })) 29 | 30 | #endif /* COMPAT_TMS470_MATH_H */ 31 | -------------------------------------------------------------------------------- /src/main/cpp/compat/va_copy.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MSVC Compatible va_copy macro 3 | * Copyright (c) 2012 Derek Buitenhuis 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef COMPAT_VA_COPY_H 23 | #define COMPAT_VA_COPY_H 24 | 25 | #include 26 | 27 | #if !defined(va_copy) && defined(_MSC_VER) 28 | #define va_copy(dst, src) ((dst) = (src)) 29 | #endif 30 | #if !defined(va_copy) && defined(__GNUC__) && __GNUC__ < 3 31 | #define va_copy(dst, src) __va_copy(dst, src) 32 | #endif 33 | 34 | #endif /* COMPAT_VA_COPY_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/ffmpeg_thread.c: -------------------------------------------------------------------------------- 1 | // 2 | // Created by 戚耿鑫 on 2017/6/24. 3 | // 4 | 5 | #include "ffmpeg_thread.h" 6 | 7 | int ffmpeg_argc; 8 | int ffmpeg_exec_ret; 9 | char **ffmpeg_argv; 10 | 11 | void *run_thread(void *arg){ 12 | ffmpeg_exec_ret = run_ffmpeg_command(ffmpeg_argc, ffmpeg_argv); 13 | } 14 | 15 | int ffmpeg_thread_run_command(int argc, char **argv){ 16 | ffmpeg_argc = argc; 17 | ffmpeg_argv = argv; 18 | ffmpeg_exec_ret = -1; 19 | 20 | pthread_t thread_id; 21 | int thread_ret = pthread_create(&thread_id, NULL, run_thread, NULL); 22 | if (thread_ret){ 23 | av_log(NULL, AV_LOG_ERROR, "can not create thread"); 24 | return 1; 25 | } 26 | 27 | thread_ret = pthread_join(thread_id, NULL); 28 | if (thread_ret){ 29 | av_log(NULL, AV_LOG_ERROR, "thread join error"); 30 | return 1; 31 | } 32 | 33 | return ffmpeg_exec_ret; 34 | } 35 | 36 | void ffmpeg_thread_exit(int ret){ 37 | ffmpeg_exec_ret = ret; 38 | pthread_exit(NULL); 39 | } 40 | -------------------------------------------------------------------------------- /src/main/cpp/ffmpeg_thread.h: -------------------------------------------------------------------------------- 1 | // 2 | // Created by 戚耿鑫 on 2017/6/24. 3 | // 4 | 5 | #ifndef ANDROID_FFMPEG_THREAD_H 6 | #define ANDROID_FFMPEG_THREAD_H 7 | 8 | #include "ffmpeg.h" 9 | 10 | int ffmpeg_thread_run_command(int argc, char **argv); 11 | 12 | void ffmpeg_thread_exit(int ret); 13 | 14 | #endif //ANDROID_FFMPEG_THREAD_H 15 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/aacenc_tns.h: -------------------------------------------------------------------------------- 1 | /* 2 | * AAC encoder TNS 3 | * Copyright (C) 2015 Rostislav Pehlivanov 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | /** 23 | * @file 24 | * AAC encoder temporal noise shaping 25 | * @author Rostislav Pehlivanov ( atomnuker gmail com ) 26 | */ 27 | 28 | #ifndef AVCODEC_AACENC_TNS_H 29 | #define AVCODEC_AACENC_TNS_H 30 | 31 | #include "aacenc.h" 32 | 33 | void ff_aac_encode_tns_info(AACEncContext *s, SingleChannelElement *sce); 34 | void ff_aac_apply_tns(AACEncContext *s, SingleChannelElement *sce); 35 | void ff_aac_search_for_tns(AACEncContext *s, SingleChannelElement *sce); 36 | 37 | #endif /* AVCODEC_AACENC_TNS_H */ 38 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/aacsbr_fixed_tablegen.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Header file for hardcoded AAC SBR windows 3 | * 4 | * Copyright (c) 2014 Reimar Döffinger 5 | * 6 | * This file is part of FFmpeg. 7 | * 8 | * FFmpeg is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Lesser General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2.1 of the License, or (at your option) any later version. 12 | * 13 | * FFmpeg is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Lesser General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Lesser General Public 19 | * License along with FFmpeg; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | */ 22 | 23 | #ifndef AVCODEC_AACSBR_FIXED_TABLEGEN_H 24 | #define AVCODEC_AACSBR_FIXED_TABLEGEN_H 25 | 26 | #include "aacsbr_tablegen_common.h" 27 | 28 | #endif /* AVCODEC_AACSBR_FIXED_TABLEGEN_H */ 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/aacsbr_tablegen.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Header file for hardcoded AAC SBR windows 3 | * 4 | * Copyright (c) 2014 Reimar Döffinger 5 | * 6 | * This file is part of FFmpeg. 7 | * 8 | * FFmpeg is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Lesser General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2.1 of the License, or (at your option) any later version. 12 | * 13 | * FFmpeg is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Lesser General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Lesser General Public 19 | * License along with FFmpeg; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | */ 22 | 23 | #ifndef AVCODEC_AACSBR_TABLEGEN_H 24 | #define AVCODEC_AACSBR_TABLEGEN_H 25 | 26 | #include "aacsbr_tablegen_common.h" 27 | 28 | #endif /* AVCODEC_AACSBR_TABLEGEN_H */ 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/aandcttab.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | /** 20 | * @file 21 | * AAN (Arai, Agui and Nakajima) (I)DCT tables 22 | */ 23 | 24 | #ifndef AVCODEC_AANDCTTAB_H 25 | #define AVCODEC_AANDCTTAB_H 26 | 27 | #include 28 | 29 | extern const uint16_t ff_aanscales[64]; 30 | extern const uint16_t ff_inv_aanscales[64]; 31 | 32 | #endif /* AVCODEC_AANDCTTAB_H */ 33 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/aarch64/asm-offsets.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_AARCH64_ASM_OFFSETS_H 20 | #define AVCODEC_AARCH64_ASM_OFFSETS_H 21 | 22 | /* CeltIMDCTContext */ 23 | #define CELT_EXPTAB 0x20 24 | #define CELT_FFT_N 0x00 25 | #define CELT_LEN2 0x04 26 | #define CELT_LEN4 (CELT_LEN2 + 0x4) // loaded as pair 27 | #define CELT_TMP 0x10 28 | #define CELT_TWIDDLE (CELT_TMP + 0x8) // loaded as pair 29 | 30 | /* FFTContext */ 31 | #define IMDCT_HALF 0x48 32 | 33 | #endif /* AVCODEC_AARCH64_ASM_OFFSETS_H */ 34 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/aarch64/idct.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_AARCH64_IDCT_H 20 | #define AVCODEC_AARCH64_IDCT_H 21 | 22 | #include 23 | 24 | void ff_simple_idct_neon(int16_t *data); 25 | void ff_simple_idct_put_neon(uint8_t *dest, ptrdiff_t line_size, int16_t *data); 26 | void ff_simple_idct_add_neon(uint8_t *dest, ptrdiff_t line_size, int16_t *data); 27 | 28 | #endif /* AVCODEC_AARCH64_IDCT_H */ 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/aarch64/vp9dsp_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 Google Inc. 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_AARCH64_VP9DSP_INIT_H 22 | #define AVCODEC_AARCH64_VP9DSP_INIT_H 23 | 24 | #include "libavcodec/vp9dsp.h" 25 | 26 | void ff_vp9dsp_init_10bpp_aarch64(VP9DSPContext *dsp); 27 | void ff_vp9dsp_init_12bpp_aarch64(VP9DSPContext *dsp); 28 | 29 | #endif /* AVCODEC_AARCH64_VP9DSP_INIT_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/ac3dec_data.h: -------------------------------------------------------------------------------- 1 | /* 2 | * AC-3 and E-AC-3 decoder tables 3 | * Copyright (c) 2007 Bartlomiej Wolowiec 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_AC3DEC_DATA_H 23 | #define AVCODEC_AC3DEC_DATA_H 24 | 25 | #include 26 | 27 | extern const uint8_t ff_ac3_ungroup_3_in_5_bits_tab[32][3]; 28 | 29 | extern const uint8_t ff_eac3_hebap_tab[64]; 30 | extern const uint8_t ff_eac3_default_spx_band_struct[17]; 31 | 32 | #endif /* AVCODEC_AC3DEC_DATA_H */ 33 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/adpcm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2001-2003 The FFmpeg project 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | /** 22 | * @file 23 | * ADPCM encoder/decoder common header. 24 | */ 25 | 26 | #ifndef AVCODEC_ADPCM_H 27 | #define AVCODEC_ADPCM_H 28 | 29 | #include 30 | 31 | #define BLKSIZE 1024 32 | 33 | typedef struct ADPCMChannelStatus { 34 | int predictor; 35 | int16_t step_index; 36 | int step; 37 | /* for encoding */ 38 | int prev_sample; 39 | 40 | /* MS version */ 41 | int sample1; 42 | int sample2; 43 | int coeff1; 44 | int coeff2; 45 | int idelta; 46 | } ADPCMChannelStatus; 47 | 48 | #endif /* AVCODEC_ADPCM_H */ 49 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/alacdsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_ALACDSP_H 20 | #define AVCODEC_ALACDSP_H 21 | 22 | #include 23 | 24 | typedef struct ALACDSPContext { 25 | void (*decorrelate_stereo)(int32_t *buffer[2], int nb_samples, 26 | int decorr_shift, int decorr_left_weight); 27 | void (*append_extra_bits[2])(int32_t *buffer[2], int32_t *extra_bits_buffer[2], 28 | int extra_bits, int channels, int nb_samples); 29 | } ALACDSPContext; 30 | 31 | void ff_alacdsp_init(ALACDSPContext *c); 32 | void ff_alacdsp_init_x86(ALACDSPContext *c); 33 | 34 | #endif /* AVCODEC_ALACDSP_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/alpha/hpeldsp_alpha.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_ALPHA_HPELDSP_ALPHA_H 20 | #define AVCODEC_ALPHA_HPELDSP_ALPHA_H 21 | 22 | #include 23 | #include 24 | 25 | void put_pixels_axp_asm(uint8_t *block, const uint8_t *pixels, 26 | ptrdiff_t line_size, int h); 27 | 28 | #endif /* AVCODEC_ALPHA_HPELDSP_ALPHA_H */ 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/apng.h: -------------------------------------------------------------------------------- 1 | /* 2 | * APNG common header 3 | * Copyright (c) 2014 Benoit Fouet 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | /** 23 | * @file 24 | * APNG common header 25 | */ 26 | 27 | #ifndef AVCODEC_APNG_H 28 | #define AVCODEC_APNG_H 29 | 30 | enum { 31 | APNG_DISPOSE_OP_NONE = 0, 32 | APNG_DISPOSE_OP_BACKGROUND = 1, 33 | APNG_DISPOSE_OP_PREVIOUS = 2, 34 | }; 35 | 36 | enum { 37 | APNG_BLEND_OP_SOURCE = 0, 38 | APNG_BLEND_OP_OVER = 1, 39 | }; 40 | 41 | #endif /* AVCODEC_APNG_H */ 42 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/arm/asm-offsets.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Mans Rullgard 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_ARM_ASM_OFFSETS_H 22 | #define AVCODEC_ARM_ASM_OFFSETS_H 23 | 24 | /* MpegEncContext */ 25 | #define Y_DC_SCALE 0x04 26 | #define C_DC_SCALE 0x08 27 | #define AC_PRED 0x0c 28 | #define BLOCK_LAST_INDEX 0x10 29 | #define H263_AIC 0x40 30 | #define INTER_SCANTAB_RASTER_END 0x88 31 | 32 | #endif /* AVCODEC_ARM_ASM_OFFSETS_H */ 33 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/arm/audiodsp_arm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_ARM_AUDIODSP_ARM_H 20 | #define AVCODEC_ARM_AUDIODSP_ARM_H 21 | 22 | #include "libavcodec/audiodsp.h" 23 | 24 | void ff_audiodsp_init_neon(AudioDSPContext *c); 25 | 26 | #endif /* AVCODEC_ARM_AUDIODSP_ARM_H */ 27 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/arm/blockdsp_arm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_ARM_BLOCKDSP_ARM_H 20 | #define AVCODEC_ARM_BLOCKDSP_ARM_H 21 | 22 | #include "libavcodec/blockdsp.h" 23 | 24 | void ff_blockdsp_init_neon(BlockDSPContext *c); 25 | 26 | #endif /* AVCODEC_ARM_BLOCKDSP_ARM_H */ 27 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/arm/hevcdsp_arm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_ARM_HEVCDSP_ARM_H 20 | #define AVCODEC_ARM_HEVCDSP_ARM_H 21 | 22 | #include "libavcodec/hevcdsp.h" 23 | 24 | void ff_hevcdsp_init_neon(HEVCDSPContext *c, const int bit_depth); 25 | 26 | #endif /* AVCODEC_ARM_HEVCDSP_ARM_H */ 27 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/arm/hpeldsp_arm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Mans Rullgard 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_ARM_HPELDSP_ARM_H 22 | #define AVCODEC_ARM_HPELDSP_ARM_H 23 | 24 | #include "libavcodec/hpeldsp.h" 25 | 26 | void ff_hpeldsp_init_armv6(HpelDSPContext *c, int flags); 27 | void ff_hpeldsp_init_neon(HpelDSPContext *c, int flags); 28 | 29 | #endif /* AVCODEC_ARM_HPELDSP_ARM_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/arm/idctdsp_arm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Mans Rullgard 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_ARM_IDCTDSP_ARM_H 22 | #define AVCODEC_ARM_IDCTDSP_ARM_H 23 | 24 | #include "libavcodec/avcodec.h" 25 | #include "libavcodec/idctdsp.h" 26 | 27 | void ff_idctdsp_init_armv5te(IDCTDSPContext *c, AVCodecContext *avctx, 28 | unsigned high_bit_depth); 29 | void ff_idctdsp_init_armv6(IDCTDSPContext *c, AVCodecContext *avctx, 30 | unsigned high_bit_depth); 31 | void ff_idctdsp_init_neon(IDCTDSPContext *c, AVCodecContext *avctx, 32 | unsigned high_bit_depth); 33 | 34 | #endif /* AVCODEC_ARM_IDCTDSP_ARM_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/arm/mpegvideo_arm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_ARM_MPEGVIDEO_ARM_H 20 | #define AVCODEC_ARM_MPEGVIDEO_ARM_H 21 | 22 | #include "libavcodec/mpegvideo.h" 23 | 24 | void ff_mpv_common_init_armv5te(MpegEncContext *s); 25 | 26 | #endif /* AVCODEC_ARM_MPEGVIDEO_ARM_H */ 27 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/arm/startcode.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_ARM_STARTCODE_H 20 | #define AVCODEC_ARM_STARTCODE_H 21 | 22 | #include 23 | 24 | int ff_startcode_find_candidate_armv6(const uint8_t *buf, int size); 25 | 26 | #endif /* AVCODEC_ARM_STARTCODE_H */ 27 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/arm/vc1dsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_ARM_VC1DSP_H 20 | #define AVCODEC_ARM_VC1DSP_H 21 | 22 | #include "libavcodec/vc1dsp.h" 23 | 24 | void ff_vc1dsp_init_neon(VC1DSPContext *dsp); 25 | 26 | #endif /* AVCODEC_ARM_VC1DSP_H */ 27 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/arm/videodsp_arm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Mans Rullgard 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_ARM_VIDEODSP_ARM_H 22 | #define AVCODEC_ARM_VIDEODSP_ARM_H 23 | 24 | #include "libavcodec/avcodec.h" 25 | #include "libavcodec/videodsp.h" 26 | 27 | void ff_videodsp_init_armv5te(VideoDSPContext* ctx, int bpc); 28 | 29 | #endif /* AVCODEC_ARM_VIDEODSP_ARM_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/arm/vp8.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_ARM_VP8_H 20 | #define AVCODEC_ARM_VP8_H 21 | 22 | #include 23 | 24 | #include "config.h" 25 | #include "libavcodec/vp56.h" 26 | #include "libavcodec/vp8.h" 27 | 28 | #if HAVE_ARMV6_EXTERNAL 29 | #define vp8_decode_block_coeffs_internal ff_decode_block_coeffs_armv6 30 | int ff_decode_block_coeffs_armv6(VP56RangeCoder *rc, int16_t block[16], 31 | uint8_t probs[8][3][NUM_DCT_TOKENS-1], 32 | int i, uint8_t *token_prob, int16_t qmul[2]); 33 | #endif 34 | 35 | #endif /* AVCODEC_ARM_VP8_H */ 36 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/arm/vp9dsp_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017 Google Inc. 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_ARM_VP9DSP_INIT_H 22 | #define AVCODEC_ARM_VP9DSP_INIT_H 23 | 24 | #include "libavcodec/vp9dsp.h" 25 | 26 | void ff_vp9dsp_init_10bpp_arm(VP9DSPContext *dsp); 27 | void ff_vp9dsp_init_12bpp_arm(VP9DSPContext *dsp); 28 | 29 | #endif /* AVCODEC_ARM_VP9DSP_INIT_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/bethsoftvideo.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Bethesda VID video decoder 3 | * Copyright (C) 2007 Nicholas Tung 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_BETHSOFTVIDEO_H 23 | #define AVCODEC_BETHSOFTVIDEO_H 24 | 25 | enum BethsoftVidBlockType 26 | { 27 | PALETTE_BLOCK = 0x02, 28 | FIRST_AUDIO_BLOCK = 0x7c, 29 | AUDIO_BLOCK = 0x7d, 30 | VIDEO_I_FRAME = 0x03, 31 | VIDEO_P_FRAME = 0x01, 32 | VIDEO_YOFF_P_FRAME = 0x04, 33 | EOF_BLOCK = 0x14, 34 | }; 35 | 36 | #endif /* AVCODEC_BETHSOFTVIDEO_H */ 37 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/bintext.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Binary text decoder 3 | * Copyright (c) 2010 Peter Ross (pross@xvid.org) 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | /** 23 | * @file 24 | * Binary text decoder 25 | */ 26 | 27 | #ifndef AVCODEC_BINTEXT_H 28 | #define AVCODEC_BINTEXT_H 29 | 30 | /* flag values passed between avformat and avcodec; 31 | * while these are identical to the XBIN flags, they are also used 32 | * for the BINTEXT and IDF decoders. 33 | */ 34 | #define BINTEXT_PALETTE 0x1 35 | #define BINTEXT_FONT 0x2 36 | 37 | #endif /* AVCODEC_BINTEXT_H */ 38 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/bmp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * internals for BMP codecs 3 | * Copyright (c) 2005 Mans Rullgard 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_BMP_H 23 | #define AVCODEC_BMP_H 24 | 25 | #include "avcodec.h" 26 | 27 | typedef enum { 28 | BMP_RGB =0, 29 | BMP_RLE8 =1, 30 | BMP_RLE4 =2, 31 | BMP_BITFIELDS =3, 32 | } BiCompression; 33 | 34 | #endif /* AVCODEC_BMP_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/bswapdsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_BSWAPDSP_H 20 | #define AVCODEC_BSWAPDSP_H 21 | 22 | #include 23 | 24 | typedef struct BswapDSPContext { 25 | void (*bswap_buf)(uint32_t *dst, const uint32_t *src, int w); 26 | void (*bswap16_buf)(uint16_t *dst, const uint16_t *src, int len); 27 | } BswapDSPContext; 28 | 29 | void ff_bswapdsp_init(BswapDSPContext *c); 30 | void ff_bswapdsp_init_x86(BswapDSPContext *c); 31 | 32 | #endif /* AVCODEC_BSWAPDSP_H */ 33 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/canopus.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Canopus common routines 3 | * Copyright (c) 2015 Vittorio Giovara 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_CANOPUS_H 23 | #define AVCODEC_CANOPUS_H 24 | 25 | #include 26 | 27 | #include "avcodec.h" 28 | 29 | int ff_canopus_parse_info_tag(AVCodecContext *avctx, 30 | const uint8_t *src, size_t size); 31 | 32 | #endif /* AVCODEC_CANOPUS_H */ 33 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/cbrt_data.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016 Reimar Döffinger 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_CBRT_DATA_H 22 | #define AVCODEC_CBRT_DATA_H 23 | 24 | #include 25 | 26 | #include "config.h" 27 | 28 | #if CONFIG_HARDCODED_TABLES 29 | #define ff_cbrt_tableinit_fixed() 30 | #define ff_cbrt_tableinit() 31 | extern const uint32_t ff_cbrt_tab[1 << 13]; 32 | extern const uint32_t ff_cbrt_tab_fixed[1 << 13]; 33 | #else 34 | void ff_cbrt_tableinit(void); 35 | void ff_cbrt_tableinit_fixed(void); 36 | extern uint32_t ff_cbrt_tab[1 << 13]; 37 | extern uint32_t ff_cbrt_tab_fixed[1 << 13]; 38 | #endif 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/dcadct.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2016 foo86 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_DCADCT_H 22 | #define AVCODEC_DCADCT_H 23 | 24 | #include "libavutil/common.h" 25 | 26 | typedef struct DCADCTContext { 27 | void (*imdct_half[2])(int32_t *output, const int32_t *input); 28 | } DCADCTContext; 29 | 30 | av_cold void ff_dcadct_init(DCADCTContext *c); 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/dct32.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_DCT32_H 20 | #define AVCODEC_DCT32_H 21 | 22 | void ff_dct32_float(float *dst, const float *src); 23 | void ff_dct32_fixed(int *dst, const int *src); 24 | 25 | #endif /* AVCODEC_DCT32_H */ 26 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/dctref.h: -------------------------------------------------------------------------------- 1 | /* 2 | * reference discrete cosine transform (double precision) 3 | * Copyright (C) 2009 Dylan Yudaken 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_DCTREF_H 23 | #define AVCODEC_DCTREF_H 24 | 25 | void ff_ref_fdct(short *block); 26 | void ff_ref_idct(short *block); 27 | void ff_ref_dct_init(void); 28 | 29 | #endif /* AVCODEC_DCTREF_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/dv_profile_internal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_DV_PROFILE_INTERNAL_H 20 | #define AVCODEC_DV_PROFILE_INTERNAL_H 21 | 22 | #include "dv_profile.h" 23 | 24 | /** 25 | * Print all allowed DV profiles into logctx at specified logging level. 26 | */ 27 | void ff_dv_print_profiles(void *logctx, int loglevel); 28 | 29 | /** 30 | * Get a DV profile for the provided compressed frame. 31 | */ 32 | const AVDVProfile* ff_dv_frame_profile(AVCodecContext* codec, const AVDVProfile *sys, 33 | const uint8_t *frame, unsigned buf_size); 34 | 35 | #endif /* AVCODEC_DV_PROFILE_INTERNAL_H */ 36 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/dvaudio.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_DVAUDIO_H 20 | #define AVCODEC_DVAUDIO_H 21 | 22 | #include 23 | 24 | static inline int dv_get_audio_sample_count(const uint8_t *buffer, int dsf) 25 | { 26 | int samples = buffer[0] & 0x3f; /* samples in this frame - min samples */ 27 | 28 | switch ((buffer[3] >> 3) & 0x07) { 29 | case 0: 30 | return samples + (dsf ? 1896 : 1580); 31 | case 1: 32 | return samples + (dsf ? 1742 : 1452); 33 | case 2: 34 | default: 35 | return samples + (dsf ? 1264 : 1053); 36 | } 37 | } 38 | 39 | #endif /* AVCODEC_DVAUDIO_H */ 40 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/dvdata.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_DVDATA_H 20 | #define AVCODEC_DVDATA_H 21 | 22 | #include 23 | 24 | extern const uint8_t ff_dv_zigzag248_direct[64]; 25 | 26 | extern const uint8_t ff_dv_quant_shifts[22][4]; 27 | extern const uint8_t ff_dv_quant_offset[4]; 28 | 29 | #define NB_DV_VLC 409 30 | 31 | extern const uint16_t ff_dv_vlc_bits[NB_DV_VLC]; 32 | extern const uint8_t ff_dv_vlc_len[NB_DV_VLC]; 33 | extern const uint8_t ff_dv_vlc_run[NB_DV_VLC]; 34 | extern const uint8_t ff_dv_vlc_level[NB_DV_VLC]; 35 | 36 | #endif /* AVCODEC_DVDATA_H */ 37 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/eac3_data.h: -------------------------------------------------------------------------------- 1 | /* 2 | * E-AC-3 tables 3 | * Copyright (c) 2007 Bartlomiej Wolowiec 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_EAC3_DATA_H 23 | #define AVCODEC_EAC3_DATA_H 24 | 25 | #include 26 | 27 | extern const uint8_t ff_eac3_bits_vs_hebap[20]; 28 | extern const int16_t ff_eac3_gaq_remap_1[12]; 29 | extern const int16_t ff_eac3_gaq_remap_2_4_a[9][2]; 30 | extern const int16_t ff_eac3_gaq_remap_2_4_b[9][2]; 31 | 32 | extern const int16_t (* const ff_eac3_mantissa_vq[8])[6]; 33 | extern const uint8_t ff_eac3_frm_expstr[32][6]; 34 | extern const float ff_eac3_spx_atten_tab[32][3]; 35 | 36 | #endif /* AVCODEC_EAC3_DATA_H */ 37 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/eaidct.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_EAIDCT_H 20 | #define AVCODEC_EAIDCT_H 21 | 22 | #include 23 | #include 24 | 25 | void ff_ea_idct_put_c(uint8_t *dest, ptrdiff_t linesize, int16_t *block); 26 | 27 | #endif /* AVCODEC_EAIDCT_H */ 28 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/faandct.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Floating point AAN DCT 3 | * Copyright (c) 2003 Michael Niedermayer 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | /** 23 | * @file 24 | * @brief 25 | * Floating point AAN DCT 26 | * @author Michael Niedermayer 27 | */ 28 | 29 | #ifndef AVCODEC_FAANDCT_H 30 | #define AVCODEC_FAANDCT_H 31 | 32 | #include 33 | 34 | void ff_faandct(int16_t *data); 35 | void ff_faandct248(int16_t *data); 36 | 37 | #endif /* AVCODEC_FAANDCT_H */ 38 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/faanidct.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Floating point AAN IDCT 3 | * Copyright (c) 2008 Michael Niedermayer 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_FAANIDCT_H 23 | #define AVCODEC_FAANIDCT_H 24 | 25 | #include 26 | #include 27 | 28 | void ff_faanidct(int16_t block[64]); 29 | void ff_faanidct_add(uint8_t *dest, ptrdiff_t line_size, int16_t block[64]); 30 | void ff_faanidct_put(uint8_t *dest, ptrdiff_t line_size, int16_t block[64]); 31 | 32 | #endif /* AVCODEC_FAANIDCT_H */ 33 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/fdctdsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_FDCTDSP_H 20 | #define AVCODEC_FDCTDSP_H 21 | 22 | #include 23 | 24 | #include "avcodec.h" 25 | 26 | typedef struct FDCTDSPContext { 27 | void (*fdct)(int16_t *block /* align 16 */); 28 | void (*fdct248)(int16_t *block /* align 16 */); 29 | } FDCTDSPContext; 30 | 31 | void ff_fdctdsp_init(FDCTDSPContext *c, AVCodecContext *avctx); 32 | void ff_fdctdsp_init_ppc(FDCTDSPContext *c, AVCodecContext *avctx, 33 | unsigned high_bit_depth); 34 | void ff_fdctdsp_init_x86(FDCTDSPContext *c, AVCodecContext *avctx, 35 | unsigned high_bit_depth); 36 | 37 | #endif /* AVCODEC_FDCTDSP_H */ 38 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/flacdata.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FLAC data header 3 | * Copyright (c) 2003 Alex Beregszaszi 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_FLACDATA_H 23 | #define AVCODEC_FLACDATA_H 24 | 25 | #include "internal.h" 26 | 27 | extern const int ff_flac_sample_rate_table[16]; 28 | 29 | extern const int32_t ff_flac_blocksize_table[16]; 30 | 31 | #endif /* AVCODEC_FLACDATA_H */ 32 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/flv.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FLV specific private header. 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_FLV_H 22 | #define AVCODEC_FLV_H 23 | 24 | #include "get_bits.h" 25 | #include "mpegvideo.h" 26 | #include "put_bits.h" 27 | 28 | void ff_flv_encode_picture_header(MpegEncContext *s, int picture_number); 29 | void ff_flv2_encode_ac_esc(PutBitContext *pb, int slevel, int level, int run, 30 | int last); 31 | 32 | int ff_flv_decode_picture_header(MpegEncContext *s); 33 | 34 | #endif /* AVCODEC_FLV_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/frame_thread_encoder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Michael Niedermayer 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_FRAME_THREAD_ENCODER_H 22 | #define AVCODEC_FRAME_THREAD_ENCODER_H 23 | 24 | #include "avcodec.h" 25 | 26 | int ff_frame_thread_encoder_init(AVCodecContext *avctx, AVDictionary *options); 27 | void ff_frame_thread_encoder_free(AVCodecContext *avctx); 28 | int ff_thread_video_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet_ptr); 29 | 30 | #endif /* AVCODEC_FRAME_THREAD_ENCODER_H */ 31 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/g722dsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Peter Meerwald 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_G722DSP_H 22 | #define AVCODEC_G722DSP_H 23 | 24 | #include 25 | 26 | typedef struct G722DSPContext { 27 | void (*apply_qmf)(const int16_t *prev_samples, int xout[2]); 28 | } G722DSPContext; 29 | 30 | void ff_g722dsp_init(G722DSPContext *c); 31 | void ff_g722dsp_init_arm(G722DSPContext *c); 32 | void ff_g722dsp_init_x86(G722DSPContext *c); 33 | 34 | #endif /* AVCODEC_G722DSP_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/g729.h: -------------------------------------------------------------------------------- 1 | /* 2 | * G.729, G729 Annex D decoders 3 | * Copyright (c) 2008 Vladimir Voroshilov 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | #ifndef AVCODEC_G729_H 22 | #define AVCODEC_G729_H 23 | 24 | /** 25 | * subframe size 26 | */ 27 | #define SUBFRAME_SIZE 40 28 | 29 | /* bytes per block */ 30 | #define G729_8K_BLOCK_SIZE 10 31 | #define G729D_6K4_BLOCK_SIZE 8 32 | 33 | #endif // AVCODEC_G729_H 34 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/gsm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * GSM common header 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_GSM_H 22 | #define AVCODEC_GSM_H 23 | 24 | /* bytes per block */ 25 | #define GSM_BLOCK_SIZE 33 26 | #define GSM_MS_BLOCK_SIZE 65 27 | #define MSN_MIN_BLOCK_SIZE 41 28 | 29 | /* samples per block */ 30 | #define GSM_FRAME_SIZE 160 31 | 32 | enum GSMModes { 33 | GSM_13000 = 0, 34 | MSN_12400, 35 | MSN_11800, 36 | MSN_11200, 37 | MSN_10600, 38 | MSN_10000, 39 | MSN_9400, 40 | MSN_8800, 41 | MSN_8200, 42 | NUM_GSM_MODES 43 | }; 44 | 45 | #endif /* AVCODEC_GSM_H */ 46 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/h263_parser.h: -------------------------------------------------------------------------------- 1 | /* 2 | * H.263 parser 3 | * Copyright (c) 2002-2004 Michael Niedermayer 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_H263_PARSER_H 23 | #define AVCODEC_H263_PARSER_H 24 | 25 | #include "parser.h" 26 | 27 | int ff_h263_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size); 28 | 29 | #endif /* AVCODEC_H263_PARSER_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/h263dsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_H263DSP_H 20 | #define AVCODEC_H263DSP_H 21 | 22 | #include 23 | 24 | extern const uint8_t ff_h263_loop_filter_strength[32]; 25 | 26 | typedef struct H263DSPContext { 27 | void (*h263_h_loop_filter)(uint8_t *src, int stride, int qscale); 28 | void (*h263_v_loop_filter)(uint8_t *src, int stride, int qscale); 29 | } H263DSPContext; 30 | 31 | void ff_h263dsp_init(H263DSPContext *ctx); 32 | void ff_h263dsp_init_x86(H263DSPContext *ctx); 33 | void ff_h263dsp_init_mips(H263DSPContext *ctx); 34 | 35 | #endif /* AVCODEC_H263DSP_H */ 36 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/hevc_data.h: -------------------------------------------------------------------------------- 1 | /* 2 | * HEVC shared data tables 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_HEVC_DATA_H 22 | #define AVCODEC_HEVC_DATA_H 23 | 24 | #include 25 | 26 | extern const uint8_t ff_hevc_diag_scan4x4_x[16]; 27 | extern const uint8_t ff_hevc_diag_scan4x4_y[16]; 28 | extern const uint8_t ff_hevc_diag_scan8x8_x[64]; 29 | extern const uint8_t ff_hevc_diag_scan8x8_y[64]; 30 | 31 | #endif /* AVCODEC_HEVC_DATA_H */ 32 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/hevc_parse.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | /** 20 | * @file 21 | * H.265 parser code 22 | */ 23 | 24 | #ifndef AVCODEC_HEVC_PARSE_H 25 | #define AVCODEC_HEVC_PARSE_H 26 | 27 | #include 28 | 29 | #include "hevc_ps.h" 30 | #include "hevc_sei.h" 31 | 32 | int ff_hevc_decode_extradata(const uint8_t *data, int size, HEVCParamSets *ps, 33 | HEVCSEIContext *sei, int *is_nalff, int *nal_length_size, 34 | int err_recognition, int apply_defdispwin, void *logctx); 35 | 36 | #endif /* AVCODEC_HEVC_PARSE_H */ 37 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/hq_hqadsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Canopus HQ/HQA decoder 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | /** 22 | * @file 23 | * HQ/HQA variant of AAN IDCT 24 | * It differs from the standard AAN IDCT in precision and in the second stage. 25 | */ 26 | 27 | #ifndef AVCODEC_HQ_HQADSP_H 28 | #define AVCODEC_HQ_HQADSP_H 29 | 30 | #include 31 | 32 | typedef struct HQDSPContext { 33 | void (*idct_put)(uint8_t *dst, int stride, int16_t *block); 34 | } HQDSPContext; 35 | 36 | void ff_hqdsp_init(HQDSPContext *c); 37 | 38 | #endif /* AVCODEC_HQ_HQADSP_H */ 39 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/hqxdsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * HQX DSP routines 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | /** 22 | * @file 23 | * HQX DSP routines 24 | */ 25 | 26 | #ifndef AVCODEC_HQXDSP_H 27 | #define AVCODEC_HQXDSP_H 28 | 29 | #include 30 | #include 31 | 32 | typedef struct HQXDSPContext { 33 | void (*idct_put)(uint16_t *dst, ptrdiff_t stride, 34 | int16_t *block, const uint8_t *quant); 35 | } HQXDSPContext; 36 | 37 | void ff_hqxdsp_init(HQXDSPContext *c); 38 | 39 | #endif /* AVCODEC_HQXDSP_H */ 40 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/htmlsubtitles.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Aurelien Jacobs 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_HTMLSUBTITLES_H 22 | #define AVCODEC_HTMLSUBTITLES_H 23 | 24 | #include "libavutil/bprint.h" 25 | 26 | int ff_htmlmarkup_to_ass(void *log_ctx, AVBPrint *dst, const char *in); 27 | 28 | #endif /* AVCODEC_HTMLSUBTITLES_H */ 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/hwaccel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_HWACCEL_H 20 | #define AVCODEC_HWACCEL_H 21 | 22 | #define HWACCEL_CAP_ASYNC_SAFE (1 << 0) 23 | 24 | #endif /* AVCODEC_HWACCEL_H */ 25 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/jacosub.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Clément Bœsch 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | /** 22 | * @file 23 | * JACOsub shared utils 24 | */ 25 | 26 | #ifndef AVCODEC_JACOSUB_H 27 | #define AVCODEC_JACOSUB_H 28 | 29 | #include "libavutil/common.h" 30 | 31 | #define JSS_MAX_LINESIZE 512 32 | 33 | static av_always_inline int jss_whitespace(char c) 34 | { 35 | return c == ' ' || (c >= '\t' && c <= '\r'); 36 | } 37 | 38 | static av_always_inline const char *jss_skip_whitespace(const char *p) 39 | { 40 | while (jss_whitespace(*p)) 41 | p++; 42 | return p; 43 | } 44 | 45 | #endif /* AVCODEC_JACOSUB_H */ 46 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/jpeg2000dsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * JPEG 2000 DSP functions 3 | * Copyright (c) 2007 Kamil Nowosad 4 | * Copyright (c) 2013 Nicolas Bertrand 5 | * 6 | * This file is part of FFmpeg. 7 | * 8 | * FFmpeg is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Lesser General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2.1 of the License, or (at your option) any later version. 12 | * 13 | * FFmpeg is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Lesser General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Lesser General Public 19 | * License along with FFmpeg; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | */ 22 | 23 | #ifndef AVCODEC_JPEG2000DSP_H 24 | #define AVCODEC_JPEG2000DSP_H 25 | 26 | #include 27 | #include "jpeg2000dwt.h" 28 | 29 | typedef struct Jpeg2000DSPContext { 30 | void (*mct_decode[FF_DWT_NB])(void *src0, void *src1, void *src2, int csize); 31 | } Jpeg2000DSPContext; 32 | 33 | void ff_jpeg2000dsp_init(Jpeg2000DSPContext *c); 34 | void ff_jpeg2000dsp_init_x86(Jpeg2000DSPContext *c); 35 | 36 | #endif /* AVCODEC_JPEG2000DSP_H */ 37 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/jpeglsdec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * JPEG-LS decoder 3 | * Copyright (c) 2003 Michael Niedermayer 4 | * Copyright (c) 2006 Konstantin Shishkov 5 | * 6 | * This file is part of FFmpeg. 7 | * 8 | * FFmpeg is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Lesser General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2.1 of the License, or (at your option) any later version. 12 | * 13 | * FFmpeg is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Lesser General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Lesser General Public 19 | * License along with FFmpeg; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | */ 22 | 23 | /** 24 | * @file 25 | * JPEG-LS decoder. 26 | */ 27 | 28 | #ifndef AVCODEC_JPEGLSDEC_H 29 | #define AVCODEC_JPEGLSDEC_H 30 | 31 | #include "mjpeg.h" 32 | #include "mjpegdec.h" 33 | 34 | /** 35 | * Decode LSE block with initialization parameters 36 | */ 37 | int ff_jpegls_decode_lse(MJpegDecodeContext *s); 38 | 39 | int ff_jpegls_decode_picture(MJpegDecodeContext *s, int near, 40 | int point_transform, int ilv); 41 | 42 | #endif /* AVCODEC_JPEGLSDEC_H */ 43 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/kbdwin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_KBDWIN_H 20 | #define AVCODEC_KBDWIN_H 21 | 22 | #include 23 | 24 | /** 25 | * Maximum window size for ff_kbd_window_init. 26 | */ 27 | #define FF_KBD_WINDOW_MAX 1024 28 | 29 | /** 30 | * Generate a Kaiser-Bessel Derived Window. 31 | * @param window pointer to half window 32 | * @param alpha determines window shape 33 | * @param n size of half window, max FF_KBD_WINDOW_MAX 34 | */ 35 | void ff_kbd_window_init(float *window, float alpha, int n); 36 | void ff_kbd_window_init_fixed(int32_t *window, float alpha, int n); 37 | 38 | #endif /* AVCODEC_KBDWIN_H */ 39 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/libopus.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libopus encoder/decoder common code 3 | * Copyright (c) 2012 Nicolas George 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_LIBOPUS_H 23 | #define AVCODEC_LIBOPUS_H 24 | 25 | int ff_opus_error_to_averror(int err); 26 | 27 | #endif /* AVCODEC_LIBOPUS_H */ 28 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/libvpx.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Guillaume Martres 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_LIBVPX_H 22 | #define AVCODEC_LIBVPX_H 23 | 24 | #include 25 | 26 | #include "avcodec.h" 27 | 28 | void ff_vp9_init_static(AVCodec *codec); 29 | #if 0 30 | enum AVPixelFormat ff_vpx_imgfmt_to_pixfmt(vpx_img_fmt_t img); 31 | vpx_img_fmt_t ff_vpx_pixfmt_to_imgfmt(enum AVPixelFormat pix); 32 | #endif 33 | 34 | #endif /* AVCODEC_LIBVPX_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/libxvid.h: -------------------------------------------------------------------------------- 1 | /* 2 | * copyright (C) 2006 Corey Hickey 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_LIBXVID_H 22 | #define AVCODEC_LIBXVID_H 23 | 24 | /** 25 | * @file 26 | * common functions for use with the Xvid wrappers 27 | */ 28 | 29 | struct MpegEncContext; 30 | 31 | /* rate control */ 32 | int ff_xvid_rate_control_init(struct MpegEncContext *s); 33 | void ff_xvid_rate_control_uninit(struct MpegEncContext *s); 34 | float ff_xvid_rate_estimate_qscale(struct MpegEncContext *s, int dry_run); 35 | 36 | #endif /* AVCODEC_LIBXVID_H */ 37 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/lzf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * lzf decompression algorithm 3 | * Copyright (c) 2015 Luca Barbato 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_LZF_H 23 | #define AVCODEC_LZF_H 24 | 25 | #include "bytestream.h" 26 | 27 | int ff_lzf_uncompress(GetByteContext *gb, uint8_t **buf, int64_t *size); 28 | 29 | #endif /* AVCODEC_LZF_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/mediacodec_surface.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Android MediaCodec Surface functions 3 | * 4 | * Copyright (c) 2016 Matthieu Bouron 5 | * 6 | * This file is part of FFmpeg. 7 | * 8 | * FFmpeg is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Lesser General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2.1 of the License, or (at your option) any later version. 12 | * 13 | * FFmpeg is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Lesser General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Lesser General Public 19 | * License along with FFmpeg; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | */ 22 | 23 | #ifndef AVCODEC_MEDIACODEC_SURFACE_H 24 | #define AVCODEC_MEDIACODEC_SURFACE_H 25 | 26 | #include "libavcodec/avcodec.h" 27 | 28 | void *ff_mediacodec_surface_ref(void *surface, void *log_ctx); 29 | int ff_mediacodec_surface_unref(void *surface, void *log_ctx); 30 | 31 | #endif /* AVCODEC_MEDIACODEC_SURFACE_H */ 32 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/mips/wmv2dsp_mips.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016 Zhou Xiaoyong 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_MIPS_WMV2DSP_MIPS_H 22 | #define AVCODEC_MIPS_WMV2DSP_MIPS_H 23 | 24 | #include "libavcodec/wmv2dsp.h" 25 | 26 | void ff_wmv2_idct_add_mmi(uint8_t *dest, int line_size, int16_t *block); 27 | void ff_wmv2_idct_put_mmi(uint8_t *dest, int line_size, int16_t *block); 28 | 29 | #endif /* AVCODEC_MIPS_WMV2DSP_MIPS_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/mips/xvididct_mips.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Zhou Xiaoyong 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_MIPS_XVIDIDCT_MIPS_H 22 | #define AVCODEC_MIPS_XVIDIDCT_MIPS_H 23 | 24 | #include "libavcodec/xvididct.h" 25 | 26 | void ff_xvid_idct_mmi(int16_t *block); 27 | void ff_xvid_idct_put_mmi(uint8_t *dest, int32_t line_size, int16_t *block); 28 | void ff_xvid_idct_add_mmi(uint8_t *dest, int32_t line_size, int16_t *block); 29 | 30 | #endif /* AVCODEC_MIPS_XVIDIDCT_MIPS_H */ 31 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/mpeg4video_parser.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MPEG-4 video parser prototypes 3 | * Copyright (c) 2003 Fabrice Bellard 4 | * Copyright (c) 2003 Michael Niedermayer 5 | * 6 | * This file is part of FFmpeg. 7 | * 8 | * FFmpeg is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Lesser General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2.1 of the License, or (at your option) any later version. 12 | * 13 | * FFmpeg is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Lesser General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Lesser General Public 19 | * License along with FFmpeg; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | */ 22 | 23 | #ifndef AVCODEC_MPEG4VIDEO_PARSER_H 24 | #define AVCODEC_MPEG4VIDEO_PARSER_H 25 | 26 | #include "parser.h" 27 | 28 | /** 29 | * Find the end of the current frame in the bitstream. 30 | * @return the position of the first byte of the next frame, or -1 31 | */ 32 | int ff_mpeg4_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size); 33 | 34 | #endif /* AVCODEC_MPEG4VIDEO_PARSER_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/mpeg_er.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_MPEG_ER_H 20 | #define AVCODEC_MPEG_ER_H 21 | 22 | #include "mpegvideo.h" 23 | 24 | int ff_mpeg_er_init(MpegEncContext *s); 25 | void ff_mpeg_er_frame_start(MpegEncContext *s); 26 | 27 | #endif /* AVCODEC_MPEG_ER_H */ 28 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/mpegvideodata.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_MPEGVIDEODATA_H 20 | #define AVCODEC_MPEGVIDEODATA_H 21 | 22 | #include 23 | 24 | /* encoding scans */ 25 | extern const uint8_t ff_alternate_horizontal_scan[64]; 26 | extern const uint8_t ff_alternate_vertical_scan[64]; 27 | 28 | extern const uint8_t ff_mpeg1_dc_scale_table[128]; 29 | extern const uint8_t * const ff_mpeg2_dc_scale_table[4]; 30 | 31 | extern const uint8_t ff_mpeg2_non_linear_qscale[32]; 32 | 33 | extern const uint8_t ff_default_chroma_qscale_table[32]; 34 | 35 | #endif /* AVCODEC_MPEGVIDEODATA_H */ 36 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/msgsmdec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * gsm 06.10 decoder, Microsoft variant 3 | * Copyright (c) 2010 Reimar Döffinger 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_MSGSMDEC_H 23 | #define AVCODEC_MSGSMDEC_H 24 | 25 | #include "avcodec.h" 26 | 27 | int ff_msgsm_decode_block(AVCodecContext *avctx, int16_t *samples, 28 | const uint8_t *buf, int mode); 29 | 30 | #endif /* AVCODEC_MSGSMDEC_H */ 31 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/msrledec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Microsoft RLE decoder 3 | * Copyright (C) 2008 Konstantin Shishkov 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_MSRLEDEC_H 23 | #define AVCODEC_MSRLEDEC_H 24 | 25 | #include "avcodec.h" 26 | #include "bytestream.h" 27 | 28 | /** 29 | * Decode stream in MS RLE format into frame. 30 | * 31 | * @param avctx codec context 32 | * @param pic destination frame 33 | * @param depth bit depth 34 | * @param gb input bytestream context 35 | */ 36 | int ff_msrle_decode(AVCodecContext *avctx, AVFrame *pic, 37 | int depth, GetByteContext *gb); 38 | 39 | #endif /* AVCODEC_MSRLEDEC_H */ 40 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/paf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Packed Animation File decoder/demuxer common code 3 | * Copyright (c) 2012 Paul B Mahol 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_PAF_H 23 | #define AVCODEC_PAF_H 24 | 25 | #define PAF_SOUND_SAMPLES 2205 26 | #define PAF_SOUND_FRAME_SIZE ((256 + PAF_SOUND_SAMPLES) * 2) 27 | 28 | #endif /* AVCODEC_PAF_H */ 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/pnm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * PNM image format 3 | * Copyright (c) 2002, 2003 Fabrice Bellard 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_PNM_H 23 | #define AVCODEC_PNM_H 24 | 25 | #include "avcodec.h" 26 | 27 | typedef struct PNMContext { 28 | uint8_t *bytestream; 29 | uint8_t *bytestream_start; 30 | uint8_t *bytestream_end; 31 | int maxval; ///< maximum value of a pixel 32 | int type; 33 | } PNMContext; 34 | 35 | int ff_pnm_decode_header(AVCodecContext *avctx, PNMContext * const s); 36 | 37 | #endif /* AVCODEC_PNM_H */ 38 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/ppc/fdct.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_PPC_FDCT_H 20 | #define AVCODEC_PPC_FDCT_H 21 | 22 | #include 23 | 24 | void ff_fdct_altivec(int16_t *block); 25 | 26 | #endif /* AVCODEC_PPC_FDCT_H */ 27 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/ppc/hpeldsp_altivec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2002 Brian Foley 3 | * Copyright (c) 2002 Dieter Shirley 4 | * Copyright (c) 2003-2004 Romain Dolbeau 5 | * 6 | * This file is part of FFmpeg. 7 | * 8 | * FFmpeg is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Lesser General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2.1 of the License, or (at your option) any later version. 12 | * 13 | * FFmpeg is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Lesser General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Lesser General Public 19 | * License along with FFmpeg; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | */ 22 | 23 | #ifndef AVCODEC_PPC_HPELDSP_ALTIVEC_H 24 | #define AVCODEC_PPC_HPELDSP_ALTIVEC_H 25 | 26 | #include 27 | #include 28 | 29 | void ff_avg_pixels16_altivec(uint8_t *block, const uint8_t *pixels, 30 | ptrdiff_t line_size, int h); 31 | void ff_put_pixels16_altivec(uint8_t *block, const uint8_t *pixels, 32 | ptrdiff_t line_size, int h); 33 | 34 | #endif /* AVCODEC_PPC_HPELDSP_ALTIVEC_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/profiles.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_PROFILES_H 20 | #define AVCODEC_PROFILES_H 21 | 22 | #include "avcodec.h" 23 | 24 | extern const AVProfile ff_aac_profiles[]; 25 | extern const AVProfile ff_dca_profiles[]; 26 | extern const AVProfile ff_dnxhd_profiles[]; 27 | extern const AVProfile ff_h264_profiles[]; 28 | extern const AVProfile ff_hevc_profiles[]; 29 | extern const AVProfile ff_jpeg2000_profiles[]; 30 | extern const AVProfile ff_mpeg2_video_profiles[]; 31 | extern const AVProfile ff_mpeg4_video_profiles[]; 32 | extern const AVProfile ff_vc1_profiles[]; 33 | extern const AVProfile ff_vp9_profiles[]; 34 | 35 | #endif /* AVCODEC_PROFILES_H */ 36 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/pthread_internal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_PTHREAD_INTERNAL_H 20 | #define AVCODEC_PTHREAD_INTERNAL_H 21 | 22 | #include "avcodec.h" 23 | 24 | /* H.264 slice threading seems to be buggy with more than 16 threads, 25 | * limit the number of threads to 16 for automatic detection */ 26 | #define MAX_AUTO_THREADS 16 27 | 28 | int ff_slice_thread_init(AVCodecContext *avctx); 29 | void ff_slice_thread_free(AVCodecContext *avctx); 30 | 31 | int ff_frame_thread_init(AVCodecContext *avctx); 32 | void ff_frame_thread_free(AVCodecContext *avctx, int thread_count); 33 | 34 | #endif // AVCODEC_PTHREAD_INTERNAL_H 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/rv10.h: -------------------------------------------------------------------------------- 1 | /* 2 | * RV10/RV20 decoder 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_RV10_H 22 | #define AVCODEC_RV10_H 23 | 24 | #include 25 | 26 | #include "mpegvideo.h" 27 | 28 | int ff_rv_decode_dc(MpegEncContext *s, int n); 29 | 30 | int ff_rv10_encode_picture_header(MpegEncContext *s, int picture_number); 31 | void ff_rv20_encode_picture_header(MpegEncContext *s, int picture_number); 32 | 33 | #endif /* AVCODEC_RV10_H */ 34 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/sgi.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SGI image encoder 3 | * Xiaohui Sun 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVCODEC_SGI_H 23 | #define AVCODEC_SGI_H 24 | 25 | /** 26 | * SGI image file signature 27 | */ 28 | #define SGI_MAGIC 474 29 | 30 | #define SGI_HEADER_SIZE 512 31 | 32 | #define SGI_GRAYSCALE 1 33 | #define SGI_RGB 3 34 | #define SGI_RGBA 4 35 | 36 | #endif /* AVCODEC_SGI_H */ 37 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/startcode.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | /** 20 | * @file 21 | * Accelerated start code search function for start codes common to 22 | * MPEG-1/2/4 video, VC-1, H.264/5 23 | */ 24 | 25 | #ifndef AVCODEC_STARTCODE_H 26 | #define AVCODEC_STARTCODE_H 27 | 28 | #include 29 | 30 | int ff_startcode_find_candidate_c(const uint8_t *buf, int size); 31 | 32 | #endif /* AVCODEC_STARTCODE_H */ 33 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/takdsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_TAKDSP_H 20 | #define AVCODEC_TAKDSP_H 21 | 22 | #include 23 | 24 | typedef struct TAKDSPContext { 25 | void (*decorrelate_ls)(int32_t *p1, int32_t *p2, int length); 26 | void (*decorrelate_sr)(int32_t *p1, int32_t *p2, int length); 27 | void (*decorrelate_sm)(int32_t *p1, int32_t *p2, int length); 28 | void (*decorrelate_sf)(int32_t *p1, int32_t *p2, int length, int dshift, int dfactor); 29 | } TAKDSPContext; 30 | 31 | void ff_takdsp_init(TAKDSPContext *c); 32 | void ff_takdsp_init_x86(TAKDSPContext *c); 33 | 34 | #endif /* AVCODEC_TAKDSP_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/ttadsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_TTADSP_H 20 | #define AVCODEC_TTADSP_H 21 | 22 | #include 23 | 24 | typedef struct TTADSPContext { 25 | void (*filter_process)(int32_t *qm, int32_t *dx, int32_t *dl, 26 | int32_t *error, int32_t *in, int32_t shift, 27 | int32_t round); 28 | } TTADSPContext; 29 | 30 | void ff_ttadsp_init(TTADSPContext *c); 31 | void ff_ttadsp_init_x86(TTADSPContext *c); 32 | 33 | #endif /* AVCODEC_TTADSP_H */ 34 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/ttaencdsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_TTAENCDSP_H 20 | #define AVCODEC_TTAENCDSP_H 21 | 22 | #include 23 | 24 | typedef struct TTAEncDSPContext { 25 | void (*filter_process)(int32_t *qm, int32_t *dx, int32_t *dl, 26 | int32_t *error, int32_t *in, int32_t shift, 27 | int32_t round); 28 | } TTAEncDSPContext; 29 | 30 | void ff_ttaencdsp_init(TTAEncDSPContext *c); 31 | void ff_ttaencdsp_init_x86(TTAEncDSPContext *c); 32 | 33 | #endif /* AVCODEC_TTAENCDSP_H */ 34 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/v210dec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_V210DEC_H 20 | #define AVCODEC_V210DEC_H 21 | 22 | #include "libavutil/log.h" 23 | #include "libavutil/opt.h" 24 | 25 | 26 | typedef struct { 27 | AVClass *av_class; 28 | int custom_stride; 29 | int aligned_input; 30 | int stride_warning_shown; 31 | void (*unpack_frame)(const uint32_t *src, uint16_t *y, uint16_t *u, uint16_t *v, int width); 32 | } V210DecContext; 33 | 34 | void ff_v210_x86_init(V210DecContext *s); 35 | 36 | #endif /* AVCODEC_V210DEC_H */ 37 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/wma_common.h: -------------------------------------------------------------------------------- 1 | /* 2 | * common code shared by all WMA variants 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_WMA_COMMON_H 22 | #define AVCODEC_WMA_COMMON_H 23 | 24 | int ff_wma_get_frame_len_bits(int sample_rate, int version, 25 | unsigned int decode_flags); 26 | 27 | #endif /* AVCODEC_WMA_COMMON_H */ 28 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/wma_freqs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_WMA_FREQS_H 20 | #define AVCODEC_WMA_FREQS_H 21 | 22 | #include 23 | 24 | extern const uint16_t ff_wma_critical_freqs[25]; 25 | 26 | #endif /* AVCODEC_WMA_FREQS_H */ 27 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/wmv2data.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_WMV2DATA_H 20 | #define AVCODEC_WMV2DATA_H 21 | 22 | #include 23 | 24 | extern const uint8_t ff_wmv2_scantableA[64]; 25 | extern const uint8_t ff_wmv2_scantableB[64]; 26 | 27 | #endif /* AVCODEC_WMV2DATA_H */ 28 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/wmv2dsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_WMV2DSP_H 20 | #define AVCODEC_WMV2DSP_H 21 | 22 | #include 23 | 24 | #include "qpeldsp.h" 25 | 26 | typedef struct WMV2DSPContext { 27 | void (*idct_add)(uint8_t *dest, ptrdiff_t line_size, int16_t *block); 28 | void (*idct_put)(uint8_t *dest, ptrdiff_t line_size, int16_t *block); 29 | 30 | qpel_mc_func put_mspel_pixels_tab[8]; 31 | 32 | int idct_perm; 33 | } WMV2DSPContext; 34 | 35 | void ff_wmv2dsp_init(WMV2DSPContext *c); 36 | void ff_wmv2dsp_init_mips(WMV2DSPContext *c); 37 | 38 | #endif /* AVCODEC_WMV2DSP_H */ 39 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/x86/fdct.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_X86_FDCT_H 20 | #define AVCODEC_X86_FDCT_H 21 | 22 | #include 23 | 24 | void ff_fdct_mmx(int16_t *block); 25 | void ff_fdct_mmxext(int16_t *block); 26 | void ff_fdct_sse2(int16_t *block); 27 | 28 | #endif /* AVCODEC_X86_FDCT_H */ 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/x86/vc1dsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * VC-1 and WMV3 decoder - X86 DSP init functions 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_X86_VC1DSP_H 22 | #define AVCODEC_X86_VC1DSP_H 23 | 24 | #include "libavcodec/vc1dsp.h" 25 | 26 | void ff_vc1dsp_init_mmx(VC1DSPContext *dsp); 27 | void ff_vc1dsp_init_mmxext(VC1DSPContext *dsp); 28 | 29 | #endif /* AVCODEC_X86_VC1DSP_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/xvididct.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVCODEC_XVIDIDCT_H 20 | #define AVCODEC_XVIDIDCT_H 21 | 22 | #include 23 | 24 | #include "avcodec.h" 25 | #include "idctdsp.h" 26 | 27 | void ff_xvid_idct(int16_t *const in); 28 | 29 | void ff_xvid_idct_init(IDCTDSPContext *c, AVCodecContext *avctx); 30 | 31 | void ff_xvid_idct_init_x86(IDCTDSPContext *c, AVCodecContext *avctx, 32 | unsigned high_bit_depth); 33 | void ff_xvid_idct_init_mips(IDCTDSPContext *c, AVCodecContext *avctx, 34 | unsigned high_bit_depth); 35 | 36 | #endif /* AVCODEC_XVIDIDCT_H */ 37 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/xvmc_internal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * XVideo Motion Compensation internal functions 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVCODEC_XVMC_INTERNAL_H 22 | #define AVCODEC_XVMC_INTERNAL_H 23 | 24 | #include "avcodec.h" 25 | #include "mpegvideo.h" 26 | #include "version.h" 27 | 28 | void ff_xvmc_init_block(MpegEncContext *s); 29 | void ff_xvmc_pack_pblocks(MpegEncContext *s, int cbp); 30 | 31 | #endif /* AVCODEC_XVMC_INTERNAL_H */ 32 | -------------------------------------------------------------------------------- /src/main/cpp/libavcodec/xwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * XWD image format 3 | * 4 | * Copyright (c) 2012 Paul B Mahol 5 | * 6 | * This file is part of FFmpeg. 7 | * 8 | * FFmpeg is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Lesser General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2.1 of the License, or (at your option) any later version. 12 | * 13 | * FFmpeg is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Lesser General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Lesser General Public 19 | * License along with FFmpeg; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | */ 22 | 23 | #ifndef AVCODEC_XWD_H 24 | #define AVCODEC_XWD_H 25 | 26 | #define XWD_VERSION 7 27 | #define XWD_HEADER_SIZE 100 28 | #define XWD_CMAP_SIZE 12 29 | 30 | #define XWD_XY_BITMAP 0 31 | #define XWD_XY_PIXMAP 1 32 | #define XWD_Z_PIXMAP 2 33 | 34 | #define XWD_STATIC_GRAY 0 35 | #define XWD_GRAY_SCALE 1 36 | #define XWD_STATIC_COLOR 2 37 | #define XWD_PSEUDO_COLOR 3 38 | #define XWD_TRUE_COLOR 4 39 | #define XWD_DIRECT_COLOR 5 40 | 41 | #endif /* AVCODEC_XWD_H */ 42 | -------------------------------------------------------------------------------- /src/main/cpp/libavdevice/decklink_dec.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Blackmagic DeckLink input 3 | * Copyright (c) 2013-2014 Ramiro Polla 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVDEVICE_DECKLINK_DEC_H 23 | #define AVDEVICE_DECKLINK_DEC_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | int ff_decklink_read_header(AVFormatContext *avctx); 30 | int ff_decklink_read_packet(AVFormatContext *avctx, AVPacket *pkt); 31 | int ff_decklink_read_close(AVFormatContext *avctx); 32 | 33 | #ifdef __cplusplus 34 | } /* extern "C" */ 35 | #endif 36 | 37 | #endif /* AVDEVICE_DECKLINK_DEC_H */ 38 | -------------------------------------------------------------------------------- /src/main/cpp/libavdevice/decklink_enc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Blackmagic DeckLink output 3 | * Copyright (c) 2013-2014 Ramiro Polla 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVDEVICE_DECKLINK_ENC_H 23 | #define AVDEVICE_DECKLINK_ENC_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | int ff_decklink_write_header(AVFormatContext *avctx); 30 | int ff_decklink_write_packet(AVFormatContext *avctx, AVPacket *pkt); 31 | int ff_decklink_write_trailer(AVFormatContext *avctx); 32 | 33 | #ifdef __cplusplus 34 | } /* extern "C" */ 35 | #endif 36 | 37 | #endif /* AVDEVICE_DECKLINK_ENC_H */ 38 | -------------------------------------------------------------------------------- /src/main/cpp/libavdevice/fbdev_common.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stefano Sabatini 3 | * Copyright (c) 2009 Giliard B. de Freitas 4 | * Copyright (C) 2002 Gunnar Monell 5 | * 6 | * This file is part of FFmpeg. 7 | * 8 | * FFmpeg is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Lesser General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2.1 of the License, or (at your option) any later version. 12 | * 13 | * FFmpeg is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Lesser General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Lesser General Public 19 | * License along with FFmpeg; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | */ 22 | 23 | #ifndef AVDEVICE_FBDEV_COMMON_H 24 | #define AVDEVICE_FBDEV_COMMON_H 25 | 26 | #include 27 | #include 28 | #include "libavutil/pixfmt.h" 29 | 30 | struct AVDeviceInfoList; 31 | 32 | enum AVPixelFormat ff_get_pixfmt_from_fb_varinfo(struct fb_var_screeninfo *varinfo); 33 | 34 | const char* ff_fbdev_default_device(void); 35 | 36 | int ff_fbdev_get_device_list(struct AVDeviceInfoList *device_list); 37 | 38 | #endif /* AVDEVICE_FBDEV_COMMON_H */ 39 | -------------------------------------------------------------------------------- /src/main/cpp/libavdevice/internal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVDEVICE_INTERNAL_H 20 | #define AVDEVICE_INTERNAL_H 21 | 22 | #include "libavformat/avformat.h" 23 | 24 | av_warn_unused_result 25 | int ff_alloc_input_device_context(struct AVFormatContext **avctx, struct AVInputFormat *iformat, 26 | const char *format); 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavfilter/avfiltergraph.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Filter graphs 3 | * copyright (c) 2007 Bobby Bingham 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFILTER_AVFILTERGRAPH_H 23 | #define AVFILTER_AVFILTERGRAPH_H 24 | 25 | #include "avfilter.h" 26 | #include "libavutil/log.h" 27 | 28 | #endif /* AVFILTER_AVFILTERGRAPH_H */ 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavfilter/generate_wave_table.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVFILTER_GENERATE_WAVE_TABLE_H 20 | #define AVFILTER_GENERATE_WAVE_TABLE_H 21 | 22 | #include "libavutil/samplefmt.h" 23 | 24 | enum WaveType { 25 | WAVE_SIN, 26 | WAVE_TRI, 27 | WAVE_NB, 28 | }; 29 | 30 | void ff_generate_wave_table(enum WaveType wave_type, 31 | enum AVSampleFormat sample_fmt, 32 | void *table, int table_size, 33 | double min, double max, double phase); 34 | 35 | #endif /* AVFILTER_GENERATE_WAVE_TABLE_H */ 36 | -------------------------------------------------------------------------------- /src/main/cpp/libavfilter/lswsutils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | /** 20 | * @file 21 | * Miscellaneous utilities which make use of the libswscale library 22 | */ 23 | 24 | #ifndef AVFILTER_LSWSUTILS_H 25 | #define AVFILTER_LSWSUTILS_H 26 | 27 | #include "libswscale/swscale.h" 28 | 29 | /** 30 | * Scale image using libswscale. 31 | */ 32 | int ff_scale_image(uint8_t *dst_data[4], int dst_linesize[4], 33 | int dst_w, int dst_h, enum AVPixelFormat dst_pix_fmt, 34 | uint8_t *const src_data[4], int src_linesize[4], 35 | int src_w, int src_h, enum AVPixelFormat src_pix_fmt, 36 | void *log_ctx); 37 | 38 | #endif /* AVFILTER_LSWSUTILS_H */ 39 | -------------------------------------------------------------------------------- /src/main/cpp/libavfilter/opencl_allkernels.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2013 Wei Gao 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVFILTER_OPENCL_ALLKERNELS_H 22 | #define AVFILTER_OPENCL_ALLKERNELS_H 23 | 24 | #include "avfilter.h" 25 | #include "config.h" 26 | 27 | void ff_opencl_register_filter_kernel_code_all(void); 28 | 29 | #endif /* AVFILTER_OPENCL_ALLKERNELS_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavfilter/psnr.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Ronald S. Bultje 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVFILTER_PSNR_H 22 | #define AVFILTER_PSNR_H 23 | 24 | #include 25 | #include 26 | 27 | typedef struct PSNRDSPContext { 28 | uint64_t (*sse_line)(const uint8_t *buf, const uint8_t *ref, int w); 29 | } PSNRDSPContext; 30 | 31 | void ff_psnr_init_x86(PSNRDSPContext *dsp, int bpp); 32 | 33 | #endif /* AVFILTER_PSNR_H */ 34 | -------------------------------------------------------------------------------- /src/main/cpp/libavfilter/scale.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVFILTER_SCALE_H 20 | #define AVFILTER_SCALE_H 21 | 22 | #include "avfilter.h" 23 | 24 | int ff_scale_eval_dimensions(void *ctx, 25 | const char *w_expr, const char *h_expr, 26 | AVFilterLink *inlink, AVFilterLink *outlink, 27 | int *ret_w, int *ret_h); 28 | #endif 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavfilter/ssim.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Ronald S. Bultje 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVFILTER_SSIM_H 22 | #define AVFILTER_SSIM_H 23 | 24 | #include 25 | #include 26 | 27 | typedef struct SSIMDSPContext { 28 | void (*ssim_4x4_line)(const uint8_t *buf, ptrdiff_t buf_stride, 29 | const uint8_t *ref, ptrdiff_t ref_stride, 30 | int (*sums)[4], int w); 31 | float (*ssim_end_line)(const int (*sum0)[4], const int (*sum1)[4], int w); 32 | } SSIMDSPContext; 33 | 34 | void ff_ssim_init_x86(SSIMDSPContext *dsp); 35 | 36 | #endif /* AVFILTER_SSIM_H */ 37 | -------------------------------------------------------------------------------- /src/main/cpp/libavfilter/stereo3d.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Paul B Mahol 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVFILTER_STEREO3D_H 22 | #define AVFILTER_STEREO3D_H 23 | 24 | #include 25 | #include 26 | 27 | typedef struct Stereo3DDSPContext { 28 | void (*anaglyph)(uint8_t *dst, uint8_t *lsrc, uint8_t *rsrc, 29 | ptrdiff_t dst_linesize, ptrdiff_t l_linesize, ptrdiff_t r_linesize, 30 | int width, int height, 31 | const int *ana_matrix_r, const int *ana_matrix_g, const int *ana_matrix_b); 32 | } Stereo3DDSPContext; 33 | 34 | void ff_stereo3d_init_x86(Stereo3DDSPContext *dsp); 35 | 36 | #endif /* AVFILTER_STEREO3D_H */ 37 | -------------------------------------------------------------------------------- /src/main/cpp/libavfilter/thread.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVFILTER_THREAD_H 20 | #define AVFILTER_THREAD_H 21 | 22 | #include "avfilter.h" 23 | 24 | int ff_graph_thread_init(AVFilterGraph *graph); 25 | 26 | void ff_graph_thread_free(AVFilterGraph *graph); 27 | 28 | #endif /* AVFILTER_THREAD_H */ 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavfilter/unsharp_opencl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2013 Wei Gao 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVFILTER_UNSHARP_OPENCL_H 22 | #define AVFILTER_UNSHARP_OPENCL_H 23 | 24 | #include "unsharp.h" 25 | 26 | int ff_opencl_unsharp_init(AVFilterContext *ctx); 27 | 28 | void ff_opencl_unsharp_uninit(AVFilterContext *ctx); 29 | 30 | int ff_opencl_unsharp_process_inout_buf(AVFilterContext *ctx, AVFrame *in, AVFrame *out); 31 | 32 | int ff_opencl_apply_unsharp(AVFilterContext *ctx, AVFrame *in, AVFrame *out); 33 | 34 | #endif /* AVFILTER_UNSHARP_OPENCL_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavfilter/vf_pp7.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2005 Michael Niedermayer 3 | * Copyright (c) 2014 Arwa Arif 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or modify 8 | * it under the terms of the GNU General Public License as published by 9 | * the Free Software Foundation; either version 2 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License along 18 | * with FFmpeg; if not, write to the Free Software Foundation, Inc., 19 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #ifndef AVFILTER_PP7_H 23 | #define AVFILTER_PP7_H 24 | 25 | #include "avfilter.h" 26 | 27 | typedef struct PP7Context { 28 | AVClass *class; 29 | int thres2[99][16]; 30 | 31 | int qp; 32 | int mode; 33 | int qscale_type; 34 | int hsub; 35 | int vsub; 36 | int temp_stride; 37 | uint8_t *src; 38 | 39 | int (*requantize)(struct PP7Context *p, int16_t *src, int qp); 40 | void (*dctB)(int16_t *dst, int16_t *src); 41 | 42 | } PP7Context; 43 | 44 | void ff_pp7_init_x86(PP7Context *pp7); 45 | 46 | #endif /* AVFILTER_PP7_H */ 47 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/asfcrypt.h: -------------------------------------------------------------------------------- 1 | /* 2 | * ASF decryption 3 | * Copyright (c) 2007 Reimar Doeffinger 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_ASFCRYPT_H 23 | #define AVFORMAT_ASFCRYPT_H 24 | 25 | #include 26 | 27 | void ff_asfcrypt_dec(const uint8_t key[20], uint8_t *data, int len); 28 | 29 | #endif /* AVFORMAT_ASFCRYPT_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/ast.h: -------------------------------------------------------------------------------- 1 | /* 2 | * AST common code 3 | * Copyright (c) 2012 James Almer 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_AST_H 23 | #define AVFORMAT_AST_H 24 | 25 | #include "avformat.h" 26 | #include "internal.h" 27 | 28 | extern const AVCodecTag ff_codec_ast_tags[]; 29 | 30 | #endif /* AVFORMAT_AST_H */ 31 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/caf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CAF common code 3 | * Copyright (c) 2007 Justin Ruggles 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | /** 23 | * @file 24 | * CAF common code 25 | */ 26 | 27 | #ifndef AVFORMAT_CAF_H 28 | #define AVFORMAT_CAF_H 29 | 30 | #include "internal.h" 31 | 32 | extern const AVCodecTag ff_codec_caf_tags[]; 33 | 34 | #endif /* AVFORMAT_CAF_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/ffmeta.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Common data for metadata muxer/demuxer 3 | * Copyright (c) 2010 Anton Khirnov 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_FFMETA_H 23 | #define AVFORMAT_FFMETA_H 24 | 25 | #define ID_STRING ";FFMETADATA" 26 | #define ID_CHAPTER "[CHAPTER]" 27 | #define ID_STREAM "[STREAM]" 28 | 29 | #endif /* AVFORMAT_FFMETA_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/flac_picture.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Raw FLAC picture parser 3 | * Copyright (c) 2001 Fabrice Bellard 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_FLAC_PICTURE_H 23 | #define AVFORMAT_FLAC_PICTURE_H 24 | 25 | #include "avformat.h" 26 | 27 | #define RETURN_ERROR(code) do { ret = (code); goto fail; } while (0) 28 | 29 | int ff_flac_parse_picture(AVFormatContext *s, uint8_t *buf, int buf_size); 30 | 31 | #endif /* AVFORMAT_FLAC_PICTURE_H */ 32 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/flacenc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * raw FLAC muxer 3 | * Copyright (C) 2009 Justin Ruggles 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_FLACENC_H 23 | #define AVFORMAT_FLACENC_H 24 | 25 | #include "libavcodec/flac.h" 26 | #include "libavcodec/bytestream.h" 27 | #include "avformat.h" 28 | 29 | int ff_flac_write_header(AVIOContext *pb, uint8_t *extradata, 30 | int extradata_size, int last_block); 31 | 32 | int ff_flac_is_native_layout(uint64_t channel_layout); 33 | 34 | #endif /* AVFORMAT_FLACENC_H */ 35 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/id3v1.h: -------------------------------------------------------------------------------- 1 | /* 2 | * ID3v1 header parser 3 | * Copyright (c) 2003 Fabrice Bellard 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_ID3V1_H 23 | #define AVFORMAT_ID3V1_H 24 | 25 | #include "avformat.h" 26 | 27 | #define ID3v1_TAG_SIZE 128 28 | 29 | #define ID3v1_GENRE_MAX 147 30 | 31 | /** 32 | * ID3v1 genres 33 | */ 34 | extern const char * const ff_id3v1_genre_str[ID3v1_GENRE_MAX + 1]; 35 | 36 | /** 37 | * Read an ID3v1 tag 38 | */ 39 | void ff_id3v1_read(AVFormatContext *s); 40 | 41 | #endif /* AVFORMAT_ID3V1_H */ 42 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/ircam.h: -------------------------------------------------------------------------------- 1 | /* 2 | * IRCAM common code 3 | * Copyright (c) 2012 Paul B Mahol 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_IRCAM_H 23 | #define AVFORMAT_IRCAM_H 24 | 25 | #include "internal.h" 26 | 27 | extern const AVCodecTag ff_codec_ircam_be_tags[]; 28 | extern const AVCodecTag ff_codec_ircam_le_tags[]; 29 | 30 | #endif /* AVFORMAT_IRCAM_H */ 31 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/lrc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * LRC lyrics file format decoder 3 | * Copyright (c) 2014 StarBrilliant 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_LRC_H 23 | #define AVFORMAT_LRC_H 24 | 25 | #include "metadata.h" 26 | 27 | extern const AVMetadataConv ff_lrc_metadata_conv[]; 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/pcm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * PCM common functions 3 | * Copyright (C) 2007 Aurelien Jacobs 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_PCM_H 23 | #define AVFORMAT_PCM_H 24 | 25 | #include "avformat.h" 26 | 27 | int ff_pcm_read_packet(AVFormatContext *s, AVPacket *pkt); 28 | int ff_pcm_read_seek(AVFormatContext *s, 29 | int stream_index, int64_t timestamp, int flags); 30 | 31 | #endif /* AVFORMAT_PCM_H */ 32 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/rawenc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * RAW muxers 3 | * Copyright (C) 2007 Aurelien Jacobs 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_RAWENC_H 23 | #define AVFORMAT_RAWENC_H 24 | 25 | #include "avformat.h" 26 | 27 | int ff_raw_write_packet(AVFormatContext *s, AVPacket *pkt); 28 | 29 | #endif /* AVFORMAT_RAWENC_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/replaygain.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVFORMAT_REPLAYGAIN_H 20 | #define AVFORMAT_REPLAYGAIN_H 21 | 22 | #include "libavutil/dict.h" 23 | 24 | #include "avformat.h" 25 | 26 | /** 27 | * Parse replaygain tags and export them as per-stream side data. 28 | */ 29 | int ff_replaygain_export(AVStream *st, AVDictionary *metadata); 30 | 31 | 32 | /** 33 | * Export already decoded replaygain values as per-stream side data. 34 | */ 35 | int ff_replaygain_export_raw(AVStream *st, int32_t tg, uint32_t tp, 36 | int32_t ag, uint32_t ap); 37 | 38 | #endif /* AVFORMAT_REPLAYGAIN_H */ 39 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/rmsipr.h: -------------------------------------------------------------------------------- 1 | /* 2 | * tables and functions for demuxing SIPR audio muxed RealMedia style 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVFORMAT_RMSIPR_H 22 | #define AVFORMAT_RMSIPR_H 23 | 24 | #include 25 | 26 | extern const unsigned char ff_sipr_subpk_size[4]; 27 | 28 | /** 29 | * Perform 4-bit block reordering for SIPR data. 30 | * 31 | * @param buf SIPR data 32 | */ 33 | void ff_rm_reorder_sipr_data(uint8_t *buf, int sub_packet_h, int framesize); 34 | 35 | #endif /* AVFORMAT_RMSIPR_H */ 36 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/rso.h: -------------------------------------------------------------------------------- 1 | /* 2 | * RSO format common data 3 | * Copyright (c) 2010 Rafael Carre 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_RSO_H 23 | #define AVFORMAT_RSO_H 24 | 25 | #include "internal.h" 26 | 27 | #define RSO_HEADER_SIZE 8 28 | 29 | /* The libavcodec codecs we support, and the IDs they have in the file */ 30 | extern const AVCodecTag ff_codec_rso_tags[]; 31 | 32 | #endif /* AVFORMAT_RSO_H */ 33 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/rtpenc_chain.h: -------------------------------------------------------------------------------- 1 | /* 2 | * RTP muxer chaining code 3 | * Copyright (c) 2010 Martin Storsjo 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_RTPENC_CHAIN_H 23 | #define AVFORMAT_RTPENC_CHAIN_H 24 | 25 | #include "avformat.h" 26 | #include "url.h" 27 | 28 | int ff_rtp_chain_mux_open(AVFormatContext **out, AVFormatContext *s, 29 | AVStream *st, URLContext *handle, int packet_size, 30 | int id); 31 | 32 | #endif /* AVFORMAT_RTPENC_CHAIN_H */ 33 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/rtpproto.h: -------------------------------------------------------------------------------- 1 | /* 2 | * RTP network protocol 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVFORMAT_RTPPROTO_H 22 | #define AVFORMAT_RTPPROTO_H 23 | 24 | #include "url.h" 25 | 26 | int ff_rtp_set_remote_url(URLContext *h, const char *uri); 27 | 28 | int ff_rtp_get_local_rtp_port(URLContext *h); 29 | int ff_rtp_get_local_rtcp_port(URLContext *h); 30 | 31 | #endif /* AVFORMAT_RTPPROTO_H */ 32 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/sauce.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SAUCE header parser 3 | * Copyright (c) 2010 Peter Ross 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | /** 23 | * @file 24 | * SAUCE header parser 25 | */ 26 | 27 | #ifndef AVFORMAT_SAUCE_H 28 | #define AVFORMAT_SAUCE_H 29 | 30 | #include "avformat.h" 31 | 32 | /** 33 | * @param avctx AVFormatContext 34 | * @param[out] fsize return length of file, less SAUCE header 35 | * @param[out] got_width set to non-zero if SAUCE header reported height 36 | * @param get_height Tell SAUCE header to parse height 37 | */ 38 | int ff_sauce_read(AVFormatContext *avctx, uint64_t *fsize, int *got_width, int get_height); 39 | 40 | #endif /* AVFORMAT_SAUCE_H */ 41 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/sox.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SoX native format common data 3 | * Copyright (c) 2009 Daniel Verkamp 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_SOX_H 23 | #define AVFORMAT_SOX_H 24 | 25 | #define SOX_FIXED_HDR (4 + 8 + 8 + 4 + 4) /**< Size of fixed header without magic */ 26 | 27 | #define SOX_TAG MKTAG('.', 'S', 'o', 'X') 28 | 29 | #endif /* AVFORMAT_SOX_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/tee_common.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Tee common code 3 | * Copyright (c) 2016 Michael Niedermayer 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public License 9 | * as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public License 18 | * along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 19 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | #ifndef AVFORMAT_TEE_COMMON_H 23 | #define AVFORMAT_TEE_COMMON_H 24 | 25 | #include "libavutil/dict.h" 26 | 27 | int ff_tee_parse_slave_options(void *log, char *slave, 28 | AVDictionary **options, char **filename); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/urldecode.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVFORMAT_URLDECODE_H 20 | #define AVFORMAT_URLDECODE_H 21 | 22 | /** 23 | * Decodes an URL from its percent-encoded form back into normal 24 | * representation. This function returns the decoded URL in a string. 25 | * The URL to be decoded does not necessarily have to be encoded but 26 | * in that case the original string is duplicated. 27 | * 28 | * @param url a string to be decoded. 29 | * @return new string with the URL decoded or NULL if decoding failed. 30 | * Note that the returned string should be explicitly freed when not 31 | * used anymore. 32 | */ 33 | char *ff_urldecode(const char *url); 34 | 35 | #endif /* AVFORMAT_URLDECODE_H */ 36 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/w64.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVFORMAT_W64_H 20 | #define AVFORMAT_W64_H 21 | 22 | #include 23 | 24 | extern const uint8_t ff_w64_guid_riff[16]; 25 | extern const uint8_t ff_w64_guid_wave[16]; 26 | extern const uint8_t ff_w64_guid_fmt [16]; 27 | extern const uint8_t ff_w64_guid_fact[16]; 28 | extern const uint8_t ff_w64_guid_data[16]; 29 | extern const uint8_t ff_w64_guid_summarylist[16]; 30 | 31 | #endif /* AVFORMAT_W64_H */ 32 | -------------------------------------------------------------------------------- /src/main/cpp/libavformat/yuv4mpeg.h: -------------------------------------------------------------------------------- 1 | /* 2 | * YUV4MPEG common definitions 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVFORMAT_YUV4MPEG_H 22 | #define AVFORMAT_YUV4MPEG_H 23 | 24 | #define Y4M_MAGIC "YUV4MPEG2" 25 | #define Y4M_FRAME_MAGIC "FRAME" 26 | #define Y4M_FRAME_MAGIC_LEN 6 27 | 28 | #endif /* AVFORMAT_YUV4MPEG_H */ 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavresample/aarch64/asm-offsets.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVRESAMPLE_AARCH64_ASM_OFFSETS_H 20 | #define AVRESAMPLE_AARCH64_ASM_OFFSETS_H 21 | 22 | /* struct ResampleContext */ 23 | #define FILTER_BANK 0x10 24 | #define FILTER_LENGTH 0x18 25 | #define PHASE_SHIFT 0x34 26 | #define PHASE_MASK (PHASE_SHIFT + 0x04) // loaded as pair 27 | 28 | #endif /* AVRESAMPLE_AARCH64_ASM_OFFSETS_H */ 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavresample/arm/asm-offsets.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVRESAMPLE_ARM_ASM_OFFSETS_H 20 | #define AVRESAMPLE_ARM_ASM_OFFSETS_H 21 | 22 | /* struct ResampleContext */ 23 | #define FILTER_BANK 0x08 24 | #define FILTER_LENGTH 0x0c 25 | #define SRC_INCR 0x20 26 | #define PHASE_SHIFT 0x28 27 | #define PHASE_MASK (PHASE_SHIFT + 0x04) 28 | 29 | #endif /* AVRESAMPLE_ARM_ASM_OFFSETS_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/aarch64/cpu.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVUTIL_AARCH64_CPU_H 20 | #define AVUTIL_AARCH64_CPU_H 21 | 22 | #include "config.h" 23 | #include "libavutil/cpu.h" 24 | #include "libavutil/cpu_internal.h" 25 | 26 | #define have_armv8(flags) CPUEXT(flags, ARMV8) 27 | #define have_neon(flags) CPUEXT(flags, NEON) 28 | #define have_vfp(flags) CPUEXT(flags, VFP) 29 | 30 | #endif /* AVUTIL_AARCH64_CPU_H */ 31 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/aarch64/timer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Janne Grunau 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVUTIL_AARCH64_TIMER_H 22 | #define AVUTIL_AARCH64_TIMER_H 23 | 24 | #include 25 | #include "config.h" 26 | 27 | #if HAVE_INLINE_ASM 28 | 29 | #define AV_READ_TIME read_time 30 | 31 | static inline uint64_t read_time(void) 32 | { 33 | uint64_t cycle_counter; 34 | __asm__ volatile( 35 | "isb \t\n" 36 | "mrs %0, pmccntr_el0 " 37 | : "=r"(cycle_counter) :: "memory" ); 38 | 39 | return cycle_counter; 40 | } 41 | 42 | #endif /* HAVE_INLINE_ASM */ 43 | 44 | #endif /* AVUTIL_AARCH64_TIMER_H */ 45 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/arm/float_dsp_arm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Mans Rullgard 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVUTIL_ARM_FLOAT_DSP_ARM_H 22 | #define AVUTIL_ARM_FLOAT_DSP_ARM_H 23 | 24 | #include "libavutil/float_dsp.h" 25 | 26 | void ff_float_dsp_init_vfp(AVFloatDSPContext *fdsp, int cpu_flags); 27 | void ff_float_dsp_init_neon(AVFloatDSPContext *fdsp); 28 | 29 | #endif /* AVUTIL_ARM_FLOAT_DSP_ARM_H */ 30 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/arm/timer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Mans Rullgard 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVUTIL_ARM_TIMER_H 22 | #define AVUTIL_ARM_TIMER_H 23 | 24 | #include 25 | #include "config.h" 26 | 27 | #if HAVE_INLINE_ASM && defined(__ARM_ARCH_7A__) 28 | 29 | #define AV_READ_TIME read_time 30 | 31 | static inline uint64_t read_time(void) 32 | { 33 | unsigned cc; 34 | __asm__ volatile ("mrc p15, 0, %0, c9, c13, 0" : "=r"(cc)); 35 | return cc; 36 | } 37 | 38 | #endif /* HAVE_INLINE_ASM && __ARM_ARCH_7A__ */ 39 | 40 | #endif /* AVUTIL_ARM_TIMER_H */ 41 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/avconfig.h: -------------------------------------------------------------------------------- 1 | /* Generated by ffconf */ 2 | #ifndef AVUTIL_AVCONFIG_H 3 | #define AVUTIL_AVCONFIG_H 4 | #define AV_HAVE_BIGENDIAN 0 5 | #define AV_HAVE_FAST_UNALIGNED 1 6 | #endif /* AVUTIL_AVCONFIG_H */ 7 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/avr32/bswap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVUTIL_AVR32_BSWAP_H 20 | #define AVUTIL_AVR32_BSWAP_H 21 | 22 | #include 23 | #include "config.h" 24 | #include "libavutil/attributes.h" 25 | 26 | #if HAVE_INLINE_ASM 27 | 28 | #define av_bswap16 av_bswap16 29 | static av_always_inline av_const uint16_t av_bswap16(uint16_t x) 30 | { 31 | __asm__ ("swap.bh %0" : "+r"(x)); 32 | return x; 33 | } 34 | 35 | #define av_bswap32 av_bswap32 36 | static av_always_inline av_const uint32_t av_bswap32(uint32_t x) 37 | { 38 | __asm__ ("swap.b %0" : "+r"(x)); 39 | return x; 40 | } 41 | 42 | #endif /* HAVE_INLINE_ASM */ 43 | 44 | #endif /* AVUTIL_AVR32_BSWAP_H */ 45 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/bfin/timer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007 Marc Hoffman 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVUTIL_BFIN_TIMER_H 22 | #define AVUTIL_BFIN_TIMER_H 23 | 24 | #include 25 | 26 | #define AV_READ_TIME read_time 27 | 28 | static inline uint64_t read_time(void) 29 | { 30 | union { 31 | struct { 32 | unsigned lo; 33 | unsigned hi; 34 | } p; 35 | unsigned long long c; 36 | } t; 37 | __asm__ volatile ("%0=cycles; %1=cycles2;" : "=d" (t.p.lo), "=d" (t.p.hi)); 38 | return t.c; 39 | } 40 | 41 | #endif /* AVUTIL_BFIN_TIMER_H */ 42 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/ffversion.h: -------------------------------------------------------------------------------- 1 | /* Automatically generated by version.sh, do not manually edit! */ 2 | #ifndef AVUTIL_FFVERSION_H 3 | #define AVUTIL_FFVERSION_H 4 | #define FFMPEG_VERSION "N-86500-gb781604707" 5 | #endif /* AVUTIL_FFVERSION_H */ 6 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/hwcontext_cuda_internal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | 20 | #ifndef AVUTIL_HWCONTEXT_CUDA_INTERNAL_H 21 | #define AVUTIL_HWCONTEXT_CUDA_INTERNAL_H 22 | 23 | #include "compat/cuda/dynlink_loader.h" 24 | #include "hwcontext_cuda.h" 25 | 26 | /** 27 | * @file 28 | * FFmpeg internal API for CUDA. 29 | */ 30 | 31 | struct AVCUDADeviceContextInternal { 32 | CudaFunctions *cuda_dl; 33 | int is_allocated; 34 | }; 35 | 36 | #endif /* AVUTIL_HWCONTEXT_CUDA_INTERNAL_H */ 37 | 38 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/imgutils_internal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVUTIL_IMGUTILS_INTERNAL_H 20 | #define AVUTIL_IMGUTILS_INTERNAL_H 21 | 22 | #include 23 | #include 24 | 25 | int ff_image_copy_plane_uc_from_x86(uint8_t *dst, ptrdiff_t dst_linesize, 26 | const uint8_t *src, ptrdiff_t src_linesize, 27 | ptrdiff_t bytewidth, int height); 28 | 29 | 30 | #endif /* AVUTIL_IMGUTILS_INTERNAL_H */ 31 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/macros.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | /** 20 | * @file 21 | * @ingroup lavu 22 | * Utility Preprocessor macros 23 | */ 24 | 25 | #ifndef AVUTIL_MACROS_H 26 | #define AVUTIL_MACROS_H 27 | 28 | /** 29 | * @addtogroup preproc_misc Preprocessor String Macros 30 | * 31 | * String manipulation macros 32 | * 33 | * @{ 34 | */ 35 | 36 | #define AV_STRINGIFY(s) AV_TOSTRING(s) 37 | #define AV_TOSTRING(s) #s 38 | 39 | #define AV_GLUE(a, b) a ## b 40 | #define AV_JOIN(a, b) AV_GLUE(a, b) 41 | 42 | /** 43 | * @} 44 | */ 45 | 46 | #define AV_PRAGMA(s) _Pragma(#s) 47 | 48 | #define FFALIGN(x, a) (((x)+(a)-1)&~((a)-1)) 49 | 50 | #endif /* AVUTIL_MACROS_H */ 51 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/opencl_internal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 Peng Gao 3 | * Copyright (C) 2012 Li Cao 4 | * Copyright (C) 2012 Wei Gao 5 | * 6 | * This file is part of FFmpeg. 7 | * 8 | * FFmpeg is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Lesser General Public 10 | * License as published by the Free Software Foundation; either 11 | * version 2.1 of the License, or (at your option) any later version. 12 | * 13 | * FFmpeg is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Lesser General Public License for more details. 17 | * 18 | * You should have received a copy of the GNU Lesser General Public 19 | * License along with FFmpeg; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | */ 22 | 23 | #ifndef AVUTIL_OPENCL_INTERNAL_H 24 | #define AVUTIL_OPENCL_INTERNAL_H 25 | 26 | #include "attributes.h" 27 | #include "opencl.h" 28 | 29 | #define FF_OPENCL_PARAM_INFO(a) ((void*)(&(a))), (sizeof(a)) 30 | 31 | typedef struct { 32 | cl_kernel kernel; 33 | int param_num; 34 | void *ctx; 35 | } FFOpenclParam; 36 | 37 | av_warn_unused_result 38 | int avpriv_opencl_set_parameter(FFOpenclParam *opencl_param, ...); 39 | 40 | #endif /* AVUTIL_OPENCL_INTERNAL_H */ 41 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/pca.h: -------------------------------------------------------------------------------- 1 | /* 2 | * principal component analysis (PCA) 3 | * Copyright (c) 2004 Michael Niedermayer 4 | * 5 | * This file is part of FFmpeg. 6 | * 7 | * FFmpeg is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; either 10 | * version 2.1 of the License, or (at your option) any later version. 11 | * 12 | * FFmpeg is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with FFmpeg; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | */ 21 | 22 | /** 23 | * @file 24 | * principal component analysis (PCA) 25 | */ 26 | 27 | #ifndef AVUTIL_PCA_H 28 | #define AVUTIL_PCA_H 29 | 30 | struct PCA *ff_pca_init(int n); 31 | void ff_pca_free(struct PCA *pca); 32 | void ff_pca_add(struct PCA *pca, const double *v); 33 | int ff_pca(struct PCA *pca, double *eigenvector, double *eigenvalue); 34 | 35 | #endif /* AVUTIL_PCA_H */ 36 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/ppc/cpu.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVUTIL_PPC_CPU_H 20 | #define AVUTIL_PPC_CPU_H 21 | 22 | #include "config.h" 23 | #include "libavutil/cpu.h" 24 | #include "libavutil/cpu_internal.h" 25 | 26 | #define PPC_ALTIVEC(flags) CPUEXT(flags, ALTIVEC) 27 | #define PPC_VSX(flags) CPUEXT(flags, VSX) 28 | #define PPC_POWER8(flags) CPUEXT(flags, POWER8) 29 | 30 | #endif /* AVUTIL_PPC_CPU_H */ 31 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/reverse.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2002-2004 Michael Niedermayer 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | #ifndef AVUTIL_REVERSE_H 22 | #define AVUTIL_REVERSE_H 23 | 24 | #include 25 | 26 | extern const uint8_t ff_reverse[256]; 27 | 28 | #endif /* AVUTIL_REVERSE_H */ 29 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/x86/pixelutils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of FFmpeg. 3 | * 4 | * FFmpeg is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 2.1 of the License, or (at your option) any later version. 8 | * 9 | * FFmpeg is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with FFmpeg; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 | */ 18 | 19 | #ifndef AVUTIL_X86_PIXELUTILS_H 20 | #define AVUTIL_X86_PIXELUTILS_H 21 | 22 | #include "libavutil/pixelutils.h" 23 | 24 | void ff_pixelutils_sad_init_x86(av_pixelutils_sad_fn *sad, int aligned); 25 | 26 | #endif /* AVUTIL_X86_PIXELUTILS_H */ 27 | -------------------------------------------------------------------------------- /src/main/cpp/libavutil/xga_font_data.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CGA/EGA/VGA ROM font data 3 | * 4 | * This file is part of FFmpeg. 5 | * 6 | * FFmpeg is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU Lesser General Public 8 | * License as published by the Free Software Foundation; either 9 | * version 2.1 of the License, or (at your option) any later version. 10 | * 11 | * FFmpeg is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * Lesser General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU Lesser General Public 17 | * License along with FFmpeg; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | */ 20 | 21 | /** 22 | * @file 23 | * CGA/EGA/VGA ROM font data 24 | */ 25 | 26 | #ifndef AVUTIL_XGA_FONT_DATA_H 27 | #define AVUTIL_XGA_FONT_DATA_H 28 | 29 | #include 30 | #include "internal.h" 31 | 32 | extern av_export const uint8_t avpriv_cga_font[2048]; 33 | extern av_export const uint8_t avpriv_vga16_font[4096]; 34 | 35 | #endif /* AVUTIL_XGA_FONT_DATA_H */ 36 | -------------------------------------------------------------------------------- /src/main/java/org/voiddog/ffmpeg/FFmpegNativeBridge.java: -------------------------------------------------------------------------------- 1 | package org.voiddog.ffmpeg; 2 | 3 | /** 4 | * FFmpeg native 层的 bridge 5 | * 6 | * @author qigengxin 7 | * @since 2017-06-17 14:45 8 | */ 9 | 10 | 11 | public class FFmpegNativeBridge { 12 | 13 | static { 14 | System.loadLibrary("ffmpeg-lib"); 15 | } 16 | 17 | public static int runCommand(String[] command){ 18 | int ret; 19 | synchronized (FFmpegNativeBridge.class){ 20 | // 不允许多线程访问 21 | ret = innerRunCommand(command); 22 | } 23 | return ret; 24 | } 25 | 26 | 27 | /** 28 | * 设置是否处于调试状态 29 | * @param debug 30 | */ 31 | public static native void setDebug(boolean debug); 32 | 33 | /** 34 | * 执行指令 35 | * @param command 36 | * @return 命令返回结果 37 | */ 38 | private static native int innerRunCommand(String[] command); 39 | } 40 | -------------------------------------------------------------------------------- /src/main/jniLibs/armeabi-v7a/libavcodec.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/jniLibs/armeabi-v7a/libavcodec.so -------------------------------------------------------------------------------- /src/main/jniLibs/armeabi-v7a/libavdevice.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/jniLibs/armeabi-v7a/libavdevice.so -------------------------------------------------------------------------------- /src/main/jniLibs/armeabi-v7a/libavfilter.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/jniLibs/armeabi-v7a/libavfilter.so -------------------------------------------------------------------------------- /src/main/jniLibs/armeabi-v7a/libavformat.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/jniLibs/armeabi-v7a/libavformat.so -------------------------------------------------------------------------------- /src/main/jniLibs/armeabi-v7a/libavresample.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/jniLibs/armeabi-v7a/libavresample.so -------------------------------------------------------------------------------- /src/main/jniLibs/armeabi-v7a/libavutil.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/jniLibs/armeabi-v7a/libavutil.so -------------------------------------------------------------------------------- /src/main/jniLibs/armeabi-v7a/libpostproc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/jniLibs/armeabi-v7a/libpostproc.so -------------------------------------------------------------------------------- /src/main/jniLibs/armeabi-v7a/libswresample.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/jniLibs/armeabi-v7a/libswresample.so -------------------------------------------------------------------------------- /src/main/jniLibs/armeabi-v7a/libswscale.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/jniLibs/armeabi-v7a/libswscale.so -------------------------------------------------------------------------------- /src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/979451341/FFmpegCompress/15322d5c7c7ac3fd8a81ecfc239559d0eb16f86d/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | FFmpeg 3 | 4 | -------------------------------------------------------------------------------- /src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/test/java/org/voiddog/ffmpeg/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package org.voiddog.ffmpeg; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } --------------------------------------------------------------------------------