728x90
반응형
4.1 ISP sensor input
4.1.1 Sensor size limitation
SensorInputSize (bounds_width x bounds_height):
- 최소 해상도: 176 x 144
- 최대 해상도: 4096 x 3072
- 너비 정렬: 16 픽셀
- 높이 정렬: 8 픽셀
EffectiveDataSize (width x height):
- 최소 해상도: 176 x 144
- 최대 해상도: 4096 x 3072
- 너비 정렬: 16 픽셀
- 높이 정렬: 8 필셀
Limitations:
- 상단 오프셋: 제한 없음
- 좌측 오프셋: 제한 없음
- Bounds_width >= (left + width)
- Bounds_height >= (top + height)
센서의 입력 변경은 센서 드라이버에서 지원해야 한다.
sensor0의 경우 sensor0_entry.cfg나 sensor1의 경우 sensor1_entry.cfg를 수정한다.
이 섹션의 예제:
- xml은 ISP Calibration Tools에서 생성된 보정 XML 파일입니다.
- dwe는 dewrap 구성 파일이다.
Table 131. Sensor mode and resolution
Sensor Mode | Resolution |
---|---|
0 | 3840x2160 Linear |
1 | 3840x2160 HDR |
2 | 1920x1080 Linear |
3 | 1920x1080 HDR |
4.1.2 Sensor size configuration in driver
일부 센서는 데이터가 내장되어 있다.
예를 들어, 1936 x 1096의 센서 입력 크기의 경우, 유효 데이터 크기는 오프셋이 8 x 8인 1920 x 1080이고, bounds_width와 bounds_height는 유효 데이터 영역의 직사각형을 지정하는 전체 센서 입력 크기, 상단, 좌측, 너비, 높이를 사용하여 나타낸다. ISP는 ACQ 모듈의 ISP 입력으로 유효 데이터 크기를 자르고 사용한다.
.size = {
.bounds_width = 1936,
.bounds_height = 1096,
.top = 8,
.left = 8,
.width = 1920,
.height = 1080,
},
일반 센서의 경우, 센서 입력 데이터는 모두 유효 데이터이므로 다음과 같다:
- bounds_width = width
- bounds_height = height
- top = 0
- left = 0
.size = {
.bounds_width = 1920,
.bounds_height = 1080,
.top = 0,
.left = 0,
.width = 1920,
.height = 1080,
},
4.1.3 Sensor Mode 0, 3840x2160 Linear
name="basler-vvcam"
drv = "daA3840_30mc.drv"
mode= 0
[mode.0]
xml = "DAA3840_30MC_4K-linear.xml"
dwe = "dewarp_config/daA3840_30mc_4K.json"
[mode.1]
xml = "DAA3840_30MC_1080P-linear.xml"
dwe = "dewarp_config/daA3840_30mc_1080P.json"
[mode.2]
xml = "DAA3840_30MC_4K-hdr.xml"
dwe = "dewarp_config/daA3840_30mc_4K.json"
[mode.3]
xml = "DAA3840_30MC_1080P-hdr.xml"
dwe = "dewarp_config/daA3840_30mc_1080P.json"
4.1.4 Sensor Mode 1, 3840x2160 HDR
name="basler-vvcam"
drv = "daA3840_30mc.drv"
mode= 1
[mode.0]
xml = "DAA3840_30MC_4K-linear.xml"
dwe = "dewarp_config/daA3840_30mc_4K.json"
[mode.1]
xml = "DAA3840_30MC_1080P-linear.xml"
dwe = "dewarp_config/daA3840_30mc_1080P.json"
[mode.2]
xml = "DAA3840_30MC_4K-hdr.xml"
dwe = "dewarp_config/daA3840_30mc_4K.json"
[mode.3]
xml = "DAA3840_30MC_1080P-hdr.xml"
dwe = "dewarp_config/daA3840_30mc_1080P.json"
4.1.5 Sensor Mode 2, 1920x1080 Linear
name="basler-vvcam"
drv = "daA3840_30mc.drv"
mode= 2
[mode.0]
xml = "DAA3840_30MC_4K-linear.xml"
dwe = "dewarp_config/daA3840_30mc_4K.json"
[mode.1]
xml = "DAA3840_30MC_1080P-linear.xml"
dwe = "dewarp_config/daA3840_30mc_1080P.json"
[mode.2]
xml = "DAA3840_30MC_4K-hdr.xml"
dwe = "dewarp_config/daA3840_30mc_4K.json"
[mode.3]
xml = "DAA3840_30MC_1080P-hdr.xml"
dwe = "dewarp_config/daA3840_30mc_1080P.json"
4.1.6 Sensor Mode 3, 1920x1080 HDR
name="basler-vvcam"
drv = "daA3840_30mc.drv"
mode= 3
[mode.0]
xml = "DAA3840_30MC_4K-linear.xml"
dwe = "dewarp_config/daA3840_30mc_4K.json"
[mode.1]
xml = "DAA3840_30MC_1080P-linear.xml"
dwe = "dewarp_config/daA3840_30mc_1080P.json"
[mode.2]
xml = "DAA3840_30MC_4K-hdr.xml"
dwe = "dewarp_config/daA3840_30mc_4K.json"
[mode.3]
xml = "DAA3840_30MC_1080P-hdr.xml"
dwe = "dewarp_config/daA3840_30mc_1080P.json"
4.2 Arbitrary resolution output
- 최소 해상도: 176 x 144
- 최대 해상도: 4096 x 3072
- 너비 정렬: 16 픽셀
- 높이 정렬: 8 픽셀
- pixel_format: V4L2_PIX_FMT_YUYV, V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16
4.2.1 V4L2 API
지원되는 해상도를 가져오기:
int ioctl(int fd, VIDIOC_ENUM_FRAMESIZES, struct v4l2_frmsizeenum *argp)
임의의 해상도 출력 설정:
int ioctl(int fd, VIDIOC_S_FMT, struct v4l2_format *argp)
4.2.2 GStream example
3840 x 2160:
gst-launch-1.0 -v v4l2src device=/dev/video2 ! "video/x-raw,format=YUY2,width=3840,height=2160" ! queue ! waylandsink
1920 x 1080:
gst-launch-1.0 -v v4l2src device=/dev/video2 ! "video/x-raw,format=YUY2,width=1920,height=1080" ! queue ! waylandsink
1280 x 720:
gst-launch-1.0 -v v4l2src device=/dev/video2 ! "video/x-raw,format=YUY2,width=1280,height=720" ! queue ! waylandsink
4.2.3 video_test example
- 최소 해상도: 176 x 144
- 최대 해상도: 4096 x 3072
- 너비 정렬: 16 픽셀
- 높이 정렬: 8 픽셀
3840 x 2160:
./video_test -w 3840 -h 2160 -f YUYV -t 1 -m 0 -d 2
1920 x 1080:
./video_test -w 1920 -h 1080 -f YUYV -t 1 -m 0 -d 2
1280 x 720:
./video_test -w 1280 -h 720 -f YUYV -t 1 -m 0 -d 2
4.3 Crop and scale
- 상위 정렬: 16 픽셀
- 좌측 정렬: 16 픽셀
- 너비 정렬: 16 픽셀
- 높이 정렬: 8 픽셀
- 최대 해상도: 4096 x 3072
- 최소 해상도: 176 x 144
확대 비율이 최대 4.0으로 제한된다. 축소 비율에는 제한이 없다.
4.3.1 V4L2 API
int ioctl(int fd, VIDIOC_G_SELECTION, struct v4l2_selection *argp)
int ioctl(int fd, VIDIOC_S_SELECTION, struct v4l2_selection *argp)
4.3.2 video_test example
Crop:
./video_test -w 1280 -h 720 -f YUYV -t 1 -m 0 -d 2 -c 1280_720
./video_test -w 640 -h 480 -f YUYV -t 1 -m 0 -d 2 -c 640_480
Scale:
./video_test -w 3840 -h 2160 -f YUYV -t 1 -m 2 -d 2 -s
./video_test -w 1280 -h 720 -f YUYV -t 1 -m 2 -d 2 –s
Crop Then scale:
./video_test -w 3840 -h 2160 -f YUYV -t 1 -m 0 -d 2 -c 1280_720 -s
./video_test -w 640 -h 480 -f YUYV -t 1 -m 0 -d 2 -c 1280_720 -s
728x90
반응형
'NXP i.MX SoC Family > i.MX 8M Plus Camera and Display Guide' 카테고리의 다른 글
i.MX 8M Plus Camera and Display Guide - Revision History (0) | 2022.10.04 |
---|---|
i.MX 8M Plus Camera and Display Guide - ISP Using V4L2 Interface (0) | 2022.09.21 |
i.MX 8M Plus Camera and Display Guide - ISP Independent Sensor Interface API (0) | 2022.09.02 |
i.MX 8M Plus Camera and Display Guide - Camera Sensor Porting Guide (0) | 2022.09.02 |
i.MX 8M Plus Camera and Display Guide (0) | 2022.09.02 |