Re: UPDATE: FFmpeg 20140912
On 14/09/14 11:56 AM, Josh Grosse wrote: On Fri, Sep 12, 2014 at 12:07:22PM -0400, Brad Smith wrote: Here is an update to a newer FFmpeg snapshot from 20140912. Mainly to fix bugs with HEVC and VP9 decoding (among the other bug fixes coming in). I cannot build on i386: Yes, thanks. I noticed this yesterday when I was able to get access to an i386 system to build test with. This register pressure issue with i386 is a total pain in the ass and it's just going to get worse when TLS enters the picture. In file included from libpostproc/postprocess.c:560: libpostproc/postprocess_template.c:2169:9: error: inline assembly requires more registers than available lea (%2, %2, 2), %%REG_a \n\t // 3*stride Build log resides at http://jggimi.homeip.net/ffmpeg-20140912.log -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
Re: UPDATE: FFmpeg 20140912
On 12/09/14 12:07 PM, Brad Smith wrote: Here is an update to a newer FFmpeg snapshot from 20140912. Mainly to fix bugs with HEVC and VP9 decoding (among the other bug fixes coming in). OK? I'm going to hold off on this as is as I wasn't aware that 2.4 was going to be branched 3 days after this snapshot and I'll roll another snap from that branch instead. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
Re: UPDATE: FFmpeg 20140912
On Sat, Sep 13, 2014 at 09:49:11AM -0400, Brad Smith wrote: On 12/09/14 1:14 PM, Landry Breuil wrote: On Fri, Sep 12, 2014 at 12:07:22PM -0400, Brad Smith wrote: Here is an update to a newer FFmpeg snapshot from 20140912. Mainly to fix bugs with HEVC and VP9 decoding (among the other bug fixes coming in). Here's what we have on the mirrors now for ffmpeg: Can you clarify what the point of mentioning this was? Yes i can. Usually, when one stumbles upon code that needs newer compilers, it's oh i'll just switch it to use clang/gcc from ports without ever testing/caring/thinking about architectures that dont have it. And then dozens of ports get knocked down. Remember the first time you tried to switch from mysql to mariadb, where the latter only built on 2 or 3 archs ?
Re: UPDATE: FFmpeg 20140912
On 2014/09/14 08:02, Landry Breuil wrote: On Sat, Sep 13, 2014 at 09:49:11AM -0400, Brad Smith wrote: On 12/09/14 1:14 PM, Landry Breuil wrote: On Fri, Sep 12, 2014 at 12:07:22PM -0400, Brad Smith wrote: Here is an update to a newer FFmpeg snapshot from 20140912. Mainly to fix bugs with HEVC and VP9 decoding (among the other bug fixes coming in). Here's what we have on the mirrors now for ffmpeg: Can you clarify what the point of mentioning this was? Yes i can. Usually, when one stumbles upon code that needs newer compilers, it's oh i'll just switch it to use clang/gcc from ports without ever testing/caring/thinking about architectures that dont have it. And then dozens of ports get knocked down. Remember the first time you tried to switch from mysql to mariadb, where the latter only built on 2 or 3 archs ? In this case it's the assembler not the compiler, and only really affects arches where opcodes have been added since the version of binutils we're using (the main arches affected by this sort of thing are amd64/i386/arm).
Re: UPDATE: FFmpeg 20140912
On Fri, Sep 12, 2014 at 12:07:22PM -0400, Brad Smith wrote: Here is an update to a newer FFmpeg snapshot from 20140912. Mainly to fix bugs with HEVC and VP9 decoding (among the other bug fixes coming in). I cannot build on i386: In file included from libpostproc/postprocess.c:560: libpostproc/postprocess_template.c:2169:9: error: inline assembly requires more registers than available lea (%2, %2, 2), %%REG_a \n\t // 3*stride Build log resides at http://jggimi.homeip.net/ffmpeg-20140912.log
Re: UPDATE: FFmpeg 20140912
On Sun, Sep 14, 2014 at 11:56:25AM -0400, I wrote: On Fri, Sep 12, 2014 at 12:07:22PM -0400, Brad Smith wrote: Here is an update to a newer FFmpeg snapshot from 20140912. Mainly to fix bugs with HEVC and VP9 decoding (among the other bug fixes coming in). I cannot build on i386: In file included from libpostproc/postprocess.c:560: libpostproc/postprocess_template.c:2169:9: error: inline assembly requires more registers than available lea (%2, %2, 2), %%REG_a \n\t // 3*stride Build log resides at http://jggimi.homeip.net/ffmpeg-20140912.log If I remove i386 from the MODCLANG archs, it builds and runs fine. Here's a patch to Brad's patch, comparing his Makefile to a revised makefile: --- graphics/ffmpeg/MakefileSun Sep 14 09:52:42 2014 +++ graphics/ffmpeg/makefileSun Sep 14 13:25:55 2014 @@ -34,7 +34,7 @@ WANTLIB= SDL X11 Xext Xfixes Xv bz2 c crypto gsm m mp3 MODULES= lang/clang -MODCLANG_ARCHS=amd64 i386 +MODCLANG_ARCHS=amd64 MODCLANG_LANGS=c BUILD_DEPENDS= textproc/texi2html
Re: UPDATE: FFmpeg 20140912
On 12/09/14 1:14 PM, Landry Breuil wrote: On Fri, Sep 12, 2014 at 12:07:22PM -0400, Brad Smith wrote: Here is an update to a newer FFmpeg snapshot from 20140912. Mainly to fix bugs with HEVC and VP9 decoding (among the other bug fixes coming in). Here's what we have on the mirrors now for ffmpeg: Can you clarify what the point of mentioning this was? Mar 29 13:53 mips64/ffmpeg-20131216p0.tgz Jun 15 15:56 sh/ffmpeg-20140412.tgz Aug 21 17:04 alpha/ffmpeg-20140412p0.tgz Sep 2 13:53 mips64el/ffmpeg-20140412p0.tgz Sep 5 16:23 powerpc/ffmpeg-20140810.tgz Sep 8 00:47 sparc64/ffmpeg-20140810.tgz Sep 9 14:10 i386/ffmpeg-20140810p0.tgz Sep 10 13:14 amd64/ffmpeg-20140810p0.tgz +MODULES= lang/clang + +MODCLANG_ARCHS=amd64 i386 +MODCLANG_LANGS=c Does this change mean that now, only amd64 and i386 will build, or it's only to benefit from optimisations only on those platforms, and the others will still build ? usually, when one does that, he uses gcc4 MODULE for other archs... Has this been tested on other archs ? It will still build fine everywhere else. It's just taking advantage of the assembler since our binutils is ancient and optimizations. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
Re: UPDATE: FFmpeg 20140912
On 9/12/14, Brad Smith b...@comstyle.com wrote: Here is an update to a newer FFmpeg snapshot from 20140912. Mainly to fix bugs with HEVC and VP9 decoding (among the other bug fixes coming in). Not sure if you care. Seems OK on amd64, playing some mp4s and converting some m4a to mp3s. --patrick $ sysctl kern.version kern.version=OpenBSD 5.6-current (GENERIC.MP) #368: Tue Sep 9 00:28:20 MDT 2014 t...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP OK? Index: graphics/ffmpeg/Makefile === RCS file: /home/cvs/ports/graphics/ffmpeg/Makefile,v retrieving revision 1.106 diff -u -p -u -p -r1.106 Makefile --- graphics/ffmpeg/Makefile 4 Sep 2014 05:49:49 - 1.106 +++ graphics/ffmpeg/Makefile 12 Sep 2014 15:13:21 - @@ -2,22 +2,21 @@ COMMENT= audio/video converter and streamer -V= 20140810 +V= 20140912 DISTNAME=ffmpeg-git-${V} PKGNAME= ffmpeg-${V} -REVISION=0 CATEGORIES= graphics multimedia MASTER_SITES=http://comstyle.com/source/ EXTRACT_SUFX=.tar.xz -SHARED_LIBS= avcodec 21.0 \ +SHARED_LIBS= avcodec 21.1 \ avdevice9.0 \ avfilter7.0 \ - avformat19.0 \ + avformat19.1 \ avresample 1.0 \ - avutil 12.0 \ + avutil 12.1 \ postproc16.0 \ - swresample 1.0 \ + swresample 1.1 \ swscale 6.0 HOMEPAGE=http://ffmpeg.org/ @@ -33,6 +32,11 @@ WANTLIB= SDL X11 Xext Xfixes Xv bz2 c cr theoraenc vorbis vorbisenc vpx=5 x264=8 x265 xvidcore \ z +MODULES= lang/clang + +MODCLANG_ARCHS= amd64 i386 +MODCLANG_LANGS= c + BUILD_DEPENDS= textproc/texi2html .if ${MACHINE_ARCH} == amd64 || ${MACHINE_ARCH} == i386 BUILD_DEPENDS+= devel/yasm @@ -90,6 +94,7 @@ CONFIGURE_ARGS+= ${CONFIGURE_SHARED} \ --disable-iconv \ --disable-indev=jack \ --disable-indev=oss \ + --disable-lzma \ --disable-mips32r2 \ --disable-mipsdspr1 \ --disable-mipsdspr2 \ Index: graphics/ffmpeg/distinfo === RCS file: /home/cvs/ports/graphics/ffmpeg/distinfo,v retrieving revision 1.31 diff -u -p -u -p -r1.31 distinfo --- graphics/ffmpeg/distinfo 14 Aug 2014 08:20:27 - 1.31 +++ graphics/ffmpeg/distinfo 12 Sep 2014 15:14:09 - @@ -1,2 +1,2 @@ -SHA256 (ffmpeg-git-20140810.tar.xz) = 1yR5E7oR6twORJ9rbd7iWMFZAfKegkIGZxdf19V2rXU= -SIZE (ffmpeg-git-20140810.tar.xz) = 6168568 +SHA256 (ffmpeg-git-20140912.tar.xz) = TGf/UNFP2SY+D+s1kMslPSEowOd+St9PiH0qaoe6lZI= +SIZE (ffmpeg-git-20140912.tar.xz) = 6038712 Index: graphics/ffmpeg/patches/patch-configure === RCS file: /home/cvs/ports/graphics/ffmpeg/patches/patch-configure,v retrieving revision 1.40 diff -u -p -u -p -r1.40 patch-configure --- graphics/ffmpeg/patches/patch-configure 14 Aug 2014 08:20:27 - 1.40 +++ graphics/ffmpeg/patches/patch-configure 4 Sep 2014 06:03:50 - @@ -1,7 +1,7 @@ $OpenBSD: patch-configure,v 1.40 2014/08/14 08:20:27 brad Exp $ configure.orig Sun Aug 10 21:09:03 2014 -+++ configureSun Aug 10 21:15:16 2014 -@@ -1630,7 +1630,6 @@ HEADERS_LIST= +--- configure.orig Thu Sep 4 01:50:15 2014 configureThu Sep 4 02:03:44 2014 +@@ -1633,7 +1633,6 @@ HEADERS_LIST= mach_mach_time_h machine_ioctl_bt848_h machine_ioctl_meteor_h @@ -9,7 +9,7 @@ $OpenBSD: patch-configure,v 1.40 2014/08 openjpeg_1_5_openjpeg_h OpenGL_gl3_h poll_h -@@ -3970,7 +3969,7 @@ case $target_os in +@@ -3981,7 +3980,7 @@ case $target_os in openbsd|bitrig) disable symver SHFLAGS='-shared' @@ -18,7 +18,7 @@ $OpenBSD: patch-configure,v 1.40 2014/08 SLIB_INSTALL_LINKS= oss_indev_extralibs=-lossaudio oss_outdev_extralibs=-lossaudio -@@ -4301,7 +4300,7 @@ die_license_disabled version3 libvo_amrwbenc +@@ -4312,7 +4311,7 @@ die_license_disabled version3 libvo_amrwbenc enabled version3 { enabled gpl enable gplv3 || enable lgplv3; } @@ -27,15 +27,15 @@ $OpenBSD: patch-configure,v 1.40 2014/08 enable_weak_pic() { disabled pic return -@@ -5026,7 +5025,6 @@ check_disable_warning -Wno-pointer-sign +@@ -5042,7 +5041,6 @@ check_disable_warning -Wno-pointer-sign check_ldflags -Wl,--warn-common check_ldflags -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample - enabled rpath add_ldflags -Wl,-rpath,$libdir + enabled rpath add_ldexeflags
Re: UPDATE: FFmpeg 20140912
On Fri, Sep 12, 2014 at 12:07:22PM -0400, Brad Smith wrote: Here is an update to a newer FFmpeg snapshot from 20140912. Mainly to fix bugs with HEVC and VP9 decoding (among the other bug fixes coming in). Here's what we have on the mirrors now for ffmpeg: Mar 29 13:53 mips64/ffmpeg-20131216p0.tgz Jun 15 15:56 sh/ffmpeg-20140412.tgz Aug 21 17:04 alpha/ffmpeg-20140412p0.tgz Sep 2 13:53 mips64el/ffmpeg-20140412p0.tgz Sep 5 16:23 powerpc/ffmpeg-20140810.tgz Sep 8 00:47 sparc64/ffmpeg-20140810.tgz Sep 9 14:10 i386/ffmpeg-20140810p0.tgz Sep 10 13:14 amd64/ffmpeg-20140810p0.tgz +MODULES= lang/clang + +MODCLANG_ARCHS= amd64 i386 +MODCLANG_LANGS= c Does this change mean that now, only amd64 and i386 will build, or it's only to benefit from optimisations only on those platforms, and the others will still build ? usually, when one does that, he uses gcc4 MODULE for other archs... Has this been tested on other archs ? Landry