|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 47 ![]() |
Bonjour,
Je vais vous présenter mon problème. Le premier est le fait que je suis sur Linux et SDL ne prend pas en charge l'accélération matérielle (je ne sais pas si mon problème vient de là). Bref, j'ai un programme qui décode une vidéo avec FFmpeg et convertit l'image en YUV420P (le format du YUVOverlay de SDL). Je crée donc un overlay et j'utilise SDL_DisplayYUVOverlay() pour l'afficher à l'écran. Par la suite, je récupère une surface de texte avec SDL_ttf et j'appelle SDL_BlitSurface et SDL_Flip pour afficher le texte à l'écran. Le problème est le fait que si j'affiche seulement la vidéo avec l'overlay, la vitesse est satisfaisante. En revanche, si je blit le texte en plus de la vidéo, la vitesse devient catastrophique et le texte scintille si je déclare la fenêtre SDL en 24bpp. En revanche, en 32bpp, le texte reste fixe mais la vidéo ne s'affiche plus. Voici un extrait de code : Code :
Code :
Merci, Benjamin |
||||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : juillet 2008 Messages : 339 ![]() |
Salut,
Dans ta carte graphique le rendu "overlay YUV" est un truc alternatif pour réduire la bande passante vers ta CG par 2. En utilisant SDL_Flip tu utilises les deux chemins de rendu donc ça va clignoter. Je te conseille de convertir ta vidéo YVU 420 dans ton framebuffer RGB, puis de flipper ça une fois le texte incrusté. La conversion de couleur correcte que tu cherche est sur le site http://www.fourcc.org/ Par ailleurs ça me semble bizarre de recréer les AVPictureAdapter à chaque frame. |
|
10
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 47 ![]() |
Citation:
Citation:
Merci pour la réponse en tout cas ! |
||
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 47 ![]() |
Bref, voici un double post pour dire que j'adopte la technique que j'ai inscrite dans mon dernier post. Ça ne fait pas baisser le nombre de FPS, donc à priori, il n'y a pas de raisons pour ne pas la garder.
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com