Bonjour,
j'ai un programme qui permet de récupérer les images d'une vidéo une par une. On convertit le format natif en format YUV420P. Pour cela, j'utilise la fonction sws_scale qui convertit mon image pFrame de format natif en image pFrameYUV de format YUV420P. J'arrive bien à visualiser mes Y en les enregistrant dans un fichier PPM.
Maintenant, la vidéo que j'utilise pour tester est déjà en format YUV420P. Donc, je me dis que ce n'est pas obligé d'utiliser sws_scale pour gagner du temps, mais je n'y arrive pas. Lorsque j'enregistre directement pFrame, j'obtiens des "bandes de gris" ... Je ne comprend pas pourquoi alors que sws_scale fait uniquement une copie des données dans le cas où l'image source et l'image destination ont le même format et la même taille.
Maintenant, j'ai vu que mon pFrame->linesize[0] était égal à 752 alors que ma width est de 720. Alors je pense que le problème vient de là ? Mais je croyais que linesize représentait le nombre d'octets par ligne ? Pourquoi ai-je une différence de 32 ? Puis-je enregistrer directement ma pFrame ?

Merci pour l'aide que vous pourriez m'apporter !