Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ffmpeg to 4.1 and all dependencies to latest release, including build fixes #3575

Merged
merged 3 commits into from
Feb 4, 2019

Conversation

m4tt075
Copy link
Contributor

@m4tt075 m4tt075 commented Jan 11, 2019

Motivation

ffmpeg is a core package for SynoCommunity, as standalone package and as key dependency for the Chromaprint, Tvheadend and Comskip packages. The ffmpeg package and external libraries (e.g. x264 and x265) are under continuous development and regularly improved. This PR bumps ffmpeg as well as all dependencies to latest release.

PR Description

  • Updates ffmpeg to 4.1 and all dependencies to latest release
  • Fixes HDR10+ support within x265
  • Fixes ppc cross-compilation issues and reestablishes cross-platform support for x265-2.9
  • Enables VAAPI support for x64 Intel platforms

Linked issues: #2952, #3413, #3206, #3222

Checklist

  • Build rule all-supported completed successfully
  • Package upgrade completed successfully
  • New installation of package completed successfully

@m4tt075
Copy link
Contributor Author

m4tt075 commented Jan 11, 2019

@ymartin59 @cytec As discussed, here my current WIP. I've started developing against bromolow-6.1 via VirtualBox but additionally cross-compiled critical cross-packages, i.e. x265, for other platforms, like ppc as well. bromolow-6.1 is building correctly via VirtualBox.

I've not been able to cross-compile all supported packages yet: As usual, I wanted to use travis to build across platforms (my Virtualbox took about 4 hours to build one platform). However, all builds fail early as our docker image does not yet contain CMake 3.1 or higher, which is required to build the bumped soxr-0.1.3 dependency. See here for build failures: https://travis-ci.org/m4tt075/spksrc/builds/478538006. @ymartin59 Can we update CMake to 3.1+ or is there risk of collateral damage?

I've checked Tvheadend and Comskip upstream and would not expect any regressions due to the update. On the contrary, the Tvheadend developer has recently bumped his master branch to ffmpeg-4.1 as well. I cannot speak for Chromaprint as I don't know the package well enough. Do youy guys know?

Lastly, I've not yet tackled the VAAPI support issue and am not sure I can do it in the proposed way (see #3222 for the detailed discussion). Does one of you want to take a shot at that one or should we postpone this to a later update in light of an ealier republication (see #3568)?

@ymartin59
Copy link
Contributor

To speed up your work, you may be interested by #3171 (documented in wiki)

@ymartin59
Copy link
Contributor

My opinion is to let VAAPI for later... except I find courage to investigate in my xpenology VM.

@ymartin59
Copy link
Contributor

I have an issue building for x64:

===>  Configuring for ffmpeg
cd /spksrc/spk/ffmpeg/work-x64-6.1/ffmpeg-4.1 && env PKG_CONFIG_LIBDIR=/spksrc/spk/ffmpeg/work-x64-6.1/install//var/packages/ffmpeg/target/lib/pkgconfig WORK_DIR=/spksrc/spk/ffmpeg/work-x64-6.1 INSTALL_PREFIX=/var/packages/ffmpeg/target TC=syno-x64-6.1  LD="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld" LDSHARED="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc -shared" CPP="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-cpp" NM="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-nm" CC="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc" AS="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-as" RANLIB="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ranlib" CXX="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-g++" AR="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ar" STRIP="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-strip" OBJDUMP="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-objdump" READELF="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-readelf" CFLAGS="-I/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/ffmpeg/work-x64-6.1/install//var/packages/ffmpeg/target/include " CPPFLAGS="-I/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/ffmpeg/work-x64-6.1/install//var/packages/ffmpeg/target/include " CXXFLAGS="-I/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/ffmpeg/work-x64-6.1/install//var/packages/ffmpeg/target/include " LDFLAGS="-L/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/lib -L/spksrc/spk/ffmpeg/work-x64-6.1/install//var/packages/ffmpeg/target/lib -Wl,--rpath-link,/spksrc/spk/ffmpeg/work-x64-6.1/install//var/packages/ffmpeg/target/lib -Wl,--rpath,/var/packages/ffmpeg/target/lib " PATH=/spksrc/spk/ffmpeg/work-x64-6.1/../../../native/yasm/work-native/install/usr/local/bin:$PATH ./configure  --target-os=linux --cross-prefix=/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- --prefix=/var/packages/ffmpeg/target --extra-cflags="-I/spksrc/spk/ffmpeg/work-x64-6.1/install/var/packages/ffmpeg/target/include" --extra-ldflags="-L/spksrc/spk/ffmpeg/work-x64-6.1/install/var/packages/ffmpeg/target/lib" --extra-libs="-lxml2 -ldl" --pkg-config=/usr/bin/pkg-config --ranlib=/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ranlib --enable-cross-compile --enable-rpath --enable-pic --enable-shared --enable-optimizations --enable-pthreads --enable-gpl --enable-version3 --enable-fontconfig --enable-libass --enable-libbluray --enable-avresample --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-gnutls --disable-debug --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-static --disable-txtpages --arch=x86_64 --enable-thumb
ERROR: libopenjp2 >= 2.1.0 not found using pkg-config

@ymartin59
Copy link
Contributor

I may have found explanation - prefix is incorrect

root@d3d471bb90ae:/spksrc/spk/ffmpeg# cat work-x64-6.1/install/var/packages/ffmpeg/target/lib/pkgconfig/libopenjp2.pc
prefix=/spksrc/spk/ffmpeg/work-x64-6.1/install/spksrc/spk/ffmpeg/work-x64-6.1/install/var/packages/ffmpeg/target

@m4tt075
Copy link
Contributor Author

m4tt075 commented Jan 12, 2019

