2009-07-06 3 views
0

이 시점에서 내가 아는 모든 원시 YUV 파일 형식은 클립의 해상도가 176x144 인 것입니다.코코아에서 YUV 파일 형식 찾기

Ypla는 176x144 = 25344 바이트이고 UV 계획은 그 절반입니다. 이제 저는 YUV에 대한 몇 가지 독서를했으며, Y & 미국 비행기가 저장되는 방법에 따라 다른 형식이 있습니다.

이제 원시 YUV 파일 형식을 찾기 위해 Cocoa에서 일종의 검사를 수행 할 수 있습니다. 몇 가지 정보를 추출 할 수있는 YUV 프레임에 파일 헤더가 있습니까? 그냥 원시 YUV 스트림의 경우 모두

불행하게도

답변

3

에 사전에

덕분에, 그것은 또 다른 후 디스크 하나에 기록 된 프레임에 대한 데이터가 될 것입니다. 아마도 어떤 특정 형식이 사용되고 있는지를 나타내는 헤더가 없을 것입니다.

YUV 4 : 2 : 2 스트림으로 판단되는 것처럼 들리므로 인터리브 순서를 결정하면됩니다 (가장 일반적인 가능성은 here입니다). 이전 질문에 대한 답변으로, 프레임을 UYVY (Y422) YUV 형식에서 Apple YUV OpenGL 확장에 사용되는 2VUY 형식으로 변환하는 I posted a function. 가장 좋은 방법은 이미지를 어떻게 보이는지 확인한 다음 색상과 이미지가 없어 질 때까지 인터리빙 형식을 수정하는 것입니다.

+0

좋은 소리, 고마워요 – ReachConnection

+0

방금 ​​내 YUV 형식이 NV12라는 것을 알았습니다. 다음 단계의 권장 사항은 무엇입니까? – ReachConnection

+0

평면 형식이고 인터리브되지 않았기 때문에 조금 더 까다로워 보입니다 (내 대답의 첫 번째 링크에 따라). 게시 된 함수를 수정하여 모든 Y 값을 먼저 읽고 출력 2VUY 프레임의 올바른 위치에 넣은 다음 되돌아 가서 U (Cb) 및 V (Cr) 값을 채울 수 있습니다. 4 : 2 : 2 프레임 대신 4 : 2 : 0이기 때문에 각 U 및 V 값은 두 개의 열에 사용되는 것 외에도 두 개의 행에 사용됩니다. http://v4l2spec.bytesex.org/spec/ r5470.htm –