기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
마이크로 비젼 7420 카메라 동영상 streaming 관련 질문이 있어서, 질문드립니다.
- 마이크로 비전에 물어 봐야 하는데, 답변이 허접해서, 자꾸 여기에 묻게 되네요... ^^;
마이크로 비젼 7420 보드에서는, 전면 카메라로 S5K6B2 를 사용하고 있는데요.
* (질문)
1.기존 S5K6B2 드라이버 (예제1) 을 보니, 카메라 동영상 streaming 이 안될것 같은데, 이 예상이 맞나요?
2. (예제 2) 소스에는 드라이버 등록 해 놓은 소스가 있는데, 이걸 사용하면, 카메라 동영상 streaming 이 가능할까요?
3. 삼성 S5K5E2 카메라 모듈을 사용해 보려고 하는데요, 이 소스도 , 구조체만 정의되어 있는데요.
이 부분을 등록만 해 주면, 되는건지, 아니면, 다른 추가적으로 포팅 이슈가 있는건지 궁금합니다.
--------------------------------------------------------------------------------------------------------------------------------
(예제 1)
드라이버 소스를 보니, 아래와 같이 정의 되어 있습니다.
헌데, 정의된 구조체를 등록을 하지 않아서, streaming은 안될꺼라는 예상이 듭니다.
fimc-is-device-6b2.c(drivers\media\platform\exynos\fimc-is2\sensor\module):
struct fimc_is_sensor_ops module_6b2_ops = {
.stream_on = sensor_6b2_stream_on,
.stream_off = sensor_6b2_stream_off,
.s_duration = sensor_6b2_s_duration,
.g_min_duration = sensor_6b2_g_min_duration,
.g_max_duration = sensor_6b2_g_max_duration,
.s_exposure = sensor_6b2_s_exposure,
.g_min_exposure = sensor_6b2_g_min_exposure,
.g_max_exposure = sensor_6b2_g_max_exposure,
.s_again = sensor_6b2_s_again,
.g_min_again = sensor_6b2_g_min_again,
.g_max_again = sensor_6b2_g_max_again,
.s_dgain = sensor_6b2_s_dgain,
.g_min_dgain = sensor_6b2_g_min_dgain,
.g_max_dgain = sensor_6b2_g_max_dgain
};
(예제 2)
마이크로 비전에서, 레퍼런스로 썻던 소스에는 , 구조체 등록 부분이 있습니다.
fimc-is-device-6b2.c (drivers\media\platform\exynos\fimc-is\sensor):
struct fimc_is_sensor_ops module_6b2_ops = {
.stream_on = sensor_6b2_stream_on,
.stream_off = sensor_6b2_stream_off,
.s_duration = sensor_6b2_s_duration,
.g_min_duration = sensor_6b2_g_min_duration,
.g_max_duration = sensor_6b2_g_max_duration,
.s_exposure = sensor_6b2_s_exposure,
.g_min_exposure = sensor_6b2_g_min_exposure,
.g_max_exposure = sensor_6b2_g_max_exposure,
.s_again = sensor_6b2_s_again,
.g_min_again = sensor_6b2_g_min_again,
.g_max_again = sensor_6b2_g_max_again,
.s_dgain = sensor_6b2_s_dgain,
.g_min_dgain = sensor_6b2_g_min_dgain,
.g_max_dgain = sensor_6b2_g_max_dgain
};
module->ops = &module_6b2_ops; <== 구조체 등록
(예제 3)
fimc-is-device-5e2.c
struct fimc_is_sensor_ops module_5e2_ops = {
.stream_on = sensor_5e2_stream_on,
.stream_off = sensor_5e2_stream_off,
.s_duration = sensor_5e2_s_duration,
.g_min_duration = sensor_5e2_g_min_duration,
.g_max_duration = sensor_5e2_g_max_duration,
.s_exposure = sensor_5e2_s_exposure,
.g_min_exposure = sensor_5e2_g_min_exposure,
.g_max_exposure = sensor_5e2_g_max_exposure,
.s_again = sensor_5e2_s_again,
.g_min_again = sensor_5e2_g_min_again,
.g_max_again = sensor_5e2_g_max_again,
.s_dgain = sensor_5e2_s_dgain,
.g_min_dgain = sensor_5e2_g_min_dgain,
.g_max_dgain = sensor_5e2_g_max_dgain
음....일단 mv에 물어보시는게 가장 좋을 것 같긴 합니다...^^;;;;;;
(그런데 보드를 정식으로 구입하신거는 맞죠????...)
1. 소스관련
제가 근래는 커널 소스를 거의 보는 경우가 없어서 정확한 답변은 힘듭니다만....
fimc-is 디렉토리가 아니라 아마도 7420은 fimc-is2 디렉토리의 것을 쓸 것으로 보여집니다.
2. 카메라가 안드로이드에서 동작이 된다면 stream_on 함수가 동작하는 것으로 보시면 됩니다.
- 아닐 경우는 없을 듯 합니다.
3. 스트리밍은 카메라와 openmax IL만 제 동작한다면 프로그래밍을 하시면 될겁니다.
즉, 카메라 preview되고, 동영상 녹화되면 streaming을 위한 기본은 된다라고 보시면 됩니다.
여기서부터 스트리밍은 다른 문제로 보시면 될 듯 하네요.
이 부분을 실제로 작성을 해야하는 문제라서요(어떻게 할지는 방법이 다 다릅니다).