Forum: Mikrocontroller und Digitale Elektronik AVR32 mplayer


von Andreas M. (schnitzeltony)


Lesenswert?

Hallo AVR32 Freunde,

es gab in der ersten Ausgabe von embedded projects journal einen Beitrag 
von claude in mplayer als Beispiel für die Verwendung des LCD-Displays 
am grasshopper beschrieben wurde. In dem Artikel stand, dass die 
Prozessorauslastung bei ~30% läge.

Ich habe das nun mit dem aktuellen buildroot 2.3.0 von Atmel ausprobiert 
(dort sind schon Patches eingepflegt).

Jetzt zu meinen Fragen:

1. Egal mit was ich mplayer füttere, die Prozessorauslastung liegt immer 
oberhalb von 75%. Ich starte mit
1
mplayer -vo fbdev -fs -nosound /media/A380crash.avi
An der Konsole sagt mir mplayer:
1
ASF file format detected.
2
VIDEO:  [WMV2]  320x240  24bpp  1000.000 fps    0.0 kbps ( 0.0 kbyte/s)
3
==========================================================================
4
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
5
Selected video codec: [ffwmv2] vfm: ffmpeg (FFmpeg M$ WMV2/WMV8)
6
==========================================================================
7
Audio: no sound
8
Starting playback...
9
VDec: vo config request - 320 x 240 (preferred colorspace: Planar YV12)
10
Could not find matching colorspace - retrying with -vf scale...
11
Opening video filter: [scale]
12
VDec: using Planar YV12 as output csp (no 0)
13
Movie-Aspect is undefined - no prescaling applied.
14
AVR32 BGR24: Using PICO for color space conversion
15
SwScaler: using unscaled yuv420p -> bgr24 special converter
16
VO: [fbdev] 320x240 => 320x240 BGR 24-bit  [fs]
Warum habe ich eine so hohe Auslastung? Gibt es 
Optimierungsmöglichkeiten?
2. In der Konfigurationsdatei von mplayer hat Atmel als default Ausgabe 
Gerät fbdev2 angegeben. Starte ich damit kracht der grasshopper total. 
Ich muss fbdev wählen. Dabei gibt
1
mplayer -vo help
fbdev2 als mögliche Ausgabe an
1
Available video output drivers:
2
        fbdev   Framebuffer Device
3
        fbdev2  Framebuffer Device
4
        null    Null video output
5
        mpegpes Mpeg-PES to DVB card
6
        yuv4mpeg        yuv4mpeg output for mjpegtools
7
        png     PNG file
8
        jpeg    JPEG file
9
        gif89a  animated GIF output
10
        tga     Targa output
11
        pnm     PPM/PGM/PGMYUV file
12
        md5sum  md5sum of each frame
Wo finde ich fbdev und fbdev2 und was sind die Unterschiede?

von Michael B. (bubi)


Lesenswert?

Hallo Andreas,

Ein Tipp in ein tiefes schwarzes Loch (sitz grad ned vorm Linuxrechner)
auf avr32linux.org gibts einen Patch für den mplayer, der die VPU(?) 
nutzt, also auf allefälle die Hardware vom AP7000 speziell ausreizt. 
Wirf mal einen Blick darauf, kA ob buildroot diesen Patch bereithält.


[1] http://avr32linux.org/twiki/bin/view/Main/MPlayer

Michael

von Andreas M. (schnitzeltony)


Lesenswert?

Atmel liefert den patch mplayer-1.0rc1-atmel.3.patch mit aus. Ich 
vermute, das ist eine Weiterentwicklung dessen, was auf AVR32Linux.org 
zu finden ist.

von Michael B. (bubi)


Lesenswert?

hmm mist, wäre auch zu einfach gewesen :)
Ich hab aber sowas schonmal wo gelesen, da hat jemand auch ~75% 
Auslastung und hat gefragt wie claude das geschafft hat...
Ich google mal.

von Michael B. (bubi)


Lesenswert?

