#ifndef __SAMPLE_COMM_H__ #define __SAMPLE_COMM_H__ #ifdef __KERNEL__ #include #endif #include "fh_math.h" #include "fh_common.h" #include "fh_system_mpipara.h" #if 0 #include "fy_comm_vb.h" #include "fy_comm_vi.h" #include "fy_comm_vo.h" #include "fy_comm_venc.h" #include "fy_comm_vpss.h" #include "fy_comm_vdec.h" #include "fy_comm_region.h" #include "fy_comm_adec.h" #include "fy_comm_aenc.h" #include "fy_comm_aio.h" #include "fy_comm_vgs.h" #include "fy_comm_tde.h" #endif #include "fh_defines.h" #include "fh_system_mpi.h" #include "vmm_api.h" #include "fh_vb_mpi.h" #if 0 #include "mpi_vi.h" #endif #include "fh_vo_mpi.h" #include "fh_venc_mpi.h" #if 0 #include "mpi_vpss.h" #endif #include "fh_vdec_mpi.h" #include "fh_vgs_mpi.h" #if 0 #include "mpi_region.h" #include "mpi_adec.h" #include "mpi_aenc.h" #include "mpi_ai.h" #include "mpi_ao.h" #endif //#include "sample_comm_param.h" //#include "sample_comm_venc.h" #include "sample_comm_vo.h" #include "sample_comm_vdec.h" #ifdef __cplusplus #if __cplusplus extern "C"{ #endif #endif /* Begin of #ifdef __cplusplus */ /******************************************************* macro define *******************************************************/ #define CHECK_CHN_RET(express,Chn,name)\ do{\ FH_SINT32 Ret;\ Ret = express;\ if (FH_SUCCESS != Ret)\ {\ printf("\033[0;31m%s chn %d failed at %s: LINE: %d with %#x!\033[0;39m\n", name, Chn, __FUNCTION__, __LINE__, Ret);\ fflush(stdout);\ return Ret;\ }\ }while(0) #define CHECK_RET(express,name)\ do{\ FH_SINT32 Ret;\ Ret = express;\ if (FH_SUCCESS != Ret)\ {\ printf("\033[0;31m%s failed at %s: LINE: %d with %#x!\033[0;39m\n", name, __FUNCTION__, __LINE__, Ret);\ return Ret;\ }\ }while(0) //#define SAMPLE_GLOBAL_NORM VIDEO_ENCODING_MODE_PAL #define SAMPLE_PIXEL_FORMAT PIXEL_FMT_YUV_SEMIPLANAR_422 #define NVP6134_FILE "/dev/nc_vdec" #define SAMPLE_AUDIO_PTNUMPERFRM 320 #define SAMPLE_AUDIO_TLV320_DEV 1 #define SAMPLE_AUDIO_TW2865_DEV 0 #define SAMPLE_AUDIO_HDMI_AO_DEV DEV_I2S3 #if(defined(FY01) || defined(FY10) || defined(MC6630) || defined(MC6830)|| defined(MC6650)) #define SAMPLE_AUDIO_AI_DEV DEV_I2S0 #define SAMPLE_AUDIO_AO_DEV DEV_I2S1 #elif (defined(MC6850) || defined(mc6850) || defined(fy10p)) #define SAMPLE_AUDIO_AI_DEV DEV_I2S1 #define SAMPLE_AUDIO_AO_DEV DEV_I2S1 #else #define SAMPLE_AUDIO_AI_DEV DEV_ACW0 #define SAMPLE_AUDIO_AO_DEV DEV_ACW0 #endif #define SAMPLE_AUDIO_RATE AUDIO_SAMPLE_RATE_8000 #define SAMPLE_AUDIO_FRM_SIZE (SAMPLE_AUDIO_RATE*2/25) #define SAMPLE_AAC_FRM_SIZE 1024*2 #define FRMAE_SIZE(fs,bit,num) (fs/num)*(bit/8) #define CNT_PER_S 25 #if (defined(MC6630) || defined(MC6650)) #define AI_CHN_NUM AUDIO_CHN_NUM_16 #else #define AI_CHN_NUM AUDIO_CHN_NUM_2 #endif #if (defined(MC6850) || defined(mc6850) || defined(fy10p)) #define CODEC_MASTER_MODE FH_FALSE #else #define CODEC_MASTER_MODE FH_FALSE #endif #define SAMPLE_CIF_H264_PATH "../common/CIF.h264" #define SAMPLE_1080P_H264_PATH "../common/1080P.h264" #define SAMPLE_1080P_H265_PATH "../common/1080P.h265" #define SAMPLE_4K_H264_PATH "../common/tmp1" #define SAMPLE_4K_H265_PATH "../common/tmp2" #define SAMPLE_1080P_MPEG4_PATH "../common/1080P.mpeg4" #define SAMPLE_FIELD_H264_PATH "../common/D1_field.h264" #define SAMPLE_1080P_JPEG_PATH "../common/1080P.jpg" #define SAMPLE_4K_JPEG_PATH "../common/tmp3" #define SAMPLE_MAX_VDEC_CHN_CNT 8 #define ALIGN_UP(x, a) ((x+a-1)&(~(a-1))) #define ALIGN_BACK(x, a) ((a) * (((x) / (a)))) #define SAMPLE_SYS_ALIGN_WIDTH 16 #define VO_BKGRD_BLUE 0x0000FF #define HD_WIDTH 1920 #define HD_HEIGHT 1088 #define D1_WIDTH 720 #define D1_HEIGHT 576 #define D1_WIDTH_704 704 #define _720P_WIDTH 1280 #define _720P_HEIGHT 720 #define GOSD_DEFAULT_PIXEDEPTH 2 #define SAMPLE_PRT(fmt...) \ do {\ printf("[%s]-%d: ", __FUNCTION__, __LINE__);\ printf(fmt);\ }while(0) typedef struct sample_vi_param_s { FH_SINT32 s32ViDevCnt; // VI Dev Total Count FH_SINT32 s32ViDevInterval; // Vi Dev Interval FH_SINT32 s32ViChnCnt; // Vi Chn Total Count FH_SINT32 s32ViChnInterval; // VI Chn Interval }SAMPLE_VI_PARAM_S; #define VPSS_GRP_NUM_TEST 4 typedef struct fysample_MEMBUF_S { VB_BLK hBlock; VB_POOL hPool; FH_UINT32 u32PoolId; FH_UINT32 u32PhyAddr; FH_UINT8 *pVirAddr; FH_SINT32 s32Mdev; } SAMPLE_MEMBUF_S; typedef enum sample_rgn_change_type_e { RGN_CHANGE_TYPE_FGALPHA = 0, RGN_CHANGE_TYPE_BGALPHA, RGN_CHANGE_TYPE_LAYER }SAMPLE_RGN_CHANGE_TYPE_EN; typedef enum { HIFB_LAYER_0 = 0x0, HIFB_LAYER_1, HIFB_LAYER_2, HIFB_LAYER_CURSOR_0, HIFB_LAYER_ID_BUTT } HIFB_LAYER_ID_E; typedef enum fyAudioCodecType { AUDIO_CODEC_INNER = 0, AUDIO_CODEC_TLV320, AUDIO_CODEC_HDMI, AUDIO_CODEC_TW2865, AUDIO_CODEC_TP28XX, AUDIO_CODEC_ACWRAPPER, AUDIO_CODEC_NAU88C10, AUDIO_CODEC_ALC5616, AUDIO_CODEC_BUTT }AudioCodecType; typedef enum __AudioFileT { FILE_TYPE_AI, FILE_TYPE_AENC, FILE_TYPE_TOTAL }AudioFileT; /******************************************************* function announce *******************************************************/ FH_SINT32 SAMPLE_COMM_SYS_GetPicSize(VIDEO_NORM_E enNorm, PIC_SIZE_E enPicSize, FH_SIZE *pstSize); FH_UINT32 SAMPLE_COMM_SYS_CalcPicVbBlkSize(VIDEO_NORM_E enNorm, PIC_SIZE_E enPicSize, PIXEL_FMT_E enPixFmt, FH_UINT32 u32AlignWidth,COMPRESS_MODE_E enCompFmt); FH_SINT32 SAMPLE_COMM_SYS_MemConfig(FH_VOID); FH_VOID SAMPLE_COMM_SYS_Exit(void); FH_SINT32 SAMPLE_COMM_SYS_Init(VB_CONF_S *pstVbConf); FH_SINT32 SAMPLE_COMM_SYS_Init_without_exit(VB_CONF_S *pstVbConf); FH_SINT32 SAMPLE_COMM_SYS_Payload2FilePostfix(PAYLOAD_TYPE_E enPayload, FH_CHAR* szFilePostfix); #ifdef __cplusplus #if __cplusplus } #endif #endif /* End of #ifdef __cplusplus */ #endif /* End of #ifndef __SAMPLE_COMMON_H__ */