Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Oct 2016 00:23:58 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org
Subject:   svn commit: r424890 - in branches/2016Q4/multimedia/x264: . files
Message-ID:  <201610290023.u9T0NwCo006218@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Sat Oct 29 00:23:57 2016
New Revision: 424890
URL: https://svnweb.freebsd.org/changeset/ports/424890

Log:
  MFH: r424887
  
  multimedia/libx264: unbreak ASM on armv6 after r422672
  
  /nxb-bin/usr/bin/cc -I. -I. -c -DSTACK_ALIGNMENT=4 -DPIC -DHIGH_BIT_DEPTH=0 -DBIT_DEPTH=8 -o common/arm/quant-a.o common/arm/quant-a.S
  <instantiation>:29:5: error: instruction requires: armv6t2
      rbit r1, r1
      ^
  common/arm/quant-a.S:362:1: note: while in macro instantiation
  decimate_score_1x 15
  ^
  <instantiation>:29:5: error: instruction requires: armv6t2
      rbit r1, r1
      ^
  /tmp/quant-a-8aad5d.s:515:1: note: while in macro instantiation
  decimate_score_1x 16
  ^
  
  PR:		213443
  Reported by:	pkg-fallout, Bernd Walter, Mikael Urankar
  Approved by:	portmgr blanket
  Approved by:	ports-secteam blanket

Added:
  branches/2016Q4/multimedia/x264/files/patch-armv6
     - copied unchanged from r424887, head/multimedia/x264/files/patch-armv6
Modified:
  branches/2016Q4/multimedia/x264/Makefile
Directory Properties:
  branches/2016Q4/   (props changed)

Modified: branches/2016Q4/multimedia/x264/Makefile
==============================================================================
--- branches/2016Q4/multimedia/x264/Makefile	Sat Oct 29 00:21:51 2016	(r424889)
+++ branches/2016Q4/multimedia/x264/Makefile	Sat Oct 29 00:23:57 2016	(r424890)
@@ -105,8 +105,6 @@ CONFIGURE_ARGS+=	--prefix="${PREFIX}" \
 			--extra-cflags="${CPPFLAGS} ${CFLAGS}" \
 			--extra-ldflags="${LDFLAGS}"
 
-CFLAGS_armv6+=		-mcpu=arm1136jf-s
-
 post-extract-PGO-on:
 	@${BZIP2_CMD} -dc ${DISTDIR}/${DIST_SUBDIR}/${Y4M_VIDEO_DISTFILE} \
 		>${WRKDIR}/${Y4M_VIDEO}

Copied: branches/2016Q4/multimedia/x264/files/patch-armv6 (from r424887, head/multimedia/x264/files/patch-armv6)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/2016Q4/multimedia/x264/files/patch-armv6	Sat Oct 29 00:23:57 2016	(r424890, copy of r424887, head/multimedia/x264/files/patch-armv6)
@@ -0,0 +1,45 @@
+Downgrade SIMD usage to real armv6 (like Raspberry Pi)
+
+--- common/arm/quant-a.S.orig	2016-09-21 20:45:06 UTC
++++ common/arm/quant-a.S
+@@ -316,6 +316,7 @@ dequant_4x4_dc_rshift:
+     bx          lr
+ endfunc
+ 
++#if ARCH_AARCH64 || HAVE_ARMV6T2
+ .macro decimate_score_1x size
+ function x264_decimate_score\size\()_neon
+     vld1.16     {q0, q1}, [r0, :128]
+@@ -361,6 +362,7 @@ endfunc
+ 
+ decimate_score_1x 15
+ decimate_score_1x 16
++#endif
+ 
+ function x264_decimate_score64_neon
+     push        {lr}
+--- common/quant.c.orig	2016-09-21 20:45:06 UTC
++++ common/quant.c
+@@ -761,8 +761,10 @@ void x264_quant_init( x264_t *h, int cpu
+         pf->coeff_last[DCT_LUMA_4x4] = x264_coeff_last16_neon;
+         pf->coeff_last[DCT_LUMA_8x8] = x264_coeff_last64_neon;
+         pf->denoise_dct = x264_denoise_dct_neon;
++#if ARCH_AARCH64 || HAVE_ARMV6T2
+         pf->decimate_score15 = x264_decimate_score15_neon;
+         pf->decimate_score16 = x264_decimate_score16_neon;
++#endif
+         pf->decimate_score64 = x264_decimate_score64_neon;
+     }
+ #endif
+--- configure.orig	2016-09-21 20:45:06 UTC
++++ configure
+@@ -874,9 +874,6 @@ if [ $asm = auto -a \( $ARCH = X86 -o $A
+ fi
+ 
+ if [ $asm = auto -a $ARCH = ARM ] ; then
+-    # set flags so neon is built by default
+-    echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu)' || CFLAGS="$CFLAGS -mcpu=cortex-a8 -mfpu=neon"
+-
+     if  cc_check '' '' '__asm__("rev ip, ip");' ; then      define HAVE_ARMV6
+         cc_check '' '' '__asm__("movt r0, #0");'         && define HAVE_ARMV6T2
+         cc_check '' '' '__asm__("vadd.i16 q0, q0, q0");' && define HAVE_NEON



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201610290023.u9T0NwCo006218>