diff --git a/enable_decoders b/enable_decoders index 2fdd4d0..234ac53 100644 --- a/enable_decoders +++ b/enable_decoders @@ -1,26 +1,210 @@ ## module name # reason for enablement in ffmpeg (usually there is another package that already got legal review) aac +aasc 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_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 +alac +alias_pix +amrnb # AMR-NB (Adaptive Multi-Rate NarrowBand) (codec amr_nb) +amrwb # AMR-WB (Adaptive Multi-Rate WideBand) (codec amr_wb) +amv +anm ansi # trivial +anull +apac +ape apng +apng # animated png +arbc +argo ass # trivial +asv1 +asv2 +atrac1 +atrac3 +atrac3al +atrac3p +atrac3pal +aura +aura2 +av1 # libaom +av1_nvdec +av1_qsv # AV1 video (Intel Quick Sync Video acceleration) (codec av1) +av1_vaapi ayuv # trivial +bethsoftvid # trivial +bfi # trivial +bink +binkaudio_dct +binkaudio_rdft +bintext +bitpacked # 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 +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 +h261 +h263 # H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2 +h263i # Intel H.263 +h263p # H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2 +h263_v4l2m2m # V4L2 mem2mem H.263 decoder wrapper (codec h263) +hap +hca +hcom +hdr +hnm4_video +hq_hqa +hqx huffyuv # trivial+zlib +hymt # huffyuv-mt +iac +idcin +idf +iff_ilbm ilbc # ilbc -libaom # libaom +imc +indeo2 +indeo3 +indeo4 +indeo5 +interplay_acm +interplay_dpcm +interplay_video +ipu +jacosub +jpeg2000 # openjpeg2 +jpegls +jv +kgv1 +kmvc +lagarith libaom_av1 # libaom +libaom # libaom libcodec2 # codec2 libdav1d # av1 libgsm # libgsm +libgsm_ms # libgsm +libjxl # libjxl +libopencore_amrnb # OpenCORE AMR-NB (Adaptive Multi-Rate Narrow-Band) (codec amr_nb) +libopencore_amrwb # OpenCORE AMR-WB (Adaptive Multi-Rate Wide-Band) (codec amr_wb) libopenh264 # libopenh264_dlopen libopenjpeg # openjpeg libopus # opus @@ -29,39 +213,106 @@ libspeex # speex libvorbis # libvorbis libvpx_vp8 # libvpx libvpx_vp9 # libvpx +libzvbi_teletext # zvbi +loco +lscr +m101 +mace3 +mace6 +mdec +media100 +metasound +microdvd +mimic +misc4 +mjpegb mjpeg # mjpegtools -mp1 # twolame/lame +mjpeg_qsv # mjpegtools +mlp +mmvideo +motionpixels mp1float # twolame/lame -mp2 # twolame +mp1 # twolame/lame mp2float # twolame -mp3 # lame +mp2 # twolame +mp3adu +mp3adufloat mp3float # lame -mpeg1video -mpeg2video -#mpeg4 +mp3 # lame +mp3on4 +mp3on4float +mpc7 +mpc8 +mpeg1_cuvid # Nvidia CUVID MPEG1VIDEO decoder (codec mpeg1video) +mpeg1_v4l2m2m +mpeg1_v4l2m2m # V4L2 mem2mem MPEG1 decoder wrapper (codec mpeg1video) +mpeg1video # MPEG-1 video +mpeg2_cuvid # Nvidia CUVID MPEG2VIDEO decoder (codec mpeg2video) +mpeg2_qsv # MPEG2VIDEO video (Intel Quick Sync Video acceleration) (codec mpeg2video) +mpeg2_v4l2m2m # V4L2 mem2mem MPEG2 decoder wrapper (codec mpeg2video) +mpeg2video # MPEG-2 video +mpeg2_vaapi +mpeg4_cuvid # Nvidia CUVID MPEG4 decoder (codec mpeg4) +mpeg4 # MPEG-4 part 2 +mpeg4_v4l2m2m # V4L2 mem2mem MPEG4 decoder wrapper (codec mpeg4) +mpegvideo # MPEG-1 video (codec mpeg2video) +mpl2 +msa1 +mscc +msmpeg4 # MPEG-4 part 2 Microsoft variant version 3 (codec msmpeg4v3) +msmpeg4v1 # MPEG-4 part 2 Microsoft variant version 1 +msmpeg4v2 # MPEG-4 part 2 Microsoft variant version 2 +msmpeg4v3 # MPEG-4 part 2 Microsoft variant version 3 +msnsiren # Microsoft Siren codec +msp2 +msrle +mss1 +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_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_s16be # trivial pcm_s16le_planar # trivial +pcm_s16le # trivial pcm_s24be # trivial -pcm_s24le # trivial +pcm_s24daud # trivial pcm_s24le_planar # trivial +pcm_s24le # trivial pcm_s32be # trivial -pcm_s32le # trivial pcm_s32le_planar # trivial -pcm_s8 # trivial +pcm_s32le # trivial +pcm_s64be # trivial +pcm_s64le # trivial pcm_s8_planar # trivial +pcm_s8 # trivial +pcm_sga # trivial pcm_u16be # trivial pcm_u16le # trivial pcm_u24be # trivial @@ -69,39 +320,163 @@ pcm_u24le # trivial pcm_u32be # trivial pcm_u32le # trivial pcm_u8 # trivial +pcm_vidc # trivial pcx +pfm # trivial pgm # trivial pgmyuv # trivial pgssub # mkvtoolnix +pgx +phm # trivial +photocd +pictor +pjs png # libpng ppm # trivial +prosumer +psd +ptx +qcelp +qdm2 +qdmc +qdraw +qoi +qpeg +qtrle +r10k +r210 +ra_144 +ra_288 +rasc rawvideo # trivial +realtext +rka +rl2 +roq +roq_dpcm +rpza +rscc +rv10 +rv20 +s302m +sami +sanm +sbc +screenpresso +sdx2_dpcm +sgirle # trivial sgi # trivial +shorten +simbiosis_imx +sipr +siren # Siren7 codec +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 +vp5 # libav +vp6a # libav vp6a # libav vp6f # libav +vp6f # libav +vp6 # libav +vp6 # 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 +y41p # trivial +ylc +yop yuv4 # trivial +yuv4 # trivial +zero12v +zerocodec zlib # zlib +zmbv # dosbox diff --git a/enable_encoders b/enable_encoders index 5c5ada8..cb9dbb7 100644 --- a/enable_encoders +++ b/enable_encoders @@ -1,21 +1,70 @@ ## module name # reason for enablement in ffmpeg (usually there is another package that already got legal review) +a64multi +a64multi5 aac +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_nvenc +av1_vaapi ayuv # trival +bitpacked # trivial bmp # trivial +cinepak +cljr +dca +dfpwm +dnxhd +dpx +dvdsub +dvvideo +exr ffv1 ffvhuff # trivial+zlib flac # libFLAC +flashsv +flashsv2 +flv +g723_1 gif # libpng +h261 +h263 # H.263 / H.263-1996 +h263_v4l2m2m # V4L2 mem2mem H.263 encoder wrapper (codec h263) +h263p # H.263+ / H.263-1998 / H.263 version 2 +hdr huffyuv # trivial+zlib +ilbc # ilbc +jpeg2000 jpegls libaom # libaom libaom_av1 # libaom libcodec2 # codec2 libgsm # libgsm +libgsm_ms # libgsm libjxl # libjxl libmp3lame # lame +libopencore_amrnb # OpenCORE AMR-NB (Adaptive Multi-Rate Narrow-Band) (codec amr_nb) libopenh264 # libopenh264_dlopen libopenjpeg # openjpeg libopus # opus @@ -25,16 +74,31 @@ libspeex # speex libsvtav1 libtheora # libtheora libtwolame # twolame +libvo_amrwbenc # Android VisualOn AMR-WB (Adaptive Multi-Rate Wide-Band) (codec amr_wb) libvorbis # libvorbis -libvpx_vp8 -libvpx_vp9 -libwebp -libwebp_anim +libvpx_vp8 # libvpx +libvpx_vp9 # libvpx +libwebp # libwebp +libwebp_anim # libwebp +libxvid # xvidcore mjpeg # mjpegtools +mjpeg_qsv # mjpegtools +mjpeg_vaapi # mjpegtools +mlp mp2 # twolame mp2fixed # twolame mpeg1video +mpeg2_qsv +mpeg2_vaapi mpeg2video +mpeg4 # MPEG-4 part 2 +mpeg4_v4l2m2m # V4L2 mem2mem MPEG4 encoder wrapper (codec mpeg4) +msmpeg4v1 # MPEG-4 part 2 Microsoft variant version 1 +msmpeg4v2 # MPEG-4 part 2 Microsoft variant version 2 +msmpeg4v3 # MPEG-4 part 2 Microsoft variant version 3 +msnsiren # MSN Siren +msvideo1 +nellymoser opus # opus pam pbm # trivial @@ -66,25 +130,66 @@ pcm_u8 # trivial pcx pgm # trivial pgmyuv # trivial +phm # trivial png # libpng ppm # trivial +qoi +qtrle +r10k # trivial +r210 # trivial +ra_144 rawvideo # trivial +roq +roq_dpcm +rpza +rv10 +rv20 +s302m +sbc sgi # trivial +siren # Siren +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 +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-6.changes b/ffmpeg-6.changes index 390fa08..93719a5 100644 --- a/ffmpeg-6.changes +++ b/ffmpeg-6.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Wed Nov 22 15:23:54 UTC 2023 - Bjørn Lie + +- Enable more decoders and encoders explicitly: + * amrwb via bcond_without for TW only (and in + enable_decoder/encoder) + * opencore via bcond_without for TW only (and in + enable_decoder/encoder) + * xvid via bcond_without for TW only (and in + enable_decoder/encoder) + * h.263 via enable_decoder/encoder and no longer explicitly + disabling in call to configure + * MPEG4 Visual via enable_decoder/encoder and no longer + explicitly disabling in call to configure + * MPEG2 Hardware decoders via enable_decoder/encoder + * And many many more via enable_decoder/encoder. + ------------------------------------------------------------------- Fri Nov 10 10:09:46 UTC 2023 - Bjørn Lie diff --git a/ffmpeg-6.spec b/ffmpeg-6.spec index c4a9352..70be2aa 100644 --- a/ffmpeg-6.spec +++ b/ffmpeg-6.spec @@ -70,6 +70,9 @@ %bcond_without codec2 %bcond_without rubberband %bcond_without vulkan +%bcond_without amrwb +%bcond_without opencore +%bcond_without xvid %else %bcond_with mysofa %bcond_with vidstab @@ -532,7 +535,7 @@ from libav should depend on these private headers which are expected to break compatibility without any notice. %prep -%setup -a6 -n %_name-%version +%setup -a6 -n %_name-%version -q %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -687,11 +690,11 @@ LDFLAGS="%_lto_cflags" \ --enable-demuxers \ --disable-encoders \ --disable-decoders \ - --disable-decoder=mpeg4,h263,h264,hevc,vc1 \ + --disable-decoder=h264,hevc,vc1 \ --enable-encoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <%_sourcedir/enable_encoders)" \ --enable-decoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <%_sourcedir/enable_decoders)" \ -for i in MPEG4 H263 H264 HEVC VC1; do +for i in H264 HEVC VC1; do grep -q "#define CONFIG_${i}_DECODER 0" config_components.h done %endif @@ -927,7 +930,7 @@ CFLAGS="%optflags" \ --disable-muxers --disable-demuxers \ --disable-encoders --disable-decoders \ --disable-programs --disable-doc -for i in MPEG4 H263 H264 HEVC VC1; do +for i in H264 HEVC VC1; do grep -q "#define CONFIG_${i}_DECODER 0" config_components.h done cat config.h