Bref aperçu de l'environnement digital media sur Silicon Graphics
par Francis Lapique, SIC-Informatique individuelle
table des matières
Par digital media on entend un ensemble de bibliothèques de programmes et d'utilitaires pour le traitement de données de type audio, video, film et image. Cet ensemble est largement décrit, commenté dans un ouvrage d'environ 800 pages, intitulé, «IRIS Media Libraries-Progamming Guide». Nous allons le réduire ici en un inventaire d'une seule page.
Ce paquet digital media compte six composantes:
- une composante «digital media ou DM» qui permet de manipuler des types de données à caractère général.
- une composante «digital audio-MIDI» pour traiter la périphérie audio (canaux stéréo, CD, DAT), fichiers audio et messages de type MIDI.
- une composante «video library ou VL» pour les «board» Indy VINO (Video Input Only) proposé en standard sur les machines Indy, et des «board» optionnels comme Galileo, Live Video Creator (LVD), VideoCreator (VC), Videoframer, VideoLab, VideoSplitter et Mult-Channel Option (MCO).
- une composante «IndigoVideo» pour la famille de machines de type Indigo dite «Entry graphics» dans le jargon Silicon.
- une composante extensible dite de «compression» pour réduire vos données audio, vidéo, et images.
- une composante «movie» pour lire, écrire, éditer, jouer, convertir vos films.
Digital Media-DM
DM propose un ensemble de primitives pour faciliter la manipulation de listes de paramètres destinées à des objets de type image, audio ou vidéo. Par exemple, des primitives comme dmParamsCreate() et dmParamsDestroy() ont respectivement pour objet l'allocation et la destruction d'une zone mémoire attachée à une liste. On trouve également des primitives comme dmParamsSetInt(format, DM_IMAGE_WIDTH, 320), pour imposer une largeur d'image de 320 pixels, dmSetAudioDefaults(audioParams, 16, 22050,2) pour attribuer une largeur d'échantillonnage de 16 bits/sample, à une vitesse de 22050 sur le canal 2.
Digital audio/MIDI
Cette composante compte 6 branches: vous trouverez de nombreux exemples dans les répertoires ~4Dgifts/examples/libaudio, libaudiofile, libcdaudio,libdataudio et libmidi.
- audio (libaudio.a) : c'est la couche qui va assurer le lien applicatif-canaux audio I/O. On dispose aussi de 5 GUI (Graphical User Interface) qui sont apanel, cdman, datman, soundeditor et soundfiler. Concernant l'espace disque, ayez ces 2 chiffres en tête:
- mono 8-bit , CCITT/TSB G.711 mu-law 8 kHz audio= 8kBytes/s
- stéréo 16-bit 44.1 kHz (qualité CD) audio = 176 kBytes/s
- audio file (libaudiofile.a) : pour lire et écrire dans deux formats AIFF (Audio Inter Change File Format) et AIFF-C (Audio Inter Change File Format with Compression).
- audio Utility (libaudioutil.a)
- CD Audio (libcdaudio.a) pour l'environnement CD_ROM
- DAT Audio (libdataudio.a) pour l'environnement DAT
- MIDI (libmidi.a) pour les périphériques de type NIDI
Video library ou VL
Les principales composantes de VL sont une interface de programmation, un deamon videod , un device driver du matériel et un système de fenêtres. Vous pouvez configurer votre acquisition de données en utilisant des paramètres de contrôle comme VL_FORMAT et VL_PACKING.
VL_FORMAT vous permet de préciser le format d'entée sortie et VL_PACKING le type de conversion que vous voulez réaliser en mémoire:
type taille format
VL_PACKING_RGB322_P 8-bit word BBGGGRRR
VL_PACKING_RGBA_8 32-bit word AAAAAAAABBBBBBBBGGGGGGGGRRRRRRRR
VL_PACKING_RGB_8 24-bit word XXXXXXXXBBBBBBBBGGGGGGGGRRRRRRRR
VL_PACKING_Y_8_P 8-bit word YYYYYYYY
VL_PACKING_YVYU_422_8 32-bit word UUUUUUUUYYYYYYYYVVVVVVVVYYYYYYYY
Vous allez trouver également un certain nombre d'utilitaires comme: videopanel, videoin, videoout, vlinfo, capture, vidtomem ,memtovid. et vintovout VL vous permet d'installer des produits de vidéo-conférence, de combiner graphique et vidéo, d'afficher, et de capturer de la vidéo dans une fenêtre. Pour des exemples de mise en oeuvre se reporter au répertoire ~4Dgifts/examples/video/vl.
IndigoVideo ou VS
Si vous disposez de ce board vous allez pouvoir connecter caméra, disque laser, télévision à votre Indigo via un connecteur composite ou S-Video. Les deux formats NTSC et PAL sont acceptés. Voir pour plus de détails les exemples du répertoire ~4Dgifts/examples/video/indigo.
Compression
(libcl.a): vous allez trouver des utilitaires pour comprimer/décomprimer images et sons. Vous disposez de nombreux paramètres de configuration dont les noms sont assez évocateurs comme CL_ORIGINAL_FORMAT qui spécifie à la compression le format de l'original et à la décompression le format vers lequel vous voulez aller, CL_COMPRESSION_RATIO, CL_QUALITY_FACTOR, CL_SPEED et un tas d'autres.
Movie (libmovie.a)
Les données movie compte une piste image et une piste son. Actuellement vous pouvez manipuler deux formats propriétaires: Silicon Graphics movie version 3.0, et Apple Computer QuickTime. L'interface de programmation propose une collection d'outils pour lire, écrire, convertir et passer des films. Une bonne manière de commencer est de consulter les nombreux exemples du répertoire ~4Dgifts/examples/movie.
L'environnement movie propose 2 GUI: movieplayer et moviemaker.
Le but principal de cet inventaire est d'identifier un certain nombre de besoins que vous avez ou que vous aurez pour juger l'opportunité de la mise en place d'un cours «IRIS MEDIA».
article paru dans le Flash informatique no 8 du 25 octobre1994
