[Optimisation]Eviter les boucles imbriquées
Bonsoir tout le monde !
J'ai un code, tout fait, fonctionnel, mais qui doit probablement être optimisable.
Il s'agit d'un décodeur YUV, mais la partie qui m'intéresse peut en être indépendante (enfin, presque).
Donc, YUV format 4:2:0 (1U, 1V, 4Y) :
Shéma explicatif
Merci Wikipedia :).
Mes données sont stockées dans trois tableaux :
Code:
tab_y[width*height]
Contient toutes les luminances Y de l'image, c'est donc un tableau de taille largeur*hauteur (en octects).
Les deux autres sont sur le même modèle :
Code:
1 2
| tab_u[(width*height)/4]
tab_v[(width*height)/4] |
Mais de taille 4 fois moindre, logique.
Le processus entame alors deux boucles imbriquées :
Code:
1 2 3 4 5 6
| Pour i=1 to Width
<div style="margin-left:40px">Pour j=1 to Height
<div style="margin-left:40px">Y<-tab_y[j+width*i];
U<-tab_u[j/2 + (i/2)*(width/2)];
V<-tab_v[j/2 + (i/2)*(width/2)];
(R,G,B)=YUVToRGB(Y,U,V);</div>FinPour</div>FinPour |
En clair, comment puis-je améliorer cette boucle ?
Merci d'avance de votre aide, je suis certain de trouver de bonnes idées:king: