2010-11-18 4 views
0

ffmpeg를 사용하여 비디오를 디코딩하고, yuv420 색상 공간에서 rgba 색상 공간으로 변환하여 CGImage로 변환 한 다음 화면에 렌더링합니다. 비디오가 올바르게 재생됩니다. 인스트루먼트를 사용하면 CPU 사이클의 1/3이 다른 변환에 사용됨을 알 수 있습니다 (함수는 CGSConvertBGRX8888toRGBA8888라고 함). 왜 두 번째 색상 공간 변환이 필요하며 PNG 이미지를로드하여 같은 방식으로 그릴 경우 변환이없는 이유는 무엇입니까? ? 의 CGImage 생성을위한iOS에서 CGImage 렌더링

코드 :

http://pastebin.com/CqePhPzG

감사합니다!

답변

0

원본 이미지의 바이트 순서가 대상과 일치하지 않는 것처럼 보입니다. 또한, X는 미리 곱셈되지 않은 알파이고 A는 미리 곱셈 된 알파입니다. 이미지 또는 비트 맵 이미지 컨텍스트를 만들 때 전달한 바이트 순서 설정을 변경해보십시오. HTH.