Y’a deux jours j’ai commencer a vouloir foutre mplayer sur mon htc legend, vous savait le supaire Smartphone a deux balles pour les victimes du dernier phone a la mode.

avec un processeur arm a 600mhz, un ecran oled (j’avoue ke la qualiter d’image est meilleur que le lcd), et avec 384 mo de ram. Ça fait franchement bander au debut, un cpu a 600 mhz avec pas mal de ram, c’est + ke mon premier pc qui tourner sur xp tres fluidement et surtout avec n’importe quel divx.

Alors je compile Mplayer pour mon phone.

je run un divx pour test, deja android gere ni oss ni alsa actuellement pour la version 2.1. Donc j’ai pas de son, mais deja la video ram a mort. :\

donc pour la video vu que je l’ai scale a la taille de l’ecran et etant trop grande a la base. Je pense ke si je lit une video a la taille de l’ecran ca devrait fonctionner correctement.

Alors je taff sur le probleme du son,

jusque la ca se passe bien, bien que j’ai fait l’autiste une journée dessus pour 20 ligne de C honteuse que je risque pas de publier. tant pis pour la gpl…

Je test un petit divx pour verifier que le son est toujours synchro avec la video .

la video saccade comme une pute, je lance un autre shell je check l’utilisation du cpu, mplayer defonse bien genre 92% du cpu quand le system en defonse lui 8%. je test un renice -20, pour lui filer la meilleur priorité. ca rame moin mais c’est toujours pas ca. Donc je verifie je lance un benchmark sur la video:

BENCHMARKs: VC:1627.745s VO:   0.991s A:   0.000s Sys: 153.370s = 1782.105s
BENCHMARK%: VC: 91.3383% VO:  0.0556% A:  0.0000% Sys:  8.6061% = 100.0000%
30 minutes pour decoder un film d’une heure 30 mais sans decodage audio.
Ca me laisse perplexe, j’ai aucune idée d’ou vient le probleme, je pense pas que ca soit a cause du module framebuffer de mplayer, ni de l’audio. si je fout le framedrop, c’est simple, on voit keudal.
j’ai pas tester le mplayer sur le desire ou nexus one, ca fonctionne peut-etre mieux dessus.
je viens de tester yxflash, et lui fonctionne correctement. :\
edit:  je viens de tester d’ecouter juste un mp3
PID CPU% S  #THR     VSS     RSS PCY UID      Name
16391  47% S     1  16128K   2112K  fg root     ./mplayer
now je comprend :D 47% du cpu pour decoder le son ^^ ca + la video qui doit en consommer 66% ca depasse les 100% :\
je verfie les instructions gerer par mon cross compiler actuel:
Checking for ARM pld instruction … yes
Checking for ARMv5TE (Enhanced DSP Extensions) … yes
Checking for ARMv6 (SIMD instructions) … no
Checking for ARMv6t2 (SIMD instructions) … no
Checking for ARM VFP … no
Checking for ARM NEON … no
Checking for iWMMXt (Intel XScale SIMD instructions) … no
Ouai, c’est pas terible…
je voit:
ARM11 processor software is compatible with all previous generations of ARM processors, and introduces 32-bit SIMD for media processing, physically tagged caches to improve OS context switch performance,
du coup je peut compiler en arm1136j-s vu ke c la version emebedded dans mon htc legend, mais je vient de tester de compiler en arch armv6 pour avoir le simd et ca rame autant :(
Bon ben je vien de compil en arm1136j-s avec le simd de l’armv6 et ben ca rame toujours autant des fesses (un peu moin j’avoue).
Je testerai bien sur le nexus one ou le desire, snapdragon utilise l’armv7 avec un simd + puissant. Mais comme j’ai pas les phones pour tester…
Vivement les smartphones en x86 avec les nouveaux proc de chez intel.