From 5ce99ec589f1bc90ae3962030bf7b2de2b4e88c0 Mon Sep 17 00:00:00 2001 From: tigro Date: Sun, 2 Jul 2023 17:42:40 +0300 Subject: [PATCH] import ffmpeg-5.1.3-1.el9 --- .ffmpeg.metadata | 2 + .gitignore | 2 + SOURCES/enable_decoders | 457 +++ SOURCES/enable_encoders | 202 + SOURCES/ffmpeg-5.1.3.tar.xz.asc | 11 + SOURCES/ffmpeg-allow-fdk-aac-free.patch | 24 + SOURCES/ffmpeg-codec-choice.patch | 56 + SOURCES/ffmpeg-dlopen-openh264.patch | 383 ++ SOURCES/ffmpeg-new-coder-errors.patch | 60 + SOURCES/ffmpeg.keyring | Bin 0 -> 1203 bytes SOURCES/ffmpeg_find_free_source_headers.sh | 72 + SOURCES/ffmpeg_free_sources | 3871 ++++++++++++++++++++ SOURCES/ffmpeg_gen_free_tarball.sh | 130 + SOURCES/ffmpeg_get_dlopen_headers.sh | 42 + SOURCES/ffmpeg_update_free_sources.sh | 60 + SPECS/ffmpeg.spec | 1009 +++++ 16 files changed, 6381 insertions(+) create mode 100644 .ffmpeg.metadata create mode 100644 .gitignore create mode 100644 SOURCES/enable_decoders create mode 100644 SOURCES/enable_encoders create mode 100644 SOURCES/ffmpeg-5.1.3.tar.xz.asc create mode 100644 SOURCES/ffmpeg-allow-fdk-aac-free.patch create mode 100644 SOURCES/ffmpeg-codec-choice.patch create mode 100644 SOURCES/ffmpeg-dlopen-openh264.patch create mode 100644 SOURCES/ffmpeg-new-coder-errors.patch create mode 100644 SOURCES/ffmpeg.keyring create mode 100755 SOURCES/ffmpeg_find_free_source_headers.sh create mode 100644 SOURCES/ffmpeg_free_sources create mode 100755 SOURCES/ffmpeg_gen_free_tarball.sh create mode 100755 SOURCES/ffmpeg_get_dlopen_headers.sh create mode 100755 SOURCES/ffmpeg_update_free_sources.sh create mode 100644 SPECS/ffmpeg.spec diff --git a/.ffmpeg.metadata b/.ffmpeg.metadata new file mode 100644 index 0000000..6bb8b22 --- /dev/null +++ b/.ffmpeg.metadata @@ -0,0 +1,2 @@ +678b051ad6388318c9981b98071962d45b424ed5 SOURCES/ffmpeg-free-5.1.3.tar.xz +81b8a0552dbd1c5e0c6e595f2174351397435d76 SOURCES/ffmpeg-dlopen-headers.tar.xz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f8b97db --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/ffmpeg-free-5.1.3.tar.xz +SOURCES/ffmpeg-dlopen-headers.tar.xz diff --git a/SOURCES/enable_decoders b/SOURCES/enable_decoders new file mode 100644 index 0000000..801d09e --- /dev/null +++ b/SOURCES/enable_decoders @@ -0,0 +1,457 @@ +## module name # reason for enablement in ffmpeg (usually there is another package that already got legal review) +aac +aasc +libfdk_aac # fdk-aac-free +ac3 +acelp_kelvin +adpcm_4xm +adpcm_adx +adpcm_afc +adpcm_agm +adpcm_aica +adpcm_argo +adpcm_ct +adpcm_dtk +adpcm_ea +adpcm_ea_maxis_xa +adpcm_ea_r1 +adpcm_ea_r2 +adpcm_ea_r3 +adpcm_ea_xas +adpcm_g722 +adpcm_g726 +adpcm_g726le +adpcm_ima_acorn +adpcm_ima_alp +adpcm_ima_amv +adpcm_ima_apc +adpcm_ima_apm +adpcm_ima_cunning +adpcm_ima_dat4 +adpcm_ima_dk3 +adpcm_ima_dk4 +adpcm_ima_ea_eacs +adpcm_ima_ea_sead +adpcm_ima_iss +adpcm_ima_moflex +adpcm_ima_mtf +adpcm_ima_oki +adpcm_ima_qt +adpcm_ima_qt_at +adpcm_ima_rad +adpcm_ima_smjpeg +adpcm_ima_ssi +adpcm_ima_wav +adpcm_ima_ws +adpcm_ms +adpcm_mtaf +adpcm_psx +adpcm_sbpro_2 +adpcm_sbpro_3 +adpcm_sbpro_4 +adpcm_swf +adpcm_thp +adpcm_thp_le +adpcm_vima +adpcm_xa +adpcm_yamaha +adpcm_zork +alac +alias_pix +amrnb +amrwb +amv +anm +ansi # trivial +ape +apng # animated png +arbc +argo +ass # trivial +asv1 +asv2 +atrac1 +atrac3 +atrac3al +atrac3p +atrac3pal +aura +aura2 +av1 # libaom +av1_qsv # libaom +ayuv # trivial +bethsoftvid # trivial +bfi # trivial +bink +binkaudio_dct +binkaudio_rdft +bintext +bitpacked # trivial +bmp # trivial +bmv_audio +bmv_video +brender_pix +c93 +ccaption +cdgraphics +cdtoons +cdxl +cinepak +clearvideo +cljr +cook +cpia +cscd +cyuv +dca +dds +derf_dpcm +dfa +dfpwm +dirac # dirac +dnxhd +dolby_e +dpx +dsd_lsbf +dsd_msbf +dsicinaudio +dsicinvideo +dss_sp +dvaudio +dvbsub +dvdsub +dvvideo +dxa +dxtory +eacmv +eamad +eatgq +eatgv +eatqi +eightbps +eightsvx_exp +eightsvx_fib +escape124 +escape130 +evrc +exr # openEXR +ffv1 # ffmpeg +ffvhuff # ffmpeg +ffwavesynth # pseudo +fits +flac # libFLAC +flashsv +flashsv2 +flic +flv +fmvc +fourxm +g723_1 +g729 +gdv +gem +gif # libpng +gremlin_dpcm +gsm # libgsm +gsm_ms +gsm_ms_at +h261 +h263 +h263_v4l2m2m +h263i +h263p +hap +hca +hcom +hnm4_video +hq_hqa +hqx +huffyuv # trivial+zlib +hymt # huffyuv-mt +iac +idcin +idf +iff_ilbm +ilbc # ilbc +imc +indeo2 +indeo3 +indeo4 +indeo5 +interplay_acm +interplay_dpcm +interplay_video +ipu +jacosub +jpeg2000 # openjpeg2 +jpegls +jv +kgv1 +kmvc +lagarith +libaom # libaom +libaom_av1 # libaom +libcodec2 # codec2 +libdav1d # av1 +libgsm # libgsm +libgsm_ms # libgsm +libilbc # ilbc +libjxl # libjxl +libopencore_amrnb # opencore-amr +libopencore_amrwb # opencore-amr +libopenh264 # openh264_dlopen +libopenjpeg # openjpeg +libopus # opus +librsvg # librsvg +libschroedinger # schroedinger +libspeex # speex +libvorbis # libvorbis +libvpx_vp8 # libvpx +libvpx_vp9 # libvpx +libzvbi_teletext # zvbi +loco +lscr +m101 +mace3 +mace6 +mdec +metasound +microdvd +mimic +mjpeg # mjpegtools +mjpeg_qsv # mjpegtools +mjpegb +mlp +mmvideo +motionpixels +mp1 # twolame/lame +mp1float # twolame/lame +mp2 # twolame +mp2float # twolame +mp3 # lame +mp3adu +mp3adufloat +mp3float # lame +mp3on4 +mp3on4float +mpc7 +mpc8 +mpeg1video +mpeg1_v4l2m2m +mpeg2video +mpeg2_qsv +mpeg2_v4l2m2m +mpeg4 +mpeg4_v4l2m2m +mpegvideo +mpl2 +msa1 +mscc +msmpeg4v1 +msmpeg4v2 +msmpeg4v3 +msnsiren +msp2 +msrle +mss1 +mss2 +msvideo1 +mszh +mts2 +mv30 +mvc1 +mvc2 +mvdv +mvha +mwsc +mxpeg +nellymoser +nuv +on2avc +opus # libopus +paf_audio +paf_video +pam # trivial +pbm # trivial +pcm_alaw # trivial +pcm_bluray +pcm_dvd +pcm_f16le # trivial +pcm_f24le # trivial +pcm_f32be # trivial +pcm_f32le # trivial +pcm_f64be # trivial +pcm_f64le # trivial +pcm_lxf # trivial +pcm_mulaw # trivial +pcm_s16be # trivial +pcm_s16be_planar # trivial +pcm_s16le # trivial +pcm_s16le_planar # trivial +pcm_s24be # trivial +pcm_s24daud # trivial +pcm_s24le # trivial +pcm_s24le_planar # trivial +pcm_s32be # trivial +pcm_s32le # trivial +pcm_s32le_planar # trivial +pcm_s64be # trivial +pcm_s64le # trivial +pcm_s8 # trivial +pcm_s8_planar # trivial +pcm_sga # trivial +pcm_u16be # trivial +pcm_u16le # trivial +pcm_u24be # trivial +pcm_u24le # trivial +pcm_u32be # trivial +pcm_u32le # trivial +pcm_u8 # trivial +pcm_vidc # trivial +pcx +pfm # trivial +pgm # trivial +pgmyuv # trivial +pgssub # mkvtoolnix +pgx +phm # trivial +photocd +pictor +pjs +png # libpng +ppm # trivial +prosumer +psd +ptx +qcelp +qdm2 +qdmc +qdraw +qoi +qpeg +qtrle +r10k +r210 +ra_144 +ra_288 +rasc +rawvideo # trivial +realtext +rl2 +roq +roq_dpcm +rpza +rscc +rv10 +rv20 +s302m +sami +sanm +sbc +screenpresso +sdx2_dpcm +sgi # trivial +sgirle # trivial +shorten +simbiosis_imx +sipr +siren +smackaud +smacker +smc +smvjpeg +snow +sol_dpcm +sonic +sp5x +speedhq +speex +srgc +srt # trivial +ssa # trivial +stl +subrip +subviewer +subviewer1 +sunrast # trivial +svq1 +svq3 +tak +targa # trivial +targa_y216 +tdsc +text # trivial +theora # libtheora +thp +tiertexseqvideo +tiff # libtiff +tmv +truehd +truemotion1 +truemotion2 +truemotion2rt +truespeech +tscc +tscc2 +tta +twinvq +txd +ulti +utvideo +v210 # trivial +v210x # trivial +v308 # trivial +v408 # trivial +v410 # trivial +vb +vble +vcr1 +vmdaudio +vmdvideo +vmnc +vorbis # libvorbis +vp3 # libav +vp4 # libav +vp5 # libav +vp6 # libav +vp6a # libav +vp6f # libav +vp7 # libav +vp8 # libvpx +vp8_qsv # libvpx +vp8_v4l2m2m # libvpx +vp9 # libvpx +vp9_qsv # libvpx +vp9_v4l2m2m # libvpx +vplayer +vqa +wavpack +wcmv +webp # libwebp +webvtt # trivial +wmav1 +wmav2 +wmavoice +wmv1 +wmv2 +wnv1 +wrapped_avframe # passthrough +ws_snd1 +xan_dpcm +xan_wc3 +xan_wc4 +xbin +xbm # trivial +xface +xl +xpm +xsub +xwd # xwd +y41p # trivial +ylc +yop +yuv4 # trivial +zero12v +zerocodec +zlib # zlib +zmbv # dosbox diff --git a/SOURCES/enable_encoders b/SOURCES/enable_encoders new file mode 100644 index 0000000..14bf139 --- /dev/null +++ b/SOURCES/enable_encoders @@ -0,0 +1,202 @@ +## module name # reason for enablement in ffmpeg (usually there is another package that already got legal review) +a64multi +a64multi5 +aac +libfdk_aac # fdk-aac-free +ac3 +adpcm_adx +adpcm_argo +adpcm_g722 +adpcm_g726 +adpcm_g726le +adpcm_ima_alp +adpcm_ima_amv +adpcm_ima_apm +adpcm_ima_qt +adpcm_ima_ssi +adpcm_ima_wav +adpcm_ima_ws +adpcm_ms +adpcm_swf +adpcm_yamaha +alac +alias_pix +amv +apng # libpng +ass # trivial +asv1 +asv2 +ayuv # trival +bitpacked # trivial +bmp # trivial +cinepak +cljr +dca +dfpwm +dnxhd +dpx +dvbsub +dvdsub +dvvideo +exr +ffv1 +ffvhuff # trivial+zlib +flac # libFLAC +flashsv +flashsv2 +flv +g723_1 +gif # libpng +h261 +h263 +h263_v4l2m2m # hardware +h263p +h264_amf # hardware +h264_nvenc # hardware +h264_qsv # hardware +h264_v4l2m2m # hardware +h264_vaapi # hardware +hap +hevc_amf # hardware +hevc_nvenc # hardware +hevc_qsv # hardware +hevc_v4l2m2m # hardware +hevc_vaapi # hardware +huffyuv # trivial+zlib +ilbc # ilbc +jpegls +jpeg2000 +libaom # libaom +libaom_av1 # libaom +libcodec2 # codec2 +libgsm # libgsm +libgsm_ms # libgsm +libilbc # ilbc +libjxl # libjxl +libmp3lame # lame +libopencore_amrnb +libopenh264 # openh264_dlopen +libopenjpeg # openjpeg +libopus # opus +librav1e # rav1e +libschroedinger # schroedinger +libspeex # speex +libsvtav1 +libtheora # libtheora +libtwolame # twolame +libvo_amrwbenc +libvorbis # libvorbis +libvpx_vp8 # libvpx +libvpx_vp9 # libvpx +libwebp # libwebp +libwebp_anim # libwebp +libxvid # xvidcore +mjpeg # mjpegtools +mjpeg_qsv # mjpegtools +mjpeg_vaapi # mjpegtools +mlp +mp2 # twolame +mp2fixed # twolame +mpeg1video +mpeg2video +mpeg2_qsv +mpeg2_vaapi +mpeg4 +mpeg4_v4l2m2m # hardware +msmpeg4v2 +msmpeg4v3 +msvideo1 +nellymoser +opus # opus +pam +pbm # trivial +pcm_alaw # trivial +pcm_f32be # trivial +pcm_f32le # trivial +pcm_f64be # trivial +pcm_f64le # trivial +pcm_mulaw # trivial +pcm_s16be # trivial +pcm_s16be_planar # trivial +pcm_s16le # trivial +pcm_s16le_planar # trivial +pcm_s24be # trivial +pcm_s24le # trivial +pcm_s24le_planar # trivial +pcm_s32be # trivial +pcm_s32le # trivial +pcm_s32le_planar # trivial +pcm_s8 # trivial +pcm_s8_planar # trivial +pcm_u16be # trivial +pcm_u16le # trivial +pcm_u24be # trivial +pcm_u24le # trivial +pcm_u32be # trivial +pcm_u32le # trivial +pcm_u8 # trivial +pcx +pgm # trivial +pgmyuv # trivial +phm # trivial +png # libpng +ppm # trivial +qoi +qtrle +r10k # trivial +r210 # trivial +ra_144 +rawvideo # trivial +roq +roq_dpcm +rpza +rv10 +rv20 +s302m +sbc +sgi # trivial +smc +snow +sonic +sonic_ls +speedhq +srt # trivial +ssa # trivial +subrip # trivial +sunrast # trivial +svq1 +targa # trivial +text # trivial +tiff # libtiff +truehd +tta +ttml +utvideo +v210 # trivial +v308 # trivial +v408 # trivial +v410 # trivial +vc1_qsv # hardware +vc1_v4l2m2m # hardware +vc2 # dirac +vorbis # libvorbis +vp8_qsv # libvpx +vp8_v4l2m2m # libvpx +vp8_vaapi # libvpx +vp9_qsv # libvpx +vp9_vaapi # libvpx +wavpack +webvtt # trivial +wmav1 +wmav2 +wmv1 +wmv2 +wrapped_avframe # passthrough +xbm # (X11) +xface +xsub +xwd # xwd +y41p # trivial +yuv4 # trivial +zlib # zlib +zmbv # dosbox diff --git a/SOURCES/ffmpeg-5.1.3.tar.xz.asc b/SOURCES/ffmpeg-5.1.3.tar.xz.asc new file mode 100644 index 0000000..4d6146b --- /dev/null +++ b/SOURCES/ffmpeg-5.1.3.tar.xz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQFMBAABCAA2FiEE/PmG6hXm4pOlZE8QtDIvBNZ2WNgFAmQgVfwYHGZmbXBlZy1k +ZXZlbEBmZm1wZWcub3JnAAoJELQyLwTWdljYntkH/1aN/nVkVPhbalrPdX14VIau +aW2OxXleh7AJe9FVjYduJPQZHS5+wm1GTTl5/IHje3sMG54RdkezRIfx/XCeZefd +c+P6OPvqpIXvhEHoKABB/hD7bI/+0bkAfUtDDp0Nfv05sag9PPC0XAJfLGlvWTPl +Ci8rLbO7VnsOo35+3dRVHgx6N6vNQuKRx5oZVgb3GEo18gjV1zsoDD91cQjR7GeF +64Jol7CPAikSnGwi3rxjARTk+V2YqaPM0KY/VR9QlVReIT2CdrRvQtUTvL1WB5mC +6nQ3tHDkRk5uEohAT+e9dxAUBxSTQhKHJn8V4pFS1QVBKH4slPqGvTPnKf5vg+8= +=Tdc7 +-----END PGP SIGNATURE----- diff --git a/SOURCES/ffmpeg-allow-fdk-aac-free.patch b/SOURCES/ffmpeg-allow-fdk-aac-free.patch new file mode 100644 index 0000000..0cc91f1 --- /dev/null +++ b/SOURCES/ffmpeg-allow-fdk-aac-free.patch @@ -0,0 +1,24 @@ +fdk-aac-free-devel is GPL compatible + +See https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 + +Index: ffmpeg-5.0/configure +=================================================================== +--- ffmpeg-5.0.orig/configure 2022-02-09 20:07:49.490888877 +0100 ++++ ffmpeg-5.0/configure 2022-02-09 20:08:30.102854308 +0100 +@@ -1783,7 +1783,6 @@ EXTERNAL_LIBRARY_GPL_LIST=" + + EXTERNAL_LIBRARY_NONFREE_LIST=" + decklink +- libfdk_aac + libtls + " + +@@ -1822,6 +1821,7 @@ EXTERNAL_LIBRARY_LIST=" + libdav1d + libdc1394 + libdrm ++ libfdk_aac + libflite + libfontconfig + libfreetype diff --git a/SOURCES/ffmpeg-codec-choice.patch b/SOURCES/ffmpeg-codec-choice.patch new file mode 100644 index 0000000..3c2bf10 --- /dev/null +++ b/SOURCES/ffmpeg-codec-choice.patch @@ -0,0 +1,56 @@ +From: Jan Engelhardt + +Edit the default codec selection such that + + ffmpeg -i youtube.blah.webm foobar.mkv + +without any further arguments can produce a result even on a +reduced codec selection list. + +--- + libavformat/matroskaenc.c | 19 +++++++++++++------ + 1 file changed, 13 insertions(+), 6 deletions(-) + +Index: ffmpeg-5.0/libavformat/matroskaenc.c +=================================================================== +--- ffmpeg-5.0.orig/libavformat/matroskaenc.c 2022-01-14 19:45:40.000000000 +0100 ++++ ffmpeg-5.0/libavformat/matroskaenc.c 2022-02-04 08:29:14.582130919 +0100 +@@ -2887,16 +2887,24 @@ static int mkv_query_codec(enum AVCodecI + return 0; + } + ++#define PREFAUDIO \ ++ CONFIG_LIBOPUS_ENCODER ? AV_CODEC_ID_OPUS : \ ++ CONFIG_AAC_ENCODER ? AV_CODEC_ID_AAC : \ ++ CONFIG_VORBIS_ENCODER ? AV_CODEC_ID_VORBIS : \ ++ AV_CODEC_ID_AC3 + const AVOutputFormat ff_matroska_muxer = { + .name = "matroska", + .long_name = NULL_IF_CONFIG_SMALL("Matroska"), + .mime_type = "video/x-matroska", + .extensions = "mkv", + .priv_data_size = sizeof(MatroskaMuxContext), +- .audio_codec = CONFIG_LIBVORBIS_ENCODER ? +- AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3, +- .video_codec = CONFIG_LIBX264_ENCODER ? +- AV_CODEC_ID_H264 : AV_CODEC_ID_MPEG4, ++ .audio_codec = PREFAUDIO, ++ .video_codec = ++ CONFIG_LIBVPX_VP9_ENCODER ? AV_CODEC_ID_VP9 : \ ++ CONFIG_LIBX264_ENCODER ? AV_CODEC_ID_H264 : \ ++ CONFIG_LIBVPX_VP8_ENCODER ? AV_CODEC_ID_VP8 : \ ++ CONFIG_MPEG4_ENCODER ? AV_CODEC_ID_MPEG4 : \ ++ AV_CODEC_ID_THEORA, + .init = mkv_init, + .deinit = mkv_deinit, + .write_header = mkv_write_header, +@@ -2954,8 +2962,7 @@ const AVOutputFormat ff_matroska_audio_m + .mime_type = "audio/x-matroska", + .extensions = "mka", + .priv_data_size = sizeof(MatroskaMuxContext), +- .audio_codec = CONFIG_LIBVORBIS_ENCODER ? +- AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3, ++ .audio_codec = PREFAUDIO, + .video_codec = AV_CODEC_ID_NONE, + .init = mkv_init, + .deinit = mkv_deinit, diff --git a/SOURCES/ffmpeg-dlopen-openh264.patch b/SOURCES/ffmpeg-dlopen-openh264.patch new file mode 100644 index 0000000..334e07f --- /dev/null +++ b/SOURCES/ffmpeg-dlopen-openh264.patch @@ -0,0 +1,383 @@ +From 4739b0c97b3378bdaf737171777fe9a71a53eff1 Mon Sep 17 00:00:00 2001 +From: Neal Gompa +Date: Wed, 12 Oct 2022 09:41:27 -0400 +Subject: [PATCH] avcodec/openh264: Add the ability to dlopen() OpenH264 + +We can't directly depend on OpenH264, but we can weakly link to it +and gracefully expose the capability. + +Co-authored-by: Andreas Schneider +Co-authored-by: Neal Gompa + +Signed-off-by: Andreas Schneider +Signed-off-by: Neal Gompa +--- + configure | 3 + + libavcodec/Makefile | 1 + + libavcodec/libopenh264.c | 18 +++- + libavcodec/libopenh264_dlopen.c | 147 ++++++++++++++++++++++++++++++++ + libavcodec/libopenh264_dlopen.h | 58 +++++++++++++ + libavcodec/libopenh264dec.c | 10 +++ + libavcodec/libopenh264enc.c | 10 +++ + 7 files changed, 245 insertions(+), 2 deletions(-) + create mode 100644 libavcodec/libopenh264_dlopen.c + create mode 100644 libavcodec/libopenh264_dlopen.h + +diff --git a/configure b/configure +index ba5793b2ff..8855c1a908 100755 +--- a/configure ++++ b/configure +@@ -251,6 +251,7 @@ External library support: + --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no] + --enable-libopencv enable video filtering via libopencv [no] + --enable-libopenh264 enable H.264 encoding via OpenH264 [no] ++ --enable-libopenh264-dlopen enable H.264 encoding via dlopen()'ed OpenH264 [no] + --enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no] + --enable-libopenmpt enable decoding tracked files via libopenmpt [no] + --enable-libopenvino enable OpenVINO as a DNN module backend +@@ -1844,6 +1845,7 @@ EXTERNAL_LIBRARY_LIST=" + libmysofa + libopencv + libopenh264 ++ libopenh264_dlopen + libopenjpeg + libopenmpt + libopenvino +@@ -6596,6 +6598,7 @@ enabled libopencv && { check_headers opencv2/core/core_c.h && + require libopencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } || + require_pkg_config libopencv opencv opencv/cxcore.h cvCreateImageHeader; } + enabled libopenh264 && require_pkg_config libopenh264 openh264 wels/codec_api.h WelsGetCodecVersion ++enabled libopenh264_dlopen && enable libopenh264 && add_cppflags "-I$(dirname `readlink -f $0`)/ffdlopenhdrs/include -DCONFIG_LIBOPENH264_DLOPEN=1" + enabled libopenjpeg && { check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version || + { require_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } } + enabled libopenmpt && require_pkg_config libopenmpt "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create -lstdc++ && append libopenmpt_extralibs "-lstdc++" +diff --git a/libavcodec/Makefile b/libavcodec/Makefile +index 457ec58377..08a26fba5f 100644 +--- a/libavcodec/Makefile ++++ b/libavcodec/Makefile +@@ -1075,6 +1075,7 @@ OBJS-$(CONFIG_LIBMP3LAME_ENCODER) += libmp3lame.o + OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o + OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o + OBJS-$(CONFIG_LIBOPENCORE_AMRWB_DECODER) += libopencore-amr.o ++OBJS-$(CONFIG_LIBOPENH264_DLOPEN) += libopenh264_dlopen.o + OBJS-$(CONFIG_LIBOPENH264_DECODER) += libopenh264dec.o libopenh264.o + OBJS-$(CONFIG_LIBOPENH264_ENCODER) += libopenh264enc.o libopenh264.o + OBJS-$(CONFIG_LIBOPENJPEG_DECODER) += libopenjpegdec.o +diff --git a/libavcodec/libopenh264.c b/libavcodec/libopenh264.c +index 0f6d28ed88..a124c3fa1e 100644 +--- a/libavcodec/libopenh264.c ++++ b/libavcodec/libopenh264.c +@@ -20,8 +20,13 @@ + */ + + #include ++ ++#ifdef CONFIG_LIBOPENH264_DLOPEN ++#include "libopenh264_dlopen.h" ++#else + #include + #include ++#endif + + #include "libavutil/error.h" + #include "libavutil/log.h" +@@ -52,8 +57,17 @@ int ff_libopenh264_check_version(void *logctx) + // Mingw GCC < 4.7 on x86_32 uses an incorrect/buggy ABI for the WelsGetCodecVersion + // function (for functions returning larger structs), thus skip the check in those + // configurations. +-#if !defined(_WIN32) || !defined(__GNUC__) || !ARCH_X86_32 || AV_GCC_VERSION_AT_LEAST(4, 7) +- OpenH264Version libver = WelsGetCodecVersion(); ++ // Also, for dlopened OpenH264, we should not do the version check. It's too punitive. ++#if !defined(_WIN32) || !defined(__GNUC__) || !ARCH_X86_32 || AV_GCC_VERSION_AT_LEAST(4, 7) || !defined(CONFIG_LIBOPENH264_DLOPEN) ++ OpenH264Version libver; ++ ++#ifdef CONFIG_LIBOPENH264_DLOPEN ++ if (loadLibOpenH264(logctx)) { ++ return AVERROR_EXTERNAL; ++ } ++#endif ++ ++ libver = WelsGetCodecVersion(); + if (memcmp(&libver, &g_stCodecVersion, sizeof(libver))) { + av_log(logctx, AV_LOG_ERROR, "Incorrect library version loaded\n"); + return AVERROR(EINVAL); +diff --git a/libavcodec/libopenh264_dlopen.c b/libavcodec/libopenh264_dlopen.c +new file mode 100644 +index 0000000000..49ea8ff44f +--- /dev/null ++++ b/libavcodec/libopenh264_dlopen.c +@@ -0,0 +1,147 @@ ++/* ++ * OpenH264 dlopen code ++ * ++ * Copyright (C) 2022 Andreas Schneider ++ * ++ * This file is part of FFmpeg. ++ * ++ * FFmpeg is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * FFmpeg is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with FFmpeg; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++#include ++ ++#include "libopenh264_dlopen.h" ++ ++/* ++ * The symbol binding makes sure we do not run into strict aliasing issues which ++ * can lead into segfaults. ++ */ ++typedef int (*__oh264_WelsCreateSVCEncoder)(ISVCEncoder **); ++typedef void (*__oh264_WelsDestroySVCEncoder)(ISVCEncoder *); ++typedef int (*__oh264_WelsGetDecoderCapability)(SDecoderCapability *); ++typedef long (*__oh264_WelsCreateDecoder)(ISVCDecoder **); ++typedef void (*__oh264_WelsDestroyDecoder)(ISVCDecoder *); ++typedef OpenH264Version (*__oh264_WelsGetCodecVersion)(void); ++typedef void (*__oh264_WelsGetCodecVersionEx)(OpenH264Version *); ++ ++#define OH264_SYMBOL_ENTRY(i) \ ++ union { \ ++ __oh264_##i f; \ ++ void *obj; \ ++ } _oh264_##i ++ ++struct oh264_symbols { ++ OH264_SYMBOL_ENTRY(WelsCreateSVCEncoder); ++ OH264_SYMBOL_ENTRY(WelsDestroySVCEncoder); ++ OH264_SYMBOL_ENTRY(WelsGetDecoderCapability); ++ OH264_SYMBOL_ENTRY(WelsCreateDecoder); ++ OH264_SYMBOL_ENTRY(WelsDestroyDecoder); ++ OH264_SYMBOL_ENTRY(WelsGetCodecVersion); ++ OH264_SYMBOL_ENTRY(WelsGetCodecVersionEx); ++}; ++ ++/* Symbols are bound by loadLibOpenH264() */ ++static struct oh264_symbols openh264_symbols; ++ ++int oh264_WelsCreateSVCEncoder(ISVCEncoder **ppEncoder) { ++ return openh264_symbols._oh264_WelsCreateSVCEncoder.f(ppEncoder); ++} ++ ++void oh264_WelsDestroySVCEncoder(ISVCEncoder *pEncoder) { ++ return openh264_symbols._oh264_WelsDestroySVCEncoder.f(pEncoder); ++} ++ ++int oh264_WelsGetDecoderCapability(SDecoderCapability *pDecCapability) { ++ return openh264_symbols._oh264_WelsGetDecoderCapability.f(pDecCapability); ++} ++ ++long oh264_WelsCreateDecoder(ISVCDecoder **ppDecoder) { ++ return openh264_symbols._oh264_WelsCreateDecoder.f(ppDecoder); ++} ++ ++void oh264_WelsDestroyDecoder(ISVCDecoder *pDecoder) { ++ return openh264_symbols._oh264_WelsDestroyDecoder.f(pDecoder); ++} ++ ++OpenH264Version oh264_WelsGetCodecVersion(void) { ++ return openh264_symbols._oh264_WelsGetCodecVersion.f(); ++} ++ ++void oh264_WelsGetCodecVersionEx(OpenH264Version *pVersion) { ++ openh264_symbols._oh264_WelsGetCodecVersionEx.f(pVersion); ++} ++ ++static void *_oh264_bind_symbol(AVCodecContext *avctx, ++ void *handle, ++ const char *sym_name) { ++ void *sym = NULL; ++ ++ sym = dlsym(handle, sym_name); ++ if (sym == NULL) { ++ const char *err = dlerror(); ++ av_log(avctx, ++ AV_LOG_WARNING, ++ "%s: Failed to bind %s\n", ++ err, ++ sym_name); ++ return NULL; ++ } ++ ++ return sym; ++} ++ ++#define oh264_bind_symbol(avctx, handle, sym_name) \ ++ if (openh264_symbols._oh264_##sym_name.obj == NULL) { \ ++ openh264_symbols._oh264_##sym_name.obj = _oh264_bind_symbol(avctx, handle, #sym_name); \ ++ if (openh264_symbols._oh264_##sym_name.obj == NULL) { \ ++ return 1; \ ++ } \ ++ } ++ ++int loadLibOpenH264(AVCodecContext *avctx) { ++ static bool initialized = false; ++ void *libopenh264 = NULL; ++ const char *err = NULL; ++ ++ if (initialized) { ++ return 0; ++ } ++ ++#define OPENH264_LIB "libopenh264.so.7" ++ libopenh264 = dlopen(OPENH264_LIB, RTLD_LAZY); ++ err = dlerror(); ++ if (err != NULL) { ++ av_log(avctx, AV_LOG_WARNING, ++ "%s: %s is missing, openh264 support will be disabled\n", err, ++ OPENH264_LIB); ++ ++ if (libopenh264 != NULL) { ++ dlclose(libopenh264); ++ } ++ return 1; ++ } ++ ++ oh264_bind_symbol(avctx, libopenh264, WelsCreateSVCEncoder); ++ oh264_bind_symbol(avctx, libopenh264, WelsDestroySVCEncoder); ++ oh264_bind_symbol(avctx, libopenh264, WelsGetDecoderCapability); ++ oh264_bind_symbol(avctx, libopenh264, WelsCreateDecoder); ++ oh264_bind_symbol(avctx, libopenh264, WelsDestroyDecoder); ++ oh264_bind_symbol(avctx, libopenh264, WelsGetCodecVersion); ++ oh264_bind_symbol(avctx, libopenh264, WelsGetCodecVersionEx); ++ ++ initialized = true; ++ ++ return 0; ++} +diff --git a/libavcodec/libopenh264_dlopen.h b/libavcodec/libopenh264_dlopen.h +new file mode 100644 +index 0000000000..d7d8bb7cad +--- /dev/null ++++ b/libavcodec/libopenh264_dlopen.h +@@ -0,0 +1,58 @@ ++/* ++ * OpenH264 dlopen code ++ * ++ * Copyright (C) 2022 Andreas Schneider ++ * ++ * This file is part of FFmpeg. ++ * ++ * FFmpeg is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * FFmpeg is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with FFmpeg; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++#ifndef HAVE_LIBOPENH264_DLOPEN_H ++#define HAVE_LIBOPENH264_DLOPEN_H ++ ++#ifdef CONFIG_LIBOPENH264_DLOPEN ++ ++#include ++#include ++ ++#include "avcodec.h" ++ ++int oh264_WelsCreateSVCEncoder(ISVCEncoder **ppEncoder); ++#define WelsCreateSVCEncoder oh264_WelsCreateSVCEncoder ++ ++void oh264_WelsDestroySVCEncoder(ISVCEncoder *pEncoder); ++#define WelsDestroySVCEncoder oh264_WelsDestroySVCEncoder ++ ++int oh264_WelsGetDecoderCapability(SDecoderCapability *pDecCapability); ++#define WelsGetDecoderCapability oh264_WelsGetDecoderCapability ++ ++long oh264_WelsCreateDecoder(ISVCDecoder **ppDecoder); ++#define WelsCreateDecoder oh264_WelsCreateDecoder ++ ++void oh264_WelsDestroyDecoder(ISVCDecoder *pDecoder); ++#define WelsDestroyDecoder oh264_WelsDestroyDecoder ++ ++OpenH264Version oh264_WelsGetCodecVersion(void); ++#define WelsGetCodecVersion oh264_WelsGetCodecVersion ++ ++void oh264_WelsGetCodecVersionEx(OpenH264Version *pVersion); ++#define WelsGetCodecVersionEx oh264_WelsGetCodecVersionEx ++ ++int loadLibOpenH264(AVCodecContext *avctx); ++ ++#endif /* CONFIG_LIBOPENH264_DLOPEN */ ++ ++#endif /* HAVE_LIBOPENH264_DLOPEN_H */ +diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c +index 007f86b619..57aa3bc1d1 100644 +--- a/libavcodec/libopenh264dec.c ++++ b/libavcodec/libopenh264dec.c +@@ -19,8 +19,12 @@ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#ifdef CONFIG_LIBOPENH264_DLOPEN ++#include "libopenh264_dlopen.h" ++#else + #include + #include ++#endif + + #include "libavutil/common.h" + #include "libavutil/fifo.h" +@@ -56,6 +60,12 @@ static av_cold int svc_decode_init(AVCodecContext *avctx) + int log_level; + WelsTraceCallback callback_function; + ++#ifdef CONFIG_LIBOPENH264_DLOPEN ++ if (loadLibOpenH264(avctx)) { ++ return AVERROR_DECODER_NOT_FOUND; ++ } ++#endif ++ + if ((err = ff_libopenh264_check_version(avctx)) < 0) + return AVERROR_DECODER_NOT_FOUND; + +diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c +index db252aace1..75289678da 100644 +--- a/libavcodec/libopenh264enc.c ++++ b/libavcodec/libopenh264enc.c +@@ -19,8 +19,12 @@ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#ifdef CONFIG_LIBOPENH264_DLOPEN ++#include "libopenh264_dlopen.h" ++#else + #include + #include ++#endif + + #include "libavutil/attributes.h" + #include "libavutil/common.h" +@@ -137,6 +141,12 @@ static av_cold int svc_encode_init(AVCodecContext *avctx) + WelsTraceCallback callback_function; + AVCPBProperties *props; + ++#ifdef CONFIG_LIBOPENH264_DLOPEN ++ if (loadLibOpenH264(avctx)) { ++ return AVERROR_ENCODER_NOT_FOUND; ++ } ++#endif ++ + if ((err = ff_libopenh264_check_version(avctx)) < 0) + return AVERROR_ENCODER_NOT_FOUND; + +-- +2.36.1 + diff --git a/SOURCES/ffmpeg-new-coder-errors.patch b/SOURCES/ffmpeg-new-coder-errors.patch new file mode 100644 index 0000000..1dc687c --- /dev/null +++ b/SOURCES/ffmpeg-new-coder-errors.patch @@ -0,0 +1,60 @@ +From: Jan Engelhardt +Date: 2016-04-10 23:23:53.138440254 +0200 + +Improve the error messages a bit to say what's really going on +(in light of a reduced build). + +--- + fftools/ffmpeg.c | 2 +- + fftools/ffmpeg_filter.c | 4 ++-- + fftools/ffmpeg_opt.c | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +Index: ffmpeg-5.0/fftools/ffmpeg.c +=================================================================== +--- ffmpeg-5.0.orig/fftools/ffmpeg.c 2022-01-14 19:45:39.000000000 +0100 ++++ ffmpeg-5.0/fftools/ffmpeg.c 2022-02-04 08:16:14.606621540 +0100 +@@ -2871,7 +2871,7 @@ static int init_input_stream(int ist_ind + if (ist->decoding_needed) { + const AVCodec *codec = ist->dec; + if (!codec) { +- snprintf(error, error_len, "Decoder (codec %s) not found for input stream #%d:%d", ++ snprintf(error, error_len, "This build of ffmpeg does not include a \"%s\" decoder needed for input stream #%d:%d.", + avcodec_get_name(ist->dec_ctx->codec_id), ist->file_index, ist->st->index); + return AVERROR(EINVAL); + } +Index: ffmpeg-5.0/fftools/ffmpeg_filter.c +=================================================================== +--- ffmpeg-5.0.orig/fftools/ffmpeg_filter.c 2022-01-14 19:45:39.000000000 +0100 ++++ ffmpeg-5.0/fftools/ffmpeg_filter.c 2022-02-04 08:16:14.607621538 +0100 +@@ -925,7 +925,7 @@ static int configure_input_filter(Filter + { + if (!ifilter->ist->dec) { + av_log(NULL, AV_LOG_ERROR, +- "No decoder for stream #%d:%d, filtering impossible\n", ++ "This build of ffmpeg does not have a suitable decoder for stream #%d:%d enabled, filtering impossible\n", + ifilter->ist->file_index, ifilter->ist->st->index); + return AVERROR_DECODER_NOT_FOUND; + } +@@ -1094,7 +1094,7 @@ int configure_filtergraph(FilterGraph *f + if (!ost->enc) { + /* identical to the same check in ffmpeg.c, needed because + complex filter graphs are initialized earlier */ +- av_log(NULL, AV_LOG_ERROR, "Encoder (codec %s) not found for output stream #%d:%d\n", ++ av_log(NULL, AV_LOG_ERROR, "This build of ffmpeg does not include a \"%s\" encoder needed for output stream #%d:%d.\n", + avcodec_get_name(ost->st->codecpar->codec_id), ost->file_index, ost->index); + ret = AVERROR(EINVAL); + goto fail; +Index: ffmpeg-5.0/fftools/ffmpeg_opt.c +=================================================================== +--- ffmpeg-5.0.orig/fftools/ffmpeg_opt.c 2022-01-14 19:45:39.000000000 +0100 ++++ ffmpeg-5.0/fftools/ffmpeg_opt.c 2022-02-04 08:16:14.607621538 +0100 +@@ -1406,7 +1406,7 @@ static int choose_encoder(OptionsContext + if (!ost->enc) { + av_log(NULL, AV_LOG_FATAL, "Automatic encoder selection failed for " + "output stream #%d:%d. Default encoder for format %s (codec %s) is " +- "probably disabled. Please choose an encoder manually.\n", ++ "probably disabled or this build of ffmpeg does not include that codec. Please choose an encoder manually.\n", + ost->file_index, ost->index, s->oformat->name, + avcodec_get_name(ost->st->codecpar->codec_id)); + return AVERROR_ENCODER_NOT_FOUND; diff --git a/SOURCES/ffmpeg.keyring b/SOURCES/ffmpeg.keyring new file mode 100644 index 0000000000000000000000000000000000000000..ba6d858a548e6714bba21436676afee9a183aa4b GIT binary patch literal 1203 zcmV;k1Wfyx0SyFAwyj+O2mrSaG-d;3<%YVLztPH|OU)d2{y#b_m?X!Uh*lgruLl$4 zO7NwMnH#*GDF$_Kaek&-lrkzCDIRWP)qY}a??JcU+=VabZgMDYYsK=&Qc?)e(xg`P z&01LK?@w-$#e_A>)aGCzaElkRbYVwesKAPEp1froa(KBY$zMK%_f<3Pif;V5`77K{ zO>&RSp}GI?1J2Odix6diGpT3)!hdtvdTUe)oeY7gXVcM%z-i{%d{&ub1Fc2S#^;4w zCya1#cEXRB3WYEMlk_bIFz=mi8yoAArl&`2RzzcBX;BdFkM#F8=So0q=h3zerHxl( zX>_KmKW@^8oE5ZvQzHNo0RRECG)6{kaAjv8a%F5~VRL05b7^O8X>MmAYh`&LJZ5HX zaAjvLWMy_`Y(QpaZE$60E^l&YK8XQ11QP)Q03rnfO}4FF0viJc3ke7Z0|EvW2m%QT z3j`Jd0|5da0Rk6*0162Zv@$OQ)^=FfD-{R-SL)7Q(kdsmgNt}Pmg-Tt3%JVy_#^s) zogHyjP995?U{Xv71q*i2%i)=PQ zoT}vYcfcjpAp+q*3bcSv;)T{Z;?F~$G-r0*CWl!NsfL7B_LakPkzbM4u6PwM2Jx@g z)=h9YT*W>AyR7yNr3DL0%UY>Cp}IZiSk=BS^EwcH;QTtfRExdD>fK#xm z8*o3!FX0%I3_}l_%-IC zPPZP^U90igjpfNIO-UG$cg!o#+&qZQp9@%s&GOv<5di=Ji2)x37y$wR2?YX8wyj+P z8w>yn2@te0F9g7b6iaN{N9+EMN_`;mzF;i{+ zJziF2+5!rct^jeb`(uaB6Kje;zCX}SOqY*q$82btJT0iq2>NspIbz$lUDHxW5tgit0Q?F}|f1UOBi=gmP zf`x0Lb&$5(bg@bDqUUq_9|TO851`VwkqQH904a}(fVa)S$)`6TGf22XdoA1FAkq$| RyQ7?+Zy$;D;d0<3ff*xXEQ|mE literal 0 HcmV?d00001 diff --git a/SOURCES/ffmpeg_find_free_source_headers.sh b/SOURCES/ffmpeg_find_free_source_headers.sh new file mode 100755 index 0000000..05f3568 --- /dev/null +++ b/SOURCES/ffmpeg_find_free_source_headers.sh @@ -0,0 +1,72 @@ +#!/bin/bash + +# Script to identify trivial new headers for new sources added +# Requires: bash, coreutils, tar, xz +# Author: Neal Gompa +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +FFMPEG_VERSION=$1 +FF_SRC_DIFF=$2 + +if [ -z $1 -o -z $2 ]; then + echo "No arguments provided, quitting!" + exit 1 +fi + +echo "Setting up..." +# Get local directory +LOCALDIR=$(realpath $(dirname $0)) + +# Create working area +TMPDIR=$(mktemp -d /tmp/ffsrchdrsXXXXXX) +mkdir -pv $TMPDIR + +# Extract ffmpeg sources +if [ ! -f "ffmpeg-${FFMPEG_VERSION}.tar.xz" ]; then + echo "No ffmpeg tarball, exiting!" + exit 2 +fi +if [ ! -f "$FF_SRC_DIFF" ]; then + echo "No ffmpeg sources diff, exiting!" + exit 2 +fi +echo "Extracting upstream ffmpeg sources..." +tar -C ${TMPDIR} -xf ffmpeg-${FFMPEG_VERSION}.tar.xz + +echo "Generating header list from diff..." +# Read in ffmpeg_free_sources diff +while IFS= read -r line +do + if [[ $line = \+* ]]; then + ffmpeg_src_file="${line:1}" + if [ -f "${TMPDIR}/ffmpeg-${FFMPEG_VERSION}/${ffmpeg_src_file}" ]; then + ffmpeg_hdr_file="${ffmpeg_src_file%.c}.h" + [ -f "${TMPDIR}/ffmpeg-${FFMPEG_VERSION}/${ffmpeg_hdr_file}" ] && echo "${ffmpeg_hdr_file}" >> ${LOCALDIR}/ffmpeg_free_sources + ffmpeg_hdr_file="${ffmpeg_src_file%.c}_cb.h" + [ -f "${TMPDIR}/ffmpeg-${FFMPEG_VERSION}/${ffmpeg_hdr_file}" ] && echo "${ffmpeg_hdr_file}" >> ${LOCALDIR}/ffmpeg_free_sources + ffmpeg_hdr_file="${ffmpeg_src_file%.c}data.h" + [ -f "${TMPDIR}/ffmpeg-${FFMPEG_VERSION}/${ffmpeg_hdr_file}" ] && echo "${ffmpeg_hdr_file}" >> ${LOCALDIR}/ffmpeg_free_sources + ffmpeg_hdr_file="${ffmpeg_src_file%.c}_data.h" + [ -f "${TMPDIR}/ffmpeg-${FFMPEG_VERSION}/${ffmpeg_hdr_file}" ] && echo "${ffmpeg_hdr_file}" >> ${LOCALDIR}/ffmpeg_free_sources + ffmpeg_hdr_file="${ffmpeg_src_file%.c}_tablegen.h" + [ -f "${TMPDIR}/ffmpeg-${FFMPEG_VERSION}/${ffmpeg_hdr_file}" ] && echo "${ffmpeg_hdr_file}" >> ${LOCALDIR}/ffmpeg_free_sources + fi + fi +done < <(cat $FF_SRC_DIFF) + +# Clean up +echo "Clean up workspace..." +rm -rf ${TMPDIR} diff --git a/SOURCES/ffmpeg_free_sources b/SOURCES/ffmpeg_free_sources new file mode 100644 index 0000000..c834f1c --- /dev/null +++ b/SOURCES/ffmpeg_free_sources @@ -0,0 +1,3871 @@ +CONTRIBUTING.md +COPYING.GPLv2 +COPYING.GPLv3 +COPYING.LGPLv2.1 +COPYING.LGPLv3 +CREDITS +Changelog +INSTALL.md +LICENSE.md +MAINTAINERS +Makefile +README.md +RELEASE +RELEASE_NOTES +VERSION +compat/atomics/gcc/stdatomic.h +compat/cuda/dynlink_loader.h +compat/va_copy.h +compat/w32dlfcn.h +configure +doc/APIchanges +doc/Doxyfile +doc/Makefile +doc/authors.texi +doc/bitstream_filters.texi +doc/bootstrap.min.css +doc/build_system.txt +doc/codecs.texi +doc/decoders.texi +doc/default.css +doc/demuxers.texi +doc/dev_community/community.md +doc/dev_community/resolution_process.md +doc/developer.texi +doc/devices.texi +doc/doxy-wrapper.sh +doc/encoders.texi +doc/errno.txt +doc/examples/Makefile +doc/examples/Makefile.example +doc/examples/README +doc/examples/avio_list_dir.c +doc/examples/avio_reading.c +doc/examples/decode_audio.c +doc/examples/decode_video.c +doc/examples/demuxing_decoding.c +doc/examples/encode_audio.c +doc/examples/encode_video.c +doc/examples/extract_mvs.c +doc/examples/filter_audio.c +doc/examples/filtering_audio.c +doc/examples/filtering_video.c +doc/examples/http_multiclient.c +doc/examples/hw_decode.c +doc/examples/metadata.c +doc/examples/muxing.c +doc/examples/qsvdec.c +doc/examples/remuxing.c +doc/examples/resampling_audio.c +doc/examples/scaling_video.c +doc/examples/transcode_aac.c +doc/examples/transcoding.c +doc/examples/vaapi_encode.c +doc/examples/vaapi_transcode.c +doc/faq.texi +doc/fate.texi +doc/fate_config.sh.template +doc/ffmpeg-bitstream-filters.texi +doc/ffmpeg-codecs.texi +doc/ffmpeg-devices.texi +doc/ffmpeg-filters.texi +doc/ffmpeg-formats.texi +doc/ffmpeg-protocols.texi +doc/ffmpeg-resampler.texi +doc/ffmpeg-scaler.texi +doc/ffmpeg-utils.texi +doc/ffmpeg.texi +doc/ffmpeg.txt +doc/ffplay.texi +doc/ffprobe.texi +doc/ffprobe.xsd +doc/fftools-common-opts.texi +doc/filter_design.txt +doc/filters.texi +doc/formats.texi +doc/general.texi +doc/general_contents.texi +doc/git-howto.texi +doc/indevs.texi +doc/issue_tracker.txt +doc/lexicon +doc/libav-merge.txt +doc/libavcodec.texi +doc/libavdevice.texi +doc/libavfilter.texi +doc/libavformat.texi +doc/libavutil.texi +doc/libswresample.texi +doc/libswscale.texi +doc/mailing-list-faq.texi +doc/metadata.texi +doc/mips.txt +doc/multithreading.txt +doc/muxers.texi +doc/nut.texi +doc/optimization.txt +doc/outdevs.texi +doc/patchwork +doc/platform.texi +doc/print_options.c +doc/protocols.texi +doc/rate_distortion.txt +doc/resampler.texi +doc/scaler.texi +doc/snow.txt +doc/style.min.css +doc/swresample.txt +doc/swscale.txt +doc/t2h.init +doc/t2h.pm +doc/tablegen.txt +doc/texi2pod.pl +doc/texidep.pl +doc/transforms.md +doc/undefined.txt +doc/utils.texi +doc/writing_filters.txt +ffbuild/arch.mak +ffbuild/bin2c.c +ffbuild/common.mak +ffbuild/library.mak +ffbuild/libversion.sh +ffbuild/pkgconfig_generate.sh +ffbuild/version.sh +fftools/Makefile +fftools/cmdutils.c +fftools/cmdutils.h +fftools/ffmpeg.c +fftools/ffmpeg.h +fftools/ffmpeg_filter.c +fftools/ffmpeg_hw.c +fftools/ffmpeg_mux.c +fftools/ffmpeg_opt.c +fftools/ffplay.c +fftools/ffprobe.c +fftools/fopen_utf8.h +fftools/opt_common.c +fftools/opt_common.h +libavcodec/012v.c +libavcodec/4xm.c +libavcodec/8bps.c +libavcodec/8svx.c +libavcodec/Makefile +libavcodec/a64colors.h +libavcodec/a64multienc.c +libavcodec/a64tables.h +libavcodec/aac.h +libavcodec/aac_ac3_parser.c +libavcodec/aac_ac3_parser.h +libavcodec/aac_adtstoasc_bsf.c +libavcodec/aac_defines.h +libavcodec/aac_parser.c +libavcodec/aaccoder.c +libavcodec/aaccoder_trellis.h +libavcodec/aaccoder_twoloop.h +libavcodec/aacdec.c +libavcodec/aacdec_template.c +libavcodec/aacdectab.h +libavcodec/aacenc.c +libavcodec/aacenc.h +libavcodec/aacenc_is.c +libavcodec/aacenc_is.h +libavcodec/aacenc_ltp.c +libavcodec/aacenc_ltp.h +libavcodec/aacenc_pred.c +libavcodec/aacenc_pred.h +libavcodec/aacenc_quantization.h +libavcodec/aacenc_quantization_misc.h +libavcodec/aacenc_tns.c +libavcodec/aacenc_tns.h +libavcodec/aacenc_utils.h +libavcodec/aacenctab.c +libavcodec/aacenctab.h +libavcodec/aacps.c +libavcodec/aacps.h +libavcodec/aacps_common.c +libavcodec/aacps_float.c +libavcodec/aacps_tablegen.h +libavcodec/aacpsdata.c +libavcodec/aacpsdsp.h +libavcodec/aacpsdsp_float.c +libavcodec/aacpsdsp_template.c +libavcodec/aacpsy.c +libavcodec/aacsbr.c +libavcodec/aacsbr.h +libavcodec/aacsbr_template.c +libavcodec/aacsbrdata.h +libavcodec/aactab.c +libavcodec/aactab.h +libavcodec/aandcttab.c +libavcodec/aandcttab.h +libavcodec/aarch64/Makefile +libavcodec/aarch64/aacpsdsp_init_aarch64.c +libavcodec/aarch64/aacpsdsp_neon.S +libavcodec/aarch64/asm-offsets.h +libavcodec/aarch64/cabac.h +libavcodec/aarch64/fft_init_aarch64.c +libavcodec/aarch64/fft_neon.S +libavcodec/aarch64/fmtconvert_init.c +libavcodec/aarch64/fmtconvert_neon.S +libavcodec/aarch64/h264chroma_init_aarch64.c +libavcodec/aarch64/h264cmc_neon.S +libavcodec/aarch64/h264dsp_init_aarch64.c +libavcodec/aarch64/h264dsp_neon.S +libavcodec/aarch64/h264idct_neon.S +libavcodec/aarch64/h264pred_init.c +libavcodec/aarch64/h264pred_neon.S +libavcodec/aarch64/h264qpel_init_aarch64.c +libavcodec/aarch64/h264qpel_neon.S +libavcodec/aarch64/hpeldsp_init_aarch64.c +libavcodec/aarch64/hpeldsp_neon.S +libavcodec/aarch64/idct.h +libavcodec/aarch64/idctdsp_init_aarch64.c +libavcodec/aarch64/idctdsp_neon.S +libavcodec/aarch64/mdct_neon.S +libavcodec/aarch64/me_cmp_init_aarch64.c +libavcodec/aarch64/me_cmp_neon.S +libavcodec/aarch64/mpegaudiodsp_init.c +libavcodec/aarch64/mpegaudiodsp_neon.S +libavcodec/aarch64/neon.S +libavcodec/aarch64/neontest.c +libavcodec/aarch64/opusdsp_init.c +libavcodec/aarch64/opusdsp_neon.S +libavcodec/aarch64/pixblockdsp_init_aarch64.c +libavcodec/aarch64/pixblockdsp_neon.S +libavcodec/aarch64/sbrdsp_init_aarch64.c +libavcodec/aarch64/sbrdsp_neon.S +libavcodec/aarch64/simple_idct_neon.S +libavcodec/aarch64/synth_filter_init.c +libavcodec/aarch64/synth_filter_neon.S +libavcodec/aarch64/vc1dsp_init_aarch64.c +libavcodec/aarch64/vc1dsp_neon.S +libavcodec/aarch64/videodsp.S +libavcodec/aarch64/videodsp_init.c +libavcodec/aarch64/vorbisdsp_init.c +libavcodec/aarch64/vorbisdsp_neon.S +libavcodec/aarch64/vp8dsp.h +libavcodec/aarch64/vp8dsp_init_aarch64.c +libavcodec/aarch64/vp8dsp_neon.S +libavcodec/aarch64/vp9dsp_init.h +libavcodec/aarch64/vp9dsp_init_10bpp_aarch64.c +libavcodec/aarch64/vp9dsp_init_12bpp_aarch64.c +libavcodec/aarch64/vp9dsp_init_16bpp_aarch64_template.c +libavcodec/aarch64/vp9dsp_init_aarch64.c +libavcodec/aarch64/vp9itxfm_16bpp_neon.S +libavcodec/aarch64/vp9itxfm_neon.S +libavcodec/aarch64/vp9lpf_16bpp_neon.S +libavcodec/aarch64/vp9lpf_neon.S +libavcodec/aarch64/vp9mc_16bpp_neon.S +libavcodec/aarch64/vp9mc_aarch64.S +libavcodec/aarch64/vp9mc_neon.S +libavcodec/aasc.c +libavcodec/ac3.c +libavcodec/ac3.h +libavcodec/ac3_channel_layout_tab.c +libavcodec/ac3_channel_layout_tab.h +libavcodec/ac3_parser.c +libavcodec/ac3_parser.h +libavcodec/ac3_parser_internal.h +libavcodec/ac3dec.c +libavcodec/ac3dec.h +libavcodec/ac3dec_data.c +libavcodec/ac3dec_data.h +libavcodec/ac3dec_float.c +libavcodec/ac3defs.h +libavcodec/ac3dsp.c +libavcodec/ac3dsp.h +libavcodec/ac3enc.c +libavcodec/ac3enc.h +libavcodec/ac3enc_float.c +libavcodec/ac3enc_template.c +libavcodec/ac3tab.c +libavcodec/ac3tab.h +libavcodec/acelp_filters.c +libavcodec/acelp_filters.h +libavcodec/acelp_pitch_delay.c +libavcodec/acelp_pitch_delay.h +libavcodec/acelp_vectors.c +libavcodec/acelp_vectors.h +libavcodec/adpcm.c +libavcodec/adpcm.h +libavcodec/adpcm_data.c +libavcodec/adpcm_data.h +libavcodec/adpcmenc.c +libavcodec/adts_header.c +libavcodec/adts_header.h +libavcodec/adts_parser.c +libavcodec/adts_parser.h +libavcodec/adx.c +libavcodec/adx.h +libavcodec/adx_parser.c +libavcodec/adxdec.c +libavcodec/adxenc.c +libavcodec/alac.c +libavcodec/alac_data.c +libavcodec/alac_data.h +libavcodec/alacdsp.c +libavcodec/alacdsp.h +libavcodec/alacenc.c +libavcodec/aliaspixdec.c +libavcodec/aliaspixenc.c +libavcodec/allcodecs.c +libavcodec/alpha/Makefile +libavcodec/amfenc.c +libavcodec/amfenc.h +libavcodec/amfenc_h264.c +libavcodec/amfenc_hevc.c +libavcodec/amr.h +libavcodec/amr_parser.c +libavcodec/amrnbdata.h +libavcodec/amrnbdec.c +libavcodec/amrwbdata.h +libavcodec/amrwbdec.c +libavcodec/anm.c +libavcodec/ansi.c +libavcodec/apedec.c +libavcodec/apng.h +libavcodec/arbc.c +libavcodec/argo.c +libavcodec/arm/Makefile +libavcodec/arm/aac.h +libavcodec/arm/aacpsdsp_init_arm.c +libavcodec/arm/aacpsdsp_neon.S +libavcodec/arm/ac3dsp_arm.S +libavcodec/arm/ac3dsp_armv6.S +libavcodec/arm/ac3dsp_init_arm.c +libavcodec/arm/ac3dsp_neon.S +libavcodec/arm/asm-offsets.h +libavcodec/arm/audiodsp_arm.h +libavcodec/arm/audiodsp_init_arm.c +libavcodec/arm/audiodsp_init_neon.c +libavcodec/arm/audiodsp_neon.S +libavcodec/arm/blockdsp_arm.h +libavcodec/arm/blockdsp_init_arm.c +libavcodec/arm/blockdsp_init_neon.c +libavcodec/arm/blockdsp_neon.S +libavcodec/arm/cabac.h +libavcodec/arm/dca.h +libavcodec/arm/fft_init_arm.c +libavcodec/arm/fft_neon.S +libavcodec/arm/fft_vfp.S +libavcodec/arm/flacdsp_arm.S +libavcodec/arm/flacdsp_init_arm.c +libavcodec/arm/fmtconvert_init_arm.c +libavcodec/arm/fmtconvert_neon.S +libavcodec/arm/fmtconvert_vfp.S +libavcodec/arm/g722dsp_init_arm.c +libavcodec/arm/g722dsp_neon.S +libavcodec/arm/h264chroma_init_arm.c +libavcodec/arm/h264cmc_neon.S +libavcodec/arm/h264dsp_init_arm.c +libavcodec/arm/h264dsp_neon.S +libavcodec/arm/h264idct_neon.S +libavcodec/arm/h264pred_init_arm.c +libavcodec/arm/h264pred_neon.S +libavcodec/arm/h264qpel_init_arm.c +libavcodec/arm/h264qpel_neon.S +libavcodec/arm/hpeldsp_arm.S +libavcodec/arm/hpeldsp_arm.h +libavcodec/arm/hpeldsp_armv6.S +libavcodec/arm/hpeldsp_init_arm.c +libavcodec/arm/hpeldsp_init_armv6.c +libavcodec/arm/hpeldsp_init_neon.c +libavcodec/arm/hpeldsp_neon.S +libavcodec/arm/idct.h +libavcodec/arm/idctdsp_arm.S +libavcodec/arm/idctdsp_arm.h +libavcodec/arm/idctdsp_armv6.S +libavcodec/arm/idctdsp_init_arm.c +libavcodec/arm/idctdsp_init_armv5te.c +libavcodec/arm/idctdsp_init_armv6.c +libavcodec/arm/idctdsp_init_neon.c +libavcodec/arm/idctdsp_neon.S +libavcodec/arm/int_neon.S +libavcodec/arm/jrevdct_arm.S +libavcodec/arm/lossless_audiodsp_init_arm.c +libavcodec/arm/lossless_audiodsp_neon.S +libavcodec/arm/mathops.h +libavcodec/arm/mdct_neon.S +libavcodec/arm/mdct_vfp.S +libavcodec/arm/me_cmp_armv6.S +libavcodec/arm/me_cmp_init_arm.c +libavcodec/arm/mlpdsp_armv5te.S +libavcodec/arm/mlpdsp_armv6.S +libavcodec/arm/mlpdsp_init_arm.c +libavcodec/arm/mpegaudiodsp_fixed_armv6.S +libavcodec/arm/mpegaudiodsp_init_arm.c +libavcodec/arm/mpegvideo_arm.c +libavcodec/arm/mpegvideo_arm.h +libavcodec/arm/mpegvideo_armv5te.c +libavcodec/arm/mpegvideo_armv5te_s.S +libavcodec/arm/mpegvideo_neon.S +libavcodec/arm/mpegvideoencdsp_armv6.S +libavcodec/arm/mpegvideoencdsp_init_arm.c +libavcodec/arm/neon.S +libavcodec/arm/neontest.c +libavcodec/arm/pixblockdsp_armv6.S +libavcodec/arm/pixblockdsp_init_arm.c +libavcodec/arm/pixblockdsp_neon.S +libavcodec/arm/rdft_init_arm.c +libavcodec/arm/rdft_neon.S +libavcodec/arm/sbcdsp_armv6.S +libavcodec/arm/sbcdsp_init_arm.c +libavcodec/arm/sbcdsp_neon.S +libavcodec/arm/sbrdsp_init_arm.c +libavcodec/arm/sbrdsp_neon.S +libavcodec/arm/simple_idct_arm.S +libavcodec/arm/simple_idct_armv5te.S +libavcodec/arm/simple_idct_armv6.S +libavcodec/arm/simple_idct_neon.S +libavcodec/arm/startcode.h +libavcodec/arm/startcode_armv6.S +libavcodec/arm/synth_filter_init_arm.c +libavcodec/arm/synth_filter_neon.S +libavcodec/arm/synth_filter_vfp.S +libavcodec/arm/vc1dsp.h +libavcodec/arm/vc1dsp_init_arm.c +libavcodec/arm/vc1dsp_init_neon.c +libavcodec/arm/vc1dsp_neon.S +libavcodec/arm/videodsp_arm.h +libavcodec/arm/videodsp_armv5te.S +libavcodec/arm/videodsp_init_arm.c +libavcodec/arm/videodsp_init_armv5te.c +libavcodec/arm/vorbisdsp_init_arm.c +libavcodec/arm/vorbisdsp_neon.S +libavcodec/arm/vp3dsp_init_arm.c +libavcodec/arm/vp3dsp_neon.S +libavcodec/arm/vp56_arith.h +libavcodec/arm/vp6dsp_init_arm.c +libavcodec/arm/vp6dsp_neon.S +libavcodec/arm/vp8.h +libavcodec/arm/vp8_armv6.S +libavcodec/arm/vp8dsp.h +libavcodec/arm/vp8dsp_armv6.S +libavcodec/arm/vp8dsp_init_arm.c +libavcodec/arm/vp8dsp_init_armv6.c +libavcodec/arm/vp8dsp_init_neon.c +libavcodec/arm/vp8dsp_neon.S +libavcodec/arm/vp9dsp_init.h +libavcodec/arm/vp9dsp_init_10bpp_arm.c +libavcodec/arm/vp9dsp_init_12bpp_arm.c +libavcodec/arm/vp9dsp_init_16bpp_arm_template.c +libavcodec/arm/vp9dsp_init_arm.c +libavcodec/arm/vp9itxfm_16bpp_neon.S +libavcodec/arm/vp9itxfm_neon.S +libavcodec/arm/vp9lpf_16bpp_neon.S +libavcodec/arm/vp9lpf_neon.S +libavcodec/arm/vp9mc_16bpp_neon.S +libavcodec/arm/vp9mc_neon.S +libavcodec/ass.c +libavcodec/ass.h +libavcodec/ass_split.c +libavcodec/ass_split.h +libavcodec/assdec.c +libavcodec/assenc.c +libavcodec/asv.c +libavcodec/asv.h +libavcodec/asvdec.c +libavcodec/asvenc.c +libavcodec/atrac.c +libavcodec/atrac.h +libavcodec/atrac1.c +libavcodec/atrac1data.h +libavcodec/atrac3.c +libavcodec/atrac3data.h +libavcodec/atrac3plus.c +libavcodec/atrac3plus.h +libavcodec/atrac3plus_data.h +libavcodec/atrac3plusdec.c +libavcodec/atrac3plusdsp.c +libavcodec/atsc_a53.c +libavcodec/atsc_a53.h +libavcodec/audio_frame_queue.c +libavcodec/audio_frame_queue.h +libavcodec/audiodsp.c +libavcodec/audiodsp.h +libavcodec/aura.c +libavcodec/av1.h +libavcodec/av1_frame_merge_bsf.c +libavcodec/av1_frame_split_bsf.c +libavcodec/av1_metadata_bsf.c +libavcodec/av1_parse.c +libavcodec/av1_parse.h +libavcodec/av1_parser.c +libavcodec/av1dec.c +libavcodec/av1dec.h +libavcodec/avcodec.c +libavcodec/avcodec.h +libavcodec/avdct.c +libavcodec/avdct.h +libavcodec/avfft.c +libavcodec/avfft.h +libavcodec/avpacket.c +libavcodec/avs2.c +libavcodec/avs2.h +libavcodec/avs2_parser.c +libavcodec/avs3.h +libavcodec/avs3_parser.c +libavcodec/bethsoftvideo.c +libavcodec/bethsoftvideo.h +libavcodec/bfi.c +libavcodec/bink.c +libavcodec/binkaudio.c +libavcodec/binkdata.h +libavcodec/binkdsp.c +libavcodec/binkdsp.h +libavcodec/bintext.c +libavcodec/bintext.h +libavcodec/bit_depth_template.c +libavcodec/bitpacked_dec.c +libavcodec/bitpacked_enc.c +libavcodec/bitstream.c +libavcodec/bitstream_filters.c +libavcodec/blockdsp.c +libavcodec/blockdsp.h +libavcodec/bmp.c +libavcodec/bmp.h +libavcodec/bmp_parser.c +libavcodec/bmpenc.c +libavcodec/bmvaudio.c +libavcodec/bmvvideo.c +libavcodec/brenderpix.c +libavcodec/bsf.c +libavcodec/bsf.h +libavcodec/bsf_internal.h +libavcodec/bswapdsp.c +libavcodec/bswapdsp.h +libavcodec/bytestream.h +libavcodec/c93.c +libavcodec/cabac.h +libavcodec/canopus.c +libavcodec/canopus.h +libavcodec/cavs.h +libavcodec/cavs_parser.c +libavcodec/cavsdsp.h +libavcodec/cbrt_data.c +libavcodec/cbrt_data.h +libavcodec/cbrt_tablegen.h +libavcodec/cbs.c +libavcodec/cbs.h +libavcodec/cbs_av1.c +libavcodec/cbs_av1.h +libavcodec/cbs_av1_syntax_template.c +libavcodec/cbs_bsf.c +libavcodec/cbs_bsf.h +libavcodec/cbs_h264.h +libavcodec/cbs_h2645.c +libavcodec/cbs_h2645.h +libavcodec/cbs_h264_syntax_template.c +libavcodec/cbs_h265.h +libavcodec/cbs_h265_syntax_template.c +libavcodec/cbs_internal.h +libavcodec/cbs_jpeg.c +libavcodec/cbs_jpeg.h +libavcodec/cbs_jpeg_syntax_template.c +libavcodec/cbs_mpeg2.c +libavcodec/cbs_mpeg2.h +libavcodec/cbs_mpeg2_syntax_template.c +libavcodec/cbs_sei.c +libavcodec/cbs_sei.h +libavcodec/cbs_sei_syntax_template.c +libavcodec/cbs_vp9.c +libavcodec/cbs_vp9.h +libavcodec/cbs_vp9_syntax_template.c +libavcodec/ccaption_dec.c +libavcodec/cdgraphics.c +libavcodec/cdtoons.c +libavcodec/cdxl.c +libavcodec/celp_filters.c +libavcodec/celp_filters.h +libavcodec/celp_math.c +libavcodec/celp_math.h +libavcodec/cga_data.c +libavcodec/cga_data.h +libavcodec/chomp_bsf.c +libavcodec/cinepak.c +libavcodec/cinepakenc.c +libavcodec/clearvideo.c +libavcodec/clearvideodata.h +libavcodec/cljrdec.c +libavcodec/cljrenc.c +libavcodec/codec.h +libavcodec/codec2utils.h +libavcodec/codec_desc.c +libavcodec/codec_desc.h +libavcodec/codec_id.h +libavcodec/codec_internal.h +libavcodec/codec_par.c +libavcodec/codec_par.h +libavcodec/cook.c +libavcodec/cook_parser.c +libavcodec/cookdata.h +libavcodec/copy_block.h +libavcodec/cpia.c +libavcodec/cri_parser.c +libavcodec/crystalhd.c +libavcodec/cscd.c +libavcodec/cyuv.c +libavcodec/d3d11va.c +libavcodec/d3d11va.h +libavcodec/dca.c +libavcodec/dca.h +libavcodec/dca_core.c +libavcodec/dca_core.h +libavcodec/dca_core_bsf.c +libavcodec/dca_exss.c +libavcodec/dca_exss.h +libavcodec/dca_lbr.c +libavcodec/dca_lbr.h +libavcodec/dca_parser.c +libavcodec/dca_sample_rate_tab.c +libavcodec/dca_sample_rate_tab.h +libavcodec/dca_syncwords.h +libavcodec/dca_xll.c +libavcodec/dca_xll.h +libavcodec/dcaadpcm.c +libavcodec/dcaadpcm.h +libavcodec/dcadata.c +libavcodec/dcadata.h +libavcodec/dcadct.c +libavcodec/dcadct.h +libavcodec/dcadec.c +libavcodec/dcadec.h +libavcodec/dcadsp.c +libavcodec/dcadsp.h +libavcodec/dcaenc.c +libavcodec/dcaenc.h +libavcodec/dcahuff.c +libavcodec/dcahuff.h +libavcodec/dcamath.h +libavcodec/dct.c +libavcodec/dct.h +libavcodec/dct32.h +libavcodec/dct32_fixed.c +libavcodec/dct32_float.c +libavcodec/dct32_template.c +libavcodec/dds.c +libavcodec/decode.c +libavcodec/decode.h +libavcodec/defs.h +libavcodec/dfa.c +libavcodec/dfpwmdec.c +libavcodec/dfpwmenc.c +libavcodec/dirac.c +libavcodec/dirac.h +libavcodec/dirac_arith.c +libavcodec/dirac_arith.h +libavcodec/dirac_dwt.c +libavcodec/dirac_dwt.h +libavcodec/dirac_dwt_template.c +libavcodec/dirac_parser.c +libavcodec/dirac_vlc.c +libavcodec/dirac_vlc.h +libavcodec/diracdec.c +libavcodec/diracdsp.c +libavcodec/diracdsp.h +libavcodec/diractab.c +libavcodec/diractab.h +libavcodec/dnxhd_parser.c +libavcodec/dnxhddata.c +libavcodec/dnxhddata.h +libavcodec/dnxhddec.c +libavcodec/dnxhdenc.c +libavcodec/dnxhdenc.h +libavcodec/dolby_e.c +libavcodec/dolby_e.h +libavcodec/dolby_e_parse.c +libavcodec/dolby_e_parser.c +libavcodec/dovi_rpu.h +libavcodec/dpcm.c +libavcodec/dpx.c +libavcodec/dpx_parser.c +libavcodec/dpxenc.c +libavcodec/dsd.c +libavcodec/dsd.h +libavcodec/dsddec.c +libavcodec/dsicinaudio.c +libavcodec/dsicinvideo.c +libavcodec/dss_sp.c +libavcodec/dump_extradata_bsf.c +libavcodec/dv.c +libavcodec/dv.h +libavcodec/dv_error_marker_bsf.c +libavcodec/dv_profile.c +libavcodec/dv_profile.h +libavcodec/dv_profile_internal.h +libavcodec/dv_tablegen.h +libavcodec/dvaudio.h +libavcodec/dvaudio_parser.c +libavcodec/dvaudiodec.c +libavcodec/dvbsub_parser.c +libavcodec/dvbsubdec.c +libavcodec/dvbsubenc.c +libavcodec/dvbtxt.h +libavcodec/dvd_nav_parser.c +libavcodec/dvdata.c +libavcodec/dvdata.h +libavcodec/dvdec.c +libavcodec/dvdsub.c +libavcodec/dvdsub_parser.c +libavcodec/dvdsubdec.c +libavcodec/dvdsubenc.c +libavcodec/dvenc.c +libavcodec/dxa.c +libavcodec/dxtory.c +libavcodec/dxva2.h +libavcodec/dynamic_hdr10_plus.c +libavcodec/dynamic_hdr10_plus.h +libavcodec/dynamic_hdr_vivid.c +libavcodec/dynamic_hdr_vivid.h +libavcodec/eac3_core_bsf.c +libavcodec/eac3_data.h +libavcodec/eac3dec.c +libavcodec/eac3enc.h +libavcodec/eacmv.c +libavcodec/eaidct.c +libavcodec/eaidct.h +libavcodec/eamad.c +libavcodec/eatgq.c +libavcodec/eatgv.c +libavcodec/eatqi.c +libavcodec/elbg.c +libavcodec/elbg.h +libavcodec/encode.c +libavcodec/encode.h +libavcodec/error_resilience.c +libavcodec/error_resilience.h +libavcodec/escape124.c +libavcodec/escape130.c +libavcodec/evrcdata.h +libavcodec/evrcdec.c +libavcodec/exif.c +libavcodec/exif.h +libavcodec/exr.c +libavcodec/exrdsp.c +libavcodec/exrdsp.h +libavcodec/exrenc.c +libavcodec/extract_extradata_bsf.c +libavcodec/faandct.c +libavcodec/faandct.h +libavcodec/faanidct.c +libavcodec/faanidct.h +libavcodec/faxcompr.c +libavcodec/faxcompr.h +libavcodec/fdctdsp.c +libavcodec/fdctdsp.h +libavcodec/fft-internal.h +libavcodec/fft.h +libavcodec/fft_fixed_32.c +libavcodec/fft_float.c +libavcodec/fft_init_table.c +libavcodec/fft_table.h +libavcodec/fft_template.c +libavcodec/ffv1.c +libavcodec/ffv1.h +libavcodec/ffv1_template.c +libavcodec/ffv1dec.c +libavcodec/ffv1dec_template.c +libavcodec/ffv1enc.c +libavcodec/ffv1enc_template.c +libavcodec/ffwavesynth.c +libavcodec/filter_units_bsf.c +libavcodec/fits.c +libavcodec/fits.h +libavcodec/fitsdec.c +libavcodec/flac.c +libavcodec/flac.h +libavcodec/flac_parser.c +libavcodec/flacdata.c +libavcodec/flacdata.h +libavcodec/flacdec.c +libavcodec/flacdsp.c +libavcodec/flacdsp.h +libavcodec/flacdsp_lpc_template.c +libavcodec/flacdsp_template.c +libavcodec/flacenc.c +libavcodec/flashsv.c +libavcodec/flashsv2enc.c +libavcodec/flashsvenc.c +libavcodec/flicvideo.c +libavcodec/float2half.h +libavcodec/flvdec.c +libavcodec/flvdec.h +libavcodec/flvenc.c +libavcodec/flvenc.h +libavcodec/fmtconvert.c +libavcodec/fmtconvert.h +libavcodec/fmvc.c +libavcodec/frame_thread_encoder.c +libavcodec/frame_thread_encoder.h +libavcodec/g722.c +libavcodec/g722.h +libavcodec/g722dec.c +libavcodec/g722dsp.c +libavcodec/g722dsp.h +libavcodec/g722enc.c +libavcodec/g723_1.c +libavcodec/g723_1.h +libavcodec/g723_1_parser.c +libavcodec/g723_1dec.c +libavcodec/g723_1enc.c +libavcodec/g726.c +libavcodec/g729.h +libavcodec/g729_parser.c +libavcodec/g729data.h +libavcodec/g729dec.c +libavcodec/g729postfilter.c +libavcodec/g729postfilter.h +libavcodec/gdv.c +libavcodec/gemdec.c +libavcodec/get_bits.h +libavcodec/get_buffer.c +libavcodec/gif.c +libavcodec/gif.h +libavcodec/gif_parser.c +libavcodec/gifdec.c +libavcodec/golomb.c +libavcodec/golomb.h +libavcodec/gsm.h +libavcodec/gsm_parser.c +libavcodec/gsmdec.c +libavcodec/gsmdec_data.c +libavcodec/gsmdec_data.h +libavcodec/gsmdec_template.c +libavcodec/h261.c +libavcodec/h261.h +libavcodec/h261_parser.c +libavcodec/h261data.c +libavcodec/h261dec.c +libavcodec/h261enc.c +libavcodec/h261enc.h +libavcodec/h263.c +libavcodec/h263.h +libavcodec/h263_parser.c +libavcodec/h263_parser.h +libavcodec/h263data.c +libavcodec/h263data.h +libavcodec/h263dec.c +libavcodec/h263dec.h +libavcodec/h263dsp.c +libavcodec/h263dsp.h +libavcodec/h263enc.h +libavcodec/h264.h +libavcodec/h2645_parse.c +libavcodec/h2645_parse.h +libavcodec/h264_levels.c +libavcodec/h264_levels.h +libavcodec/h264_metadata_bsf.c +libavcodec/h264_mp4toannexb_bsf.c +libavcodec/h264_parse.c +libavcodec/h264_parse.h +libavcodec/h264_parser.c +libavcodec/h264_ps.c +libavcodec/h264_ps.h +libavcodec/h264_redundant_pps_bsf.c +libavcodec/h264_sei.c +libavcodec/h264_sei.h +libavcodec/h264addpx_template.c +libavcodec/h264chroma.c +libavcodec/h264chroma.h +libavcodec/h264chroma_template.c +libavcodec/h264data.c +libavcodec/h264data.h +libavcodec/h264dec.h +libavcodec/h264dsp.c +libavcodec/h264dsp.h +libavcodec/h264dsp_template.c +libavcodec/h264idct.c +libavcodec/h264idct.h +libavcodec/h264idct_template.c +libavcodec/h264pred.c +libavcodec/h264pred.h +libavcodec/h264pred_template.c +libavcodec/h264qpel.c +libavcodec/h264qpel.h +libavcodec/h264qpel_template.c +libavcodec/h265_metadata_bsf.c +libavcodec/h265_profile_level.c +libavcodec/h265_profile_level.h +libavcodec/h274.h +libavcodec/half2float.h +libavcodec/hap.c +libavcodec/hap.h +libavcodec/hapdec.c +libavcodec/hapenc.c +libavcodec/hapqa_extract_bsf.c +libavcodec/hca_data.h +libavcodec/hcadec.c +libavcodec/hcom.c +libavcodec/hevc.h +libavcodec/hevc_data.c +libavcodec/hevc_data.h +libavcodec/hevc_mp4toannexb_bsf.c +libavcodec/hevc_parse.c +libavcodec/hevc_parse.h +libavcodec/hevc_parser.c +libavcodec/hevc_ps.c +libavcodec/hevc_ps.h +libavcodec/hevc_ps_enc.c +libavcodec/hevc_sei.c +libavcodec/hevc_sei.h +libavcodec/hevcdec.h +libavcodec/hevcdsp.h +libavcodec/hevcpred.h +libavcodec/hnm4video.c +libavcodec/hpel_template.c +libavcodec/hpeldsp.c +libavcodec/hpeldsp.h +libavcodec/hq_hqa.c +libavcodec/hq_hqa.h +libavcodec/hq_hqadata.c +libavcodec/hq_hqadsp.c +libavcodec/hq_hqadsp.h +libavcodec/hqx.c +libavcodec/hqx.h +libavcodec/hqxdsp.c +libavcodec/hqxdsp.h +libavcodec/hqxvlc.c +libavcodec/htmlsubtitles.c +libavcodec/htmlsubtitles.h +libavcodec/huffman.c +libavcodec/huffman.h +libavcodec/huffyuv.c +libavcodec/huffyuv.h +libavcodec/huffyuvdec.c +libavcodec/huffyuvdsp.c +libavcodec/huffyuvdsp.h +libavcodec/huffyuvenc.c +libavcodec/huffyuvencdsp.c +libavcodec/huffyuvencdsp.h +libavcodec/hwaccels.h +libavcodec/hwconfig.h +libavcodec/idcinvideo.c +libavcodec/idctdsp.c +libavcodec/idctdsp.h +libavcodec/iff.c +libavcodec/iirfilter.c +libavcodec/iirfilter.h +libavcodec/ilbcdata.h +libavcodec/ilbcdec.c +libavcodec/imc.c +libavcodec/imcdata.h +libavcodec/imgconvert.c +libavcodec/imx.c +libavcodec/imx_dump_header_bsf.c +libavcodec/indeo2.c +libavcodec/indeo2data.h +libavcodec/indeo3.c +libavcodec/indeo3data.h +libavcodec/indeo4.c +libavcodec/indeo4data.h +libavcodec/indeo5.c +libavcodec/indeo5data.h +libavcodec/intelh263dec.c +libavcodec/internal.h +libavcodec/interplayacm.c +libavcodec/interplayvideo.c +libavcodec/intrax8.c +libavcodec/intrax8.h +libavcodec/intrax8dsp.c +libavcodec/intrax8dsp.h +libavcodec/intrax8huf.h +libavcodec/ipu_parser.c +libavcodec/ituh263dec.c +libavcodec/ituh263enc.c +libavcodec/ivi.c +libavcodec/ivi.h +libavcodec/ivi_dsp.c +libavcodec/ivi_dsp.h +libavcodec/j2kenc.c +libavcodec/jacosub.h +libavcodec/jacosubdec.c +libavcodec/jfdctfst.c +libavcodec/jfdctint.c +libavcodec/jfdctint_template.c +libavcodec/jni.c +libavcodec/jni.h +libavcodec/jpeg2000.c +libavcodec/jpeg2000.h +libavcodec/jpeg2000_parser.c +libavcodec/jpeg2000dec.c +libavcodec/jpeg2000dsp.c +libavcodec/jpeg2000dsp.h +libavcodec/jpeg2000dwt.c +libavcodec/jpeg2000dwt.h +libavcodec/jpegls.c +libavcodec/jpegls.h +libavcodec/jpeglsdec.c +libavcodec/jpeglsdec.h +libavcodec/jpeglsenc.c +libavcodec/jpegtables.c +libavcodec/jpegtables.h +libavcodec/jpegtabs.h +libavcodec/jrevdct.c +libavcodec/jvdec.c +libavcodec/kbdwin.c +libavcodec/kbdwin.h +libavcodec/kgv1dec.c +libavcodec/kmvc.c +libavcodec/lagarith.c +libavcodec/lagarithrac.c +libavcodec/lagarithrac.h +libavcodec/latm_parser.c +libavcodec/lcl.h +libavcodec/lcldec.c +libavcodec/lclenc.c +libavcodec/libaomdec.c +libavcodec/libaomenc.c +libavcodec/libavcodec.v +libavcodec/libcodec2.c +libavcodec/libdav1d.c +libavcodec/libfdk-aacdec.c +libavcodec/libfdk-aacenc.c +libavcodec/libgsmdec.c +libavcodec/libgsmenc.c +libavcodec/libilbc.c +libavcodec/libjxl.c +libavcodec/libjxl.h +libavcodec/libjxldec.c +libavcodec/libjxlenc.c +libavcodec/libmp3lame.c +libavcodec/libopencore-amr.c +libavcodec/libopenh264.c +libavcodec/libopenh264.h +libavcodec/libopenh264dec.c +libavcodec/libopenh264enc.c +libavcodec/libopenjpegdec.c +libavcodec/libopenjpegenc.c +libavcodec/libopus.c +libavcodec/libopus.h +libavcodec/libopusdec.c +libavcodec/libopusenc.c +libavcodec/librav1e.c +libavcodec/librsvgdec.c +libavcodec/libspeexdec.c +libavcodec/libspeexenc.c +libavcodec/libsvtav1.c +libavcodec/libtheoraenc.c +libavcodec/libtwolame.c +libavcodec/libvo-amrwbenc.c +libavcodec/libvorbisdec.c +libavcodec/libvorbisenc.c +libavcodec/libvpx.c +libavcodec/libvpx.h +libavcodec/libvpxdec.c +libavcodec/libvpxenc.c +libavcodec/libwebpenc.c +libavcodec/libwebpenc_animencoder.c +libavcodec/libwebpenc_common.c +libavcodec/libwebpenc_common.h +libavcodec/libxvid.c +libavcodec/libzvbi-teletextdec.c +libavcodec/loco.c +libavcodec/log2_tab.c +libavcodec/loongarch/Makefile +libavcodec/lossless_audiodsp.c +libavcodec/lossless_audiodsp.h +libavcodec/lossless_videodsp.c +libavcodec/lossless_videodsp.h +libavcodec/lossless_videoencdsp.c +libavcodec/lossless_videoencdsp.h +libavcodec/lpc.c +libavcodec/lpc.h +libavcodec/lscrdec.c +libavcodec/lsp.c +libavcodec/lsp.h +libavcodec/lzw.c +libavcodec/lzw.h +libavcodec/lzwenc.c +libavcodec/m101.c +libavcodec/mace.c +libavcodec/mathops.h +libavcodec/mathtables.c +libavcodec/mdct15.c +libavcodec/mdct15.h +libavcodec/mdct_fixed_32.c +libavcodec/mdct_float.c +libavcodec/mdct_template.c +libavcodec/mdec.c +libavcodec/me_cmp.c +libavcodec/me_cmp.h +libavcodec/mediacodec.c +libavcodec/mediacodec.h +libavcodec/metasound.c +libavcodec/metasound_data.c +libavcodec/metasound_data.h +libavcodec/microdvddec.c +libavcodec/midivid.c +libavcodec/mimic.c +libavcodec/mips/Makefile +libavcodec/mips/amrwbdec_mips.h +libavcodec/mips/lsp_mips.h +libavcodec/mjpeg.h +libavcodec/mjpeg2jpeg_bsf.c +libavcodec/mjpeg_parser.c +libavcodec/mjpega_dump_header_bsf.c +libavcodec/mjpegbdec.c +libavcodec/mjpegdec.c +libavcodec/mjpegdec.h +libavcodec/mjpegdec_common.c +libavcodec/mjpegenc.c +libavcodec/mjpegenc.h +libavcodec/mjpegenc_common.c +libavcodec/mjpegenc_common.h +libavcodec/mjpegenc_huffman.c +libavcodec/mjpegenc_huffman.h +libavcodec/mlp.c +libavcodec/mlp.h +libavcodec/mlp_parse.c +libavcodec/mlp_parse.h +libavcodec/mlp_parser.c +libavcodec/mlpdec.c +libavcodec/mlpdsp.c +libavcodec/mlpdsp.h +libavcodec/mlpenc.c +libavcodec/mmvideo.c +libavcodec/motion_est.c +libavcodec/motion_est.h +libavcodec/motion_est_template.c +libavcodec/motionpixels.c +libavcodec/motionpixels_tablegen.h +libavcodec/movsub_bsf.c +libavcodec/mp3_header_decompress_bsf.c +libavcodec/mpc.c +libavcodec/mpc.h +libavcodec/mpc7.c +libavcodec/mpc7data.h +libavcodec/mpc8.c +libavcodec/mpc8data.h +libavcodec/mpc8huff.h +libavcodec/mpcdata.h +libavcodec/mpeg12.c +libavcodec/mpeg12.h +libavcodec/mpeg12data.c +libavcodec/mpeg12data.h +libavcodec/mpeg12dec.c +libavcodec/mpeg12dec.h +libavcodec/mpeg12enc.c +libavcodec/mpeg12enc.h +libavcodec/mpeg12framerate.c +libavcodec/mpeg12vlc.h +libavcodec/mpeg2_metadata_bsf.c +libavcodec/mpeg4_unpack_bframes_bsf.c +libavcodec/mpeg4audio.c +libavcodec/mpeg4audio.h +libavcodec/mpeg4audio_sample_rates.c +libavcodec/mpeg4audio_sample_rates.h +libavcodec/mpeg4data.h +libavcodec/mpeg4video.c +libavcodec/mpeg4video.h +libavcodec/mpeg4video_parser.c +libavcodec/mpeg4video_parser.h +libavcodec/mpeg4videodata.h +libavcodec/mpeg4videodec.c +libavcodec/mpeg4videodec.h +libavcodec/mpeg4videoenc.c +libavcodec/mpeg4videoenc.h +libavcodec/mpeg_er.c +libavcodec/mpeg_er.h +libavcodec/mpegaudio.c +libavcodec/mpegaudio.h +libavcodec/mpegaudio_parser.c +libavcodec/mpegaudio_tablegen.h +libavcodec/mpegaudiodata.c +libavcodec/mpegaudiodata.h +libavcodec/mpegaudiodec_common.c +libavcodec/mpegaudiodec_common_tablegen.h +libavcodec/mpegaudiodec_fixed.c +libavcodec/mpegaudiodec_float.c +libavcodec/mpegaudiodec_template.c +libavcodec/mpegaudiodecheader.c +libavcodec/mpegaudiodecheader.h +libavcodec/mpegaudiodsp.c +libavcodec/mpegaudiodsp.h +libavcodec/mpegaudiodsp_data.c +libavcodec/mpegaudiodsp_fixed.c +libavcodec/mpegaudiodsp_float.c +libavcodec/mpegaudiodsp_template.c +libavcodec/mpegaudioenc_fixed.c +libavcodec/mpegaudioenc_float.c +libavcodec/mpegaudioenc_template.c +libavcodec/mpegaudiotab.h +libavcodec/mpegaudiotabs.c +libavcodec/mpegaudiotabs.h +libavcodec/mpegpicture.c +libavcodec/mpegpicture.h +libavcodec/mpegutils.c +libavcodec/mpegutils.h +libavcodec/mpegvideo.c +libavcodec/mpegvideo.h +libavcodec/mpegvideo_dec.c +libavcodec/mpegvideo_enc.c +libavcodec/mpegvideo_motion.c +libavcodec/mpegvideo_parser.c +libavcodec/mpegvideodata.c +libavcodec/mpegvideodata.h +libavcodec/mpegvideodec.h +libavcodec/mpegvideodsp.c +libavcodec/mpegvideodsp.h +libavcodec/mpegvideoenc.h +libavcodec/mpegvideoencdsp.c +libavcodec/mpegvideoencdsp.h +libavcodec/mpl2dec.c +libavcodec/mqc.c +libavcodec/mqc.h +libavcodec/mqcdec.c +libavcodec/mqcenc.c +libavcodec/mscc.c +libavcodec/msgsmdec.c +libavcodec/msgsmdec.h +libavcodec/msmpeg4.c +libavcodec/msmpeg4.h +libavcodec/msmpeg4data.c +libavcodec/msmpeg4data.h +libavcodec/msmpeg4dec.c +libavcodec/msmpeg4dec.h +libavcodec/msmpeg4enc.c +libavcodec/msmpeg4enc.h +libavcodec/msp2dec.c +libavcodec/msrle.c +libavcodec/msrledec.c +libavcodec/msrledec.h +libavcodec/mss1.c +libavcodec/mss12.c +libavcodec/mss12.h +libavcodec/mss3.c +libavcodec/mss34dsp.c +libavcodec/mss34dsp.h +libavcodec/mss4.c +libavcodec/msvideo1.c +libavcodec/msvideo1enc.c +libavcodec/mv30.c +libavcodec/mvcdec.c +libavcodec/mvha.c +libavcodec/mwsc.c +libavcodec/mxpegdec.c +libavcodec/nellymoser.c +libavcodec/nellymoser.h +libavcodec/nellymoserdec.c +libavcodec/nellymoserenc.c +libavcodec/neon/Makefile +libavcodec/neon/mpegvideo.c +libavcodec/noise_bsf.c +libavcodec/null_bsf.c +libavcodec/nuv.c +libavcodec/nvdec.c +libavcodec/nvdec.h +libavcodec/nvdec_av1.c +libavcodec/nvdec_mjpeg.c +libavcodec/nvdec_mpeg12.c +libavcodec/nvdec_mpeg4.c +libavcodec/nvdec_vp8.c +libavcodec/nvdec_vp9.c +libavcodec/nvenc.c +libavcodec/nvenc.h +libavcodec/nvenc_h264.c +libavcodec/nvenc_hevc.c +libavcodec/on2avc.c +libavcodec/on2avcdata.c +libavcodec/on2avcdata.h +libavcodec/options.c +libavcodec/options_table.h +libavcodec/opus.c +libavcodec/opus.h +libavcodec/opus_celt.c +libavcodec/opus_celt.h +libavcodec/opus_metadata_bsf.c +libavcodec/opus_parser.c +libavcodec/opus_pvq.c +libavcodec/opus_pvq.h +libavcodec/opus_rc.c +libavcodec/opus_rc.h +libavcodec/opus_silk.c +libavcodec/opusdec.c +libavcodec/opusdsp.c +libavcodec/opusdsp.h +libavcodec/opusenc.c +libavcodec/opusenc.h +libavcodec/opusenc_psy.c +libavcodec/opusenc_psy.h +libavcodec/opusenc_utils.h +libavcodec/opustab.c +libavcodec/opustab.h +libavcodec/packet.h +libavcodec/packet_internal.h +libavcodec/paf.h +libavcodec/pafaudio.c +libavcodec/pafvideo.c +libavcodec/pamenc.c +libavcodec/parser.c +libavcodec/parser.h +libavcodec/parsers.c +libavcodec/pcm-bluray.c +libavcodec/pcm-dvd.c +libavcodec/pcm.c +libavcodec/pcm_rechunk_bsf.c +libavcodec/pcm_tablegen.h +libavcodec/pcx.c +libavcodec/pcxenc.c +libavcodec/pel_template.c +libavcodec/pgs_frame_merge_bsf.c +libavcodec/pgssubdec.c +libavcodec/pgxdec.c +libavcodec/photocd.c +libavcodec/pictordec.c +libavcodec/pixblockdsp.c +libavcodec/pixblockdsp.h +libavcodec/pixels.h +libavcodec/png.c +libavcodec/png.h +libavcodec/png_parser.c +libavcodec/pngdec.c +libavcodec/pngdsp.c +libavcodec/pngdsp.h +libavcodec/pngenc.c +libavcodec/pnm.c +libavcodec/pnm.h +libavcodec/pnm_parser.c +libavcodec/pnmdec.c +libavcodec/pnmenc.c +libavcodec/ppc/Makefile +libavcodec/ppc/asm.S +libavcodec/ppc/audiodsp.c +libavcodec/ppc/blockdsp.c +libavcodec/ppc/fdct.h +libavcodec/ppc/fdctdsp.c +libavcodec/ppc/fft_altivec.S +libavcodec/ppc/fft_init.c +libavcodec/ppc/fft_vsx.c +libavcodec/ppc/fft_vsx.h +libavcodec/ppc/fmtconvert_altivec.c +libavcodec/ppc/h264chroma_init.c +libavcodec/ppc/h264chroma_template.c +libavcodec/ppc/h264dsp.c +libavcodec/ppc/h264qpel.c +libavcodec/ppc/h264qpel_template.c +libavcodec/ppc/hpeldsp_altivec.c +libavcodec/ppc/hpeldsp_altivec.h +libavcodec/ppc/idctdsp.c +libavcodec/ppc/lossless_audiodsp_altivec.c +libavcodec/ppc/lossless_videodsp_altivec.c +libavcodec/ppc/mathops.h +libavcodec/ppc/me_cmp.c +libavcodec/ppc/mpegaudiodsp_altivec.c +libavcodec/ppc/mpegvideo_altivec.c +libavcodec/ppc/mpegvideodsp.c +libavcodec/ppc/mpegvideoencdsp.c +libavcodec/ppc/pixblockdsp.c +libavcodec/ppc/svq1enc_altivec.c +libavcodec/ppc/vc1dsp_altivec.c +libavcodec/ppc/videodsp.c +libavcodec/ppc/vorbisdsp_altivec.c +libavcodec/ppc/vp3dsp_altivec.c +libavcodec/ppc/vp8dsp_altivec.c +libavcodec/profiles.c +libavcodec/profiles.h +libavcodec/prores_metadata_bsf.c +libavcodec/prosumer.c +libavcodec/psd.c +libavcodec/psymodel.c +libavcodec/psymodel.h +libavcodec/pthread.c +libavcodec/pthread_frame.c +libavcodec/pthread_internal.h +libavcodec/pthread_slice.c +libavcodec/ptx.c +libavcodec/put_bits.h +libavcodec/put_golomb.h +libavcodec/qcelpdata.h +libavcodec/qcelpdec.c +libavcodec/qdm2.c +libavcodec/qdm2_tablegen.h +libavcodec/qdm2data.h +libavcodec/qdmc.c +libavcodec/qdrw.c +libavcodec/qoi.h +libavcodec/qoi_parser.c +libavcodec/qoidec.c +libavcodec/qoienc.c +libavcodec/qpeg.c +libavcodec/qpel_template.c +libavcodec/qpeldsp.c +libavcodec/qpeldsp.h +libavcodec/qsv.c +libavcodec/qsv.h +libavcodec/qsv_api.c +libavcodec/qsv_internal.h +libavcodec/qsvdec.c +libavcodec/qsvenc.c +libavcodec/qsvenc.h +libavcodec/qsvenc_h264.c +libavcodec/qsvenc_hevc.c +libavcodec/qsvenc_jpeg.c +libavcodec/qsvenc_mpeg2.c +libavcodec/qsvenc_vp9.c +libavcodec/qtrle.c +libavcodec/qtrleenc.c +libavcodec/r210dec.c +libavcodec/r210enc.c +libavcodec/ra144.c +libavcodec/ra144.h +libavcodec/ra144dec.c +libavcodec/ra144enc.c +libavcodec/ra288.c +libavcodec/ra288.h +libavcodec/rangecoder.c +libavcodec/rangecoder.h +libavcodec/rasc.c +libavcodec/ratecontrol.c +libavcodec/ratecontrol.h +libavcodec/raw.c +libavcodec/raw.h +libavcodec/rawdec.c +libavcodec/rawenc.c +libavcodec/rdft.c +libavcodec/rdft.h +libavcodec/realtextdec.c +libavcodec/rectangle.h +libavcodec/remove_extradata_bsf.c +libavcodec/reverse.c +libavcodec/rl.c +libavcodec/rl.h +libavcodec/rl2.c +libavcodec/rle.c +libavcodec/rle.h +libavcodec/rnd_avg.h +libavcodec/roqaudioenc.c +libavcodec/roqvideo.c +libavcodec/roqvideo.h +libavcodec/roqvideodec.c +libavcodec/roqvideoenc.c +libavcodec/rpza.c +libavcodec/rpzaenc.c +libavcodec/rscc.c +libavcodec/rtjpeg.c +libavcodec/rtjpeg.h +libavcodec/rv10.c +libavcodec/rv10dec.h +libavcodec/rv10enc.c +libavcodec/rv10enc.h +libavcodec/rv20enc.c +libavcodec/rv34_parser.c +libavcodec/s302m.c +libavcodec/s302menc.c +libavcodec/samidec.c +libavcodec/sanm.c +libavcodec/sbc.c +libavcodec/sbc.h +libavcodec/sbc_parser.c +libavcodec/sbcdec.c +libavcodec/sbcdec_data.c +libavcodec/sbcdec_data.h +libavcodec/sbcdsp.c +libavcodec/sbcdsp.h +libavcodec/sbcdsp_data.c +libavcodec/sbcdsp_data.h +libavcodec/sbcenc.c +libavcodec/sbr.h +libavcodec/sbrdsp.c +libavcodec/sbrdsp.h +libavcodec/sbrdsp_template.c +libavcodec/screenpresso.c +libavcodec/sei.h +libavcodec/setts_bsf.c +libavcodec/sgi.h +libavcodec/sgidec.c +libavcodec/sgienc.c +libavcodec/sgirledec.c +libavcodec/shorten.c +libavcodec/simple_idct.c +libavcodec/simple_idct.h +libavcodec/simple_idct_template.c +libavcodec/sinewin.c +libavcodec/sinewin.h +libavcodec/sinewin_tablegen.h +libavcodec/sipr.c +libavcodec/sipr.h +libavcodec/sipr16k.c +libavcodec/sipr16kdata.h +libavcodec/sipr_parser.c +libavcodec/siprdata.h +libavcodec/siren.c +libavcodec/smacker.c +libavcodec/smc.c +libavcodec/smcenc.c +libavcodec/snappy.c +libavcodec/snappy.h +libavcodec/snow.c +libavcodec/snow.h +libavcodec/snow_dwt.c +libavcodec/snow_dwt.h +libavcodec/snowdata.h +libavcodec/snowdec.c +libavcodec/snowenc.c +libavcodec/sonic.c +libavcodec/sp5x.h +libavcodec/sp5xdec.c +libavcodec/speedhq.c +libavcodec/speedhqenc.c +libavcodec/speedhqenc.h +libavcodec/speexdata.h +libavcodec/speexdec.c +libavcodec/srtdec.c +libavcodec/srtenc.c +libavcodec/startcode.c +libavcodec/startcode.h +libavcodec/subviewerdec.c +libavcodec/sunrast.c +libavcodec/sunrast.h +libavcodec/sunrastenc.c +libavcodec/svq1.c +libavcodec/svq1.h +libavcodec/svq1_cb.h +libavcodec/svq1_vlc.h +libavcodec/svq1dec.c +libavcodec/svq1enc.c +libavcodec/svq1enc.h +libavcodec/svq1enc_cb.h +libavcodec/svq3.c +libavcodec/synth_filter.c +libavcodec/synth_filter.h +libavcodec/tak.c +libavcodec/tak.h +libavcodec/tak_parser.c +libavcodec/takdec.c +libavcodec/takdsp.c +libavcodec/takdsp.h +libavcodec/targa.c +libavcodec/targa.h +libavcodec/targa_y216dec.c +libavcodec/targaenc.c +libavcodec/tdsc.c +libavcodec/textdec.c +libavcodec/texturedsp.c +libavcodec/texturedsp.h +libavcodec/texturedsp_template.c +libavcodec/texturedspenc.c +libavcodec/thread.h +libavcodec/threadframe.h +libavcodec/tiertexseqv.c +libavcodec/tiff.c +libavcodec/tiff.h +libavcodec/tiff_common.c +libavcodec/tiff_common.h +libavcodec/tiff_data.h +libavcodec/tiffenc.c +libavcodec/tmv.c +libavcodec/to_upper4.c +libavcodec/to_upper4.h +libavcodec/tpeldsp.c +libavcodec/tpeldsp.h +libavcodec/trace_headers_bsf.c +libavcodec/truehd_core_bsf.c +libavcodec/truemotion1.c +libavcodec/truemotion1data.h +libavcodec/truemotion2.c +libavcodec/truemotion2rt.c +libavcodec/truespeech.c +libavcodec/truespeech_data.h +libavcodec/tscc.c +libavcodec/tscc2.c +libavcodec/tscc2data.h +libavcodec/tta.c +libavcodec/ttadata.c +libavcodec/ttadata.h +libavcodec/ttadsp.c +libavcodec/ttadsp.h +libavcodec/ttaenc.c +libavcodec/ttaencdsp.c +libavcodec/ttaencdsp.h +libavcodec/ttmlenc.c +libavcodec/ttmlenc.h +libavcodec/twinvq.c +libavcodec/twinvq.h +libavcodec/twinvq_data.h +libavcodec/twinvqdec.c +libavcodec/txd.c +libavcodec/ulti.c +libavcodec/ulti_cb.h +libavcodec/unary.h +libavcodec/utils.c +libavcodec/utvideo.h +libavcodec/utvideodec.c +libavcodec/utvideodsp.c +libavcodec/utvideodsp.h +libavcodec/utvideoenc.c +libavcodec/v210_template.c +libavcodec/v210dec.c +libavcodec/v210dec.h +libavcodec/v210dec_init.h +libavcodec/v210enc.c +libavcodec/v210enc.h +libavcodec/v210enc_init.h +libavcodec/v210x.c +libavcodec/v308dec.c +libavcodec/v308enc.c +libavcodec/v408dec.c +libavcodec/v408enc.c +libavcodec/v410dec.c +libavcodec/v410enc.c +libavcodec/v4l2_buffers.c +libavcodec/v4l2_buffers.h +libavcodec/v4l2_context.c +libavcodec/v4l2_context.h +libavcodec/v4l2_fmt.c +libavcodec/v4l2_fmt.h +libavcodec/v4l2_m2m.c +libavcodec/v4l2_m2m.h +libavcodec/v4l2_m2m_dec.c +libavcodec/v4l2_m2m_enc.c +libavcodec/vaapi_av1.c +libavcodec/vaapi_decode.c +libavcodec/vaapi_decode.h +libavcodec/vaapi_encode.c +libavcodec/vaapi_encode.h +libavcodec/vaapi_encode_h264.c +libavcodec/vaapi_encode_h265.c +libavcodec/vaapi_encode_mjpeg.c +libavcodec/vaapi_encode_mpeg2.c +libavcodec/vaapi_encode_vp8.c +libavcodec/vaapi_encode_vp9.c +libavcodec/vaapi_hevc.h +libavcodec/vaapi_mjpeg.c +libavcodec/vaapi_mpeg2.c +libavcodec/vaapi_mpeg4.c +libavcodec/vaapi_vp8.c +libavcodec/vaapi_vp9.c +libavcodec/vb.c +libavcodec/vble.c +libavcodec/vbn.h +libavcodec/vc1.c +libavcodec/vc1.h +libavcodec/vc1_common.h +libavcodec/vc1_parser.c +libavcodec/vc1_pred.h +libavcodec/vc1acdata.h +libavcodec/vc1data.c +libavcodec/vc1data.h +libavcodec/vc1dsp.c +libavcodec/vc1dsp.h +libavcodec/vc2enc.c +libavcodec/vc2enc_dwt.c +libavcodec/vc2enc_dwt.h +libavcodec/vcr1.c +libavcodec/vdpau.c +libavcodec/vdpau.h +libavcodec/vdpau_av1.c +libavcodec/vdpau_internal.h +libavcodec/vdpau_mpeg12.c +libavcodec/vdpau_mpeg4.c +libavcodec/vdpau_vp9.c +libavcodec/version.c +libavcodec/version.h +libavcodec/version_major.h +libavcodec/videodsp.c +libavcodec/videodsp.h +libavcodec/videodsp_template.c +libavcodec/videotoolbox.h +libavcodec/vima.c +libavcodec/vlc.c +libavcodec/vlc.h +libavcodec/vmdaudio.c +libavcodec/vmdvideo.c +libavcodec/vmnc.c +libavcodec/vorbis.c +libavcodec/vorbis.h +libavcodec/vorbis_data.c +libavcodec/vorbis_enc_data.h +libavcodec/vorbis_parser.c +libavcodec/vorbis_parser.h +libavcodec/vorbis_parser_internal.h +libavcodec/vorbisdec.c +libavcodec/vorbisdsp.c +libavcodec/vorbisdsp.h +libavcodec/vorbisenc.c +libavcodec/vp3.c +libavcodec/vp3_parser.c +libavcodec/vp3data.h +libavcodec/vp3dsp.c +libavcodec/vp3dsp.h +libavcodec/vp4data.h +libavcodec/vp5.c +libavcodec/vp56.c +libavcodec/vp56.h +libavcodec/vp56data.c +libavcodec/vp56data.h +libavcodec/vp56dsp.c +libavcodec/vp56dsp.h +libavcodec/vp56rac.c +libavcodec/vp5data.h +libavcodec/vp6.c +libavcodec/vp6data.h +libavcodec/vp6dsp.c +libavcodec/vp8.c +libavcodec/vp8.h +libavcodec/vp8_parser.c +libavcodec/vp8data.h +libavcodec/vp8dsp.c +libavcodec/vp8dsp.h +libavcodec/vp9.c +libavcodec/vp9.h +libavcodec/vp9_mc_template.c +libavcodec/vp9_metadata_bsf.c +libavcodec/vp9_parser.c +libavcodec/vp9_raw_reorder_bsf.c +libavcodec/vp9_superframe_bsf.c +libavcodec/vp9_superframe_split_bsf.c +libavcodec/vp9block.c +libavcodec/vp9data.c +libavcodec/vp9data.h +libavcodec/vp9dec.h +libavcodec/vp9dsp.c +libavcodec/vp9dsp.h +libavcodec/vp9dsp_10bpp.c +libavcodec/vp9dsp_12bpp.c +libavcodec/vp9dsp_8bpp.c +libavcodec/vp9dsp_template.c +libavcodec/vp9lpf.c +libavcodec/vp9mvs.c +libavcodec/vp9prob.c +libavcodec/vp9recon.c +libavcodec/vp9shared.h +libavcodec/vqavideo.c +libavcodec/wavpack.c +libavcodec/wavpack.h +libavcodec/wavpackdata.c +libavcodec/wavpackenc.c +libavcodec/wavpackenc.h +libavcodec/wcmv.c +libavcodec/webp.c +libavcodec/webp_parser.c +libavcodec/webvttdec.c +libavcodec/webvttenc.c +libavcodec/wma.c +libavcodec/wma.h +libavcodec/wma_common.c +libavcodec/wma_common.h +libavcodec/wma_freqs.c +libavcodec/wma_freqs.h +libavcodec/wmadata.h +libavcodec/wmadec.c +libavcodec/wmaenc.c +libavcodec/wmavoice.c +libavcodec/wmavoice_data.h +libavcodec/wmv2.c +libavcodec/wmv2.h +libavcodec/wmv2data.c +libavcodec/wmv2data.h +libavcodec/wmv2dec.c +libavcodec/wmv2dec.h +libavcodec/wmv2dsp.c +libavcodec/wmv2dsp.h +libavcodec/wmv2enc.c +libavcodec/wmv2enc.h +libavcodec/wnv1.c +libavcodec/wrapped_avframe.c +libavcodec/ws-snd1.c +libavcodec/x86/Makefile +libavcodec/x86/aacencdsp.asm +libavcodec/x86/aacencdsp_init.c +libavcodec/x86/aacpsdsp.asm +libavcodec/x86/aacpsdsp_init.c +libavcodec/x86/ac3dsp.asm +libavcodec/x86/ac3dsp_downmix.asm +libavcodec/x86/ac3dsp_init.c +libavcodec/x86/alacdsp.asm +libavcodec/x86/alacdsp_init.c +libavcodec/x86/audiodsp.asm +libavcodec/x86/audiodsp_init.c +libavcodec/x86/blockdsp.asm +libavcodec/x86/blockdsp_init.c +libavcodec/x86/bswapdsp.asm +libavcodec/x86/bswapdsp_init.c +libavcodec/x86/cabac.h +libavcodec/x86/cavsdsp.c +libavcodec/x86/cavsidct.asm +libavcodec/x86/celt_pvq_init.c +libavcodec/x86/celt_pvq_search.asm +libavcodec/x86/cfhddsp.asm +libavcodec/x86/cfhddsp_init.c +libavcodec/x86/cfhdencdsp.asm +libavcodec/x86/cfhdencdsp_init.c +libavcodec/x86/constants.c +libavcodec/x86/constants.h +libavcodec/x86/dcadsp.asm +libavcodec/x86/dcadsp_init.c +libavcodec/x86/dct32.asm +libavcodec/x86/dct_init.c +libavcodec/x86/dirac_dwt.asm +libavcodec/x86/dirac_dwt_init.c +libavcodec/x86/diracdsp.asm +libavcodec/x86/diracdsp_init.c +libavcodec/x86/dnxhdenc.asm +libavcodec/x86/dnxhdenc_init.c +libavcodec/x86/exrdsp.asm +libavcodec/x86/exrdsp_init.c +libavcodec/x86/fdct.c +libavcodec/x86/fdct.h +libavcodec/x86/fdctdsp_init.c +libavcodec/x86/fft.asm +libavcodec/x86/fft.h +libavcodec/x86/fft_init.c +libavcodec/x86/flac_dsp_gpl.asm +libavcodec/x86/flacdsp.asm +libavcodec/x86/flacdsp_init.c +libavcodec/x86/fmtconvert.asm +libavcodec/x86/fmtconvert_init.c +libavcodec/x86/fpel.asm +libavcodec/x86/fpel.h +libavcodec/x86/g722dsp.asm +libavcodec/x86/g722dsp_init.c +libavcodec/x86/h263_loopfilter.asm +libavcodec/x86/h263dsp_init.c +libavcodec/x86/h264_cabac.c +libavcodec/x86/h264_chromamc.asm +libavcodec/x86/h264_chromamc_10bit.asm +libavcodec/x86/h264_deblock.asm +libavcodec/x86/h264_deblock_10bit.asm +libavcodec/x86/h264_idct.asm +libavcodec/x86/h264_idct_10bit.asm +libavcodec/x86/h264_intrapred.asm +libavcodec/x86/h264_intrapred_10bit.asm +libavcodec/x86/h264_intrapred_init.c +libavcodec/x86/h264_qpel.c +libavcodec/x86/h264_qpel_10bit.asm +libavcodec/x86/h264_qpel_8bit.asm +libavcodec/x86/h264_weight.asm +libavcodec/x86/h264_weight_10bit.asm +libavcodec/x86/h264chroma_init.c +libavcodec/x86/h264dsp_init.c +libavcodec/x86/hpeldsp.asm +libavcodec/x86/hpeldsp.h +libavcodec/x86/hpeldsp_init.c +libavcodec/x86/hpeldsp_rnd_template.c +libavcodec/x86/hpeldsp_vp3.asm +libavcodec/x86/hpeldsp_vp3_init.c +libavcodec/x86/huffyuvdsp.asm +libavcodec/x86/huffyuvdsp_init.c +libavcodec/x86/huffyuvdsp_template.asm +libavcodec/x86/huffyuvencdsp.asm +libavcodec/x86/huffyuvencdsp_init.c +libavcodec/x86/idctdsp.asm +libavcodec/x86/idctdsp.h +libavcodec/x86/idctdsp_init.c +libavcodec/x86/imdct36.asm +libavcodec/x86/inline_asm.h +libavcodec/x86/jpeg2000dsp.asm +libavcodec/x86/jpeg2000dsp_init.c +libavcodec/x86/lossless_audiodsp.asm +libavcodec/x86/lossless_audiodsp_init.c +libavcodec/x86/lossless_videodsp.asm +libavcodec/x86/lossless_videodsp_init.c +libavcodec/x86/lossless_videoencdsp.asm +libavcodec/x86/lossless_videoencdsp_init.c +libavcodec/x86/lpc.c +libavcodec/x86/mathops.h +libavcodec/x86/mdct15.asm +libavcodec/x86/mdct15_init.c +libavcodec/x86/me_cmp.asm +libavcodec/x86/me_cmp_init.c +libavcodec/x86/mlpdsp.asm +libavcodec/x86/mlpdsp_init.c +libavcodec/x86/mpegaudiodsp.c +libavcodec/x86/mpegvideo.c +libavcodec/x86/mpegvideodsp.c +libavcodec/x86/mpegvideoenc.c +libavcodec/x86/mpegvideoenc_qns_template.c +libavcodec/x86/mpegvideoenc_template.c +libavcodec/x86/mpegvideoencdsp.asm +libavcodec/x86/mpegvideoencdsp_init.c +libavcodec/x86/opusdsp.asm +libavcodec/x86/opusdsp_init.c +libavcodec/x86/pixblockdsp.asm +libavcodec/x86/pixblockdsp_init.c +libavcodec/x86/pngdsp.asm +libavcodec/x86/pngdsp_init.c +libavcodec/x86/qpel.asm +libavcodec/x86/qpeldsp.asm +libavcodec/x86/qpeldsp_init.c +libavcodec/x86/rnd_template.c +libavcodec/x86/sbcdsp.asm +libavcodec/x86/sbcdsp_init.c +libavcodec/x86/sbrdsp.asm +libavcodec/x86/sbrdsp_init.c +libavcodec/x86/simple_idct.asm +libavcodec/x86/simple_idct.h +libavcodec/x86/simple_idct10.asm +libavcodec/x86/simple_idct10_template.asm +libavcodec/x86/snowdsp.c +libavcodec/x86/svq1enc.asm +libavcodec/x86/svq1enc_init.c +libavcodec/x86/synth_filter.asm +libavcodec/x86/synth_filter_init.c +libavcodec/x86/takdsp.asm +libavcodec/x86/takdsp_init.c +libavcodec/x86/ttadsp.asm +libavcodec/x86/ttadsp_init.c +libavcodec/x86/ttaencdsp.asm +libavcodec/x86/ttaencdsp_init.c +libavcodec/x86/utvideodsp.asm +libavcodec/x86/utvideodsp_init.c +libavcodec/x86/v210-init.c +libavcodec/x86/v210.asm +libavcodec/x86/v210enc.asm +libavcodec/x86/v210enc_init.c +libavcodec/x86/vc1dsp.h +libavcodec/x86/vc1dsp_init.c +libavcodec/x86/vc1dsp_loopfilter.asm +libavcodec/x86/vc1dsp_mc.asm +libavcodec/x86/vc1dsp_mmx.c +libavcodec/x86/videodsp.asm +libavcodec/x86/videodsp_init.c +libavcodec/x86/vorbisdsp.asm +libavcodec/x86/vorbisdsp_init.c +libavcodec/x86/vp3dsp.asm +libavcodec/x86/vp3dsp_init.c +libavcodec/x86/vp56_arith.h +libavcodec/x86/vp6dsp.asm +libavcodec/x86/vp6dsp_init.c +libavcodec/x86/vp8dsp.asm +libavcodec/x86/vp8dsp_init.c +libavcodec/x86/vp8dsp_loopfilter.asm +libavcodec/x86/vp9dsp_init.c +libavcodec/x86/vp9dsp_init.h +libavcodec/x86/vp9dsp_init_10bpp.c +libavcodec/x86/vp9dsp_init_12bpp.c +libavcodec/x86/vp9dsp_init_16bpp.c +libavcodec/x86/vp9dsp_init_16bpp_template.c +libavcodec/x86/vp9intrapred.asm +libavcodec/x86/vp9intrapred_16bpp.asm +libavcodec/x86/vp9itxfm.asm +libavcodec/x86/vp9itxfm_16bpp.asm +libavcodec/x86/vp9itxfm_template.asm +libavcodec/x86/vp9lpf.asm +libavcodec/x86/vp9lpf_16bpp.asm +libavcodec/x86/vp9mc.asm +libavcodec/x86/vp9mc_16bpp.asm +libavcodec/x86/xvididct.asm +libavcodec/x86/xvididct.h +libavcodec/x86/xvididct_init.c +libavcodec/xan.c +libavcodec/xbm_parser.c +libavcodec/xbmdec.c +libavcodec/xbmenc.c +libavcodec/xface.c +libavcodec/xface.h +libavcodec/xfacedec.c +libavcodec/xfaceenc.c +libavcodec/xiph.c +libavcodec/xiph.h +libavcodec/xl.c +libavcodec/xma_parser.c +libavcodec/xpmdec.c +libavcodec/xsubdec.c +libavcodec/xsubenc.c +libavcodec/xvididct.c +libavcodec/xvididct.h +libavcodec/xvmc.h +libavcodec/xwd.h +libavcodec/xwddec.c +libavcodec/xwdenc.c +libavcodec/xxan.c +libavcodec/y41pdec.c +libavcodec/y41penc.c +libavcodec/ylc.c +libavcodec/yop.c +libavcodec/yuv4dec.c +libavcodec/yuv4enc.c +libavcodec/zerocodec.c +libavcodec/zlib_wrapper.c +libavcodec/zlib_wrapper.h +libavcodec/zmbv.c +libavcodec/zmbvenc.c +libavdevice/Makefile +libavdevice/alldevices.c +libavdevice/alsa.c +libavdevice/alsa.h +libavdevice/alsa_dec.c +libavdevice/alsa_enc.c +libavdevice/avdevice.c +libavdevice/avdevice.h +libavdevice/caca.c +libavdevice/decklink_common.h +libavdevice/decklink_common_c.h +libavdevice/decklink_dec.h +libavdevice/decklink_enc.h +libavdevice/dshow_capture.h +libavdevice/fbdev_common.c +libavdevice/fbdev_common.h +libavdevice/fbdev_dec.c +libavdevice/fbdev_enc.c +libavdevice/iec61883.c +libavdevice/internal.h +libavdevice/jack.c +libavdevice/kmsgrab.c +libavdevice/lavfi.c +libavdevice/libavdevice.v +libavdevice/libcdio.c +libavdevice/libdc1394.c +libavdevice/openal-dec.c +libavdevice/opengl_enc.c +libavdevice/opengl_enc_shaders.h +libavdevice/oss.c +libavdevice/oss.h +libavdevice/oss_dec.c +libavdevice/oss_enc.c +libavdevice/pulse_audio_common.c +libavdevice/pulse_audio_common.h +libavdevice/pulse_audio_dec.c +libavdevice/pulse_audio_enc.c +libavdevice/sdl2.c +libavdevice/sndio.h +libavdevice/timefilter.c +libavdevice/timefilter.h +libavdevice/utils.c +libavdevice/v4l2-common.c +libavdevice/v4l2-common.h +libavdevice/v4l2.c +libavdevice/v4l2enc.c +libavdevice/version.c +libavdevice/version.h +libavdevice/version_major.h +libavdevice/xcbgrab.c +libavdevice/xv.c +libavfilter/Makefile +libavfilter/aarch64/Makefile +libavfilter/aarch64/vf_nlmeans_init.c +libavfilter/aarch64/vf_nlmeans_neon.S +libavfilter/aeval.c +libavfilter/af_acontrast.c +libavfilter/af_acopy.c +libavfilter/af_acrossover.c +libavfilter/af_acrusher.c +libavfilter/af_adeclick.c +libavfilter/af_adecorrelate.c +libavfilter/af_adelay.c +libavfilter/af_adenorm.c +libavfilter/af_aderivative.c +libavfilter/af_adynamicequalizer.c +libavfilter/af_adynamicsmooth.c +libavfilter/af_aecho.c +libavfilter/af_aemphasis.c +libavfilter/af_aexciter.c +libavfilter/af_afade.c +libavfilter/af_afftdn.c +libavfilter/af_afftfilt.c +libavfilter/af_afir.c +libavfilter/af_afir.h +libavfilter/af_afirdsp.h +libavfilter/af_aformat.c +libavfilter/af_afreqshift.c +libavfilter/af_afwtdn.c +libavfilter/af_agate.c +libavfilter/af_aiir.c +libavfilter/af_alimiter.c +libavfilter/af_amerge.c +libavfilter/af_amix.c +libavfilter/af_amultiply.c +libavfilter/af_anequalizer.c +libavfilter/af_anlmdn.c +libavfilter/af_anlmdndsp.h +libavfilter/af_anlms.c +libavfilter/af_anull.c +libavfilter/af_apad.c +libavfilter/af_aphaser.c +libavfilter/af_apsyclip.c +libavfilter/af_apulsator.c +libavfilter/af_aresample.c +libavfilter/af_arnndn.c +libavfilter/af_asdr.c +libavfilter/af_asetnsamples.c +libavfilter/af_asetrate.c +libavfilter/af_ashowinfo.c +libavfilter/af_asoftclip.c +libavfilter/af_aspectralstats.c +libavfilter/af_astats.c +libavfilter/af_asubboost.c +libavfilter/af_asupercut.c +libavfilter/af_atempo.c +libavfilter/af_atilt.c +libavfilter/af_axcorrelate.c +libavfilter/af_biquads.c +libavfilter/af_bs2b.c +libavfilter/af_channelmap.c +libavfilter/af_channelsplit.c +libavfilter/af_chorus.c +libavfilter/af_compand.c +libavfilter/af_compensationdelay.c +libavfilter/af_crossfeed.c +libavfilter/af_crystalizer.c +libavfilter/af_dcshift.c +libavfilter/af_deesser.c +libavfilter/af_dialoguenhance.c +libavfilter/af_drmeter.c +libavfilter/af_dynaudnorm.c +libavfilter/af_earwax.c +libavfilter/af_extrastereo.c +libavfilter/af_firequalizer.c +libavfilter/af_flanger.c +libavfilter/af_haas.c +libavfilter/af_hdcd.c +libavfilter/af_headphone.c +libavfilter/af_join.c +libavfilter/af_ladspa.c +libavfilter/af_loudnorm.c +libavfilter/af_lv2.c +libavfilter/af_mcompand.c +libavfilter/af_pan.c +libavfilter/af_replaygain.c +libavfilter/af_rubberband.c +libavfilter/af_sidechaincompress.c +libavfilter/af_silencedetect.c +libavfilter/af_silenceremove.c +libavfilter/af_sofalizer.c +libavfilter/af_speechnorm.c +libavfilter/af_stereotools.c +libavfilter/af_stereowiden.c +libavfilter/af_superequalizer.c +libavfilter/af_surround.c +libavfilter/af_tremolo.c +libavfilter/af_vibrato.c +libavfilter/af_virtualbass.c +libavfilter/af_volume.c +libavfilter/af_volume.h +libavfilter/af_volumedetect.c +libavfilter/afir_template.c +libavfilter/allfilters.c +libavfilter/asink_anullsink.c +libavfilter/asrc_afirsrc.c +libavfilter/asrc_anoisesrc.c +libavfilter/asrc_anullsrc.c +libavfilter/asrc_flite.c +libavfilter/asrc_hilbert.c +libavfilter/asrc_sinc.c +libavfilter/asrc_sine.c +libavfilter/atadenoise.h +libavfilter/audio.c +libavfilter/audio.h +libavfilter/avf_abitscope.c +libavfilter/avf_ahistogram.c +libavfilter/avf_aphasemeter.c +libavfilter/avf_avectorscope.c +libavfilter/avf_concat.c +libavfilter/avf_showcqt.c +libavfilter/avf_showcqt.h +libavfilter/avf_showfreqs.c +libavfilter/avf_showspatial.c +libavfilter/avf_showspectrum.c +libavfilter/avf_showvolume.c +libavfilter/avf_showwaves.c +libavfilter/avfilter.c +libavfilter/avfilter.h +libavfilter/avfiltergraph.c +libavfilter/bbox.c +libavfilter/bbox.h +libavfilter/blend.h +libavfilter/blend_modes.c +libavfilter/boxblur.c +libavfilter/boxblur.h +libavfilter/bufferqueue.h +libavfilter/buffersink.c +libavfilter/buffersink.h +libavfilter/buffersrc.c +libavfilter/buffersrc.h +libavfilter/bwdif.h +libavfilter/colorchannelmixer_template.c +libavfilter/colorspace.c +libavfilter/colorspace.h +libavfilter/colorspacedsp.c +libavfilter/colorspacedsp.h +libavfilter/colorspacedsp_template.c +libavfilter/colorspacedsp_yuv2yuv_template.c +libavfilter/convolution.h +libavfilter/deshake.h +libavfilter/dnn/Makefile +libavfilter/dnn/dnn_backend_common.c +libavfilter/dnn/dnn_backend_common.h +libavfilter/dnn/dnn_backend_native.c +libavfilter/dnn/dnn_backend_native.h +libavfilter/dnn/dnn_backend_native_layer_avgpool.c +libavfilter/dnn/dnn_backend_native_layer_avgpool.h +libavfilter/dnn/dnn_backend_native_layer_conv2d.c +libavfilter/dnn/dnn_backend_native_layer_conv2d.h +libavfilter/dnn/dnn_backend_native_layer_dense.c +libavfilter/dnn/dnn_backend_native_layer_dense.h +libavfilter/dnn/dnn_backend_native_layer_depth2space.c +libavfilter/dnn/dnn_backend_native_layer_depth2space.h +libavfilter/dnn/dnn_backend_native_layer_mathbinary.c +libavfilter/dnn/dnn_backend_native_layer_mathbinary.h +libavfilter/dnn/dnn_backend_native_layer_mathunary.c +libavfilter/dnn/dnn_backend_native_layer_mathunary.h +libavfilter/dnn/dnn_backend_native_layer_maximum.c +libavfilter/dnn/dnn_backend_native_layer_maximum.h +libavfilter/dnn/dnn_backend_native_layer_pad.c +libavfilter/dnn/dnn_backend_native_layer_pad.h +libavfilter/dnn/dnn_backend_native_layers.c +libavfilter/dnn/dnn_backend_native_layers.h +libavfilter/dnn/dnn_backend_openvino.h +libavfilter/dnn/dnn_backend_tf.h +libavfilter/dnn/dnn_interface.c +libavfilter/dnn/dnn_io_proc.c +libavfilter/dnn/dnn_io_proc.h +libavfilter/dnn/queue.c +libavfilter/dnn/queue.h +libavfilter/dnn/safe_queue.c +libavfilter/dnn/safe_queue.h +libavfilter/dnn_filter_common.c +libavfilter/dnn_filter_common.h +libavfilter/dnn_interface.h +libavfilter/drawutils.c +libavfilter/drawutils.h +libavfilter/ebur128.c +libavfilter/ebur128.h +libavfilter/edge_common.c +libavfilter/edge_common.h +libavfilter/f_bench.c +libavfilter/f_cue.c +libavfilter/f_drawgraph.c +libavfilter/f_ebur128.c +libavfilter/f_graphmonitor.c +libavfilter/f_interleave.c +libavfilter/f_latency.c +libavfilter/f_loop.c +libavfilter/f_metadata.c +libavfilter/f_perms.c +libavfilter/f_realtime.c +libavfilter/f_reverse.c +libavfilter/f_segment.c +libavfilter/f_select.c +libavfilter/f_sendcmd.c +libavfilter/f_sidedata.c +libavfilter/f_streamselect.c +libavfilter/f_zmq.c +libavfilter/fflcms2.c +libavfilter/fflcms2.h +libavfilter/fifo.c +libavfilter/filters.h +libavfilter/formats.c +libavfilter/formats.h +libavfilter/framepool.c +libavfilter/framepool.h +libavfilter/framequeue.c +libavfilter/framequeue.h +libavfilter/framerate.h +libavfilter/framesync.c +libavfilter/framesync.h +libavfilter/gblur.h +libavfilter/generate_wave_table.c +libavfilter/generate_wave_table.h +libavfilter/gradfun.h +libavfilter/graphdump.c +libavfilter/graphparser.c +libavfilter/hermite.h +libavfilter/hflip.h +libavfilter/internal.h +libavfilter/lavfutils.c +libavfilter/lavfutils.h +libavfilter/libavfilter.v +libavfilter/limiter.h +libavfilter/log2_tab.c +libavfilter/lswsutils.c +libavfilter/lswsutils.h +libavfilter/lut3d.h +libavfilter/maskedclamp.h +libavfilter/maskedmerge.h +libavfilter/median.h +libavfilter/median_template.c +libavfilter/motion_estimation.c +libavfilter/motion_estimation.h +libavfilter/opencl.c +libavfilter/opencl.h +libavfilter/opencl/avgblur.cl +libavfilter/opencl/colorkey.cl +libavfilter/opencl/colorspace_common.cl +libavfilter/opencl/convolution.cl +libavfilter/opencl/deshake.cl +libavfilter/opencl/neighbor.cl +libavfilter/opencl/nlmeans.cl +libavfilter/opencl/overlay.cl +libavfilter/opencl/pad.cl +libavfilter/opencl/remap.cl +libavfilter/opencl/tonemap.cl +libavfilter/opencl/transpose.cl +libavfilter/opencl/unsharp.cl +libavfilter/opencl/xfade.cl +libavfilter/opencl_source.h +libavfilter/phase_template.c +libavfilter/preserve_color.h +libavfilter/psnr.h +libavfilter/pthread.c +libavfilter/qp_table.c +libavfilter/qp_table.h +libavfilter/qsvvpp.c +libavfilter/qsvvpp.h +libavfilter/removegrain.h +libavfilter/scale_eval.c +libavfilter/scale_eval.h +libavfilter/scene_sad.c +libavfilter/scene_sad.h +libavfilter/setpts.c +libavfilter/settb.c +libavfilter/signature.h +libavfilter/signature_lookup.c +libavfilter/split.c +libavfilter/src_avsynctest.c +libavfilter/src_movie.c +libavfilter/ssim.h +libavfilter/stereo3d.h +libavfilter/thread.h +libavfilter/threshold.h +libavfilter/tinterlace.h +libavfilter/transform.c +libavfilter/transform.h +libavfilter/transpose.h +libavfilter/trim.c +libavfilter/unsharp.h +libavfilter/v360.h +libavfilter/vaapi_vpp.c +libavfilter/vaapi_vpp.h +libavfilter/vaf_spectrumsynth.c +libavfilter/version.c +libavfilter/version.h +libavfilter/version_major.h +libavfilter/vf_addroi.c +libavfilter/vf_alphamerge.c +libavfilter/vf_amplify.c +libavfilter/vf_aspect.c +libavfilter/vf_atadenoise.c +libavfilter/vf_avgblur.c +libavfilter/vf_avgblur_opencl.c +libavfilter/vf_avgblur_vulkan.c +libavfilter/vf_bbox.c +libavfilter/vf_bilateral.c +libavfilter/vf_bitplanenoise.c +libavfilter/vf_blackdetect.c +libavfilter/vf_blackframe.c +libavfilter/vf_blend.c +libavfilter/vf_blend_init.h +libavfilter/vf_blend_vulkan.c +libavfilter/vf_blockdetect.c +libavfilter/vf_blurdetect.c +libavfilter/vf_bm3d.c +libavfilter/vf_boxblur.c +libavfilter/vf_bwdif.c +libavfilter/vf_cas.c +libavfilter/vf_chromaber_vulkan.c +libavfilter/vf_chromakey.c +libavfilter/vf_chromanr.c +libavfilter/vf_chromashift.c +libavfilter/vf_ciescope.c +libavfilter/vf_codecview.c +libavfilter/vf_colorbalance.c +libavfilter/vf_colorchannelmixer.c +libavfilter/vf_colorconstancy.c +libavfilter/vf_colorcontrast.c +libavfilter/vf_colorcorrect.c +libavfilter/vf_colorize.c +libavfilter/vf_colorkey.c +libavfilter/vf_colorkey_opencl.c +libavfilter/vf_colorlevels.c +libavfilter/vf_colormap.c +libavfilter/vf_colormatrix.c +libavfilter/vf_colorspace.c +libavfilter/vf_colortemperature.c +libavfilter/vf_convolution.c +libavfilter/vf_convolution_opencl.c +libavfilter/vf_convolve.c +libavfilter/vf_copy.c +libavfilter/vf_cover_rect.c +libavfilter/vf_crop.c +libavfilter/vf_cropdetect.c +libavfilter/vf_curves.c +libavfilter/vf_datascope.c +libavfilter/vf_dblur.c +libavfilter/vf_dctdnoiz.c +libavfilter/vf_deband.c +libavfilter/vf_deblock.c +libavfilter/vf_decimate.c +libavfilter/vf_dedot.c +libavfilter/vf_deflicker.c +libavfilter/vf_deinterlace_qsv.c +libavfilter/vf_deinterlace_vaapi.c +libavfilter/vf_dejudder.c +libavfilter/vf_delogo.c +libavfilter/vf_derain.c +libavfilter/vf_deshake.c +libavfilter/vf_deshake_opencl.c +libavfilter/vf_despill.c +libavfilter/vf_detelecine.c +libavfilter/vf_displace.c +libavfilter/vf_dnn_classify.c +libavfilter/vf_dnn_detect.c +libavfilter/vf_dnn_processing.c +libavfilter/vf_drawbox.c +libavfilter/vf_drawtext.c +libavfilter/vf_edgedetect.c +libavfilter/vf_elbg.c +libavfilter/vf_entropy.c +libavfilter/vf_epx.c +libavfilter/vf_eq.c +libavfilter/vf_eq.h +libavfilter/vf_estdif.c +libavfilter/vf_exposure.c +libavfilter/vf_extractplanes.c +libavfilter/vf_fade.c +libavfilter/vf_feedback.c +libavfilter/vf_fftdnoiz.c +libavfilter/vf_fftfilt.c +libavfilter/vf_field.c +libavfilter/vf_fieldhint.c +libavfilter/vf_fieldmatch.c +libavfilter/vf_fieldorder.c +libavfilter/vf_fillborders.c +libavfilter/vf_find_rect.c +libavfilter/vf_flip_vulkan.c +libavfilter/vf_floodfill.c +libavfilter/vf_format.c +libavfilter/vf_fps.c +libavfilter/vf_framepack.c +libavfilter/vf_framerate.c +libavfilter/vf_framestep.c +libavfilter/vf_freezedetect.c +libavfilter/vf_freezeframes.c +libavfilter/vf_frei0r.c +libavfilter/vf_fspp.c +libavfilter/vf_fspp.h +libavfilter/vf_gblur.c +libavfilter/vf_gblur_init.h +libavfilter/vf_gblur_vulkan.c +libavfilter/vf_geq.c +libavfilter/vf_gradfun.c +libavfilter/vf_grayworld.c +libavfilter/vf_guided.c +libavfilter/vf_hflip.c +libavfilter/vf_hflip_init.h +libavfilter/vf_histeq.c +libavfilter/vf_histogram.c +libavfilter/vf_hqdn3d.c +libavfilter/vf_hqdn3d.h +libavfilter/vf_hqx.c +libavfilter/vf_hsvkey.c +libavfilter/vf_hue.c +libavfilter/vf_huesaturation.c +libavfilter/vf_hwdownload.c +libavfilter/vf_hwmap.c +libavfilter/vf_hwupload.c +libavfilter/vf_hwupload_cuda.c +libavfilter/vf_hysteresis.c +libavfilter/vf_iccdetect.c +libavfilter/vf_iccgen.c +libavfilter/vf_identity.c +libavfilter/vf_idet.c +libavfilter/vf_idet.h +libavfilter/vf_il.c +libavfilter/vf_kerndeint.c +libavfilter/vf_lagfun.c +libavfilter/vf_lenscorrection.c +libavfilter/vf_libplacebo.c +libavfilter/vf_libvmaf.c +libavfilter/vf_limitdiff.c +libavfilter/vf_limiter.c +libavfilter/vf_lumakey.c +libavfilter/vf_lut.c +libavfilter/vf_lut2.c +libavfilter/vf_lut3d.c +libavfilter/vf_maskedclamp.c +libavfilter/vf_maskedmerge.c +libavfilter/vf_maskedminmax.c +libavfilter/vf_maskedthreshold.c +libavfilter/vf_maskfun.c +libavfilter/vf_median.c +libavfilter/vf_mergeplanes.c +libavfilter/vf_mestimate.c +libavfilter/vf_midequalizer.c +libavfilter/vf_minterpolate.c +libavfilter/vf_misc_vaapi.c +libavfilter/vf_mix.c +libavfilter/vf_monochrome.c +libavfilter/vf_morpho.c +libavfilter/vf_mpdecimate.c +libavfilter/vf_multiply.c +libavfilter/vf_negate.c +libavfilter/vf_neighbor.c +libavfilter/vf_neighbor_opencl.c +libavfilter/vf_nlmeans.c +libavfilter/vf_nlmeans.h +libavfilter/vf_nlmeans_init.h +libavfilter/vf_nlmeans_opencl.c +libavfilter/vf_nnedi.c +libavfilter/vf_noise.c +libavfilter/vf_noise.h +libavfilter/vf_normalize.c +libavfilter/vf_null.c +libavfilter/vf_ocr.c +libavfilter/vf_overlay.c +libavfilter/vf_overlay.h +libavfilter/vf_overlay_opencl.c +libavfilter/vf_overlay_qsv.c +libavfilter/vf_overlay_vaapi.c +libavfilter/vf_overlay_vulkan.c +libavfilter/vf_owdenoise.c +libavfilter/vf_pad.c +libavfilter/vf_pad_opencl.c +libavfilter/vf_palettegen.c +libavfilter/vf_paletteuse.c +libavfilter/vf_perspective.c +libavfilter/vf_phase.c +libavfilter/vf_photosensitivity.c +libavfilter/vf_pixdesctest.c +libavfilter/vf_pixelize.c +libavfilter/vf_pp.c +libavfilter/vf_pp7.c +libavfilter/vf_pp7.h +libavfilter/vf_premultiply.c +libavfilter/vf_procamp_vaapi.c +libavfilter/vf_program_opencl.c +libavfilter/vf_pseudocolor.c +libavfilter/vf_psnr.c +libavfilter/vf_pullup.c +libavfilter/vf_pullup.h +libavfilter/vf_qp.c +libavfilter/vf_random.c +libavfilter/vf_readeia608.c +libavfilter/vf_readvitc.c +libavfilter/vf_remap.c +libavfilter/vf_remap_opencl.c +libavfilter/vf_removegrain.c +libavfilter/vf_removelogo.c +libavfilter/vf_repeatfields.c +libavfilter/vf_rotate.c +libavfilter/vf_sab.c +libavfilter/vf_scale.c +libavfilter/vf_scale_cuda.h +libavfilter/vf_scale_qsv.c +libavfilter/vf_scale_vaapi.c +libavfilter/vf_scale_vulkan.c +libavfilter/vf_scdet.c +libavfilter/vf_scroll.c +libavfilter/vf_selectivecolor.c +libavfilter/vf_separatefields.c +libavfilter/vf_setparams.c +libavfilter/vf_shear.c +libavfilter/vf_showinfo.c +libavfilter/vf_showpalette.c +libavfilter/vf_shuffleframes.c +libavfilter/vf_shufflepixels.c +libavfilter/vf_shuffleplanes.c +libavfilter/vf_signalstats.c +libavfilter/vf_signature.c +libavfilter/vf_siti.c +libavfilter/vf_smartblur.c +libavfilter/vf_spp.c +libavfilter/vf_spp.h +libavfilter/vf_sr.c +libavfilter/vf_ssim.c +libavfilter/vf_stack.c +libavfilter/vf_stereo3d.c +libavfilter/vf_subtitles.c +libavfilter/vf_super2xsai.c +libavfilter/vf_swaprect.c +libavfilter/vf_swapuv.c +libavfilter/vf_telecine.c +libavfilter/vf_threshold.c +libavfilter/vf_threshold_init.h +libavfilter/vf_thumbnail.c +libavfilter/vf_tile.c +libavfilter/vf_tinterlace.c +libavfilter/vf_tmidequalizer.c +libavfilter/vf_tonemap.c +libavfilter/vf_tonemap_opencl.c +libavfilter/vf_tonemap_vaapi.c +libavfilter/vf_tpad.c +libavfilter/vf_transpose.c +libavfilter/vf_transpose_opencl.c +libavfilter/vf_transpose_vaapi.c +libavfilter/vf_transpose_vulkan.c +libavfilter/vf_unsharp.c +libavfilter/vf_unsharp_opencl.c +libavfilter/vf_untile.c +libavfilter/vf_v360.c +libavfilter/vf_vaguedenoiser.c +libavfilter/vf_varblur.c +libavfilter/vf_vectorscope.c +libavfilter/vf_vflip.c +libavfilter/vf_vfrdet.c +libavfilter/vf_vibrance.c +libavfilter/vf_vidstabdetect.c +libavfilter/vf_vidstabtransform.c +libavfilter/vf_vif.c +libavfilter/vf_vignette.c +libavfilter/vf_vmafmotion.c +libavfilter/vf_vpp_qsv.c +libavfilter/vf_w3fdif.c +libavfilter/vf_waveform.c +libavfilter/vf_weave.c +libavfilter/vf_xbr.c +libavfilter/vf_xfade.c +libavfilter/vf_xfade_opencl.c +libavfilter/vf_xmedian.c +libavfilter/vf_yadif.c +libavfilter/vf_yaepblur.c +libavfilter/vf_zoompan.c +libavfilter/vf_zscale.c +libavfilter/video.c +libavfilter/video.h +libavfilter/vidstabutils.c +libavfilter/vidstabutils.h +libavfilter/vmaf_motion.h +libavfilter/vsink_nullsink.c +libavfilter/vsrc_cellauto.c +libavfilter/vsrc_gradients.c +libavfilter/vsrc_life.c +libavfilter/vsrc_mandelbrot.c +libavfilter/vsrc_mptestsrc.c +libavfilter/vsrc_sierpinski.c +libavfilter/vsrc_testsrc.c +libavfilter/vulkan.c +libavfilter/vulkan.h +libavfilter/vulkan_filter.c +libavfilter/vulkan_filter.h +libavfilter/w3fdif.h +libavfilter/window_func.h +libavfilter/x86/Makefile +libavfilter/x86/af_afir.asm +libavfilter/x86/af_afir_init.c +libavfilter/x86/af_anlmdn.asm +libavfilter/x86/af_anlmdn_init.c +libavfilter/x86/af_volume.asm +libavfilter/x86/af_volume_init.c +libavfilter/x86/avf_showcqt.asm +libavfilter/x86/avf_showcqt_init.c +libavfilter/x86/colorspacedsp.asm +libavfilter/x86/colorspacedsp_init.c +libavfilter/x86/scene_sad.asm +libavfilter/x86/scene_sad_init.c +libavfilter/x86/vf_atadenoise.asm +libavfilter/x86/vf_atadenoise_init.c +libavfilter/x86/vf_blend.asm +libavfilter/x86/vf_blend_init.c +libavfilter/x86/vf_bwdif.asm +libavfilter/x86/vf_bwdif_init.c +libavfilter/x86/vf_convolution.asm +libavfilter/x86/vf_convolution_init.c +libavfilter/x86/vf_eq.asm +libavfilter/x86/vf_eq_init.c +libavfilter/x86/vf_framerate.asm +libavfilter/x86/vf_framerate_init.c +libavfilter/x86/vf_fspp.asm +libavfilter/x86/vf_fspp_init.c +libavfilter/x86/vf_gblur.asm +libavfilter/x86/vf_gblur_init.c +libavfilter/x86/vf_gradfun.asm +libavfilter/x86/vf_gradfun_init.c +libavfilter/x86/vf_hflip.asm +libavfilter/x86/vf_hflip_init.c +libavfilter/x86/vf_hqdn3d.asm +libavfilter/x86/vf_hqdn3d_init.c +libavfilter/x86/vf_idet.asm +libavfilter/x86/vf_idet_init.c +libavfilter/x86/vf_interlace.asm +libavfilter/x86/vf_limiter.asm +libavfilter/x86/vf_limiter_init.c +libavfilter/x86/vf_lut3d.asm +libavfilter/x86/vf_lut3d_init.c +libavfilter/x86/vf_maskedclamp.asm +libavfilter/x86/vf_maskedclamp_init.c +libavfilter/x86/vf_maskedmerge.asm +libavfilter/x86/vf_maskedmerge_init.c +libavfilter/x86/vf_nlmeans.asm +libavfilter/x86/vf_nlmeans_init.c +libavfilter/x86/vf_noise.c +libavfilter/x86/vf_overlay.asm +libavfilter/x86/vf_overlay_init.c +libavfilter/x86/vf_pp7.asm +libavfilter/x86/vf_pp7_init.c +libavfilter/x86/vf_psnr.asm +libavfilter/x86/vf_psnr_init.c +libavfilter/x86/vf_pullup.asm +libavfilter/x86/vf_pullup_init.c +libavfilter/x86/vf_removegrain.asm +libavfilter/x86/vf_removegrain_init.c +libavfilter/x86/vf_spp.c +libavfilter/x86/vf_ssim.asm +libavfilter/x86/vf_ssim_init.c +libavfilter/x86/vf_stereo3d.asm +libavfilter/x86/vf_stereo3d_init.c +libavfilter/x86/vf_threshold.asm +libavfilter/x86/vf_threshold_init.c +libavfilter/x86/vf_tinterlace_init.c +libavfilter/x86/vf_transpose.asm +libavfilter/x86/vf_transpose_init.c +libavfilter/x86/vf_v360.asm +libavfilter/x86/vf_v360_init.c +libavfilter/x86/vf_w3fdif.asm +libavfilter/x86/vf_w3fdif_init.c +libavfilter/x86/vf_yadif.asm +libavfilter/x86/vf_yadif_init.c +libavfilter/x86/yadif-10.asm +libavfilter/x86/yadif-16.asm +libavfilter/yadif.h +libavfilter/yadif_common.c +libavformat/3dostr.c +libavformat/4xm.c +libavformat/Makefile +libavformat/a64.c +libavformat/aacdec.c +libavformat/aadec.c +libavformat/aaxdec.c +libavformat/ac3_channel_layout_tab.c +libavformat/ac3dec.c +libavformat/acedec.c +libavformat/acm.c +libavformat/act.c +libavformat/adp.c +libavformat/ads.c +libavformat/adtsenc.c +libavformat/adxdec.c +libavformat/aea.c +libavformat/afc.c +libavformat/aiff.c +libavformat/aiff.h +libavformat/aiffdec.c +libavformat/aiffenc.c +libavformat/aixdec.c +libavformat/allformats.c +libavformat/alp.c +libavformat/amr.c +libavformat/amvenc.c +libavformat/anm.c +libavformat/apc.c +libavformat/ape.c +libavformat/apetag.c +libavformat/apetag.h +libavformat/apm.c +libavformat/apngdec.c +libavformat/apngenc.c +libavformat/aptxdec.c +libavformat/aqtitledec.c +libavformat/argo_asf.c +libavformat/argo_asf.h +libavformat/argo_brp.c +libavformat/argo_cvg.c +libavformat/asf.c +libavformat/asf.h +libavformat/asf_tags.c +libavformat/asfcrypt.c +libavformat/asfcrypt.h +libavformat/asfdec_f.c +libavformat/asfdec_o.c +libavformat/asfenc.c +libavformat/assdec.c +libavformat/assenc.c +libavformat/ast.c +libavformat/ast.h +libavformat/astdec.c +libavformat/astenc.c +libavformat/async.c +libavformat/au.c +libavformat/av1.c +libavformat/av1.h +libavformat/av1dec.c +libavformat/avc.c +libavformat/avc.h +libavformat/avformat.c +libavformat/avformat.h +libavformat/avi.h +libavformat/avidec.c +libavformat/avienc.c +libavformat/avio.c +libavformat/avio.h +libavformat/avio_internal.h +libavformat/aviobuf.c +libavformat/avlanguage.c +libavformat/avlanguage.h +libavformat/avr.c +libavformat/avs.c +libavformat/avs2dec.c +libavformat/avs3dec.c +libavformat/bethsoftvid.c +libavformat/bfi.c +libavformat/bink.c +libavformat/binka.c +libavformat/bintext.c +libavformat/bit.c +libavformat/bluray.c +libavformat/bmv.c +libavformat/boadec.c +libavformat/brstm.c +libavformat/c93.c +libavformat/cache.c +libavformat/caf.c +libavformat/caf.h +libavformat/cafdec.c +libavformat/cafenc.c +libavformat/cavsvideodec.c +libavformat/cdg.c +libavformat/cdxl.c +libavformat/chromaprint.c +libavformat/cinedec.c +libavformat/codec2.c +libavformat/concat.c +libavformat/concatdec.c +libavformat/crcenc.c +libavformat/crypto.c +libavformat/dash.c +libavformat/dash.h +libavformat/dashdec.c +libavformat/dashenc.c +libavformat/data_uri.c +libavformat/dauddec.c +libavformat/daudenc.c +libavformat/dca_sample_rate_tab.c +libavformat/dcstr.c +libavformat/demux.c +libavformat/demux.h +libavformat/demux_utils.c +libavformat/derf.c +libavformat/dfa.c +libavformat/dfpwmdec.c +libavformat/dhav.c +libavformat/diracdec.c +libavformat/dnxhddec.c +libavformat/dovi_isom.c +libavformat/dovi_isom.h +libavformat/dsfdec.c +libavformat/dsicin.c +libavformat/dss.c +libavformat/dtsdec.c +libavformat/dtshddec.c +libavformat/dump.c +libavformat/dv.c +libavformat/dv.h +libavformat/dvbsub.c +libavformat/dvbtxt.c +libavformat/dvenc.c +libavformat/dxa.c +libavformat/eacdata.c +libavformat/electronicarts.c +libavformat/epafdec.c +libavformat/ffmeta.h +libavformat/ffmetadec.c +libavformat/ffmetaenc.c +libavformat/fifo.c +libavformat/fifo_test.c +libavformat/file.c +libavformat/filmstripdec.c +libavformat/filmstripenc.c +libavformat/fitsdec.c +libavformat/fitsenc.c +libavformat/flac_picture.c +libavformat/flac_picture.h +libavformat/flacdec.c +libavformat/flacenc.c +libavformat/flacenc.h +libavformat/flacenc_header.c +libavformat/flic.c +libavformat/flv.h +libavformat/flvdec.c +libavformat/flvenc.c +libavformat/format.c +libavformat/framecrcenc.c +libavformat/framehash.c +libavformat/frmdec.c +libavformat/fsb.c +libavformat/ftp.c +libavformat/fwse.c +libavformat/g722.c +libavformat/g723_1.c +libavformat/g726.c +libavformat/g729dec.c +libavformat/gdv.c +libavformat/genh.c +libavformat/gif.c +libavformat/gifdec.c +libavformat/golomb_tab.c +libavformat/gopher.c +libavformat/gsmdec.c +libavformat/gxf.c +libavformat/gxf.h +libavformat/gxfenc.c +libavformat/h261dec.c +libavformat/h263dec.c +libavformat/h264dec.c +libavformat/hashenc.c +libavformat/hca.c +libavformat/hcom.c +libavformat/hdsenc.c +libavformat/hevc.c +libavformat/hevc.h +libavformat/hevcdec.c +libavformat/hls.c +libavformat/hls_sample_encryption.c +libavformat/hls_sample_encryption.h +libavformat/hlsenc.c +libavformat/hlsplaylist.c +libavformat/hlsplaylist.h +libavformat/hlsproto.c +libavformat/hnm.c +libavformat/http.c +libavformat/http.h +libavformat/httpauth.c +libavformat/httpauth.h +libavformat/icecast.c +libavformat/icodec.c +libavformat/icoenc.c +libavformat/id3v1.c +libavformat/id3v1.h +libavformat/id3v2.c +libavformat/id3v2.h +libavformat/id3v2enc.c +libavformat/idcin.c +libavformat/idroqdec.c +libavformat/idroqenc.c +libavformat/iff.c +libavformat/ifv.c +libavformat/ilbc.c +libavformat/imf.h +libavformat/imf_cpl.c +libavformat/imfdec.c +libavformat/img2.c +libavformat/img2.h +libavformat/img2_alias_pix.c +libavformat/img2_brender_pix.c +libavformat/img2dec.c +libavformat/img2enc.c +libavformat/imx.c +libavformat/ingenientdec.c +libavformat/internal.h +libavformat/ip.c +libavformat/ip.h +libavformat/ipfsgateway.c +libavformat/ipmovie.c +libavformat/ipudec.c +libavformat/ircam.c +libavformat/ircam.h +libavformat/ircamdec.c +libavformat/ircamenc.c +libavformat/isom.c +libavformat/isom.h +libavformat/isom_tags.c +libavformat/iss.c +libavformat/iv8.c +libavformat/ivfdec.c +libavformat/ivfenc.c +libavformat/jacosubdec.c +libavformat/jacosubenc.c +libavformat/jpegtables.c +libavformat/jpegxl_probe.c +libavformat/jpegxl_probe.h +libavformat/jvdec.c +libavformat/kvag.c +libavformat/latmenc.c +libavformat/libamqp.c +libavformat/libavformat.v +libavformat/libgme.c +libavformat/libmodplug.c +libavformat/libopenmpt.c +libavformat/librist.c +libavformat/libsmbclient.c +libavformat/libsrt.c +libavformat/libssh.c +libavformat/libzmq.c +libavformat/lmlm4.c +libavformat/loasdec.c +libavformat/log2_tab.c +libavformat/lrc.c +libavformat/lrc.h +libavformat/lrcdec.c +libavformat/lrcenc.c +libavformat/luodatdec.c +libavformat/lvfdec.c +libavformat/lxfdec.c +libavformat/m4vdec.c +libavformat/matroska.c +libavformat/matroska.h +libavformat/matroskadec.c +libavformat/matroskaenc.c +libavformat/mca.c +libavformat/mccdec.c +libavformat/md5proto.c +libavformat/metadata.c +libavformat/metadata.h +libavformat/mgsts.c +libavformat/microdvddec.c +libavformat/microdvdenc.c +libavformat/mj2kdec.c +libavformat/mkvtimestamp_v2.c +libavformat/mlpdec.c +libavformat/mlvdec.c +libavformat/mm.c +libavformat/mmf.c +libavformat/mms.c +libavformat/mms.h +libavformat/mmsh.c +libavformat/mmst.c +libavformat/mods.c +libavformat/moflex.c +libavformat/mov.c +libavformat/mov_chan.c +libavformat/mov_chan.h +libavformat/mov_esds.c +libavformat/movenc.c +libavformat/movenc.h +libavformat/movenc_ttml.c +libavformat/movenc_ttml.h +libavformat/movenccenc.c +libavformat/movenccenc.h +libavformat/movenchint.c +libavformat/mp3dec.c +libavformat/mp3enc.c +libavformat/mpc.c +libavformat/mpc8.c +libavformat/mpeg.c +libavformat/mpeg.h +libavformat/mpeg4audio_sample_rates.c +libavformat/mpegaudiotabs.c +libavformat/mpegenc.c +libavformat/mpegts.c +libavformat/mpegts.h +libavformat/mpegtsenc.c +libavformat/mpegvideodec.c +libavformat/mpjpeg.c +libavformat/mpjpegdec.c +libavformat/mpl2dec.c +libavformat/mpsubdec.c +libavformat/msf.c +libavformat/msnwc_tcp.c +libavformat/mspdec.c +libavformat/mtaf.c +libavformat/mtv.c +libavformat/musx.c +libavformat/mux.c +libavformat/mux.h +libavformat/mux_utils.c +libavformat/mvdec.c +libavformat/mvi.c +libavformat/mxf.c +libavformat/mxf.h +libavformat/mxfdec.c +libavformat/mxfenc.c +libavformat/mxg.c +libavformat/ncdec.c +libavformat/network.c +libavformat/network.h +libavformat/nistspheredec.c +libavformat/nspdec.c +libavformat/nsvdec.c +libavformat/nullenc.c +libavformat/nut.c +libavformat/nut.h +libavformat/nutdec.c +libavformat/nutenc.c +libavformat/nuv.c +libavformat/oggdec.c +libavformat/oggdec.h +libavformat/oggenc.c +libavformat/oggparsecelt.c +libavformat/oggparsedirac.c +libavformat/oggparseflac.c +libavformat/oggparseogm.c +libavformat/oggparseopus.c +libavformat/oggparseskeleton.c +libavformat/oggparsespeex.c +libavformat/oggparsetheora.c +libavformat/oggparsevorbis.c +libavformat/oggparsevp8.c +libavformat/oma.c +libavformat/oma.h +libavformat/omadec.c +libavformat/omaenc.c +libavformat/options.c +libavformat/options_table.h +libavformat/os_support.c +libavformat/os_support.h +libavformat/paf.c +libavformat/pcm.c +libavformat/pcm.h +libavformat/pcmdec.c +libavformat/pcmenc.c +libavformat/pjsdec.c +libavformat/pmpdec.c +libavformat/pp_bnk.c +libavformat/prompeg.c +libavformat/protocols.c +libavformat/psxstr.c +libavformat/pva.c +libavformat/pvfdec.c +libavformat/qcp.c +libavformat/qtpalette.c +libavformat/qtpalette.h +libavformat/r3d.c +libavformat/rawdec.c +libavformat/rawdec.h +libavformat/rawenc.c +libavformat/rawenc.h +libavformat/rawutils.c +libavformat/rawutils.h +libavformat/rawvideodec.c +libavformat/rdt.c +libavformat/rdt.h +libavformat/realtextdec.c +libavformat/redspark.c +libavformat/replaygain.c +libavformat/replaygain.h +libavformat/riff.c +libavformat/riff.h +libavformat/riffdec.c +libavformat/riffenc.c +libavformat/rl2.c +libavformat/rm.c +libavformat/rm.h +libavformat/rmdec.c +libavformat/rmenc.c +libavformat/rmsipr.c +libavformat/rmsipr.h +libavformat/rpl.c +libavformat/rsd.c +libavformat/rso.c +libavformat/rso.h +libavformat/rsodec.c +libavformat/rsoenc.c +libavformat/rtmp.h +libavformat/rtmpcrypt.c +libavformat/rtmpcrypt.h +libavformat/rtmpdh.c +libavformat/rtmpdh.h +libavformat/rtmpdigest.c +libavformat/rtmphttp.c +libavformat/rtmppkt.c +libavformat/rtmppkt.h +libavformat/rtmpproto.c +libavformat/rtp.c +libavformat/rtp.h +libavformat/rtpdec.c +libavformat/rtpdec.h +libavformat/rtpdec_ac3.c +libavformat/rtpdec_amr.c +libavformat/rtpdec_asf.c +libavformat/rtpdec_dv.c +libavformat/rtpdec_formats.h +libavformat/rtpdec_g726.c +libavformat/rtpdec_h261.c +libavformat/rtpdec_h263.c +libavformat/rtpdec_h263_rfc2190.c +libavformat/rtpdec_h264.c +libavformat/rtpdec_hevc.c +libavformat/rtpdec_ilbc.c +libavformat/rtpdec_jpeg.c +libavformat/rtpdec_latm.c +libavformat/rtpdec_mpa_robust.c +libavformat/rtpdec_mpeg12.c +libavformat/rtpdec_mpeg4.c +libavformat/rtpdec_mpegts.c +libavformat/rtpdec_qcelp.c +libavformat/rtpdec_qdm2.c +libavformat/rtpdec_qt.c +libavformat/rtpdec_rfc4175.c +libavformat/rtpdec_svq3.c +libavformat/rtpdec_vc2hq.c +libavformat/rtpdec_vp8.c +libavformat/rtpdec_vp9.c +libavformat/rtpdec_xiph.c +libavformat/rtpenc.c +libavformat/rtpenc.h +libavformat/rtpenc_aac.c +libavformat/rtpenc_amr.c +libavformat/rtpenc_chain.c +libavformat/rtpenc_chain.h +libavformat/rtpenc_h261.c +libavformat/rtpenc_h263.c +libavformat/rtpenc_h263_rfc2190.c +libavformat/rtpenc_h264_hevc.c +libavformat/rtpenc_jpeg.c +libavformat/rtpenc_latm.c +libavformat/rtpenc_mpegts.c +libavformat/rtpenc_mpv.c +libavformat/rtpenc_rfc4175.c +libavformat/rtpenc_vc2hq.c +libavformat/rtpenc_vp8.c +libavformat/rtpenc_vp9.c +libavformat/rtpenc_xiph.c +libavformat/rtpproto.c +libavformat/rtpproto.h +libavformat/rtsp.c +libavformat/rtsp.h +libavformat/rtspcodes.h +libavformat/rtspdec.c +libavformat/rtspenc.c +libavformat/s337m.c +libavformat/samidec.c +libavformat/sapdec.c +libavformat/sapenc.c +libavformat/sauce.c +libavformat/sauce.h +libavformat/sbcdec.c +libavformat/sbgdec.c +libavformat/sccdec.c +libavformat/sccenc.c +libavformat/scd.c +libavformat/sdp.c +libavformat/sdr2.c +libavformat/sdsdec.c +libavformat/sdxdec.c +libavformat/seek.c +libavformat/segafilm.c +libavformat/segafilmenc.c +libavformat/segment.c +libavformat/serdec.c +libavformat/sga.c +libavformat/shortendec.c +libavformat/sierravmd.c +libavformat/siff.c +libavformat/smacker.c +libavformat/smjpeg.c +libavformat/smjpeg.h +libavformat/smjpegdec.c +libavformat/smjpegenc.c +libavformat/smoothstreamingenc.c +libavformat/smush.c +libavformat/sol.c +libavformat/sox.h +libavformat/soxdec.c +libavformat/soxenc.c +libavformat/spdif.c +libavformat/spdif.h +libavformat/spdifdec.c +libavformat/spdifenc.c +libavformat/srtdec.c +libavformat/srtenc.c +libavformat/srtp.c +libavformat/srtp.h +libavformat/srtpproto.c +libavformat/stldec.c +libavformat/subfile.c +libavformat/subtitles.c +libavformat/subtitles.h +libavformat/subviewer1dec.c +libavformat/subviewerdec.c +libavformat/supdec.c +libavformat/supenc.c +libavformat/svag.c +libavformat/svs.c +libavformat/swf.c +libavformat/swf.h +libavformat/swfdec.c +libavformat/swfenc.c +libavformat/takdec.c +libavformat/tcp.c +libavformat/tedcaptionsdec.c +libavformat/tee.c +libavformat/tee_common.c +libavformat/tee_common.h +libavformat/teeproto.c +libavformat/thp.c +libavformat/tiertexseq.c +libavformat/tls.c +libavformat/tls.h +libavformat/tls_gnutls.c +libavformat/tmv.c +libavformat/to_upper4.c +libavformat/tta.c +libavformat/ttaenc.c +libavformat/ttmlenc.c +libavformat/ttmlenc.h +libavformat/tty.c +libavformat/txd.c +libavformat/ty.c +libavformat/udp.c +libavformat/uncodedframecrcenc.c +libavformat/unix.c +libavformat/url.c +libavformat/url.h +libavformat/urldecode.c +libavformat/urldecode.h +libavformat/utils.c +libavformat/vag.c +libavformat/vapoursynth.c +libavformat/vc1dec.c +libavformat/vc1test.c +libavformat/vc1testenc.c +libavformat/version.c +libavformat/version.h +libavformat/version_major.h +libavformat/vividas.c +libavformat/vivo.c +libavformat/voc.c +libavformat/voc.h +libavformat/voc_packet.c +libavformat/vocdec.c +libavformat/vocenc.c +libavformat/vorbiscomment.c +libavformat/vorbiscomment.h +libavformat/vpcc.c +libavformat/vpcc.h +libavformat/vpk.c +libavformat/vplayerdec.c +libavformat/vqf.c +libavformat/w64.c +libavformat/w64.h +libavformat/wavdec.c +libavformat/wavenc.c +libavformat/wc3movie.c +libavformat/webm_chunk.c +libavformat/webmdashenc.c +libavformat/webpenc.c +libavformat/webvttdec.c +libavformat/webvttenc.c +libavformat/westwood_aud.c +libavformat/westwood_audenc.c +libavformat/westwood_vqa.c +libavformat/wsddec.c +libavformat/wtv.h +libavformat/wtv_common.c +libavformat/wtvdec.c +libavformat/wtvenc.c +libavformat/wv.c +libavformat/wv.h +libavformat/wvdec.c +libavformat/wvedec.c +libavformat/wvenc.c +libavformat/xa.c +libavformat/xmv.c +libavformat/xvag.c +libavformat/xwma.c +libavformat/yop.c +libavformat/yuv4mpeg.h +libavformat/yuv4mpegdec.c +libavformat/yuv4mpegenc.c +libavutil/Makefile +libavutil/aarch64/Makefile +libavutil/aarch64/asm.S +libavutil/aarch64/bswap.h +libavutil/aarch64/cpu.c +libavutil/aarch64/cpu.h +libavutil/aarch64/float_dsp_init.c +libavutil/aarch64/float_dsp_neon.S +libavutil/aarch64/timer.h +libavutil/adler32.c +libavutil/adler32.h +libavutil/aes.c +libavutil/aes.h +libavutil/aes_ctr.c +libavutil/aes_ctr.h +libavutil/aes_internal.h +libavutil/arm/Makefile +libavutil/arm/asm.S +libavutil/arm/bswap.h +libavutil/arm/cpu.c +libavutil/arm/cpu.h +libavutil/arm/float_dsp_arm.h +libavutil/arm/float_dsp_init_arm.c +libavutil/arm/float_dsp_init_vfp.c +libavutil/arm/float_dsp_neon.S +libavutil/arm/float_dsp_vfp.S +libavutil/arm/intmath.h +libavutil/arm/intreadwrite.h +libavutil/arm/timer.h +libavutil/attributes.h +libavutil/audio_fifo.c +libavutil/audio_fifo.h +libavutil/avassert.h +libavutil/avsscanf.c +libavutil/avstring.c +libavutil/avstring.h +libavutil/avutil.h +libavutil/base64.c +libavutil/base64.h +libavutil/bfin/timer.h +libavutil/blowfish.c +libavutil/blowfish.h +libavutil/bprint.c +libavutil/bprint.h +libavutil/bswap.h +libavutil/buffer.c +libavutil/buffer.h +libavutil/buffer_internal.h +libavutil/camellia.c +libavutil/camellia.h +libavutil/cast5.c +libavutil/cast5.h +libavutil/channel_layout.c +libavutil/channel_layout.h +libavutil/color_utils.c +libavutil/color_utils.h +libavutil/colorspace.h +libavutil/common.h +libavutil/cpu.c +libavutil/cpu.h +libavutil/cpu_internal.h +libavutil/crc.c +libavutil/crc.h +libavutil/csp.c +libavutil/csp.h +libavutil/cuda_check.h +libavutil/des.c +libavutil/des.h +libavutil/detection_bbox.c +libavutil/detection_bbox.h +libavutil/dict.c +libavutil/dict.h +libavutil/display.c +libavutil/display.h +libavutil/dovi_meta.c +libavutil/dovi_meta.h +libavutil/downmix_info.c +libavutil/downmix_info.h +libavutil/dynarray.h +libavutil/encryption_info.c +libavutil/encryption_info.h +libavutil/error.c +libavutil/error.h +libavutil/eval.c +libavutil/eval.h +libavutil/ffmath.h +libavutil/fifo.c +libavutil/fifo.h +libavutil/file.c +libavutil/file.h +libavutil/file_open.c +libavutil/film_grain_params.c +libavutil/film_grain_params.h +libavutil/fixed_dsp.c +libavutil/fixed_dsp.h +libavutil/float_dsp.c +libavutil/float_dsp.h +libavutil/frame.c +libavutil/frame.h +libavutil/getenv_utf8.h +libavutil/hash.c +libavutil/hash.h +libavutil/hdr_dynamic_metadata.c +libavutil/hdr_dynamic_metadata.h +libavutil/hdr_dynamic_vivid_metadata.c +libavutil/hdr_dynamic_vivid_metadata.h +libavutil/hmac.c +libavutil/hmac.h +libavutil/hwcontext.c +libavutil/hwcontext.h +libavutil/hwcontext_cuda.c +libavutil/hwcontext_cuda.h +libavutil/hwcontext_cuda_internal.h +libavutil/hwcontext_d3d11va.h +libavutil/hwcontext_drm.c +libavutil/hwcontext_drm.h +libavutil/hwcontext_dxva2.h +libavutil/hwcontext_internal.h +libavutil/hwcontext_mediacodec.h +libavutil/hwcontext_opencl.c +libavutil/hwcontext_opencl.h +libavutil/hwcontext_qsv.c +libavutil/hwcontext_qsv.h +libavutil/hwcontext_stub.c +libavutil/hwcontext_vaapi.c +libavutil/hwcontext_vaapi.h +libavutil/hwcontext_vdpau.c +libavutil/hwcontext_vdpau.h +libavutil/hwcontext_videotoolbox.h +libavutil/hwcontext_vulkan.c +libavutil/hwcontext_vulkan.h +libavutil/imgutils.c +libavutil/imgutils.h +libavutil/imgutils_internal.h +libavutil/integer.c +libavutil/integer.h +libavutil/internal.h +libavutil/intfloat.h +libavutil/intmath.c +libavutil/intmath.h +libavutil/intreadwrite.h +libavutil/lfg.c +libavutil/lfg.h +libavutil/libavutil.v +libavutil/libm.h +libavutil/lls.c +libavutil/lls.h +libavutil/log.c +libavutil/log.h +libavutil/log2_tab.c +libavutil/loongarch/Makefile +libavutil/lzo.c +libavutil/lzo.h +libavutil/macos_kperf.h +libavutil/macros.h +libavutil/mastering_display_metadata.c +libavutil/mastering_display_metadata.h +libavutil/mathematics.c +libavutil/mathematics.h +libavutil/md5.c +libavutil/md5.h +libavutil/mem.c +libavutil/mem.h +libavutil/mem_internal.h +libavutil/mips/Makefile +libavutil/motion_vector.h +libavutil/murmur3.c +libavutil/murmur3.h +libavutil/objc.h +libavutil/opt.c +libavutil/opt.h +libavutil/parseutils.c +libavutil/parseutils.h +libavutil/pca.h +libavutil/pixdesc.c +libavutil/pixdesc.h +libavutil/pixelutils.c +libavutil/pixelutils.h +libavutil/pixfmt.h +libavutil/ppc/Makefile +libavutil/ppc/cpu.c +libavutil/ppc/cpu.h +libavutil/ppc/float_dsp_altivec.c +libavutil/ppc/float_dsp_altivec.h +libavutil/ppc/float_dsp_init.c +libavutil/ppc/float_dsp_vsx.c +libavutil/ppc/float_dsp_vsx.h +libavutil/ppc/intreadwrite.h +libavutil/ppc/timer.h +libavutil/ppc/util_altivec.h +libavutil/qsort.h +libavutil/random_seed.c +libavutil/random_seed.h +libavutil/rational.c +libavutil/rational.h +libavutil/rc4.c +libavutil/rc4.h +libavutil/replaygain.h +libavutil/reverse.c +libavutil/reverse.h +libavutil/ripemd.c +libavutil/ripemd.h +libavutil/samplefmt.c +libavutil/samplefmt.h +libavutil/sha.c +libavutil/sha.h +libavutil/sha512.c +libavutil/sha512.h +libavutil/slicethread.c +libavutil/slicethread.h +libavutil/softfloat.h +libavutil/softfloat_ieee754.h +libavutil/softfloat_tables.h +libavutil/spherical.c +libavutil/spherical.h +libavutil/stereo3d.c +libavutil/stereo3d.h +libavutil/tablegen.h +libavutil/tea.c +libavutil/tea.h +libavutil/thread.h +libavutil/threadmessage.c +libavutil/threadmessage.h +libavutil/time.c +libavutil/time.h +libavutil/time_internal.h +libavutil/timecode.c +libavutil/timecode.h +libavutil/timer.h +libavutil/timestamp.h +libavutil/tree.c +libavutil/tree.h +libavutil/twofish.c +libavutil/twofish.h +libavutil/tx.c +libavutil/tx.h +libavutil/tx_double.c +libavutil/tx_float.c +libavutil/tx_int32.c +libavutil/tx_priv.h +libavutil/tx_template.c +libavutil/utils.c +libavutil/uuid.c +libavutil/uuid.h +libavutil/version.c +libavutil/version.h +libavutil/version_major.h +libavutil/video_enc_params.c +libavutil/video_enc_params.h +libavutil/vulkan.c +libavutil/vulkan.h +libavutil/vulkan_functions.h +libavutil/vulkan_glslang.c +libavutil/vulkan_loader.h +libavutil/vulkan_shaderc.c +libavutil/wchar_filename.h +libavutil/x86/Makefile +libavutil/x86/asm.h +libavutil/x86/bswap.h +libavutil/x86/cpu.c +libavutil/x86/cpu.h +libavutil/x86/cpuid.asm +libavutil/x86/emms.h +libavutil/x86/fixed_dsp.asm +libavutil/x86/fixed_dsp_init.c +libavutil/x86/float_dsp.asm +libavutil/x86/float_dsp_init.c +libavutil/x86/imgutils.asm +libavutil/x86/imgutils_init.c +libavutil/x86/intmath.h +libavutil/x86/intreadwrite.h +libavutil/x86/lls.asm +libavutil/x86/lls_init.c +libavutil/x86/pixelutils.asm +libavutil/x86/pixelutils.h +libavutil/x86/pixelutils_init.c +libavutil/x86/timer.h +libavutil/x86/tx_float.asm +libavutil/x86/tx_float_init.c +libavutil/x86/x86inc.asm +libavutil/x86/x86util.asm +libavutil/xga_font_data.c +libavutil/xga_font_data.h +libavutil/xtea.c +libavutil/xtea.h +libpostproc/Makefile +libpostproc/libpostproc.v +libpostproc/postprocess.c +libpostproc/postprocess.h +libpostproc/postprocess_altivec_template.c +libpostproc/postprocess_internal.h +libpostproc/postprocess_template.c +libpostproc/version.c +libpostproc/version.h +libpostproc/version_major.h +libswresample/Makefile +libswresample/aarch64/Makefile +libswresample/aarch64/audio_convert_init.c +libswresample/aarch64/audio_convert_neon.S +libswresample/aarch64/resample.S +libswresample/aarch64/resample_init.c +libswresample/arm/Makefile +libswresample/arm/audio_convert_init.c +libswresample/arm/audio_convert_neon.S +libswresample/arm/resample.S +libswresample/arm/resample_init.c +libswresample/audioconvert.c +libswresample/audioconvert.h +libswresample/dither.c +libswresample/dither_template.c +libswresample/libswresample.v +libswresample/log2_tab.c +libswresample/noise_shaping_data.c +libswresample/options.c +libswresample/rematrix.c +libswresample/rematrix_template.c +libswresample/resample.c +libswresample/resample.h +libswresample/resample_dsp.c +libswresample/resample_template.c +libswresample/soxr_resample.c +libswresample/swresample.c +libswresample/swresample.h +libswresample/swresample_frame.c +libswresample/swresample_internal.h +libswresample/version.c +libswresample/version.h +libswresample/version_major.h +libswresample/x86/Makefile +libswresample/x86/audio_convert.asm +libswresample/x86/audio_convert_init.c +libswresample/x86/rematrix.asm +libswresample/x86/rematrix_init.c +libswresample/x86/resample.asm +libswresample/x86/resample_init.c +libswscale/Makefile +libswscale/aarch64/Makefile +libswscale/aarch64/hscale.S +libswscale/aarch64/output.S +libswscale/aarch64/rgb2rgb.c +libswscale/aarch64/rgb2rgb_neon.S +libswscale/aarch64/swscale.c +libswscale/aarch64/swscale_unscaled.c +libswscale/aarch64/yuv2rgb_neon.S +libswscale/alphablend.c +libswscale/arm/Makefile +libswscale/arm/hscale.S +libswscale/arm/output.S +libswscale/arm/rgb2yuv_neon_16.S +libswscale/arm/rgb2yuv_neon_32.S +libswscale/arm/swscale.c +libswscale/arm/swscale_unscaled.c +libswscale/arm/yuv2rgb_neon.S +libswscale/bayer_template.c +libswscale/gamma.c +libswscale/hscale.c +libswscale/hscale_fast_bilinear.c +libswscale/input.c +libswscale/libswscale.v +libswscale/log2_tab.c +libswscale/options.c +libswscale/output.c +libswscale/ppc/Makefile +libswscale/ppc/swscale_altivec.c +libswscale/ppc/swscale_ppc_template.c +libswscale/ppc/swscale_vsx.c +libswscale/ppc/yuv2rgb_altivec.c +libswscale/ppc/yuv2rgb_altivec.h +libswscale/ppc/yuv2yuv_altivec.c +libswscale/rgb2rgb.c +libswscale/rgb2rgb.h +libswscale/rgb2rgb_template.c +libswscale/slice.c +libswscale/swscale.c +libswscale/swscale.h +libswscale/swscale_internal.h +libswscale/swscale_unscaled.c +libswscale/utils.c +libswscale/version.c +libswscale/version.h +libswscale/version_major.h +libswscale/vscale.c +libswscale/x86/Makefile +libswscale/x86/hscale_fast_bilinear_simd.c +libswscale/x86/input.asm +libswscale/x86/output.asm +libswscale/x86/rgb2rgb.c +libswscale/x86/rgb2rgb_template.c +libswscale/x86/rgb_2_rgb.asm +libswscale/x86/scale.asm +libswscale/x86/scale_avx2.asm +libswscale/x86/swscale.c +libswscale/x86/swscale_template.c +libswscale/x86/yuv2rgb.c +libswscale/x86/yuv2rgb_template.c +libswscale/x86/yuv2yuvX.asm +libswscale/x86/yuv_2_rgb.asm +libswscale/yuv2rgb.c +presets/libvpx-1080p.ffpreset +presets/libvpx-1080p50_60.ffpreset +presets/libvpx-360p.ffpreset +presets/libvpx-720p.ffpreset +presets/libvpx-720p50_60.ffpreset +tests/Makefile +tests/api/Makefile +tests/checkasm/Makefile +tests/fate/aac.mak +tests/fate/ac3.mak +tests/fate/acodec.mak +tests/fate/adpcm.mak +tests/fate/alac.mak +tests/fate/als.mak +tests/fate/amrnb.mak +tests/fate/amrwb.mak +tests/fate/api.mak +tests/fate/apng.mak +tests/fate/atrac.mak +tests/fate/audio.mak +tests/fate/bmp.mak +tests/fate/build.mak +tests/fate/caf.mak +tests/fate/canopus.mak +tests/fate/cbs.mak +tests/fate/cdxl.mak +tests/fate/checkasm.mak +tests/fate/concatdec.mak +tests/fate/cover-art.mak +tests/fate/dca.mak +tests/fate/demux.mak +tests/fate/dfa.mak +tests/fate/dnn.mak +tests/fate/dnxhd.mak +tests/fate/dpcm.mak +tests/fate/dvvideo.mak +tests/fate/ea.mak +tests/fate/exif.mak +tests/fate/ffmpeg.mak +tests/fate/ffprobe.mak +tests/fate/fft.mak +tests/fate/fifo-muxer.mak +tests/fate/filter-audio.mak +tests/fate/filter-video.mak +tests/fate/fits.mak +tests/fate/flac.mak +tests/fate/flvenc.mak +tests/fate/gapless.mak +tests/fate/gif.mak +tests/fate/h264.mak +tests/fate/hap.mak +tests/fate/hevc.mak +tests/fate/hlsenc.mak +tests/fate/hw.mak +tests/fate/id3v2.mak +tests/fate/image.mak +tests/fate/imf.mak +tests/fate/indeo.mak +tests/fate/lavf-audio.mak +tests/fate/lavf-container.mak +tests/fate/lavf-image.mak +tests/fate/lavf-image2pipe.mak +tests/fate/lavf-video.mak +tests/fate/libavcodec.mak +tests/fate/libavdevice.mak +tests/fate/libavformat.mak +tests/fate/libavutil.mak +tests/fate/libswresample.mak +tests/fate/libswscale.mak +tests/fate/lossless-audio.mak +tests/fate/lossless-video.mak +tests/fate/matroska.mak +tests/fate/microsoft.mak +tests/fate/monkeysaudio.mak +tests/fate/mov.mak +tests/fate/mp3.mak +tests/fate/mpc.mak +tests/fate/mpeg4.mak +tests/fate/mpegps.mak +tests/fate/mpegts.mak +tests/fate/mxf.mak +tests/fate/oma.mak +tests/fate/opus.mak +tests/fate/pcm.mak +tests/fate/pixfmt.mak +tests/fate/pixlet.mak +tests/fate/probe.mak +tests/fate/prores.mak +tests/fate/qt.mak +tests/fate/qtrle.mak +tests/fate/real.mak +tests/fate/screen.mak +tests/fate/seek.mak +tests/fate/segment.mak +tests/fate/source.mak +tests/fate/speedhq.mak +tests/fate/subtitles.mak +tests/fate/truehd.mak +tests/fate/utvideo.mak +tests/fate/vbn.mak +tests/fate/vcodec.mak +tests/fate/video.mak +tests/fate/voice.mak +tests/fate/vorbis.mak +tests/fate/vpx.mak +tests/fate/vqf.mak +tests/fate/wavpack.mak +tests/fate/webm-dash-manifest.mak +tests/fate/wma.mak +tests/fate/xvid.mak +tools/Makefile +tools/aviocat.c +tools/cl2c +tools/crypto_bench.c +tools/cws2fws.c +tools/decode_simple.c +tools/decode_simple.h +tools/enum_options.c +tools/ffescape.c +tools/ffeval.c +tools/ffhash.c +tools/fourcc2pixfmt.c +tools/graph2dot.c +tools/ismindex.c +tools/pktdumper.c +tools/probetest.c +tools/qt-faststart.c +tools/scale_slice_test.c +tools/seek_print.c +tools/sidxindex.c +tools/sofa2wavs.c +tools/trasher.c +tools/uncoded_frame.c +tools/venc_data_dump.c +tools/zmqsend.c diff --git a/SOURCES/ffmpeg_gen_free_tarball.sh b/SOURCES/ffmpeg_gen_free_tarball.sh new file mode 100755 index 0000000..f4710fe --- /dev/null +++ b/SOURCES/ffmpeg_gen_free_tarball.sh @@ -0,0 +1,130 @@ +#!/bin/bash +# +# Copyright (c) 2022 Andreas Schneider +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# shellcheck disable=2181 + +export LC_COLLATE="C.UTF-8" + +FF_PKGNAME="ffmpeg" +FF_PKGNAME_SUFFIX="-free" +FF_VERSION="$(rpmspec -P ./*.spec | grep ^Version | sed -e 's/Version:[ ]*//g')" +FF_TARBALL_URL="https://ffmpeg.org/releases/${FF_PKGNAME}-${FF_VERSION}.tar.xz" +FF_TARBALL="$(basename "${FF_TARBALL_URL}")" +FF_GPG_ARMOR_FILE="${FF_TARBALL}.asc" +FF_PKG_DIR="$(pwd)" +FF_KEYRING="${FF_PKG_DIR}/ffmpeg.keyring" +FF_TMPDIR=$(mktemp --tmpdir -d ffmpeg-XXXXXXXX) +FF_PATH="${FF_TMPDIR}/${FF_PKGNAME}-${FF_VERSION}" + +cleanup_tmpdir() { + # shellcheck disable=2164 + popd 2>/dev/null + rm -rf "${FF_TMPDIR}" +} +trap cleanup_tmpdir SIGINT + +cleanup_and_exit() +{ + cleanup_tmpdir + + if test "$1" = 0 -o -z "$1"; then + exit 0 + else + # shellcheck disable=2086 + exit ${1} + fi +} + +if [[ ! -w "${FF_TARBALL}" ]]; then + echo ">>> Downloading tarball" + wget "${FF_TARBALL_URL}" +fi +if [[ ! -w "${FF_TARBALL}.asc" ]]; then + echo ">>> Downloading signature" + wget "${FF_TARBALL_URL}.asc" +fi + +echo ">>> Verifying ${FF_TARBALL} GPG signature" +gpgv2 --quiet --keyring "${FF_KEYRING}" "${FF_GPG_ARMOR_FILE}" "${FF_TARBALL}" +if [ $? -ne 0 ]; then + echo "ERROR: GPG signature verification failed" + cleanup_and_exit 1 +fi +echo + +echo ">>> Unpacking ${FF_TARBALL}" + +tar -xf "${FF_TARBALL}" -C "${FF_TMPDIR}" +if [ $? -ne 0 ]; then + echo "ERROR: Failed to unpack ${FF_TARBALL}" + cleanup_and_exit 1 +fi + +if [[ ! -r ffmpeg_free_sources ]]; then + echo "ERROR: ffmpeg_free_sources doesn't exist!" + cleanup_and_exit 1 +fi +readarray -t keepfiles < ffmpeg_free_sources + +pushd "${FF_PATH}" || cleanup_and_exit 1 + +echo +echo ">>> Cleaning up sources for new tarball ..." + +# Get file list from ffmpeg +mapfile -d '' filelist < <(find ./ -type f -printf '%P\0') + +# Sort arrays +readarray -t keepfiles_sorted < <(printf '%s\0' "${keepfiles[@]}" | sort -z | xargs -0n1) +readarray -t filelist_sorted < <(printf '%s\0' "${filelist[@]}" | sort -z | xargs -0n1) + +# Compare arrays and remove files which are left over +comm -2 -3 -z <(printf '%s\0' "${filelist_sorted[@]}") <(printf '%s\0' "${keepfiles_sorted[@]}") | xargs -0 rm -f + +readarray -t removed_files < <(comm -1 -3 -z <(printf '%s\0' "${filelist_sorted[@]}") <(printf '%s\0' "${keepfiles_sorted[@]}") | xargs -0n1) +if [[ "${#removed_files[@]}" -ge 1 ]]; then + if [[ "${#removed_files[@]}" -eq 1 ]] && [[ -z "${removed_files[0]}" ]]; then + echo "... done" + else + echo "File not in upstream tarball anymore (please cleanup 'ffmpeg_free_sources'):" + for f in "${removed_files[@]}"; do + if [[ -z "${f}" ]]; then + continue + fi + echo " * ${f}" + done + fi +fi +echo + +popd || cleanup_and_exit 1 # /FF_PATH + +pushd "${FF_TMPDIR}" || cleanup_and_exit 1 + +echo ">>> Create new tarball ${FF_PKGNAME}${FF_PKGNAME_SUFFIX}-${FF_VERSION}.tar.xz ..." +tar -cJf "${FF_PKG_DIR}/${FF_PKGNAME}${FF_PKGNAME_SUFFIX}-${FF_VERSION}.tar.xz" "${FF_PKGNAME}-${FF_VERSION}" +if [ $? -ne 0 ]; then + echo "ERROR: Creating tarball failed" + cleanup_and_exit 1 +fi + +popd || cleanup_and_exit 1 # /FF_TMPDIR + +du -sh "${FF_PKGNAME}${FF_PKGNAME_SUFFIX}-${FF_VERSION}.tar.xz" +echo + +cleanup_and_exit 0 diff --git a/SOURCES/ffmpeg_get_dlopen_headers.sh b/SOURCES/ffmpeg_get_dlopen_headers.sh new file mode 100755 index 0000000..b64cc97 --- /dev/null +++ b/SOURCES/ffmpeg_get_dlopen_headers.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# Script to grab headers from existing packages to support dlopen() codec libraries +# Requires: bash, coreutils, curl, bsdtar, dnf, dnf-plugins-core, tar, xz +# Author: Neal Gompa +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +echo "Setting up..." +# Get local directory +LOCALDIR=$(realpath $(dirname $0)) + +# Create working area +TMPDIR=$(mktemp -d /tmp/mmheadersXXXXXX) +mkdir -pv $TMPDIR + +echo "Fetching headers..." +# Get OpenH264 headers +OPENH264_DEVEL=$(dnf -q download --url 'pkgconfig(openh264)') +curl -L $OPENH264_DEVEL | bsdtar -xvf - --include "./usr/include/*" -C $TMPDIR + +echo "Generating tarball..." +# Prep tarball tree +mv -v ${TMPDIR}/usr ${TMPDIR}/ffdlopenhdrs +# Generate tarball +tar --transform "s|^${TMPDIR#?}/||" -cJvf ${LOCALDIR}/ffmpeg-dlopen-headers.tar.xz ${TMPDIR}/ffdlopenhdrs +# Clean up +echo "Cleaning up..." +rm -rfv ${TMPDIR} + +echo "Tarball created: ${LOCALDIR}/ffmpeg-dlopen-headers.tar.xz" diff --git a/SOURCES/ffmpeg_update_free_sources.sh b/SOURCES/ffmpeg_update_free_sources.sh new file mode 100755 index 0000000..7dc5c9c --- /dev/null +++ b/SOURCES/ffmpeg_update_free_sources.sh @@ -0,0 +1,60 @@ +#!/bin/bash +# +# Copyright (c) 2022 Andreas Schneider +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# shellcheck disable=2181 + +export LC_COLLATE="C.UTF-8" + +cleanup_and_exit() +{ + if test "$1" = 0 -o -z "$1"; then + exit 0 + else + # shellcheck disable=2086 + exit ${1} + fi +} + +echo ">>> Collect information from ${1}" +build_log="$(readlink -f "${1}")" +if [[ -z "${build_log}" ]] || [[ ! -r "${build_log}" ]]; then + echo "Build log doesn't exist: %{build_log}" + cleanup_and_exit 1 +fi + +asm_files="$(grep "^gcc.*\.c$" "${build_log}" | awk 'NF>1{print $NF}' | sort)" +c_files="$(grep "^nasm.*\.asm$" "${build_log}" | awk 'NF>1{print $NF}' | sort)" + +# shellcheck disable=2206 +new_sources=(${asm_files} + ${c_files}) + +# Sort arrays +readarray -t new_sources_sorted < <(printf '%s\0' "${new_sources[@]}" | sort -z | xargs -0n1) + +# Create a backup for a diff +cp -a ffmpeg_free_sources ffmpeg_free_sources.orig +cp -a ffmpeg_free_sources ffmpeg_free_sources.new +printf "%s\n" "${new_sources_sorted[@]}" >> ffmpeg_free_sources.new +# Update ffmpeg_free_sources +echo ">>> Updating ffmpeg_free_sources" +sort < ffmpeg_free_sources.new | uniq | sed '/^$/d' > ffmpeg_free_sources +echo ">>> Differences in file list" +diff -u ffmpeg_free_sources.orig ffmpeg_free_sources +rm -f ffmpeg_free_sources.new + +cleanup_and_exit 0 diff --git a/SPECS/ffmpeg.spec b/SPECS/ffmpeg.spec new file mode 100644 index 0000000..60375ae --- /dev/null +++ b/SPECS/ffmpeg.spec @@ -0,0 +1,1009 @@ +# For a complete build enable these two +%bcond_with upstream_tarball +%bcond_with all_codecs + +# Break dependency cycles by disabling certain optional dependencies. +%bcond_with bootstrap + +# If you want to do a build with the upstream source tarball, then set the +# pkg_suffix to %%nil. We can't handle this with a conditional, as srpm +# generation would not take it into account. +%global pkg_suffix -free + +# Fails due to asm issue +%ifarch %{ix86} %{arm} +%bcond_with lto +%else +%bcond_without lto +%endif + +%ifarch x86_64 +%bcond_without svtav1 +%bcond_without mfx +%bcond_without vmaf +%else +%bcond_with svtav1 +%bcond_with mfx +%bcond_with vmaf +%endif + +%ifarch s390 s390x +%bcond_with dc1394 +%else +%bcond_without dc1394 +%endif + +%if 0%{?rhel} +# Disable dependencies not offered in RHEL/EPEL +%bcond_with crystalhd +%bcond_with omxil +%else + +# Disable some features because RHEL 9 packages are too old +%if 0%{?rhel} && 0%{?rhel} <= 9 +%bcond_with flite +%bcond_with lcms2 +%bcond_with placebo +%else +%bcond_without flite +%bcond_without lcms2 +%bcond_without placebo +%endif + +# crystalhd isn't available on IBM Z +%ifarch s390 s390x +%bcond_with crystalhd +%else +%bcond_without crystalhd +%endif + +%bcond_without omxil + +%endif + +# Break chromaprint dependency cycle (Fedora-only): +# ffmpeg (libavcodec-free) → chromaprint → ffmpeg +%if %{with bootstrap} +%bcond_with chromaprint +%else +%bcond_without chromaprint +%endif + + +%if %{with all_codecs} +%bcond_without rtmp +%bcond_without x264 +%bcond_without x265 +%else +%bcond_with rtmp +%bcond_with x264 +%bcond_with x265 +%endif + +%if %{without lto} +%global _lto_cflags %{nil} +%endif + +%if "%{__isa_bits}" == "64" +%global lib64_suffix ()(64bit) +%endif +%global openh264_soversion 7 + +%global av_codec_soversion 59 +%global av_device_soversion 59 +%global av_filter_soversion 8 +%global av_format_soversion 59 +%global av_util_soversion 57 +%global postproc_soversion 56 +%global swresample_soversion 4 +%global swscale_soversion 6 + +Name: ffmpeg +%global pkg_name %{name}%{?pkg_suffix} + +Version: 5.1.3 +Release: 1%{?dist} +Summary: A complete solution to record, convert and stream audio and video +License: GPLv3+ +URL: https://ffmpeg.org/ +Source0: ffmpeg%{?pkg_suffix}-%{version}.tar.xz +Source1: ffmpeg-dlopen-headers.tar.xz +Source2: https://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz.asc +# https://ffmpeg.org/ffmpeg-devel.asc +# gpg2 --import --import-options import-export,import-minimal ffmpeg-devel.asc > ./ffmpeg.keyring +Source3: ffmpeg.keyring +Source4: ffmpeg_free_sources +Source20: enable_decoders +Source21: enable_encoders +# Scripts for generating tarballs +Source90: ffmpeg_update_free_sources.sh +Source91: ffmpeg_gen_free_tarball.sh +Source92: ffmpeg_get_dlopen_headers.sh +Source93: ffmpeg_find_free_source_headers.sh + +# Fixes for reduced codec selection on free build +Patch1: ffmpeg-codec-choice.patch +# Better error messages for free build +Patch2: ffmpeg-new-coder-errors.patch +# Allow to build with fdk-aac-free +# See https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 +Patch3: ffmpeg-allow-fdk-aac-free.patch + +# Set up dlopen for openh264 +Patch1001: ffmpeg-dlopen-openh264.patch + +Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavdevice%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavfilter%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libpostproc%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} + +BuildRequires: AMF-devel +BuildRequires: fdk-aac-free-devel +%if %{with flite} +BuildRequires: flite-devel >= 2.2 +%endif +BuildRequires: game-music-emu-devel +BuildRequires: gcc +BuildRequires: gnupg2 +BuildRequires: gsm-devel +BuildRequires: ladspa-devel +BuildRequires: lame-devel +%if %{with crystalhd} +BuildRequires: libcrystalhd-devel +%endif +BuildRequires: libgcrypt-devel +BuildRequires: libmysofa-devel +BuildRequires: libX11-devel +BuildRequires: libXext-devel +BuildRequires: libXv-devel +BuildRequires: make +BuildRequires: nasm +BuildRequires: perl(Pod::Man) +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(aom) +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(caca) +BuildRequires: pkgconfig(codec2) +BuildRequires: pkgconfig(dav1d) +BuildRequires: pkgconfig(ffnvcodec) +BuildRequires: pkgconfig(flac) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(frei0r) +BuildRequires: pkgconfig(fribidi) +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(libilbc) +BuildRequires: pkgconfig(jack) +%if %{with lcms2} +BuildRequires: pkgconfig(lcms2) >= 2.13 +%endif +BuildRequires: pkgconfig(libass) +BuildRequires: pkgconfig(libbluray) +BuildRequires: pkgconfig(libbs2b) +BuildRequires: pkgconfig(libcdio) +BuildRequires: pkgconfig(libcdio_paranoia) +%if %{with chromaprint} +BuildRequires: pkgconfig(libchromaprint) +%endif +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libjxl) >= 0.7.0 +BuildRequires: pkgconfig(libmodplug) +%if %{with omxil} +BuildRequires: pkgconfig(libomxil-bellagio) +%endif +BuildRequires: pkgconfig(libopenjp2) +BuildRequires: pkgconfig(libopenmpt) +%if %{with placebo} +BuildRequires: pkgconfig(libplacebo) >= 4.192.0 +%endif +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(librabbitmq) +BuildRequires: pkgconfig(librist) +BuildRequires: pkgconfig(librsvg-2.0) +BuildRequires: pkgconfig(libssh) +BuildRequires: pkgconfig(libv4l2) +BuildRequires: pkgconfig(libva) +BuildRequires: pkgconfig(libva-drm) +BuildRequires: pkgconfig(libva-x11) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(libzmq) +BuildRequires: pkgconfig(lilv-0) +BuildRequires: pkgconfig(lv2) +BuildRequires: pkgconfig(netcdf) +BuildRequires: pkgconfig(ogg) +BuildRequires: pkgconfig(openal) +BuildRequires: pkgconfig(opencore-amrnb) +BuildRequires: pkgconfig(OpenCL) +BuildRequires: pkgconfig(opus) +BuildRequires: pkgconfig(rav1e) +BuildRequires: pkgconfig(rubberband) +BuildRequires: pkgconfig(schroedinger-1.0) +BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(shaderc) >= 2019.1 +BuildRequires: pkgconfig(smbclient) +BuildRequires: pkgconfig(snappy) +BuildRequires: pkgconfig(soxr) +BuildRequires: pkgconfig(speex) +BuildRequires: pkgconfig(srt) +BuildRequires: pkgconfig(tesseract) +BuildRequires: pkgconfig(theora) +BuildRequires: pkgconfig(twolame) +BuildRequires: pkgconfig(vapoursynth) +BuildRequires: pkgconfig(vdpau) +BuildRequires: pkgconfig(vidstab) +BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(vo-amrwbenc) +BuildRequires: pkgconfig(vpx) +BuildRequires: pkgconfig(vulkan) +BuildRequires: pkgconfig(wavpack) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcb-render) +BuildRequires: pkgconfig(xcb-shape) +BuildRequires: pkgconfig(xcb-shm) +BuildRequires: pkgconfig(xcb-xfixes) +BuildRequires: pkgconfig(zimg) +BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(zvbi-0.2) +BuildRequires: texinfo +BuildRequires: xvidcore-devel + +%if %{with dc1394} +BuildRequires: pkgconfig(libavc1394) +BuildRequires: pkgconfig(libdc1394-2) +BuildRequires: pkgconfig(libiec61883) +%endif +%if %{with rtmp} +BuildRequires: librtmp-devel +%endif +%if %{with mfx} +BuildRequires: pkgconfig(libmfx) < 2.0 +%endif +%if %{with svtav1} +BuildRequires: pkgconfig(SvtAv1Enc) >= 0.9.0 +%endif +%if %{with x264} +BuildRequires: pkgconfig(x264) +%endif +%if %{with x265} +BuildRequires: pkgconfig(x265) +%endif +%if %{with vmaf} +BuildRequires: pkgconfig(libvmaf) +%endif + + +%description +FFmpeg is a leading multimedia framework, able to decode, encode, transcode, +mux, demux, stream, filter and play pretty much anything that humans and +machines have created. It supports the most obscure ancient formats up to the +cutting edge. No matter if they were designed by some standards committee, the +community or a corporation. + +%if %{without all_codecs} +This build of ffmpeg is limited in the number of codecs supported. +%endif + +%if "x%{?pkg_suffix}" != "x" +%package -n %{pkg_name} +Summary: A complete solution to record, convert and stream audio and video +Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavdevice%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavfilter%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libpostproc%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} + + +%description -n %{pkg_name} +FFmpeg is a leading multimedia framework, able to decode, encode, transcode, +mux, demux, stream, filter and play pretty much anything that humans and +machines have created. It supports the most obscure ancient formats up to the +cutting edge. No matter if they were designed by some standards committee, the +community or a corporation. + +%if %{without all_codecs} +This build of ffmpeg is limited in the number of codecs supported. +%endif + +#/ "x%%{?pkg_suffix}" != "x" +%endif + +%package -n %{pkg_name}-devel +Summary: Development package for %{name} +Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavdevice%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavfilter%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libpostproc%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}-devel = %{version}-%{release} +Requires: pkgconfig + +%description -n %{pkg_name}-devel +FFmpeg is a leading multimedia framework, able to decode, encode, transcode, +mux, demux, stream, filter and play pretty much anything that humans and +machines have created. It supports the most obscure ancient formats up to the +cutting edge. No matter if they were designed by some standards committee, the +community or a corporation. + +%package -n libavcodec%{?pkg_suffix} +Summary: FFmpeg codec library +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} +# We dlopen() openh264, so weak-depend on it... +## Note, we can do this because openh264 is provided in a default-enabled +## third party repository provided by Cisco. +Recommends: libopenh264.so.%{openh264_soversion}%{?lib64_suffix} + +%description -n libavcodec%{?pkg_suffix} +The libavcodec library provides a generic encoding/decoding framework +and contains multiple decoders and encoders for audio, video and +subtitle streams, and several bitstream filters. + +%if %{without all_codecs} +This build of ffmpeg is limited in the number of codecs supported. +%endif + +%package -n libavcodec%{?pkg_suffix}-devel +Summary: Development files for FFmpeg's codec library +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: pkgconfig + +%description -n libavcodec%{?pkg_suffix}-devel +The libavcodec library provides a generic encoding/decoding framework +and contains multiple decoders and encoders for audio, video and +subtitle streams, and several bitstream filters. + +This subpackage contains the headers for FFmpeg libavcodec. + +%package -n libavdevice%{?pkg_suffix} +Summary: FFmpeg device library +Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavfilter%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} + +%description -n libavdevice%{?pkg_suffix} +The libavdevice library provides a generic framework for grabbing from +and rendering to many common multimedia input/output devices, and +supports several input and output devices, including Video4Linux2, VfW, +DShow, and ALSA. + +%package -n libavdevice%{?pkg_suffix}-devel +Summary: Development files for FFmpeg's device library +Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavfilter%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libpostproc%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavdevice%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: pkgconfig + +%description -n libavdevice%{?pkg_suffix}-devel +The libavdevice library provides a generic framework for grabbing from +and rendering to many common multimedia input/output devices, and +supports several input and output devices, including Video4Linux2, VfW, +DShow, and ALSA. + +This subpackage contains the headers for FFmpeg libavdevice. + +%package -n libavfilter%{?pkg_suffix} +Summary: FFmpeg audio and video filtering library +Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libpostproc%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} + +%description -n libavfilter%{?pkg_suffix} +The libavfilter library provides a generic audio/video filtering +framework containing several filters, sources and sinks. + +%package -n libavfilter%{?pkg_suffix}-devel +Summary: Development files for FFmpeg's audio/video filter library +Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libpostproc%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavfilter%{?pkg_suffix} = %{version}-%{release} +Requires: pkgconfig + +%description -n libavfilter%{?pkg_suffix}-devel +The libavfilter library provides a generic audio/video filtering +framework containing several filters, sources and sinks. + +This subpackage contains the headers for FFmpeg libavfilter. + +%package -n libavformat%{?pkg_suffix} +Summary: FFmpeg's stream format library +Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} + +%description -n libavformat%{?pkg_suffix} +The libavformat library provides a generic framework for multiplexing +and demultiplexing (muxing and demuxing) audio, video and subtitle +streams. It encompasses multiple muxers and demuxers for multimedia +container formats. + +%if %{without all_codecs} +This build of ffmpeg is limited in the number of codecs supported. +%endif + +%package -n libavformat%{?pkg_suffix}-devel +Summary: Development files for FFmpeg's stream format library +Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libavformat%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: pkgconfig + +%description -n libavformat%{?pkg_suffix}-devel +The libavformat library provides a generic framework for multiplexing +and demultiplexing (muxing and demuxing) audio, video and subtitle +streams. It encompasses multiple muxers and demuxers for multimedia +container formats. + +This subpackage contains the headers for FFmpeg libavformat. + +%package -n libavutil%{?pkg_suffix} +Summary: FFmpeg's utility library +Group: System/Libraries + +%description -n libavutil%{?pkg_suffix} +The libavutil library is a utility library to aid portable multimedia +programming. It contains safe portable string functions, random +number generators, data structures, additional mathematics functions, +cryptography and multimedia related functionality (like enumerations +for pixel and sample formats). + +%package -n libavutil%{?pkg_suffix}-devel +Summary: Development files for FFmpeg's utility library +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: pkgconfig + +%description -n libavutil%{?pkg_suffix}-devel +The libavutil library is a utility library to aid portable multimedia +programming. It contains safe portable string functions, random +number generators, data structures, additional mathematics functions, +cryptography and multimedia related functionality (like enumerations +for pixel and sample formats). + +This subpackage contains the headers for FFmpeg libavutil. + +%package -n libpostproc%{?pkg_suffix} +Summary: FFmpeg post-processing library +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} + +%description -n libpostproc%{?pkg_suffix} +A library with video postprocessing filters, such as deblocking and +deringing filters, noise reduction, automatic contrast and brightness +correction, linear/cubic interpolating deinterlacing. + +%package -n libpostproc%{?pkg_suffix}-devel +Summary: Development files for the FFmpeg post-processing library +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libpostproc%{?pkg_suffix}%{_isa} = %{version}-%{release} +Requires: pkgconfig + +%description -n libpostproc%{?pkg_suffix}-devel +A library with video postprocessing filters, such as deblocking and +deringing filters, noise reduction, automatic contrast and brightness +correction, linear/cubic interpolating deinterlacing. + +This subpackage contains the headers for FFmpeg libpostproc. + +%package -n libswresample%{?pkg_suffix} +Summary: FFmpeg software resampling library +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} + +%description -n libswresample%{?pkg_suffix} +The libswresample library performs audio conversion between different +sample rates, channel layout and channel formats. + +%package -n libswresample%{?pkg_suffix}-devel +Summary: Development files for the FFmpeg software resampling library +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} + +%description -n libswresample%{?pkg_suffix}-devel +The libswresample library performs audio conversion between different +sample rates, channel layout and channel formats. + +This subpackage contains the headers for FFmpeg libswresample. + +%package -n libswscale%{?pkg_suffix} +Summary: FFmpeg image scaling and colorspace/pixel conversion library +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} + +%description -n libswscale%{?pkg_suffix} +The libswscale library performs image scaling and colorspace and +pixel format conversion operations. + +%package -n libswscale%{?pkg_suffix}-devel +Summary: Development files for FFmpeg's image scaling and colorspace library +Provides: libswscale%{?pkg_suffix}-devel = %{version}-%{release} +Conflicts: libswscale%{?pkg_suffix}-devel < %{version}-%{release} +Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} +Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} + +%description -n libswscale%{?pkg_suffix}-devel +The libswscale library performs image scaling and colorspace and +pixel format conversion operations. + +This subpackage contains the headers for FFmpeg libswscale. + +%prep +%if %{with upstream_tarball} +gpgv2 --quiet --keyring %{SOURCE3} %{SOURCE2} %{SOURCE0} +%endif + +%autosetup -a1 -p1 +install -m 0644 %{SOURCE20} enable_decoders +install -m 0644 %{SOURCE21} enable_encoders +# fix -O3 -g in host_cflags +sed -i "s|check_host_cflags -O3|check_host_cflags %{optflags}|" configure +install -m0755 -d _doc/examples +cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ + +%build +%set_build_flags + +# This is not a normal configure script, don't use %%configure +./configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --datadir=%{_datadir}/%{name} \ + --docdir=%{_docdir}/%{name} \ + --incdir=%{_includedir}/%{name} \ + --libdir=%{_libdir} \ + --mandir=%{_mandir} \ + --arch=%{_target_cpu} \ + --optflags="%{build_cflags}" \ + --extra-ldflags="%{build_ldflags}" \ + --disable-htmlpages \ + --enable-pic \ + --disable-stripping \ + --enable-shared \ + --disable-static \ + --enable-gpl \ + --enable-version3 \ + --enable-libsmbclient \ + --disable-openssl \ + --enable-bzlib \ + --enable-frei0r \ +%if %{with chromaprint} + --enable-chromaprint \ +%else + --disable-chromaprint \ +%endif + --enable-gcrypt \ + --enable-gnutls \ + --enable-ladspa \ +%if %{with lcms2} + --enable-lcms2 \ +%endif + --enable-libshaderc \ + --enable-vulkan \ + --disable-cuda-sdk \ + --enable-libaom \ + --enable-libass \ + --enable-libbluray \ + --enable-libbs2b \ + --enable-libcaca \ + --enable-libcdio \ + --enable-libcodec2 \ + --enable-libdav1d \ +%if %{with dc1394} + --enable-libdc1394 \ +%endif + --enable-libdrm \ + --enable-libfdk-aac \ +%if %{with flite} + --enable-libflite \ +%endif + --enable-libfontconfig \ + --enable-libfreetype \ + --enable-libfribidi \ + --enable-libgme \ + --enable-libgsm \ +%if %{with dc1394} + --enable-libiec61883 \ +%endif + --enable-libilbc \ + --enable-libjack \ + --enable-libjxl \ + --enable-libmodplug \ + --enable-libmp3lame \ + --enable-libmysofa \ + --enable-libopenh264-dlopen \ + --enable-libopenjpeg \ + --enable-libopenmpt \ + --enable-libopus \ +%if %{with placebo} + --enable-libplacebo \ +%endif + --enable-libpulse \ + --enable-librabbitmq \ + --enable-librav1e \ + --enable-librist \ + --enable-librsvg \ + --enable-librubberband \ + --enable-libsnappy \ +%if %{with svtav1} + --enable-libsvtav1 \ +%endif + --enable-libsoxr \ + --enable-libspeex \ + --enable-libssh \ + --enable-libsrt \ + --enable-libtesseract \ + --enable-libtheora \ + --enable-libtwolame \ + --enable-libvidstab \ +%if %{with vmaf} + --enable-libvmaf \ +%endif + --enable-libvorbis \ + --enable-libv4l2 \ + --enable-libvpx \ + --enable-libwebp \ + --enable-libxml2 \ + --enable-libzimg \ + --enable-libzmq \ + --enable-libzvbi \ +%if %{with lto} + --enable-lto \ +%endif +%if %{with mfx} + --enable-libmfx \ +%endif + --enable-lv2 \ + --enable-vaapi \ + --enable-vdpau \ + --enable-libopencore-amrnb \ + --enable-libopencore-amrwb \ + --enable-libvo-amrwbenc \ +%if %{with x264} + --enable-libx264 \ +%endif +%if %{with x265} + --enable-libx265 \ +%endif +%if %{with librtmp} + --enable-librtmp \ +%endif + --enable-libxvid \ + --enable-openal \ + --enable-opencl \ + --enable-opengl \ + --enable-pthreads \ + --enable-vapoursynth \ +%if %{without all_codecs} + --enable-muxers \ + --enable-demuxers \ + --enable-hwaccels \ + --disable-encoders \ + --disable-decoders \ + --disable-decoder="h264,hevc,vc1" \ + --enable-encoder="$(perl -pe 's{^(\w*).*}{$1,}gs' - 5.1.3-1 +- Rebuilt for MSVSphere 9.2 + +* Tue Mar 28 2023 Yaakov Selkowitz - 5.1.3-1 +- Update to 5.1.3 + +* Wed Feb 15 2023 Neal Gompa - 5.1.2-12 +- Enable support for the RIST protocol through librist + +* Wed Feb 15 2023 Tom Callaway - 5.1.2-11 +- bootstrap off + +* Wed Feb 15 2023 Tom Callaway - 5.1.2-10 +- rebuild for libvpx (bootstrap) + +* Mon Feb 13 2023 Yaakov Selkowitz - 5.1.2-9 +- Enable lcms2, lv2, placebo, rabbitmq, xv + +* Mon Feb 13 2023 Neal Gompa - 5.1.2-8 +- Disable flite for RHEL 9 as flite is too old + +* Fri Feb 03 2023 Yaakov Selkowitz - 5.1.2-7 +- Properly enable caca, flite, gme, iec61883 + +* Mon Jan 30 2023 Neal Gompa - 5.1.2-6 +- Enable more approved codecs + +* Thu Jan 19 2023 Fedora Release Engineering - 5.1.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Jan 15 2023 Yaakov Selkowitz - 5.1.2-4 +- Properly enable libzvbi_teletext decoder + +* Fri Dec 23 2022 Sandro Mani - 5.1.2-3 +- Rebuild (tesseract) + +* Wed Nov 09 2022 Neal Gompa - 5.1.2-2 +- Unconditionally enable Vulkan + +* Wed Oct 12 2022 Neal Gompa - 5.1.2-1 +- Update to version 5.1.2 +- Refresh dlopen headers and patch for OpenH264 2.3.1 + +* Sun Sep 04 2022 Neal Gompa - 5.1.1-1 +- Update to version 5.1.1 +- Refresh dlopen headers for OpenH264 2.3.0 +- Disable omxil and crystalhd for RHEL + +* Wed Aug 24 2022 Neal Gompa - 5.1-1 +- Rebase to version 5.1 + +* Thu Jul 21 2022 Fedora Release Engineering - 5.0.1-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jul 09 2022 Richard Shaw - 5.0.1-15 +- Rebuild for codec2 1.0.4. + +* Fri Jul 08 2022 Sandro Mani - 5.0.1-14 +- Rebuild (tesseract) + +* Wed Jun 22 2022 Robert-André Mauchin - 5.0.1-13 +- Rebuilt for new aom, dav1d, rav1e and svt-av1 + +* Fri Jun 17 2022 Mamoru TASAKA - 5.0.1-12 +- Rebuild for new srt + +* Thu Jun 09 2022 Neal Gompa - 5.0.1-11 +- Ensure libavdevice-devel is pulled in with devel metapackage + +* Sun Jun 05 2022 Neal Gompa - 5.0.1-10 +- Update for OpenH264 2.2.0 + +* Tue May 31 2022 Neal Gompa - 5.0.1-9 +- Rebuild for ilbc-3.0.4 + +* Thu May 26 2022 Benjamin A. Beasley - 5.0.1-9 +- Rebuild for ilbc-3.0.4 (bootstrap) + +* Sat May 21 2022 Sandro Mani - 5.0.1-8 +- Rebuild for gdal-3.5.0 and/or openjpeg-2.5.0 + +* Fri May 20 2022 Sandro Mani - 5.0.1-7 +- Rebuild for gdal-3.5.0 and/or openjpeg-2.5.0 + +* Sun Apr 24 2022 Neal Gompa - 5.0.1-6 +- Add VAAPI encoders for mjpeg, mpeg2, vp8, and vp9 +- Ensure hwaccels for enabled codecs are turned on + +* Tue Apr 19 2022 Neal Gompa - 5.0.1-5 +- Drop unused enca build dependency + +* Tue Apr 19 2022 Neal Gompa - 5.0.1-4 +- Use shaderc for Vulkan support + +* Mon Apr 18 2022 Neal Gompa - 5.0.1-3 +- Fix codec2 support enablement + +* Mon Apr 18 2022 Dominik Mierzejewski - 5.0.1-2 +- Properly enable decoding and encoding ilbc + +* Tue Apr 12 2022 Neal Gompa - 5.0.1-1 +- Update to 5.0.1 to fix crashes with muxing MP4 video (#2073980) + +* Tue Apr 05 2022 Dominik Mierzejewski - 5.0-11 +- Enable OpenCL acceleration +- be explicit about enabled external features in configure +- enable gcrypt +- drop duplicate CFLAGS and use Fedora LDFLAGS + +* Thu Mar 10 2022 Sandro Mani - 5.0-10 +- Rebuild for tesseract 5.1.0 + +* Tue Mar 08 2022 Neal Gompa - 5.0-9 +- Drop ffmpeg chromium support patch (#2061392) + +* Fri Feb 18 2022 Neal Gompa - 5.0-8 +- Add patch to return correct AVERROR with bad OpenH264 versions + +* Fri Feb 18 2022 Neal Gompa - 5.0-7 +- Update OpenH264 dlopen patch to split dlopen code into c and h files + +* Thu Feb 17 2022 Neal Gompa - 5.0-6 +- Update OpenH264 dlopen patch to use AVERROR return codes correctly + +* Tue Feb 15 2022 Neal Gompa - 5.0-5 +- Disable hardware decoders due to broken failure modes + +* Tue Feb 15 2022 Neal Gompa - 5.0-4 +- Add support for dlopening OpenH264 +- Add tarball scripts as sources + +* Sun Feb 13 2022 Neal Gompa - 5.0-3 +- Enable more QSV and V4L2M2M codecs + +* Sun Feb 13 2022 Neal Gompa - 5.0-2 +- Enable support for more hardware codecs + +* Fri Feb 11 2022 Andreas Schneider - 5.0-1 +- Initial import (fedora#2051008)