Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 33 774 985

  • Nb. de membres 193
  • Nb. d'articles 1 329
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» Développeurs, pourquoi ne pas utiliser l'Altivec ?

Développeurs, pourquoi ne pas utiliser l'Altivec ?

3 Modérateur(s)
K-LElwoodcorto
K-L K-Licon_post
Les clients dnetc d'Oliver Wagner sont eux aussi optimisés Altivec :-) (Et je pense qu'il a dû utiliser le travail de Kakace).
--
AmigaONE X1000 1,8 Ghz (A-Eon), Radeon RX560, 2 Go de Ram et OS4.1 FE
Sam460LE 1,14 Ghz (ACube Systems), Radeon RX560, 2 Go de Ram et OS4.1 FE
bigdan bigdanicon_post

De mémoire, je crois que Didier L. alias "kakace" (auteur de pegase, un encodeur mpeg 1-2 coté amiga) avait pas mal buché sur le sujet puisqu'il avait optimisé le code altivec des clients DnetC mac/linux !

corto cortoicon_post
Si AltiVec n'est pas plus utilisé c'est qu'il demande de se former pour pouvoir l'utiliser. On ne peut pas compiler avec l'option AltiVec et hop, obtenir un-programme-qui-fonce.

Une autre barrière, c'est que ça n'est pas magique et ce n'est pas parce qu'un programme rame qu'utiliser AltiVec va lui donner des ailes. Il faudrait un moyen de déterminer quels programmes ou bibliothèques pourraient en bénéficier.

Les outils, mes amis, les outils !

AltiVec est passionnant, j'adorerai m'y pencher plus !
alex alexicon_post
Citation : thellier?
Dans les sources de Aros avec la même recherche:
libaften (c'est quoi ?)


"Aften is an audio encoder which generates compressed audio streams based on ATSC A/52 specification. This type of audio is also known as AC-3 or Dolby? Digital and is one of the audio codecs used in DVD-Video content." source: http://aften.sourceforge.net/

Citation : thellier?

Ton document
http://www.amiga-ng.org/resources/OptimizeForAltivec.pdf
est particuliérement impressionnant : je le sauvegarde dans un coin

Je viens d'y jeter un rapide coup d'oeil moi aussi et effectivement c'est intéressant...
--
AmigaOne A1222
AmigaOne X1000 - RadeonHD - 2 Gio RAM
AmigaOne XE G4@933 - Radeon 9200 SE - 512 Mio RAM
thellier thelliericon_post
D'après les vieilles sources de MiniGL que j'ai sur mon disque
avec une recherche *.c contenant "altivec.h" je trouve que MiniGL
utilise Altivec dans 2 fonctions
-La multiplication de matrices
-La transformation de vecteurs par une matrice
C'est effectivement là où Altivec est le plus utile :-)

Dans les sources de Aros avec la même recherche:
libaften (c'est quoi ?)
pixman
libavcodec
SDL

Alain


K-L K-Licon_post
DvPlayer utilise en effet l'Altivec et la dernière avcodec.library de Diego a aussi une version compilée pour l'Altivec (il a simplement compilé pour l'Altivec mais n'a pas travaillé la bibliothèque avec des fonctions spécifiques), il y a un léger gain (j'étais le beta testeur à l'époque).

FFmpeg utilise aussi l'Altivec, ainsi que MPlayer (dommage que nos versions soient moisies même avec ça).

D'après ce que j'ai compris, MiniGL possède aussi quelques fonctions utilisant le Velocity Engine (ou VMX ou Altivec :-) ).

Enfin, TimberWolf RC-2 possède une libcairo optimisée pour l'Altivec (quand TW RC-3 est sorti, il fallait copier cette bibliothèques pour remplacer celle fournie).
--
AmigaONE X1000 1,8 Ghz (A-Eon), Radeon RX560, 2 Go de Ram et OS4.1 FE
Sam460LE 1,14 Ghz (ACube Systems), Radeon RX560, 2 Go de Ram et OS4.1 FE
Lio Lioicon_post
il me semble me rappeler un sujet sur AW.net ou Amigans.net qui indiquait que DVplayer utilisait l'altivec ainsi que certaines fonctions du système.
X-5000/RadeonRX550/2Go RAM; AOS4.1FEupd2; (A1G4/Radeon9000PRO/1Go RAM=en dormance)
sinisrus sinisrusicon_post
par ce qu'on peux pas avec RxMui... ;-)
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon RX550 - 2Go de ram
thellier thelliericon_post
Ton document
http://www.amiga-ng.org/resources/OptimizeForAltivec.pdf
est particuliérement impressionnant : je le sauvegarde dans un coin

Voici un exemple simple de prog Altivec pour faire du YUV vers RGB (=conversion d'une image video)
à recompiler/tester sur Amiga PPC
https://github.com/fungos/seed/blob/master/contrib/oggplay/ppc/oggplay_yuv2rgb_altivec.c

Les structures en parametres sont définies ainsi

struct _OggPlayYUVChannels
structure holds pointers to y, u, v channels

unsigned char * ptru U channel.
unsigned char * ptrv V channel.
unsigned char * ptry Y channel.
int uv_height the height of the U/V plane
int uv_width the width of the U/V plane
int y_height the height of the Y plane
int y_width the width of the Y plane

struct _OggPlayRGBChannels
structure holds pointers to RGB packets

unsigned char * ptro the RGB stream in the requested packaging format
int rgb_height height of the RGB frame
int rgb_width width of the RGB frame
thellier thelliericon_post
Réponse courte:
Quand j'avais un PegII l'altivec étais pas supporté à cette époque...
Maintenant que j'ai une Sam440 elle a pas d'altivec...

Réponse longue:
Quand on compile un prog C standard avec "juste" les options altivec (comme on ferait une compil -m68060) alors ça fait rien ==> il faut vraiment utiliser les instructions altivec
Mais si on ajoute une routine en ASM altivec dans (disons) Microbe3D alors je peut pas la tester du tout sur ma Sam = aucune garantie qu'elle marche :-/

Sinon c vrai que (en théorie) l'altivec c'est super mais dans des domaines très limités qui demandent beaucoup de calculs
Même des calculs très simples en bénéficient dès lors qu'ils sont fait en masse (genre conversion d'une video YUV vers RGB)

Alain



Message édité par : thellier / 24-06-2013 11:52
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme