Ga naar inhoud


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.

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

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