diff --git a/ffmpeg4/.footprint b/ffmpeg4/.footprint new file mode 100644 index 000000000..8bfeb1085 --- /dev/null +++ b/ffmpeg4/.footprint @@ -0,0 +1,192 @@ +drwxr-xr-x root/root etc/ +drwxr-xr-x root/root etc/ld.so.conf.d/ +-rw-r--r-- root/root etc/ld.so.conf.d/ffmpeg4.conf +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/include/ +drwxr-xr-x root/root usr/include/ffmpeg4/ +drwxr-xr-x root/root usr/include/ffmpeg4/libavcodec/ +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/ac3_parser.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/adts_parser.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/avcodec.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/avdct.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/avfft.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/bsf.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/codec.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/codec_desc.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/codec_id.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/codec_par.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/d3d11va.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/dirac.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/dv_profile.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/dxva2.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/jni.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/mediacodec.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/packet.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/qsv.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/vaapi.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/vdpau.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/version.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/videotoolbox.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/vorbis_parser.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavcodec/xvmc.h +drwxr-xr-x root/root usr/include/ffmpeg4/libavdevice/ +-rw-r--r-- root/root usr/include/ffmpeg4/libavdevice/avdevice.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavdevice/version.h +drwxr-xr-x root/root usr/include/ffmpeg4/libavfilter/ +-rw-r--r-- root/root usr/include/ffmpeg4/libavfilter/avfilter.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavfilter/buffersink.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavfilter/buffersrc.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavfilter/version.h +drwxr-xr-x root/root usr/include/ffmpeg4/libavformat/ +-rw-r--r-- root/root usr/include/ffmpeg4/libavformat/avformat.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavformat/avio.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavformat/version.h +drwxr-xr-x root/root usr/include/ffmpeg4/libavresample/ +-rw-r--r-- root/root usr/include/ffmpeg4/libavresample/avresample.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavresample/version.h +drwxr-xr-x root/root usr/include/ffmpeg4/libavutil/ +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/adler32.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/aes.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/aes_ctr.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/attributes.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/audio_fifo.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/avassert.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/avconfig.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/avstring.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/avutil.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/base64.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/blowfish.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/bprint.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/bswap.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/buffer.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/camellia.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/cast5.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/channel_layout.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/common.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/cpu.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/crc.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/des.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/dict.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/display.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/dovi_meta.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/downmix_info.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/encryption_info.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/error.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/eval.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/ffversion.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/fifo.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/file.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/film_grain_params.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/frame.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hash.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hdr_dynamic_metadata.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hmac.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hwcontext.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hwcontext_cuda.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hwcontext_d3d11va.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hwcontext_drm.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hwcontext_dxva2.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hwcontext_mediacodec.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hwcontext_opencl.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hwcontext_qsv.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hwcontext_vaapi.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hwcontext_vdpau.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hwcontext_videotoolbox.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/hwcontext_vulkan.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/imgutils.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/intfloat.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/intreadwrite.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/lfg.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/log.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/lzo.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/macros.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/mastering_display_metadata.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/mathematics.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/md5.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/mem.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/motion_vector.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/murmur3.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/opt.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/parseutils.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/pixdesc.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/pixelutils.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/pixfmt.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/random_seed.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/rational.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/rc4.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/replaygain.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/ripemd.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/samplefmt.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/sha.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/sha512.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/spherical.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/stereo3d.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/tea.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/threadmessage.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/time.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/timecode.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/timestamp.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/tree.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/twofish.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/tx.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/version.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/video_enc_params.h +-rw-r--r-- root/root usr/include/ffmpeg4/libavutil/xtea.h +drwxr-xr-x root/root usr/include/ffmpeg4/libpostproc/ +-rw-r--r-- root/root usr/include/ffmpeg4/libpostproc/postprocess.h +-rw-r--r-- root/root usr/include/ffmpeg4/libpostproc/version.h +drwxr-xr-x root/root usr/include/ffmpeg4/libswresample/ +-rw-r--r-- root/root usr/include/ffmpeg4/libswresample/swresample.h +-rw-r--r-- root/root usr/include/ffmpeg4/libswresample/version.h +drwxr-xr-x root/root usr/include/ffmpeg4/libswscale/ +-rw-r--r-- root/root usr/include/ffmpeg4/libswscale/swscale.h +-rw-r--r-- root/root usr/include/ffmpeg4/libswscale/version.h +drwxr-xr-x root/root usr/lib/ +drwxr-xr-x root/root usr/lib/ffmpeg4/ +-rw-r--r-- root/root usr/lib/ffmpeg4/libavcodec.a +lrwxrwxrwx root/root usr/lib/ffmpeg4/libavcodec.so -> libavcodec.so.58.134.100 +lrwxrwxrwx root/root usr/lib/ffmpeg4/libavcodec.so.58 -> libavcodec.so.58.134.100 +-rwxr-xr-x root/root usr/lib/ffmpeg4/libavcodec.so.58.134.100 +-rw-r--r-- root/root usr/lib/ffmpeg4/libavdevice.a +lrwxrwxrwx root/root usr/lib/ffmpeg4/libavdevice.so -> libavdevice.so.58.13.100 +lrwxrwxrwx root/root usr/lib/ffmpeg4/libavdevice.so.58 -> libavdevice.so.58.13.100 +-rwxr-xr-x root/root usr/lib/ffmpeg4/libavdevice.so.58.13.100 +-rw-r--r-- root/root usr/lib/ffmpeg4/libavfilter.a +lrwxrwxrwx root/root usr/lib/ffmpeg4/libavfilter.so -> libavfilter.so.7.110.100 +lrwxrwxrwx root/root usr/lib/ffmpeg4/libavfilter.so.7 -> libavfilter.so.7.110.100 +-rwxr-xr-x root/root usr/lib/ffmpeg4/libavfilter.so.7.110.100 +-rw-r--r-- root/root usr/lib/ffmpeg4/libavformat.a +lrwxrwxrwx root/root usr/lib/ffmpeg4/libavformat.so -> libavformat.so.58.76.100 +lrwxrwxrwx root/root usr/lib/ffmpeg4/libavformat.so.58 -> libavformat.so.58.76.100 +-rwxr-xr-x root/root usr/lib/ffmpeg4/libavformat.so.58.76.100 +-rw-r--r-- root/root usr/lib/ffmpeg4/libavresample.a +lrwxrwxrwx root/root usr/lib/ffmpeg4/libavresample.so -> libavresample.so.4.0.0 +lrwxrwxrwx root/root usr/lib/ffmpeg4/libavresample.so.4 -> libavresample.so.4.0.0 +-rwxr-xr-x root/root usr/lib/ffmpeg4/libavresample.so.4.0.0 +-rw-r--r-- root/root usr/lib/ffmpeg4/libavutil.a +lrwxrwxrwx root/root usr/lib/ffmpeg4/libavutil.so -> libavutil.so.56.70.100 +lrwxrwxrwx root/root usr/lib/ffmpeg4/libavutil.so.56 -> libavutil.so.56.70.100 +-rwxr-xr-x root/root usr/lib/ffmpeg4/libavutil.so.56.70.100 +-rw-r--r-- root/root usr/lib/ffmpeg4/libpostproc.a +lrwxrwxrwx root/root usr/lib/ffmpeg4/libpostproc.so -> libpostproc.so.55.9.100 +lrwxrwxrwx root/root usr/lib/ffmpeg4/libpostproc.so.55 -> libpostproc.so.55.9.100 +-rwxr-xr-x root/root usr/lib/ffmpeg4/libpostproc.so.55.9.100 +-rw-r--r-- root/root usr/lib/ffmpeg4/libswresample.a +lrwxrwxrwx root/root usr/lib/ffmpeg4/libswresample.so -> libswresample.so.3.9.100 +lrwxrwxrwx root/root usr/lib/ffmpeg4/libswresample.so.3 -> libswresample.so.3.9.100 +-rwxr-xr-x root/root usr/lib/ffmpeg4/libswresample.so.3.9.100 +-rw-r--r-- root/root usr/lib/ffmpeg4/libswscale.a +lrwxrwxrwx root/root usr/lib/ffmpeg4/libswscale.so -> libswscale.so.5.9.100 +lrwxrwxrwx root/root usr/lib/ffmpeg4/libswscale.so.5 -> libswscale.so.5.9.100 +-rwxr-xr-x root/root usr/lib/ffmpeg4/libswscale.so.5.9.100 +drwxr-xr-x root/root usr/lib/ffmpeg4/pkgconfig/ +-rw-r--r-- root/root usr/lib/ffmpeg4/pkgconfig/libavcodec.pc +-rw-r--r-- root/root usr/lib/ffmpeg4/pkgconfig/libavdevice.pc +-rw-r--r-- root/root usr/lib/ffmpeg4/pkgconfig/libavfilter.pc +-rw-r--r-- root/root usr/lib/ffmpeg4/pkgconfig/libavformat.pc +-rw-r--r-- root/root usr/lib/ffmpeg4/pkgconfig/libavresample.pc +-rw-r--r-- root/root usr/lib/ffmpeg4/pkgconfig/libavutil.pc +-rw-r--r-- root/root usr/lib/ffmpeg4/pkgconfig/libpostproc.pc +-rw-r--r-- root/root usr/lib/ffmpeg4/pkgconfig/libswresample.pc +-rw-r--r-- root/root usr/lib/ffmpeg4/pkgconfig/libswscale.pc +drwxr-xr-x root/root usr/share/ diff --git a/ffmpeg4/.signature b/ffmpeg4/.signature new file mode 100644 index 000000000..7bd315458 --- /dev/null +++ b/ffmpeg4/.signature @@ -0,0 +1,6 @@ +untrusted comment: verify with /etc/ports/contrib.pub +RWSagIOpLGJF3+ev/aysOS0ulR7LQBUXFNnJOil91jcqYKBWCOvAu+NWB995ZE4iy8dQnjHiZygP+YUZA14dUNORWyUNEJIcpgQ= +SHA256 (Pkgfile) = ca99857745037f83c18950c610d5113f0b8444b670a4808c6d33b4ef678b1321 +SHA256 (.footprint) = 9922049c01ef695d784d55390bf297d89b95d011c23e736aff2bbe625d9148c4 +SHA256 (ffmpeg-4.4.1.tar.bz2) = 8fc9f20ac5ed95115a9e285647add0eedd5cc1a98a039ada14c132452f98ac42 +SHA256 (CVE-2018-6621.patch) = e3b9aff1fe9aef2d7153d7517f9c349beef27c2859bf1fb01076eeab263a445e diff --git a/ffmpeg4/CVE-2018-6621.patch b/ffmpeg4/CVE-2018-6621.patch new file mode 100644 index 000000000..8c9e4dd0e --- /dev/null +++ b/ffmpeg4/CVE-2018-6621.patch @@ -0,0 +1,11 @@ +--- a/libavcodec/utvideodec.c 2017-12-11 05:35:09.000000000 +0800 ++++ b/libavcodec/utvideodec.c 2018-02-06 15:54:54.872000000 +0800 +@@ -561,7 +561,7 @@ static int decode_frame(AVCodecContext * + for (j = 0; j < c->slices; j++) { + slice_end = bytestream2_get_le32u(&gb); + if (slice_end < 0 || slice_end < slice_start || +- bytestream2_get_bytes_left(&gb) < slice_end) { ++ bytestream2_get_bytes_left(&gb) < slice_end + 1024LL) { + av_log(avctx, AV_LOG_ERROR, "Incorrect slice size\n"); + return AVERROR_INVALIDDATA; + } diff --git a/ffmpeg4/Pkgfile b/ffmpeg4/Pkgfile new file mode 100644 index 000000000..c4eac9bba --- /dev/null +++ b/ffmpeg4/Pkgfile @@ -0,0 +1,71 @@ +# Description: Complete solution to record, convert and stream audio and video (version 4). +# URL: http://ffmpeg.org/ +# Maintainer: Danny Rawlins, crux at romster dot me +# Depends on: yasm +# Optional: alsa-lib cuda dav1d fdk-aac nv-codec-headers gnutls gsm jack jack-audio-connection-kit lame libass libsdl2 libtheora libva libvdpau libvorbis libvpx libwebp opus pulseaudio x264 x265 + +name=ffmpeg4 +version=4.4.1 +release=1 +source=(https://ffmpeg.org/releases/ffmpeg-$version.tar.bz2 + CVE-2018-6621.patch) + +build() { + cd ffmpeg-$version + + #https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6621 + patch -p1 -i $SRC/CVE-2018-6621.patch + +[ -e '/usr/share/pkgconfig/ffnvcodec.pc' ] && PKGMK_FFMPEG+=' --enable-nvdec --enable-nvenc' +[ -e '/usr/include/AMF/core/VulkanAMF.h' ] && PKGMK_FFMPEG+=' --enable-amf' +[ -e '/usr/bin/clang' ] && [ -e '/usr/lib/pkgconfig/cuda.pc' ] && PKGMK_FFMPEG+=' --enable-cuda-llvm' +[ -e '/usr/lib/pkgconfig/libwebp.pc' ] && PKGMK_FFMPEG+=' --enable-libwebp' +[ -e '/usr/lib/pkgconfig/vdpau.pc' ] && PKGMK_FFMPEG+=' --enable-vdpau' +[ -e '/usr/lib/pkgconfig/freetype2.pc' ] && PKGMK_FFMPEG+=' --enable-libfreetype' +[ -e '/usr/lib/pkgconfig/jack.pc' ] && PKGMK_FFMPEG+=' --enable-libjack' +[ -e '/usr/lib/pkgconfig/x264.pc' ] && PKGMK_FFMPEG+=' --enable-libx264' +[ -e '/usr/lib/pkgconfig/x265.pc' ] && PKGMK_FFMPEG+=' --enable-libx265' +[ -e '/usr/lib/pkgconfig/libass.pc' ] && PKGMK_FFMPEG+=' --enable-libass' +[ -e '/usr/lib/libgsm.so' ] && PKGMK_FFMPEG+=' --enable-libgsm' +[ -e '/usr/include/lame/lame.h' ] && PKGMK_FFMPEG+=' --enable-libmp3lame' +[ -e '/usr/lib/pkgconfig/opus.pc' ] && PKGMK_FFMPEG+=' --enable-libopus' +[ -e '/usr/lib/pkgconfig/vpx.pc' ] && PKGMK_FFMPEG+=' --enable-libvpx' +[ -e '/usr/lib/pkgconfig/vorbis.pc' ] && PKGMK_FFMPEG+=' --enable-libvorbis' +[ -e '/usr/lib/pkgconfig/theora.pc' ] && PKGMK_FFMPEG+=' --enable-libtheora' +[ -e '/usr/lib/pkgconfig/libpulse.pc' ] && PKGMK_FFMPEG+=' --enable-libpulse' +[ -e '/usr/lib/pkgconfig/fdk-aac.pc' ] && PKGMK_FFMPEG+=' --enable-libfdk-aac --enable-nonfree' +[ -e '/usr/lib/pkgconfig/dav1d.pc' ] && PKGMK_FFMPEG+=' --enable-libdav1d' + + if [ -e '/usr/lib/pkgconfig/gnutls.pc' ]; then + PKGMK_FFMPEG+=' --enable-gnutls' + else + PKGMK_FFMPEG+=' --enable-openssl --enable-nonfree' + fi + + ./configure ${PKGMK_FFMPEG} \ + --prefix=/usr \ + --incdir='/usr/include/ffmpeg4' \ + --libdir='/usr/lib/ffmpeg4' \ + --shlibdir='/usr/lib/ffmpeg4' \ + --disable-debug \ + --disable-doc \ + --enable-gpl \ + --enable-version3 \ + --enable-shared \ + --enable-pic \ + --enable-avfilter \ + --enable-postproc \ + --enable-pthreads \ + --enable-swresample \ + --enable-avresample + + make + make DESTDIR=$PKG install + + install -d $PKG/etc/ld.so.conf.d + echo -e '/usr/lib/\n/usr/lib/ffmpeg4/' > \ + $PKG/etc/ld.so.conf.d/ffmpeg4.conf + + rm -r $PKG/usr/share/ffmpeg/examples + rm -r $PKG/usr/{bin,share/ffmpeg} +}