Ga naar inhoud
Sat4all gemigreerd! LEES HIER VERDER! ×

FFdecsa compileren op armel architecture, is het iemand gelukt? Hoe?


Aanbevolen berichten

Geplaatst:

Hallo,

 

Ik probeer ffdecsa te compileren op mijn NAS (D-link DNS-323), maar het faalt. Ik heb debian geinstalleerd op de NAS.

 

De commando's die ik heb gegeven:

$ hg clone http://85.17.209.13:6100/sc$ wget http://vdrbox.lautre.net/fichiers/VDR/debianize-sc/sc-debian-package-03062011.diff$ cd sc/$ patch -p1 <../sc-debian-package-03062011.diff$ dpkg-buildpackage -us -uc -b

De error melding die ik krijg:

Trying various FFdecsa optimizations...
    PARALLEL_32_INT: build failed
    PARALLEL_32_4CHAR: build failed
    PARALLEL_32_4CHARA: build failed
    PARALLEL_64_8CHAR: build failed
    PARALLEL_64_8CHARA: build failed
    PARALLEL_64_2INT: build failed
    PARALLEL_64_LONG: build failed
    PARALLEL_64_MMX: build failed
    PARALLEL_128_16CHAR: build failed
    PARALLEL_128_16CHARA: build failed
    PARALLEL_128_4INT: build failed
    PARALLEL_128_2LONG: build failed
    PARALLEL_128_2MMX: build failed
    PARALLEL_128_SSE: build failed
    PARALLEL_128_SSE2: build failed
Choosing PARALLEL_MODE = PARALLEL_32_INT

 

Na enig speurwerk kwam ik erachter dat bovenstaande meldingen uit sc/debian/configure_FFdecsa komen. Ik heb de volgende wijzigingen aangebracht in configure_FFdecsa:

$ diff  ./debian/configure_FFdecsa ../sc-half-werkend/configure_FFdecsa
52a53,63
>
>    echo "start debug"
> ARCH="armv5te"
>    echo "ARCH: $ARCH"
> echo "FLAGS: $FLAGS"
> echo "arch: $arch"
> echo "processors_flags: $processors_flags"
> echo "vendor: $vendor"
>    echo "stop debug"
>
>
143c154
<      make -C "${TMPDIR}/FFdecsa" FFdecsa_test "PARALLEL_MODE=${var}" "${FLAGS}" "COMPILER=$CXX" > /dev/null 2>&1
---
>      make -C "${TMPDIR}/FFdecsa" FFdecsa_test "PARALLEL_MODE=${var}" "${FLAGS}" "COMPILER=$CXX"
 

nu compileren de testen, maar alle testen falen:

$ sh ./configure_FFdecsa

start debug
ARCH: armv5te
FLAGS: FLAGS=-O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
arch: armv5tel
processors_flags:
vendor:
stop debug
Processor capabilities: armv5te ( )
Trying various FFdecsa optimizations...
make: Entering directory `/tmp/sc.5762/FFdecsa'
g++ -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=armv5te -DPARALLEL_MODE=PARALLEL_32_INT -c FFdecsa_test.c
g++ -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=armv5te -DPARALLEL_MODE=PARALLEL_32_INT -c FFdecsa.c
g++ -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=armv5te -o FFdecsa_test FFdecsa_test.o FFdecsa.o
make: Leaving directory `/tmp/sc.5762/FFdecsa'
    PARALLEL_32_INT: test failed

In /tmp/sc.5762 I find the file "out". It contains the following:

FFdecsa 1.0: testing correctness and speed
FAILED!
FAILED!
FAILED!
FAILED!
FAILED!
speed=5.997874 Mbit/s
speed=4074.642562 pkts/s
CORRECT!
FAILED!
CORRECT!
FAILED!
FAILED!
FAILED COMPARISON OF PACKET          1
FAILED COMPARISON OF PACKET          3
FAILED COMPARISON OF PACKET          5

<<Deze melding wordt herhaald voor alle oneven pakketten>>
 

