2009-12-10 7 views
0

Windows Mobile 플랫폼 용 카메라 드라이버 드라이버를 쓰고 있습니다.카메라 미리보기 중 프레임 속도 문제

미리보기가 정확하지만 매우 낮은 속도 (어쩌면 1 또는 2 프레임/초)로 보이는 응용 프로그램에 문제가 있습니다.

조사 후에, I 프레임 센서 (매 45ms)하지만 때 HW 이벤트가 해당 프레임이 저장 될 수 있도록 어떠한 버퍼가없는 한 다음 프레임이 삭제 된 발생에서 확인 오는 것을 확인할 수 있었다.

우리의 경우 버퍼는 IOCTL_CS_BUFFERS/CS_ENQUEUE API를 통해 응용 프로그램에서 제공됩니다. 문제는 버퍼가 매우 낮은 속도로 주어 졌기 때문에 이것이 미리보기가 제대로 작동하지 않는 이유입니다.

문제는 PIN_IOControl 이후이 속도에 대해,이 API는 DirectShow를 펌웨어에서 호출되는 이유를 조사 할 수 없다는 것입니다.

앞서 설명한 문제는 테스트 응용 프로그램과 관련이 있습니다.

이제 Windows Mobile 카메라 응용 프로그램을 사용하는 경우 미리보기가 그림 모드 (약 15 프레임/초)로 좋습니다. 그러나 비디오 모드가 켜지면 미리보기에는 초당 약 2 프레임 (우리가 사용하는 테스트 응용 프로그램에서와 같이)이 표시됩니다. 나는이 두 모드 사이를 볼 수

유일한 차이점은 캡처 모드 (그림) 미리보기는 QVGA 형식을 사용하는 반면에 비디오 모드 미리보기가 QCIF 형식을 사용하고 있다는 점이다.

도움 주셔서 감사합니다.

Fabrice.

답변

1

Directshow는 다운 스트림 필터가 끝나면 버퍼를 풀로 반환합니다. DirectShow 자체가 아닌 버퍼 다운 스트림을 사용하고있는 모든 것에 의해 방해 받고 있습니다. 당신이 캡처 버퍼가 풀에 방출되는 속도는 그래서 단지, 2fps을 관리 할 수 ​​다운 스트림 인코더를 가지고있는 것처럼

소리가 난다. 드라이버의 출력 버퍼 매개 변수를 제어 할 수 있으면 풀 크기를 늘릴 수는 있지만 순간적으로 도움이되지는 않습니다. 디스크에 직접 쓰는 것과 같은 대체 필터 그래프를 조사 할 수도 있습니다.

g

+0

답장을 보내 주셔서 감사합니다. 프로세스가 버퍼를 보유한다는 사실에 동의합니다 (예 : 색상 및 형식 변환 프로세스 일 수 있음). 캡처 미리보기가 정상적으로 작동하기 때문에 버퍼 관리와 관련된 모든 변경 작업을 수행해야한다고 생각하지 않습니다. 오히려 프레임 속도가 낮을 ​​때 필터/렌더러 핀 형식을 호환 가능하게 만드는 중간 프로세스가 발생한다고 생각합니다. 캡처 미리보기가 작동 중이므로 런타임 동안 그래프 구성과 핀 형식을 비교하려고했지만 작업을 수행하는 도구를 찾을 수 없었습니다. 내가 올바른 길로 가고 있다고 생각합니까? 감사합니다. – user228561

+0

그래프 구성 및 연결 미디어 유형을 보려면 www.gdcl.co.uk/mobile의 viewgraph 도구를 사용하십시오. –

관련 문제