commit c460d3f4e77121832160773dce2007b84af7cee01c329614845e60eb36ba7f45 Author: Ismail Dönmez Date: Wed Jul 4 08:12:41 2018 +0000 Accepting request 620431 from home:scarabeus_iv FFmpeg4 OBS-URL: https://build.opensuse.org/request/show/620431 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-4?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..a1e21dc --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,9 @@ +libavcodec58 +libavdevice58 +libavfilter7 +libavformat58 +libavresample4 +libavutil56 +libpostproc55 +libswresample3 +libswscale5 diff --git a/cve-2017-17555.diff b/cve-2017-17555.diff new file mode 100644 index 0000000..2624a83 --- /dev/null +++ b/cve-2017-17555.diff @@ -0,0 +1,19 @@ +From: Jan Engelhardt +Date: 2018-02-12 13:30:29.256158366 +0100 + +References: https://bugzilla.suse.com/show_bug.cgi?id=1072366 +References: CVE-2017-17555 + +Index: ffmpeg-4.0.1/libswresample/audioconvert.c +=================================================================== +--- ffmpeg-4.0.1.orig/libswresample/audioconvert.c 2018-04-20 12:02:58.000000000 +0200 ++++ ffmpeg-4.0.1/libswresample/audioconvert.c 2018-06-30 00:17:17.785924731 +0200 +@@ -239,7 +239,7 @@ int swri_audio_convert(AudioConvert *ctx + const uint8_t *pi= ich < 0 ? ctx->silence : in->ch[ich]; + uint8_t *po= out->ch[ch]; + uint8_t *end= po + os*len; +- if(!po) ++ if (!pi || !po) + continue; + ctx->conv_f(po+off*os, pi+off*is, is, os, end); + } diff --git a/enable_decoders b/enable_decoders new file mode 100644 index 0000000..e557af7 --- /dev/null +++ b/enable_decoders @@ -0,0 +1,98 @@ +ac3 +ansi # trivial +apng +ass # trivial +ayuv # trivial +bmp # trivial +dirac # dirac +exr # openEXR +ffv1 # ffmpeg +ffvhuff # ffmpeg +ffwavesynth # pseudo +flac # libFLAC +gif # libpng +gsm # libgsm +huffyuv # trivial+zlib +libcelt +libgsm +libopenjpeg +libopus +libschroedinger +libspeex +libvorbis +libvpx_vp8 +libvpx_vp9 +mjpeg # mjpegtools +mpeg1video +mpeg2video +#mpeg4 +mp1 # twolame/lame +mp1float # twolame/lame +mp2 # twolame +mp2float # twolame +mp3 # lame +mp3float # lame +opus # libopus +pam # trivial +pbm # trivial +pcm_alaw # trivial +pcm_bluray +pcm_dvd +pcm_f32be # trivial +pcm_f32le # trivial +pcm_f64be # trivial +pcm_f64le # trivial +pcm_mulaw # trivial +pcm_s16be # trivial +pcm_s16be_planar # trivial +pcm_s16le # trivial +pcm_s16le_planar # trivial +pcm_s24be # trivial +pcm_s24le # trivial +pcm_s24le_planar # trivial +pcm_s32be # trivial +pcm_s32le # trivial +pcm_s32le_planar # trivial +pcm_s8 # trivial +pcm_s8_planar # trivial +pcm_u16be # trivial +pcm_u16le # trivial +pcm_u24be # trivial +pcm_u24le # trivial +pcm_u32be # trivial +pcm_u32le # trivial +pcm_u8 # trivial +pcx +pgm # trivial +pgmyuv # trivial +pgssub # mkvtoolnix +png # libpng +ppm # trivial +rawvideo # trivial +sgi # trivial +srt # trivial +ssa # trivial +sunrast # trivial +targa # trivial +text # trivial +theora # libtheora +tiff # libtiff +v210 # trivial +v210x # trivial +v308 # trivial +v408 # trivial +v410 # trivial +vorbis # libvorbis +vp3 # libav +vp5 # libav +vp6 # libav +vp6a # libav +vp6f # libav +vp8 # libvpx +vp9 # libvpx +webp # libwebp +xbm # trivial +xwd # xwd +y41p # trivial +yuv4 # trivial +zlib # pseudo diff --git a/enable_encoders b/enable_encoders new file mode 100644 index 0000000..95e177b --- /dev/null +++ b/enable_encoders @@ -0,0 +1,76 @@ +apng # libpng +ass # trivial +ayuv # trival +bmp # trivial +ffv1 +ffvhuff # trivial+zlib +flac # libFLAC +gif # libpng +huffyuv # trivial+zlib +jpegls +libgsm +libmp3lame +libopenjpeg +libopus +libschroedinger +libspeex +libtheora +libtwolame +libvorbis +libvpx_vp8 +libvpx_vp9 +libwebp +libwebp_anim +mjpeg # mjpegtools +mp2 # twolame +mp2fixed # twolame +opus +pam +pbm +pcm_alaw +pcm_f32be +pcm_f32le +pcm_f64be +pcm_f64le +pcm_mulaw +pcm_s16be +pcm_s16be_planar +pcm_s16le +pcm_s16le_planar +pcm_s24be +pcm_s24le +pcm_s24le_planar +pcm_s32be +pcm_s32le +pcm_s32le_planar +pcm_s8 +pcm_s8_planar +pcm_u16be +pcm_u16le +pcm_u24be +pcm_u24le +pcm_u32be +pcm_u32le +pcm_u8 +pcx +pgm +pgmyuv +png +ppm +sgi +srt +ssa +sunrast +targa +text +tiff +v210 +v308 +v408 +v410 +vorbis +xbm +xwd +y41p +yuv4 +zlib diff --git a/ffmpeg-4.0.1.tar.xz b/ffmpeg-4.0.1.tar.xz new file mode 100644 index 0000000..b17e3e6 --- /dev/null +++ b/ffmpeg-4.0.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:605f5c01c60db35d3b617a79cabb2c7032412be243554602eeed1b628125c0ee +size 8663660 diff --git a/ffmpeg-4.0.1.tar.xz.asc b/ffmpeg-4.0.1.tar.xz.asc new file mode 100644 index 0000000..3667ebb --- /dev/null +++ b/ffmpeg-4.0.1.tar.xz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQEcBAABAgAGBQJbJGabAAoJELQyLwTWdljYYtUH/1zw4/Fm1O7MfNGZjnpgA5b2 ++1QxLIKPuZMNG6PjNwkqO1U7LxIB9KD3VXf3I43YqF6cJK8S8fasSWk4fQLaFAem +kcDN0dGw3l4YdnfM14pnz/OzovqeatpdlBKmMkkWZBHk9jYQThY+5+QajwzHGq/Q +fdRhbgrPFCjk7GnF4+/e5CBiB3p9qWhDcsUf9pqKeq5GCqAcK4Oqi2ko0/RRFw1p +NF9OaWqygZ/C/Si4E+x4b2v5KEreh1HOAtmMRsZ6grPvQ2nPoO+KFt5fZQM18ILZ +ulAcDOj5N5n8wP+hGKzKq9ZKDayfg9OIgTfsPlxH1i0To0+p+2q2mDVugm1LWBA= +=bhrG +-----END PGP SIGNATURE----- diff --git a/ffmpeg-4.changes b/ffmpeg-4.changes new file mode 100644 index 0000000..654678f --- /dev/null +++ b/ffmpeg-4.changes @@ -0,0 +1,1211 @@ +------------------------------------------------------------------- +Tue Jul 3 08:46:42 UTC 2018 - tchvatal@suse.com + +- Add macros to allow conflicting with all other devel projects + to ensure we always install only one specific ffmpeg + +------------------------------------------------------------------- +Sat Jun 30 13:58:40 UTC 2018 - tchvatal@suse.com + +- Conditionalize the vidstab build to not pull it on old releases +- Conditionalize srt support to not pull it on older releases + + ------------------------------------------------------------------- +Fri Jun 29 22:03:53 UTC 2018 - 9+suse@cirno.systems + +- Enable ffnvcodec when building with NVIDIA support + +------------------------------------------------------------------- +Fri Jun 29 21:59:52 UTC 2018 - bjorn.lie@gmail.com + +- Add pkgconfig(srt) BuildRequires and pass --enable-libsrt to + configure, enable srt support. +- Refresh patches with quilt: + * cve-2017-17555.diff + * ffmpeg-codec-choice.diff + * ffmpeg-libcdio_cdda-pkgconfig.patch + * ffmpeg-new-coder-errors.diff + +------------------------------------------------------------------- +Fri Jun 29 00:07:18 UTC 2018 - 9+suse@cirno.systems + +- Enable libxml2 (used by MPEG DASH demuxer) + +------------------------------------------------------------------- +Wed Jun 27 23:15:36 UTC 2018 - jengelh@inai.de + +- Update to new upstream release 4.0.1 + * Fixed some integer overflows, undefined shifts, negative + shifts, division by 0, and a null pointer deref. + +------------------------------------------------------------------- +Mon Jun 18 16:33:12 UTC 2018 - bjorn.lie@gmail.com + +- Enable pkgconfig(vidstab) BuildRequires unconditionally, now + available in openSUSE. + +------------------------------------------------------------------- +Thu Jun 14 07:53:52 UTC 2018 - tchvatal@suse.com + +- Conditionalize openmpt build to be resolvable on Leap 42.3 + +------------------------------------------------------------------- +Thu Jun 14 07:50:26 UTC 2018 - tchvatal@suse.com + +- Conditionalize mysofa build to be resolvable on Leap 15 + +------------------------------------------------------------------- +Thu Jun 14 07:40:24 UTC 2018 - tchvatal@suse.com + +- Conditionalize zimg to build on Leap 42.3 + +------------------------------------------------------------------- +Thu Jun 14 07:30:16 UTC 2018 - tchvatal@suse.com + +- Use autopatch + +------------------------------------------------------------------- +Wed Jun 13 17:25:28 UTC 2018 - tchvatal@suse.com + +- Provide ffmpeg symbol without version on main package too + +------------------------------------------------------------------- +Wed Jun 13 17:22:41 UTC 2018 - tchvatal@suse.com + +- Prefix all the devel packages and conflict between releases + * Provide always the %version-%release of the respective build + +------------------------------------------------------------------- +Wed Jun 13 17:10:22 UTC 2018 - tchvatal@suse.com + +- Fix setup call to enter to proper folder + +------------------------------------------------------------------- +Wed Jun 13 17:05:09 UTC 2018 - tchvatal@suse.com + +- Conflict with other ffmpeg-devel packages, simply always pull + one of them + +------------------------------------------------------------------- +Wed Jun 13 16:59:56 UTC 2018 - tchvatal@suse.com + +- Move license markings to the libs itself +- Add condition to switch between full build and lib only one +- Add provides/obsoletes on the ffmpeg private headers + +------------------------------------------------------------------- +Sat Jun 2 11:51:05 UTC 2018 - 9+suse@cirno.systems + +- Reintroduce conditional libxvid support since FFmpeg’s + MPEG4-ASP encoder is not quite up to par + +------------------------------------------------------------------- +Mon May 28 23:03:17 UTC 2018 - jengelh@inai.de + +- Avoid double-nesting BUILD_ORIG with %withs. + (Reintroduces with_opencore) + +------------------------------------------------------------------- +Sun May 27 23:11:01 UTC 2018 - bjorn.lie@gmail.com + +- Drop long obsolete and unused vo_aacenc %bcond_with. +- Add conditional --enable-librtmp in build_orig part of spec, + conditional BuildRequires already in place. +- Drop opencore conditional, explicitly enable them for all + BUILD_ORIG builds. +- Drop conditional xvid %bcond_with, libxvidcore-devel + BuildRequires and --enable-libxvid call to configure: ffmpeg have + a fully capable mpeg4 encoder and decoder, avoid external + dependency. +- Minor spec cleanup. + +------------------------------------------------------------------- +Fri Apr 27 07:22:18 UTC 2018 - 9+suse@cirno.systems + +- Enable libmysofa support (sofalizer HRTF filter) + +------------------------------------------------------------------- +Wed Apr 25 05:55:35 UTC 2018 - 9+suse@cirno.systems + +- Remove superfluous __DATE__/__TIME__ replacement +- Correct libvpx version dependency +- Enable support for additional libraries: + * libbs2b + * libcodec2 + * libfontconfig + * libfribidi (already in BuildRequires) + * libgme + * libjack (already in BuildRequires) + * libopenmpt + * librubberband + * libsoxr + * libssh + * libv4l2 + * libzmq + * lv2 + +------------------------------------------------------------------- +Sat Apr 21 10:59:38 UTC 2018 - jengelh@inai.de + +- Update to new upstream release 4.0 + * New audio filters: mcompand, acontrast, lv2 wrapper, hilbert, + aiir, drmeter + * New video filters: mix, normalize, fillborders, setrange, + deconvolve, entropy, vfrdet + * OpenCL overlay filter + * VAAPI MJPEG and VP8 decoding + * VAAPI-accelerated ProcAmp (color balance), denoise and + sharpness filters + * Removed the ffserver program + * Removed the ffmenc and ffmdec muxer and demuxer + * codec2 en/decoding via libcodec2 + * New bitstream filter: hapqa_extract, filter_units + * Fixed img2dec infinite loop [boo#1090826, CVE-2018-7751] +- Remove 0001-opusenc-psy-disable-stereo-searches.patch + +------------------------------------------------------------------- +Mon Apr 09 20:47:49 UTC 2018 - enzokiel@kabelmail.de + +- Enable build against libzimg. + +------------------------------------------------------------------- +Tue Mar 27 16:04:57 UTC 2018 - jengelh@inai.de + +- Add 0001-opusenc-psy-disable-stereo-searches.patch + to fix a crash in the Opus encoder when outputting mono. +- Enable FFmpeg Opus encoder as a selectable runtime alternative + to Xiph libopus. + +------------------------------------------------------------------- +Fri Mar 23 10:54:48 UTC 2018 - alarrosa@suse.com + +- Create a new package ffmpeg-private-devel which contains some + headers under /usr/include/ffmpeg/private that were not installed + by upstream. Those headers are needed by the libav package in order + to build avconv and other tools using the libav* libraries generated + by ffmpeg instead of its own. No other package should require + ffmpeg-private-devel. + +------------------------------------------------------------------- +Wed Mar 21 16:04:32 UTC 2018 - alarrosa@suse.com + +- Build and install also the sidxindex tool + +------------------------------------------------------------------- +Tue Feb 20 21:27:19 UTC 2018 - bjorn.lie@gmail.com + +- Enable mpeg1video and mpeg2video in enable_decoders, and remove + it from disable-decoders call given to configure, mpeg2 now + available in openSUSE. + +------------------------------------------------------------------- +Tue Feb 13 14:39:31 UTC 2018 - nico.kruber@gmail.com + +- enable video stabilization/deshaking via libvidstab (optional) + +------------------------------------------------------------------- +Mon Feb 12 11:55:47 UTC 2018 - jengelh@inai.de + +- Update to new bugfix release 3.4.2 + * Fix integer overflows, multiplication overflows, undefined + shifts, and verify buffer lengths. + * avfilter/vf_transpose: Fix used plane count + [boo#1078488, CVE-2018-6392] + * avcodec/utvideodec: Fix bytes left check in decode_frame() + [boo#1079368, CVE-2018-6621] +- Enable use of libzvbi for displaying teletext subtitles. +- Fixed a DoS in swri_audio_convert(), added cve-2017-17555.diff + [boo#1072366, CVE-2017-17555]. + +------------------------------------------------------------------- +Mon Dec 11 11:24:03 UTC 2017 - jengelh@inai.de + +- Update to new bugfix release 3.4.1 + * Fixed integer overflows, division by zero, illegal bit shifts + * Fixed the gmc_mmx function which failed to validate width + and height [boo#1070762, CVE-2017-17081] + * Fixed out-of-bounds in VC-2 encoder [boo#1069407, CVE-2017-16840] + * ffplay: use SDL2 audio API +- Removed 0001-avcodec-x86-mpegvideodsp-Fix-signedness-bug-in-need_.patch + (upstreamed). + +------------------------------------------------------------------- +Fri Dec 1 10:55:08 UTC 2017 - jengelh@inai.de + +- Add 0001-avcodec-x86-mpegvideodsp-Fix-signedness-bug-in-need_.patch + [boo#1070762] + +------------------------------------------------------------------- +Thu Nov 30 07:07:49 UTC 2017 - jslaby@suse.com + +- install also doc/ffserver.conf + +------------------------------------------------------------------- +Tue Oct 31 17:35:25 UTC 2017 - jengelh@inai.de + +- Get rid of ffmpeg-pkgconfig-version.patch. + +------------------------------------------------------------------- +Mon Oct 16 11:16:16 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.4 + * New video filters: deflicker, doublewave, lumakey, pixscope, + oscilloscope, robterts, limiter, libvmaf, unpremultiply, + tlut2, floodifll, pseudocolor, despill, convolve, vmafmotion. + * New audio filters: afir, crossfeed, surround, headphone, + superequalizer, haas. + * Some video filters with several inputs now use a common set + of options: blend, libvmaf, lut3d, overlay, psnr, ssim. They + must always be used by name. + * librsvg support for svg rasterization + * spec-compliant VP9 muxing support in MP4 + * Remove the libnut and libschroedinger muxer/demuxer wrappers + * drop deprecated qtkit input device (use avfoundation instead) + * SUP/PGS subtitle muxer + * VP9 tile threading support + * KMS screen grabber + * CUDA thumbnail filter + * V4L2 mem2mem HW assisted codecs + * Rockchip MPP hardware decoding + * (Not in openSUSE builds, only original ones:) + * Gremlin Digital Video demuxer and decoder + * Additional frame format support for Interplay MVE movies + * Dolby E decoder and SMPTE 337M demuxer + * raw G.726 muxer and demuxer, left- and right-justified + * NewTek NDI input/output device + * FITS demuxer, muxer, decoder and encoder +- Fixed a double free in huffyuv [boo#1064577, CVE-2017-15186] +- Fixed an out-of-bounds in ffv1dec [boo#1066428, CVE-2017-15672] +- Fixed a denial of service in rtmppkt [boo#1082335, CVE-2017-11665] + +------------------------------------------------------------------- +Tue Sep 12 10:57:37 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.3.4. + * avutil/pixdesc: fixed NULL deref in av_color_primaries_name + [CVE-2017-14225] [boo#1058018] + * avformat/asfdec: Fix DoS in asf_build_simple_index + [CVE-2017-14223] [boo#1058019] + * avformat/mov: Fix DoS in read_tfra + [CVE-2017-14222] [boo#1058020]. +- Dropped integrated patches: + D 0001-avformat-hls-Fix-DoS-due-to-infinite-loop.patch + D 0001-avformat-nsvdec-Fix-DoS-due-to-lack-of-eof-check-in-.patch + D 0002-avformat-asfdec-Fix-DoS-due-to-lack-of-eof-check.patch + D 0002-avformat-mxfdec-Fix-DoS-issues-in-mxf_read_index_ent.patch + D 0003-avformat-cinedec-Fix-DoS-due-to-lack-of-eof-check.patch + D 0003-avformat-mxfdec-Fix-Sign-error-in-mxf_read_primer_pa.patch + D 0004-avformat-rmdec-Fix-DoS-due-to-lack-of-eof-check.patch + D 0005-avformat-rl2-Fix-DoS-due-to-lack-of-eof-check.patch + D 0006-avformat-mvdec-Fix-DoS-due-to-lack-of-eof-check.patch + +------------------------------------------------------------------- +Thu Sep 7 08:33:20 UTC 2017 - jengelh@inai.de + +- Add 0001-avformat-nsvdec-Fix-DoS-due-to-lack-of-eof-check-in-.patch + [CVE-2017-14171] [boo#1057539], + 0002-avformat-mxfdec-Fix-DoS-issues-in-mxf_read_index_ent.patch + [CVE-2017-14170] [boo#1057537], + 0003-avformat-mxfdec-Fix-Sign-error-in-mxf_read_primer_pa.patch + [CVE-2017-14169] [boo#1057536] + +------------------------------------------------------------------- +Mon Sep 4 20:19:07 UTC 2017 - jengelh@inai.de + +- Add 0001-avformat-hls-Fix-DoS-due-to-infinite-loop.patch + [CVE-2017-14058] [boo#1056762], + 0002-avformat-asfdec-Fix-DoS-due-to-lack-of-eof-check.patch + [CVE-2017-14057] [boo#1056761], + 0003-avformat-cinedec-Fix-DoS-due-to-lack-of-eof-check.patch + [CVE-2017-14059] [boo#1056763], + 0004-avformat-rmdec-Fix-DoS-due-to-lack-of-eof-check.patch + [CVE-2017-14054] [boo#1056765], + 0005-avformat-rl2-Fix-DoS-due-to-lack-of-eof-check.patch + (code not enabled in openSUSE, though in packman) + [CVE-2017-14056] [boo#1056760], + 0006-avformat-mvdec-Fix-DoS-due-to-lack-of-eof-check.patch + [CVE-2017-14055] [boo#1056766] + +------------------------------------------------------------------- +Sat Aug 26 14:56:44 UTC 2017 - jengelh@inai.de + +- Unconditionalize celt, ass, openjpeg, webp, netcdf, libva, vdpau. + +------------------------------------------------------------------- +Fri Aug 25 06:34:58 UTC 2017 - olaf@aepfle.de + +- Build unconditionally with lame and twolame + +------------------------------------------------------------------- +Sun Jul 30 23:07:52 UTC 2017 - jengelh@inai.de + +- Update to maintenance release 3.3.3 + * Various fixes for integer overflows, too-large bit shifts + and buffer length checks. +- Drop 0001-avcodec-apedec-Fix-integer-overflow.patch + (included upstream) + +------------------------------------------------------------------- +Tue Jul 18 08:47:03 UTC 2017 - jengelh@inai.de + +- Add 0001-avcodec-apedec-Fix-integer-overflow.patch + to address CVE-2017-11399 [boo#1049095] + +------------------------------------------------------------------- +Fri Jun 23 12:14:07 UTC 2017 - davejplater@gmail.com + +- Enabled cuda and cuvid for unrestricted build. +- Fixed typos in devel package descriptions. + +------------------------------------------------------------------- +Wed Jun 7 10:48:54 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.3.2 + * Various fixes for integer overflows and too-large bit shifts + +------------------------------------------------------------------- +Wed May 31 11:41:10 UTC 2017 - davejplater@gmail.com + +- Disable cuda support to fix boo#1041794: + ffmpeg 3.3. enablement of cuda prevents H264/avc1.4d400d videos + from playing on Youtube +- Refreshed patches: ffmpeg-codec-choice.diff + ffmpeg-libcdio_cdda-pkgconfig.patch + ffmpeg-pkgconfig-version.patch and ffmpeg-new-coder-errors.diff + +------------------------------------------------------------------- +Wed May 31 00:18:31 UTC 2017 - jengelh@inai.de + +- Add additional checks to ensure MPEG is off + +------------------------------------------------------------------- +Fri May 19 17:57:00 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.3.1 + * Fix uninitialized variables, signed integer overflow, + excess shift operations. Add boundary checks. + +------------------------------------------------------------------- +Tue Apr 18 13:43:51 UTC 2017 - jengelh@inai.de + +- Enable ac3 per request from idonmez + +------------------------------------------------------------------- +Fri Apr 14 14:02:24 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.3 + * EBU R128 implementation now within ffmpeg, not relying on + external library anymore + * New video filters "premultiply", "readeia608", "threshold", + "midequalizer" + * Support for spherical videos + * New decoders: 16.8 and 24.0 floating point PCM, XPM + * New demuxers: MIDI Sample Dump Standard, Sample Dump eXchange demuxer + * MJPEG encoding uses Optimal Huffman tables now + * Native Opus encoder + * Support .mov with multiple sample description tables + * Removed the legacy X11 screen grabber, use XCB instead + * Removed asyncts filter (use af_aresample instead) + * resolved CVE-2016-10190 [boo#1022920], + CVE-2016-10191 [boo#1022921], CVE-2016-10192 [boo#1022922], + CVE-2017-7859 [boo#1034183], CVE-2017-7862 [boo#1034181], + CVE-2017-7863 [boo#1034179], CVE-2017-7865 [boo#1034177], + CVE-2017-7866 [boo#1034176] + +------------------------------------------------------------------- +Thu Apr 13 13:33:35 UTC 2017 - idonmez@suse.com + +- Enable mp3 decoding + +------------------------------------------------------------------- +Sat Feb 18 14:22:15 UTC 2017 - dimstar@opensuse.org + +- Have libavcodec57 additionally provide libavcodec57(unrestricted) + when building unrestricted: allow third party packages to require + the unrestricted codec. The existing -full provides is not + suitable as it can be provided by multiple libavcodec* packages, + whereas we require a specific ABI version. + +------------------------------------------------------------------- +Sat Feb 11 11:31:55 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.2.4 + * lavf/mov.c: Avoid heap allocation wrap in mov_read_hdlr + * lavf/mov.c: Avoid OOB in mov_read_udta_string() + * lavf/mov.c: Avoid heap allocation wraps in mov_read_{senc,saiz}() + +------------------------------------------------------------------- +Sat Feb 11 09:13:02 UTC 2017 - olaf@aepfle.de + +- Make sure each subpkg comes from the same src.rpm + +------------------------------------------------------------------- +Tue Feb 7 13:47:05 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 3.2.3 + * Maintenance release with bugfixes + * ffplay: fix sws_scale possible out of bounds array access +- Drop version number from patch: ffmpeg-2.4.5-arm6l.patch -> + ffmpeg-arm6l.diff + +------------------------------------------------------------------- +Tue Jan 3 11:04:12 UTC 2017 - olaf@aepfle.de + +- Wrap netcdf support in build condtional because it is a drop-in pkg + +------------------------------------------------------------------- +Tue Dec 20 12:05:52 UTC 2016 - tchvatal@suse.com + +- Enable all muxers and demuxers as they are just descriptor of format + thus do not change the behaviour in any relevant way. + * The best user now gets is proper interpretation of the format and + failure to play it without proper de/encoder + * Recommended by vlc team to be done this way :) + +------------------------------------------------------------------- +Tue Dec 6 11:52:10 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 3.2.2 + * avformat/rtmppkt: Check for packet size mismatches + * avcodec/flacdec: Fix undefined shift in decode_subframe() + * avcodec/flacdec: Fix signed integer overflow in + decode_subframe_fixed() + * avcodec/flacdsp_template: Fix undefined shift in + flac_decorrelate_indep_c + +------------------------------------------------------------------- +Sat Nov 26 07:30:28 UTC 2016 - aloisio@gmx.com + +- Update to version 3.2.1: + * avcodec/aac_adtstoasc_bsf: validate and forward extradata + if the stream is already ASC + * libopusdec: default to stereo for invalid number of + channels + * sbgdec: prevent NULL pointer access + * rmdec: validate block alignment + * smacker: limit recursion depth of smacker_decode_bigtree + * mxfdec: fix NULL pointer dereference in mxf_read_packet_old + * ffmdec: validate codec parameters + * avformat/mpeg: Adjust vid probe threshold to correct + mis-detection + * avcodec/avpacket: fix leak on realloc in + av_packet_add_side_data() + * avformat/apngenc: use the stream parameters extradata if + available + * ffprobe: fix crash in case -of is specified with an empty + string + * exr: fix out-of-bounds read + * libschroedingerdec: fix leaking of framewithpts + * filmstripdec: correctly check image dimensions + * icodec: fix leaking pkt on error + * dvbsubdec: fix division by zero in compute_default_clut + * escape124: reject codebook size 0 + * mpegts: prevent division by zero + * matroskadec: fix NULL pointer dereference in + webm_dash_manifest_read_header + * mxfdec: fix NULL pointer dereference + * avcodec/mpeg4videodec: Workaround interlaced mpeg4 edge MC + bug + * avcodec/mpegvideo: Fix edge emu buffer overlap with + interlaced mpeg4 + * avcodec/ituh263dec: Avoid spending a long time in slice + sync + * avcodec: Check side data size before use + * avformat/flvdec: Fix regression losing streams + +------------------------------------------------------------------- +Fri Oct 28 22:50:18 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 3.2 +* SDL2 output device and ffplay support +* SDL1 output device and SDL1 support removed +* New: libopenmpt demuxer, fifo muxer, True Audio (TTA) muxer +* New filters: weave, gblur, avgblur, sobel, prewitt, + vaguedenoiser, yuvtestsrc, lut2, hysteresis, maskedclamp, + crystalizer, acrusher, bitplanenoise, sidedata, asidedata +* Non-Local Means (nlmeans) denoising filter +* 16-bit support in curves filter and selectivecolor filter +* Added threads option per filter instance +* The "curves" filter does not automatically insert points at x=0 + and x=1 anymore +* Matroska muxer now writes CRC32 elements by default in all + Level 1 elements +* New "tee" protocol +* VP8 in Ogg muxing +* Floating point support in ALS decoder +* Extended mov edit list support +* Changed mapping of RTP MIME type G726 to codec g726le. +- Drop ffmpeg-fix-CONFIG_VC1DSP-changes.patch + (no longer needed) + +------------------------------------------------------------------- +Fri Oct 28 17:58:28 UTC 2016 - olaf@aepfle.de + +- Enable libfdk_aac if it is available at buildtime + +------------------------------------------------------------------- +Sat Oct 22 07:46:27 UTC 2016 - aloisio@gmx.com + +- Update to version 3.1.5 + * avformat/mxfdec: Check size to avoid integer overflow in + mxf_read_utf16_string() + * avcodec/mpegvideo_enc: Clear mmx state in + ff_mpv_reallocate_putbitbuffer() + * avcodec/utils: Clear MMX state before returning from + avcodec_default_execute*() + * libopenjpegenc: fix out-of-bounds reads when filling the + edges + * libopenjpegenc: stop reusing image data buffer for + openjpeg 2 + * avformat/utils: Update codec_id before using it in the + parser init + * ffmpeg: remove unused and errorneous AVFrame timestamp + check + * Support for MIPS cpu P6600 + * avutil/mips/generic_macros_msa: rename macro variable + which causes segfault for mips r6 + +------------------------------------------------------------------- +Sat Oct 1 11:00:20 UTC 2016 - aloisio@gmx.com + +- Update to version 3.1.4 + * avformat/avidec: Check nb_streams in read_gab2_sub() + * avformat/avidec: Remove ancient assert + * avfilter/vf_colorspace: fix range for output colorspace + option + * lavc/mediacodecdec_h264: fix SODB escaping + * avcodec/nvenc: fix const options for hevc gpu setting + * avformat/avidec: Fix memleak with dv in avi + * lavc/movtextdec.c: Avoid infinite loop on invalid data. + * avcodec/ansi: Check dimensions + * avcodec/cavsdsp: use av_clip_uint8() for idct + * avformat/movenc: Check packet in mov_write_single_packet() + too + * avformat/movenc: Factor check_pkt() out + * avformat/utils: fix timebase error in avformat_seek_file() + * avcodec/g726: Add missing ADDB output mask + * avcodec/avpacket: clear side_data_elems + * avformat/movenc: Check first DTS similar to dts difference + * avcodec/ccaption_dec: Use simple array instead of AVBuffer + * avcodec/svq3: Reintroduce slice_type + * avformat/mov: Fix potential integer overflow in + mov_read_keys + * swscale/swscale_unscaled: Try to fix + Rgb16ToPlanarRgb16Wrapper() with slices + * swscale/swscale_unscaled: Fix packed_16bpc_bswap() with + slices + * avformat/avidec: Fix infinite loop in avi_read_nikon() + * lavf/utils: Avoid an overflow for huge negative durations. + * avformat/hls: Fix handling of EXT-X-BYTERANGE streams over + 2GB + * lavc/avpacket: Fix undefined behaviour, do not pass a null + pointer to memcpy(). + * lavc/mjpegdec: Do not skip reading quantization tables. + * cmdutils: fix implicit declaration of SetDllDirectory + function + +------------------------------------------------------------------- +Mon Aug 29 00:36:30 UTC 2016 - stefan.bruens@rwth-aachen.de + +- Fix linking errors for arm and aarch64 builds, boo#995937 + * Add ffmpeg-fix-CONFIG_VC1DSP-changes.patch + +------------------------------------------------------------------- +Sat Aug 27 06:18:31 UTC 2016 - aloisio@gmx.com + +- Update to version 3.1.3 + * examples/demuxing_decoding: convert to codecpar + * avcodec/exr: Check tile positions + * avcodec/aacenc: Tighter input checks + * avformat/wtvdec: Check pointer before use + * libavcodec/wmalosslessdec: Check the remaining bits + * avcodec/adpcm: Fix adpcm_ima_wav padding + * avcodec/svq3: fix slice size check + * avcodec/diracdec: Check numx/y + * avcodec/h2645_parse: fix nal size + * avcodec/h2645_parse: Use get_nalsize() in + ff_h2645_packet_split() + * h2645_parse: only read avc length code at the correct + position + * h2645_parse: don't overread AnnexB NALs within an avc + stream + * avcodec/h264_parser: Factor get_avc_nalsize() out + * avcodec/cfhd: Increase minimum band dimension to 3 + * avcodec/indeo2: check ctab + * avformat/swfdec: Fix inflate() error code check + * avcodec/rawdec: Fix bits_per_coded_sample checks + * vcodec/h2645_parse: Clear buffer padding + * avcodec/h2645: Fix NAL unit padding + * avfilter/drawutils: Fix single plane with alpha + * cmdutils: check for SetDllDirectory() availability + +------------------------------------------------------------------- +Tue Aug 9 07:34:10 UTC 2016 - aloisio@gmx.com + +- Update to version 3.1.2: + * avcodec/rawdec: Fix palette handling with changing + palettes + * avcodec/raw: Fix decoding of ilacetest.mov + * avformat/mov: Enable mp3 parsing if a packet needs it + * avformat/hls: Sync starting segment across variants on + live streams + * avformat/hls: Fix regression with ranged media segments + * avcodec/ffv1enc: Fix assertion failure with non zero + bits per sample + * avfilter/af_hdcd: small fix in af_hdcd.c where gain was + not being adjusted for "attenuate slowly" + * avformat/oggdec: Fix integer overflow with invalid pts + * libavcodec/dnxhd: Enable 12-bit DNxHR support. + * lavc/vaapi_encode_h26x: Fix a crash if "." is not the + decimal separator. + * avcodec/vp9_parser: Check the input frame sizes for + being consistent + * avformat/flvdec: parse keyframe before a/v stream was + created add_keyframes_index() when stream created or + keyframe parsed + * libavformat/rtpdec_asf: zero initialize the AVIOContext + struct + * libx264: Increase x264 opts character limit to 4096 + * avcodec/h264_parser: Set sps/pps_ref + * librtmp: Avoid an infinite loop setting connection + arguments + * avformat/oggparsevp8: fix pts calculation on pages + ending with an invisible frame + * lavf/vplayerdec: Improve auto-detection. + * lavc/mediacodecdec_h264: properly convert extradata to + annex-b + +------------------------------------------------------------------- +Fri Jul 29 09:25:52 UTC 2016 - jengelh@inai.de + +- Build with netcdf so as to enable af_sofalizer [boo#983398] + +------------------------------------------------------------------- +Fri Jul 1 06:17:49 UTC 2016 - aloisio@gmx.com + +- Update to version 3.1.1 + * doc/APIchanges: document the lavu/lavf field moves + * avformat/avformat: Move new field to the end of AVStream + * avformat/utils: update deprecated AVStream->codec when the context is updated + * avutil/frame: Move new field to the end of AVFrame + * libavcodec/exr : fix decoding piz float file. + * avformat/mov: Check sample size + * lavfi: Move new field to the end of AVFilterContext + * lavfi: Move new field to the end of AVFilterLink + * ffplay: Fix usage of private lavfi API + * lavc/mediacodecdec_h264: add missing NAL headers to SPS/PPS buffers + * lavc/pnm_parser: disable parsing for text based PNMs + +------------------------------------------------------------------- +Mon Jun 27 06:20:03 UTC 2016 - aloisio@gmx.com + +- Update to version 3.1 + * DXVA2-accelerated HEVC Main10 decoding + * fieldhint filter + * loop video filter and aloop audio filter + * Bob Weaver deinterlacing filter + * firequalizer filter + * datascope filter + * bench and abench filters + * ciescope filter + * protocol blacklisting API + * MediaCodec H264 decoding + * VC-2 HQ RTP payload format (draft v1) depacketizer and + packetizer + * VP9 RTP payload format (draft v2) packetizer + * AudioToolbox audio decoders + * AudioToolbox audio encoders + * coreimage filter (GPU based image filtering on OSX) + * libdcadec removed + * bitstream filter for extracting DTS core + * ADPCM IMA DAT4 decoder + * musx demuxer + * aix demuxer + * remap filter + * hash and framehash muxers + * colorspace filter + * hdcd filter + * readvitc filter + * VAAPI-accelerated format conversion and scaling + * libnpp/CUDA-accelerated format conversion and scaling + * Duck TrueMotion 2.0 Real Time decoder + * Wideband Single-bit Data (WSD) demuxer + * VAAPI-accelerated H.264/HEVC/MJPEG encoding + * DTS Express (LBR) decoder + * Generic OpenMAX IL encoder with support for Raspberry Pi + * IFF ANIM demuxer & decoder + * Direct Stream Transfer (DST) decoder + * loudnorm filter + * MTAF demuxer and decoder + * MagicYUV decoder + * OpenExr improvements (tile data and B44/B44A support) + * BitJazz SheerVideo decoder + * CUDA CUVID H264/HEVC decoder + * 10-bit depth support in native utvideo decoder + * libutvideo wrapper removed + * YUY2 Lossless Codec decoder + +- Added minimum requirement for libva (0.35.0, matched by + 1.3.0 package) + +------------------------------------------------------------------- +Tue May 31 08:31:36 UTC 2016 - robert.munteanu@gmail.com + +- Guard usage of opencore using bcond_with, boo#980542 + +------------------------------------------------------------------- +Thu Apr 28 06:29:57 UTC 2016 - aloisio@gmx.com + +- Update to version 3.0.2 + * avcodec/ttaenc: Reallocate packet if its too small + * configure: build fix for P5600 with mips code restructuring + * mips: add support for R6 + * pgssubdec: fix subpicture output colorspace and range + * avcodec/ac3dec: Reset SPX when switching from EAC3 to AC3 + * avfilter/vf_drawtext: Check return code of load_glyph() + * avformat/mux: Check that deinit is set before calling it + * avcodec/takdec: add code that got somehow lost in process of + REing + * avcodec/apedec: fix decoding of stereo files with one + channel full of silence + * avcodec/avpacket: Fix off by 5 error + * avcodec/h264: Fix for H.264 configuration parsing + * avcodec/bmp_parser: Ensure remaining_size is not too small + in startcode packet crossing corner case + * avcodec/pngdec: Fix alpha detection with skip_frame + * Changelog: Make formating consistent + * avfilter/src_movie: fix how we check for overflows with + seek_point + * avcodec/j2kenc: Add attribution to OpenJPEG project: + +- Dropped dcadec (libdca was merged upstream) + +------------------------------------------------------------------- +Mon Apr 25 06:39:32 UTC 2016 - jengelh@inai.de + +- Add ffmpeg-codec-choice.diff + +------------------------------------------------------------------- +Sun Apr 17 22:13:21 UTC 2016 - olaf@aepfle.de + +- Remove ffmpeg-devel subpackage. + All users have been converted to pkgconfig + Add Provides/Obsoletes to libavdevice-devel + +------------------------------------------------------------------- +Sun Apr 10 21:51:14 UTC 2016 - jengelh@inai.de + +- Add ffmpeg-new-coder-errors.diff + +------------------------------------------------------------------- +Wed Apr 6 18:57:05 UTC 2016 - jengelh@inai.de + +- Another try at organizing the codec-enable list. + Enable video: AYUV, Dirac, MJPEG, rawvideo, Theora, VP8, VP9, WebP, + zlib + Enable audio: Celt, GSM, Opus, Speex, Vorbis + Enable subtitle: ASS/SSA text, SRT text, UTF-8 plaintext + +------------------------------------------------------------------- +Wed Mar 30 00:47:30 UTC 2016 - jengelh@inai.de + +- Update to new maintenance release 3.0.1 +* vc2enc: fix use of uninitialized variables in the rate control + system +* postproc: fix an unaligned access +* lavc/hevc: Allow arbitrary garbage in bytestream as long as at + least one NAL unit is found. + +------------------------------------------------------------------- +Tue Feb 16 16:36:09 UTC 2016 - olaf@aepfle.de + +- Update included pkgconfig files to require the exact version + of ffmpeg pc files, instead of any later version + ffmpeg-pkgconfig-version.patch + +------------------------------------------------------------------- +Mon Feb 15 12:57:55 UTC 2016 - idonmez@suse.com + +- Remove the optional vo-aacenc dependency, upstream removed it. + +------------------------------------------------------------------- +Mon Feb 15 11:54:46 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 3.0 +* New filters: extrastereo, ocr, alimiter, stereowiden, stereotools, + rubberband, tremolo, agate, chromakey, displace, and many more. +* ffplay dynamic volume control +* audio high-order multiband parametric equalizer +* automatic bitstream filtering + +------------------------------------------------------------------- +Tue Feb 2 18:24:15 UTC 2016 - aloisio@gmx.com + +- Update to version 2.8.6 + * avcodec/jpeg2000dec: More completely check cdef + * avutil/opt: check for and handle errors in av_opt_set_dict2() + * avcodec/flacenc: fix calculation of bits required in case + of custom sample rate + * avformat: Document urls a bit + * avformat/libquvi: Set default demuxer and protocol + limitations + * avformat/concat: Check protocol prefix + * doc/demuxers: Document enable_drefs and use_absolute_path + * avcodec/mjpegdec: Check for end for both bytes in unescaping + * avcodec/mpegvideo_enc: Check for integer overflow in + ff_mpv_reallocate_putbitbuffer() + * avformat/avformat: Replace some references to filenames by + urls + * avcodec/wmaenc: Check ff_wma_init() for failure + * avcodec/mpeg12enc: Move high resolution thread check to + before initializing threads + * avformat/img2dec: Use AVOpenCallback + * avformat/avio: Limit url option parsing to the documented + cases + * avformat/img2dec: do not interpret the filename by default + if a IO context has been opened + * avcodec/ass_split: Fix null pointer dereference in + ff_ass_style_get() + * mov: Add an option to toggle dref opening + * avcodec/gif: Fix lzw buffer size + * avcodec/put_bits: Assert buf_ptr in flush_put_bits() + * avcodec/tiff: Check subsample & rps values more completely + * swscale/swscale: Add some sanity checks for srcSlice* + parameters + * swscale/x86/rgb2rgb_template: Fix planar2x() for short + width + * swscale/swscale_unscaled: Fix odd height inputs for + bayer_to_yv12_wrapper() + * swscale/swscale_unscaled: Fix odd height inputs for + bayer_to_rgb24_wrapper() + * avcodec/aacenc: Check both channels for finiteness + * asfdec_o: check for too small size in asf_read_unknown + * asfdec_o: break if EOF is reached after + asf_read_packet_header + * asfdec_o: make sure packet_size is non-zero before seeking + * asfdec_o: prevent overflow causing seekback + * asfdec_o: check avio_skip in asf_read_simple_index + * asfdec_o: reject size > INT64_MAX in asf_read_unknown + * asfdec_o: only set asf_pkt->data_size after sanity checks + * Merge commit '8375dc1dd101d51baa430f34c0bcadfa37873896' + * dca: fix misaligned access in avpriv_dca_convert_bitstream + * brstm: fix missing closing brace + * brstm: also allocate b->table in read_packet + * brstm: make sure an ADPC chunk was read for adpcm_thp + * vorbisdec: reject rangebits 0 with non-0 partitions + * vorbisdec: reject channel mapping with less than two + channels + * ffmdec: reset packet_end in case of failure + * avformat/ipmovie: put video decoding_map_size into packet + and use it in decoder + * avformat/brstm: fix overflow + +------------------------------------------------------------------- +Sun Jan 17 09:45:29 UTC 2016 - idonmez@suse.com + +- Update to version 2.8.5 +* Fixes CVE-2016-1897 and CVE-2016-1898 [boo#961937] + +------------------------------------------------------------------- +Mon Dec 28 13:51:18 UTC 2015 - idonmez@suse.com + +- Update to version 2.8.4 +* Many bugfixes, see the included Changelog for all the changes. +* resolving CVE-2015-8661 [boo#960385], CVE-2015-8662 [boo#960384], + CVE-2015-8663 [boo#960383] +- Drop ffmpeg-remove_some_unused_ctrl_id_mappings.patch, fixed + upstream. + +------------------------------------------------------------------- +Tue Dec 22 09:14:58 UTC 2015 - olaf@aepfle.de + +- Obsolete ffmpeg-tools from packman + +------------------------------------------------------------------- +Mon Dec 21 12:37:05 UTC 2015 - jengelh@inai.de + +- Add some provides to make it easier for firefox to recommend + this package for installation + +------------------------------------------------------------------- +Sat Dec 19 13:05:31 UTC 2015 - joerg.lorenzen@ki.tng.de + +- Added patch ffmpeg-remove_some_unused_ctrl_id_mappings.patch to + successfully build against libvpx >= 1.5 (at least on PMBS). + +------------------------------------------------------------------- +Thu Dec 17 07:04:14 UTC 2015 - olaf@aepfle.de + +- Add buildconditionals for libass,libva,vdpau to fix build in SLE_11 + +------------------------------------------------------------------- +Mon Dec 14 11:05:46 UTC 2015 - olaf@aepfle.de + +- Rename bcond dca to dcadec +- Add more buildconditionals to get closer to removal of BUILD_ORIG + +------------------------------------------------------------------- +Wed Dec 9 13:23:44 UTC 2015 - olaf@aepfle.de + +- Remove unused imlib2 + +------------------------------------------------------------------- +Mon Dec 7 12:18:36 UTC 2015 - idonmez@suse.com + +- Sync with packman changes + * All packman specific changes are protected with BUILD_ORIG +- Added the following patches + * ffmpeg-2.4.5-arm6l.patch + * ffmpeg-libcdio_cdda-pkgconfig.patch + +------------------------------------------------------------------- +Sun Nov 29 11:24:54 UTC 2015 - jengelh@inai.de + +- Update to new upstream maintenance release 2.8.3 +* avformat/matroskadec: Check subtitle stream before dereferencing +* avcodec/jpeg2000dec: Fix potential integer overflow with tile + dimensions +* avcodec/jpeg2000dec: Check for duplicate SIZ marker +* avcodec/jpeg2000: Change coord to 32bit to support larger than + 32k width or height +* avcodec/jpeg2000dec: Check SIZ dimensions to be within the + supported range +* avcodec/jpeg2000: Check comp coords to be within the supported + size +* dds: validate compressed source buffer size +* dds: validate source buffer size before copying +* softfloat: assert when the argument of av_sqrt_sf is negative +- Fixes CVE-2015-8363 [bnc#957114], CVE-2015-8364 [bnc#957115], + CVE-2015-8365 [bnc#957116] + +------------------------------------------------------------------- +Sat Nov 14 06:46:13 UTC 2015 - idonmez@suse.com + +- Update to new upstream release 2.8.2, containing fixes for the + following security issues: + * CVE-2015-8216 boo#955346 + * CVE-2015-8217 boo#955347 + * CVE-2015-8218 boo#955348 + * CVE-2015-8219 boo#955350 +- Upstream changes: + * various fixes in the aac_fixed decoder + * various fixes in softfloat + * swresample/resample: increase precision for compensation + * lavf/mov: add support for sidx fragment indexes + * avformat/mxfenc: Only store user comment related tags when needed + * ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format. + * apng: use correct size for output buffer + * jvdec: avoid unsigned overflow in comparison + * avcodec/jpeg2000dec: Clip all tile coordinates + * avcodec/microdvddec: Check for string end in 'P' case + * avcodec/dirac_parser: Fix undefined memcpy() use + * avformat/xmv: Discard remainder of packet on error + * avformat/xmv: factor return check out of if/else + * avcodec/mpeg12dec: Do not call show_bits() with invalid bits + * avcodec/faxcompr: Add missing runs check in decode_uncompressed() + * libavutil/channel_layout: Check strtol*() for failure + * avformat/mpegts: Only start probing data streams within probe_packets + * avcodec/hevc_ps: Check chroma_format_idc + * avcodec/ffv1dec: Check for 0 quant tables + * avcodec/mjpegdec: Reinitialize IDCT on BPP changes + * avcodec/mjpegdec: Check index in ljpeg_decode_yuv_scan() before using it + * avcodec/h264_slice: Disable slice threads if there are multiple access units in a packet + * avformat/hls: update cookies on setcookie response + * opusdec: Don't run vector_fmul_scalar on zero length arrays + * avcodec/opusdec: Fix extra samples read index + * avcodec/ffv1: Initialize vlc_state on allocation + * avcodec/ffv1dec: update progress in case of broken pointer chains + * avcodec/ffv1dec: Clear slice coordinates if they are invalid or slice header decoding fails for other reasons + * rtsp: Allow $ as interleaved packet indicator before a complete response header + * videodsp: don't overread edges in vfix3 emu_edge. + * avformat/mp3dec: improve junk skipping heuristic + * concatdec: fix file_start_time calculation regression + * avcodec: loongson optimize h264dsp idct and loop filter with mmi + * avcodec/jpeg2000dec: Clear properties in jpeg2000_dec_cleanup() too + * avformat/hls: add support for EXT-X-MAP + * avformat/hls: fix segment selection regression on track changes of live streams + * configure: Require libkvazaar < 0.7. + * avcodec/vp8: Do not use num_coeff_partitions in thread/buffer setup +- Drop ffmpeg-mov-sidx-fragment.patch, fixed upstream. + +------------------------------------------------------------------- +Sat Oct 31 11:00:43 UTC 2015 - idonmez@suse.com + +- Update to new upstream release 2.8.1 + * Minor bugfix release + * Includes all changes from. Ffmpeg-mt, + libav master of 2015-08-28, libav 11 as of 2015-08-28 +- Add ffmpeg-mov-sidx-fragment.patch to add sidx fragment indexes. + Needed for new mpv release. + +------------------------------------------------------------------- +Wed Sep 9 08:11:24 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.8 +* DirectDraw Surface image/texture decoder +* Many improvements to the JPEG 2000 decoder +* New video filters: colorkey, SSIM, showvolume, adrawgraph, + drawgraph, removegrain, erosion, dilation, deflate, inflate, + reverse, atadenoise, aphasemeter, showfreqs, vectorscope, + waveform, hstack, vstack, framerate +* New audio filters: Dynamic Audio Normalizer as dynaudnorm + filter, areverse, random, deband, sidechaincompress, + acrossfade +* allyuv and allrgb video sources +* Switched default encoders for webm to VP9 and Opus +* Removed experimental flag from the JPEG 2000 encoder + +------------------------------------------------------------------- +Mon Jul 20 09:30:19 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.7.2 +- webp: fix infinite loop in webp_decode_frame +- huffyuvdec: validate image size +- avcodec/vp8: Check buffer size in vp8_decode_frame_header() +- avcodec/vp8: Fix null pointer dereference in ff_vp8_decode_free() +- avutil/fifo: Fix the case where func() returns less bytes than + requested in av_fifo_generic_write() +- bytestream2: set the reader to the end when reading more than + available +- oggparsedirac: check return value of init_get_bits +- vp9/update_prob: prevent out of bounds table read +- avcodec/pngdec: Check values before updating context in + decode_fctl_chunk() +- avcodec/pngdec: Copy IHDR & plte state from last thread +- avcodec/pngdec: Require a IHDR chunk before fctl +- avcodec/pngdec: Only allow one IHDR chunk +- ffmpeg: Do not use the data/size of a bitstream filter + after failure + +------------------------------------------------------------------- +Thu Jun 25 20:11:32 UTC 2015 - jengelh@inai.de + +- Enable codecs for audio: PCM, Speex, CELT, FLAC, ILBC, Opus +- Enable codecs for image: BMP/PCX/TGA, TIFF, Sun/SGI/X11 raster + raw Huff-compressed or uncompressed YUV +- Update to new upstream release 2.7.1 +* postproc: fix unaligned access +* avcodec/flacenc: Fix Invalid Rice order +* tls_gnutls: fix hang on disconnection +* avcodec/ffv1enc: fix bps for >8bit yuv when not explicitly set +* avio: fix potential crashes when combining ffio_ensure_seekback + crc +* ffmpeg_opt: Check for localtime() failure +* configure: Disable VSX on unspecified / generic CPUs + +------------------------------------------------------------------- +Thu Jun 25 17:48:19 UTC 2015 - develop7@develop7.info + +- Enabled 'bluray' protocol + +------------------------------------------------------------------- +Wed Jun 10 22:41:20 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.7 +* New encoders: apng (PNG with alpha) +* New decoders: TDSC (a JPEG/BGR24/zlib format) +* New audio filters: chorus +* New video filters: cover_rect, detelecine, fftfilt, find_rect +- Enable codecs: 012v, ansi, apng, bmp, exr, ffv1, ffvhuff +* unpack DivX-style packed B-frames in MPEG-4 bitstream filter +* WebM Live Chunk Muxer +* nvenc level and tier options +- Canopus HQ/HQA decoder +- Automatically rotate videos based on metadata in ffmpeg +- improved Quickdraw compatibility +- VP9 high bit-depth and extended colorspaces decoding support +- WebPAnimEncoder API when available for encoding and muxing WebP +- Direct3D11-accelerated decoding +- Support Secure Transport +- Multipart JPEG demuxer + +------------------------------------------------------------------- +Sat May 23 21:33:34 UTC 2015 - robert.munteanu@gmail.com + +- Fix building with BUILD_ORIG + +------------------------------------------------------------------- +Sun May 17 16:55:42 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.6.3 +* avcodec/libtheoraenc: Check for av_malloc failure +* ffmpeg_opt: Fix -timestamp parsing +* avcodec/cavsdec: Use ff_set_dimensions() +* swr: fix alignment issue caused by 8ch sse functions +* avcodec/mjpegdec: fix len computation in ff_mjpeg_decode_dqt() +* avformat/matroskadec: Cleanup error handling for bz2 & zlib +* avformat/matroskaenc: Check ff_vorbiscomment_length in + put_flac_codecpriv() +* avcodec/mpeg12dec: use the correct dimensions for checking SAR +* xcbgrab: Validate the capture area +* xcbgrab: Do not assume the non shm image data is always available +* avfilter/lavfutils: disable frame threads when decoding a single + image +* ffmpeg: remove incorrect network deinit +* OpenCL: Avoid potential buffer overflow in cmdutils_opencl.c +* libvpxenc: only set noise reduction w/vp8 +* vp9: remove another optimization branch in iadst16 which causes + overflows. +* network: Do not leave context locked on error +* vp9: remove one optimization branch in iadst16 which causes + overflows. +* swresample: Allow reinitialization without ever setting channel + layouts/counts +* imgutils: initialize palette padding bytes in av_image_alloc +* id3v2: catch avio_read errors in check_tag +* avi: Validate sample_size +* diracdec: avoid overflow of bytes*8 in decode_lowdelay +* diracdec: prevent overflow in data_unit_size check +* matroskadec: use uint64_t instead of int for index_scale +* pngdec: don't use AV_PIX_FMT_MONOBLACK for apng +* pngdec: return correct error code from decode_frame_common +* swscale/ppc/swscale_altivec.c: POWER LE support in yuv2planeX_8() + delete macro GET_VF() it was wrong +* matroskadec: export cover art correctly +* mxfenc: don't try to write footer without header +- Enable building avresample for extra API compat +- Remove ffmpeg-pkgconfig-requires.diff: RPM's pkgconfigdeps.sh is + scanning Requires.private too. + +------------------------------------------------------------------- +Mon May 11 07:28:10 UTC 2015 - dimstar@opensuse.org + +- Add baselibs.conf: provide -32bit libraries (used by xine-32bit). + +------------------------------------------------------------------- +Mon Apr 13 08:18:11 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.6.2 +* avformat/utils: avoid discarded streams in + av_find_default_stream_index() +* avutil/cpu: add missing check for mmxext to av_force_cpu_flags +* avformat/http: replace cookies with updated values instead of + appending forever + +------------------------------------------------------------------- +Thu Mar 19 17:58:35 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.6.1 +* Maintenance release with some bugfixes + +------------------------------------------------------------------- +Sun Mar 8 09:17:15 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.6 +* The VP9 decoder is now usable on x86(-32) and pre-SSSE3 CPUs. +* 10-bit support in the SPP video filter +* New video filters: "colorlevels", "tblend", "palettegen", + "paletteuse". New audio filters: "dcshift". +* The old libmpcodecs wrapper is finally gone +* API changes: introduction of device inputs and outputs + +------------------------------------------------------------------- +Tue Jan 27 22:22:42 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.5.3 +* AVFoundation screen-grabbing support, animated WebP decoding + support, and Animated PNG support. UDP-Lite support was added. + +------------------------------------------------------------------- +Sun Jan 4 17:32:48 UTC 2015 - jengelh@inai.de + +- Initial package (version 2.5.3) for build.opensuse.org diff --git a/ffmpeg-4.spec b/ffmpeg-4.spec new file mode 100644 index 0000000..fd8cc69 --- /dev/null +++ b/ffmpeg-4.spec @@ -0,0 +1,789 @@ +# +# spec file for package ffmpeg-4 +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +# Create proper conflicts to make sure we require all from one version +# p: Conflict string, eg if you need them all for requires instead +# Default value Conflicts: +# c: copmare string ie "<" or ">=", must be defined +# v: version string ie. "< 42.3.4" or ">= 15.0.2.1", must be defined +%define devel_conflicts(p:c:v:) \ +%define preamble_string %{-p:%{-p*}}%{!-p:Conflicts:} \ +%define comparator %{-c:%{-c*}}%{!-c:%{error:Comparator not defined}} \ +%define conflicts_version %{-v:%{-v*}}%{!-v:%{error:Version not defined}} \ +\ +%{preamble_string} libavcodec-devel %{comparator} %{conflicts_version} \ +%{preamble_string} libavdevice-devel %{comparator} %{conflicts_version} \ +%{preamble_string} libavfilter-devel %{comparator} %{conflicts_version} \ +%{preamble_string} libavformat-devel %{comparator} %{conflicts_version} \ +%{preamble_string} libavresample-devel %{comparator} %{conflicts_version} \ +%{preamble_string} libavutil-devel %{comparator} %{conflicts_version} \ +%{preamble_string} libpostproc-devel %{comparator} %{conflicts_version} \ +%{preamble_string} libswresample-devel %{comparator} %{conflicts_version} \ +%{preamble_string} libswscale-devel %{comparator} %{conflicts_version} \ +%{preamble_string} ffmpeg-private-devel %{comparator} %{conflicts_version} \ +%{nil} + +%if 0%{?BUILD_ORIG} +%bcond_without nvidia +%else +%bcond_with nvidia +%endif +%bcond_with fdk_aac +%bcond_with librtmp +%bcond_with opencore +%bcond_with x264 +%bcond_with x265 +%bcond_with xvid + +# Full build or just support package on older codestream +%bcond_without full_build + +%if 0%{?suse_version} > 1500 +%bcond_without mysofa +%bcond_without vidstab +%bcond_without srt +%else +%bcond_with mysofa +%bcond_with vidstab +%bcond_with srt +%endif + +%if 0%{?suse_version} >= 1500 +%bcond_without zimg +%bcond_without openmpt +%else +%bcond_with zimg +%bcond_with openmpt +%endif + +%define _name ffmpeg +%define _major_version 4 +%define _major_expected 5 +Name: ffmpeg-4 +Version: 4.0.1 +Release: 0 +Summary: Library for working with various multimedia formats +License: LGPL-2.1-or-later AND GPL-2.0-or-later +Group: Productivity/Multimedia/Video/Editors and Convertors +Url: https://ffmpeg.org/ + +#Freshcode-URL: http://freshcode.club/projects/ffmpeg +#Git-Clone: git://source.ffmpeg.org/ffmpeg +Source: https://www.ffmpeg.org/releases/%_name-%version.tar.xz +Source2: https://www.ffmpeg.org/releases/%_name-%version.tar.xz.asc +Source3: ffmpeg-rpmlintrc +Source4: enable_decoders +Source5: enable_encoders +Source99: baselibs.conf +Patch1: ffmpeg-libcdio_cdda-pkgconfig.patch +Patch2: ffmpeg-arm6l.diff +Patch3: ffmpeg-new-coder-errors.diff +Patch4: ffmpeg-codec-choice.diff +Patch5: cve-2017-17555.diff +BuildRequires: ladspa-devel +BuildRequires: libgsm-devel +BuildRequires: libmp3lame-devel +%if %{with mysofa} +BuildRequires: libmysofa-devel +%endif +BuildRequires: nasm +BuildRequires: pkg-config +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(celt) >= 0.11.0 +BuildRequires: pkgconfig(codec2) +BuildRequires: pkgconfig(enca) +BuildRequires: pkgconfig(fontconfig) >= 2.4.2 +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(fribidi) >= 0.19.0 +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(jack) +BuildRequires: pkgconfig(libass) +BuildRequires: pkgconfig(libbluray) +BuildRequires: pkgconfig(libbs2b) +BuildRequires: pkgconfig(libcdio) +BuildRequires: pkgconfig(libcdio_paranoia) +BuildRequires: pkgconfig(libdc1394-2) +BuildRequires: pkgconfig(libgme) +BuildRequires: pkgconfig(liboil-0.3) >= 0.3.15 +BuildRequires: pkgconfig(libopenjp2) >= 2.1.0 +BuildRequires: pkgconfig(libopenjpeg) +%if %{with openmpt} +BuildRequires: pkgconfig(libopenmpt) +%endif +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(libraw1394) +BuildRequires: pkgconfig(libssh) +BuildRequires: pkgconfig(libv4l2) +BuildRequires: pkgconfig(libva) >= 0.35.0 +BuildRequires: pkgconfig(libwebp) >= 0.4 +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(libzmq) +BuildRequires: pkgconfig(lilv-0) +BuildRequires: pkgconfig(ogg) +BuildRequires: pkgconfig(opus) +BuildRequires: pkgconfig(rubberband) +BuildRequires: pkgconfig(sdl2) +BuildRequires: pkgconfig(soxr) +BuildRequires: pkgconfig(speex) +%if %{with srt} +BuildRequires: pkgconfig(srt) +%endif +BuildRequires: pkgconfig(theora) >= 1.1 +BuildRequires: pkgconfig(twolame) +BuildRequires: pkgconfig(vdpau) +%if %{with vidstab} +BuildRequires: pkgconfig(vidstab) >= 0.98 +%endif +BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(vpx) >= 1.4.0 +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcb-render) +BuildRequires: pkgconfig(xcb-shape) +BuildRequires: pkgconfig(xcb-shm) +BuildRequires: pkgconfig(xcb-xfixes) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xfixes) +%if %{with zimg} +BuildRequires: pkgconfig(zimg) +%endif +BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(zvbi-0.2) >= 0.2.28 +%if %{with fdk_aac} +BuildRequires: pkgconfig(fdk-aac) +%endif +%if %{with librtmp} +BuildRequires: pkgconfig(librtmp) +%endif +%if %{with nvidia} +BuildRequires: pkgconfig(ffnvcodec) +%endif +%if %{with xvid} +BuildRequires: libxvidcore-devel +%endif +%if %{with opencore} +BuildRequires: pkgconfig(opencore-amrnb) +%endif +%if %{with x264} +BuildRequires: pkgconfig(x264) +%endif +%if %{with x265} +BuildRequires: pkgconfig(x265) +%endif +Provides: ffmpeg-tools = %{version} +Obsoletes: ffmpeg-tools < %{version} +Provides: ffmpeg = %version +Obsoletes: ffmpeg < %version +Requires: libavcodec58 = %version-%release +Requires: libavdevice58 = %version-%release +Requires: libavfilter7 = %version-%release +Requires: libavformat58 = %version-%release +Requires: libavresample4 = %version-%release +Requires: libavutil56 = %version-%release +Requires: libpostproc55 = %version-%release +Requires: libswresample3 = %version-%release +Requires: libswscale5 = %version-%release + +%description +FFmpeg is a multimedia framework, able to decode, encode, +transcode, mux, demux, stream, filter and play several formats +that humans and machines have created. +%if !0%{?BUILD_ORIG} + +This build of ffmpeg is limited in the number of codecs supported. +%endif + +%package -n libavcodec58 +Summary: FFmpeg codec library +# For mozillas +Group: System/Libraries +Requires: libavutil56 = %version-%release +Requires: libswresample3 = %version-%release +Provides: libavcodec = %version-%release +%if 0%{?BUILD_ORIG} +Provides: libavcodec-full = %version-%release +# This can be required by packages likes vlc-codecs - following the shlib name to not get random lib providers +Provides: libavcodec58(unrestricted) +%endif + +%description -n libavcodec58 +The libavcodec library provides a generic encoding/decoding framework +and contains multiple decoders and encoders for audio, video and +subtitle streams, and several bitstream filters. +%if !0%{?BUILD_ORIG} + +This build of ffmpeg is limited in the number of codecs supported. +%endif + +%package libavcodec-devel +Summary: Development files for FFmpeg's codec library +Group: Development/Libraries/C and C++ +Provides: libavcodec-devel = %version-%release +Conflicts: libavcodec-devel +Requires: %{name}-libavresample-devel = %version-%release +Requires: %{name}-libavutil-devel = %version-%release +Requires: libavcodec58 = %version-%release +%devel_conflicts -c < -v %{_major_version} +%devel_conflicts -c >= -v %{_major_expected} + +%description libavcodec-devel +The libavcodec library provides a generic encoding/decoding framework +and contains multiple decoders and encoders for audio, video and +subtitle streams, and several bitstream filters. + +This subpackage contains the headers for FFmpeg libavcodec. + +%package -n libavdevice58 +Summary: FFmpeg device library +Group: System/Libraries +Requires: libavcodec58 = %version-%release +Requires: libavfilter7 = %version-%release +Requires: libavformat58 = %version-%release +Requires: libavutil56 = %version-%release + +%description -n libavdevice58 +The libavdevice library provides a generic framework for grabbing from +and rendering to many common multimedia input/output devices, and +supports several input and output devices, including Video4Linux2, VfW, +DShow, and ALSA. + +%package libavdevice-devel +Summary: Development files for FFmpeg's device library +Group: Development/Libraries/C and C++ +Provides: ffmpeg-devel = %version-%release +Conflicts: ffmpeg-devel +Provides: libavdevice-devel = %version-%release +Conflicts: libavdevice-devel +Requires: %{name}-libavcodec-devel = %version-%release +Requires: %{name}-libavfilter-devel = %version-%release +Requires: %{name}-libavformat-devel = %version-%release +Requires: %{name}-libavresample-devel = %version-%release +Requires: %{name}-libavutil-devel = %version-%release +Requires: %{name}-libpostproc-devel = %version-%release +Requires: %{name}-libswresample-devel = %version-%release +Requires: %{name}-libswscale-devel = %version-%release +Requires: libavdevice58 = %version-%release +%devel_conflicts -c < -v %{_major_version} +%devel_conflicts -c >= -v %{_major_expected} + +%description libavdevice-devel +The libavdevice library provides a generic framework for grabbing from +and rendering to many common multimedia input/output devices, and +supports several input and output devices, including Video4Linux2, VfW, +DShow, and ALSA. + +This subpackage contains the headers for FFmpeg libavcodec. + +%package -n libavfilter7 +Summary: FFmpeg audio and video filtering library +Group: System/Libraries +Requires: libavcodec58 = %version-%release +Requires: libavformat58 = %version-%release +Requires: libavresample4 = %version-%release +Requires: libavutil56 = %version-%release +Requires: libpostproc55 = %version-%release +Requires: libswresample3 = %version-%release +Requires: libswscale5 = %version-%release + +%description -n libavfilter7 +The libavfilter library provides a generic audio/video filtering +framework containing several filters, sources and sinks. + +%package libavfilter-devel +Summary: Development files for FFmpeg's audio/video filter library +Group: Development/Libraries/C and C++ +Provides: libavfilter-devel = %version-%release +Conflicts: libavfilter-devel +Requires: %{name}-libavcodec-devel = %version-%release +Requires: %{name}-libavformat-devel = %version-%release +Requires: %{name}-libavresample-devel = %version-%release +Requires: %{name}-libavutil-devel = %version-%release +Requires: %{name}-libpostproc-devel = %version-%release +Requires: %{name}-libswresample-devel = %version-%release +Requires: %{name}-libswscale-devel = %version-%release +Requires: libavfilter7 = %version-%release +%devel_conflicts -c < -v %{_major_version} +%devel_conflicts -c >= -v %{_major_expected} + +%description libavfilter-devel +The libavfilter library provides a generic audio/video filtering +framework containing several filters, sources and sinks. + +This subpackage contains the headers for FFmpeg libavfilter. + +%package -n libavformat58 +Summary: FFmpeg's stream format library +Group: System/Libraries +Requires: libavcodec58 = %version-%release +Requires: libavutil56 = %version-%release + +%description -n libavformat58 +The libavformat library provides a generic framework for multiplexing +and demultiplexing (muxing and demuxing) audio, video and subtitle +streams. It encompasses multiple muxers and demuxers for multimedia +container formats. +%if !0%{?BUILD_ORIG} + +This build of ffmpeg is limited in the number of codecs supported. +%endif + +%package libavformat-devel +Summary: Development files for FFmpeg's stream format library +Group: Development/Libraries/C and C++ +Provides: libavformat-devel = %version-%release +Conflicts: libavformat-devel +Requires: %{name}-libavcodec-devel = %version-%release +Requires: %{name}-libavutil-devel = %version-%release +Requires: %{name}-libswresample-devel = %version-%release +Requires: libavformat58 = %version-%release +%devel_conflicts -c < -v %{_major_version} +%devel_conflicts -c >= -v %{_major_expected} + +%description libavformat-devel +The libavformat library provides a generic framework for multiplexing +and demultiplexing (muxing and demuxing) audio, video and subtitle +streams. It encompasses multiple muxers and demuxers for multimedia +container formats. + +This subpackage contains the headers for FFmpeg libavformat. + +%package -n libavresample4 +Summary: FFmpeg alternate audio resampling library +Group: System/Libraries +Requires: libavutil56 = %version-%release + +%description -n libavresample4 +An audio resampling library that is being provided for drop-in +compatibility with libav. + +It is advised to use libswresample for new code. + +%package libavresample-devel +Summary: Development files for libavresample as present in FFmpeg +Group: Development/Libraries/C and C++ +Provides: libavresample-devel = %version-%release +Conflicts: libavresample-devel +Requires: %{name}-libavutil-devel = %version-%release +Requires: libavresample4 = %version-%release +%devel_conflicts -c < -v %{_major_version} +%devel_conflicts -c >= -v %{_major_expected} + +%description libavresample-devel +An audio resampling library that is being provided for drop-in +compatibility with libav. + +It is advised to use libswresample for new code. + +This subpackage contains the headers for FFmpeg's copy of libavresample. + +%package -n libavutil56 +Summary: FFmpeg's utility library +Group: System/Libraries + +%description -n libavutil56 +The libavutil library is a utility library to aid portable multimedia +programming. It contains safe portable string functions, random +number generators, data structures, additional mathematics functions, +cryptography and multimedia related functionality (like enumerations +for pixel and sample formats). + +%package libavutil-devel +Summary: Development files for FFmpeg's utility library +Group: Development/Libraries/C and C++ +Provides: libavutil-devel = %version-%release +Conflicts: libavutil-devel +Requires: libavutil56 = %version-%release +%devel_conflicts -c < -v %{_major_version} +%devel_conflicts -c >= -v %{_major_expected} + +%description libavutil-devel +The libavutil library is a utility library to aid portable multimedia +programming. It contains safe portable string functions, random +number generators, data structures, additional mathematics functions, +cryptography and multimedia related functionality (like enumerations +for pixel and sample formats). + +This subpackage contains the headers for FFmpeg libavutil. + +%package -n libpostproc55 +Summary: FFmpeg post-processing library +Group: System/Libraries +Requires: libavutil56 = %version-%release + +%description -n libpostproc55 +A library with video postprocessing filters, such as deblocking and +deringing filters, noise reduction, automatic contrast and brightness +correction, linear/cubic interpolating deinterlacing. + +%package libpostproc-devel +Summary: Development files for the FFmpeg post-processing library +Group: Development/Libraries/C and C++ +Provides: libpostproc-devel = %version-%release +Conflicts: libpostproc-devel +Requires: %{name}-libavutil-devel = %version-%release +Requires: libpostproc55 = %version-%release +%devel_conflicts -c < -v %{_major_version} +%devel_conflicts -c >= -v %{_major_expected} + +%description libpostproc-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 libswresample3 +Summary: FFmpeg software resampling library +Group: System/Libraries +Requires: libavutil56 = %version-%release + +%description -n libswresample3 +The libswresample library performs audio conversion between different +sample rates, channel layout and channel formats. + +%package libswresample-devel +Summary: Development files for the FFmpeg software resampling library +Group: Development/Libraries/C and C++ +Provides: libsvresample-devel = %version-%release +Conflicts: libswresample-devel +Requires: %{name}-libavutil-devel = %version-%release +Requires: libswresample3 = %version-%release +%devel_conflicts -c < -v %{_major_version} +%devel_conflicts -c >= -v %{_major_expected} + +%description libswresample-devel +The libswresample library performs audio conversion between different +sample rates, channel layout and channel formats. + +This subpackage contains the headers for FFmpeg libswresample. + +%package -n libswscale5 +Summary: FFmpeg image scaling and colorspace/pixel conversion library +Group: System/Libraries +Requires: libavutil56 = %version-%release + +%description -n libswscale5 +The libswscale library performs image scaling and colorspace and +pixel format conversion operations. + +%package libswscale-devel +Summary: Development files for FFmpeg's image scaling and colorspace library +Group: Development/Libraries/C and C++ +Provides: libswscale-devel = %version-%release +Conflicts: libswscale-devel +Requires: %{name}-libavutil-devel = %version-%release +Requires: libswscale5 = %version-%release +%devel_conflicts -c < -v %{_major_version} +%devel_conflicts -c >= -v %{_major_expected} + +%description libswscale-devel +The libswscale library performs image scaling and colorspace and +pixel format conversion operations. + +This subpackage contains the headers for FFmpeg libswscale. + +%package private-devel +Summary: Some FFmpeg private headers +Group: Development/Libraries/C and C++ +Requires: %{name}-libavcodec-devel = %version-%release +Requires: %{name}-libavformat-devel = %version-%release +Requires: %{name}-libavutil-devel = %version-%release +Provides: ffmpeg-private-devel = %version +Conflicts: ffmpeg-private-devel +%devel_conflicts -c < -v %{_major_version} +%devel_conflicts -c >= -v %{_major_expected} + +%description private-devel +FFmpeg is a multimedia framework, able to decode, encode, +transcode, mux, demux, stream, filter and play several formats +that humans and machines have created. + +This package contains some private headers for libavformat, libavcodec and +libavutil which are needed by libav-tools to build. No other package apart +from libav should depend on these private headers which are expected to +break compatibility without any notice. + +%prep +%setup -q -n %_name-%version +%autopatch -p1 + +%build +CFLAGS="%optflags" \ +./configure \ + --prefix="%_prefix" \ + --libdir="%_libdir" \ + --shlibdir="%_libdir" \ + --incdir="%_includedir/ffmpeg" \ + --extra-cflags="%optflags" \ + --optflags="%optflags" \ + --disable-htmlpages \ + --enable-pic \ + --disable-stripping \ + --enable-shared \ + --disable-static \ + --enable-gpl \ + --disable-openssl \ + --enable-avresample \ + --enable-gnutls \ + --enable-ladspa \ +%if ! %{with nvidia} + --disable-cuda \ + --disable-cuvid \ +%endif + --enable-libass \ + --enable-libbluray \ + --enable-libcelt \ + --enable-libcdio \ + --enable-libcodec2 \ + --enable-libdc1394 \ + --enable-libfontconfig \ + --enable-libfreetype \ + --enable-libfribidi \ + --enable-libgsm \ + --enable-libjack \ + --enable-libmp3lame \ +%if %{with mysofa} + --enable-libmysofa \ +%endif + --enable-libopenjpeg \ +%if %{with openmpt} + --enable-libopenmpt \ +%endif + --enable-libopus \ + --enable-libpulse \ + --enable-librubberband \ + --enable-libsoxr \ + --enable-libspeex \ + --enable-libssh \ +%if %{with srt} + --enable-libsrt \ +%endif + --enable-libtheora \ + --enable-libtwolame \ +%if %{with vidstab} + --enable-libvidstab \ +%endif + --enable-libvorbis \ + --enable-libv4l2 \ + --enable-libvpx \ + --enable-libwebp \ + --enable-libxml2 \ +%if %{with zimg} + --enable-libzimg \ +%endif + --enable-libzmq \ + --enable-libzvbi \ + --enable-lv2 \ + --enable-vaapi \ + --enable-vdpau \ +%if %{with fdk_aac} + --enable-libfdk_aac \ + --enable-nonfree \ +%endif +%if %{with opencore} + --enable-libopencore-amrnb \ + --enable-libopencore-amrwb \ + --enable-version3 \ +%endif +%if %{with x264} + --enable-libx264 \ +%endif +%if %{with x265} + --enable-libx265 \ +%endif +%if %{with librtmp} + --enable-librtmp \ +%endif +%if %{with xvid} + --enable-libxvid \ +%endif +%if !0%{?BUILD_ORIG} + --enable-muxers \ + --enable-demuxers \ + --disable-encoders \ + --disable-decoders \ + --disable-decoder=mpeg4,h263,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 + grep -q "#define CONFIG_${i}_DECODER 0" config.h +done +%endif + +cat config.h +make %{?_smp_mflags} V=1 + +%global extratools aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper probetest qt-faststart seek_print sidxindex trasher + +for i in %extratools; do + make "tools/$i" +done + +%install +b="%buildroot" +%make_install install-man +%if %{with full_build} +rm -Rf "$b/%_datadir/ffmpeg/examples" +for i in %extratools; do + cp -a "tools/$i" "$b/%_bindir/" +done +%else +rm -Rf "$b/%_bindir" "$b/%_mandir" "$b/%_datadir" +%endif + +# Install private headers required by libav-tools +for i in libavformat/options_table.h libavformat/os_support.h \ + libavformat/internal.h libavcodec/options_table.h libavutil/libm.h \ + libavutil/internal.h libavutil/colorspace.h libavutil/timer.h \ + libavutil/x86/emms.h libavutil/aarch64/timer.h libavutil/arm/timer.h \ + libavutil/bfin/timer.h libavutil/ppc/timer.h libavutil/x86/timer.h; do + mkdir -p "$b/%_includedir/ffmpeg/private/"`dirname $i` + cp -a $i "$b/%_includedir/ffmpeg/private/$i" +done + +%post -n libavcodec58 -p /sbin/ldconfig +%postun -n libavcodec58 -p /sbin/ldconfig +%post -n libavdevice58 -p /sbin/ldconfig +%postun -n libavdevice58 -p /sbin/ldconfig +%post -n libavfilter7 -p /sbin/ldconfig +%postun -n libavfilter7 -p /sbin/ldconfig +%post -n libavformat58 -p /sbin/ldconfig +%postun -n libavformat58 -p /sbin/ldconfig +%post -n libavresample4 -p /sbin/ldconfig +%postun -n libavresample4 -p /sbin/ldconfig +%post -n libavutil56 -p /sbin/ldconfig +%postun -n libavutil56 -p /sbin/ldconfig +%post -n libpostproc55 -p /sbin/ldconfig +%postun -n libpostproc55 -p /sbin/ldconfig +%post -n libswresample3 -p /sbin/ldconfig +%postun -n libswresample3 -p /sbin/ldconfig +%post -n libswscale5 -p /sbin/ldconfig +%postun -n libswscale5 -p /sbin/ldconfig + +%if %{with full_build} +%files +%doc Changelog CREDITS README.md +%_bindir/* +%_mandir/man1/ff*.1* +%_datadir/ffmpeg/ +%endif + +%files -n libavcodec58 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libavcodec.so.* + +%files -n libavdevice58 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libavdevice.so.* + +%files -n libavfilter7 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libavfilter.so.* + +%files -n libavformat58 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libavformat.so.* + +%files -n libavresample4 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libavresample.so.* + +%files -n libavutil56 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libavutil.so.* + +%files -n libpostproc55 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libpostproc.so.* + +%files -n libswresample3 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libswresample.so.* + +%files -n libswscale5 +%license COPYING.GPLv2 LICENSE.md +%_libdir/libswscale.so.* + +%files libavcodec-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libavcodec/ +%_libdir/libavcodec.so +%_libdir/pkgconfig/libavcodec.pc +%_mandir/man3/libavcodec.3* + +%files libavdevice-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libavdevice/ +%_libdir/libavdevice.so +%_libdir/pkgconfig/libavdevice.pc +%_mandir/man3/libavdevice.3* + +%files libavfilter-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libavfilter/ +%_libdir/libavfilter.so +%_libdir/pkgconfig/libavfilter.pc +%_mandir/man3/libavfilter.3* + +%files libavformat-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libavformat/ +%_libdir/libavformat.so +%_libdir/pkgconfig/libavformat.pc +%_mandir/man3/libavformat.3* + +%files libavresample-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libavresample/ +%_libdir/libavresample.so +%_libdir/pkgconfig/libavresample.pc + +%files libavutil-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libavutil/ +%_libdir/libavutil.so +%_libdir/pkgconfig/libavutil.pc +%_mandir/man3/libavutil.3* + +%files libpostproc-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libpostproc/ +%_libdir/libpostproc.so +%_libdir/pkgconfig/libpostproc.pc + +%files libswresample-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libswresample/ +%_libdir/libswresample.so +%_libdir/pkgconfig/libswresample.pc +%_mandir/man3/libswresample.3* + +%files libswscale-devel +%dir %_includedir/ffmpeg/ +%_includedir/ffmpeg/libswscale/ +%_libdir/libswscale.so +%_libdir/pkgconfig/libswscale.pc +%_mandir/man3/libswscale.3* + +%files private-devel +%_includedir/ffmpeg/private/ + +%changelog diff --git a/ffmpeg-arm6l.diff b/ffmpeg-arm6l.diff new file mode 100644 index 0000000..1329002 --- /dev/null +++ b/ffmpeg-arm6l.diff @@ -0,0 +1,17 @@ +--- + libavutil/arm/timer.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: ffmpeg-3.0.1/libavutil/arm/timer.h +=================================================================== +--- ffmpeg-3.0.1.orig/libavutil/arm/timer.h ++++ ffmpeg-3.0.1/libavutil/arm/timer.h +@@ -24,7 +24,7 @@ + #include + #include "config.h" + +-#if HAVE_INLINE_ASM && defined(__ARM_ARCH_7A__) ++#if HAVE_INLINE_ASM && defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_6ZK__) + + #define AV_READ_TIME read_time + diff --git a/ffmpeg-codec-choice.diff b/ffmpeg-codec-choice.diff new file mode 100644 index 0000000..e07de63 --- /dev/null +++ b/ffmpeg-codec-choice.diff @@ -0,0 +1,56 @@ +From: Jan Engelhardt + +Edit the default codec selection such that + + ffmpeg -i youtube.blah.webm foobar.mkv + +without any further arguments can produce a result even on a +reduced codec selection list. + +--- + libavformat/matroskaenc.c | 19 +++++++++++++------ + 1 file changed, 13 insertions(+), 6 deletions(-) + +Index: ffmpeg-4.0.1/libavformat/matroskaenc.c +=================================================================== +--- ffmpeg-4.0.1.orig/libavformat/matroskaenc.c 2018-04-20 12:02:57.000000000 +0200 ++++ ffmpeg-4.0.1/libavformat/matroskaenc.c 2018-06-30 00:17:17.773924594 +0200 +@@ -2747,16 +2747,24 @@ static const AVClass matroska_class = { + .version = LIBAVUTIL_VERSION_INT, + }; + ++#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 + AVOutputFormat ff_matroska_muxer = { + .name = "matroska", + .long_name = NULL_IF_CONFIG_SMALL("Matroska"), + .mime_type = "video/x-matroska", + .extensions = "mkv", + .priv_data_size = sizeof(MatroskaMuxContext), +- .audio_codec = CONFIG_LIBVORBIS_ENCODER ? +- AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3, +- .video_codec = CONFIG_LIBX264_ENCODER ? +- AV_CODEC_ID_H264 : AV_CODEC_ID_MPEG4, ++ .audio_codec = PREFAUDIO, ++ .video_codec = ++ CONFIG_LIBVPX_VP9_ENCODER ? AV_CODEC_ID_VP9 : \ ++ CONFIG_LIBX264_ENCODER ? AV_CODEC_ID_H264 : \ ++ CONFIG_LIBVPX_VP8_ENCODER ? AV_CODEC_ID_VP8 : \ ++ CONFIG_MPEG4_ENCODER ? AV_CODEC_ID_MPEG4 : \ ++ AV_CODEC_ID_THEORA, + .init = mkv_init, + .write_header = mkv_write_header, + .write_packet = mkv_write_flush_packet, +@@ -2815,8 +2823,7 @@ AVOutputFormat ff_matroska_audio_muxer = + .mime_type = "audio/x-matroska", + .extensions = "mka", + .priv_data_size = sizeof(MatroskaMuxContext), +- .audio_codec = CONFIG_LIBVORBIS_ENCODER ? +- AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3, ++ .audio_codec = PREFAUDIO, + .video_codec = AV_CODEC_ID_NONE, + .init = mkv_init, + .write_header = mkv_write_header, diff --git a/ffmpeg-libcdio_cdda-pkgconfig.patch b/ffmpeg-libcdio_cdda-pkgconfig.patch new file mode 100644 index 0000000..7a75a82 --- /dev/null +++ b/ffmpeg-libcdio_cdda-pkgconfig.patch @@ -0,0 +1,17 @@ +--- + configure | 2 ++ + 1 file changed, 2 insertions(+) + +Index: ffmpeg-4.0.1/configure +=================================================================== +--- ffmpeg-4.0.1.orig/configure 2018-06-16 03:12:16.000000000 +0200 ++++ ffmpeg-4.0.1/configure 2018-06-30 00:17:17.733924139 +0200 +@@ -6243,6 +6243,8 @@ enabled libjack && + enabled sndio && check_lib sndio sndio.h sio_open -lsndio + + if enabled libcdio; then ++ # cdio_cdda needs -lrt, get it from pkg-config from the external pkg ++ #l=$(pkg-config --libs libcdio_paranoia libcdio_cdda libcdio) + check_pkg_config libcdio libcdio_paranoia "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open || + check_pkg_config libcdio libcdio_paranoia "cdio/paranoia/cdda.h cdio/paranoia/paranoia.h" cdio_cddap_open || + check_lib libcdio "cdio/cdda.h cdio/paranoia.h" cdio_cddap_open -lcdio_paranoia -lcdio_cdda -lcdio || diff --git a/ffmpeg-new-coder-errors.diff b/ffmpeg-new-coder-errors.diff new file mode 100644 index 0000000..6c1b1af --- /dev/null +++ b/ffmpeg-new-coder-errors.diff @@ -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 openSUSE's 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-4.0.1/fftools/ffmpeg.c +=================================================================== +--- ffmpeg-4.0.1.orig/fftools/ffmpeg.c 2018-06-16 03:12:16.000000000 +0200 ++++ ffmpeg-4.0.1/fftools/ffmpeg.c 2018-06-30 00:17:17.757924412 +0200 +@@ -2883,7 +2883,7 @@ static int init_input_stream(int ist_ind + if (ist->decoding_needed) { + 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-4.0.1/fftools/ffmpeg_filter.c +=================================================================== +--- ffmpeg-4.0.1.orig/fftools/ffmpeg_filter.c 2018-04-20 12:02:55.000000000 +0200 ++++ ffmpeg-4.0.1/fftools/ffmpeg_filter.c 2018-06-30 00:17:17.757924412 +0200 +@@ -972,7 +972,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; + } +@@ -1122,7 +1122,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-4.0.1/fftools/ffmpeg_opt.c +=================================================================== +--- ffmpeg-4.0.1.orig/fftools/ffmpeg_opt.c 2018-04-20 12:02:55.000000000 +0200 ++++ ffmpeg-4.0.1/fftools/ffmpeg_opt.c 2018-06-30 00:17:17.757924412 +0200 +@@ -1277,7 +1277,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-rpmlintrc b/ffmpeg-rpmlintrc new file mode 100644 index 0000000..615f7a8 --- /dev/null +++ b/ffmpeg-rpmlintrc @@ -0,0 +1,6 @@ +# manpages for such executables aren't supplied +addFilter("no-manual-page-for-binary") + +# our libraries really have those names and versions +addFilter("shlib-fixed-dependency") +addFilter("no-dependency-on libffmpeg.*")