237 lines
6.0 KiB
C
Executable File
237 lines
6.0 KiB
C
Executable File
#ifndef __SAMPLE_COMM_H__
|
|
#define __SAMPLE_COMM_H__
|
|
|
|
#ifdef __KERNEL__
|
|
#include <sys/sem.h>
|
|
#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__ */
|