2012-10-03 6 views
-3

.yuv 파일이 있고 C++을 사용하여 읽고 싶습니다. 문제는 해결 방법을 모른다는 것입니다. 그렇다면 yuv 파일에서 해상도를 유도 할 수있는 방법이 있습니까?YUV 프레임의 해상도를 얻는 방법

또한 프레임 수를 알지 못합니다. 따라서 ftell()을 사용하여 전체 프레임으로 나눌 수 없습니다.

+0

어떤 소프트웨어가 yuv 파일을 만들었습니까? 지금까지 뭐 해봤 어? 파일 형식에 대한 어떤 정보가 있습니까? –

답변

6

내가 아는 한 .yuv 파일 형식이 없습니다. 일부 프로그램은 원시 데이터를 저장하기 위해 해당 확장자를 사용하지만 형식이 아닙니다. 따라서 이미 메타 데이터를 알지 못하는 한 파일을 사용할 방법이 없습니다.

그리고 채도 샘플이 휘도와 인터리브되거나 별도로 저장되어 있는지, 그리고 비트 채우기 및/또는 행 패딩이있는 경우 미리 파일의 데이터를 읽을 수 있어야합니다.

그런 다음 해당 데이터를 올바르게 처리하려면 미리 프레임 해상도, 채도 하위 샘플링 및 색 공간을 알아야합니다.

+0

나는 구체적인 yuv 이미지를 의미합니다 – darshshah

+0

차이는 작습니다. 이미지를 사용하면 파일 크기를 확인하고 다른 것을 아는 경우 일부 메타 데이터를 "추측"할 수 있지만 일반적으로 모든 것을 사전에 알아야합니다. –

+0

@darshshah re : "yuv images": Georg와 AnalogFile은 정확합니다. "표준"YUV 이미지 파일 형식은 없습니다. 그러나 많은 "표준"이미지 형식은 YUV 이미지를 저장할 수 있습니다. 그들은 필요한 모든 정보를 제공하는 파일 헤더를 가지고 있습니다. 파일 헤더가 없으면 추측하거나 실험해야합니다. # 1 어떤 YUV 형식이 이미지 크기까지 합칠 수 있는지 확인하십시오. # 2 그런 다음 모두 표시하여 어느 것이 올바른지 확인하십시오. YUV 4 : 2 : 0은 W * H * 3/2; 유 4 : 2 : 2에는 W * H * 2가 필요하다. 기타 –

관련 문제