├── .DS_Store ├── Android.mk ├── Application.mk ├── README.md ├── compat ├── .DS_Store ├── os2threads.h ├── va_copy.h └── w32pthreads.h ├── libavcodec ├── .DS_Store ├── Makefile ├── a64colors.h ├── a64tables.h ├── aac.h ├── aac_ac3_parser.h ├── aac_defines.h ├── aac_tablegen.h ├── aac_tablegen_decl.h ├── aacadtsdec.h ├── aacdectab.h ├── aacenc.h ├── aacenc_is.h ├── aacenc_pred.h ├── aacenc_quantization.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 ├── 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 ├── amr.h ├── amrnbdata.h ├── amrwbdata.h ├── apng.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 ├── avcodecres.rc ├── avdct.h ├── avfft.h ├── bethsoftvideo.h ├── bgmc.h ├── binkdata.h ├── binkdsp.h ├── bintext.h ├── blockdsp.h ├── bmp.h ├── bswapdsp.h ├── bytestream.h ├── cabac.h ├── cabac_functions.h ├── cabac_tablegen.h ├── canopus.h ├── cavs.h ├── cavsdsp.h ├── cbrt_tablegen.h ├── celp_filters.h ├── celp_math.h ├── cga_data.h ├── cookdata.h ├── copy_block.h ├── d3d11va.h ├── dca.h ├── dca_syncwords.h ├── dcadata.h ├── dcadsp.h ├── dcaenc.h ├── dcahuff.h ├── dct.h ├── dct32.h ├── dctref.h ├── dirac.h ├── dirac_arith.h ├── dirac_dwt.h ├── diracdsp.h ├── dnxhddata.h ├── dnxhdenc.h ├── dsd_tablegen.h ├── dv.h ├── dv_profile.h ├── dv_profile_internal.h ├── dv_tablegen.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 ├── 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_data.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 ├── h264_mvpred.h ├── h264chroma.h ├── h264data.h ├── h264dsp.h ├── h264idct.h ├── h264pred.h ├── h264qpel.h ├── hap.h ├── hevc.h ├── hevcdsp.h ├── hevcpred.h ├── hpeldsp.h ├── hq_hqa.h ├── hq_hqadsp.h ├── hqx.h ├── hqxdsp.h ├── huffman.h ├── huffyuv.h ├── huffyuvdsp.h ├── huffyuvencdsp.h ├── idctdsp.h ├── iirfilter.h ├── imcdata.h ├── imdct15.h ├── imgconvert.h ├── indeo2data.h ├── indeo3data.h ├── indeo4data.h ├── indeo5data.h ├── internal.h ├── intrax8.h ├── intrax8dsp.h ├── intrax8huf.h ├── ivi.h ├── ivi_dsp.h ├── jacosub.h ├── jpeg2000.h ├── jpeg2000dsp.h ├── jpeg2000dwt.h ├── jpegls.h ├── jpeglsdec.h ├── jpegtables.h ├── kbdwin.h ├── lagarithrac.h ├── lcl.h ├── libavcodec.pc ├── libavcodec.v ├── libavcodec.ver ├── libopus.h ├── libschroedinger.h ├── libstagefright.cpp ├── libutvideo.h ├── libutvideodec.cpp ├── libutvideoenc.cpp ├── libvpx.h ├── libwebpenc_common.h ├── libxvid.h ├── lossless_audiodsp.h ├── lossless_videodsp.h ├── lpc.h ├── lsp.h ├── lzw.h ├── mathops.h ├── me_cmp.h ├── metasound_data.h ├── mjpeg.h ├── mjpegdec.h ├── mjpegenc.h ├── mjpegenc_common.h ├── mlp.h ├── mlp_parser.h ├── mlpdsp.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 ├── old_codec_ids.h ├── on2avcdata.h ├── options_table.h ├── opus.h ├── paf.h ├── parser.h ├── pcm_tablegen.h ├── pixblockdsp.h ├── pixels.h ├── png.h ├── pngdsp.h ├── pnm.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 ├── svq3.h ├── synth_filter.h ├── tableprint.h ├── tableprint_vlc.h ├── tak.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 ├── twinvq.h ├── twinvq_data.h ├── ulti_cb.h ├── unary.h ├── utvideo.h ├── v210dec.h ├── v210enc.h ├── vaapi.h ├── vaapi_internal.h ├── vc1.h ├── vc1_common.h ├── vc1_pred.h ├── vc1acdata.h ├── vc1data.h ├── vc1dsp.h ├── vda.h ├── vda_vt_internal.h ├── vdpau.h ├── vdpau_compat.h ├── vdpau_internal.h ├── version.h ├── videodsp.h ├── videotoolbox.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 ├── vp9dsp.h ├── wavpack.h ├── wavpackenc.h ├── wma.h ├── wma_common.h ├── wma_freqs.h ├── wmadata.h ├── wmaprodata.h ├── wmavoice_data.h ├── wmv2.h ├── wmv2dsp.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 ├── pulse_audio_common.h ├── sndio.h ├── timefilter.h ├── v4l2-common.h └── version.h ├── libavfilter ├── Makefile ├── af_volume.h ├── all_channel_layouts.inc ├── asrc_abuffer.h ├── audio.h ├── avcodec.h ├── avfilter.h ├── avfiltergraph.h ├── avfilterres.rc ├── bbox.h ├── bufferqueue.h ├── buffersink.h ├── buffersrc.h ├── deshake.h ├── deshake_opencl.h ├── deshake_opencl_kernel.h ├── drawutils.h ├── dualinput.h ├── formats.h ├── framesync.h ├── generate_wave_table.h ├── gradfun.h ├── interlace.h ├── internal.h ├── lavfutils.h ├── libavfilter.ver ├── lswsutils.h ├── opencl_allkernels.h ├── psnr.h ├── removegrain.h ├── ssim.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 └── yadif.h ├── libavformat ├── Makefile ├── 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 ├── 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 ├── tls.h ├── url.h ├── urldecode.h ├── version.h ├── voc.h ├── vorbiscomment.h ├── w64.h ├── wtv.h ├── wv.h └── yuv4mpeg.h ├── libavresample ├── audio_convert.h ├── audio_data.h ├── audio_mix.h ├── avresample.h ├── dither.h ├── internal.h ├── resample.h └── version.h ├── libavutil ├── Makefile ├── adler32.h ├── aes.h ├── atomic.h ├── atomic_gcc.h ├── atomic_suncc.h ├── atomic_win32.h ├── attributes.h ├── audio_fifo.h ├── audioconvert.h ├── avassert.h ├── avconfig.h ├── avstring.h ├── avutil.h ├── avutilres.rc ├── base64.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 ├── ffversion.h ├── fifo.h ├── file.h ├── fixed_dsp.h ├── float_dsp.h ├── frame.h ├── hash.h ├── hmac.h ├── imgutils.h ├── integer.h ├── internal.h ├── intfloat.h ├── intmath.h ├── intreadwrite.h ├── lfg.h ├── libavutil.pc ├── libavutil.v ├── libavutil.ver ├── libm.h ├── lls.h ├── log.h ├── lzo.h ├── macros.h ├── mathematics.h ├── md5.h ├── mem.h ├── mem_internal.h ├── motion_vector.h ├── murmur3.h ├── old_pix_fmts.h ├── opencl.h ├── opencl_internal.h ├── opt.h ├── parseutils.h ├── pca.h ├── pixdesc.h ├── pixelutils.h ├── pixfmt.h ├── qsort.h ├── random_seed.h ├── rational.h ├── rc4.h ├── replaygain.h ├── ripemd.h ├── samplefmt.h ├── sha.h ├── sha512.h ├── softfloat.h ├── softfloat_tables.h ├── stereo3d.h ├── tea.h ├── thread.h ├── threadmessage.h ├── time.h ├── time_internal.h ├── timecode.h ├── timer.h ├── timestamp.h ├── tree.h ├── twofish.h ├── version.h ├── wchar_filename.h ├── x86_cpu.h ├── xga_font_data.h └── xtea.h ├── libpostproc ├── postprocess.h ├── postprocess_altivec_template.c ├── postprocess_internal.h ├── postprocess_template.c └── version.h ├── libswresample ├── audioconvert.h ├── resample.h ├── swresample.h ├── swresample_internal.h └── version.h ├── libswscale ├── rgb2rgb.h ├── swscale.h ├── swscale_internal.h └── version.h └── simplest_ffmpeg_streamer.c /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuaixiangai/Android-aac-rtmp/06cc6d4f5e0fcbaaeeab1131c85bfc71e71b5c90/.DS_Store -------------------------------------------------------------------------------- /Application.mk: -------------------------------------------------------------------------------- 1 | #APP_ABI := all 2 | #APP_ABI := armeabi armeabi-v7a x86 3 | 4 | APP_ABI :=armeabi 5 | APP_PLATFORM := android-17 -------------------------------------------------------------------------------- /compat/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuaixiangai/Android-aac-rtmp/06cc6d4f5e0fcbaaeeab1131c85bfc71e71b5c90/compat/.DS_Store -------------------------------------------------------------------------------- /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 | #include 23 | 24 | #if !defined(va_copy) && defined(_MSC_VER) 25 | #define va_copy(dst, src) ((dst) = (src)) 26 | #endif 27 | #if !defined(va_copy) && defined(__GNUC__) && __GNUC__ < 3 28 | #define va_copy(dst, src) __va_copy(dst, src) 29 | #endif 30 | -------------------------------------------------------------------------------- /libavcodec/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuaixiangai/Android-aac-rtmp/06cc6d4f5e0fcbaaeeab1131c85bfc71e71b5c90/libavcodec/.DS_Store -------------------------------------------------------------------------------- /libavcodec/a64colors.h: -------------------------------------------------------------------------------- 1 | /* 2 | * a64 video encoder - c64 colors in rgb (Pepto) 3 | * Copyright (c) 2009 Tobias Bindhammer 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 | * a64 video encoder - c64 colors in rgb 25 | */ 26 | 27 | #ifndef AVCODEC_A64COLORS_H 28 | #define AVCODEC_A64COLORS_H 29 | 30 | #include 31 | 32 | /* c64 palette in RGB */ 33 | static const uint8_t a64_palette[16][3] = { 34 | {0x00, 0x00, 0x00}, 35 | {0xff, 0xff, 0xff}, 36 | {0x68, 0x37, 0x2b}, 37 | {0x70, 0xa4, 0xb2}, 38 | {0x6f, 0x3d, 0x86}, 39 | {0x58, 0x8d, 0x43}, 40 | {0x35, 0x28, 0x79}, 41 | {0xb8, 0xc7, 0x6f}, 42 | {0x6f, 0x4f, 0x25}, 43 | {0x43, 0x39, 0x00}, 44 | {0x9a, 0x67, 0x59}, 45 | {0x44, 0x44, 0x44}, 46 | {0x6c, 0x6c, 0x6c}, 47 | {0x9a, 0xd2, 0x84}, 48 | {0x6c, 0x5e, 0xb5}, 49 | {0x95, 0x95, 0x95}, 50 | }; 51 | 52 | #endif /* AVCODEC_A64COLORS_H */ 53 | -------------------------------------------------------------------------------- /libavcodec/aac_tablegen.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Header file for hardcoded AAC tables 3 | * 4 | * Copyright (c) 2010 Alex Converse 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_AAC_TABLEGEN_H 24 | #define AVCODEC_AAC_TABLEGEN_H 25 | 26 | #include "aac_tablegen_decl.h" 27 | 28 | #if CONFIG_HARDCODED_TABLES 29 | #include "libavcodec/aac_tables.h" 30 | #else 31 | #include "libavutil/mathematics.h" 32 | float ff_aac_pow2sf_tab[428]; 33 | float ff_aac_pow34sf_tab[428]; 34 | 35 | av_cold void ff_aac_tableinit(void) 36 | { 37 | int i; 38 | for (i = 0; i < 428; i++) { 39 | ff_aac_pow2sf_tab[i] = pow(2, (i - POW_SF2_ZERO) / 4.0); 40 | ff_aac_pow34sf_tab[i] = pow(ff_aac_pow2sf_tab[i], 3.0/4.0); 41 | } 42 | } 43 | #endif /* CONFIG_HARDCODED_TABLES */ 44 | 45 | #endif /* AVCODEC_AAC_TABLEGEN_H */ 46 | -------------------------------------------------------------------------------- /libavcodec/aac_tablegen_decl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Header file for hardcoded AAC tables 3 | * 4 | * Copyright (c) 2010 Alex Converse 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_AAC_TABLEGEN_DECL_H 24 | #define AVCODEC_AAC_TABLEGEN_DECL_H 25 | 26 | #define POW_SF2_ZERO 200 ///< ff_aac_pow2sf_tab index corresponding to pow(2, 0); 27 | 28 | #if CONFIG_HARDCODED_TABLES 29 | #define ff_aac_tableinit() 30 | extern const float ff_aac_pow2sf_tab[428]; 31 | extern const float ff_aac_pow34sf_tab[428]; 32 | #else 33 | void ff_aac_tableinit(void); 34 | extern float ff_aac_pow2sf_tab[428]; 35 | extern float ff_aac_pow34sf_tab[428]; 36 | #endif /* CONFIG_HARDCODED_TABLES */ 37 | 38 | #endif /* AVCODEC_AAC_TABLEGEN_DECL_H */ 39 | -------------------------------------------------------------------------------- /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 | #if CONFIG_HARDCODED_TABLES 29 | #include "libavcodec/aacsbr_fixed_tables.h" 30 | #endif /* CONFIG_HARDCODED_TABLES */ 31 | 32 | #endif /* AVCODEC_AACSBR_FIXED_TABLEGEN_H */ 33 | -------------------------------------------------------------------------------- /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 | #if CONFIG_HARDCODED_TABLES 29 | #include "libavcodec/aacsbr_tables.h" 30 | #endif /* CONFIG_HARDCODED_TABLES */ 31 | 32 | #endif /* AVCODEC_AACSBR_TABLEGEN_H */ 33 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavcodec/alac_data.h: -------------------------------------------------------------------------------- 1 | /* 2 | * ALAC encoder and decoder common 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 | #ifndef AVCODEC_ALAC_DATA_H 22 | #define AVCODEC_ALAC_DATA_H 23 | 24 | #include 25 | 26 | enum AlacRawDataBlockType { 27 | /* At the moment, only SCE, CPE, LFE, and END are recognized. */ 28 | TYPE_SCE, 29 | TYPE_CPE, 30 | TYPE_CCE, 31 | TYPE_LFE, 32 | TYPE_DSE, 33 | TYPE_PCE, 34 | TYPE_FIL, 35 | TYPE_END 36 | }; 37 | 38 | #define ALAC_MAX_CHANNELS 8 39 | 40 | extern const uint8_t ff_alac_channel_layout_offsets[ALAC_MAX_CHANNELS][ALAC_MAX_CHANNELS]; 41 | 42 | extern const uint64_t ff_alac_channel_layouts[ALAC_MAX_CHANNELS + 1]; 43 | 44 | extern const enum AlacRawDataBlockType ff_alac_channel_elements[ALAC_MAX_CHANNELS][5]; 45 | 46 | #endif /* AVCODEC_ALAC_DATA_H */ 47 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavcodec/binkdsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Bink DSP routines 3 | * Copyright (c) 2009 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 | /** 23 | * @file 24 | * Bink DSP routines 25 | */ 26 | 27 | #ifndef AVCODEC_BINKDSP_H 28 | #define AVCODEC_BINKDSP_H 29 | 30 | #include 31 | 32 | typedef struct BinkDSPContext { 33 | void (*idct_put)(uint8_t *dest/*align 8*/, int line_size, int32_t *block/*align 16*/); 34 | void (*idct_add)(uint8_t *dest/*align 8*/, int line_size, int32_t *block/*align 16*/); 35 | void (*scale_block)(const uint8_t src[64]/*align 8*/, uint8_t *dst/*align 8*/, int linesize); 36 | void (*add_pixels8)(uint8_t *pixels, int16_t *block, int line_size); 37 | } BinkDSPContext; 38 | 39 | void ff_binkdsp_init(BinkDSPContext *c); 40 | 41 | #endif /* AVCODEC_BINKDSP_H */ 42 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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_BSWAP_BUF_H 20 | #define AVCODEC_BSWAP_BUF_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_BSWAP_BUF_H */ 33 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavcodec/cga_data.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CGA/EGA/VGA ROM 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 data 24 | * @note fonts are in libavutil/xga_font_data.[ch] 25 | */ 26 | 27 | #ifndef AVCODEC_CGA_DATA_H 28 | #define AVCODEC_CGA_DATA_H 29 | 30 | #include 31 | 32 | extern const uint32_t ff_cga_palette[16]; 33 | extern const uint32_t ff_ega_palette[64]; 34 | 35 | /** 36 | * Draw CGA/EGA/VGA font to 8-bit pixel buffer 37 | * 38 | * @param dst Destination pixel buffer 39 | * @param linesize Linesize (pixels) 40 | * @param font Font table. We assume font width is always 8 pixels wide. 41 | * @param font_height Font height (pixels) 42 | * @param fg,bg Foreground and background palette index 43 | * @param ch Character to draw 44 | */ 45 | void ff_draw_pc_font(uint8_t *dst, int linesize, const uint8_t *font, int font_height, int ch, int fg, int bg); 46 | 47 | #endif /* AVCODEC_CGA_DATA_H */ 48 | -------------------------------------------------------------------------------- /libavcodec/dca_syncwords.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_DCA_SYNCWORDS_H 20 | #define AVCODEC_DCA_SYNCWORDS_H 21 | 22 | enum DCASyncwords { 23 | DCA_SYNCWORD_CORE_BE = 0x7FFE8001U, 24 | DCA_SYNCWORD_CORE_LE = 0xFE7F0180U, 25 | DCA_SYNCWORD_CORE_14B_BE = 0x1FFFE800U, 26 | DCA_SYNCWORD_CORE_14B_LE = 0xFF1F00E8U, 27 | DCA_SYNCWORD_XCH = 0x5A5A5A5AU, 28 | DCA_SYNCWORD_XXCH = 0x47004A03U, 29 | DCA_SYNCWORD_X96 = 0x1D95F262U, 30 | DCA_SYNCWORD_XBR = 0x655E315EU, 31 | DCA_SYNCWORD_LBR = 0x0A801921U, 32 | DCA_SYNCWORD_XLL = 0x41A29547U, 33 | DCA_SYNCWORD_SUBSTREAM = 0x64582025U, 34 | DCA_SYNCWORD_SUBSTREAM_CORE = 0x02B09261U, 35 | }; 36 | 37 | #endif /* AVCODEC_DCA_SYNCWORDS_H */ 38 | -------------------------------------------------------------------------------- /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 26 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | 24 | void ff_ea_idct_put_c(uint8_t *dest, int linesize, int16_t *block); 25 | 26 | #endif /* AVCODEC_EAIDCT_H */ 27 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | 27 | void ff_faanidct(int16_t block[64]); 28 | void ff_faanidct_add(uint8_t *dest, int line_size, int16_t block[64]); 29 | void ff_faanidct_put(uint8_t *dest, int line_size, int16_t block[64]); 30 | 31 | #endif /* AVCODEC_FAANIDCT_H */ 32 | -------------------------------------------------------------------------------- /libavcodec/faxcompr.h: -------------------------------------------------------------------------------- 1 | /* 2 | * CCITT Fax Group 3 and 4 decompression 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 | /** 23 | * @file 24 | * CCITT Fax Group 3 and 4 decompression 25 | * @author Konstantin Shishkov 26 | */ 27 | #ifndef AVCODEC_FAXCOMPR_H 28 | #define AVCODEC_FAXCOMPR_H 29 | 30 | #include "avcodec.h" 31 | #include "tiff.h" 32 | 33 | /** 34 | * initialize upacker code 35 | */ 36 | void ff_ccitt_unpack_init(void); 37 | 38 | /** 39 | * unpack data compressed with CCITT Group 3 1/2-D or Group 4 method 40 | */ 41 | int ff_ccitt_unpack(AVCodecContext *avctx, 42 | const uint8_t *src, int srcsize, 43 | uint8_t *dst, int height, int stride, 44 | enum TiffCompr compr, int opts); 45 | 46 | #endif /* AVCODEC_FAXCOMPR_H */ 47 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | #include "avcodec.h" 22 | 23 | int ff_frame_thread_encoder_init(AVCodecContext *avctx, AVDictionary *options); 24 | void ff_frame_thread_encoder_free(AVCodecContext *avctx); 25 | int ff_thread_video_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet_ptr); 26 | 27 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavcodec/gsmdec_data.h: -------------------------------------------------------------------------------- 1 | /* 2 | * gsm 06.10 decoder data 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_GSMDEC_DATA_H 23 | #define AVCODEC_GSMDEC_DATA_H 24 | 25 | #include 26 | #include "avcodec.h" 27 | 28 | typedef struct GSMContext { 29 | // Contains first 120 elements from the previous frame 30 | // (used by long_term_synth according to the "lag"), 31 | // then in the following 160 elements the current 32 | // frame is constructed. 33 | int16_t ref_buf[280]; 34 | int v[9]; 35 | int lar[2][8]; 36 | int lar_idx; 37 | int msr; 38 | } GSMContext; 39 | 40 | extern const uint16_t ff_gsm_long_term_gain_tab[4]; 41 | extern const int16_t ff_gsm_dequant_tab[64][8]; 42 | 43 | extern const int* const ff_gsm_apcm_bits[][4]; 44 | 45 | #endif /* AVCODEC_GSMDEC_DATA_H */ 46 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavcodec/h264chroma.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_H264CHROMA_H 20 | #define AVCODEC_H264CHROMA_H 21 | 22 | #include 23 | 24 | typedef void (*h264_chroma_mc_func)(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*/, int srcStride, int h, int x, int y); 25 | 26 | typedef struct H264ChromaContext { 27 | h264_chroma_mc_func put_h264_chroma_pixels_tab[4]; 28 | h264_chroma_mc_func avg_h264_chroma_pixels_tab[4]; 29 | } H264ChromaContext; 30 | 31 | void ff_h264chroma_init(H264ChromaContext *c, int bit_depth); 32 | 33 | void ff_h264chroma_init_aarch64(H264ChromaContext *c, int bit_depth); 34 | void ff_h264chroma_init_arm(H264ChromaContext *c, int bit_depth); 35 | void ff_h264chroma_init_ppc(H264ChromaContext *c, int bit_depth); 36 | void ff_h264chroma_init_x86(H264ChromaContext *c, int bit_depth); 37 | void ff_h264chroma_init_mips(H264ChromaContext *c, int bit_depth); 38 | 39 | #endif /* AVCODEC_H264CHROMA_H */ 40 | -------------------------------------------------------------------------------- /libavcodec/h264qpel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * H.26L/H.264/AVC/JVT/14496-10/... encoder/decoder 3 | * Copyright (c) 2003-2010 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_H264QPEL_H 23 | #define AVCODEC_H264QPEL_H 24 | 25 | #include "qpeldsp.h" 26 | 27 | typedef struct H264QpelContext { 28 | qpel_mc_func put_h264_qpel_pixels_tab[4][16]; 29 | qpel_mc_func avg_h264_qpel_pixels_tab[4][16]; 30 | } H264QpelContext; 31 | 32 | void ff_h264qpel_init(H264QpelContext *c, int bit_depth); 33 | 34 | void ff_h264qpel_init_aarch64(H264QpelContext *c, int bit_depth); 35 | void ff_h264qpel_init_arm(H264QpelContext *c, int bit_depth); 36 | void ff_h264qpel_init_ppc(H264QpelContext *c, int bit_depth); 37 | void ff_h264qpel_init_x86(H264QpelContext *c, int bit_depth); 38 | void ff_h264qpel_init_mips(H264QpelContext *c, int bit_depth); 39 | 40 | #endif /* AVCODEC_H264QPEL_H */ 41 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | 41 | -------------------------------------------------------------------------------- /libavcodec/huffman.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007 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 | /** 22 | * @file 23 | * huffman tree builder and VLC generator 24 | */ 25 | 26 | #ifndef AVCODEC_HUFFMAN_H 27 | #define AVCODEC_HUFFMAN_H 28 | 29 | #include "avcodec.h" 30 | #include "get_bits.h" 31 | 32 | typedef struct Node { 33 | int16_t sym; 34 | int16_t n0; 35 | uint32_t count; 36 | } Node; 37 | 38 | #define FF_HUFFMAN_FLAG_HNODE_FIRST 0x01 39 | #define FF_HUFFMAN_FLAG_ZERO_COUNT 0x02 40 | #define FF_HUFFMAN_BITS 10 41 | 42 | typedef int (*HuffCmp)(const void *va, const void *vb); 43 | int ff_huff_build_tree(AVCodecContext *avctx, VLC *vlc, int nb_codes, int nb_bits, 44 | Node *nodes, HuffCmp cmp, int flags); 45 | 46 | int ff_huff_gen_len_table(uint8_t *dst, const uint64_t *stats, int n, int skip0); 47 | 48 | #endif /* AVCODEC_HUFFMAN_H */ 49 | -------------------------------------------------------------------------------- /libavcodec/intrax8dsp.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_INTRAX8DSP_H 20 | #define AVCODEC_INTRAX8DSP_H 21 | 22 | #include 23 | 24 | typedef struct IntraX8DSPContext { 25 | void (*v_loop_filter)(uint8_t *src, int stride, int qscale); 26 | void (*h_loop_filter)(uint8_t *src, int stride, int qscale); 27 | 28 | void (*spatial_compensation[12])(uint8_t *src , uint8_t *dst, int linesize); 29 | void (*setup_spatial_compensation)(uint8_t *src, uint8_t *dst, int linesize, 30 | int *range, int *sum, int edges); 31 | } IntraX8DSPContext; 32 | 33 | void ff_intrax8dsp_init(IntraX8DSPContext *dsp); 34 | 35 | #endif /* AVCODEC_INTRAX8DSP_H */ 36 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavcodec/lcl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * LCL (LossLess Codec Library) Codec 3 | * Copyright (c) 2002-2004 Roberto Togni 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_LCL_H 23 | #define AVCODEC_LCL_H 24 | 25 | #define BMPTYPE_YUV 1 26 | #define BMPTYPE_RGB 2 27 | 28 | #define IMGTYPE_YUV111 0 29 | #define IMGTYPE_YUV422 1 30 | #define IMGTYPE_RGB24 2 31 | #define IMGTYPE_YUV411 3 32 | #define IMGTYPE_YUV211 4 33 | #define IMGTYPE_YUV420 5 34 | 35 | #define COMP_MSZH 0 36 | #define COMP_MSZH_NOCOMP 1 37 | #define COMP_ZLIB_HISPEED 1 38 | #define COMP_ZLIB_HICOMP 9 39 | #define COMP_ZLIB_NORMAL -1 40 | 41 | #define FLAG_MULTITHREAD 1 42 | #define FLAG_NULLFRAME 2 43 | #define FLAG_PNGFILTER 4 44 | #define FLAGMASK_UNUSED 0xf8 45 | 46 | #define CODEC_MSZH 1 47 | #define CODEC_ZLIB 3 48 | 49 | #endif /* AVCODEC_LCL_H */ 50 | -------------------------------------------------------------------------------- /libavcodec/libavcodec.pc: -------------------------------------------------------------------------------- 1 | prefix=../android_ffmpeg/install 2 | exec_prefix=${prefix} 3 | libdir=${prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: libavcodec 7 | Description: FFmpeg codec library 8 | Version: 56.60.100 9 | Requires: 10 | Requires.private: libswresample >= 1.2.101, libavutil >= 54.31.100 11 | Conflicts: 12 | Libs: -L${libdir} -lavcodec 13 | Libs.private: -lx264 -lfaac -lm -lz -pthread 14 | Cflags: -I${includedir} 15 | -------------------------------------------------------------------------------- /libavcodec/libavcodec.v: -------------------------------------------------------------------------------- 1 | LIBAVCODEC_$MAJOR { 2 | global: av*; 3 | #deprecated, remove after next bump 4 | audio_resample; 5 | audio_resample_close; 6 | local: *; 7 | }; 8 | -------------------------------------------------------------------------------- /libavcodec/libavcodec.ver: -------------------------------------------------------------------------------- 1 | LIBAVCODEC_56 { 2 | global: av*; 3 | #deprecated, remove after next bump 4 | audio_resample; 5 | audio_resample_close; 6 | local: *; 7 | }; 8 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | int ff_tempfile(const char *prefix, char **filename); 30 | 31 | #endif /* AVCODEC_LIBXVID_H */ 32 | -------------------------------------------------------------------------------- /libavcodec/mpeg12vlc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MPEG1/2 VLC 3 | * copyright (c) 2000,2001 Fabrice Bellard 4 | * copyright (c) 2002-2004 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 | /** 24 | * @file 25 | * MPEG1/2 VLC. 26 | */ 27 | 28 | #ifndef AVCODEC_MPEG12VLC_H 29 | #define AVCODEC_MPEG12VLC_H 30 | 31 | #include "get_bits.h" 32 | 33 | #define DC_VLC_BITS 9 34 | #define MV_VLC_BITS 9 35 | #define TEX_VLC_BITS 9 36 | 37 | #define MBINCR_VLC_BITS 9 38 | #define MB_PAT_VLC_BITS 9 39 | #define MB_PTYPE_VLC_BITS 6 40 | #define MB_BTYPE_VLC_BITS 6 41 | 42 | extern VLC ff_dc_lum_vlc; 43 | extern VLC ff_dc_chroma_vlc; 44 | extern VLC ff_mbincr_vlc; 45 | extern VLC ff_mb_ptype_vlc; 46 | extern VLC ff_mb_btype_vlc; 47 | extern VLC ff_mb_pat_vlc; 48 | extern VLC ff_mv_vlc; 49 | 50 | void ff_mpeg12_init_vlcs(void); 51 | 52 | #endif /* AVCODEC_MPEG12VLC_H */ 53 | -------------------------------------------------------------------------------- /libavcodec/mpeg4video_parser.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MPEG4 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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavcodec/mpegaudiodata.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MPEG Audio common tables 3 | * copyright (c) 2002 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 | /** 23 | * @file 24 | * mpeg audio layer common tables. 25 | */ 26 | 27 | #ifndef AVCODEC_MPEGAUDIODATA_H 28 | #define AVCODEC_MPEGAUDIODATA_H 29 | 30 | #include 31 | 32 | #include "libavutil/internal.h" 33 | 34 | #define MODE_EXT_MS_STEREO 2 35 | #define MODE_EXT_I_STEREO 1 36 | 37 | extern av_export const uint16_t avpriv_mpa_bitrate_tab[2][3][15]; 38 | extern av_export const uint16_t avpriv_mpa_freq_tab[3]; 39 | extern const int ff_mpa_sblimit_table[5]; 40 | extern const int ff_mpa_quant_steps[17]; 41 | extern const int ff_mpa_quant_bits[17]; 42 | extern const unsigned char * const ff_mpa_alloc_tables[5]; 43 | 44 | #endif /* AVCODEC_MPEGAUDIODATA_H */ 45 | -------------------------------------------------------------------------------- /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_default_chroma_qscale_table[32]; 32 | 33 | #endif /* AVCODEC_MPEGVIDEODATA_H */ 34 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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, AVPicture *pic, 37 | int depth, GetByteContext *gb); 38 | 39 | #endif /* AVCODEC_MSRLEDEC_H */ 40 | -------------------------------------------------------------------------------- /libavcodec/mss34dsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Common stuff for some Microsoft Screen codecs 3 | * Copyright (C) 2012 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_MSS34DSP_H 23 | #define AVCODEC_MSS34DSP_H 24 | 25 | #include 26 | 27 | /** 28 | * Generate quantisation matrix for given quality. 29 | * 30 | * @param qmat destination matrix 31 | * @param quality quality setting (1-100) 32 | * @param luma generate quantisation matrix for luma or chroma 33 | */ 34 | void ff_mss34_gen_quant_mat(uint16_t *qmat, int quality, int luma); 35 | 36 | /** 37 | * Transform and output DCT block. 38 | * 39 | * @param dst output plane 40 | * @param stride output plane stride 41 | * @param block block to transform and output 42 | */ 43 | void ff_mss34_dct_put(uint8_t *dst, int stride, int *block); 44 | 45 | #endif /* AVCODEC_MSS34DSP_H */ 46 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavcodec/pixels.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_PIXELS_H 20 | #define AVCODEC_PIXELS_H 21 | 22 | #include 23 | #include 24 | 25 | /* pixel operations */ 26 | #define CALL_2X_PIXELS_MACRO(STATIC, a, b, n) \ 27 | STATIC void a(uint8_t *block, const uint8_t *pixels, \ 28 | ptrdiff_t line_size, int h) \ 29 | { \ 30 | b(block, pixels, line_size, h); \ 31 | b(block + n, pixels + n, line_size, h); \ 32 | } 33 | 34 | #define CALL_2X_PIXELS(a, b, n) CALL_2X_PIXELS_MACRO(static, a, b, n) 35 | #define CALL_2X_PIXELS_EXPORT(a, b, n) CALL_2X_PIXELS_MACRO(, a, b, n) 36 | 37 | #endif /* AVCODEC_PIXELS_H */ 38 | -------------------------------------------------------------------------------- /libavcodec/pngdsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * PNG image format 3 | * Copyright (c) 2008 Loren Merrit 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_PNGDSP_H 23 | #define AVCODEC_PNGDSP_H 24 | 25 | #include 26 | 27 | typedef struct PNGDSPContext { 28 | void (*add_bytes_l2)(uint8_t *dst, 29 | uint8_t *src1 /* align 16 */, 30 | uint8_t *src2, int w); 31 | 32 | /* this might write to dst[w] */ 33 | void (*add_paeth_prediction)(uint8_t *dst, uint8_t *src, 34 | uint8_t *top, int w, int bpp); 35 | } PNGDSPContext; 36 | 37 | void ff_pngdsp_init(PNGDSPContext *dsp); 38 | void ff_pngdsp_init_x86(PNGDSPContext *dsp); 39 | 40 | #endif /* AVCDODEC_PNGDSP_H */ 41 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavcodec/proresdata.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Apple ProRes compatible decoder 3 | * 4 | * Copyright (c) 2010-2011 Maxim Poliakovski 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_PRORESDATA_H 24 | #define AVCODEC_PRORESDATA_H 25 | 26 | #include 27 | 28 | #define FRAME_ID MKBETAG('i', 'c', 'p', 'f') 29 | 30 | extern const uint8_t ff_prores_progressive_scan[64]; 31 | extern const uint8_t ff_prores_interlaced_scan[64]; 32 | 33 | #define FIRST_DC_CB 0xB8 // rice_order = 5, exp_golomb_order = 6, switch_bits = 0 34 | extern const uint8_t ff_prores_dc_codebook[4]; 35 | extern const uint8_t ff_prores_ac_codebook[7]; 36 | extern const uint8_t ff_prores_run_to_cb_index[16]; 37 | extern const uint8_t ff_prores_lev_to_cb_index[10]; 38 | 39 | #endif /* AVCODEC_PRORESDATA_H */ 40 | -------------------------------------------------------------------------------- /libavcodec/proresdsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Apple ProRes compatible decoder 3 | * 4 | * Copyright (c) 2010-2011 Maxim Poliakovski 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_PRORESDSP_H 24 | #define AVCODEC_PRORESDSP_H 25 | 26 | #include 27 | #include "avcodec.h" 28 | 29 | #define PRORES_BITS_PER_SAMPLE 10 ///< output precision of prores decoder 30 | 31 | typedef struct ProresDSPContext { 32 | int idct_permutation_type; 33 | uint8_t idct_permutation[64]; 34 | void (* idct_put) (uint16_t *out, int linesize, int16_t *block, const int16_t *qmat); 35 | } ProresDSPContext; 36 | 37 | void ff_proresdsp_init(ProresDSPContext *dsp, AVCodecContext *avctx); 38 | 39 | void ff_proresdsp_init_x86(ProresDSPContext *dsp, AVCodecContext *avctx); 40 | 41 | #endif /* AVCODEC_PRORESDSP_H */ 42 | -------------------------------------------------------------------------------- /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 | /* H264 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 | -------------------------------------------------------------------------------- /libavcodec/qsv.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Intel MediaSDK QSV public API 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_QSV_H 22 | #define AVCODEC_QSV_H 23 | 24 | #include 25 | 26 | typedef struct AVQSVContext { 27 | mfxSession session; 28 | int iopattern; 29 | 30 | mfxExtBuffer **ext_buffers; 31 | int nb_ext_buffers; 32 | } AVQSVContext; 33 | 34 | /** 35 | * Allocate a new context. 36 | * 37 | * It must be freed by the caller with av_free(). 38 | */ 39 | AVQSVContext *av_qsv_alloc_context(void); 40 | 41 | #endif /* AVCODEC_QSV_H */ 42 | -------------------------------------------------------------------------------- /libavcodec/raw.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Raw Video Codec 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 | /** 23 | * @file 24 | * Raw Video Codec 25 | */ 26 | 27 | #ifndef AVCODEC_RAW_H 28 | #define AVCODEC_RAW_H 29 | 30 | #include "avcodec.h" 31 | #include "libavutil/internal.h" 32 | 33 | typedef struct PixelFormatTag { 34 | enum AVPixelFormat pix_fmt; 35 | unsigned int fourcc; 36 | } PixelFormatTag; 37 | 38 | extern const PixelFormatTag ff_raw_pix_fmt_tags[]; // exposed through avpriv_get_raw_pix_fmt_tags() 39 | 40 | const struct PixelFormatTag *avpriv_get_raw_pix_fmt_tags(void); 41 | 42 | enum AVPixelFormat avpriv_find_pix_fmt(const PixelFormatTag *tags, unsigned int fourcc); 43 | 44 | extern av_export const PixelFormatTag avpriv_pix_fmt_bps_avi[]; 45 | extern av_export const PixelFormatTag avpriv_pix_fmt_bps_mov[]; 46 | 47 | #endif /* AVCODEC_RAW_H */ 48 | -------------------------------------------------------------------------------- /libavcodec/rle.h: -------------------------------------------------------------------------------- 1 | /* 2 | * RLE encoder 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_RLE_H 22 | #define AVCODEC_RLE_H 23 | 24 | #include 25 | 26 | /** 27 | * RLE compress the row, with maximum size of out_size. Value before repeated bytes is (count ^ xor_rep) + add_rep. 28 | * Value before raw bytes is (count ^ xor_raw) + add_raw. 29 | * @param outbuf Output buffer 30 | * @param out_size Maximum output size 31 | * @param inbuf Input buffer 32 | * @param bpp Bytes per pixel 33 | * @param w Image width 34 | * @return Size of output in bytes, or -1 if larger than out_size 35 | */ 36 | int ff_rle_encode(uint8_t *outbuf, int out_size, const uint8_t *inbuf, int bpp, int w, 37 | int add_rep, int xor_rep, int add_raw, int xor_raw); 38 | 39 | #endif /* AVCODEC_RLE_H */ 40 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavcodec/svq3.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_SVQ3_H 20 | #define AVCODEC_SVQ3_H 21 | 22 | #include 23 | 24 | void ff_svq3_luma_dc_dequant_idct_c(int16_t *output, int16_t *input, int qp); 25 | void ff_svq3_add_idct_c(uint8_t *dst, int16_t *block, int stride, int qp, int dc); 26 | 27 | #endif /* AVCODEC_SVQ3_H */ 28 | -------------------------------------------------------------------------------- /libavcodec/synth_filter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * copyright (c) 2008 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_SYNTH_FILTER_H 22 | #define AVCODEC_SYNTH_FILTER_H 23 | 24 | #include "fft.h" 25 | 26 | typedef struct SynthFilterContext { 27 | void (*synth_filter_float)(FFTContext *imdct, 28 | float *synth_buf_ptr, int *synth_buf_offset, 29 | float synth_buf2[32], const float window[512], 30 | float out[32], const float in[32], 31 | float scale); 32 | } SynthFilterContext; 33 | 34 | void ff_synth_filter_init(SynthFilterContext *c); 35 | void ff_synth_filter_init_arm(SynthFilterContext *c); 36 | void ff_synth_filter_init_x86(SynthFilterContext *c); 37 | 38 | #endif /* AVCODEC_SYNTH_FILTER_H */ 39 | -------------------------------------------------------------------------------- /libavcodec/ttadata.h: -------------------------------------------------------------------------------- 1 | /* 2 | * TTA (The Lossless True Audio) 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 | #ifndef AVCODEC_TTADATA_H 22 | #define AVCODEC_TTADATA_H 23 | 24 | #include "internal.h" 25 | 26 | #define MAX_ORDER 16 27 | typedef struct TTAFilter { 28 | int32_t shift, round, error; 29 | int32_t qm[MAX_ORDER]; 30 | int32_t dx[MAX_ORDER]; 31 | int32_t dl[MAX_ORDER]; 32 | } TTAFilter; 33 | 34 | typedef struct TTARice { 35 | uint32_t k0, k1, sum0, sum1; 36 | } TTARice; 37 | 38 | typedef struct TTAChannel { 39 | int32_t predictor; 40 | TTAFilter filter; 41 | TTARice rice; 42 | } TTAChannel; 43 | 44 | extern const uint32_t ff_tta_shift_1[]; 45 | extern const uint32_t * const ff_tta_shift_16; 46 | extern const uint8_t ff_tta_filter_configs[]; 47 | 48 | void ff_tta_rice_init(TTARice *c, uint32_t k0, uint32_t k1); 49 | void ff_tta_filter_init(TTAFilter *c, int32_t shift); 50 | #endif /* AVCODEC_TTADATA_H */ 51 | -------------------------------------------------------------------------------- /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 | #include "ttadata.h" 24 | 25 | typedef struct TTADSPContext { 26 | void (*ttafilter_process_dec)(int32_t *qm, int32_t *dx, int32_t *dl, 27 | int32_t *error, int32_t *in, int32_t shift, 28 | int32_t round); 29 | } TTADSPContext; 30 | 31 | void ff_ttadsp_init(TTADSPContext *c); 32 | void ff_ttadsp_init_x86(TTADSPContext *c); 33 | 34 | #endif /* AVCODEC_TTADSP_H */ 35 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavcodec/v210enc.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_V210ENC_H 20 | #define AVCODEC_V210ENC_H 21 | 22 | #include "libavutil/log.h" 23 | #include "libavutil/opt.h" 24 | #include "libavutil/pixfmt.h" 25 | 26 | typedef struct V210EncContext { 27 | void (*pack_line_8)(const uint8_t *y, const uint8_t *u, 28 | const uint8_t *v, uint8_t *dst, ptrdiff_t width); 29 | void (*pack_line_10)(const uint16_t *y, const uint16_t *u, 30 | const uint16_t *v, uint8_t *dst, ptrdiff_t width); 31 | } V210EncContext; 32 | 33 | void ff_v210enc_init_x86(V210EncContext *s); 34 | 35 | #endif /* AVCODEC_V210ENC_H */ 36 | -------------------------------------------------------------------------------- /libavcodec/vorbisdsp.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_VORBISDSP_H 20 | #define AVCODEC_VORBISDSP_H 21 | 22 | #include 23 | 24 | typedef struct VorbisDSPContext { 25 | /* assume len is a multiple of 4, and arrays are 16-byte aligned */ 26 | void (*vorbis_inverse_coupling)(float *mag, float *ang, 27 | intptr_t blocksize); 28 | } VorbisDSPContext; 29 | 30 | void ff_vorbisdsp_init(VorbisDSPContext *dsp); 31 | 32 | /* for internal use only */ 33 | void ff_vorbisdsp_init_aarch64(VorbisDSPContext *dsp); 34 | void ff_vorbisdsp_init_x86(VorbisDSPContext *dsp); 35 | void ff_vorbisdsp_init_arm(VorbisDSPContext *dsp); 36 | void ff_vorbisdsp_init_ppc(VorbisDSPContext *dsp); 37 | 38 | #endif /* AVCODEC_VORBISDSP_H */ 39 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 */ 27 | -------------------------------------------------------------------------------- /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, int line_size, int16_t *block); 28 | void (*idct_put)(uint8_t *dest, int 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 | 37 | #endif /* AVCODEC_WMV2DSP_H */ 38 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavdevice/decklink_common_c.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Blackmagic DeckLink common code 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 | struct decklink_cctx { 23 | const AVClass *cclass; 24 | 25 | void *ctx; 26 | 27 | /* Options */ 28 | int list_devices; 29 | int list_formats; 30 | double preroll; 31 | int v210; 32 | }; 33 | 34 | -------------------------------------------------------------------------------- /libavdevice/decklink_dec.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 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | int ff_decklink_read_header(AVFormatContext *avctx); 27 | int ff_decklink_read_packet(AVFormatContext *avctx, AVPacket *pkt); 28 | int ff_decklink_read_close(AVFormatContext *avctx); 29 | 30 | #ifdef __cplusplus 31 | } /* extern "C" */ 32 | #endif 33 | -------------------------------------------------------------------------------- /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 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | int ff_decklink_write_header(AVFormatContext *avctx); 27 | int ff_decklink_write_packet(AVFormatContext *avctx, AVPacket *pkt); 28 | int ff_decklink_write_trailer(AVFormatContext *avctx); 29 | 30 | #ifdef __cplusplus 31 | } /* extern "C" */ 32 | #endif 33 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | int ff_alloc_input_device_context(struct AVFormatContext **avctx, struct AVInputFormat *iformat, 25 | const char *format); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /libavdevice/pulse_audio_common.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Pulseaudio input 3 | * Copyright (c) 2011 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 AVDEVICE_PULSE_AUDIO_COMMON_H 23 | #define AVDEVICE_PULSE_AUDIO_COMMON_H 24 | 25 | #include 26 | #include "libavcodec/avcodec.h" 27 | #include "avdevice.h" 28 | 29 | pa_sample_format_t ff_codec_id_to_pulse_format(enum AVCodecID codec_id); 30 | 31 | int ff_pulse_audio_get_devices(AVDeviceInfoList *devices, const char *server, int output); 32 | 33 | int ff_pulse_audio_connect_context(pa_mainloop **pa_ml, pa_context **pa_ctx, 34 | const char *server, const char *description); 35 | 36 | void ff_pulse_audio_disconnect_context(pa_mainloop **pa_ml, pa_context **pa_ctx); 37 | 38 | #endif /* AVDEVICE_PULSE_AUDIO_COMMON_H */ 39 | -------------------------------------------------------------------------------- /libavdevice/sndio.h: -------------------------------------------------------------------------------- 1 | /* 2 | * sndio play and grab interface 3 | * Copyright (c) 2010 Jacob Meuser 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_SNDIO_H 23 | #define AVDEVICE_SNDIO_H 24 | 25 | #include 26 | #include 27 | 28 | #include "libavutil/log.h" 29 | #include "avdevice.h" 30 | 31 | typedef struct SndioData { 32 | AVClass *class; 33 | struct sio_hdl *hdl; 34 | enum AVCodecID codec_id; 35 | int64_t hwpos; 36 | int64_t softpos; 37 | uint8_t *buffer; 38 | int bps; 39 | int buffer_size; 40 | int buffer_offset; 41 | int channels; 42 | int sample_rate; 43 | } SndioData; 44 | 45 | int ff_sndio_open(AVFormatContext *s1, int is_output, const char *audio_device); 46 | int ff_sndio_close(SndioData *s); 47 | 48 | #endif /* AVDEVICE_SNDIO_H */ 49 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavfilter/bbox.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2005 Robert Edele 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_BBOX_H 22 | #define AVFILTER_BBOX_H 23 | 24 | #include 25 | 26 | typedef struct { 27 | int x1, x2, y1, y2; 28 | } FFBoundingBox; 29 | 30 | /** 31 | * Calculate the smallest rectangle that will encompass the 32 | * region with values > min_val. 33 | * 34 | * @param bbox bounding box structure which is updated with the found values. 35 | * If no pixels could be found with value > min_val, the 36 | * structure is not modified. 37 | * @return 1 in case at least one pixel with value > min_val was found, 38 | * 0 otherwise 39 | */ 40 | int ff_calculate_bounding_box(FFBoundingBox *bbox, 41 | const uint8_t *data, int linesize, 42 | int w, int h, int min_val); 43 | 44 | #endif /* AVFILTER_BBOX_H */ 45 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavfilter/lavfutils.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 libavformat library 22 | */ 23 | 24 | #ifndef AVFILTER_LAVFUTILS_H 25 | #define AVFILTER_LAVFUTILS_H 26 | 27 | #include "libavformat/avformat.h" 28 | 29 | /** 30 | * Load image from filename and put the resulting image in data. 31 | * 32 | * @param w pointer to the width of the loaded image 33 | * @param h pointer to the height of the loaded image 34 | * @param pix_fmt pointer to the pixel format of the loaded image 35 | * @param filename the name of the image file to load 36 | * @param log_ctx log context 37 | * @return >= 0 in case of success, a negative error code otherwise. 38 | */ 39 | int ff_load_image(uint8_t *data[4], int linesize[4], 40 | int *w, int *h, enum AVPixelFormat *pix_fmt, 41 | const char *filename, void *log_ctx); 42 | 43 | #endif /* AVFILTER_LAVFUTILS_H */ 44 | -------------------------------------------------------------------------------- /libavfilter/libavfilter.ver: -------------------------------------------------------------------------------- 1 | LIBAVFILTER_5 { 2 | global: avfilter_*; av_*; 3 | local: *; 4 | }; 5 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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_ALLKERNEL_H 22 | #define AVFILTER_OPENCL_ALLKERNEL_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_ALLKERNEL_H */ 30 | -------------------------------------------------------------------------------- /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 LIBAVFILTER_PSNR_H 22 | #define LIBAVFILTER_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 /* LIBAVFILTER_PSNR_H */ 34 | -------------------------------------------------------------------------------- /libavfilter/removegrain.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Paul B Mahol 3 | * Copyright (c) 2015 James Darnley 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 | #include "avfilter.h" 23 | 24 | typedef struct RemoveGrainContext { 25 | const AVClass *class; 26 | 27 | int mode[4]; 28 | 29 | int nb_planes; 30 | int planewidth[4]; 31 | int planeheight[4]; 32 | int skip_even; 33 | int skip_odd; 34 | 35 | int (*rg[4])(int c, int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8); 36 | 37 | void (*fl[4])(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int pixels); 38 | } RemoveGrainContext; 39 | 40 | void ff_removegrain_init_x86(RemoveGrainContext *rg); 41 | -------------------------------------------------------------------------------- /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 LIBAVFILTER_SSIM_H 22 | #define LIBAVFILTER_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 /* LIBAVFILTER_SSIM_H */ 37 | -------------------------------------------------------------------------------- /libavfilter/thread.h: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * This file is part of FFmpeg. 4 | * 5 | * FFmpeg is free software; you can redistribute it and/or 6 | * modify it under the terms of the GNU Lesser General Public 7 | * License as published by the Free Software Foundation; either 8 | * version 2.1 of the License, or (at your option) any later version. 9 | * 10 | * FFmpeg is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public 16 | * License along with FFmpeg; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 | */ 19 | 20 | #ifndef AVFILTER_THREAD_H 21 | #define AVFILTER_THREAD_H 22 | 23 | #include "avfilter.h" 24 | 25 | int ff_graph_thread_init(AVFilterGraph *graph); 26 | 27 | void ff_graph_thread_free(AVFilterGraph *graph); 28 | 29 | #endif /* AVFILTER_THREAD_H */ 30 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavfilter/video.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2007 Bobby Bingham 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_VIDEO_H 22 | #define AVFILTER_VIDEO_H 23 | 24 | #include "avfilter.h" 25 | 26 | AVFrame *ff_default_get_video_buffer(AVFilterLink *link, int w, int h); 27 | AVFrame *ff_null_get_video_buffer(AVFilterLink *link, int w, int h); 28 | 29 | /** 30 | * Request a picture buffer with a specific set of permissions. 31 | * 32 | * @param link the output link to the filter from which the buffer will 33 | * be requested 34 | * @param w the minimum width of the buffer to allocate 35 | * @param h the minimum height of the buffer to allocate 36 | * @return A reference to the buffer. This must be unreferenced with 37 | * avfilter_unref_buffer when you are finished with it. 38 | */ 39 | AVFrame *ff_get_video_buffer(AVFilterLink *link, int w, int h); 40 | 41 | #endif /* AVFILTER_VIDEO_H */ 42 | -------------------------------------------------------------------------------- /libavfilter/vidstabutils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013 Georg Martius 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_VIDSTABUTILS_H 22 | #define AVFILTER_VIDSTABUTILS_H 23 | 24 | #include 25 | 26 | #include "avfilter.h" 27 | 28 | /* Conversion routines between libav* and vid.stab */ 29 | 30 | /** 31 | * Converts an AVPixelFormat to a VSPixelFormat. 32 | * 33 | * @param[in] ctx AVFilterContext used for logging 34 | * @param[in] pf AVPixelFormat 35 | * @return a corresponding VSPixelFormat 36 | */ 37 | VSPixelFormat ff_av2vs_pixfmt(AVFilterContext *ctx, enum AVPixelFormat pf); 38 | 39 | /** 40 | * Initialize libvidstab 41 | * 42 | * Sets the memory allocation functions and logging constants to corresponding 43 | * av* versions. 44 | */ 45 | void ff_vs_init(void); 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /libavformat/apetag.h: -------------------------------------------------------------------------------- 1 | /* 2 | * APE tag handling 3 | * Copyright (c) 2007 Benjamin Zores 4 | * based upon libdemac from Dave Chapman. 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 AVFORMAT_APETAG_H 24 | #define AVFORMAT_APETAG_H 25 | 26 | #include "avformat.h" 27 | 28 | #define APE_TAG_PREAMBLE "APETAGEX" 29 | #define APE_TAG_VERSION 2000 30 | #define APE_TAG_FOOTER_BYTES 32 31 | 32 | /** 33 | * Read and parse an APE tag 34 | * 35 | * @return offset of the tag start in the file 36 | */ 37 | int64_t ff_ape_parse_tag(AVFormatContext *s); 38 | 39 | /** 40 | * Write an APE tag into a file. 41 | */ 42 | int ff_ape_write_tag(AVFormatContext *s); 43 | 44 | #endif /* AVFORMAT_APETAG_H */ 45 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavformat/avc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * AVC helper functions for muxers 3 | * Copyright (c) 2008 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_AVC_H 23 | #define AVFORMAT_AVC_H 24 | 25 | #include 26 | #include "avio.h" 27 | 28 | int ff_avc_parse_nal_units(AVIOContext *s, const uint8_t *buf, int size); 29 | int ff_avc_parse_nal_units_buf(const uint8_t *buf_in, uint8_t **buf, int *size); 30 | int ff_isom_write_avcc(AVIOContext *pb, const uint8_t *data, int len); 31 | const uint8_t *ff_avc_find_startcode(const uint8_t *p, const uint8_t *end); 32 | int ff_avc_write_annexb_extradata(const uint8_t *in, uint8_t **buf, int *size); 33 | const uint8_t *ff_avc_mp4_find_startcode(const uint8_t *start, 34 | const uint8_t *end, 35 | int nal_length_size); 36 | 37 | #endif /* AVFORMAT_AVC_H */ 38 | -------------------------------------------------------------------------------- /libavformat/avi.h: -------------------------------------------------------------------------------- 1 | /* 2 | * copyright (c) 2001 Fabrice Bellard 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_AVI_H 22 | #define AVFORMAT_AVI_H 23 | 24 | #define AVIF_HASINDEX 0x00000010 // Index at end of file? 25 | #define AVIF_MUSTUSEINDEX 0x00000020 26 | #define AVIF_ISINTERLEAVED 0x00000100 27 | #define AVIF_TRUSTCKTYPE 0x00000800 // Use CKType to find key frames? 28 | #define AVIF_WASCAPTUREFILE 0x00010000 29 | #define AVIF_COPYRIGHTED 0x00020000 30 | 31 | #define AVI_MAX_RIFF_SIZE 0x40000000LL 32 | #define AVI_MASTER_INDEX_SIZE 256 33 | #define AVI_MAX_STREAM_COUNT 100 34 | 35 | /* index flags */ 36 | #define AVIIF_INDEX 0x10 37 | 38 | #endif /* AVFORMAT_AVI_H */ 39 | -------------------------------------------------------------------------------- /libavformat/avlanguage.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Cyril Comparon, Larbi Joubala, Resonate-MP4 2009 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_AVLANGUAGE_H 22 | #define AVFORMAT_AVLANGUAGE_H 23 | 24 | /** 25 | * Known language codespaces 26 | */ 27 | enum AVLangCodespace { 28 | AV_LANG_ISO639_2_BIBL, /** 3-char bibliographic language codes as per ISO-IEC 639-2 */ 29 | AV_LANG_ISO639_2_TERM, /** 3-char terminologic language codes as per ISO-IEC 639-2 */ 30 | AV_LANG_ISO639_1 /** 2-char code of language as per ISO/IEC 639-1 */ 31 | }; 32 | 33 | /** 34 | * Convert a language code to a target codespace. The source codespace is guessed. 35 | * @return NULL if the provided lang is null or invalid. 36 | */ 37 | const char *av_convert_lang_to(const char *lang, enum AVLangCodespace target_codespace); 38 | 39 | #endif /* AVFORMAT_AVLANGUAGE_H */ 40 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavformat/dv.h: -------------------------------------------------------------------------------- 1 | /* 2 | * General DV muxer/demuxer 3 | * Copyright (c) 2003 Roman Shaposhnik 4 | * 5 | * Many thanks to Dan Dennedy for providing wealth 6 | * of DV technical info. 7 | * 8 | * Raw DV format 9 | * Copyright (c) 2002 Fabrice Bellard 10 | * 11 | * This file is part of FFmpeg. 12 | * 13 | * FFmpeg is free software; you can redistribute it and/or 14 | * modify it under the terms of the GNU Lesser General Public 15 | * License as published by the Free Software Foundation; either 16 | * version 2.1 of the License, or (at your option) any later version. 17 | * 18 | * FFmpeg is distributed in the hope that it will be useful, 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21 | * Lesser General Public License for more details. 22 | * 23 | * You should have received a copy of the GNU Lesser General Public 24 | * License along with FFmpeg; if not, write to the Free Software 25 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 26 | */ 27 | 28 | #ifndef AVFORMAT_DV_H 29 | #define AVFORMAT_DV_H 30 | 31 | #include "avformat.h" 32 | 33 | typedef struct DVDemuxContext DVDemuxContext; 34 | DVDemuxContext* avpriv_dv_init_demux(AVFormatContext* s); 35 | int avpriv_dv_get_packet(DVDemuxContext*, AVPacket *); 36 | int avpriv_dv_produce_packet(DVDemuxContext*, AVPacket*, uint8_t*, int, int64_t); 37 | void ff_dv_offset_reset(DVDemuxContext *c, int64_t frame_offset); 38 | 39 | typedef struct DVMuxContext DVMuxContext; 40 | 41 | #endif /* AVFORMAT_DV_H */ 42 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavformat/gxf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * GXF demuxer 3 | * copyright (c) 2006 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_GXF_H 23 | #define AVFORMAT_GXF_H 24 | 25 | typedef enum { 26 | PKT_MAP = 0xbc, 27 | PKT_MEDIA = 0xbf, 28 | PKT_EOS = 0xfb, 29 | PKT_FLT = 0xfc, 30 | PKT_UMF = 0xfd, 31 | } GXFPktType; 32 | 33 | typedef enum { 34 | MAT_NAME = 0x40, 35 | MAT_FIRST_FIELD = 0x41, 36 | MAT_LAST_FIELD = 0x42, 37 | MAT_MARK_IN = 0x43, 38 | MAT_MARK_OUT = 0x44, 39 | MAT_SIZE = 0x45, 40 | } GXFMatTag; 41 | 42 | typedef enum { 43 | TRACK_NAME = 0x4c, 44 | TRACK_AUX = 0x4d, 45 | TRACK_VER = 0x4e, 46 | TRACK_MPG_AUX = 0x4f, 47 | TRACK_FPS = 0x50, 48 | TRACK_LINES = 0x51, 49 | TRACK_FPF = 0x52, 50 | } GXFTrackTag; 51 | 52 | #endif /* AVFORMAT_GXF_H */ 53 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavformat/metadata.h: -------------------------------------------------------------------------------- 1 | /* 2 | * copyright (c) 2009 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 AVFORMAT_METADATA_H 22 | #define AVFORMAT_METADATA_H 23 | 24 | /** 25 | * @file 26 | * internal metadata API header 27 | * see avformat.h or the public API! 28 | */ 29 | 30 | 31 | #include "avformat.h" 32 | #include "libavutil/dict.h" 33 | 34 | typedef struct AVMetadataConv { 35 | const char *native; 36 | const char *generic; 37 | } AVMetadataConv; 38 | 39 | void ff_metadata_conv(AVDictionary **pm, const AVMetadataConv *d_conv, 40 | const AVMetadataConv *s_conv); 41 | void ff_metadata_conv_ctx(AVFormatContext *ctx, const AVMetadataConv *d_conv, 42 | const AVMetadataConv *s_conv); 43 | 44 | #endif /* AVFORMAT_METADATA_H */ 45 | -------------------------------------------------------------------------------- /libavformat/oma.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Sony OpenMG (OMA) common 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 | #ifndef AVFORMAT_OMA_H 22 | #define AVFORMAT_OMA_H 23 | 24 | #include 25 | 26 | #include "internal.h" 27 | 28 | #define EA3_HEADER_SIZE 96 29 | #define ID3v2_EA3_MAGIC "ea3" 30 | #define OMA_ENC_HEADER_SIZE 16 31 | 32 | enum { 33 | OMA_CODECID_ATRAC3 = 0, 34 | OMA_CODECID_ATRAC3P = 1, 35 | OMA_CODECID_MP3 = 3, 36 | OMA_CODECID_LPCM = 4, 37 | OMA_CODECID_WMA = 5, 38 | }; 39 | 40 | extern const uint16_t ff_oma_srate_tab[8]; 41 | 42 | extern const AVCodecTag ff_oma_codec_tags[]; 43 | 44 | extern const uint64_t ff_oma_chid_to_native_layout[7]; 45 | extern const int ff_oma_chid_to_num_channels[7]; 46 | 47 | #endif /* AVFORMAT_OMA_H */ 48 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavformat/smjpeg.h: -------------------------------------------------------------------------------- 1 | /* 2 | * SMJPEG common code 3 | * Copyright (c) 2011-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 | /** 23 | * @file 24 | * SMJPEG common code 25 | */ 26 | 27 | #ifndef AVFORMAT_SMJPEG_H 28 | #define AVFORMAT_SMJPEG_H 29 | 30 | #include "internal.h" 31 | 32 | #define SMJPEG_MAGIC "\x0\xaSMJPEG" 33 | 34 | #define SMJPEG_DONE MKTAG('D', 'O', 'N', 'E') 35 | #define SMJPEG_HEND MKTAG('H', 'E', 'N', 'D') 36 | #define SMJPEG_SND MKTAG('_', 'S', 'N', 'D') 37 | #define SMJPEG_SNDD MKTAG('s', 'n', 'd', 'D') 38 | #define SMJPEG_TXT MKTAG('_', 'T', 'X', 'T') 39 | #define SMJPEG_VID MKTAG('_', 'V', 'I', 'D') 40 | #define SMJPEG_VIDD MKTAG('v', 'i', 'd', 'D') 41 | 42 | extern const AVCodecTag ff_codec_smjpeg_video_tags[]; 43 | extern const AVCodecTag ff_codec_smjpeg_audio_tags[]; 44 | 45 | #endif /* AVFORMAT_SMJPEG_H */ 46 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavutil/audioconvert.h: -------------------------------------------------------------------------------- 1 | 2 | #include "version.h" 3 | 4 | #if FF_API_AUDIOCONVERT 5 | #include "channel_layout.h" 6 | #endif 7 | -------------------------------------------------------------------------------- /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 0 6 | #define AV_HAVE_INCOMPATIBLE_LIBAV_ABI 0 7 | #endif /* AVUTIL_AVCONFIG_H */ 8 | -------------------------------------------------------------------------------- /libavutil/color_utils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Kevin Wheatley 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_COLOR_UTILS_H 22 | #define AVUTIL_COLOR_UTILS_H 23 | 24 | 25 | #include "libavutil/pixfmt.h" 26 | 27 | /** 28 | * Determine a suitable 'gamma' value to match the supplied 29 | * AVColorTransferCharacteristic. 30 | * 31 | * See Apple Technical Note TN2257 (https://developer.apple.com/library/mac/technotes/tn2257/_index.html) 32 | * 33 | * @return Will return an approximation to the simple gamma function matching 34 | * the supplied Transfer Characteristic, Will return 0.0 for any 35 | * we cannot reasonably match against. 36 | */ 37 | double avpriv_get_gamma_from_trc(enum AVColorTransferCharacteristic trc); 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /libavutil/ffversion.h: -------------------------------------------------------------------------------- 1 | #ifndef AVUTIL_FFVERSION_H 2 | #define AVUTIL_FFVERSION_H 3 | #define FFMPEG_VERSION "2.8" 4 | #endif /* AVUTIL_FFVERSION_H */ 5 | -------------------------------------------------------------------------------- /libavutil/libavutil.pc: -------------------------------------------------------------------------------- 1 | prefix=../android_ffmpeg/install 2 | exec_prefix=${prefix} 3 | libdir=${prefix}/lib 4 | includedir=${prefix}/include 5 | 6 | Name: libavutil 7 | Description: FFmpeg utility library 8 | Version: 54.31.100 9 | Requires: 10 | Requires.private: 11 | Conflicts: 12 | Libs: -L${libdir} -lavutil 13 | Libs.private: -lm 14 | Cflags: -I${includedir} 15 | -------------------------------------------------------------------------------- /libavutil/libavutil.v: -------------------------------------------------------------------------------- 1 | LIBAVUTIL_$MAJOR { 2 | global: av*; 3 | local: *; 4 | }; 5 | -------------------------------------------------------------------------------- /libavutil/libavutil.ver: -------------------------------------------------------------------------------- 1 | LIBAVUTIL_54 { 2 | global: av*; 3 | local: *; 4 | }; 5 | -------------------------------------------------------------------------------- /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 | #endif /* AVUTIL_MACROS_H */ 49 | -------------------------------------------------------------------------------- /libavutil/mem_internal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2002 Fabrice Bellard 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_MEM_INTERNAL_H 22 | #define AVUTIL_MEM_INTERNAL_H 23 | 24 | #include "avassert.h" 25 | #include "mem.h" 26 | 27 | static inline int ff_fast_malloc(void *ptr, unsigned int *size, size_t min_size, int zero_realloc) 28 | { 29 | void *val; 30 | 31 | memcpy(&val, ptr, sizeof(val)); 32 | if (min_size <= *size) { 33 | av_assert0(val || !min_size); 34 | return 0; 35 | } 36 | min_size = FFMAX(min_size + min_size / 16 + 32, min_size); 37 | av_freep(ptr); 38 | val = zero_realloc ? av_mallocz(min_size) : av_malloc(min_size); 39 | memcpy(ptr, &val, sizeof(val)); 40 | if (!val) 41 | min_size = 0; 42 | *size = min_size; 43 | return 1; 44 | } 45 | #endif /* AVUTIL_MEM_INTERNAL_H */ 46 | -------------------------------------------------------------------------------- /libavutil/murmur3.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2013 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 AVUTIL_MURMUR3_H 22 | #define AVUTIL_MURMUR3_H 23 | 24 | #include 25 | 26 | struct AVMurMur3 *av_murmur3_alloc(void); 27 | void av_murmur3_init_seeded(struct AVMurMur3 *c, uint64_t seed); 28 | void av_murmur3_init(struct AVMurMur3 *c); 29 | void av_murmur3_update(struct AVMurMur3 *c, const uint8_t *src, int len); 30 | void av_murmur3_final(struct AVMurMur3 *c, uint8_t dst[16]); 31 | 32 | #endif /* AVUTIL_MURMUR3_H */ 33 | -------------------------------------------------------------------------------- /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 | #include "opencl.h" 24 | 25 | #define FF_OPENCL_PARAM_INFO(a) ((void*)(&(a))), (sizeof(a)) 26 | 27 | typedef struct { 28 | cl_kernel kernel; 29 | int param_num; 30 | void *ctx; 31 | } FFOpenclParam; 32 | 33 | int avpriv_opencl_set_parameter(FFOpenclParam *opencl_param, ...); 34 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /libavutil/random_seed.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009 Baptiste Coudurier 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_RANDOM_SEED_H 22 | #define AVUTIL_RANDOM_SEED_H 23 | 24 | #include 25 | /** 26 | * @addtogroup lavu_crypto 27 | * @{ 28 | */ 29 | 30 | /** 31 | * Get a seed to use in conjunction with random functions. 32 | * This function tries to provide a good seed at a best effort bases. 33 | * Its possible to call this function multiple times if more bits are needed. 34 | * It can be quite slow, which is why it should only be used as seed for a faster 35 | * PRNG. The quality of the seed depends on the platform. 36 | */ 37 | uint32_t av_get_random_seed(void); 38 | 39 | /** 40 | * @} 41 | */ 42 | 43 | #endif /* AVUTIL_RANDOM_SEED_H */ 44 | -------------------------------------------------------------------------------- /libavutil/time_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_TIME_INTERNAL_H 20 | #define AVUTIL_TIME_INTERNAL_H 21 | 22 | #include 23 | #include "config.h" 24 | 25 | #if !HAVE_GMTIME_R && !defined(gmtime_r) 26 | static inline struct tm *gmtime_r(const time_t* clock, struct tm *result) 27 | { 28 | struct tm *ptr = gmtime(clock); 29 | if (!ptr) 30 | return NULL; 31 | *result = *ptr; 32 | return result; 33 | } 34 | #endif 35 | 36 | #if !HAVE_LOCALTIME_R && !defined(localtime_r) 37 | static inline struct tm *localtime_r(const time_t* clock, struct tm *result) 38 | { 39 | struct tm *ptr = localtime(clock); 40 | if (!ptr) 41 | return NULL; 42 | *result = *ptr; 43 | return result; 44 | } 45 | #endif 46 | 47 | #endif /* AVUTIL_TIME_INTERNAL_H */ 48 | -------------------------------------------------------------------------------- /libavutil/wchar_filename.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_WCHAR_FILENAME_H 20 | #define AVUTIL_WCHAR_FILENAME_H 21 | 22 | #if defined(_WIN32) && !defined(__MINGW32CE__) 23 | #include 24 | #include "mem.h" 25 | 26 | static inline int utf8towchar(const char *filename_utf8, wchar_t **filename_w) 27 | { 28 | int num_chars; 29 | num_chars = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, filename_utf8, -1, NULL, 0); 30 | if (num_chars <= 0) { 31 | *filename_w = NULL; 32 | return 0; 33 | } 34 | *filename_w = (wchar_t *)av_mallocz_array(num_chars, sizeof(wchar_t)); 35 | if (!*filename_w) { 36 | errno = ENOMEM; 37 | return -1; 38 | } 39 | MultiByteToWideChar(CP_UTF8, 0, filename_utf8, -1, *filename_w, num_chars); 40 | return 0; 41 | } 42 | #endif 43 | 44 | #endif /* AVUTIL_WCHAR_FILENAME_H */ 45 | -------------------------------------------------------------------------------- /libavutil/x86_cpu.h: -------------------------------------------------------------------------------- 1 | #include "libavutil/x86/asm.h" 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /simplest_ffmpeg_streamer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kuaixiangai/Android-aac-rtmp/06cc6d4f5e0fcbaaeeab1131c85bfc71e71b5c90/simplest_ffmpeg_streamer.c --------------------------------------------------------------------------------