-
Notifications
You must be signed in to change notification settings - Fork 0
baptisteem/Vorbis
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
########################################################## # # # OGG / VORBIS - Projet C 2014 # # # ########################################################## Equipe : QUESNOT Jean-Joseph LE ROUX Erwan EMMANUEL Baptiste Contact : Si pendant l'execution du programme quelque chose devait très mal se passer, fichier manquant, pas de fichier du tout, mauvaise archivage, etc... il est possible de nous contacter à l'adresse [email protected] -------------------------------------------------------- * Avancement du projet : - Tous les modules ont été implémentés, ceux de bases et ceux optionnels. - Une implémentation de fast IMDCT a été faites. Celle ci n'est pas aussi rapide que la version fourni. Cela viens, nous le pensons, de l'implémentation et non du modèle mathématique. Pour la tester il suffit de faire $ make fast * Problème connue : - Quand tout les modules sont ensembles nous avons une toute petite fuite mémoire avec tromboon et tiersen. Nous n'avons pas eu le temps de debuger plus loin. Le problème viens d'une allocation dans ogg_core, mais cela ne pose aucun soucis quand on test ce module avec les objets de références. - Le module ogg_packet ne fonctionne pas avec Tiersen. En effet nous avons un header different lors de la comparaison. Cela est du au fait que le fichier fait 32 octets de plus. Si nous enlevons ces octets à la main nous obtenon cette fois un RMS de 0. Il est cependant fonctionnel avec windows, tromboon et mioumiou. Tout cela est détaillé dans ogg_packet.c Le module ogg_packet n'est donc pas dans le Makefile general pour eviter d'endomager les autres exemples. --------------------------------------------------------- * Organistation du Makefile : Le Makefile a été en partie refait pour nous permettre de compiler chaque module indépendement des autres. Ainsi un $ make residue va nous créer un exécutable avec tout les objets de référence et remplacer l'objet residue par notre module compilé. Cela est bien sur utilisable avec tous les modules. Toujours pour residue, un programme vorbis_decoder_residue sera crée. Pour utiliser tout les modules que nous avons implémentés il suffit de faire $ make Un programme vorbis_decoder_all sera alors crée. Pour des soucis de vitesse, nous avons enlevé notre time_domain_transform dans la compilation totale. Il peut évident y être ajouté, et peut aussi être testé grâce au script de test. Enfin si l'on veut utiliser seulement les modules de références, il suffit de faire $ make ref ---------------------------------------------------------- * Utilisation du script de test : Un script de test a été crée en python et permet de tester le RMS de chaque module pour tous les exemples. Le script se trouve dans le dossier test/, et il faut donc se dépacer dans celui ci. Le script s'utilise ainsi $ python script_test.py Il est ensuite demandé à l'utilisateur quel module il souhaite tester. Tous les sons seront alors testés avec l'outil ../utils/rms Un rapport sera généré sous la forme rms_module_name.log, et contient le résultat du test RMS. Il est bien sur possible de tester l'ensemble du programme avec nos modules en choisissant l'option 'Tout les modules'. Organisation du dossier test/ - generated_samples/ : dossier contenant les .ogg transformés en .wav par notre programme. - ogg_examples/ : dossier contenant les .ogg de bases fourni au début du projet. - wav_examples/ : dossier contenant les .wav crée à partir du programme de référence. Utils pour comparer nos .wav à ceux là. /!\ Ne pas supprimer ces dossiers. Ils permettent au script de test de fonctionner correctement. ---------------------------------------------------------
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published