/* * Copyright (c) XMEDIA. All rights reserved. */ #ifndef __SAMPLE_COMM_H__ #define __SAMPLE_COMM_H__ #include "xmedia_type.h" #include "xmedia_video_common.h" #ifdef __cplusplus #if __cplusplus extern "C" { #endif #endif /* End of #ifdef __cplusplus */ #define SAMPLE_PRT(fmt...) \ do {\ printf("[%s]-%d: ", __FUNCTION__, __LINE__);\ printf(fmt);\ } while(0) #define SAMPLE_ERR(fmt...) \ do {\ printf("[%s]-%d: ", __FUNCTION__, __LINE__);\ printf(fmt);\ } while(0) #ifndef CHECK_RET #define CHECK_RET(express, name)\ do {\ xmedia_s32 express_ret;\ express_ret = express;\ if (XMEDIA_SUCCESS != express_ret) {\ printf("%s failed at %s: line: %d with %#x!\n", name, __FUNCTION__, __LINE__, express_ret);\ return express_ret;\ }\ } while (0) #endif #define CHECK_NULL_PTR(p)\ do {\ if (XMEDIA_NULL == p) {\ printf("null ptr at %s: line: %d\n", __FUNCTION__, __LINE__);\ return XMEDIA_FAILURE;\ }\ } while (0) #define CHECK_NULL_PTR_VOID(p)\ do {\ if (XMEDIA_NULL == p) {\ printf("null ptr at %s: line: %d\n", __FUNCTION__, __LINE__);\ }\ } while (0) #define PAUSE(exit)\ printf("---------------press any key to exit!---------------\n");\ do {\ xmedia_s32 c = sample_comm_sys_getchar_timeout(200);\ if (XMEDIA_FAILURE != c) {\ break;\ }\ } while (!exit) #define SAMPLE_COMM_COMPONENT_NUM 3 #define MAX_SENSOR_NUM 5 #define MAX_SCREEN_NUM 2 typedef enum pic_size_e { PIC_CIF, PIC_360P, /* 640 * 360 */ PIC_VGA, PIC_640x360, PIC_D1_PAL, /* 720 * 576 */ PIC_D1_NTSC, /* 720 * 480 */ PIC_720P, /* 1280 * 720 */ PIC_1080P, /* 1920 * 1080 */ PIC_2304x1296, PIC_2560x1440, PIC_2560x1920, PIC_2592x1520, PIC_2592x1536, PIC_2592x1944, PIC_2688x1520, PIC_2688x1536, PIC_2688x1944, PIC_2716x1524, PIC_2880x1620, PIC_3840x2160, PIC_4096x2160, PIC_3000x3000, PIC_4000x3000, PIC_7680x4320, PIC_3840x8640, PIC_3072x1728, PIC_BUTT } pic_size_e; typedef enum { SONY_IMX290_MIPI_2M_30FPS_10BIT = 0, SONY_IMX290_MIPI_2M_30FPS_16BIT, SONY_IMX290_MIPI_2M_30FPS_10BIT_WDR2TO1, SONY_IMX327_MIPI_2M_30FPS_12BIT, SONY_IMX307_MIPI_2M_2L_30FPS_10BIT, SONY_IMX307_MIPI_2M_2L_30FPS_10BIT_WDR2TO1, SONY_IMX415_MIPI_8M_20FPS_10BIT, SONY_IMX415_MIPI_8M_20FPS_10BIT_WDR2TO1, SONY_IMX678_MIPI_8M_20FPS_12BIT, SONY_IMX678_MIPI_8M_20FPS_10BIT_WDR2TO1, SONY_IMX179_MIPI_8M_20FPS_10BIT, SONY_IMX179_MIPI_640_480_120FPS_10BIT, GALAXYCORE_GC2053_MIPI_2M_30FPS_10BIT, GALAXYCORE_GC2053_MIPI_2M_30FPS_10BIT_WDR2TO1, GALAXYCORE_GC20C3_MIPI_2M_30FPS_10BIT, GALAXYCORE_GC2083_MIPI_2M_30FPS_10BIT, GALAXYCORE_GC4663_MIPI_4M_30FPS_10BIT, GALAXYCORE_GC4663_MIPI_4M_25FPS_10BIT_WDR2TO1, GALAXYCORE_GC8613_MIPI_8M_20FPS_14BIT, GALAXYCORE_GC8613_MIPI_8M_20FPS_10BIT, GALAXYCORE_GC5603_MIPI_5M_30FPS_10BIT, GALAXYCORE_GC4653_MIPI_4M_30FPS_10BIT, GALAXYCORE_GC6603_MIPI_5M_30FPS_10BIT, GALAXYCORE_OV4689_MIPI_4M_30FPS_10BIT, SMART_SC8238_MIPI_2M_30FPS_10BIT, SMART_SC8238_MIPI_2M_30FPS_10BIT_WDR2TO1, SMART_SC8238_MIPI_3M_30FPS_10BIT, SMART_SC8238_MIPI_3M_30FPS_10BIT_WDR2TO1, SMART_SC8238_MIPI_4M_30FPS_10BIT, SMART_SC8238_MIPI_4M_30FPS_10BIT_WDR2TO1, SMART_SC8238_MIPI_5M_30FPS_10BIT, SMART_SC8238_MIPI_5M_30FPS_10BIT_WDR2TO1, SMART_SC8238_MIPI_8M_20FPS_10BIT, SMART_SC8238_MIPI_8M_20FPS_10BIT_WDR2TO1, SMART_SC4336_MIPI_4M_30FPS_10BIT, SMART_SC4336P_MIPI_4M_30FPS_10BIT, SMART_SC3338_MIPI_3M_30FPS_10BIT, OMNIVISION_OS08A20_MIPI_2M_30FPS_10BIT, OMNIVISION_OS08A20_MIPI_2M_30FPS_10BIT_WDR2TO1, OMNIVISION_OS08A20_MIPI_4M_30FPS_10BIT, OMNIVISION_OS08A20_MIPI_4M_30FPS_10BIT_WDR2TO1, OMNIVISION_OS08A20_MIPI_5M_30FPS_10BIT, OMNIVISION_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1, OMNIVISION_OS08A20_MIPI_8M_20FPS_10BIT, OMNIVISION_OS08A20_MIPI_8M_20FPS_10BIT_WDR2TO1, OMNIVISION_OS05A10_MIPI_4M_30FPS_12BIT, OMNIVISION_OS05A10_MIPI_4M_30FPS_10BIT_WDR2TO1, OMNIVISION_OS05A10_MIPI_5M_30FPS_12BIT, OMNIVISION_OS05A10_MIPI_5M_30FPS_10BIT_WDR2TO1, OMNIVISION_OS02K10_MIPI_2M_30FPS_10BIT, OMNIVISION_OS02K10_MIPI_2M_30FPS_12BIT_BUILT_IN, OMNIVISION_OX03F10_MIPI_1M_10FPS_14BIT_BUILT_IN, OMNIVISION_OX03F10_MIPI_3M_60FPS_14BIT_BUILT_IN, OMNIVISION_OX03F10_MIPI_3M_60FPS_10BIT, SMART_SC850SL_MIPI_8M_20FPS_12BIT, SMART_SC850SL_MIPI_8M_20FPS_10BIT_WDR2TO1, SMART_SC850SL_MIPI_5M_30FPS_12BIT, SMART_SC850SL_MIPI_5M_20FPS_10BIT_WDR2TO1, SMART_SC850SL_MIPI_4M_30FPS_12BIT, SMART_SC850SL_MIPI_4M_20FPS_10BIT_WDR2TO1, SMART_SC485SL_MIPI_4M_2688_1520_30FPS_4LANE_12BIT, SMART_SC485SL_MIPI_4M_2560_1440_30FPS_4LANE_12BIT, SMART_SC485SL_MIPI_4M_30FPS_2LANE_12BIT, SMART_SC485SL_MIPI_4M_30FPS_4LANE_10BIT_WDR2TO1, SMART_SC231HAI_MIPI_2M_2LANE_30FPS_10BIT, SMART_SC235HAI_MIPI_2M_2LANE_30FPS_10BIT, SMART_SC431HAI_MIPI_4M_30FPS_10BIT, SMART_SC435HAI_MIPI_4M_30FPS_10BIT, SMART_SC285SL_MIPI_2M_4LANE_30FPS_12BIT, SMART_SC285SL_MIPI_2M_2LANE_30FPS_12BIT, SMART_SC533HAI_MIPI_5M_2L_30FPS_10BIT, SMART_SC465SL_MIPI_4M_4LANE_30FPS_12BIT, SMART_SC465SL_MIPI_4M_2LANE_30FPS_12BIT, SMART_SC465SL_MIPI_4M_30FPS_4LANE_10BIT_WDR2TO1, IMAGEDESIGN_MIS40H1_MIPI_4M_2LANE_30FPS_10BIT, IMAGEDESIGN_MIS20S1_MIPI_2M_2LANE_30FPS_10BIT, CVSENS_CV4003_MIPI_4M_30FPS_10BIT, CVSENS_CV4003_MIPI_1M_120FPS_10BIT_PREROLL_READBACK, CVSENS_CV2005_MIPI_2M_30FPS_10BIT, SMART_SC200AI_MIPI_2M_30FPS_10BIT, SMART_SC200AI_MIPI_2M_30FPS_10BIT_WDR2TO1, SMART_SC500AI_MIPI_5M_30FPS_10BIT, SMART_SC500AI_MIPI_5M_30FPS_10BIT_WDR2TO1, SMART_SC450AI_MIPI_4M_30FPS_10BIT, SMART_SC2337P_MIPI_2M_30FPS_10BIT, SMART_SC530AI_MIPI_5M_4L_30FPS_10BIT, SMART_SC530AI_MIPI_5M_2L_30FPS_10BIT, SMART_SC530AI_MIPI_5M_4L_30FPS_10BIT_WDR2TO1, OMNIVISION_OS04A10_MIPI_4M_30FPS_12BIT, OMNIVISION_OS04A10_MIPI_4M_30FPS_10BIT_WDR2TO1, OMNIVISION_OS04D10_MIPI_4M_30FPS_10BIT, OMNIVISION_OS04C10_MIPI_4M_30FPS_10BIT, OMNIVISION_OS04J10_MIPI_4M_30FPS_12BIT, SONY_IMX334_MIPI_8M_20FPS_12BIT, OMNIVISION_OX05B1S_MIPI_1M_30FPS_10BIT, //RGBIR OMNIVISION_OX05B1S_MIPI_5M_60FPS_10BIT, VI_AHD_MIPI_2M_YUV, SENSOR_TYPE_INVALID, } sample_comm_sensor_type; typedef struct { xmedia_video_format video_fmt; xmedia_video_pixel_format pixel_fmt; xmedia_video_data_width data_width; xmedia_video_compress_mode compress_mode; } sample_comm_video_param; typedef enum { BOARD_TYPE_XM7206_V10_RB = 0, BOARD_TYPE_XM7206_V10B_RBA, BOARD_TYPE_XM7206_V10B_EVB, BOARD_TYPE_XM7206_V11A_RBA, BOARD_TYPE_XM7206_V11A_EVB, BOARD_TYPE_MAX, } sample_comm_board_type; #ifdef __cplusplus #if __cplusplus } #endif #endif /* End of #ifdef __cplusplus */ #endif /* End of #ifndef __SAMPLE_COMM_H__ */