Afficheur de flux vidéo

Le module d'affichage:

Ce module SystemC est le complément du module VideoGen, il permet d'afficher à des images à partir d'un flux vidéo en utilisant la bibliothèque graphique SDL.

Le module SystemC (C++ class) correspondant est Display.

Le code correspondant à ce module se trouve dans le dossier:

IPs/display

Vous y trouverez:

  • Le fichier d'en-tête définissant le module
  • Le code SystemC
  • Le fichier de méta-données SocLib
  • Un exemple de configuration de l'environnement de compilation

Ce module utilise la bibliothèque graphique SDL pour l'affichage. Il faudra donc changer la configuration de l'outil de compilation pour la prendre en compte.

Constructeur du module:

 Display  (
           sc_module_name insname,            // nom du module SystemC
           const int w = 640,                 // largeur de la zone valide de l'image
           const int h = 480,                 // hauteur de la zone valide de l'image
           const int lsync = 160,             // largeur de la synchro. horizontale
           const int fsync = 40               // hauteur de la synchro. verticale
       );

Remarques:

  • Les paramètres du constructeur ont des valeurs par défaut correspondant au format vidéo utilisé.

L'interface SystemC du module:

            sc_in<bool>          clk;
            sc_in<bool>          reset_n;
            sc_in<bool>          line_valid;
            sc_in<bool>          frame_valid;
            sc_in<unsigned char> pixel_in;

En plus des signaux correspondant aux flux vidéo (tous en entrée) ce module nécessite les deux signaux suivants:

  • une horloge clk correspondant à l'horloge pixel.
  • un signale de remise à zéro reset_n actif sur niveau bas.

Configuration des variables de compilation:

Comme ce module utilise la bibliothèque SDL il faut ajouter le chemin vers les fichiers d'en-tête pour la compilation et la bibliothèque pour l'édition de liens.

La commande sdl-config peut vous aider à trouver les paramètres adéquats.

# Pour obtenir les paramètres de compilation
sdl-config --cflags
# Pour obtenir les paramètres d'édition de liens
sdl-config --libs

Inspirez vous du fichier soclib.conf.example pour adapter la configuration des outils SocLib.