Hier gings darum:
Beitrag "AVR32: 32bit vs 16bit SDRAM Anbindung"

Lösung scheinen die aber auch nicht gefunden zu haben. :(
Hat dein Video bereits 320x240 oder wird das skaliert?
Holst du dir das Video über die SD-Karte rein?
Ev. läuft einiges auf deinem Speicher-Bus, von dem du ja dank DMA nichts 
mitbekommst, sich aber logischerweise auf deine Performance auswirkt.

von Udo S. (udo)


Lesenswert?

Hallo,

wie misst du die Auslastung?

Gruß
Udo

von Andreas M. (schnitzeltony)


Lesenswert?

Mplayer gibt das selber an

oder

top

von Claude S. (claudeschwarz)


Lesenswert?

Hi,
die 30% bezogen sich auf ein MPEG1 (oder 2??, schon ne weile her) File. 
Woher bekommt dein GH die Daten ? SD oder NFS? Wie das ganze mit WMV8 
ausschaut kann ich nicht sagen, mit MPEG4 war die Auslastung jedenfalls 
um einiges höher.

von Andreas M. (schnitzeltony)


Lesenswert?

Hallo Claude,

ich habe beides versucht von MMC und aus dem RAM (/tmp): Unterschiede 
waren nicht erkennbar. Kannst Du vielleicht mal ein WMV8 320*200 30fps 
versuchen?
Mir geht es darum, festzustellen, ob da was kaputt programmiert worden 
ist. Hast Du vielleicht ein Testvideo (ich suche noch nach einem, was 
ich ohne Copyright-Verletztung hochladen kann..)

von Claude S. (claudeschwarz)


Lesenswert?

Das wird noch ein paar Tage dauern bis ich dazu komme, habe erst vor 
einer guten Woche meinen Grasshopper wieder bekommen und muss meine 
Toolchain erst mal wieder Funktionsfähig bekommen.
Als Video hab ich damals einfach einen Kino Trailer genommen , 
glaube(TM) das verletzt kein Copyright. Meine Versuche habe ich immer 
mit NFS gemacht (Da der Atmel MCI/SD/MMC Treiber bis vor ein paar Tagen 
bzw 2.6.27 sowas von Buggy war).

von Andreas M. (schnitzeltony)


Lesenswert?

Nur zur Info: mit buildroot 2.2.1 / kernel 2.6.17 ergibt sich etwa die 
gleiche Auslastung.

von Sebastian A. (freddyk)


Lesenswert?

Hallo zusammen,

mit der Option -benchmark gibt der mplayer am Ende eine Zusammenfassung 
der Auslastung, getrennt nach "video codec", "video output", "audio" und 
"system" (wie normalerweise auch zur Laufzeit). Aber Achtung die Angabe 
in Prozent beziehen sich dabei nicht auf die Prozessorauslastung sonder 
auf die Verteilung bei der Wiedergabe.

Hier mein Video:
VIDEO:  MPEG2  300x240  (aspect 1)  25.000 fps  600.0 kbps (75.0 
kbyte/s)

und der Benchmark:
BENCHMARKs: VC:  24.003s VO:   8.443s A:   0.000s Sys:   1.687s = 
34.133s
BENCHMARK%: VC: 70.3224% VO: 24.7350% A:  0.0000% Sys:  4.9426% = 
100.0000%

Ich habe nur 1000 Frames (-frames xxx) wiedergegeben, bei 25fps also 
40s. Der AVR32 war damit 34.133s beschäftigt, macht also 85% 
Gesamtauslastung.

Atmel buildroot 2.2.1, Kernel 2.6.25

Ein vergleichendes Video wäre nicht schlecht, da neben der Auflösung und 
Kodierung auch fps und Komprimierungsrate mitspielen.

Das Video wurde von der SD-Karte wiedergegeben, auch bei mir sind bei 
der Wiedergabe aus dem RAM sind keine großen Änderungen erkennbar.


Sebastian

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.