Bonjour,
j ai besoin de votre aide. J' ai reussi a optimiser mon code et de diminuer un peu le nombre de cycles lors de l execution. Ce code permet de lire les images et de les modifies en utilisant la methode ELA de-interlacing.
Maintenant, j ai une partie ou l image est traite pixel par pixel, j aimerai bien votre aide afin de la modifie et de la traite par 4 pixels.
Merci, pour ta reponse, est ce que tu as deja un programme qui fait ca??? moi je l ai essaye sur une image de mauvaise qualite. Et j ai reussi, l image etait modifiee et devenue bonne. Mais moi je veux utiliser ce programme que j ai avec un co-processuer, c pour cette raison je veux bien reduire le nombre de cycles lors de la compilation.
Je veux d abord au lieu de traiter l image pixel par pixel, je vais vais la traiter 4pixel par 4.
img_out[j][i] = calculate_out(&img_in[ptr_j][i],&img_in[ptr_j+1][i], &img_in[ptr_j+2][i],&img_in[ptr_j+3][i]); // c ca mon idee....
Alors si tu as une idee merci de me repondre.
Salut et a la prochaine.
Désolé j avais mal compris en fait moi ce que je faisait cété de passer
les 3 valeur RGB codé sur 2 octet (max FF) (désolé je peux me planter
dans le nom ca date pour moi) en long codé sur 6 max FFFFFF mais je ne
sait pas si cete technique augmente la vitesse.
exmple
a = 50 ou 32 en hexa
b= 60 ou 3C en hexa
a/2 = 25 soit 19 en hexa
b/2 = 30 soit 1E en hexa
demande 2 division tandis que
a=323C soit 12860 en decimal
a/2=6430 en decimal soit 191E en hexa
ne demande q'une seule division pour arriver au meme resultat
On arrive aux meme resulat en ne faisant qu'une seule division pour toi
je sais pas mais j utlisais cette technique quand je bidouillé en
assembleur vu que la division etait une des fonctions ki demandait le
plus de temps cependant le fait d augementer le nombre de bit ralonge (
je pense) le temps de calcul donc fait des tests mais ce qui est sur
c'est que de bien choisir son type de variable ( int ou byte ou long )
a beaucoup d incidence sur un prog en assembleur
D ailleur pourquoi tu ne le programmes pas en assembleur j'ai vu que 'était possible de mettre des bout d asm dans du c++.
Autre chose y a plus rapide que la division par 2 quand tu interpoles
78 = 1001110 en binaire
78/2=39 = 100111
39/2=19=10011
en fait pour diviser par 2 tu retire le dernier bit
M'enfin je te dit de suite ca m'etonnerait que tu voyes de grosses
differences en c++, tu as un petit algorythme fait le en asm meme si tu
y connais rien je vois que ca pour optimiser ton code.