Stage Projet de fin d’études – Architecture et développement d’une interface Vulkan Vidéo pour accélérateurs matériels de compression vidéo

Allegro_light1
Our Company

Créée en 2003, Allegro DVT est une entreprise internationale en forte croissance. Son expertise est mondialement reconnue dans le domaine de la vidéo numérique sur le marché des semi-conducteurs. Les équipes sont basées en France, en Chine, aux Etats-Unis, à Chypre, en Arménie et au Royaume-Uni. 

Le savoir-faire d’Allegro DVT est notamment présent dans les caméras de voitures, les jeux vidéo, les téléphones portables, les montres connectées, les caméras de surveillance, etc… 

Les acteurs majeurs de la micro-électronique, de l’industrie automobile et les acteurs dans le secteur de diffusion et streaming vidéo comptent parmi ses clients. Ses produits sont des leviers d’attractivité pour les marchés émergents tels que l’IA, les véhicules autonomes, la robotique et la santé. 

Chez Allegro DVT vous trouverez des projets innovants, variés et passionnants !

Contexte 

Les accélérateurs vidéo développés par Allegro DVT sont aujourd’hui accessibles via plusieurs interfaces logicielles :

  • API propriétaires Allegro DVT,
  • Drivers Linux V4L2,
  • Frameworks multimédia tels que GStreamer et FFmpeg.

 

L’industrie du multimédia embarqué évolue désormais vers l’adoption de Vulkan Video, une extension de l’API Vulkan permettant d’exposer de manière standardisée les capacités matérielles d’encodage et de décodage vidéo.

Cette nouvelle approche vise à unifier les mécanismes de gestion mémoire, de synchronisation et d’accélération matérielle au sein d’un même environnement logiciel. Elle ouvre également la voie à de nouveaux modèles d’intégration dans les piles logicielles Linux modernes.

Afin d’anticiper cette évolution, Allegro DVT souhaite étudier et développer une première implémentation d’une couche Vulkan Video capable de piloter ses IP d’encodage et de décodage vidéo en capitalisant sur les architectures déjà mises en œuvre pour les drivers V4L2.

L’objectif du stage est de concevoir et développer un prototype de driver Vulkan Video permettant d’exploiter les accélérateurs matériels vidéo Allegro DVT depuis les applications compatibles Vulkan.

Le stagiaire contribuera à la définition de l’architecture logicielle, à l’intégration avec les pilotes existants et à la validation des performances sur plateformes embarquées.

Job Tasks

Au sein de l’équipe Software Engineering, vous participerez à la conception d’un prototype de driver Vulkan Video permettant d’exploiter les accélérateurs matériels vidéo Allegro DVT depuis les applications compatibles Vulkan.

Le stagiaire contribuera à la définition de l’architecture logicielle, à l’intégration avec les pilotes existants et à la validation des performances sur plateformes embarquées.

Vos principales missions seront les suivantes :

Analyse de l’architecture logicielle

  • Analyse des spécifications Vulkan Video,
  • Étude des implémentations open source existantes,
  • Analyse de l’architecture des drivers V4L2 développés par Allegro DVT,
  • Identification des mécanismes logiciels réutilisables dans un environnement Vulkan Video,
  • Étude des approches actuellement discutées au sein de l’écosystème Linux Multimedia et Linux Media.

Définition de l’architecture

  • Étude de l’architecture logicielle des encodeurs et décodeurs Allegro DVT,
  • Définition de l’abstraction logicielle permettant l’utilisation des IP vidéo via Vulkan,
  • Analyse des interactions entre espace utilisateur, driver Linux et firmware embarqué.

Développement

  • Développement d’une première implémentation Vulkan Vidéo,
  • Intégration des mécanismes de gestion mémoire et de synchronisation Vulkan,
  • Mise en œuvre du support d’un premier codec vidéo (AVC et/ou HEVC),
  • Intégration avec les plateformes de validation internes.

Validation

  • Développement d’outils de validation,
  • Campagne de tests fonctionnels,
  • Mesure des performances et de l’utilisation mémoire,
  • Comparaison avec les solutions V4L2 existantes.
Profile

Nous recherchons des étudiant(e)s en 3ème année d’école d’ingénieurs en informatique, systèmes embarqués ou équivalent.

Vous possédez idéalement :

  • Une bonne maîtrise du langage C/C++,
  • Des connaissances en développement Linux,
  • Un fort intérêt pour les architectures logicielles complexes,
  • Une curiosité pour les technologies multimédia et les systèmes embarqués,
  • Une capacité à travailler de manière autonome sur des sujets exploratoires.

Des connaissances en Vulkan, V4L2, FFmpeg, GStreamer ou traitement vidéo constituent un plus.

Technologies abordées :

  • C / C++
  • Linux embarqué
  • Développement de pilotes Linux
  • Vulkan
  • V4L2
  • FFmpeg
  • Git
  • RISC-V

 

Informations pratiques

Stage basé à Montbonnot-Saint-Martin (Inovallée) accessible avec le bus C1.

Rémunération : 1.200 € bruts mensuels + chèques déjeuners 9,5 €/jour avec prise en charge de 60% par

l’employeur + remboursement 50% des transports en commun.

Pour plus d’informations ou pour postuler à ce stage, veuillez SVP adresser votre CV à hr@allegrodvt.com

Send an application for this job