PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 25 fps Video mit dem MIPS VR4122



Jaspa
22.04.2003, 15:10:24
Hallo Leute

Also da es ja bekanntlich schwierig ist die volle Bildwiederholzahl eines Videos 25fps am PPC wiederzugeben, habe ich es jetzt dennoch probiert ob es nicht doch irgendwie geht.

Selbst besitze ich einen CASIO EM-125 und einen EM500G mit dem MIPS Prozessor der einen 64 Bit Kern hat ( Strong Arm 32 Bit)

Uner vollgenden Vorraussetzungen habe ich es dennoch gweschafft, mit kleinen Einschränkugen denn Film mit fast 25 fps abzuspielen.

Video eingenschaften:


Auflösung bis zu max 320 x 176 codec Pixel d.h schwarze Balcken wegtrimmen wie in meinem Gudie beschrieben.

Bitrate für Video 200 kb/s

Bitrate für Audio 32 kb/s in "MONO"

Keyframe Intervall das man in codec divx 5.0.2 einstellen kann auf 140 stellen sollte reichen.


Im Pocket Divx player, unbedingt cachen mit 3-4 MB und AVI index anschalten. Drop Toleranz, in etwa auf ein drittel von links gesehen stellen.!

Somti kann ich am EM125 bei Filmen wie Komödien, und ähnlichem mit 24 fps spielen. Bei sehr schnellen Szenen wechsel, wie in Filmen wie Matrix ist es nicht möglich.

Da der EM125 CF Karten benutzt, ist das nachladen von der Karte in den Ram des PPC schnell genug, um nicht das Bild kurzzeitig zum stocken zu bringen wie es bei SD und MMC Karten der Fall ist oder sein kann.

Bei meinem EM500 klappt da sauch mit dem Speed bei 25fps, aber nur direkt vom Ram des PPC aus. Wenn man das auch von MMC oder SD macht ist das nachladen bei ablauf des cahce, nicht mehr schnell genug, und es kommt dann zu kurzfristigem freezes oder starkem ruckeln. SD wäre zwar rechnerisch schnell genug (naja bei Sandisk Karten wäre ich mir nicht so sicher) aber die meisten PPC haben keinen 4 Bit Slot sondenr nur 1 Bit Busanbindung. Ansosnten wäre es auch mit dem EM500 möglich der ja den selbigen Prozessor Kern besitzt!

Bei Kollegen mit Ipaq 3950 und 3970 funktinoierte es ledier nicht. Auch hier der Kartenslot etwas zu langsam, abe rauch aus dem Gerät heraus im Ram nicht . Da komme wir auf ca. 21 Frames.

Warum?

Nunja wie angesprochen der MIPS hatt einen 64 Bit Kern, und die alpha Versionen des PMVP sprechen diese auch richtig an im gegensatzt zu Windows
:mad:

Würde mich freuen, ob wer dieses Ergebniss reproduzieren kann mit selbigen Equipment!

Meine CF Karte im Casio ist eine Toshiba 256 MB
MMC ist eine Infinion mit 128 MB
SD Karte eine SanDisk mit 128 MB


Gruss Jaspa:-)

DeJe
22.04.2003, 16:01:17
Jaspa, deine Casio sind so schnell, da der PMVP den MIPS Prozessor wirklich ausnutzt. Der Entwickler von PMVP hat ebenfalls MIPS Geräte und hat speziell dafür 64Bit optimierte Assembler-Routinen für den Video-Bereich (Decoder) geschrieben. Für ARM/XScale gibt es nur ein paar Assembler-Routinen, der Rest ist mit C++ implementiert und entsprechend nicht so hoch optimiert.

Von daher kann ich mir also gut vorstellen, das Du mit deinen "Oldtimern" hervorragende Ergebnisse erzielst. Allerdings sollte der e740/750 hier locker mithalten, da bei diesen Geräten der integrierte Video-Chip genutzt wird. Dieser bietet gewisse Schnittstellen, um einen Teil des Decodierens in "Hardware" durchzuführen, was noch einmal einen deutlichen Geschwindigkeitsvorteil bringt.

btw. Ohne solche Hardwareunterstützung durch den Video-Chip/MPEG-Decoder wäre wahrscheinlich selbst eine 2GHz Desktop-CPU bei full Framerate/hoher Auflösung überfordert.

