
C'est encore en rapport avec ma librairie:
Il existe une fonction qui permet de régler la taille des echantillions (1 échantillion peut être égal à 1, 2 ou 4 bits). Le convertiseur ce charge de la représentation des données.
Voilà, je voudrais créer une fonction très rapide qui prend en cmpte la taille d'un échantillion.
Exemple pour des échantillions de 1bits, la fonction lira un octet bit à bit et dès qu'on arrive au bit 7 on va à l'octet suivant, ça j'arrive mais la suite ce complique.
Pour des échantillions de 2 bits il faut que j'extrait les 2 premeier bit, que je joue, les 2 suivant jusqyu'à ce qu'il n'y en ai plus dans l'octet pour passer au suivant. Idem avec 4 bits.
Hors je voudrais une fonction qui gére ses 3 modes. A moins qui si vous me dite que si je fait une fonction pour chaque mode c'est bien plus rapide, je suis partant mais en attendant j'évite.
Aussi pensais vous que pour extrait plusieurs bits en même temps un masquage est rapide avec un and+décalage binaire? Du genre j'ai des échantillions de 2 bits, 1 octet conteient 4 échantillions:
7 6|5 4|3 2|1 0
------------------
1 0|1 1|0 1|0 1
Pour récupérer l'octet 7 et 6 je fait un masque 0xC0 et une division de 64.
5 et 4 0x30 16
3 et 2 0x0C 4
1 et 0 0x03 '0'
2 problème ce pose ici la division de 0, je sais qu'avec une condition je peux éviter ça mais ça ralentie, et le problème de trouver l'algo capable de trouver lui même les maques et rotation pour du 1, 2 et 4 bits par échantillions.