Ich habe Video mit AVFoundation aufgenommen. Ich habe eingestellt (Video-Einstellung) und in Outputsamplebuffer kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange Format. Aber ich brauche YUV420-Format für die weitere Verarbeitung.
Mein Zweifel ist
1.Differenz zwischen 420YpCbCr8BiPlanarVideoRange,420YpCbCr8BiPlanarFULLRange, 420YpCbCr8PlanarFullRange,420YpCbCr8Planar
und YUV420?
2.wie kann ich 420YpCbCr8BiPlanarVideoRange in YUV420 umwandeln?
3. Wie konvertiert man YUV420 zu 32BGRA?
4) oder eine andere Möglichkeit dies zu tun ??? das ist jede Open-Source-Bibliothek oder Apple Framework ....
Ich habe Accelerate-Framework durchlaufen ...... es hat Bildkonvertierung für folgende planar8,planerF,RGBA8888
etc ... Irgendeine Möglichkeit, diese Formate mit 32BGRA/YUV420/ 420YpCbCr8BiPlanarVideoRange
und Do meine Anforderung ?????
Vielen Dank im Voraus
Danke im Voraus
Die Hauptunterschiede sind:
Wenn Sie ein biplanar -Format haben, befinden sich die Y-Daten (Luminanz) und die CbCr-Daten (Chroma- oder Farbinformationen) in zwei separaten Speicherbereichen, die als Ebenen bezeichnet werden. Sie können CVPixelBufferGetBaseAddressOfPlane
mit Index 0 verwenden, um die Y-Daten abzurufen, und index 1, um die CbCr-Daten abzurufen. Wenn das Format planar ist, befinden sich beide Arten von Daten in derselben Ebene (zuerst alle Y-Werte, dann alle Cb-Werte und schließlich die Cr-Werte).
Wenn Sie ein full range -Format haben, werden die Werte von 0 bis 255 für jeden Luma oder Chroma-Wert verwendet. Das Videobereich -Format verwendet nur Werte von 16 bis 235 (aus einigen historischen Gründen).
Der Begriff 420 gibt an, wie viel Luma und wie viele Chrominanzinformationen das Format enthält. Es sagt im Grunde, dass es Luma Informationen für jedes Pixel und Chroma Information für jeden 2x2 Block gibt.
YUV420 ist - soweit ich das beurteilen kann - kein genau spezifiziertes Format. Es wird oft für ein planares YpCbCr 420-Format verwendet.
Tags und Links iphone avfoundation image-processing yuv