Noch ein Nachtrag. Mein Casio E200 spielt 320x176, 250kbps, 32kbps Mono 22KHz Samplerate mit ~25fps ab. Dazu liegt der Film sogar noch auf einer USB-Harddisk. Full Frame, Mikes new Car z.B., spielt er bei 320x240, 250kbps, gleiche Audioeinstellung wie oben ebenfalls mit ~24fps.
Ich habe den Cache immer disabled, da dieser keinen Performancevorteil bietet. Zudem ist im disabled-Modus trotzdem ein interner Cache (ca. 3MByte groß) aktiv. Die dropTolerance habe ich fast ganz links eingestellt.
Also ARM ist gar nicht so schlecht. ;)

Jaspa
22.04.2003, 18:17:49
Hi DeJe

Also das mit dem 64 Bit Assembler code wußte ich schon, wollte das jetzt nicht so genau hinschreiben.
Bekamm schon vor ca 1 Jahr erste Testversionen von dieser Version, nur da ging es nicht so gut da hier gleichzeitig ein verbesserter Decoder enthalten war, um die 16 Bit Farbpallette der Casios besser zu nutzten. Was bedeutete das es letztenedes darauf auskam gleich vile frames bei schönerem Bild zu haben.
Mittlerweile wurde das ja wieder entfernt, soll jedoch wiede rin verschiedenen Stufen intregiert werden.
High
middle und low Quality playback.

Da smit dem interen cache, nunja ein wenig wird schon intern gecached, obs aber 3 MB sind? Wohe rhast du die Info?
Da beim Starten der Film im Regelfall sofort abspielt kann ich mir nicht vorstellen, das der PPc so schnell in der Lage ist 3MB zu laden?!:confused:

Jedoch benötigt zumindest der avi index immer etwas an cache, obs nun ein oder ausgeschalten ist!

Zumindest benutzter des Stromhungrigen Microdrives sollten imho den cache auch nutzten.


Gruss Jaspa

DeJe
22.04.2003, 18:57:05
Da smit dem interen cache, nunja ein wenig wird schon intern gecached, obs aber 3 MB sind? Wohe rhast du die Info?Well, aus dem Source Code? ;)
Ich bin recht vertraut damit und bastel immer mal ein bischen dran rum um noch ein paar Frames rauszuholen. Allerdings ist mein Wissen in Bezug auf ARM-Assembler (RISC-CPU) leider arg dünn. Die Programmierung, insbesondere Optimierung, ist extrem schwieriger als bei gängigen CISC-CPU's (x86). Der AVI-Index wird übrigens immer extra für jede Datei dynamisch angelegt, der hat mit dem internen Cache nichts zu tun.
Meine Testangaben beziehen sich aber immer auf die offiziellen Releases.


Zumindest benutzter des Stromhungrigen Microdrives sollten imho den cache auch nutzten.Genau dafür ist der "Cache" optimiert. Eigentlich ist die Bezeichnung irreführend, da es sich im Grunde eben nicht um einen geschwindigkeitsfördernden Cache handelt, sondern um einen Zwischenpuffer um Strom zu sparen. Der benutzte Algorithmus ist im Endeffekt sogar ineffizienter als der interne Cache.

tw
22.04.2003, 19:11:51
Ich finde es auch ziemlich bedauerlich, dass es keine PPCs mit MIPS-CPUs mehr gibt. Nicht wegen der 64-Bit Instruktionen. So hilfreich sind die in vielen Fällen auch wieder nicht. Z.B. die DSP-Instruktionen des XScale sind für MPEG-Dekodierung an sich viel besser geeignet.

Aber die MIPS, bzw. genauergesagt z.B. die MIPS-Klone von NEC wie eben der besagte VR4122, hatten on-chip ein echtes PCI-Interface (33MHz, 32 Bit). Damit hätte sich PCI und damit auch CardBus im PDAs als Busstandard durchsetzen können. USB 2.0, Firewire, Fast Ethernet mit vernünftiger Geschwinigkeit, IEEE 802.11a, 802.11g integriert oder über CardBus-Slots - wäre alles möglich.

Hoffnungsschimmer gibt es zwar:
http://www.ppc-welt-community.info/Community/showthread.php?s=&threadid=22154

Aber die PPC-Plattform ist wohl leider auf ARM festgefahren.