From 6a60aeb2ab8f1438ff2ce91dec8a031fdc758b1f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aur=C3=A9lien=20Larcher?= Date: Wed, 18 Jan 2017 14:44:26 +0300 Subject: [PATCH] ffmpeg: update to 2.8.10 --- components/encumbered/ffmpeg/Makefile | 38 +++- .../ffmpeg/manifests/sample-manifest.p5m | 243 +++++++++++++++++++++ .../encumbered/ffmpeg/patches/03-test-awk.patch | 37 ++++ 3 files changed, 316 insertions(+), 2 deletions(-) create mode 100644 components/encumbered/ffmpeg/manifests/sample-manifest.p5m create mode 100644 components/encumbered/ffmpeg/patches/03-test-awk.patch diff --git a/components/encumbered/ffmpeg/Makefile b/components/encumbered/ffmpeg/Makefile index 135b5c35f..e69802cd0 100644 --- a/components/encumbered/ffmpeg/Makefile +++ b/components/encumbered/ffmpeg/Makefile @@ -16,12 +16,12 @@ include ../../../make-rules/shared-macros.mk COMPONENT_NAME= ffmpeg -COMPONENT_VERSION= 2.8.6 +COMPONENT_VERSION= 2.8.10 COMPONENT_SUMMARY= A very fast video and audio converter COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2 COMPONENT_ARCHIVE_HASH= \ - sha256:40611e329bc354592c6f8f1deb033c31b91f80e91f5707ca4f9afceca78d8e62 + sha256:d1ce1a73503dce6e2b1e208cb93a2a8a7e89f9c64357ddc3e4da3cab33dea9c9 COMPONENT_ARCHIVE_URL= \ http://www.ffmpeg.org/releases/$(COMPONENT_ARCHIVE) COMPONENT_PROJECT_URL = http://www.ffmpeg.org/ @@ -92,6 +92,40 @@ CONFIGURE_OPTIONS += --disable-static CONFIGURE_ENV += CPPFLAGS="$(CPPFLAGS)" +# Use binaries and libraries from $(PROTO_DIR) for tests +COMPONENT_TEST_ENV+= PATH=$(PROTO_DIR)/usr/bin:$(PATH) +COMPONENT_TEST_ENV+= LD_LIBRARY_PATH=$(PROTO_DIR)/usr/lib + +$(TEST_32): $(INSTALL_32) + build: $(BUILD_32) install: $(INSTALL_32) + +test: $(TEST_32) + +REQUIRED_PACKAGES += audio/lame +REQUIRED_PACKAGES += codec/libtheora +REQUIRED_PACKAGES += codec/speex +REQUIRED_PACKAGES += compress/bzip2 +REQUIRED_PACKAGES += compress/xz +REQUIRED_PACKAGES += image/library/openjpeg +REQUIRED_PACKAGES += library/audio/libgsm +REQUIRED_PACKAGES += library/audio/openal +REQUIRED_PACKAGES += library/graphics/libvdpau +REQUIRED_PACKAGES += library/libvorbis +REQUIRED_PACKAGES += library/sdl +REQUIRED_PACKAGES += library/security/openssl +REQUIRED_PACKAGES += library/video/libass +REQUIRED_PACKAGES += library/video/libschroedinger +REQUIRED_PACKAGES += library/video/libvpx +REQUIRED_PACKAGES += library/video/x264 +REQUIRED_PACKAGES += library/video/xvid +REQUIRED_PACKAGES += library/zlib +REQUIRED_PACKAGES += system/library +REQUIRED_PACKAGES += system/library/math +REQUIRED_PACKAGES += video/rtmpdump +REQUIRED_PACKAGES += x11/library/libx11 +REQUIRED_PACKAGES += x11/library/libxcb +REQUIRED_PACKAGES += x11/library/libxext +REQUIRED_PACKAGES += x11/library/libxv diff --git a/components/encumbered/ffmpeg/manifests/sample-manifest.p5m b/components/encumbered/ffmpeg/manifests/sample-manifest.p5m new file mode 100644 index 000000000..4d3f76ca0 --- /dev/null +++ b/components/encumbered/ffmpeg/manifests/sample-manifest.p5m @@ -0,0 +1,243 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2016 +# + +set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) +set name=pkg.summary value="$(COMPONENT_SUMMARY)" +set name=info.classification value="$(COMPONENT_CLASSIFICATION)" +set name=info.upstream-url value=$(COMPONENT_PROJECT_URL) +set name=info.source-url value=$(COMPONENT_ARCHIVE_URL) +set name=org.opensolaris.consolidation value=$(CONSOLIDATION) + +license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)' + +file path=usr/bin/ffmpeg +file path=usr/bin/ffplay +file path=usr/bin/ffprobe +file path=usr/bin/ffserver +file path=usr/include/libavcodec/avcodec.h +file path=usr/include/libavcodec/avfft.h +file path=usr/include/libavcodec/d3d11va.h +file path=usr/include/libavcodec/dv_profile.h +file path=usr/include/libavcodec/dxva2.h +file path=usr/include/libavcodec/old_codec_ids.h +file path=usr/include/libavcodec/qsv.h +file path=usr/include/libavcodec/vaapi.h +file path=usr/include/libavcodec/vda.h +file path=usr/include/libavcodec/vdpau.h +file path=usr/include/libavcodec/version.h +file path=usr/include/libavcodec/videotoolbox.h +file path=usr/include/libavcodec/vorbis_parser.h +file path=usr/include/libavcodec/xvmc.h +file path=usr/include/libavdevice/avdevice.h +file path=usr/include/libavdevice/version.h +file path=usr/include/libavfilter/asrc_abuffer.h +file path=usr/include/libavfilter/avcodec.h +file path=usr/include/libavfilter/avfilter.h +file path=usr/include/libavfilter/avfiltergraph.h +file path=usr/include/libavfilter/buffersink.h +file path=usr/include/libavfilter/buffersrc.h +file path=usr/include/libavfilter/version.h +file path=usr/include/libavformat/avformat.h +file path=usr/include/libavformat/avio.h +file path=usr/include/libavformat/version.h +file path=usr/include/libavresample/avresample.h +file path=usr/include/libavresample/version.h +file path=usr/include/libavutil/adler32.h +file path=usr/include/libavutil/aes.h +file path=usr/include/libavutil/attributes.h +file path=usr/include/libavutil/audio_fifo.h +file path=usr/include/libavutil/audioconvert.h +file path=usr/include/libavutil/avassert.h +file path=usr/include/libavutil/avconfig.h +file path=usr/include/libavutil/avstring.h +file path=usr/include/libavutil/avutil.h +file path=usr/include/libavutil/base64.h +file path=usr/include/libavutil/blowfish.h +file path=usr/include/libavutil/bprint.h +file path=usr/include/libavutil/bswap.h +file path=usr/include/libavutil/buffer.h +file path=usr/include/libavutil/camellia.h +file path=usr/include/libavutil/cast5.h +file path=usr/include/libavutil/channel_layout.h +file path=usr/include/libavutil/common.h +file path=usr/include/libavutil/cpu.h +file path=usr/include/libavutil/crc.h +file path=usr/include/libavutil/dict.h +file path=usr/include/libavutil/display.h +file path=usr/include/libavutil/downmix_info.h +file path=usr/include/libavutil/error.h +file path=usr/include/libavutil/eval.h +file path=usr/include/libavutil/ffversion.h +file path=usr/include/libavutil/fifo.h +file path=usr/include/libavutil/file.h +file path=usr/include/libavutil/frame.h +file path=usr/include/libavutil/hash.h +file path=usr/include/libavutil/hmac.h +file path=usr/include/libavutil/imgutils.h +file path=usr/include/libavutil/intfloat.h +file path=usr/include/libavutil/intreadwrite.h +file path=usr/include/libavutil/lfg.h +file path=usr/include/libavutil/log.h +file path=usr/include/libavutil/lzo.h +file path=usr/include/libavutil/macros.h +file path=usr/include/libavutil/mathematics.h +file path=usr/include/libavutil/md5.h +file path=usr/include/libavutil/mem.h +file path=usr/include/libavutil/motion_vector.h +file path=usr/include/libavutil/murmur3.h +file path=usr/include/libavutil/old_pix_fmts.h +file path=usr/include/libavutil/opt.h +file path=usr/include/libavutil/parseutils.h +file path=usr/include/libavutil/pixdesc.h +file path=usr/include/libavutil/pixelutils.h +file path=usr/include/libavutil/pixfmt.h +file path=usr/include/libavutil/random_seed.h +file path=usr/include/libavutil/rational.h +file path=usr/include/libavutil/replaygain.h +file path=usr/include/libavutil/ripemd.h +file path=usr/include/libavutil/samplefmt.h +file path=usr/include/libavutil/sha.h +file path=usr/include/libavutil/sha512.h +file path=usr/include/libavutil/stereo3d.h +file path=usr/include/libavutil/tea.h +file path=usr/include/libavutil/threadmessage.h +file path=usr/include/libavutil/time.h +file path=usr/include/libavutil/timecode.h +file path=usr/include/libavutil/timestamp.h +file path=usr/include/libavutil/twofish.h +file path=usr/include/libavutil/version.h +file path=usr/include/libavutil/xtea.h +file path=usr/include/libpostproc/postprocess.h +file path=usr/include/libpostproc/version.h +file path=usr/include/libswresample/swresample.h +file path=usr/include/libswresample/version.h +file path=usr/include/libswscale/swscale.h +file path=usr/include/libswscale/version.h +link path=usr/lib/libavcodec.so target=libavcodec.so.56.60.100 +link path=usr/lib/libavcodec.so.56 target=libavcodec.so.56.60.100 +file path=usr/lib/libavcodec.so.56.60.100 +link path=usr/lib/libavdevice.so target=libavdevice.so.56.4.100 +link path=usr/lib/libavdevice.so.56 target=libavdevice.so.56.4.100 +file path=usr/lib/libavdevice.so.56.4.100 +link path=usr/lib/libavfilter.so target=libavfilter.so.5.40.101 +link path=usr/lib/libavfilter.so.5 target=libavfilter.so.5.40.101 +file path=usr/lib/libavfilter.so.5.40.101 +link path=usr/lib/libavformat.so target=libavformat.so.56.40.101 +link path=usr/lib/libavformat.so.56 target=libavformat.so.56.40.101 +file path=usr/lib/libavformat.so.56.40.101 +link path=usr/lib/libavresample.so target=libavresample.so.2.1.0 +link path=usr/lib/libavresample.so.2 target=libavresample.so.2.1.0 +file path=usr/lib/libavresample.so.2.1.0 +link path=usr/lib/libavutil.so target=libavutil.so.54.31.100 +link path=usr/lib/libavutil.so.54 target=libavutil.so.54.31.100 +file path=usr/lib/libavutil.so.54.31.100 +link path=usr/lib/libpostproc.so target=libpostproc.so.53.3.100 +link path=usr/lib/libpostproc.so.53 target=libpostproc.so.53.3.100 +file path=usr/lib/libpostproc.so.53.3.100 +link path=usr/lib/libswresample.so target=libswresample.so.1.2.101 +link path=usr/lib/libswresample.so.1 target=libswresample.so.1.2.101 +file path=usr/lib/libswresample.so.1.2.101 +link path=usr/lib/libswscale.so target=libswscale.so.3.1.101 +link path=usr/lib/libswscale.so.3 target=libswscale.so.3.1.101 +file path=usr/lib/libswscale.so.3.1.101 +file path=usr/lib/pkgconfig/libavcodec.pc +file path=usr/lib/pkgconfig/libavdevice.pc +file path=usr/lib/pkgconfig/libavfilter.pc +file path=usr/lib/pkgconfig/libavformat.pc +file path=usr/lib/pkgconfig/libavresample.pc +file path=usr/lib/pkgconfig/libavutil.pc +file path=usr/lib/pkgconfig/libpostproc.pc +file path=usr/lib/pkgconfig/libswresample.pc +file path=usr/lib/pkgconfig/libswscale.pc +file path=usr/share/doc/ffmpeg/developer.html +file path=usr/share/doc/ffmpeg/faq.html +file path=usr/share/doc/ffmpeg/fate.html +file path=usr/share/doc/ffmpeg/ffmpeg-all.html +file path=usr/share/doc/ffmpeg/ffmpeg-bitstream-filters.html +file path=usr/share/doc/ffmpeg/ffmpeg-codecs.html +file path=usr/share/doc/ffmpeg/ffmpeg-devices.html +file path=usr/share/doc/ffmpeg/ffmpeg-filters.html +file path=usr/share/doc/ffmpeg/ffmpeg-formats.html +file path=usr/share/doc/ffmpeg/ffmpeg-protocols.html +file path=usr/share/doc/ffmpeg/ffmpeg-resampler.html +file path=usr/share/doc/ffmpeg/ffmpeg-scaler.html +file path=usr/share/doc/ffmpeg/ffmpeg-utils.html +file path=usr/share/doc/ffmpeg/ffmpeg.html +file path=usr/share/doc/ffmpeg/ffplay-all.html +file path=usr/share/doc/ffmpeg/ffplay.html +file path=usr/share/doc/ffmpeg/ffprobe-all.html +file path=usr/share/doc/ffmpeg/ffprobe.html +file path=usr/share/doc/ffmpeg/ffserver-all.html +file path=usr/share/doc/ffmpeg/ffserver.html +file path=usr/share/doc/ffmpeg/general.html +file path=usr/share/doc/ffmpeg/git-howto.html +file path=usr/share/doc/ffmpeg/libavcodec.html +file path=usr/share/doc/ffmpeg/libavdevice.html +file path=usr/share/doc/ffmpeg/libavfilter.html +file path=usr/share/doc/ffmpeg/libavformat.html +file path=usr/share/doc/ffmpeg/libavutil.html +file path=usr/share/doc/ffmpeg/libswresample.html +file path=usr/share/doc/ffmpeg/libswscale.html +file path=usr/share/doc/ffmpeg/nut.html +file path=usr/share/doc/ffmpeg/platform.html +file path=usr/share/ffmpeg/examples/Makefile +file path=usr/share/ffmpeg/examples/README +file path=usr/share/ffmpeg/examples/avio_dir_cmd.c +file path=usr/share/ffmpeg/examples/avio_reading.c +file path=usr/share/ffmpeg/examples/decoding_encoding.c +file path=usr/share/ffmpeg/examples/demuxing_decoding.c +file path=usr/share/ffmpeg/examples/extract_mvs.c +file path=usr/share/ffmpeg/examples/filter_audio.c +file path=usr/share/ffmpeg/examples/filtering_audio.c +file path=usr/share/ffmpeg/examples/filtering_video.c +file path=usr/share/ffmpeg/examples/http_multiclient.c +file path=usr/share/ffmpeg/examples/metadata.c +file path=usr/share/ffmpeg/examples/muxing.c +file path=usr/share/ffmpeg/examples/qsvdec.c +file path=usr/share/ffmpeg/examples/remuxing.c +file path=usr/share/ffmpeg/examples/resampling_audio.c +file path=usr/share/ffmpeg/examples/scaling_video.c +file path=usr/share/ffmpeg/examples/transcode_aac.c +file path=usr/share/ffmpeg/examples/transcoding.c +file path=usr/share/ffmpeg/ffprobe.xsd +file path=usr/share/ffmpeg/libvpx-1080p.ffpreset +file path=usr/share/ffmpeg/libvpx-1080p50_60.ffpreset +file path=usr/share/ffmpeg/libvpx-360p.ffpreset +file path=usr/share/ffmpeg/libvpx-720p.ffpreset +file path=usr/share/ffmpeg/libvpx-720p50_60.ffpreset +file path=usr/share/man/man1/ffmpeg-all.1 +file path=usr/share/man/man1/ffmpeg-bitstream-filters.1 +file path=usr/share/man/man1/ffmpeg-codecs.1 +file path=usr/share/man/man1/ffmpeg-devices.1 +file path=usr/share/man/man1/ffmpeg-filters.1 +file path=usr/share/man/man1/ffmpeg-formats.1 +file path=usr/share/man/man1/ffmpeg-protocols.1 +file path=usr/share/man/man1/ffmpeg-resampler.1 +file path=usr/share/man/man1/ffmpeg-scaler.1 +file path=usr/share/man/man1/ffmpeg-utils.1 +file path=usr/share/man/man1/ffmpeg.1 +file path=usr/share/man/man1/ffplay-all.1 +file path=usr/share/man/man1/ffplay.1 +file path=usr/share/man/man1/ffprobe-all.1 +file path=usr/share/man/man1/ffprobe.1 +file path=usr/share/man/man1/ffserver-all.1 +file path=usr/share/man/man1/ffserver.1 +file path=usr/share/man/man3/libavcodec.3 +file path=usr/share/man/man3/libavdevice.3 +file path=usr/share/man/man3/libavfilter.3 +file path=usr/share/man/man3/libavformat.3 +file path=usr/share/man/man3/libavutil.3 +file path=usr/share/man/man3/libswresample.3 +file path=usr/share/man/man3/libswscale.3 diff --git a/components/encumbered/ffmpeg/patches/03-test-awk.patch b/components/encumbered/ffmpeg/patches/03-test-awk.patch new file mode 100644 index 000000000..dc79d4d1a --- /dev/null +++ b/components/encumbered/ffmpeg/patches/03-test-awk.patch @@ -0,0 +1,37 @@ +--- ffmpeg-2.8.10/tests/fate/filter-video.mak.orig 2016-12-12 20:08:08.259752860 +0100 ++++ ffmpeg-2.8.10/tests/fate/filter-video.mak 2016-12-12 20:08:18.680896002 +0100 +@@ -482,7 +482,7 @@ + tests/pixfmts.mak: TAG = GEN + tests/pixfmts.mak: ffmpeg$(EXESUF) + $(M)printf "PIXFMTS = " > $@ +- $(Q)$(TARGET_EXEC) $(TARGET_PATH)/$< -pix_fmts list 2> /dev/null | awk 'NR > 8 && /^IO/ { printf $$2 " " }' >> $@ ++ $(Q)$(TARGET_EXEC) $(TARGET_PATH)/$< -pix_fmts list 2> /dev/null | gawk 'NR > 8 && /^IO/ { printf $$2 " " }' >> $@ + $(Q)printf "\n" >> $@ + + RUNNING_PIXFMTS_TESTS := $(filter check fate fate-list fate-filter fate-vfilter fate-filter-pixdesc%,$(MAKECMDGOALS)) +--- ffmpeg-2.8.10/tests/fate-run.sh.orig 2016-12-12 20:20:57.968486091 +0100 ++++ ffmpeg-2.8.10/tests/fate-run.sh 2016-12-12 20:14:43.434323816 +0100 +@@ -39,7 +39,7 @@ + # $1=value1, $2=value2, $3=threshold + # prints 0 if absolute difference between value1 and value2 is <= threshold + compare(){ +- awk "BEGIN { v = $1 - $2; printf ((v < 0 ? -v : v) > $3) }" ++ gawk "BEGIN { v = $1 - $2; printf ((v < 0 ? -v : v) > $3) }" + } + + do_tiny_psnr(){ +@@ -204,11 +204,11 @@ + in_fmts=${outfile}_in_fmts + + # exclude pixel formats which are not supported as input +- $showfiltfmts scale | awk -F '[ \r]' '/^INPUT/{ fmt=substr($3, 5); print fmt }' | sort >$scale_in_fmts +- $showfiltfmts scale | awk -F '[ \r]' '/^OUTPUT/{ fmt=substr($3, 5); print fmt }' | sort >$scale_out_fmts ++ $showfiltfmts scale | gawk -F '[ \r]' '/^INPUT/{ fmt=substr($3, 5); print fmt }' | sort >$scale_in_fmts ++ $showfiltfmts scale | gawk -F '[ \r]' '/^OUTPUT/{ fmt=substr($3, 5); print fmt }' | sort >$scale_out_fmts + comm -12 $scale_in_fmts $scale_out_fmts >$scale_exclude_fmts + +- $showfiltfmts $filter | awk -F '[ \r]' '/^INPUT/{ fmt=substr($3, 5); print fmt }' | sort >$in_fmts ++ $showfiltfmts $filter | gawk -F '[ \r]' '/^INPUT/{ fmt=substr($3, 5); print fmt }' | sort >$in_fmts + pix_fmts=$(comm -12 $scale_exclude_fmts $in_fmts) + + outertest=$test -- 2.11.4.GIT