Skip to contentSkip to conversation

x264: Update to latest on stable branch

PATCH Superseded Khem Raj 2 participants 3 messages Nov 8, 2016

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Khem Raj

author
#0 lore raw

PATCH 1/1 x264: Update to latest on stable branch

- Switch URI to use github mirror for reliabality
- Disable openCL code, its not used
- TEXTRELs are fixed, therefore dont skip QA check

---
 .../x264/x264/don-t-default-to-cortex-a9-with-neon.patch    | 13 ++-----------
 meta/recipes-multimedia/x264/x264_git.bb                    |  9 +++------
 2 files changed, 5 insertions(+), 17 deletions(-)
meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch +2 -11
index bf72fca..73f2aac 100644
@@ -5,10 +5,10 @@ Upstream-Status: Pending
 Signed-off-by: Andrei Gherzan <[email protected]>
 
 diff --git a/configure b/configure
-index 2916036..f4ece40 100755
+index 9d1586c..3109ec4 100755
 --- a/configure
 +++ b/configure
-@@ -773,9 +773,6 @@ if [ $asm = auto -a \( $ARCH = X86 -o $ARCH = X86_64 \) ] ; then
+@@ -874,9 +874,6 @@ if [ $asm = auto -a \( $ARCH = X86 -o $ARCH = X86_64 \) ] ; then
  fi
  
  if [ $asm = auto -a $ARCH = ARM ] ; then
@@ -18,12 +18,3 @@ index 2916036..f4ece40 100755
      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
-@@ -788,8 +785,6 @@ if [ $asm = auto -a $ARCH = ARM ] ; then
- fi
- 
- if [ $asm = auto -a $ARCH = AARCH64 ] ; then
--    # set flags so neon is built by default
--    echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu|-arch)' || CFLAGS="$CFLAGS -arch arm64 -mfpu=neon"
- 
-     if  cc_check '' '' '__asm__("cmeq v0.8h, v0.8h, #0");' ; then define HAVE_NEON
-         ASFLAGS="$ASFLAGS -c"
meta/recipes-multimedia/x264/x264_git.bb +3 -6
index 393310f..8a239e1 100644
@@ -8,11 +8,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 
 DEPENDS = "yasm-native"
 
-SRC_URI = "git://git.videolan.org/x264.git \
+SRC_URI = "git://github.com/mirror/x264;branch=stable \
            file://don-t-default-to-cortex-a9-with-neon.patch \
            "
 
-SRCREV = "c8a773ebfca148ef04f5a60d42cbd7336af0baf6"
+SRCREV = "86b71982e131eaa70125f8d0e725fcade9c4c677"
 
 PV = "r2491+git${SRCPV}"
 
@@ -34,6 +34,7 @@ EXTRA_OECONF = '--prefix=${prefix} \
                 --enable-static \
                 --disable-lavf \
                 --disable-swscale \
+                --disable-opencl \
                 --enable-pic \
                 ${X264_DISABLE_ASM} \
                '
@@ -47,7 +48,3 @@ AS = "${TARGET_PREFIX}gcc"
 do_install() {
     oe_runmake install DESTDIR=${D}
 }
-
-# PIC can't be enabled for few BSP's
-INSANE_SKIP_${PN}_append = " textrel"
-
Signature · 1 line
2.10.2
#1 lore raw
Quoted 6 lines · Khem Raj

- Switch URI to use github mirror for reliabality
- Disable openCL code, its not used
- TEXTRELs are fixed, therefore dont skip QA check

Breaking here for x86-64.

configure output:

DEBUG: Executing shell function do_configure
Unknown option --disable-static, ignored
Found x86_64-poky-linux-gcc (GCC) 6.2.0
Minimum version is yasm-1.2.0
If you really want to compile without asm, configure with --disable-asm.
WARNING: exit code 1 from a shell command.

config.log:

