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)9uint32_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