강좌 & 팁
v4l2 에서 사용하는 YCbCr 타입의 이미지 포맷을 예로 정리해봤습니다.
1. V4L2_PIX_FMT_YUYV ('YUYV')
V4L2_PIX_FMT_YUYV 4 × 4 pixel image
start + 0: Y'00 Cb00 Y'01 Cr00 Y'02 Cb01 Y'03 Cr01
start + 8: Y'10 Cb10 Y'11 Cr10 Y'12 Cb11 Y'13 Cr11
start + 16: Y'20 Cb20 Y'21 Cr20 Y'22 Cb21 Y'23 Cr21
start + 24: Y'30 Cb30 Y'31 Cr30 Y'32 Cb31 Y'33 Cr31
Color Sample Location.
0 1 2 3
0 Y C Y Y C Y
1 Y C Y Y C Y
2 Y C Y Y C Y
3 Y C Y Y C Y
2. V4L2_PIX_FMT_Y41P ('Y41P')
V4L2_PIX_FMT_Y41P 8 × 4 pixel image
start + 0: Cb00 Y'00 Cr00 Y'01 Cb01 Y'02 Cr01 Y'03 Y'04 Y'05 Y'06 Y'07
start + 12: Cb10 Y'10 Cr10 Y'11 Cb11 Y'12 Cr11 Y'13 Y'14 Y'15 Y'16 Y'17
start + 24: Cb20 Y'20 Cr20 Y'21 Cb21 Y'22 Cr21 Y'23 Y'24 Y'25 Y'26 Y'27
start + 36: Cb30 Y'30 Cr30 Y'31 Cb31 Y'32 Cr31 Y'33 Y'34 Y'35 Y'36 Y'37
Color Sample Location.
0 1 2 3 4 5 6 7
0 Y Y C Y Y Y Y C Y Y
1 Y Y C Y Y Y Y C Y Y
2 Y Y C Y Y Y Y C Y Y
3 Y Y C Y Y Y Y C Y Y
3. V4L2_PIX_FMT_YVU420 ('YV12'), V4L2_PIX_FMT_YUV420 ('YU12')
V4L2_PIX_FMT_YVU420 4 × 4 pixel image
start + 0: Y'00 Y'01 Y'02 Y'03
start + 4: Y'10 Y'11 Y'12 Y'13
start + 8: Y'20 Y'21 Y'22 Y'23
start + 12: Y'30 Y'31 Y'32 Y'33
start + 16: Cr00 Cr01
start + 18: Cr10 Cr11
start + 20: Cb00 Cb01
start + 22: Cb10 Cb11
Color Sample Location.
0 1 2 3
0 Y Y Y Y
C C
1 Y Y Y Y
2 Y Y Y Y
C C
3 Y Y Y Y