diff --git a/ffmpeg/.footprint b/ffmpeg/.footprint new file mode 100644 index 000000000..07a382e1e --- /dev/null +++ b/ffmpeg/.footprint @@ -0,0 +1,209 @@ +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/bin/ +-rwxr-xr-x root/root usr/bin/ffmpeg +-rwxr-xr-x root/root usr/bin/ffprobe +drwxr-xr-x root/root usr/include/ +drwxr-xr-x root/root usr/include/libavcodec/ +-rw-r--r-- root/root usr/include/libavcodec/ac3_parser.h +-rw-r--r-- root/root usr/include/libavcodec/adts_parser.h +-rw-r--r-- root/root usr/include/libavcodec/avcodec.h +-rw-r--r-- root/root usr/include/libavcodec/avdct.h +-rw-r--r-- root/root usr/include/libavcodec/avfft.h +-rw-r--r-- root/root usr/include/libavcodec/d3d11va.h +-rw-r--r-- root/root usr/include/libavcodec/dirac.h +-rw-r--r-- root/root usr/include/libavcodec/dv_profile.h +-rw-r--r-- root/root usr/include/libavcodec/dxva2.h +-rw-r--r-- root/root usr/include/libavcodec/jni.h +-rw-r--r-- root/root usr/include/libavcodec/mediacodec.h +-rw-r--r-- root/root usr/include/libavcodec/qsv.h +-rw-r--r-- root/root usr/include/libavcodec/vaapi.h +-rw-r--r-- root/root usr/include/libavcodec/vdpau.h +-rw-r--r-- root/root usr/include/libavcodec/version.h +-rw-r--r-- root/root usr/include/libavcodec/videotoolbox.h +-rw-r--r-- root/root usr/include/libavcodec/vorbis_parser.h +-rw-r--r-- root/root usr/include/libavcodec/xvmc.h +drwxr-xr-x root/root usr/include/libavdevice/ +-rw-r--r-- root/root usr/include/libavdevice/avdevice.h +-rw-r--r-- root/root usr/include/libavdevice/version.h +drwxr-xr-x root/root usr/include/libavfilter/ +-rw-r--r-- root/root usr/include/libavfilter/avfilter.h +-rw-r--r-- root/root usr/include/libavfilter/buffersink.h +-rw-r--r-- root/root usr/include/libavfilter/buffersrc.h +-rw-r--r-- root/root usr/include/libavfilter/version.h +drwxr-xr-x root/root usr/include/libavformat/ +-rw-r--r-- root/root usr/include/libavformat/avformat.h +-rw-r--r-- root/root usr/include/libavformat/avio.h +-rw-r--r-- root/root usr/include/libavformat/version.h +drwxr-xr-x root/root usr/include/libavresample/ +-rw-r--r-- root/root usr/include/libavresample/avresample.h +-rw-r--r-- root/root usr/include/libavresample/version.h +drwxr-xr-x root/root usr/include/libavutil/ +-rw-r--r-- root/root usr/include/libavutil/adler32.h +-rw-r--r-- root/root usr/include/libavutil/aes.h +-rw-r--r-- root/root usr/include/libavutil/aes_ctr.h +-rw-r--r-- root/root usr/include/libavutil/attributes.h +-rw-r--r-- root/root usr/include/libavutil/audio_fifo.h +-rw-r--r-- root/root usr/include/libavutil/avassert.h +-rw-r--r-- root/root usr/include/libavutil/avconfig.h +-rw-r--r-- root/root usr/include/libavutil/avstring.h +-rw-r--r-- root/root usr/include/libavutil/avutil.h +-rw-r--r-- root/root usr/include/libavutil/base64.h +-rw-r--r-- root/root usr/include/libavutil/blowfish.h +-rw-r--r-- root/root usr/include/libavutil/bprint.h +-rw-r--r-- root/root usr/include/libavutil/bswap.h +-rw-r--r-- root/root usr/include/libavutil/buffer.h +-rw-r--r-- root/root usr/include/libavutil/camellia.h +-rw-r--r-- root/root usr/include/libavutil/cast5.h +-rw-r--r-- root/root usr/include/libavutil/channel_layout.h +-rw-r--r-- root/root usr/include/libavutil/common.h +-rw-r--r-- root/root usr/include/libavutil/cpu.h +-rw-r--r-- root/root usr/include/libavutil/crc.h +-rw-r--r-- root/root usr/include/libavutil/des.h +-rw-r--r-- root/root usr/include/libavutil/dict.h +-rw-r--r-- root/root usr/include/libavutil/display.h +-rw-r--r-- root/root usr/include/libavutil/downmix_info.h +-rw-r--r-- root/root usr/include/libavutil/encryption_info.h +-rw-r--r-- root/root usr/include/libavutil/error.h +-rw-r--r-- root/root usr/include/libavutil/eval.h +-rw-r--r-- root/root usr/include/libavutil/ffversion.h +-rw-r--r-- root/root usr/include/libavutil/fifo.h +-rw-r--r-- root/root usr/include/libavutil/file.h +-rw-r--r-- root/root usr/include/libavutil/frame.h +-rw-r--r-- root/root usr/include/libavutil/hash.h +-rw-r--r-- root/root usr/include/libavutil/hdr_dynamic_metadata.h +-rw-r--r-- root/root usr/include/libavutil/hmac.h +-rw-r--r-- root/root usr/include/libavutil/hwcontext.h +-rw-r--r-- root/root usr/include/libavutil/hwcontext_cuda.h +-rw-r--r-- root/root usr/include/libavutil/hwcontext_d3d11va.h +-rw-r--r-- root/root usr/include/libavutil/hwcontext_drm.h +-rw-r--r-- root/root usr/include/libavutil/hwcontext_dxva2.h +-rw-r--r-- root/root usr/include/libavutil/hwcontext_mediacodec.h +-rw-r--r-- root/root usr/include/libavutil/hwcontext_qsv.h +-rw-r--r-- root/root usr/include/libavutil/hwcontext_vaapi.h +-rw-r--r-- root/root usr/include/libavutil/hwcontext_vdpau.h +-rw-r--r-- root/root usr/include/libavutil/hwcontext_videotoolbox.h +-rw-r--r-- root/root usr/include/libavutil/imgutils.h +-rw-r--r-- root/root usr/include/libavutil/intfloat.h +-rw-r--r-- root/root usr/include/libavutil/intreadwrite.h +-rw-r--r-- root/root usr/include/libavutil/lfg.h +-rw-r--r-- root/root usr/include/libavutil/log.h +-rw-r--r-- root/root usr/include/libavutil/lzo.h +-rw-r--r-- root/root usr/include/libavutil/macros.h +-rw-r--r-- root/root usr/include/libavutil/mastering_display_metadata.h +-rw-r--r-- root/root usr/include/libavutil/mathematics.h +-rw-r--r-- root/root usr/include/libavutil/md5.h +-rw-r--r-- root/root usr/include/libavutil/mem.h +-rw-r--r-- root/root usr/include/libavutil/motion_vector.h +-rw-r--r-- root/root usr/include/libavutil/murmur3.h +-rw-r--r-- root/root usr/include/libavutil/opt.h +-rw-r--r-- root/root usr/include/libavutil/parseutils.h +-rw-r--r-- root/root usr/include/libavutil/pixdesc.h +-rw-r--r-- root/root usr/include/libavutil/pixelutils.h +-rw-r--r-- root/root usr/include/libavutil/pixfmt.h +-rw-r--r-- root/root usr/include/libavutil/random_seed.h +-rw-r--r-- root/root usr/include/libavutil/rational.h +-rw-r--r-- root/root usr/include/libavutil/rc4.h +-rw-r--r-- root/root usr/include/libavutil/replaygain.h +-rw-r--r-- root/root usr/include/libavutil/ripemd.h +-rw-r--r-- root/root usr/include/libavutil/samplefmt.h +-rw-r--r-- root/root usr/include/libavutil/sha.h +-rw-r--r-- root/root usr/include/libavutil/sha512.h +-rw-r--r-- root/root usr/include/libavutil/spherical.h +-rw-r--r-- root/root usr/include/libavutil/stereo3d.h +-rw-r--r-- root/root usr/include/libavutil/tea.h +-rw-r--r-- root/root usr/include/libavutil/threadmessage.h +-rw-r--r-- root/root usr/include/libavutil/time.h +-rw-r--r-- root/root usr/include/libavutil/timecode.h +-rw-r--r-- root/root usr/include/libavutil/timestamp.h +-rw-r--r-- root/root usr/include/libavutil/tree.h +-rw-r--r-- root/root usr/include/libavutil/twofish.h +-rw-r--r-- root/root usr/include/libavutil/tx.h +-rw-r--r-- root/root usr/include/libavutil/version.h +-rw-r--r-- root/root usr/include/libavutil/xtea.h +drwxr-xr-x root/root usr/include/libpostproc/ +-rw-r--r-- root/root usr/include/libpostproc/postprocess.h +-rw-r--r-- root/root usr/include/libpostproc/version.h +drwxr-xr-x root/root usr/include/libswresample/ +-rw-r--r-- root/root usr/include/libswresample/swresample.h +-rw-r--r-- root/root usr/include/libswresample/version.h +drwxr-xr-x root/root usr/include/libswscale/ +-rw-r--r-- root/root usr/include/libswscale/swscale.h +-rw-r--r-- root/root usr/include/libswscale/version.h +drwxr-xr-x root/root usr/lib/ +-rw-r--r-- root/root usr/lib/libavcodec.a +lrwxrwxrwx root/root usr/lib/libavcodec.so -> libavcodec.so.58.54.100 +lrwxrwxrwx root/root usr/lib/libavcodec.so.58 -> libavcodec.so.58.54.100 +-rwxr-xr-x root/root usr/lib/libavcodec.so.58.54.100 +-rw-r--r-- root/root usr/lib/libavdevice.a +lrwxrwxrwx root/root usr/lib/libavdevice.so -> libavdevice.so.58.8.100 +lrwxrwxrwx root/root usr/lib/libavdevice.so.58 -> libavdevice.so.58.8.100 +-rwxr-xr-x root/root usr/lib/libavdevice.so.58.8.100 +-rw-r--r-- root/root usr/lib/libavfilter.a +lrwxrwxrwx root/root usr/lib/libavfilter.so -> libavfilter.so.7.57.100 +lrwxrwxrwx root/root usr/lib/libavfilter.so.7 -> libavfilter.so.7.57.100 +-rwxr-xr-x root/root usr/lib/libavfilter.so.7.57.100 +-rw-r--r-- root/root usr/lib/libavformat.a +lrwxrwxrwx root/root usr/lib/libavformat.so -> libavformat.so.58.29.100 +lrwxrwxrwx root/root usr/lib/libavformat.so.58 -> libavformat.so.58.29.100 +-rwxr-xr-x root/root usr/lib/libavformat.so.58.29.100 +-rw-r--r-- root/root usr/lib/libavresample.a +lrwxrwxrwx root/root usr/lib/libavresample.so -> libavresample.so.4.0.0 +lrwxrwxrwx root/root usr/lib/libavresample.so.4 -> libavresample.so.4.0.0 +-rwxr-xr-x root/root usr/lib/libavresample.so.4.0.0 +-rw-r--r-- root/root usr/lib/libavutil.a +lrwxrwxrwx root/root usr/lib/libavutil.so -> libavutil.so.56.31.100 +lrwxrwxrwx root/root usr/lib/libavutil.so.56 -> libavutil.so.56.31.100 +-rwxr-xr-x root/root usr/lib/libavutil.so.56.31.100 +-rw-r--r-- root/root usr/lib/libpostproc.a +lrwxrwxrwx root/root usr/lib/libpostproc.so -> libpostproc.so.55.5.100 +lrwxrwxrwx root/root usr/lib/libpostproc.so.55 -> libpostproc.so.55.5.100 +-rwxr-xr-x root/root usr/lib/libpostproc.so.55.5.100 +-rw-r--r-- root/root usr/lib/libswresample.a +lrwxrwxrwx root/root usr/lib/libswresample.so -> libswresample.so.3.5.100 +lrwxrwxrwx root/root usr/lib/libswresample.so.3 -> libswresample.so.3.5.100 +-rwxr-xr-x root/root usr/lib/libswresample.so.3.5.100 +-rw-r--r-- root/root usr/lib/libswscale.a +lrwxrwxrwx root/root usr/lib/libswscale.so -> libswscale.so.5.5.100 +lrwxrwxrwx root/root usr/lib/libswscale.so.5 -> libswscale.so.5.5.100 +-rwxr-xr-x root/root usr/lib/libswscale.so.5.5.100 +drwxr-xr-x root/root usr/lib/pkgconfig/ +-rw-r--r-- root/root usr/lib/pkgconfig/libavcodec.pc +-rw-r--r-- root/root usr/lib/pkgconfig/libavdevice.pc +-rw-r--r-- root/root usr/lib/pkgconfig/libavfilter.pc +-rw-r--r-- root/root usr/lib/pkgconfig/libavformat.pc +-rw-r--r-- root/root usr/lib/pkgconfig/libavresample.pc +-rw-r--r-- root/root usr/lib/pkgconfig/libavutil.pc +-rw-r--r-- root/root usr/lib/pkgconfig/libpostproc.pc +-rw-r--r-- root/root usr/lib/pkgconfig/libswresample.pc +-rw-r--r-- root/root usr/lib/pkgconfig/libswscale.pc +drwxr-xr-x root/root usr/share/ +drwxr-xr-x root/root usr/share/ffmpeg/ +-rw-r--r-- root/root usr/share/ffmpeg/ffprobe.xsd +-rw-r--r-- root/root usr/share/ffmpeg/libvpx-1080p.ffpreset +-rw-r--r-- root/root usr/share/ffmpeg/libvpx-1080p50_60.ffpreset +-rw-r--r-- root/root usr/share/ffmpeg/libvpx-360p.ffpreset +-rw-r--r-- root/root usr/share/ffmpeg/libvpx-720p.ffpreset +-rw-r--r-- root/root usr/share/ffmpeg/libvpx-720p50_60.ffpreset +drwxr-xr-x root/root usr/share/man/ +drwxr-xr-x root/root usr/share/man/man1/ +-rw-r--r-- root/root usr/share/man/man1/ffmpeg-all.1.gz +-rw-r--r-- root/root usr/share/man/man1/ffmpeg-bitstream-filters.1.gz +-rw-r--r-- root/root usr/share/man/man1/ffmpeg-codecs.1.gz +-rw-r--r-- root/root usr/share/man/man1/ffmpeg-devices.1.gz +-rw-r--r-- root/root usr/share/man/man1/ffmpeg-filters.1.gz +-rw-r--r-- root/root usr/share/man/man1/ffmpeg-formats.1.gz +-rw-r--r-- root/root usr/share/man/man1/ffmpeg-protocols.1.gz +-rw-r--r-- root/root usr/share/man/man1/ffmpeg-resampler.1.gz +-rw-r--r-- root/root usr/share/man/man1/ffmpeg-scaler.1.gz +-rw-r--r-- root/root usr/share/man/man1/ffmpeg-utils.1.gz +-rw-r--r-- root/root usr/share/man/man1/ffmpeg.1.gz +-rw-r--r-- root/root usr/share/man/man1/ffprobe-all.1.gz +-rw-r--r-- root/root usr/share/man/man1/ffprobe.1.gz +drwxr-xr-x root/root usr/share/man/man3/ +-rw-r--r-- root/root usr/share/man/man3/libavcodec.3.gz +-rw-r--r-- root/root usr/share/man/man3/libavdevice.3.gz +-rw-r--r-- root/root usr/share/man/man3/libavfilter.3.gz +-rw-r--r-- root/root usr/share/man/man3/libavformat.3.gz +-rw-r--r-- root/root usr/share/man/man3/libavutil.3.gz +-rw-r--r-- root/root usr/share/man/man3/libswresample.3.gz +-rw-r--r-- root/root usr/share/man/man3/libswscale.3.gz diff --git a/ffmpeg/.signature b/ffmpeg/.signature new file mode 100644 index 000000000..627b0dbd2 --- /dev/null +++ b/ffmpeg/.signature @@ -0,0 +1,7 @@ +untrusted comment: verify with /etc/ports/opt.pub +RWSE3ohX2g5d/YfaCzBARS+uzIpYzoFI13moAsvlvWcc4X7aQa823MnZCpTNy9EpLYvec7WAMuupZkpw2S/0b4D/8no/BsO6Hgo= +SHA256 (Pkgfile) = 29ee5f4c6ce455e6dbf7e5bf1b0e2a5feafcbd408d6e8745efd65cdbb283b67c +SHA256 (.footprint) = 6a5c58c08fb6a322362cd2e6883caf7e5621e8e124f2b4b830199cfb997db8ed +SHA256 (ffmpeg-4.2.tar.bz2) = 306bde5f411e9ee04352d1d3de41bd3de986e42e2af2a4c44052dce1ada26fb8 +SHA256 (ffmpeg-x264-10bit.sh) = dde9627c41800235fbcfe0f74d2181be96239a82cd2d0d277715dddb57eb9cb3 +SHA256 (CVE-2018-6621.patch) = e3b9aff1fe9aef2d7153d7517f9c349beef27c2859bf1fb01076eeab263a445e diff --git a/ffmpeg/CVE-2018-6621.patch b/ffmpeg/CVE-2018-6621.patch new file mode 100644 index 000000000..8c9e4dd0e --- /dev/null +++ b/ffmpeg/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/ffmpeg/Pkgfile b/ffmpeg/Pkgfile new file mode 100644 index 000000000..cdb54bb84 --- /dev/null +++ b/ffmpeg/Pkgfile @@ -0,0 +1,65 @@ +# Description: Complete solution to record, convert and stream audio and video. +# URL: http://ffmpeg.org/ +# Maintainer: Danny Rawlins, crux at romster dot me +# Depends on: yasm +# Optional: alsa-lib fdk-aac ffnvcodec-headers gnutls lame libass libsdl2 libtheora libva libvdpau libvorbis libvpx libwebp opus x264 x265 pulseaudio + +name=ffmpeg +version=4.2 +release=1 +source=(https://ffmpeg.org/releases/$name-$version.tar.bz2 + ffmpeg-x264-10bit.sh + CVE-2018-6621.patch) + +build() { + cd $name-$version + + #https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6621 + patch -p1 -i $SRC/CVE-2018-6621.patch + +[ -e '/usr/lib/pkgconfig/ffnvcodec.pc' ] && PKGMK_FFMPEG+=' --enable-nvdec --enable-nvenc' +[ -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/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/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' + + 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 \ + --disable-debug \ + --disable-doc \ + --enable-gpl \ + --enable-version3 \ + --enable-shared \ + --enable-pic \ + --enable-ffplay \ + --enable-avfilter \ + --enable-postproc \ + --enable-pthreads \ + --enable-swresample \ + --enable-avresample + + make + make DESTDIR=$PKG install install-man + + rm -r $PKG/usr/share/ffmpeg/examples + + if [ -e '/usr/lib/pkgconfig/x264.pc' ]; then + install -m 0755 -D $SRC/ffmpeg-x264-10bit.sh \ + $PKG/usr/bin/ffmpeg-x264-10bit + fi +} diff --git a/ffmpeg/ffmpeg-x264-10bit.sh b/ffmpeg/ffmpeg-x264-10bit.sh new file mode 100644 index 000000000..9c986b5bd --- /dev/null +++ b/ffmpeg/ffmpeg-x264-10bit.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +LD_LIBRARY_PATH="/usr/lib/libx264-10bit" ffmpeg +