2010-11-18 3 views
0

Ffmpeg kullanarak bir video çözerken, bir CGImage öğesine dönüştürüp ekrana dönüştürerek yuv420 renk uzayından rgba renk uzayına dönüştürüyorum. Video doğru şekilde oynatılıyor. Cihazlar ile CPU döngülerinin üçte birinin başka bir dönüşüm için kullanıldığını görüyorum (işlev CGSConvertBGRX8888toRGBA8888 olarak adlandırılıyor) Bu ikinci renk alanı dönüşümü neden gerekliyse ve örneğin bir PNG görüntüsünü yükleyip aynı şekilde çizersem neden dönüştürme yapılmıyor? ? CGImage oluşturulması içiniOS'ta CGImage oluşturma

Kodu:

http://pastebin.com/CqePhPzG

teşekkürler!

cevap

0

Kaynak resmin bayt sırası hedefle eşleşmiyor gibi görünüyor. Ayrıca, X in premultiplied alpha, A ise premultiplied alpha olduğunu düşünüyorum. Resminizi veya bitmap resim bağlamınızı oluştururken ilettiğiniz bayt sıralama ayarlarını değiştirmeyi deneyin. HTH.