xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/common/code_to_pixel_format.cpp (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 #include <linux/v4l2-subdev.h>
2 #include <linux/videodev2.h>
3 #include "linux/rk-video-format.h"
4 #include "code_to_pixel_format.h"
5 #include "xcam_log.h"
6 
7 
8 RKAIQ_BEGIN_DECLARE
get_v4l2_pixelformat(uint32_t pixelcode)9 uint32_t get_v4l2_pixelformat(uint32_t pixelcode)
10 {
11     uint32_t pixelformat = -1;
12 
13     switch (pixelcode) {
14     case MEDIA_BUS_FMT_SRGGB8_1X8:
15         pixelformat = V4L2_PIX_FMT_SRGGB8;
16         break;
17     case MEDIA_BUS_FMT_SBGGR8_1X8:
18         pixelformat = V4L2_PIX_FMT_SBGGR8;
19         break;
20     case MEDIA_BUS_FMT_SGBRG8_1X8:
21         pixelformat = V4L2_PIX_FMT_SGBRG8;
22         break;
23     case MEDIA_BUS_FMT_SGRBG8_1X8:
24         pixelformat = V4L2_PIX_FMT_SGRBG8;
25         break;
26     case MEDIA_BUS_FMT_SBGGR10_1X10:
27         pixelformat = V4L2_PIX_FMT_SBGGR10;
28         break;
29     case MEDIA_BUS_FMT_SRGGB10_1X10:
30         pixelformat = V4L2_PIX_FMT_SRGGB10;
31         break;
32     case MEDIA_BUS_FMT_SGBRG10_1X10:
33         pixelformat = V4L2_PIX_FMT_SGBRG10;
34         break;
35     case MEDIA_BUS_FMT_SGRBG10_1X10:
36         pixelformat = V4L2_PIX_FMT_SGRBG10;
37         break;
38     case MEDIA_BUS_FMT_SRGGB12_1X12:
39         pixelformat = V4L2_PIX_FMT_SRGGB12;
40         break;
41     case MEDIA_BUS_FMT_SBGGR12_1X12:
42         pixelformat = V4L2_PIX_FMT_SBGGR12;
43         break;
44     case MEDIA_BUS_FMT_SGBRG12_1X12:
45         pixelformat = V4L2_PIX_FMT_SGBRG12;
46         break;
47     case MEDIA_BUS_FMT_SGRBG12_1X12:
48         pixelformat = V4L2_PIX_FMT_SGRBG12;
49         break;
50     case MEDIA_BUS_FMT_Y8_1X8:
51         pixelformat = V4L2_PIX_FMT_GREY;
52         break;
53     case MEDIA_BUS_FMT_Y10_1X10:
54         pixelformat = V4L2_PIX_FMT_Y10;
55         break;
56     case MEDIA_BUS_FMT_Y12_1X12:
57         pixelformat = V4L2_PIX_FMT_Y12;
58         break;
59     case MEDIA_BUS_FMT_SPD_2X8:
60         pixelformat = V4l2_PIX_FMT_SPD16;
61         break;
62     default:
63         //TODO add other
64         LOGE("%s no support pixelcode:0x%x\n",
65                         __func__, pixelcode);
66     }
67     return pixelformat;
68 }
69 RKAIQ_END_DECLARE