diff --git a/.gitignore b/.gitignore index 381c5ba..f0c157a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,3 @@ ffmpeg-*.asc ffmpeg-*.rpm ffmpeg-*.tar.xz /ffmpeg.keyring -/results_* -/*.rpm diff --git a/0002-configure-fix-SDL2-version-check-for-pkg_config-fall.patch b/0002-configure-fix-SDL2-version-check-for-pkg_config-fall.patch new file mode 100644 index 0000000..9712afc --- /dev/null +++ b/0002-configure-fix-SDL2-version-check-for-pkg_config-fall.patch @@ -0,0 +1,33 @@ +From fc7fb12f22180d03428310da7eca55403a123322 Mon Sep 17 00:00:00 2001 +From: dvhh +Date: Sat, 18 Jun 2022 01:46:12 +0900 +Subject: [PATCH 2/2] configure: fix SDL2 version check for pkg_config fallback + +pkg_config fallback for SDL2 use 2.1.0 as max (excluded) version +where the pkg_config specify 3.0.0 +Correcting fallback version to be in line with the pkg_config version + +Signed-off-by: dvhh +Signed-off-by: Marton Balint + +(cherry picked from commit c6fdbe26ef30fff817581e5ed6e078d96111248a) +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index e731a9d3ff..596be632c4 100755 +--- a/configure ++++ b/configure +@@ -6747,7 +6747,7 @@ if enabled sdl2; then + sdl2_cflags=$("${SDL2_CONFIG}" --cflags) + sdl2_extralibs=$("${SDL2_CONFIG}" --libs) + test_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) >= 0x020001" $sdl2_cflags && +- test_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) < 0x020100" $sdl2_cflags && ++ test_cpp_condition SDL.h "(SDL_MAJOR_VERSION<<16 | SDL_MINOR_VERSION<<8 | SDL_PATCHLEVEL) < 0x030000" $sdl2_cflags && + check_func_headers SDL_events.h SDL_PollEvent $sdl2_extralibs $sdl2_cflags && + enable sdl2 + fi +-- +2.36.1 + diff --git a/README.md b/README.md index 238c0d3..9b921a7 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,24 @@ 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. + +## Creating the 'free' tarball + +1. Update the `Version` in the spec file. +2. Set the `Release` to 0 in the spec file. +3. Set `pkg_suffix` to `%nil` +4. Do a full build locally: `fedpkg mockbuild --with full_build` +5. Run `./ffmpeg_update_free_sources.sh results_ffmpeg/5.0/0.fc35/build.log` + This will update the `ffmpeg_free_sources` file list. + Note that header files will need to be manually added + to the `ffmpeg_free_sources` file list. +6. Run `./ffmpeg_gen_free_tarball.sh` to create the tarball. +7. Set `pkg_suffix` to `-free` again +8. Set the `Release` to 1 in the spec file. +9. Do a scratch build. + +OR + +1. Edit `ffmpeg_free_sources` and add missing files +2. Run `./ffmpeg_gen_free_tarball.sh` to create the tarball. +3. Do a scratch build. diff --git a/enable_decoders b/enable_decoders index f558db4..8697dbc 100644 --- a/enable_decoders +++ b/enable_decoders @@ -1,320 +1,73 @@ ## 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_xmd -adpcm_yamaha -adpcm_zork -aic -alac -alias_pix -amrnb -amrwb -amv -anm ansi # trivial -anull -apac -ape apng # animated png -apv -arbc -argo ass # trivial -asv1 -asv2 -atrac1 -atrac3 -atrac3al -atrac3p -atrac3pal -aura -aura2 -av1 # libaom av1_qsv # libaom -bethsoftvid # trivial -bfi # trivial -bink -binkaudio_dct -binkaudio_rdft -bintext -bitpacked # trivial +ayuv # trivial bmp # trivial -bmv_audio -bmv_video -bonk -brender_pix -c93 -cbd2_dpcm -ccaption -cdgraphics -cdtoons -cdxl -cinepak -clearvideo -cljr -cook -cpia -cscd -cyuv -dca -dds -derf_dpcm -dfa -dfpwm dirac # dirac -dnxhd -dnxhr -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 -ftr # fdk-aac -g723_1 -g729 -gdv -gem gif # libpng -gremlin_dpcm gsm # libgsm -gsm_ms -gsm_ms_at -h261 -h263 -h263_v4l2m2m # hardware -h263i -h263p -hap -hca -hcom -hdr -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 -libaribb24 # aribb24 -libaribcaption # libaribcaption libaom # libaom libaom_av1 # libaom libcodec2 # codec2 libdav1d # av1 libgsm # libgsm -libgsm_ms # libgsm libilbc # ilbc -libjxl # libjxl -liblc3 # liblc3 -libopencore_amrnb # opencore-amr -libopencore_amrwb # opencore-amr -libopenh264 # openh264 +libopenh264 # openh264_dlopen libopenjpeg # openjpeg libopus # opus -librsvg # librsvg libschroedinger # schroedinger libspeex # speex libvorbis # libvorbis libvpx_vp8 # libvpx libvpx_vp9 # libvpx -libxevd -libzvbi_teletext # zvbi -loco -lscr -m101 -mace3 -mace6 -mdec -media100 -metasound -microdvd -mimic -misc4 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 -mpeg1_v4l2m2m mpeg1video +mpeg1_v4l2m2m +mpeg2video mpeg2_qsv mpeg2_v4l2m2m -mpeg2video -mpeg4 -mpeg4_v4l2m2m # hardware -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 @@ -322,160 +75,44 @@ 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 -prores -prores_raw -prosumer -psd -ptx -qcelp -qdm2 -qdmc -qdraw -qoa -qoi -qpeg -qtrle -r10k -r210 -ra_144 -ra_288 -rasc rawvideo # trivial -realtext -rka -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 -vnull 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 -vqc -wady_dpcm -wavarc -wavpack -wbmp -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/enable_encoders b/enable_encoders index ba284da..0f3238c 100644 --- a/enable_encoders +++ b/enable_encoders @@ -1,68 +1,20 @@ ## 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 -anull apng # libpng ass # trivial -asv1 -asv2 -av1_amf -av1_nvenc -av1_qsv -av1_vaapi -bitpacked # trivial +ayuv # trival bmp # trivial -cinepak -cljr -dca -dfpwm -dnxhd -dnxhr -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 -hdr hevc_amf # hardware hevc_nvenc # hardware hevc_qsv # hardware @@ -70,51 +22,38 @@ hevc_v4l2m2m # hardware hevc_vaapi # hardware huffyuv # trivial+zlib ilbc # ilbc -jpeg2000 jpegls -libaom +jpeg2000 +libaom # libaom libaom_av1 # libaom libcodec2 # codec2 libgsm # libgsm -libgsm_ms # libgsm libilbc # ilbc -libjxl # libjxl -liblc3 # liblc3 libmp3lame # lame -liboapv -libopencore_amrnb -libopenh264 # openh264 +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 -libxeve -libxvid # xvidcore mjpeg # mjpegtools mjpeg_qsv # mjpegtools mjpeg_vaapi # mjpegtools -mlp mp2 # twolame mp2fixed # twolame mpeg1video +mpeg2video mpeg2_qsv mpeg2_vaapi -mpeg2video -mpeg4 mpeg4_v4l2m2m # hardware -msmpeg4v2 -msmpeg4v3 -msvideo1 -nellymoser opus # opus pam pbm # trivial @@ -146,70 +85,32 @@ pcm_u8 # trivial pcx pgm # trivial pgmyuv # trivial -phm # trivial png # libpng ppm # trivial -prores -prores_aw -prores_ks -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 -vnull vorbis # libvorbis vp8_qsv # libvpx vp8_v4l2m2m # libvpx vp8_vaapi # libvpx vp9_qsv # libvpx vp9_vaapi # libvpx -wavpack -wbmp 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/ffmpeg-allow-fdk-aac-free.patch b/ffmpeg-allow-fdk-aac-free.patch index 11e1a3c..0cc91f1 100644 --- a/ffmpeg-allow-fdk-aac-free.patch +++ b/ffmpeg-allow-fdk-aac-free.patch @@ -1,27 +1,24 @@ -From: Andreas Schneider - fdk-aac-free-devel is GPL compatible See https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 -Index: ffmpeg-7.0/configure +Index: ffmpeg-5.0/configure =================================================================== ---- ffmpeg-7.0.orig/configure 2022-02-09 20:07:49.490888877 +0100 -+++ ffmpeg-7.0/configure 2022-02-09 20:08:30.102854308 +0100 -@@ -1872,7 +1872,6 @@ EXTERNAL_LIBRARY_GPL_LIST=" - +--- 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 " - -@@ -1912,6 +1911,7 @@ EXTERNAL_LIBRARY_LIST=" - libcodec2 + +@@ -1822,6 +1821,7 @@ EXTERNAL_LIBRARY_LIST=" libdav1d libdc1394 + libdrm + libfdk_aac libflite libfontconfig libfreetype - diff --git a/ffmpeg-chromium.patch b/ffmpeg-chromium.patch deleted file mode 100644 index 9872622..0000000 --- a/ffmpeg-chromium.patch +++ /dev/null @@ -1,46 +0,0 @@ -From d32aacab65a322b66d6a1b48f6cdb03e42bde0f9 Mon Sep 17 00:00:00 2001 -From: Frank Liberato -Date: Wed, 7 Jul 2021 19:01:22 -0700 -Subject: [PATCH] Add av_stream_get_first_dts for Chromium - ---- - libavformat/avformat.h | 4 ++++ - libavformat/utils.c | 7 +++++++ - 2 files changed, 11 insertions(+) - -diff --git a/libavformat/avformat.h b/libavformat/avformat.h -index 1916aa2dc5..e6682849fa 100644 ---- a/libavformat/avformat.h -+++ b/libavformat/avformat.h -@@ -1170,6 +1170,10 @@ typedef struct AVStreamGroup { - - struct AVCodecParserContext *av_stream_get_parser(const AVStream *s); - -+// Chromium: We use the internal field first_dts vvv -+int64_t av_stream_get_first_dts(const AVStream *st); -+// Chromium: We use the internal field first_dts ^^^ -+ - #define AV_PROGRAM_RUNNING 1 - - /** -diff --git a/libavformat/utils.c b/libavformat/utils.c -index cf4d68bff9..7d750abf88 100644 ---- a/libavformat/utils.c -+++ b/libavformat/utils.c -@@ -56,6 +56,13 @@ int ff_unlock_avformat(void) - * various utility functions for use within FFmpeg - */ - -+// Chromium: We use the internal field first_dts vvv -+int64_t av_stream_get_first_dts(const AVStream *st) -+{ -+ return cffstream(st)->first_dts; -+} -+// Chromium: We use the internal field first_dts ^^^ -+ - /* an arbitrarily chosen "sane" max packet size -- 50M */ - #define SANE_CHUNK_SIZE (50000000) - --- -2.41.0 - diff --git a/ffmpeg-codec-choice.patch b/ffmpeg-codec-choice.patch index f6a4ead..3c2bf10 100644 --- a/ffmpeg-codec-choice.patch +++ b/ffmpeg-codec-choice.patch @@ -2,57 +2,55 @@ From: Jan Engelhardt Edit the default codec selection such that - ffmpeg -i youtube.blah.webm foobar.mkv + 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 | 20 ++++++++++++++------ - 1 file changed, 14 insertions(+), 6 deletions(-) + libavformat/matroskaenc.c | 19 +++++++++++++------ + 1 file changed, 13 insertions(+), 6 deletions(-) -Index: ffmpeg-7.0/libavformat/matroskaenc.c +Index: ffmpeg-5.0/libavformat/matroskaenc.c =================================================================== ---- ffmpeg-7.0.orig/libavformat/matroskaenc.c -+++ ffmpeg-7.0/libavformat/matroskaenc.c -@@ -3540,16 +3540,25 @@ static int mkv_query_codec(enum AVCodecI +--- 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 FFOutputFormat ff_matroska_muxer = { - .p.name = "matroska", - .p.long_name = NULL_IF_CONFIG_SMALL("Matroska"), - .p.mime_type = "video/x-matroska", - .p.extensions = "mkv", + 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), -- .p.audio_codec = CONFIG_LIBVORBIS_ENCODER ? +- .audio_codec = CONFIG_LIBVORBIS_ENCODER ? - AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3, -- .p.video_codec = CONFIG_LIBX264_ENCODER ? +- .video_codec = CONFIG_LIBX264_ENCODER ? - AV_CODEC_ID_H264 : AV_CODEC_ID_MPEG4, -+ .p.audio_codec = PREFAUDIO, -+ .p.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, ++ .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, -@@ -3617,8 +3626,7 @@ const FFOutputFormat ff_matroska_audio_m - .p.mime_type = "audio/x-matroska", - .p.extensions = "mka", +@@ -2954,8 +2962,7 @@ const AVOutputFormat ff_matroska_audio_m + .mime_type = "audio/x-matroska", + .extensions = "mka", .priv_data_size = sizeof(MatroskaMuxContext), -- .p.audio_codec = CONFIG_LIBVORBIS_ENCODER ? +- .audio_codec = CONFIG_LIBVORBIS_ENCODER ? - AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3, -+ .p.audio_codec = PREFAUDIO, - .p.video_codec = AV_CODEC_ID_NONE, ++ .audio_codec = PREFAUDIO, + .video_codec = AV_CODEC_ID_NONE, .init = mkv_init, .deinit = mkv_deinit, - diff --git a/ffmpeg-dlopen-openh264.patch b/ffmpeg-dlopen-openh264.patch new file mode 100644 index 0000000..5ee6bad --- /dev/null +++ b/ffmpeg-dlopen-openh264.patch @@ -0,0 +1,383 @@ +From b8886826f44b4562aa2fbae3715ca6aa9e1b15e1 Mon Sep 17 00:00:00 2001 +From: Neal Gompa +Date: Wed, 12 Oct 2022 10:26:35 -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 7a62f0c248..2369ea0240 100755 +--- a/configure ++++ b/configure +@@ -250,6 +250,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 +@@ -1839,6 +1840,7 @@ EXTERNAL_LIBRARY_LIST=" + libmysofa + libopencv + libopenh264 ++ libopenh264_dlopen + libopenjpeg + libopenmpt + libopenvino +@@ -6582,6 +6584,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 3adf1536d8..9dc8389ce2 100644 +--- a/libavcodec/Makefile ++++ b/libavcodec/Makefile +@@ -1058,6 +1058,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 59c61a3a4c..14d83e27df 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/log.h" + +@@ -51,8 +56,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 97d3630df6..feb0a0927e 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" +@@ -55,6 +59,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 2001dc22b4..c8b1348df2 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" +@@ -136,6 +140,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/ffmpeg-fix-exif-include.patch b/ffmpeg-fix-exif-include.patch new file mode 100644 index 0000000..7086cbe --- /dev/null +++ b/ffmpeg-fix-exif-include.patch @@ -0,0 +1,95 @@ +From fe17c9fadf375d8beeb42b062390dfe18cb59e08 Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Fri, 11 Feb 2022 09:46:15 +0100 +Subject: [PATCH 1/2] avcodec/exif: Include bytestream.h for GetByteContext + +bytestream.h should be directly included for GetByteContext and not +rely on other headers to include it. It could be removed from there. + +Signed-off-by: Andreas Schneider +--- + libavcodec/exif.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libavcodec/exif.h b/libavcodec/exif.h +index 4db84a1c2f..310f6e8e64 100644 +--- a/libavcodec/exif.h ++++ b/libavcodec/exif.h +@@ -30,6 +30,7 @@ + + #include + #include "libavutil/dict.h" ++#include "bytestream.h" + #include "tiff.h" + + #define EXIF_MAX_IFD_RECURSION 2 +-- +2.34.1 + + +From 45a9f8044ef6dc425209141e3d9272008ce6bbff Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Fri, 11 Feb 2022 09:49:25 +0100 +Subject: [PATCH 2/2] avcodec/exif: Include tiff_common.h only where needed + +The exif.h header doesn't use anything from tiff.h. + +Signed-off-by: Andreas Schneider +--- + libavcodec/exif.c | 1 + + libavcodec/exif.h | 1 - + libavcodec/mjpegdec.c | 1 + + libavcodec/webp.c | 1 + + 4 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/libavcodec/exif.c b/libavcodec/exif.c +index 0b656fd09b..9485b24b8e 100644 +--- a/libavcodec/exif.c ++++ b/libavcodec/exif.c +@@ -26,6 +26,7 @@ + */ + + #include "exif.h" ++#include "tiff_common.h" + + + static const char *exif_get_tag_name(uint16_t id) +diff --git a/libavcodec/exif.h b/libavcodec/exif.h +index 310f6e8e64..ffacba7e66 100644 +--- a/libavcodec/exif.h ++++ b/libavcodec/exif.h +@@ -31,7 +31,6 @@ + #include + #include "libavutil/dict.h" + #include "bytestream.h" +-#include "tiff.h" + + #define EXIF_MAX_IFD_RECURSION 2 + #define EXIF_TAG_NAME_LENGTH 32 +diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c +index a735d2337d..267609d96a 100644 +--- a/libavcodec/mjpegdec.c ++++ b/libavcodec/mjpegdec.c +@@ -50,6 +50,7 @@ + #include "tiff.h" + #include "exif.h" + #include "bytestream.h" ++#include "tiff_common.h" + + + static int init_default_huffman_tables(MJpegDecodeContext *s) +diff --git a/libavcodec/webp.c b/libavcodec/webp.c +index 9e642e050a..148dc02170 100644 +--- a/libavcodec/webp.c ++++ b/libavcodec/webp.c +@@ -48,6 +48,7 @@ + #include "exif.h" + #include "get_bits.h" + #include "internal.h" ++#include "tiff_common.h" + #include "thread.h" + #include "vp8.h" + +-- +2.34.1 + diff --git a/ffmpeg-fix-gnutls-priority.patch b/ffmpeg-fix-gnutls-priority.patch new file mode 100644 index 0000000..b64c516 --- /dev/null +++ b/ffmpeg-fix-gnutls-priority.patch @@ -0,0 +1,13 @@ +Index: ffmpeg-5.0/libavformat/tls_gnutls.c +=================================================================== +--- ffmpeg-5.0.orig/libavformat/tls_gnutls.c 2022-01-14 19:45:40.000000000 +0100 ++++ ffmpeg-5.0/libavformat/tls_gnutls.c 2022-02-10 23:06:52.364362893 +0100 +@@ -192,7 +192,7 @@ static int tls_open(URLContext *h, const + gnutls_transport_set_pull_function(p->session, gnutls_url_pull); + gnutls_transport_set_push_function(p->session, gnutls_url_push); + gnutls_transport_set_ptr(p->session, p); +- gnutls_priority_set_direct(p->session, "NORMAL", NULL); ++ gnutls_set_default_priority(p->session); + do { + if (ff_check_interrupt(&h->interrupt_callback)) { + ret = AVERROR_EXIT; diff --git a/ffmpeg-new-coder-errors.patch b/ffmpeg-new-coder-errors.patch new file mode 100644 index 0000000..1dc687c --- /dev/null +++ b/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/ffmpeg-openh264-averr-on-bad-version.patch b/ffmpeg-openh264-averr-on-bad-version.patch new file mode 100644 index 0000000..bde1b11 --- /dev/null +++ b/ffmpeg-openh264-averr-on-bad-version.patch @@ -0,0 +1,38 @@ +From b3b0ff6ef4b5bb3e2bf9649f1d7130f123f90099 Mon Sep 17 00:00:00 2001 +From: Andreas Schneider +Date: Fri, 18 Feb 2022 13:42:17 +0100 +Subject: [PATCH] avcodec/openh264: Return (DE|EN)CODER_NOT_FOUND if version + check fails + +Signed-off-by: Andreas Schneider +--- + libavcodec/libopenh264dec.c | 2 +- + libavcodec/libopenh264enc.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c +index 7f5e85402a26..97d3630df6cf 100644 +--- a/libavcodec/libopenh264dec.c ++++ b/libavcodec/libopenh264dec.c +@@ -56,7 +56,7 @@ static av_cold int svc_decode_init(AVCodecContext *avctx) + WelsTraceCallback callback_function; + + if ((err = ff_libopenh264_check_version(avctx)) < 0) +- return err; ++ return AVERROR_DECODER_NOT_FOUND; + + if (WelsCreateDecoder(&s->decoder)) { + av_log(avctx, AV_LOG_ERROR, "Unable to create decoder\n"); +diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c +index de4b85c411e0..2001dc22b4c3 100644 +--- a/libavcodec/libopenh264enc.c ++++ b/libavcodec/libopenh264enc.c +@@ -137,7 +137,7 @@ static av_cold int svc_encode_init(AVCodecContext *avctx) + AVCPBProperties *props; + + if ((err = ff_libopenh264_check_version(avctx)) < 0) +- return err; ++ return AVERROR_ENCODER_NOT_FOUND; + + if (WelsCreateSVCEncoder(&s->encoder)) { + av_log(avctx, AV_LOG_ERROR, "Unable to create encoder\n"); diff --git a/ffmpeg-support-evc-base-libraries.patch b/ffmpeg-support-evc-base-libraries.patch deleted file mode 100644 index add444f..0000000 --- a/ffmpeg-support-evc-base-libraries.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 80bf83e3099652a3e7f8d1e8b6d902fea1ce4db9 Mon Sep 17 00:00:00 2001 -From: James Almer -Date: Sun, 24 Aug 2025 15:57:16 -0300 -Subject: [PATCH] configure: support linking to base profile libxev{d,e} - -Addresses issue #20328. - -Signed-off-by: James Almer ---- - configure | 16 ++++++++++++++-- - 1 file changed, 14 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index aa41b2a7b3..5386ae8b9a 100755 ---- a/configure -+++ b/configure -@@ -299,7 +299,9 @@ External library support: - --enable-libx264 enable H.264 encoding via x264 [no] - --enable-libx265 enable HEVC encoding via x265 [no] - --enable-libxeve enable EVC encoding via libxeve [no] -+ --enable-libxeveb enable EVC encoding via libxeve (Base profile) [no] - --enable-libxevd enable EVC decoding via libxevd [no] -+ --enable-libxevdb enable EVC decoding via libxevd (Base profile) [no] - --enable-libxavs enable AVS encoding via xavs [no] - --enable-libxavs2 enable AVS2 encoding via xavs2 [no] - --enable-libxcb enable X11 grabbing using XCB [autodetect] -@@ -1992,7 +1994,9 @@ EXTERNAL_LIBRARY_LIST=" - libvvenc - libwebp - libxevd -+ libxevdb - libxeve -+ libxeveb - libxml2 - libzimg - libzmq -@@ -3669,8 +3673,8 @@ libx265_encoder_deps="libx265" - libx265_encoder_select="atsc_a53 dovi_rpuenc" - libxavs_encoder_deps="libxavs" - libxavs2_encoder_deps="libxavs2" --libxevd_decoder_deps="libxevd" --libxeve_encoder_deps="libxeve" -+libxevd_decoder_deps_any="libxevd libxevdb" -+libxeve_encoder_deps_any="libxeve libxeveb" - libxvid_encoder_deps="libxvid" - libzvbi_teletext_decoder_deps="libzvbi" - vapoursynth_demuxer_deps="vapoursynth" -@@ -4615,6 +4619,12 @@ enabled_all gnutls mbedtls && - enabled_all openssl mbedtls && - die "OpenSSL and mbedTLS must not be enabled at the same time." - -+enabled_all libxevd libxevdb && -+ die "libxevd and libxevdb must not be enabled at the same time." -+ -+enabled_all libxeve libxeveb && -+ die "libxeve and libxevdb must not be enabled at the same time." -+ - # Disable all the library-specific components if the library itself - # is disabled, see AVCODEC_LIST and following _LIST variables. - -@@ -7204,7 +7214,9 @@ enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get - enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs" - enabled libxavs2 && require_pkg_config libxavs2 "xavs2 >= 1.3.0" "stdint.h xavs2.h" xavs2_api_get - enabled libxevd && require_pkg_config libxevd "xevd >= 0.4.1" "xevd.h" xevd_decode -+enabled libxevdb && require_pkg_config libxevdb "xevdb >= 0.4.1" "xevd.h" xevd_decode - enabled libxeve && require_pkg_config libxeve "xeve >= 0.5.1" "xeve.h" xeve_encode -+enabled libxeveb && require_pkg_config libxeveb "xeveb >= 0.5.1" "xeve.h" xeve_encode - enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore - enabled libzimg && require_pkg_config libzimg "zimg >= 2.7.0" zimg.h zimg_get_api_version - enabled libzmq && require_pkg_config libzmq "libzmq >= 4.2.1" zmq.h zmq_ctx_new --- -2.49.1 - diff --git a/ffmpeg.spec b/ffmpeg.spec index fa9a894..a65e245 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -1,174 +1,163 @@ -# For a complete build enable this -%bcond all_codecs 0 +# For a complete build enable these two +%bcond_with upstream_tarball +%bcond_with all_codecs # Break dependency cycles by disabling certain optional dependencies. -%bcond bootstrap 0 +%bcond_with bootstrap -# If building with all codecs, then set the pkg_suffix to %%nil. -# We can't handle this with a conditional, as srpm +# 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 -# For alternative builds (do not enable in Fedora!) -%bcond freeworld_lavc 0 - -%if %{with freeworld_lavc} -# Freeworld builds enable all codecs -%global with_all_codecs 1 -# Freeworld builds do not need a package suffix -%global pkg_suffix %{nil} -%global basepkg_suffix -free -%endif - # Fails due to asm issue %ifarch %{ix86} %{arm} -%bcond lto 0 +%bcond_with lto %else -%bcond lto 1 +%bcond_without lto +%endif + +%ifarch %{ix86} +%bcond_with vulkan +%else +%bcond_without vulkan %endif %ifarch x86_64 -%bcond vpl 1 -%bcond vmaf 1 +%bcond_without svtav1 +%bcond_without mfx +%bcond_without vmaf %else -%bcond vpl 0 -%bcond vmaf 0 +%bcond_with svtav1 +%bcond_with mfx +%bcond_with vmaf %endif -%ifarch s390 s390x riscv64 -%bcond dc1394 0 -%bcond ffnvcodec 0 +%ifarch s390 s390x +%bcond_with dc1394 %else -%bcond dc1394 1 -%bcond ffnvcodec 1 +%bcond_without dc1394 +%endif + +# Break chromaprint dependency cycle: +# ffmpeg (libavcodec-free) → chromaprint → ffmpeg +%if %{with bootstrap} +%bcond_with chromaprint +%else +%bcond_without chromaprint %endif %if 0%{?rhel} -# Disable dependencies not available or wanted on RHEL/EPEL -%bcond chromaprint 0 -%bcond flite 0 -%else -# Break chromaprint dependency cycle (Fedora-only): -# ffmpeg (libavcodec-free) → chromaprint → ffmpeg -%bcond chromaprint %{?with_bootstrap:0}%{!?with_bootstrap:1} -%bcond flite 1 +# Disable dependencies not offered in RHEL +%bcond_with chromaprint %endif -%if 0%{?rhel} && 0%{?rhel} <= 9 -# Disable some features because RHEL 9 packages are too old -%bcond lcms2 0 -%bcond placebo 0 -%else -%bcond lcms2 1 -%bcond placebo 1 -%endif - -%if 0%{?el10} -# Disable temporarily while we want for liblc3 to be upgraded -# Cf. https://issues.redhat.com/browse/RHEL-127169 -%bcond lc3 0 -%else -%bcond lc3 1 -%endif - -# For using an alternative build of EVC codecs -%bcond evc_main 0 - %if %{with all_codecs} -%bcond rtmp 1 -%bcond vvc 1 -%bcond x264 1 -%bcond x265 1 +%bcond_without rtmp +%bcond_without x264 +%bcond_without x265 +%bcond_without xvid %else -%bcond rtmp 0 -%bcond vvc 0 -%bcond x264 0 -%bcond x265 0 +%bcond_with rtmp +%bcond_with x264 +%bcond_with x265 +%bcond_with xvid %endif %if %{without lto} %global _lto_cflags %{nil} %endif -# FIXME: GCC says there's incompatible pointer casts going on in libavdevice... -%global build_type_safety_c 2 +%if "%{__isa_bits}" == "64" +%global lib64_suffix ()(64bit) +%endif +%global openh264_soversion 7 -%global av_codec_soversion 62 -%global av_device_soversion 62 -%global av_filter_soversion 11 -%global av_format_soversion 62 -%global av_util_soversion 60 -%global swresample_soversion 6 -%global swscale_soversion 9 +%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: 8.0.1 -Release: 2%{?dist} +Version: 5.0.3 +Release: 1%{?dist} Summary: A complete solution to record, convert and stream audio and video -License: GPL-3.0-or-later +License: GPLv3+ URL: https://ffmpeg.org/ -Source0: https://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz -Source1: https://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz.asc +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 -Source2: 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 +# Change path from /usr/local to /usr +Patch1: fix-vmaf-model-path.patch +# Some header cleanup +# http://ffmpeg.org/pipermail/ffmpeg-devel/2022-February/292877.html +Patch2: ffmpeg-fix-exif-include.patch # Fixes for reduced codec selection on free build -Patch1: ffmpeg-codec-choice.patch +Patch3: ffmpeg-codec-choice.patch +# Better error messages for free build +Patch4: ffmpeg-new-coder-errors.patch # Allow to build with fdk-aac-free # See https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112 -Patch2: ffmpeg-allow-fdk-aac-free.patch -# Support building with EVC base profile libraries -Patch3: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20329.patch#/ffmpeg-support-evc-base-libraries.patch - -# Add first_dts getter to libavformat for Chromium -# See: https://bugzilla.redhat.com/show_bug.cgi?id=2240127 -# Reference: https://crbug.com/1306560 -Patch1002: ffmpeg-chromium.patch +Patch5: ffmpeg-allow-fdk-aac-free.patch +# http://ffmpeg.org/pipermail/ffmpeg-devel/2022-February/292853.html +Patch6: ffmpeg-fix-gnutls-priority.patch +# http://ffmpeg.org/pipermail/ffmpeg-devel/2022-February/293194.html +Patch7: ffmpeg-openh264-averr-on-bad-version.patch +# Backport fixes to recognize sdl2 with new versioning scheme +Patch9: 0002-configure-fix-SDL2-version-check-for-pkg_config-fall.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: flite-devel BuildRequires: game-music-emu-devel BuildRequires: gcc -BuildRequires: git-core BuildRequires: gnupg2 BuildRequires: gsm-devel BuildRequires: ladspa-devel BuildRequires: lame-devel +%ifnarch s390 s390x +BuildRequires: libcrystalhd-devel +%endif BuildRequires: libgcrypt-devel -BuildRequires: libklvanc-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(aribb24) >= 1.0.3 BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(caca) BuildRequires: pkgconfig(codec2) BuildRequires: pkgconfig(dav1d) -BuildRequires: pkgconfig(dvdnav) -BuildRequires: pkgconfig(dvdread) BuildRequires: pkgconfig(ffnvcodec) BuildRequires: pkgconfig(flac) BuildRequires: pkgconfig(fontconfig) @@ -177,16 +166,8 @@ BuildRequires: pkgconfig(frei0r) BuildRequires: pkgconfig(fribidi) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(gnutls) -BuildRequires: pkgconfig(harfbuzz) BuildRequires: pkgconfig(libilbc) BuildRequires: pkgconfig(jack) -%if %{with lc3} -BuildRequires: pkgconfig(lc3) >= 1.1.0 -%endif -%if %{with lcms2} -BuildRequires: pkgconfig(lcms2) >= 2.13 -%endif -BuildRequires: pkgconfig(libaribcaption) >= 1.1.1 BuildRequires: pkgconfig(libass) BuildRequires: pkgconfig(libbluray) BuildRequires: pkgconfig(libbs2b) @@ -196,16 +177,11 @@ BuildRequires: pkgconfig(libcdio_paranoia) BuildRequires: pkgconfig(libchromaprint) %endif BuildRequires: pkgconfig(libdrm) -BuildRequires: pkgconfig(libjxl) >= 0.7.0 BuildRequires: pkgconfig(libmodplug) +BuildRequires: pkgconfig(libomxil-bellagio) BuildRequires: pkgconfig(libopenjp2) BuildRequires: pkgconfig(libopenmpt) -%if %{with placebo} -BuildRequires: pkgconfig(libplacebo) >= 4.192.0 -%endif BuildRequires: pkgconfig(libpulse) -BuildRequires: pkgconfig(libqrencode) -BuildRequires: pkgconfig(librabbitmq) BuildRequires: pkgconfig(librist) BuildRequires: pkgconfig(librsvg-2.0) BuildRequires: pkgconfig(libssh) @@ -217,24 +193,20 @@ BuildRequires: pkgconfig(libwebp) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libzmq) BuildRequires: pkgconfig(lilv-0) -BuildRequires: pkgconfig(lv2) -BuildRequires: pkgconfig(oapv) +BuildRequires: pkgconfig(netcdf) BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(openal) -BuildRequires: pkgconfig(opencore-amrnb) BuildRequires: pkgconfig(OpenCL) -BuildRequires: pkgconfig(openh264) 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(SvtAv1Enc) >= 0.9.0 BuildRequires: pkgconfig(tesseract) BuildRequires: pkgconfig(theora) BuildRequires: pkgconfig(twolame) @@ -242,9 +214,7 @@ BuildRequires: pkgconfig(vapoursynth) BuildRequires: pkgconfig(vdpau) BuildRequires: pkgconfig(vidstab) BuildRequires: pkgconfig(vorbis) -BuildRequires: pkgconfig(vo-amrwbenc) BuildRequires: pkgconfig(vpx) -BuildRequires: pkgconfig(vulkan) >= 1.3.255 BuildRequires: pkgconfig(wavpack) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xcb-render) @@ -255,8 +225,11 @@ BuildRequires: pkgconfig(zimg) BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(zvbi-0.2) BuildRequires: texinfo -BuildRequires: xvidcore-devel +%if %{with amr} +BuildRequires: pkgconfig(opencore-amrnb) +BuildRequires: pkgconfig(vo-amrwbenc) +%endif %if %{with dc1394} BuildRequires: pkgconfig(libavc1394) BuildRequires: pkgconfig(libdc1394-2) @@ -265,15 +238,15 @@ BuildRequires: pkgconfig(libiec61883) %if %{with rtmp} BuildRequires: librtmp-devel %endif -%if %{with vpl} -BuildRequires: pkgconfig(vpl) >= 2.6 +%if %{with mfx} +BuildRequires: pkgconfig(libmfx) < 2.0 %endif -%if %{with evc_main} -BuildRequires: pkgconfig(xevd) -BuildRequires: pkgconfig(xeve) -%else -BuildRequires: pkgconfig(xevdb) -BuildRequires: pkgconfig(xeveb) +%if %{with svtav1} +BuildRequires: pkgconfig(SvtAv1Enc) >= 0.8.4 +%endif +%if %{with vulkan} +BuildRequires: vulkan-loader-devel +BuildRequires: pkgconfig(shaderc) >= 2019.1 %endif %if %{with x264} BuildRequires: pkgconfig(x264) @@ -284,6 +257,9 @@ BuildRequires: pkgconfig(x265) %if %{with vmaf} BuildRequires: pkgconfig(libvmaf) %endif +%if %{with xvid} +BuildRequires: xvidcore-devel +%endif %description @@ -297,10 +273,6 @@ community or a corporation. This build of ffmpeg is limited in the number of codecs supported. %endif -%dnl -------------------------------------------------------------------------------- - -%if ! %{with freeworld_lavc} - %if "x%{?pkg_suffix}" != "x" %package -n %{pkg_name} Summary: A complete solution to record, convert and stream audio and video @@ -309,6 +281,7 @@ 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} @@ -327,18 +300,6 @@ This build of ffmpeg is limited in the number of codecs supported. #/ "x%%{?pkg_suffix}" != "x" %endif -%files -n %{pkg_name} -%doc CREDITS README.md -%{_bindir}/ffmpeg -%{_bindir}/ffplay -%{_bindir}/ffprobe -%{_mandir}/man1/ff*.1* -%dir %{_datadir}/%{name} -%{_datadir}/%{name}/ffprobe.xsd -%{_datadir}/%{name}/libvpx-*.ffpreset - -%dnl -------------------------------------------------------------------------------- - %package -n %{pkg_name}-devel Summary: Development package for %{name} Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} @@ -346,6 +307,7 @@ 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 @@ -357,19 +319,14 @@ 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. -%files -n %{pkg_name}-devel -%doc MAINTAINERS doc/APIchanges doc/*.txt -%doc _doc/examples - -%dnl -------------------------------------------------------------------------------- - %package -n libavcodec%{?pkg_suffix} Summary: FFmpeg codec library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release} -# We require libopenh264 library, which has a dummy implementation and a real one -# In the event that this is being installed, we want to prefer openh264 if available -Suggests: openh264%{_isa} +# 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 @@ -380,12 +337,6 @@ subtitle streams, and several bitstream filters. This build of ffmpeg is limited in the number of codecs supported. %endif -%files -n libavcodec%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavcodec.so.%{av_codec_soversion}{,.*} - -%dnl -------------------------------------------------------------------------------- - %package -n libavcodec%{?pkg_suffix}-devel Summary: Development files for FFmpeg's codec library Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} @@ -399,14 +350,6 @@ subtitle streams, and several bitstream filters. This subpackage contains the headers for FFmpeg libavcodec. -%files -n libavcodec%{?pkg_suffix}-devel -%{_includedir}/%{name}/libavcodec -%{_libdir}/pkgconfig/libavcodec.pc -%{_libdir}/libavcodec.so -%{_mandir}/man3/libavcodec.3* - -%dnl -------------------------------------------------------------------------------- - %package -n libavdevice%{?pkg_suffix} Summary: FFmpeg device library Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -420,18 +363,13 @@ and rendering to many common multimedia input/output devices, and supports several input and output devices, including Video4Linux2, VfW, DShow, and ALSA. -%files -n libavdevice%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavdevice.so.%{av_device_soversion}{,.*} - -%dnl -------------------------------------------------------------------------------- - %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} @@ -445,19 +383,12 @@ DShow, and ALSA. This subpackage contains the headers for FFmpeg libavdevice. -%files -n libavdevice%{?pkg_suffix}-devel -%{_includedir}/%{name}/libavdevice -%{_libdir}/pkgconfig/libavdevice.pc -%{_libdir}/libavdevice.so -%{_mandir}/man3/libavdevice.3* - -%dnl -------------------------------------------------------------------------------- - %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} @@ -465,17 +396,12 @@ Requires: libswscale%{?pkg_suffix}%{_isa} = %{version}-%{release} The libavfilter library provides a generic audio/video filtering framework containing several filters, sources and sinks. -%files -n libavfilter%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavfilter.so.%{av_filter_soversion}{,.*} - -%dnl -------------------------------------------------------------------------------- - %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} @@ -487,14 +413,6 @@ framework containing several filters, sources and sinks. This subpackage contains the headers for FFmpeg libavfilter. -%files -n libavfilter%{?pkg_suffix}-devel -%{_includedir}/%{name}/libavfilter -%{_libdir}/pkgconfig/libavfilter.pc -%{_libdir}/libavfilter.so -%{_mandir}/man3/libavfilter.3* - -%dnl -------------------------------------------------------------------------------- - %package -n libavformat%{?pkg_suffix} Summary: FFmpeg's stream format library Requires: libavcodec%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -510,12 +428,6 @@ container formats. This build of ffmpeg is limited in the number of codecs supported. %endif -%files -n libavformat%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavformat.so.%{av_format_soversion}{,.*} - -%dnl -------------------------------------------------------------------------------- - %package -n libavformat%{?pkg_suffix}-devel Summary: Development files for FFmpeg's stream format library Requires: libavcodec%{?pkg_suffix}-devel = %{version}-%{release} @@ -532,18 +444,9 @@ container formats. This subpackage contains the headers for FFmpeg libavformat. -%files -n libavformat%{?pkg_suffix}-devel -%{_includedir}/%{name}/libavformat -%{_libdir}/pkgconfig/libavformat.pc -%{_libdir}/libavformat.so -%{_mandir}/man3/libavformat.3* - -%dnl -------------------------------------------------------------------------------- - %package -n libavutil%{?pkg_suffix} Summary: FFmpeg's utility library Group: System/Libraries -Obsoletes: libpostproc%{?pkg_suffix} < 8.0 %description -n libavutil%{?pkg_suffix} The libavutil library is a utility library to aid portable multimedia @@ -552,17 +455,10 @@ number generators, data structures, additional mathematics functions, cryptography and multimedia related functionality (like enumerations for pixel and sample formats). -%files -n libavutil%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libavutil.so.%{av_util_soversion}{,.*} - -%dnl -------------------------------------------------------------------------------- - %package -n libavutil%{?pkg_suffix}-devel Summary: Development files for FFmpeg's utility library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} Requires: pkgconfig -Obsoletes: libpostproc%{?pkg_suffix}-devel < 8.0 %description -n libavutil%{?pkg_suffix}-devel The libavutil library is a utility library to aid portable multimedia @@ -573,13 +469,27 @@ for pixel and sample formats). This subpackage contains the headers for FFmpeg libavutil. -%files -n libavutil%{?pkg_suffix}-devel -%{_includedir}/%{name}/libavutil -%{_libdir}/pkgconfig/libavutil.pc -%{_libdir}/libavutil.so -%{_mandir}/man3/libavutil.3* +%package -n libpostproc%{?pkg_suffix} +Summary: FFmpeg post-processing library +Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} -%dnl -------------------------------------------------------------------------------- +%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 @@ -589,12 +499,6 @@ Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} The libswresample library performs audio conversion between different sample rates, channel layout and channel formats. -%files -n libswresample%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libswresample.so.%{swresample_soversion}{,.*} - -%dnl -------------------------------------------------------------------------------- - %package -n libswresample%{?pkg_suffix}-devel Summary: Development files for the FFmpeg software resampling library Requires: libavutil%{?pkg_suffix}-devel = %{version}-%{release} @@ -606,14 +510,6 @@ sample rates, channel layout and channel formats. This subpackage contains the headers for FFmpeg libswresample. -%files -n libswresample%{?pkg_suffix}-devel -%{_includedir}/%{name}/libswresample -%{_libdir}/pkgconfig/libswresample.pc -%{_libdir}/libswresample.so -%{_mandir}/man3/libswresample.3* - -%dnl -------------------------------------------------------------------------------- - %package -n libswscale%{?pkg_suffix} Summary: FFmpeg image scaling and colorspace/pixel conversion library Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} @@ -622,12 +518,6 @@ Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release} The libswscale library performs image scaling and colorspace and pixel format conversion operations. -%files -n libswscale%{?pkg_suffix} -%license COPYING.GPLv2 LICENSE.md -%{_libdir}/libswscale.so.%{swscale_soversion}{,.*} - -%dnl -------------------------------------------------------------------------------- - %package -n libswscale%{?pkg_suffix}-devel Summary: Development files for FFmpeg's image scaling and colorspace library Provides: libswscale%{?pkg_suffix}-devel = %{version}-%{release} @@ -641,50 +531,12 @@ pixel format conversion operations. This subpackage contains the headers for FFmpeg libswscale. -%files -n libswscale%{?pkg_suffix}-devel -%{_includedir}/%{name}/libswscale -%{_libdir}/pkgconfig/libswscale.pc -%{_libdir}/libswscale.so -%{_mandir}/man3/libswscale.3* - -%endif -# freeworld_lavc bcond - -%dnl -------------------------------------------------------------------------------- - -%if %{with freeworld_lavc} -%package -n libavcodec-freeworld -Summary: FFmpeg codec library - freeworld overlay -Requires: libavutil%{?basepkg_suffix}%{_isa} >= %{version}-%{release} -Requires: libswresample%{?basepkg_suffix}%{_isa} >= %{version}-%{release} -Supplements: libavcodec%{?basepkg_suffix}%{_isa} >= %{version}-%{release} -# We require libopenh264 library, which has a dummy implementation and a real one -# In the event that this is being installed, we want to install this version -Requires: openh264%{_isa} - -%description -n libavcodec-freeworld -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 build includes the full range of codecs offered by ffmpeg. - -%files -n libavcodec-freeworld -%{_sysconfdir}/ld.so.conf.d/%{name}-%{_lib}.conf -%{_libdir}/%{name}/libavcodec.so.%{av_codec_soversion}{,.*} - -# Re-enable ldconfig_scriptlets macros -%{!?ldconfig:%global ldconfig /sbin/ldconfig} -%ldconfig_scriptlets -n libavcodec-freeworld - -%endif - -%dnl -------------------------------------------------------------------------------- - %prep -%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%if %{with upstream_tarball} +gpgv2 --quiet --keyring %{SOURCE3} %{SOURCE2} %{SOURCE0} +%endif -%autosetup -S git_am +%autosetup -a1 -p1 install -m 0644 %{SOURCE20} enable_decoders install -m 0644 %{SOURCE21} enable_encoders # fix -O3 -g in host_cflags @@ -692,7 +544,7 @@ 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/ -%conf +%build %set_build_flags # This is not a normal configure script, don't use %%configure @@ -708,185 +560,119 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ --optflags="%{build_cflags}" \ --extra-ldflags="%{build_ldflags}" \ --disable-htmlpages \ - --disable-static \ - --disable-stripping \ --enable-pic \ + --disable-stripping \ --enable-shared \ + --disable-static \ --enable-gpl \ --enable-version3 \ - --enable-amf \ - --enable-avcodec \ - --enable-avdevice \ - --enable-avfilter \ - --enable-avformat \ - --enable-alsa \ + --enable-libsmbclient \ + --disable-openssl \ --enable-bzlib \ + --enable-frei0r \ %if %{with chromaprint} --enable-chromaprint \ %else --disable-chromaprint \ %endif - --disable-cuda-nvcc \ -%if %{with ffnvcodec} - --enable-cuvid \ -%endif - --disable-decklink \ - --enable-frei0r \ --enable-gcrypt \ - --enable-gmp \ --enable-gnutls \ - --enable-gray \ - --enable-iconv \ --enable-ladspa \ -%if %{with lcms2} - --enable-lcms2 \ +%if %{with vulkan} + --enable-libshaderc \ + --enable-vulkan \ %endif + --disable-cuda-sdk \ --enable-libaom \ - --enable-libaribb24 \ - --enable-libaribcaption \ --enable-libass \ --enable-libbluray \ --enable-libbs2b \ - --enable-libcaca \ --enable-libcdio \ --enable-libcodec2 \ --enable-libdav1d \ - --disable-libdavs2 \ %if %{with dc1394} --enable-libdc1394 \ %endif - --enable-libdvdnav \ - --enable-libdvdread \ + --enable-libdrm \ --enable-libfdk-aac \ -%if %{with flite} - --enable-libflite \ -%endif --enable-libfontconfig \ --enable-libfreetype \ --enable-libfribidi \ - --enable-libgme \ - --enable-libharfbuzz \ --enable-libgsm \ -%if %{with dc1394} - --enable-libiec61883 \ -%endif --enable-libilbc \ --enable-libjack \ - --enable-libjxl \ - --enable-libklvanc \ - --disable-liblensfun \ - --disable-liblcevc-dec \ -%if %{with lc3} - --enable-liblc3 \ -%endif --enable-libmodplug \ --enable-libmp3lame \ --enable-libmysofa \ - --disable-libnpp \ - --enable-libopencore-amrnb \ - --enable-libopencore-amrwb \ - --disable-libopencv \ - --enable-liboapv \ - --enable-libopenh264 \ + --enable-libopenh264-dlopen \ --enable-libopenjpeg \ --enable-libopenmpt \ --enable-libopus \ -%if %{with placebo} - --enable-libplacebo \ -%endif --enable-libpulse \ - --enable-libqrencode \ - --disable-libquirc \ - --enable-librabbitmq \ --enable-librav1e \ --enable-librist \ --enable-librsvg \ -%if %{with librtmp} - --enable-librtmp \ -%endif --enable-librubberband \ - --enable-libshaderc \ - --disable-libshine \ - --enable-libsmbclient \ --enable-libsnappy \ +%if %{with svtav1} --enable-libsvtav1 \ +%endif --enable-libsoxr \ --enable-libspeex \ - --enable-libsrt \ --enable-libssh \ - --disable-libtensorflow \ + --enable-libsrt \ --enable-libtesseract \ --enable-libtheora \ - --disable-libtorch \ - --disable-libuavs3d \ --enable-libtwolame \ - --enable-libv4l2 \ --enable-libvidstab \ %if %{with vmaf} --enable-libvmaf \ %endif - --enable-libvo-amrwbenc \ --enable-libvorbis \ -%if %{with vpl} - --enable-libvpl \ -%endif + --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-vaapi \ + --enable-vdpau \ +%if %{with amr} + --enable-libopencore-amrnb \ + --enable-libopencore-amrwb \ + --enable-libvo-amrwbenc \ +%endif %if %{with x264} --enable-libx264 \ %endif %if %{with x265} --enable-libx265 \ %endif - --disable-libxavs2 \ - --disable-libxavs \ - --enable-libxcb \ - --enable-libxcb-shape \ - --enable-libxcb-shm \ - --enable-libxcb-xfixes \ -%if %{with evc_main} - --enable-libxeve \ - --enable-libxevd \ -%else - --enable-libxeveb \ - --enable-libxevdb \ +%if %{with librtmp} + --enable-librtmp \ %endif - --enable-libxml2 \ +%if %{with xvid} --enable-libxvid \ - --enable-libzimg \ - --enable-libzmq \ - --enable-libzvbi \ -%if %{with lto} - --enable-lto \ -%endif - --enable-lv2 \ - --enable-lzma \ - --enable-manpages \ -%if %{with ffnvcodec} - --enable-nvdec \ - --enable-nvenc \ %endif --enable-openal \ - --disable-openssl \ + --enable-opencl \ + --enable-opengl \ --enable-pthreads \ - --enable-sdl2 \ - --enable-shared \ - --enable-swresample \ - --enable-swscale \ - --enable-v4l2-m2m \ - --enable-vaapi \ --enable-vapoursynth \ - --enable-vdpau \ - --enable-vulkan \ - --enable-xlib \ - --enable-zlib \ %if %{without all_codecs} --enable-muxers \ --enable-demuxers \ --enable-hwaccels \ --disable-encoders \ --disable-decoders \ - --disable-decoder="h264,hevc,vc1,vvc" \ + --disable-decoder="mpeg4,h263,h264,hevc,vc1" \ --enable-encoder="$(perl -pe 's{^(\w*).*}{$1,}gs' %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_lib}.conf -cp -pa %{buildroot}%{_libdir}/libavcodec.so.%{av_codec_soversion}{,.*} %{buildroot}%{_libdir}/%{name} -# Drop unneeded stuff -rm -f %{buildroot}%{_libdir}/*.* -rm -rf %{buildroot}%{_libdir}/pkgconfig -rm -rf %{buildroot}%{_includedir} -rm -rf %{buildroot}%{_bindir} -rm -rf %{buildroot}%{_datadir} -%endif +%ldconfig_scriptlets -n libavcodec%{?pkg_suffix} +%ldconfig_scriptlets -n libavdevice%{?pkg_suffix} +%ldconfig_scriptlets -n libavfilter%{?pkg_suffix} +%ldconfig_scriptlets -n libavformat%{?pkg_suffix} +%ldconfig_scriptlets -n libavutil%{?pkg_suffix} +%ldconfig_scriptlets -n libpostproc%{?pkg_suffix} +%ldconfig_scriptlets -n libswresample%{?pkg_suffix} +%ldconfig_scriptlets -n libswscle%{?pkg_suffix} +%files -n %{pkg_name} +%doc CREDITS README.md +%{_bindir}/ffmpeg +%{_bindir}/ffplay +%{_bindir}/ffprobe +%{_mandir}/man1/ff*.1* +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/ffprobe.xsd +%{_datadir}/%{name}/libvpx-*.ffpreset + +%files -n %{pkg_name}-devel +%doc MAINTAINERS doc/APIchanges doc/*.txt +%doc _doc/examples + +%files -n libavcodec%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavcodec.so.%{av_codec_soversion}{,.*} + +%files -n libavcodec%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavcodec +%{_libdir}/pkgconfig/libavcodec.pc +%{_libdir}/libavcodec.so +%{_mandir}/man3/libavcodec.3* + +%files -n libavdevice%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavdevice.so.%{av_device_soversion}{,.*} + +%files -n libavdevice%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavdevice +%{_libdir}/pkgconfig/libavdevice.pc +%{_libdir}/libavdevice.so +%{_mandir}/man3/libavdevice.3* + +%files -n libavfilter%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavfilter.so.%{av_filter_soversion}{,.*} + +%files -n libavfilter%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavfilter +%{_libdir}/pkgconfig/libavfilter.pc +%{_libdir}/libavfilter.so +%{_mandir}/man3/libavfilter.3* + +%files -n libavformat%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavformat.so.%{av_format_soversion}{,.*} + +%files -n libavformat%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavformat +%{_libdir}/pkgconfig/libavformat.pc +%{_libdir}/libavformat.so +%{_mandir}/man3/libavformat.3* + +%files -n libavutil%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libavutil.so.%{av_util_soversion}{,.*} + +%files -n libavutil%{?pkg_suffix}-devel +%{_includedir}/%{name}/libavutil +%{_libdir}/pkgconfig/libavutil.pc +%{_libdir}/libavutil.so +%{_mandir}/man3/libavutil.3* + +%files -n libpostproc%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libpostproc.so.%{postproc_soversion}{,.*} + +%files -n libpostproc%{?pkg_suffix}-devel +%{_includedir}/%{name}/libpostproc +%{_libdir}/pkgconfig/libpostproc.pc +%{_libdir}/libpostproc.so + +%files -n libswresample%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libswresample.so.%{swresample_soversion}{,.*} + +%files -n libswresample%{?pkg_suffix}-devel +%{_includedir}/%{name}/libswresample +%{_libdir}/pkgconfig/libswresample.pc +%{_libdir}/libswresample.so +%{_mandir}/man3/libswresample.3* + +%files -n libswscale%{?pkg_suffix} +%license COPYING.GPLv2 LICENSE.md +%{_libdir}/libswscale.so.%{swscale_soversion}{,.*} + +%files -n libswscale%{?pkg_suffix}-devel +%{_includedir}/%{name}/libswscale +%{_libdir}/pkgconfig/libswscale.pc +%{_libdir}/libswscale.so +%{_mandir}/man3/libswscale.3* %changelog -* Thu Dec 04 2025 Marcin Juszkiewicz - 8.0.1-2 -- disable dc1394 and ffnvcodec on risc-v +* Thu Apr 06 2023 Neal Gompa - 5.0.3-1 +- Update to 5.0.3 -* Fri Nov 21 2025 Dominik Mierzejewski - 8.0.1-1 -- Update to 8.0.1 (resolves rhbz#2416044) -- Split configure step to conf stage - -* Fri Nov 14 2025 Neal Gompa - 8.0-2 -- Disable lc3 only on RHEL 10 - -* Sun Nov 02 2025 Neal Gompa - 8.0-1 -- Rebase to version 8.0 - -* Sun Nov 02 2025 Dominik Mierzejewski - 7.1.2-3 -- Re-enable openal support (dropped by accident in commit 5917b714, resolves rhbz#2404091) - -* Thu Oct 02 2025 Robert-André Mauchin - 7.1.2-2 -- Rebuild for svt-av1 soname bump - -* Wed Sep 24 2025 Simone Caronni - 7.1.2-1 -- Update to 7.1.2. -- Enable VANC processing for SDI. -- Explicitly list all implicitly enabled/disabled options. - -* Tue Aug 26 2025 Neal Gompa - 7.1.1-10 -- Disable all subpackages except libavcodec-freeworld with the freeworld bcond - -* Mon Aug 25 2025 Neal Gompa - 7.1.1-9 -- Enable support for MPEG-5/EVC - -* Thu Aug 21 2025 Neal Gompa - 7.1.1-8 -- Reorganize spec to group subpackage definitions together -- Add freeworld conditional for third-party builds -- Drop unneeded scriptlets - -* Fri Aug 01 2025 Neal Gompa - 7.1.1-7 -- Always verify sources - -* Tue Jul 29 2025 Nicolas Chauvet - 7.1.1-6 -- Rebuilt for libplacebo - -* Wed Jul 23 2025 Fedora Release Engineering - 7.1.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Fri Jun 13 2025 Neal Gompa - 7.1.1-4 -- Switch to regular upstream sources for package build -- Enable more codecs - -* Sat Mar 22 2025 Songsong Zhang - 7.1.1-3 -- Add missing source files for riscv64 - -* Thu Mar 13 2025 Fabio Valentini - 7.1.1-2 -- Rebuild for noopenh264 2.6.0 - -* Thu Mar 06 2025 Dominik Mierzejewski - 7.1.1-1 -- Update to 7.1.1 (resolves rhbz#2349351) -- Enable LC3 codec via liblc3 -- Backport fix for CVE-2025-22921 (resolves rhbz#2346558) - -* Fri Feb 07 2025 Yaakov Selkowitz - 7.1-1 -- Rebase to 7.1 (rhbz#2273572) - -* Wed Feb 05 2025 Robert-André Mauchin - 7.0.2-13 -- Rebuilt for aom 3.11.0 - -* Sun Feb 02 2025 Sérgio Basto - 7.0.2-12 -- Rebuild for jpegxl (libjxl) 0.11.1 - -* Wed Jan 29 2025 Simone Caronni - 7.0.2-11 -- Rebuild for updated VapourSynth. - -* Thu Jan 16 2025 Fedora Release Engineering - 7.0.2-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Jan 09 2025 Michel Lind - 7.0.2-9 -- Rebuilt for rubberband 4 - -* Tue Nov 12 2024 Sandro Mani - 7.0.2-8 -- Rebuild (tesseract) - -* Mon Oct 07 2024 Yaakov Selkowitz - 7.0.2-7 -- Properly enable aribb24/libaribcaption -- Disable VANC dependency as it depends on decklink - -* Mon Oct 07 2024 Neal Gompa - 7.0.2-6 -- Enable SDI data processing (Kernel Labs VANC) processing -- Enable Japanese DVD subtitles/teletext (aribb24/libaribcaption) - -* Mon Oct 07 2024 Yaakov Selkowitz - 7.0.2-5 -- Properly enable noopenh264 - -* Wed Oct 02 2024 Neal Gompa - 7.0.2-4 -- Fix chromaprint bcond - -* Wed Sep 25 2024 Michel Lind - 7.0.2-3 -- Disable omxil completely, it's now retired -- Rebuild for tesseract-5.4.1-3 (soversion change from 5.4.1 to just 5.4) - -* Fri Sep 20 2024 Neal Gompa - 7.0.2-2 -- Rebuild for newer ffnvcodec - -* Fri Sep 06 2024 Neal Gompa - 7.0.2-1 -- Rebase to 7.0.2 (rhbz#2273572) -- Drop OpenH264 dlopen headers as we use noopenh264 now -- Use modern bconds - -* Sat Aug 24 2024 Fabio Valentini - 6.1.2-1 -- Update to 6.1.2 - -* Sat Jul 20 2024 Neal Gompa - 6.1.1-19 -- Backport fixes for Mesa 24.0.6+ / 21.1.4+ changes for VA-API - -* Wed Jul 17 2024 Fedora Release Engineering - 6.1.1-18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jul 16 2024 Nicolas Chauvet - 6.1.1-17 -- Rebuilt for libplacebo/vmaf - -* Wed Jun 19 2024 Dominik Mierzejewski - 6.1.1-16 -- Backport fix for CVE-2023-49528 - -* Thu Jun 13 2024 Sandro Mani - 6.1.1-15 -- Rebuild for tesseract-5.4.1 - -* Wed May 29 2024 Robert-André Mauchin - 6.1.1-14 -- Rebuild for svt-av1 2.1.0 - -* Wed May 22 2024 Simone Caronni - 6.1.1-13 -- Rebuild for updated VapourSynth. - -* Tue Apr 23 2024 Kalev Lember - 6.1.1-12 -- Stop using bundled openh264 headers in F40+ and build against noopenh264 -- Backport a fix to build with Vulkan headers >= 1.3.280.0 - -* Wed Mar 13 2024 Sérgio Basto - 6.1.1-11 -- Rebuild for jpegxl (libjxl) 0.10.2 - -* Tue Mar 12 2024 Dominik Mierzejewski - 6.1.1-10 -- Enable drawtext filter (requires libharfbuzz) - -* Wed Feb 14 2024 Sérgio Basto - 6.1.1-9 -- Rebuild for jpegxl (libjxl) 0.9.2 with soname bump - -* Wed Feb 07 2024 Pete Walter - 6.1.1-8 -- Rebuild for libvpx 1.14.x - -* Sun Jan 28 2024 Sandro Mani - 6.1.1-7 -- Rebuild (tesseract) - -* Wed Jan 24 2024 Fedora Release Engineering - 6.1.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 6.1.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 15 2024 Neal Gompa - 6.1.1-4 -- Add missing files for some of the libraries to fix riscv64 builds - -* Fri Jan 12 2024 Fabio Valentini - 6.1.1-3 -- Rebuild for dav1d 1.3.0 - -* Fri Jan 05 2024 Florian Weimer - 6.1.1-2 -- Backport upstream patch to fix C compatibility issues - -* Thu Jan 04 2024 Neal Gompa - 6.1.1-1 -- Update to 6.1.1 - -* Thu Jan 04 2024 Neal Gompa - 6.1-1 -- Rebase to 6.1 - -* Wed Dec 06 2023 Kalev Lember - 6.0.1-2 -- Prefer openh264 over noopenh264 -- Backport upstream patch to drop openh264 runtime version checks - -* Sat Nov 11 2023 Neal Gompa - 6.0.1-1 -- Update to 6.0.1 -- Add ffmpeg chromium support patch (#2240127) -- Use git to apply patches - -* Fri Nov 10 2023 Neal Gompa - 6.0-16 -- Add patches to support enhanced RTMP and AV1 encoding through VA-API -- Force AAC decoding through fdk-aac-free - -* Sun Oct 08 2023 Dominik Mierzejewski - 6.0-15 -- Backport upstream patch to fix segfault when passing non-existent filter - option (rfbz#6773) - -* Sat Oct 07 2023 Sandro Mani - 6.0-14 -- Rebuild (tesseract) - -* Fri Sep 29 2023 Nicolas Chauvet - 6.0-13 -- Rebuilt for libplacebo - -* Fri Aug 25 2023 Dominik Mierzejewski - 6.0-12 -- Backport upstream patch to fix assembly with binutils 2.41. - -* Sat Aug 05 2023 Richard Shaw - 6.0-11 -- Rebuild for codec2. - -* Fri Jul 28 2023 Dominik Mierzejewski - 6.0-10 -- Rebuild for libplacebo - -* Wed Jul 19 2023 Fedora Release Engineering - 6.0-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jul 14 2023 Sandro Mani - 6.0-8 -- Rebuild (tesseract) - -* Sun Jun 18 2023 Sérgio Basto - 6.0-7 -- Mass rebuild for jpegxl-0.8.1 - -* Mon Jun 12 2023 Dominik Mierzejewski - 6.0-6 -- Rebuild for libdc1394 - -* Thu Apr 06 2023 Adam Williamson - 6.0-5 -- Rebuild (tesseract) again - -* Mon Apr 03 2023 Neal Gompa - 6.0-4 -- Include RISC-V support sources in the tarball - -* Mon Apr 03 2023 Sandro Mani - 6.0-3 -- Rebuild (tesseract) - -* Wed Mar 22 2023 Nicolas Chauvet - 6.0-2 -- Backport upstream patches for libplacebo support - -* Sun Mar 12 2023 Neal Gompa - 6.0-1 -- Rebase to version 6.0 -- Enable SVT-AV1 on all architectures -- Use oneVPL for QSV -- Switch to SPDX license identifiers - -* Wed Feb 15 2023 Neal Gompa - 5.1.2-12 +* Thu Feb 16 2023 Neal Gompa - 5.0.2-2 - Enable support for the RIST protocol through librist -* Wed Feb 15 2023 Tom Callaway - 5.1.2-11 -- bootstrap off +* Tue Nov 22 2022 Neal Gompa - 5.0.2-1 +- Update to 5.0.2 -* 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 +* Wed Oct 12 2022 Neal Gompa - 5.0.1-12 - 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 +- Backport patches to fix building with newer SDL2 versions * Thu Jun 09 2022 Neal Gompa - 5.0.1-11 - Ensure libavdevice-devel is pulled in with devel metapackage diff --git a/ffmpeg_find_free_source_headers.sh b/ffmpeg_find_free_source_headers.sh deleted file mode 100755 index 05f3568..0000000 --- a/ffmpeg_find_free_source_headers.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/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/ffmpeg_free_sources b/ffmpeg_free_sources new file mode 100644 index 0000000..06db230 --- /dev/null +++ b/ffmpeg_free_sources @@ -0,0 +1,3119 @@ +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_opt.c +fftools/ffplay.c +fftools/ffprobe.c +libavcodec/Makefile +libavcodec/aac_ac3_parser.c +libavcodec/aac_ac3_parser.h +libavcodec/aac_adtstoasc_bsf.c +libavcodec/aac_defines.h +libavcodec/aac_parser.c +libavcodec/aandcttab.c +libavcodec/aandcttab.h +libavcodec/aarch64/Makefile +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/hpeldsp_init_aarch64.c +libavcodec/aarch64/hpeldsp_neon.S +libavcodec/aarch64/idct.h +libavcodec/aarch64/idctdsp_init_aarch64.c +libavcodec/aarch64/mdct_neon.S +libavcodec/aarch64/mpegaudiodsp_init.c +libavcodec/aarch64/mpegaudiodsp_neon.S +libavcodec/aarch64/neon.S +libavcodec/aarch64/opusdsp_init.c +libavcodec/aarch64/opusdsp_neon.S +libavcodec/aarch64/pixblockdsp_init_aarch64.c +libavcodec/aarch64/pixblockdsp_neon.S +libavcodec/aarch64/simple_idct_neon.S +libavcodec/aarch64/vc1dsp_init_aarch64.c +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/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/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/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/allcodecs.c +libavcodec/alpha/Makefile +libavcodec/amfenc.c +libavcodec/amfenc.h +libavcodec/amfenc_h264.c +libavcodec/amfenc_hevc.c +libavcodec/amr_parser.c +libavcodec/ansi.c +libavcodec/apng.h +libavcodec/arm/Makefile +libavcodec/arm/ac3dsp_arm.S +libavcodec/arm/ac3dsp_armv6.S +libavcodec/arm/ac3dsp_init_arm.c +libavcodec/arm/asm-offsets.h +libavcodec/arm/audiodsp_arm.h +libavcodec/arm/audiodsp_init_arm.c +libavcodec/arm/audiodsp_init_neon.c +libavcodec/arm/blockdsp_arm.h +libavcodec/arm/blockdsp_init_arm.c +libavcodec/arm/blockdsp_init_neon.c +libavcodec/arm/fft_init_arm.c +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_vfp.S +libavcodec/arm/h264chroma_init_arm.c +libavcodec/arm/h264dsp_init_arm.c +libavcodec/arm/h264pred_init_arm.c +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/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/jrevdct_arm.S +libavcodec/arm/mathops.h +libavcodec/arm/mdct_vfp.S +libavcodec/arm/me_cmp_armv6.S +libavcodec/arm/me_cmp_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/mpegvideoencdsp_armv6.S +libavcodec/arm/mpegvideoencdsp_init_arm.c +libavcodec/arm/pixblockdsp_armv6.S +libavcodec/arm/pixblockdsp_init_arm.c +libavcodec/arm/rdft_init_arm.c +libavcodec/arm/simple_idct_arm.S +libavcodec/arm/simple_idct_armv5te.S +libavcodec/arm/simple_idct_armv6.S +libavcodec/arm/startcode.h +libavcodec/arm/startcode_armv6.S +libavcodec/arm/vc1dsp.h +libavcodec/arm/vc1dsp_init_arm.c +libavcodec/arm/vc1dsp_init_neon.c +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/vp3dsp_init_arm.c +libavcodec/arm/vp56_arith.h +libavcodec/arm/vp6dsp_init_arm.c +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/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/atsc_a53.c +libavcodec/atsc_a53.h +libavcodec/audio_frame_queue.c +libavcodec/audio_frame_queue.h +libavcodec/audiodsp.c +libavcodec/audiodsp.h +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_parser.c +libavcodec/avs3.h +libavcodec/avs3_parser.c +libavcodec/bethsoftvideo.h +libavcodec/bintext.h +libavcodec/bit_depth_template.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/bsf.c +libavcodec/bsf.h +libavcodec/bsf_internal.h +libavcodec/bswapdsp.c +libavcodec/bswapdsp.h +libavcodec/bytestream.h +libavcodec/cabac.h +libavcodec/cavs.h +libavcodec/cavs_parser.c +libavcodec/cavsdsp.h +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/cga_data.c +libavcodec/cga_data.h +libavcodec/chomp_bsf.c +libavcodec/codec.h +libavcodec/codec2utils.h +libavcodec/codec_desc.c +libavcodec/codec_desc.h +libavcodec/codec_id.h +libavcodec/codec_par.c +libavcodec/codec_par.h +libavcodec/cook_parser.c +libavcodec/copy_block.h +libavcodec/cri_parser.c +libavcodec/crystalhd.c +libavcodec/d3d11va.c +libavcodec/d3d11va.h +libavcodec/dca.c +libavcodec/dca.h +libavcodec/dca_core.h +libavcodec/dca_core_bsf.c +libavcodec/dca_exss.c +libavcodec/dca_exss.h +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.h +libavcodec/dcadata.h +libavcodec/dcadct.h +libavcodec/dcadec.h +libavcodec/dcadsp.h +libavcodec/dcaenc.h +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/decode.c +libavcodec/decode.h +libavcodec/defs.h +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/dolby_e.h +libavcodec/dolby_e_parse.c +libavcodec/dolby_e_parser.c +libavcodec/dovi_rpu.h +libavcodec/dpx_parser.c +libavcodec/dump_extradata_bsf.c +libavcodec/dv.h +libavcodec/dv_profile.c +libavcodec/dv_profile.h +libavcodec/dv_profile_internal.h +libavcodec/dvaudio.h +libavcodec/dvaudio_parser.c +libavcodec/dvbsub_parser.c +libavcodec/dvbtxt.h +libavcodec/dvd_nav_parser.c +libavcodec/dvdsub_parser.c +libavcodec/dxva2.h +libavcodec/dynamic_hdr10_plus.c +libavcodec/dynamic_hdr10_plus.h +libavcodec/eac3_core_bsf.c +libavcodec/eac3_data.h +libavcodec/eac3dec.c +libavcodec/eac3enc.h +libavcodec/elbg.c +libavcodec/elbg.h +libavcodec/encode.c +libavcodec/encode.h +libavcodec/error_resilience.c +libavcodec/error_resilience.h +libavcodec/exif.c +libavcodec/exif.h +libavcodec/exr.c +libavcodec/exrdsp.c +libavcodec/exrdsp.h +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/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/flv.h +libavcodec/fmtconvert.c +libavcodec/fmtconvert.h +libavcodec/frame_thread_encoder.c +libavcodec/frame_thread_encoder.h +libavcodec/g723_1.h +libavcodec/g723_1_parser.c +libavcodec/g729.h +libavcodec/g729_parser.c +libavcodec/get_bits.h +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.h +libavcodec/h261_parser.c +libavcodec/h263.c +libavcodec/h263.h +libavcodec/h263_parser.c +libavcodec/h263_parser.h +libavcodec/h263data.c +libavcodec/h263data.h +libavcodec/h263dec.c +libavcodec/h263dsp.c +libavcodec/h263dsp.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.h +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/hapqa_extract_bsf.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/hpel_template.c +libavcodec/hpeldsp.c +libavcodec/hpeldsp.h +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/idctdsp.c +libavcodec/idctdsp.h +libavcodec/iirfilter.h +libavcodec/ilbcdata.h +libavcodec/ilbcdec.c +libavcodec/imgconvert.c +libavcodec/imx_dump_header_bsf.c +libavcodec/internal.h +libavcodec/intrax8.h +libavcodec/intrax8dsp.h +libavcodec/ipu_parser.c +libavcodec/ituh263dec.c +libavcodec/j2kenc.c +libavcodec/jacosub.h +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.h +libavcodec/jpeglsenc.c +libavcodec/jpegtables.c +libavcodec/jpegtables.h +libavcodec/jpegtabs.h +libavcodec/jrevdct.c +libavcodec/kbdwin.c +libavcodec/kbdwin.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/libmp3lame.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/libspeexdec.c +libavcodec/libspeexenc.c +libavcodec/libsvtav1.c +libavcodec/libtheoraenc.c +libavcodec/libtwolame.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/log2_tab.c +libavcodec/loongarch/Makefile +libavcodec/lossless_videodsp.c +libavcodec/lossless_videodsp.h +libavcodec/lossless_videoencdsp.c +libavcodec/lossless_videoencdsp.h +libavcodec/lpc.c +libavcodec/lpc.h +libavcodec/lzw.c +libavcodec/lzw.h +libavcodec/lzwenc.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/me_cmp.c +libavcodec/me_cmp.h +libavcodec/mediacodec.c +libavcodec/mediacodec.h +libavcodec/mips/Makefile +libavcodec/mjpeg.h +libavcodec/mjpeg2jpeg_bsf.c +libavcodec/mjpeg_parser.c +libavcodec/mjpega_dump_header_bsf.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/motion_est.c +libavcodec/motion_est.h +libavcodec/motion_est_template.c +libavcodec/movsub_bsf.c +libavcodec/mp3_header_decompress_bsf.c +libavcodec/mpeg12.c +libavcodec/mpeg12.h +libavcodec/mpeg12data.c +libavcodec/mpeg12data.h +libavcodec/mpeg12dec.c +libavcodec/mpeg12enc.c +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/mpeg4videodec.c +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_enc.c +libavcodec/mpegvideo_motion.c +libavcodec/mpegvideo_parser.c +libavcodec/mpegvideodata.c +libavcodec/mpegvideodata.h +libavcodec/mpegvideodsp.c +libavcodec/mpegvideodsp.h +libavcodec/mpegvideoencdsp.c +libavcodec/mpegvideoencdsp.h +libavcodec/mqc.c +libavcodec/mqc.h +libavcodec/mqcdec.c +libavcodec/mqcenc.c +libavcodec/msgsmdec.c +libavcodec/msgsmdec.h +libavcodec/msmpeg4.h +libavcodec/msmpeg4data.h +libavcodec/msrledec.c +libavcodec/msrledec.h +libavcodec/neon/Makefile +libavcodec/neon/mpegvideo.c +libavcodec/noise_bsf.c +libavcodec/null_bsf.c +libavcodec/nvdec.c +libavcodec/nvdec.h +libavcodec/nvdec_av1.c +libavcodec/nvdec_mjpeg.c +libavcodec/nvdec_mpeg12.c +libavcodec/nvdec_vp8.c +libavcodec/nvdec_vp9.c +libavcodec/nvenc.c +libavcodec/nvenc.h +libavcodec/nvenc_h264.c +libavcodec/nvenc_hevc.c +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/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/pgssubdec.c +libavcodec/pgxdec.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/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/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/psymodel.h +libavcodec/pthread.c +libavcodec/pthread_frame.c +libavcodec/pthread_internal.h +libavcodec/pthread_slice.c +libavcodec/put_bits.h +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/rangecoder.c +libavcodec/rangecoder.h +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/rectangle.h +libavcodec/remove_extradata_bsf.c +libavcodec/reverse.c +libavcodec/rl.c +libavcodec/rl.h +libavcodec/rle.c +libavcodec/rle.h +libavcodec/rnd_avg.h +libavcodec/rv10.h +libavcodec/rv34_parser.c +libavcodec/sbc.h +libavcodec/sbc_parser.c +libavcodec/sbr.h +libavcodec/sbrdsp.h +libavcodec/sbrdsp_template.c +libavcodec/sei.h +libavcodec/setts_bsf.c +libavcodec/sgi.h +libavcodec/sgidec.c +libavcodec/sgienc.c +libavcodec/simple_idct.c +libavcodec/simple_idct.h +libavcodec/simple_idct_template.c +libavcodec/sinewin.h +libavcodec/sinewin_tablegen.h +libavcodec/sipr_parser.c +libavcodec/sp5x.h +libavcodec/speedhqenc.h +libavcodec/srtdec.c +libavcodec/srtenc.c +libavcodec/startcode.c +libavcodec/startcode.h +libavcodec/sunrast.c +libavcodec/sunrast.h +libavcodec/sunrastenc.c +libavcodec/synth_filter.h +libavcodec/tak.c +libavcodec/tak.h +libavcodec/tak_parser.c +libavcodec/targa.c +libavcodec/targa.h +libavcodec/targaenc.c +libavcodec/textdec.c +libavcodec/texturedsp.h +libavcodec/thread.h +libavcodec/tiff.c +libavcodec/tiff.h +libavcodec/tiff_common.c +libavcodec/tiff_common.h +libavcodec/tiff_data.h +libavcodec/tiffenc.c +libavcodec/to_upper4.c +libavcodec/to_upper4.h +libavcodec/trace_headers_bsf.c +libavcodec/truehd_core_bsf.c +libavcodec/ttmlenc.h +libavcodec/unary.h +libavcodec/utils.c +libavcodec/v210_template.c +libavcodec/v210dec.c +libavcodec/v210dec.h +libavcodec/v210enc.c +libavcodec/v210enc.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_vp8.c +libavcodec/vaapi_vp9.c +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/vdpau.c +libavcodec/vdpau.h +libavcodec/vdpau_internal.h +libavcodec/vdpau_mpeg12.c +libavcodec/vdpau_vp9.c +libavcodec/version.h +libavcodec/videodsp.c +libavcodec/videodsp.h +libavcodec/videodsp_template.c +libavcodec/videotoolbox.h +libavcodec/vlc.h +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/webp.c +libavcodec/webp_parser.c +libavcodec/webvttdec.c +libavcodec/webvttenc.c +libavcodec/wmv2.h +libavcodec/wmv2data.c +libavcodec/wmv2data.h +libavcodec/wmv2dsp.h +libavcodec/wrapped_avframe.c +libavcodec/x86/Makefile +libavcodec/x86/ac3dsp.asm +libavcodec/x86/ac3dsp_downmix.asm +libavcodec/x86/ac3dsp_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/celt_pvq_init.c +libavcodec/x86/celt_pvq_search.asm +libavcodec/x86/constants.c +libavcodec/x86/constants.h +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/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/h263_loopfilter.asm +libavcodec/x86/h263dsp_init.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_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_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/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/simple_idct.asm +libavcodec/x86/simple_idct.h +libavcodec/x86/simple_idct10.asm +libavcodec/x86/simple_idct10_template.asm +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/xbm_parser.c +libavcodec/xbmdec.c +libavcodec/xbmenc.c +libavcodec/xiph.c +libavcodec/xiph.h +libavcodec/xma_parser.c +libavcodec/xvididct.h +libavcodec/xvmc.h +libavcodec/xvmc_internal.h +libavcodec/xwd.h +libavcodec/xwddec.c +libavcodec/xwdenc.c +libavcodec/y41pdec.c +libavcodec/y41penc.c +libavcodec/yuv4dec.c +libavcodec/yuv4enc.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/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/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.h +libavdevice/xcbgrab.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_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_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_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_volume.c +libavfilter/af_volume.h +libavfilter/af_volumedetect.c +libavfilter/allfilters.c +libavfilter/asink_anullsink.c +libavfilter/asrc_afirsrc.c +libavfilter/asrc_anoisesrc.c +libavfilter/asrc_anullsrc.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/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/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/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/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_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.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_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_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_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_vulkan.c +libavfilter/vf_geq.c +libavfilter/vf_gradfun.c +libavfilter/vf_grayworld.c +libavfilter/vf_guided.c +libavfilter/vf_hflip.c +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_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_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_negate.c +libavfilter/vf_neighbor.c +libavfilter/vf_neighbor_opencl.c +libavfilter/vf_nlmeans.c +libavfilter/vf_nlmeans.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_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_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_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_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_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/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.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/derf.c +libavformat/dfa.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/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/jvdec.c +libavformat/kvag.c +libavformat/latmenc.c +libavformat/libavformat.v +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/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/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/v210.c +libavformat/vag.c +libavformat/vapoursynth.c +libavformat/vc1dec.c +libavformat/vc1test.c +libavformat/vc1testenc.c +libavformat/version.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/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/hash.c +libavutil/hash.h +libavutil/hdr_dynamic_metadata.c +libavutil/hdr_dynamic_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_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/version.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.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.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.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/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/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/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/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/ffmpeg_gen_free_tarball.sh b/ffmpeg_gen_free_tarball.sh new file mode 100755 index 0000000..f4710fe --- /dev/null +++ b/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/ffmpeg_get_dlopen_headers.sh b/ffmpeg_get_dlopen_headers.sh index b64cc97..da221d5 100755 --- a/ffmpeg_get_dlopen_headers.sh +++ b/ffmpeg_get_dlopen_headers.sh @@ -1,7 +1,7 @@ #!/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 +# Requires: bash, coreutils, curl, bsdtar, dnf, dnf-plugins-core, tar # Author: Neal Gompa # # This program is free software: you can redistribute it and/or modify diff --git a/ffmpeg_update_free_sources.sh b/ffmpeg_update_free_sources.sh new file mode 100755 index 0000000..7dc5c9c --- /dev/null +++ b/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/fix-vmaf-model-path.patch b/fix-vmaf-model-path.patch new file mode 100644 index 0000000..8108dc1 --- /dev/null +++ b/fix-vmaf-model-path.patch @@ -0,0 +1,24 @@ +From d87f2ce576ddb0ce8f6ade22b3c66a8b63c90713 Mon Sep 17 00:00:00 2001 +From: Leigh Scott +Date: Thu, 31 Dec 2020 13:08:06 +0000 +Subject: [PATCH] fix vmaf model path + +--- + libavfilter/vf_libvmaf.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libavfilter/vf_libvmaf.c b/libavfilter/vf_libvmaf.c +index 4d49127efc..bd6f4519e8 100644 +--- a/libavfilter/vf_libvmaf.c ++++ b/libavfilter/vf_libvmaf.c +@@ -72,7 +72,7 @@ typedef struct LIBVMAFContext { + #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM + + static const AVOption libvmaf_options[] = { +- {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/local/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS}, ++ {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/share/model/vmaf_v0.6.1.json"}, 0, 1, FLAGS}, + {"log_path", "Set the file path to be used to store logs.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS}, + {"log_fmt", "Set the format of the log (csv, json or xml).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS}, + {"enable_transform", "Enables transform for computing vmaf.", OFFSET(enable_transform), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS}, +-- +2.29.2 diff --git a/sources b/sources index 193e4da..4c018f4 100644 --- a/sources +++ b/sources @@ -1,3 +1,4 @@ -SHA512 (ffmpeg-8.0.1.tar.xz) = 7af5cd1c7ba04f8d7ea1b54b64b9c235f2a606dc0c18d25cfdf20958bcad4851d3265b4894fc6ba5dd205c2309971c7e7fb890ee1d64e0a41a3faf159f77957f -SHA512 (ffmpeg-8.0.1.tar.xz.asc) = f56e9e89ecdf9f12e3dae90b52289e5d09bfbfc0f6e13aaf17da9330c138fdb62b132f856c2fd16f5d9f5d6bcf1725602c8781c3e5f07bda6ce1306c379792ab +SHA512 (ffmpeg-free-5.0.3.tar.xz) = c62b6d7f0178a09c67fa88ac6f1f88f524d5e6c80b98f99f01a6b877ce99f7ef31f50ba847e4472196075885eb844ffde788c1eace1d044a9a171557dee4bb91 +SHA512 (ffmpeg-5.0.3.tar.xz.asc) = 7b0e5e4949fbea820b2069dc7cf68318217ed7782026bf06ecf72764e82330af8aceda2975c077503ccdadfab342296ad9e32227cc55c566b9517be3565e7d92 +SHA512 (ffmpeg-dlopen-headers.tar.xz) = 97e6986fc2bb9dfa4516135a76b04d27ceb52ff96f0af21a6169919aeefefb4d2e2e24a771959689cdbec385f5d71614ba661223c67c0e94089a6dd823a30099 SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165