SebRmv (./14) :
ce sont surement les seuls qui sont jouables pour une Jag
Exactement. Je me suis justement aperçu cette semaine qu'on retrouve dans Animator exactement les mêmes codecs qui étaient présents dans le dernier Quicktime 4.0 pour Mac 68k.
C'est finalement pas un hasard. Les codecs ultérieurs (Indéo 4 et 5, Sorenson et cie) ne passaient pas sur 68k, ils avaient été compilés que pour PPC.
SebRmv (./14) :
(le MJPEG sur Jaguar, j'aurais tendance à ne pas y croire par exemple: bien trop couteux)
Pour compléter, il me semble que le MJPEG c'est en gros une image JPEG par frame. Le DSP de la JagCF serait essentiel pour arriver à la prouesse de restituer ce type de flux à une vitesse correcte.
Il faut voir aussi que la raison d'être du MJPEG, c'est de pouvoir facilement monter les vidéos avec un accès image par image. Si j'ai bien compris il n'y a pas de codage différentiel entre 2 images successives. Donc ça bouffe beaucoup de bande passante pour une fonctionnalité pas forcément utile sur la Jag.
Pour la Jag, je dirais que c'est rejouer des vidéos qui compte. La bande passante perdue à cause de l'absence de codage différentiel, ça pourrait virer au beau gâchis. Moralité, autant faire du MPEG, tout simplement. Quitte à se limiter aux I-frames et P-frames lors de la compression, pour éviter les B-frames (double codage différentiel avec l'image précédente ET la suivante) parce qu'elles sont un peu lourdes à décoder.
SebRmv (./14) :
l'avantage de ce cinepak là, c'est qu'il y a les sources, et qu'on peut produire les vidéos avec des outils "standards" sur PC (genre virtualdub)
Je ne peux pas dire mieux

SebRmv (./14) :
pour les codecs sonores, effectivement, il y en a peut-être quelques-uns qui peuvent servir (évidemment le GSM n'en fait pas partie
, vu comme ça bouffe)
Toutafé, trop coûteux mon fils

A oublier !
SebRmv (./14) :
ce qui peut être intéressant, c'est le système de synchro, c'est le point critique d'un player video à mon avis, mais je crains que le code soit très Falcon-dépendant
mais je crois que stabylo a d'ailleurs des idées pour en faire un nouveau plus "puissant"
Oui, j'ai quelques améliorations à apporter à cette partie.
De manière générale, le système actuel est basé sur 3 pseudo-threads. Du plus prioritaire au moins prioritaire : (1) le décodage du son, (2) le chargement depuis le disque, (3) le décodage de la vidéo.
Le (1) est basé sur l'interruption de fin de son, avec toujours un bloc de son pré-décodé d'avance. A la fin d'un bloc de son, on lance la lecture du suivant et on décompresse celui qui vient après.
Le (2) est en interruption VBL. Il suit l'avancement du (1) et du (3) et s'assure de leur fournir les données avant qu'ils en aient besoin. Dans la stratégie actuelle, il s'assure aussi de lire les données séquentiellement : la tête de lecture du disque de revient JAMAIS en arrière.
Le (3) est le fil d'exécution normal en IPL 3. Il décode les images dans l'ordre, et vérifie si le son n'a pas passé un jalon de key-frame. Le cas échéant, il saute à la key-frame en question.
Simple !
Ce que je compte ajouter (4) c'est l'utilisation du timer système 200 Hz (enfin.. seulement 1 sur 2 pour être compatible avec le 100 Hz d'aranym

) pour ajouter une ligne temporelle constituée de points de synchro pour éviter de se synchroniser uniquement sur le son. Le (3) se synchronisera alors sur ce (4), au lieu de stopper toute synchro quand le (1) est au chômage technique, c'est-à-dire quand il n'y a pas (ou plus) de son.
Donc oui, le (1) s'appuie sur une capacité du hardware STe/TT/Falcon. Le (2) et le (3) on peut le faire sur n'importe quel hardware.
Donc pour reproduire le système (imparfait) actuel sur Jag, est-il possible d'avoir une interruption de fin de son ?
Et pour le (4) à venir, on devrait pouvoir trouver un timer 100 Hz équivalent sur la Jag, non ?