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



4. V4L2_PIX_FMT_YUV422P ('422P')

V4L2_PIX_FMT_YUV422P 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: Cb00 Cb01  
start + 18: Cb10 Cb11  
start + 20: Cb20 Cb21  
start + 22: Cb30 Cb31  
start + 24: Cr00 Cr01  
start + 26: Cr10 Cr11  
start + 28: Cr20 Cr21  
start + 30: Cr30 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


5. V4L2_PIX_FMT_NV12 ('NV12'), V4L2_PIX_FMT_NV21 ('NV21')

V4L2_PIX_FMT_NV12 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: Cb00 Cr00 Cb01 Cr01
start + 20: Cb10 Cr10 Cb11 Cr11

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