x264 configure script
Command line options: "--prefix=/usr" "--host=x86_64-poky-linux" "--libdir=/usr/lib" "--cross-prefix=x86_64-poky-linux-" "--sysroot=/data/poky-master/tmp-glibc/sysroots/intel-corei7-64" "--enable-shared" "--enable-static" "--disable-lavf" "--disable-swscale" "--disable-opencl" "--enable-pic" "--disable-static"

checking whether x86_64-poky-linux-gcc -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 --sysroot=/data/poky-master/tmp-glibc/sysroots/intel-corei7-64 works... yes checking whether x86_64-poky-linux-gcc -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 --sysroot=/data/poky-master/tmp-glibc/sysroots/intel-corei7-64 supports for( int i = 0; i < 9; i++ ); with -std=gnu99... yes
checking for -mpreferred-stack-boundary=5... yes
checking whether x86_64-poky-linux-gcc supports vpmovzxwd ymm0, xmm0... no Failed commandline was:
--------------------------------------------------
x86_64-poky-linux-gcc conftest.asm -I. -I$(SRCPATH) -DARCH_X86_64=1 -I$(SRCPATH)/common/x86/ -f elf64 -o conftest.o
x86_64-poky-linux-gcc: error: elf64: No such file or directory
x86_64-poky-linux-gcc: error: unrecognized command line option '-f'
--------------------------------------------------
Failed program was:
--------------------------------------------------
vpmovzxwd ymm0, xmm0
--------------------------------------------------

Ah, looks like the configure is respecting the AS environment variable that we set to 'as' in bitbake.conf, but it really actually wants yasm. I added AS[unexport] = 1 to the recipe and it appears to work now for me. Can you verify that it still works on the architectures you care about?

Ross

author
#2 lore raw
Quoted 51 lines · Ross
Quoted 6 lines · Khem Raj

- Switch URI to use github mirror for reliabality
- Disable openCL code, its not used
- TEXTRELs are fixed, therefore dont skip QA check

Breaking here for x86-64.

configure output:

DEBUG: Executing shell function do_configure
Unknown option --disable-static, ignored
Found x86_64-poky-linux-gcc (GCC) 6.2.0
Minimum version is yasm-1.2.0
If you really want to compile without asm, configure with --disable-asm.
WARNING: exit code 1 from a shell command.

config.log:

x264 configure script
Command line options: "--prefix=/usr" "--host=x86_64-poky-linux" "--libdir=/usr/lib" "--cross-prefix=x86_64-poky-linux-" "--sysroot=/data/poky-master/tmp-glibc/sysroots/intel-corei7-64" "--enable-shared" "--enable-static" "--disable-lavf" "--disable-swscale" "--disable-opencl" "--enable-pic" "--disable-static"

checking whether x86_64-poky-linux-gcc -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 --sysroot=/data/poky-master/tmp-glibc/sysroots/intel-corei7-64 works... yes checking whether x86_64-poky-linux-gcc -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 --sysroot=/data/poky-master/tmp-glibc/sysroots/intel-corei7-64 supports for( int i = 0; i < 9; i++ ); with -std=gnu99... yes
checking for -mpreferred-stack-boundary=5... yes
checking whether x86_64-poky-linux-gcc supports vpmovzxwd ymm0, xmm0... no Failed commandline was:
--------------------------------------------------
x86_64-poky-linux-gcc conftest.asm -I. -I$(SRCPATH) -DARCH_X86_64=1 -I$(SRCPATH)/common/x86/ -f elf64 -o conftest.o
x86_64-poky-linux-gcc: error: elf64: No such file or directory
x86_64-poky-linux-gcc: error: unrecognized command line option '-f'
--------------------------------------------------
Failed program was:
--------------------------------------------------
vpmovzxwd ymm0, xmm0
--------------------------------------------------

Quoted 4 lines

Ah, looks like the configure is respecting the AS environment variable that we set to 'as' in bitbake.conf, but it really actually wants yasm. I added AS[unexport] = 1 to the recipe and it appears to work now for me. Can you verify that it still works on the architectures you care about?

recipe is setting AS too here ,so that must be removed as well. I will send a V2

Quoted 2 lines

Ross