Juste une chose, quand sous Android on a la Camera Preview dans une SurfaceTexture, ce n'est quand même pas exactement en temps réel un tampon DMA directement lié à la Camera, n'est-ce pas? Si c'était le cas, on lirait des images où certains pixels sont plus récents que d'autres... Je crois plutôt que la SurfaceTexture reçoit des images complètes l'une après l'autre, qui sont donc des copies de ce que la Camera a fourni à un moment donné. SurfaceTexture se comporte donc comme un EGLStream, un flux d'images. Il y a deux degrés de liberté, le nombre d'images dans le flux (par exemple 2 pour du double-buffering, et généralement une dizaine pour un flux video) et un booléen qui dit si au cas où le côté producteur aurait produit plusieurs images en avance, on doit utiliser la plus récente ou la plus ancienne. Avec ces degrés de liberté, SurfaceTexture couvre tous les besoins d'Android. J'ai hâte de voir une solution équivalente (une implémentation de EGLStream / EGLSurface utilisée partout, e.g. pour la camera) sur les bureaux libres!
[^] # Re: Et la couche graphique d'Android? (SurfaceFlinger/SurfaceTexture/GraphicBuffer)
Posté par Benoit Jacob . En réponse à la dépêche Entretien avec Jérôme Glisse, développeur des pilotes graphiques radeon pour Red Hat. Évalué à 2.
Merci pour ta réponse.
Juste une chose, quand sous Android on a la Camera Preview dans une SurfaceTexture, ce n'est quand même pas exactement en temps réel un tampon DMA directement lié à la Camera, n'est-ce pas? Si c'était le cas, on lirait des images où certains pixels sont plus récents que d'autres... Je crois plutôt que la SurfaceTexture reçoit des images complètes l'une après l'autre, qui sont donc des copies de ce que la Camera a fourni à un moment donné. SurfaceTexture se comporte donc comme un EGLStream, un flux d'images. Il y a deux degrés de liberté, le nombre d'images dans le flux (par exemple 2 pour du double-buffering, et généralement une dizaine pour un flux video) et un booléen qui dit si au cas où le côté producteur aurait produit plusieurs images en avance, on doit utiliser la plus récente ou la plus ancienne. Avec ces degrés de liberté, SurfaceTexture couvre tous les besoins d'Android. J'ai hâte de voir une solution équivalente (une implémentation de EGLStream / EGLSurface utilisée partout, e.g. pour la camera) sur les bureaux libres!