media controller API의 경우 pipe를구성하여 gstreamer, tensorflow처럼 데이터 input, output을 조작할 수 있다. (run-time)
몇가지 연습을 하면서 알게된 것은
$sudo modprobe vimc
1. 전체 파이프가 살아있어야 작동한다.
무슨말이냐면 살펴보면 raw capture0 을 실행하려면 sensor A 만 잘 설정되어도 작동이 될것 같지만, 다른 곳으로 연결되어있는 Debyer, Scaler도 파이프가 정상적이여야지 작동한다.
따라서,
v4l2-ctl -z platform:vimc -d "Raw Capture 0" -v pixelformat=BA81
요 한줄로는 안되고
media-ctl -d platform:vimc -V '"Sensor A":0[fmt:SBGGR8_1X8/640x480]'
v4l2-ctl -z platform:vimc -d "RGB/YUV Capture" -v width=1920,height=1440
나머지도 진행이 되어야 capture 0도 나오고 RGB capture도 정상 작동한다.
2. 의심스러우면 modprobe 이후 바로 media-ctl -r을 이용하여 reset해보자.
이러면 파이프가 잘못된 scaler부분이 dash라인으로 변한다.
3. TODO 에서 vimc-input이 필요해보인다. 이것 역시 내 target으로 하려한다.
'Tech > linux' 카테고리의 다른 글
Ubuntu에서 Debian으로 옮긴 이유 (0) | 2024.04.02 |
---|---|
linux media subsystem [5] (0) | 2022.04.08 |
linux media subsystem [3] (0) | 2022.04.07 |
linux media subsystem [2] (0) | 2022.04.07 |
linux media subsystem [1] (0) | 2022.04.01 |