Thanks, @ymartin59! I've found another issue, too: libvpx 1.7.0 fails to compile on...

  • `ARM5´ for DSM6.1 and DSM5.2
  • PPC for DSM5.2 (DSM 6.1 build fine for qoriq)
    The error messages seem to indicate that __atomic builtins are lacking. I found hints on the net that downgrading to libvpx 1.6.1 might solve the issue. I'll give it a try.

@ymartin59
Copy link
Contributor

@m4tt075 There is chance projects have move to C++ 11 and recent language/compile versions... so we will have to discard DSM 5 from our targets...

@m4tt075
Copy link
Contributor Author

m4tt075 commented Jan 13, 2019

@ymartin59 I agree. It is mostly old toolchains giving us trouble. For this update, I'd try to shoot for broadest possible 6.x and 5.2 platform support. With this the vast majority of users would have a reasonably recent and license-compatible ffmpeg base package as fall-back option, if we deprecate platform support in the future.

I think I fixed all compilation issues in the meantime. Once more test, and I'll push the fixes, probably later today...

@ymartin59
Copy link
Contributor

@m4tt075 I have just added commit with VAAPI and minor fixes for package PLIST. Hope this does not conflict with your work in progress.

@ymartin59
Copy link
Contributor

For the record, here is a copy of ffmpeg "configure" output where all supported components are listed - more readable that ffbuild/config.log...

===>  Configuring for ffmpeg
cd /spksrc/spk/ffmpeg/work-x64-6.1/ffmpeg-4.1 && env PKG_CONFIG_LIBDIR=/spksrc/spk/ffmpeg/work-x64-6.1/install//var/packages/ffmpeg/target/lib/pkgconfig WORK_DIR=/spksrc/spk/ffmpeg/work-x64-6.1 INSTALL_PREFIX=/var/packages/ffmpeg/target TC=syno-x64-6.1  LD="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld" LDSHARED="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc -shared" CPP="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-cpp" NM="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-nm" CC="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc" AS="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-as" RANLIB="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ranlib" CXX="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-g++" AR="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ar" STRIP="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-strip" OBJDUMP="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-objdump" READELF="/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-readelf" CFLAGS="-I/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/ffmpeg/work-x64-6.1/install//var/packages/ffmpeg/target/include " CPPFLAGS="-I/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/ffmpeg/work-x64-6.1/install//var/packages/ffmpeg/target/include " CXXFLAGS="-I/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/include -I/spksrc/spk/ffmpeg/work-x64-6.1/install//var/packages/ffmpeg/target/include " LDFLAGS="-L/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/lib -L/spksrc/spk/ffmpeg/work-x64-6.1/install//var/packages/ffmpeg/target/lib -Wl,--rpath-link,/spksrc/spk/ffmpeg/work-x64-6.1/install//var/packages/ffmpeg/target/lib -Wl,--rpath,/var/packages/ffmpeg/target/lib " PATH=/spksrc/spk/ffmpeg/work-x64-6.1/../../../native/yasm/work-native/install/usr/local/bin:$PATH ./configure  --target-os=linux --cross-prefix=/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- --prefix=/var/packages/ffmpeg/target --extra-cflags="-I/spksrc/spk/ffmpeg/work-x64-6.1/install/var/packages/ffmpeg/target/include" --extra-ldflags="-L/spksrc/spk/ffmpeg/work-x64-6.1/install/var/packages/ffmpeg/target/lib" --extra-libs="-lxml2 -ldl" --pkg-config=/usr/bin/pkg-config --ranlib=/spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ranlib --enable-cross-compile --enable-rpath --enable-pic --enable-shared --enable-optimizations --enable-pthreads --enable-gpl --enable-version3 --enable-fontconfig --enable-libass --enable-libbluray --enable-avresample --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-gnutls --disable-debug --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-static --disable-txtpages --arch=x86_64 --enable-thumb --enable-vaapi
install prefix            /var/packages/ffmpeg/target
source path               .
C compiler                /spksrc/toolchains/syno-x64-6.1/work/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc
C library                 glibc
host C compiler           gcc
host C library            glibc
ARCH                      x86 (generic)
big-endian                no
runtime cpu detection     yes
standalone assembly       yes
x86 assembler             yasm
MMX enabled               yes
MMXEXT enabled            yes
3DNow! enabled            yes
3DNow! extended enabled   yes
SSE enabled               yes
SSSE3 enabled             yes
AESNI enabled             yes
AVX enabled               yes
AVX2 enabled              yes
AVX-512 enabled           yes
XOP enabled               yes
FMA3 enabled              yes
FMA4 enabled              yes
i686 features enabled     yes
CMOV is fast              yes
EBX available             yes
EBP available             yes
debug symbols             no
strip symbols             yes
optimize for size         no
optimizations             yes
static                    no
shared                    yes
postprocessing support    yes
network support           yes
threading support         pthreads
safe bitstream reader     yes
texi2html enabled         no
perl enabled              yes
pod2man enabled           yes
makeinfo enabled          no
makeinfo supports HTML    no

External libraries:
gnutls			libfribidi		librtmp			libvorbis
iconv			libmp3lame		libsoxr			libvpx
libass			libopencore_amrnb	libspeex		libx264
libbluray		libopencore_amrwb	libtheora		libx265
libfontconfig		libopenjpeg		libvo_amrwbenc		zlib
libfreetype		libopus

External libraries providing hardware acceleration:
vaapi

Libraries:
avcodec			avformat		avutil			swresample
avdevice		avresample		postproc		swscale
avfilter

Programs:
ffmpeg			ffprobe

Enabled decoders:
aac			atrac3p			eightsvx_fib		libvpx_vp9
aac_fixed		atrac3pal		escape124		loco
aac_latm		atrac9			escape130		m101
aasc			aura			evrc			mace3
ac3			aura2			exr			mace6
ac3_fixed		avrn			ffv1			magicyuv
adpcm_4xm		avrp			ffvhuff			mdec
adpcm_adx		avs			ffwavesynth		metasound
adpcm_afc		avui			fic			microdvd
adpcm_aica		ayuv			fits			mimic
adpcm_ct		bethsoftvid		flac			mjpeg
adpcm_dtk		bfi			flashsv			mjpegb
adpcm_ea		bink			flashsv2		mlp
adpcm_ea_maxis_xa	binkaudio_dct		flic			mmvideo
adpcm_ea_r1		binkaudio_rdft		flv			motionpixels
adpcm_ea_r2		bintext			fmvc			movtext
adpcm_ea_r3		bitpacked		fourxm			mp1
adpcm_ea_xas		bmp			fraps			mp1float
adpcm_g722		bmv_audio		frwu			mp2
adpcm_g726		bmv_video		g2m			mp2float
adpcm_g726le		brender_pix		g723_1			mp3
adpcm_ima_amv		c93			g729			mp3adu
adpcm_ima_apc		cavs			gdv			mp3adufloat
adpcm_ima_dat4		ccaption		gif			mp3float
adpcm_ima_dk3		cdgraphics		gremlin_dpcm		mp3on4
adpcm_ima_dk4		cdxl			gsm			mp3on4float
adpcm_ima_ea_eacs	cfhd			gsm_ms			mpc7
adpcm_ima_ea_sead	cinepak			h261			mpc8
adpcm_ima_iss		clearvideo		h263			mpeg1video
adpcm_ima_oki		cljr			h263i			mpeg2video
adpcm_ima_qt		cllc			h263p			mpeg4
adpcm_ima_rad		comfortnoise		h264			mpegvideo
adpcm_ima_smjpeg	cook			hap			mpl2
adpcm_ima_wav		cpia			hevc			msa1
adpcm_ima_ws		cscd			hnm4_video		mscc
adpcm_ms		cyuv			hq_hqa			msmpeg4v1
adpcm_mtaf		dca			hqx			msmpeg4v2
adpcm_psx		dds			huffyuv			msmpeg4v3
adpcm_sbpro_2		dfa			iac			msrle
adpcm_sbpro_3		dirac			idcin			mss1
adpcm_sbpro_4		dnxhd			idf			mss2
adpcm_swf		dolby_e			iff_ilbm		msvideo1
adpcm_thp		dpx			ilbc			mszh
adpcm_thp_le		dsd_lsbf		imc			mts2
adpcm_vima		dsd_lsbf_planar		imm4			mvc1
adpcm_xa		dsd_msbf		indeo2			mvc2
adpcm_yamaha		dsd_msbf_planar		indeo3			mwsc
aic			dsicinaudio		indeo4			mxpeg
alac			dsicinvideo		indeo5			nellymoser
alias_pix		dss_sp			interplay_acm		nuv
als			dst			interplay_dpcm		on2avc
amrnb			dvaudio			interplay_video		opus
amrwb			dvbsub			jacosub			paf_audio
amv			dvdsub			jpeg2000		paf_video
anm			dvvideo			jpegls			pam
ansi			dxa			jv			pbm
ape			dxtory			kgv1			pcm_alaw
apng			dxv			kmvc			pcm_bluray
aptx			eac3			lagarith		pcm_dvd
aptx_hd			eacmv			libopencore_amrnb	pcm_f16le
ass			eamad			libopencore_amrwb	pcm_f24le
asv1			eatgq			libopenjpeg		pcm_f32be
asv2			eatgv			libopus			pcm_f32le
atrac1			eatqi			libspeex		pcm_f64be
atrac3			eightbps		libvorbis		pcm_f64le
atrac3al		eightsvx_exp		libvpx_vp8		pcm_lxf
pcm_mulaw		r10k			subviewer1		vp6a
pcm_s16be		r210			sunrast			vp6f
pcm_s16be_planar	ra_144			svq1			vp7
pcm_s16le		ra_288			svq3			vp8
pcm_s16le_planar	ralf			tak			vp9
pcm_s24be		rasc			targa			vplayer
pcm_s24daud		rawvideo		targa_y216		vqa
pcm_s24le		realtext		tdsc			wavpack
pcm_s24le_planar	rl2			text			wcmv
pcm_s32be		roq			theora			webp
pcm_s32le		roq_dpcm		thp			webvtt
pcm_s32le_planar	rpza			tiertexseqvideo		wmalossless
pcm_s64be		rscc			tiff			wmapro
pcm_s64le		rv10			tmv			wmav1
pcm_s8			rv20			truehd			wmav2
pcm_s8_planar		rv30			truemotion1		wmavoice
pcm_u16be		rv40			truemotion2		wmv1
pcm_u16le		s302m			truemotion2rt		wmv2
pcm_u24be		sami			truespeech		wmv3
pcm_u24le		sanm			tscc			wmv3image
pcm_u32be		sbc			tscc2			wnv1
pcm_u32le		scpr			tta			wrapped_avframe
pcm_u8			screenpresso		twinvq			ws_snd1
pcm_vidc		sdx2_dpcm		txd			xan_dpcm
pcm_zork		sgi			ulti			xan_wc3
pcx			sgirle			utvideo			xan_wc4
pgm			sheervideo		v210			xbin
pgmyuv			shorten			v210x			xbm
pgssub			sipr			v308			xface
pictor			smackaud		v408			xl
pixlet			smacker			v410			xma1
pjs			smc			vb			xma2
png			smvjpeg			vble			xpm
ppm			snow			vc1			xsub
prores			sol_dpcm		vc1image		xwd
prosumer		sonic			vcr1			y41p
psd			sp5x			vmdaudio		ylc
ptx			speedhq			vmdvideo		yop
qcelp			srgc			vmnc			yuv4
qdm2			srt			vorbis			zero12v
qdmc			ssa			vp3			zerocodec
qdraw			stl			vp5			zlib
qpeg			subrip			vp6			zmbv
qtrle			subviewer

Enabled encoders:
a64multi		flv			pcm_alaw		roq_dpcm
a64multi5		g723_1			pcm_f32be		rv10
aac			gif			pcm_f32le		rv20
ac3			h261			pcm_f64be		s302m
ac3_fixed		h263			pcm_f64le		sbc
adpcm_adx		h263p			pcm_mulaw		sgi
adpcm_g722		h264_vaapi		pcm_s16be		snow
adpcm_g726		hevc_vaapi		pcm_s16be_planar	sonic
adpcm_g726le		huffyuv			pcm_s16le		sonic_ls
adpcm_ima_qt		jpeg2000		pcm_s16le_planar	srt
adpcm_ima_wav		jpegls			pcm_s24be		ssa
adpcm_ms		libmp3lame		pcm_s24daud		subrip
adpcm_swf		libopencore_amrnb	pcm_s24le		sunrast
adpcm_yamaha		libopenjpeg		pcm_s24le_planar	svq1
alac			libopus			pcm_s32be		targa
alias_pix		libspeex		pcm_s32le		text
amv			libtheora		pcm_s32le_planar	tiff
apng			libvo_amrwbenc		pcm_s64be		truehd
aptx			libvorbis		pcm_s64le		tta
aptx_hd			libvpx_vp8		pcm_s8			utvideo
ass			libvpx_vp9		pcm_s8_planar		v210
asv1			libx264			pcm_u16be		v308
asv2			libx264rgb		pcm_u16le		v408
avrp			libx265			pcm_u24be		v410
avui			ljpeg			pcm_u24le		vc2
ayuv			magicyuv		pcm_u32be		vorbis
bmp			mjpeg			pcm_u32le		vp8_vaapi
cinepak			mjpeg_vaapi		pcm_u8			vp9_vaapi
cljr			mlp			pcm_vidc		wavpack
comfortnoise		movtext			pcx			webvtt
dca			mp2			pgm			wmav1
dnxhd			mp2fixed		pgmyuv			wmav2
dpx			mpeg1video		png			wmv1
dvbsub			mpeg2_vaapi		ppm			wmv2
dvdsub			mpeg2video		prores			wrapped_avframe
dvvideo			mpeg4			prores_aw		xbm
eac3			msmpeg4v2		prores_ks		xface
ffv1			msmpeg4v3		qtrle			xsub
ffvhuff			msvideo1		r10k			xwd
fits			nellymoser		r210			y41p
flac			opus			ra_144			yuv4
flashsv			pam			rawvideo		zlib
flashsv2		pbm			roq			zmbv

Enabled hwaccels:
h263_vaapi		mjpeg_vaapi		vc1_vaapi		vp9_vaapi
h264_vaapi		mpeg2_vaapi		vp8_vaapi		wmv3_vaapi
hevc_vaapi		mpeg4_vaapi

Enabled parsers:
aac			dnxhd			h264			rv40
aac_latm		dpx			hevc			sbc
ac3			dvaudio			mjpeg			sipr
adx			dvbsub			mlp			tak
av1			dvd_nav			mpeg4video		vc1
avs2			dvdsub			mpegaudio		vorbis
bmp			flac			mpegvideo		vp3
cavsvideo		g729			opus			vp8
cook			gsm			png			vp9
dca			h261			pnm			xma
dirac			h263			rv30

Enabled demuxers:
aa			ea_cdata		ivf			pcm_u32be
aac			eac3			ivr			pcm_u32le
ac3			epaf			jacosub			pcm_u8
acm			ffmetadata		jv			pcm_vidc
act			filmstrip		live_flv		pjs
adf			fits			lmlm4			pmp
adp			flac			loas			pva
ads			flic			lrc			pvf
adx			flv			lvf			qcp
aea			fourxm			lxf			r3d
afc			frm			m4v			rawvideo
aiff			fsb			matroska		realtext
aix			g722			mgsts			redspark
amr			g723_1			microdvd		rl2
amrnb			g726			mjpeg			rm
amrwb			g726le			mjpeg_2000		roq
anm			g729			mlp			rpl
apc			gdv			mlv			rsd
ape			genh			mm			rso
apng			gif			mmf			rtp
aptx			gsm			mov			rtsp
aptx_hd			gxf			mp3			s337m
aqtitle			h261			mpc			sami
asf			h263			mpc8			sap
asf_o			h264			mpegps			sbc
ass			hevc			mpegts			sbg
ast			hls			mpegtsraw		scc
au			hnm			mpegvideo		sdp
avi			ico			mpjpeg			sdr2
avr			idcin			mpl2			sds
avs			idf			mpsub			sdx
avs2			iff			msf			segafilm
bethsoftvid		ilbc			msnwc_tcp		ser
bfi			image2			mtaf			shorten
bfstm			image2_alias_pix	mtv			siff
bink			image2_brender_pix	musx			sln
bintext			image2pipe		mv			smacker
bit			image_bmp_pipe		mvi			smjpeg
bmv			image_dds_pipe		mxf			smush
boa			image_dpx_pipe		mxg			sol
brstm			image_exr_pipe		nc			sox
c93			image_j2k_pipe		nistsphere		spdif
caf			image_jpeg_pipe		nsp			srt
cavsvideo		image_jpegls_pipe	nsv			stl
cdg			image_pam_pipe		nut			str
cdxl			image_pbm_pipe		nuv			subviewer
cine			image_pcx_pipe		ogg			subviewer1
codec2			image_pgm_pipe		oma			sup
codec2raw		image_pgmyuv_pipe	paf			svag
concat			image_pictor_pipe	pcm_alaw		swf
data			image_png_pipe		pcm_f32be		tak
daud			image_ppm_pipe		pcm_f32le		tedcaptions
dcstr			image_psd_pipe		pcm_f64be		thp
dfa			image_qdraw_pipe	pcm_f64le		threedostr
dirac			image_sgi_pipe		pcm_mulaw		tiertexseq
dnxhd			image_sunrast_pipe	pcm_s16be		tmv
dsf			image_svg_pipe		pcm_s16le		truehd
dsicin			image_tiff_pipe		pcm_s24be		tta
dss			image_webp_pipe		pcm_s24le		tty
dts			image_xpm_pipe		pcm_s32be		txd
dtshd			image_xwd_pipe		pcm_s32le		ty
dv			ingenient		pcm_s8			v210
dvbsub			ipmovie			pcm_u16be		v210x
dvbtxt			ircam			pcm_u16le		vag
dxa			iss			pcm_u24be		vc1
ea			iv8			pcm_u24le		vc1t
vivo			w64			wsd			xbin
vmd			wav			wsvqa			xmv
vobsub			wc3			wtv			xvag
voc			webm_dash_manifest	wv			xwma
vpk			webvtt			wve			yop
vplayer			wsaud			xa			yuv4mpegpipe
vqf

Enabled muxers:
a64			framemd5		mpeg1video		rm
ac3			g722			mpeg2dvd		roq
adts			g723_1			mpeg2svcd		rso
adx			g726			mpeg2video		rtp
aiff			g726le			mpeg2vob		rtp_mpegts
amr			gif			mpegts			rtsp
apng			gsm			mpjpeg			sap
aptx			gxf			mxf			sbc
aptx_hd			h261			mxf_d10			scc
asf			h263			mxf_opatom		segafilm
asf_stream		h264			null			segment
ass			hash			nut			singlejpeg
ast			hds			oga			smjpeg
au			hevc			ogg			smoothstreaming
avi			hls			ogv			sox
avm2			ico			oma			spdif
avs2			ilbc			opus			spx
bit			image2			pcm_alaw		srt
caf			image2pipe		pcm_f32be		stream_segment
cavsvideo		ipod			pcm_f32le		sup
codec2			ircam			pcm_f64be		swf
codec2raw		ismv			pcm_f64le		tee
crc			ivf			pcm_mulaw		tg2
dash			jacosub			pcm_s16be		tgp
data			latm			pcm_s16le		truehd
daud			lrc			pcm_s24be		tta
dirac			m4v			pcm_s24le		uncodedframecrc
dnxhd			matroska		pcm_s32be		vc1
dts			matroska_audio		pcm_s32le		vc1t
dv			md5			pcm_s8			voc
eac3			microdvd		pcm_u16be		w64
f4v			mjpeg			pcm_u16le		wav
ffmetadata		mkvtimestamp_v2		pcm_u24be		webm
fifo			mlp			pcm_u24le		webm_chunk
fifo_test		mmf			pcm_u32be		webm_dash_manifest
filmstrip		mov			pcm_u32le		webp
fits			mp2			pcm_u8			webvtt
flac			mp3			pcm_vidc		wtv
flv			mp4			psp			wv
framecrc		mpeg1system		rawvideo		yuv4mpegpipe
framehash		mpeg1vcd

Enabled protocols:
async			hls			librtmpt		srtp
bluray			http			librtmpte		subfile
cache			httpproxy		md5			tcp
concat			https			mmsh			tee
crypto			icecast			mmst			tls
data			librtmp			pipe			udp
file			librtmpe		prompeg			udplite
ftp			librtmps		rtp			unix
gopher

Enabled filters:
abench			astats			doubleweave		kerndeint
abitscope		astreamselect		drawbox			lenscorrection
acompressor		atadenoise		drawgraph		life
acontrast		atempo			drawgrid		limiter
acopy			atrim			drawtext		loop
acrossfade		avectorscope		drmeter			loudnorm
acrossover		avgblur			dynaudnorm		lowpass
acrusher		bandpass		earwax			lowshelf
acue			bandreject		ebur128			lumakey
adeclick		bass			edgedetect		lut
adeclip			bbox			elbg			lut1d
adelay			bench			entropy			lut2
aderivative		biquad			eq			lut3d
adrawgraph		bitplanenoise		equalizer		lutrgb
aecho			blackdetect		erosion			lutyuv
aemphasis		blackframe		extractplanes		mandelbrot
aeval			blend			extrastereo		maskedclamp
aevalsrc		bm3d			fade			maskedmerge
afade			boxblur			fftdnoiz		mcdeint
afftdn			bwdif			fftfilt			mcompand
afftfilt		cellauto		field			mergeplanes
afifo			channelmap		fieldhint		mestimate
afir			channelsplit		fieldmatch		metadata
aformat			chorus			fieldorder		midequalizer
agate			chromahold		fifo			minterpolate
agraphmonitor		chromakey		fillborders		mix
ahistogram		ciescope		find_rect		movie
aiir			codecview		firequalizer		mpdecimate
aintegral		color			flanger			mptestsrc
ainterleave		colorbalance		floodfill		negate
alimiter		colorchannelmixer	format			nlmeans
allpass			colorkey		fps			nnedi
allrgb			colorlevels		framepack		noformat
allyuv			colormatrix		framerate		noise
aloop			colorspace		framestep		normalize
alphaextract		compand			fspp			null
alphamerge		compensationdelay	gblur			nullsink
amerge			concat			geq			nullsrc
ametadata		convolution		gradfun			oscilloscope
amix			convolve		graphmonitor		overlay
amovie			copy			greyedge		owdenoise
amplify			cover_rect		haas			pad
amultiply		crop			haldclut		pal100bars
anequalizer		cropdetect		haldclutsrc		pal75bars
anoisesrc		crossfeed		hdcd			palettegen
anull			crystalizer		headphone		paletteuse
anullsink		cue			hflip			pan
anullsrc		curves			highpass		perms
apad			datascope		highshelf		perspective
aperms			dcshift			hilbert			phase
aphasemeter		dctdnoiz		histeq			pixdesctest
aphaser			deband			histogram		pixscope
apulsator		deblock			hqdn3d			pp
arealtime		decimate		hqx			pp7
aresample		deconvolve		hstack			premultiply
areverse		deflate			hue			prewitt
aselect			deflicker		hwdownload		procamp_vaapi
asendcmd		deinterlace_vaapi	hwmap			pseudocolor
asetnsamples		dejudder		hwupload		psnr
asetpts			delogo			hysteresis		pullup
asetrate		denoise_vaapi		idet			qp
asettb			deshake			il			random
ashowinfo		despill			inflate			readeia608
asidedata		detelecine		interlace		readvitc
asplit			dilation		interleave		realtime
ass			displace		join			remap
removegrain		showfreqs		spp			treble
removelogo		showinfo		sr			tremolo
repeatfields		showpalette		ssim			trim
replaygain		showspectrum		stereo3d		unpremultiply
resample		showspectrumpic		stereotools		unsharp
reverse			showvolume		stereowiden		uspp
rgbtestsrc		showwaves		streamselect		vaguedenoiser
roberts			showwavespic		subtitles		vectorscope
rotate			shuffleframes		super2xsai		vflip
sab			shuffleplanes		superequalizer		vfrdet
scale			sidechaincompress	surround		vibrance
scale2ref		sidechaingate		swaprect		vibrato
scale_vaapi		sidedata		swapuv			vignette
select			signalstats		tblend			vmafmotion
selectivecolor		signature		telecine		volume
sendcmd			silencedetect		testsrc			volumedetect
separatefields		silenceremove		testsrc2		vstack
setdar			sinc			threshold		w3fdif
setfield		sine			thumbnail		waveform
setparams		smartblur		tile			weave
setpts			smptebars		tinterlace		xbr
setrange		smptehdbars		tlut2			xstack
setsar			sobel			tmix			yadif
settb			spectrumsynth		tonemap			yuvtestsrc
sharpness_vaapi		split			transpose		zoompan
showcqt

Enabled bsfs:
aac_adtstoasc		h264_metadata		mjpega_dump_header	remove_extradata
av1_metadata		h264_mp4toannexb	mov2textsub		text2movsub
chomp			h264_redundant_pps	mp3_header_decompress	trace_headers
dca_core		hapqa_extract		mpeg2_metadata		vp9_metadata
dump_extradata		hevc_metadata		mpeg4_unpack_bframes	vp9_raw_reorder
eac3_core		hevc_mp4toannexb	noise			vp9_superframe
extract_extradata	imx_dump_header		null			vp9_superframe_split
filter_units		mjpeg2jpeg

Enabled indevs:
fbdev			lavfi			oss			v4l2

Enabled outdevs:
fbdev			oss			v4l2

License: GPL version 3 or later

WARNING: Building with deprecated library libavresample

@m4tt075 Probably it may be a good idea no longer build libavresample already.

Copy link
Contributor Author

@m4tt075 m4tt075 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PLIST fixes are fine, but you introduce cross/mpfr/Makefile without referencing it anywhere. On purpose or some relic that should not be there?

@m4tt075
Copy link
Contributor Author

m4tt075 commented Jan 13, 2019

@ymartin59

Hope this does not conflict with your work in progress.

Just the fc-conflist fix. No worries! And great you've added VAAPI already! :-)
Just pushed two more fixes:

  • Reverting the libvpx update, which reestablishes ARM5 and PPC support for now.
  • A fixup to eleminate lib/hdr10plus.so from the PLIST for those platforms that don't build it

I've tested the fixes here: https://travis-ci.org/m4tt075/spksrc/builds/478878584
They do not include your VAAPI commit yet. And I had to temporarily downgrade soxr to avoid the CMake versioning conflict with our current docker image file. As you will see the x64 builds failed there. I believe this is due to our current docker image, too, as I was able to build those packages in my VirtualBox environment and you mentioned yesterday that you were able to build x64 using your new image too.

I've looked into libavresample, as it used to be a dependency of tvheadend. Good news. It is no longer. We can remove it again. With that I only see the following To-Dos anymore:

  • Removing the libavresample dependency and testing Tvheadend. If you are fine, I'd take care of this tonight
  • Reverting the fdk-aac removal commit, upgrading fdk-aac to latest release and including it as optional for manual building only. Please go for it if you want to or let me know if you want me to do it.
  • Whatever else I've overseen and you are still missing
  • Create test-builds for all platforms for testing. As I cannot access your new docker image and I'd have to use travis, could you take care of this, please, when the rest is done?

@lLogan I remember that you had further comments on our ffmpeg configuation options in mind that you offered to share. I believe this could be a good time. @ymartin59 has posted them here: #3575 (comment)
Could you review them and comment, please?

@ymartin59
Copy link
Contributor

@hgy59 Your contribution to include VAAPI into FFmpeg is not included in v4.1 package version. Have you got any hint how to confirm this support is effectively in use when processing media file?
Here is x64 test package I have just built with VAAPI included:
ffmpeg_x64-6.1_4.1-11.spk.zip

.PHONY: ffmpeg_custom_pre_copy
ffmpeg_custom_pre_copy: $(INSTALL_PLIST)
# Remove libhdr10plus reference from PLIST if it isn't available on the platform (e.g. 88f6281)
test -f $(INSTALL_DIR)$(INSTALL_PREFIX)/lib/libhdr10plus.so || sed -i -e '/:lib\/libhdr10plus.so/d' $(INSTALL_PLIST)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@m4tt075 Such PLIST operation already has a support in framework... I have discovered thanks to Allan commit with PLIST_TRANSFORM variable at a037093

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool! Never noticed this option! Yes, will apply this as well.
Just building again, on 1 core in my VM. The waiting time is killing me... ;-)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ymartin59 I'm struggeling to implement your request. According to my testing, on shell level, the following command (all in one row) should work within the pipe:
PLIST_TRANSFORM = if [ -f $(INSTALL_DIR)$(INSTALL_PREFIX)/lib/libhdr10plus.so ] ; then sed -e '/lib\/libhdr10plus.so/d' ; else cat ; fi
However, if I insert this expression into the Makefile variable, it doesn't work. It might be an escaping issue, but all of my attempts failed so far. Can you advise, please?

@ghost
Copy link

ghost commented Jan 14, 2019

@lLogan I remember that you had further comments on our ffmpeg configuation options in mind that you offered to share. I believe this could be a good time.

Minor configure comments:

  • --enable-optimizations --enable-pthreads These are automatically detected.

  • --enable-librtmp FFmpeg has a native RTMP implementation. I only found one bug report where librtmp is required, but it is 3 years old I don't know if it is still valid. So you can consider removing this and have one less dependency if you prefer.

  • --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libvo-amrwbenc --enable-libtheora Legacy/niche formats of limited usefulness. You can remove --enable-version3 if you remove the three amr options.

  • --disable-doc Why disable documentation generation? --disable-htmlpages --disable-manpages --disable-podpages are probably superfluous with --disable-doc.

Other stuff:

  • nasm is "preferred" over yasm, but both are supported.

  • Why --disable-asm for some ARM? (Just wondering. I'm not an ASM guy and I don't use ARM either.) This question also applies to your x264 Makefile. Won't that result in using CPU capabilities: none! and therefore a significant slowdown in encoding with libx264?

@m4tt075
Copy link
Contributor Author

m4tt075 commented Jan 16, 2019

@lLogan Many thanks for your comments and suggestions! Very helpful! I've implemented all of them in terms of separate commits. Unfortunately ARM platforms are not supported by nasm so we cannot use it.

@ymartin59 @cytec Additionally, I've removed the libavresample compilation (no longer required) and reintroduced an up-to-date version of libfdk-aac for DIY builders. The package compiles across platforms on DSM 5.2, 6.1 and 6.2. See here: https://travis-ci.org/m4tt075/spksrc/builds/480064545 (build failures of x64 most likely due to dockerimage, as they do build in my VM). The only point (I believe!) I've not been able to tackle (likely due to lack of scripting skills) is the utilization of PLIST_TRANSFORM instead of pre_copy_target to remove libhdr10plus.so from the PLIST.

Would you take another look, please, and let me know whether you agree with the current shape of the package and the applied changes so far? Any further change requests (and/or advice how to employ PLIST_TRANSFORM), please just let me know as well...

@ghost
Copy link

ghost commented Jan 16, 2019

Regarding 015c02f: you may get a few users complaining about the lack of Theora encoding (and probably even fewer complaints about the other dropped external libraries in a401113). For Theora, I usually tell users that VP9/VP8 (encoders libvpx-vp9/libvpx) are valid, modern replacements and should be supported by most browsers that support Theora. Of course they can always compile it themselves if it is a requirement.

@m4tt075
Copy link
Contributor Author

m4tt075 commented Jan 16, 2019

Understood. Thanks a lot, @lLogan I'm not aware of using any of these niche formats recently, but I'm definitely not a power user in terms of codecs nor any kind of authority of what our users need. I appreciated your "slimming down" approach a lot because it reduces (potentially) unnecessary complexity, build size, build time and (for the future) maintenance efforts. On the other hand, each of those commits can be reverted easily again. I know the "all-in" package builds and the "fully-slimmed-down" package builds. It is just a matter of picking and chosing and squashing the commits we want at the end.

@ymartin59 and @cytec have way more experience with our community, ffmpeg and everything else related to open source development, so I'll happily wait for their guidance... :-)

@ymartin59
Copy link
Contributor

@lLogan Thanks. May you please provide some hints about how to check ffmpeg binary properly uses VAAPI on Intel platform?

@ghost
Copy link

ghost commented Jan 17, 2019

@ymartin59 Unfortunately I've never used VAAPI and I don't have the hardware to try it, so I don'y really know anything about it. The wiki has some info:

https://trac.ffmpeg.org/wiki/HWAccelIntro
https://trac.ffmpeg.org/wiki/Hardware/VAAPI
https://trac.ffmpeg.org/wiki/Hardware/QuickSync

@m4tt075
Copy link
Contributor Author

m4tt075 commented Jan 18, 2019

@ymartin59 Would be great if you or @cytec could test HW-acceleration really. I have failed to activate direct rendering for my XPE6.1 VirtualBox image. Not sure it is because of my system or the XPE image, but I don't get any /dev/dri/ devices. Do you have access to some native x64 platform?

@m4tt075
Copy link
Contributor Author

m4tt075 commented Jan 19, 2019

@ymartin59 Just saw the to-publish flag. Do you want me to squash the fixups and drop the obsolete commits and reverts now?

@ymartin59
Copy link
Contributor

@m4tt075 Just as a reminder. I am preparing chromaprint and comskip updates against ffmpeg... My idea is to keep only 3 commits with work of each contributors separated (you, me and hgy59). No urgency until other dependent packages are tested too.

@m4tt075
Copy link
Contributor Author

m4tt075 commented Jan 31, 2019

@ymartin59 I've been working on separating the ffmpeg dependency out from Tvheadend, just like you did for chromaprint and comskip. I got it working in the meantime. Your approach with linking to ffmpeg is great!!! On my way, I've encountered regressions with this ffmpeg branch though. I'm convinced they are due to the reversion of your framework change. I've just pushed fixes. Please feel free to squash them into your commit or replace them with better versions, however you deem appropriate.

@ymartin59
Copy link
Contributor

@m4tt075 In fact the "fixes" comes from the commit revert action done on "master"... when #3595 will be ready and merged, it will be much clearer.

@m4tt075
Copy link
Contributor Author

m4tt075 commented Feb 2, 2019

Understood. I missed cherry-picking #3595 when I reworked Tvheadend...

@m4tt075
Copy link
Contributor Author

m4tt075 commented Feb 2, 2019

Just let me know if you want me to drop the fixups and force-push again.

@ymartin59 ymartin59 changed the title [WIP] Update ffmpeg to 4.1 and all dependencies to latest release, including build fixes Update ffmpeg to 4.1 and all dependencies to latest release, including build fixes Feb 3, 2019
m4tt075 and others added 3 commits February 4, 2019 08:08
- Disable libfdk-acc by default
- Remove openssl dependencies
- Fix licensing information
- [ffmpeg] Update gnutls cross-package to 3.6.4
- [gnutls] Add missing toolchain-triplets to gmp cross package
- [gnutls] Update nettle cross-package to 3.4 and fix x86 compilation issues
- [gnutls] Update libtasn1 cross-package to 4.13
- [gnutls] Update libunistring cross-package to 0.9.10
- [ffmpeg] Update ffmpeg to version 4.1 (latest release)
- [freetype] Update libpng cross package to 1.6.36
- [ffmpeg] Update fribidi cross package to 1.0.5 and remove obsolete patch
- [libass] Update fontconfig cross package to 2.13.1 and add dependency to util-linux cross package
- [libass] Update expat cross package to 2.2.6
- [libass] Update util-linux cross package to 2.33.1
- [libbluray] Update libxml2 cross package to 2.9.9
- [ffmpeg] Update libvorbis cross package to 1.3.6
- [openjpeg] Update tiff cross package to 4.0.10
- [ffmpeg] Update opus cross package to 1.3
- [ffmpeg] Update soxr cross package to 0.1.3
- [ffmpeg] Update x264 cross package to 20190109-2245-stable
- [ffmpeg] Update native nasm package to 2.14.02 and include pure_func fix
- [ffmpeg] Update x265 cross package to 2.9, fix HDR10Plus support and reintegrate ppc architecture
- [ffmpeg] Replace yasm by nasm for building
- [ffmpeg] Remove --enable-optimizations --enable-pthreads options as automatically detected
- [ffmpeg] Remove librtmp dependency and cross-package, using built-in implementation
- [ffmpeg] Remove libtheora dependency from build, as niche format
- [ffmpeg] Remove opencore-amr, vo-amrwbenc and openjpeg dependencies and cross-packages as niche formats
- [ffmpeg] Remove superfluous documentation configuration options
- [ffmpeg] Update fdk-aac cross package to 2.0.0 (for DIY-builders only)
- vaapi is for intel x64 archs only
- update libva from 2.0.0 to 2.1.0
- add libva-utils (vainfo) and intel-vaapi-driver for ffmpeg with vaapi
Simplicity comes with framework improvements
Depends on SynoCommunity#3592 and SynoCommunity#3595
@stefaang
Copy link
Contributor

stefaang commented Feb 4, 2019

Minor issue I saw

===>  Configuring for expat
...
checking for db2x_docbook2man... no
checking for docbook2man... docbook2man
configure: error: Your local docbook2man was found to work with SGML rather
  than XML. Please install docbook2X and use variable DOCBOOK_TO_MAN to point
  configure to command docbook2x-man of docbook2X.
  Or use DOCBOOK_TO_MAN="xmlto man --skip-validation" if you have xmlto around.
  You can also configure using --without-docbook if you can do without a man
  page for xmlwf.

Fixed by installing doc2manx.

@ymartin59
Copy link
Contributor

@stefaang Thanks. Tools are available in Docker image, but I agree to disable documentation generation, what we usually do.

@ghost
Copy link

ghost commented Feb 11, 2019

FFmpeg 4.1.1 has been released. As with all point releases there are no backwards incompatible changes, so it should be a drop-in replacement for 4.1. Changelog.

@m4tt075
Copy link
Contributor Author

m4tt075 commented Feb 11, 2019

@lLogan After all we've been through? I'm afraid we need (and hopefully deserve) an ffmpeg break for now? ;-)

@ghost
Copy link

ghost commented Feb 11, 2019

I just wanted to mention it in case this was still open/being worked on. I couldn't tell what the current status is.

Thanks for all of your work and dealing with the license issue.

@m4tt075
Copy link
Contributor Author

m4tt075 commented Feb 11, 2019

@lLogan It is alright, really! It has been a long journey for us. We've just merged ffmpeg and all the packages relying on ffmpeg we are "shipping". We are a very small team. We will tackle the point release as soon as people run into issues, which the point releases resolve.

But on a very serious note: Thank YOU for your very kind notice of where we went wrong AND for leading the way on how to resolve things. ffmpeg is an amazing and outstanding package, that enables so many software solutions. You guys deserve way more credit than you receive. Truely, very much appreciated!!!

@techbliss
Copy link

Will the ffmpeg 4.1 work with latest version of DS video, or is there still trouble with playback.

@ymartin59
Copy link
Contributor

We did nothing special for DS video... I have not tested neither myself.

@jonozzz
Copy link

jonozzz commented Apr 19, 2019

Just FYI, VAAPI doesn't work in 4.1 on my intel a based NAS. 4.0 branch doesn't have this issue. There's another issue opened #3688 tracking all this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants