GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)
This commit is contained in:
Executable
+244
@@ -0,0 +1,244 @@
|
||||
/*
|
||||
* 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__ */
|
||||
Reference in New Issue
Block a user