2009-07-06 8 views
0

J'ai obtenu un format de fichier YUV brut tout ce que je sais à ce stade est que le clip a une résolution de 176x144.Trouver le format de fichier YUV dans Cocoa

le Y pla est 176x144 = 25344 octets, et le plan UV est la moitié de cela. Maintenant, j'ai fait quelques lectures sur YUV, et il y a différents formats correspondant aux différentes façons dont les avions Y & US sont stockés.

Maintenant, comment peut-on effectuer une sorte de vérification dans Cocoa pour trouver le format de fichier YUV brut. Y at-il un en-tête de fichier dans le cadre YUV où je peux extraire des informations?

Merci à l'avance pour tout le monde

Répondre

3

Malheureusement, si c'est juste un flux vidéo YUV, il sera juste les données pour les trames écrites sur le disque, l'un après l'autre. Il n'y aura probablement pas d'en-tête indiquant quel format spécifique est utilisé.

Il semble que vous ayez déterminé qu'il s'agit d'un flux YUV 4: 2: 2, il vous suffit donc de déterminer l'ordre d'entrelacement (les possibilités les plus courantes sont répertoriées here). En réponse à votre question précédente, I posted a function qui convertit une image du format YUV UYVY (Y422) au format 2VUY utilisé par l'extension YUV OpenGL d'Apple. Le mieux est peut-être de l'essayer et de voir à quoi ressemblent les images, puis de modifier le format d'entrelacement jusqu'à ce que les couleurs et l'image soient claires.

+0

sonne bien, merci beaucoup – ReachConnection

+0

Je viens de découvrir que mon format YUV est NV12. des recommandations pour la prochaine étape? – ReachConnection

+0

Cela semble être un peu plus délicat, parce que c'est un format planaire, pas entrelacé (selon le premier lien dans ma réponse). Vous pouvez modifier ma fonction affichée pour lire toutes les valeurs Y d'abord, et les placer aux bons endroits dans la trame de sortie 2VUY, puis revenir en arrière et remplir les valeurs U (Cb) et V (Cr). Comme il s'agit d'une trame 4: 2: 0 au lieu d'une trame 4: 2: 2, chaque valeur U et V est utilisée pour deux lignes, en plus d'être utilisée pour deux colonnes: http://v4l2spec.bytesex.org/spec/ r5470.htm –

Questions connexes