Nu dit trucje proberen: echo 2 > /proc/cpu/alignment (Deze truc heb ik hier gevonden:

https://github.com/manio/vdr-plugin-dvbapi/issues/2 )

 

Nope, geeft dezelfde output:

$ sh ./configure_FFdecsa
start debug
ARCH: armv5te
FLAGS: FLAGS=-O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
arch: armv5tel
processors_flags:
vendor:
stop debug
Processor capabilities: armv5te ( )
Trying various FFdecsa optimizations...
make: Entering directory `/tmp/sc.7040/FFdecsa'
g++ -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=armv5te -DPARALLEL_MODE=PARALLEL_32_INT -c FFdecsa_test.c
g++ -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=armv5te -DPARALLEL_MODE=PARALLEL_32_INT -c FFdecsa.c
g++ -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=armv5te -o FFdecsa_test FFdecsa_test.o FFdecsa.o
make: Leaving directory `/tmp/sc.7040/FFdecsa'
    PARALLEL_32_INT: test failed
make: Entering directory `/tmp/sc.7040/FFdecsa'
g++ -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=armv5te -DPARALLEL_MODE=PARALLEL_32_4CHAR -c FFdecsa_test.c
g++ -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=armv5te -DPARALLEL_MODE=PARALLEL_32_4CHAR -c FFdecsa.c
^Cmake: *** [FFdecsa.o] Interrupt

 

$ nano /tmp/sc.7040/FFdecsa/out

FFdecsa 1.0: testing correctness and speed
FAILED!
FAILED!
FAILED!
FAILED!
FAILED!
speed=5.873771 Mbit/s
speed=3990.333815 pkts/s
CORRECT!
FAILED!
CORRECT!
FAILED!
FAILED!
FAILED COMPARISON OF PACKET          1
FAILED COMPARISON OF PACKET          3

<<Deze melding wordt herhaald voor alle oneven pakketten>>

 

Mijn systeem:

$ uname -a Linux debian 3.2.0-4-orion5x #1 Debian 3.2.51-1 armv5tel GNU/Linux

$ cat /proc/cpuinfo
Processor    : Feroceon rev 0 (v5l)
BogoMIPS    : 331.77
Features    : swp half thumb fastmult edsp
CPU implementer    : 0x41
CPU architecture: 5TEJ
CPU variant    : 0x0
CPU part    : 0x926
CPU revision    : 0

Hardware    : D-Link DNS-323
Revision    : 0000
Serial        : 0000000000000000
 

Geplaatst:

Nog even geprobeerd met -O2 ipv -O3. De speeds zijn iets lager, verder geen veranderingen

 

$ sh ./configure_FFdecsa
start debug
ARCH: armv5te
FLAGS: FLAGS=-O2 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
arch: armv5tel
processors_flags:
vendor:
stop debug
Processor capabilities: armv5te ( )
Trying various FFdecsa optimizations...
make: Entering directory `/tmp/sc.8371/FFdecsa'
g++ -O2 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=armv5te -DPARALLEL_MODE=PARALLEL_32_INT -c FFdecsa_test.c
g++ -O2 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=armv5te -DPARALLEL_MODE=PARALLEL_32_INT -c FFdecsa.c
g++ -O2 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=armv5te -o FFdecsa_test FFdecsa_test.o FFdecsa.o
make: Leaving directory `/tmp/sc.8371/FFdecsa'
    PARALLEL_32_INT: test failed
 

$ nano /tmp/sc.8371/FFdecsa/out

FFdecsa 1.0: testing correctness and speed
FAILED!
FAILED!
FAILED!
FAILED!
FAILED!
speed=5.867235 Mbit/s
speed=3985.893127 pkts/s
CORRECT!
FAILED!
CORRECT!
FAILED!
FAILED!
FAILED COMPARISON OF PACKET          1
FAILED COMPARISON OF PACKET          3
FAILED COMPARISON OF PACKET          5
 

  • 1 maand later...
Geplaatst:

Als je gebruik maakt wil maken van vdr-dvbapi of van tvheadend (als in zelf compileren), dan zou ik gebruik maken van libdvbcsa. Deze is wat meer geoptimaliseerd op ARM-cpu's.

Woonkamer : Xubuntu 8.04 met VDR 1.7.4 en WinTV NOVA-HD-S2 icm Reel Extension HD.

Slaapkamer : Een MediaMVP icm de vompserver v0.30 VDR plugin.

  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...