You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
468 lines
17 KiB
468 lines
17 KiB
3 years ago
|
/******************************************************************************
|
||
|
Hisilicon HI3531 sample programs head file.
|
||
|
|
||
|
Copyright (C), 2010-2011, Hisilicon Tech. Co., Ltd.
|
||
|
******************************************************************************
|
||
|
Modification: 2011-2 Created
|
||
|
******************************************************************************/
|
||
|
|
||
|
#ifndef __SAMPLE_COMM_H__
|
||
|
#define __SAMPLE_COMM_H__
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#include <sys/sem.h>
|
||
|
#include "mpp/hi_common.h"
|
||
|
#include "mpp/hi_comm_sys.h"
|
||
|
#include "mpp/hi_comm_vb.h"
|
||
|
#include "mpp/hi_comm_vi.h"
|
||
|
#include "mpp/hi_comm_vo.h"
|
||
|
#include "mpp/hi_comm_venc.h"
|
||
|
#include "mpp/hi_comm_vpss.h"
|
||
|
#include "mpp/hi_comm_vdec.h"
|
||
|
#include "mpp/hi_comm_vda.h"
|
||
|
#include "mpp/hi_comm_region.h"
|
||
|
#include "mpp/hi_comm_adec.h"
|
||
|
#include "mpp/hi_comm_aenc.h"
|
||
|
#include "mpp/hi_comm_ai.h"
|
||
|
#include "mpp/hi_comm_ao.h"
|
||
|
#include "mpp/hi_comm_aio.h"
|
||
|
#include "mpp/hi_comm_hdmi.h"
|
||
|
#include "mpp/hi_defines.h"
|
||
|
|
||
|
#include "mpp/mpi_sys.h"
|
||
|
#include "mpp/mpi_vb.h"
|
||
|
#include "mpp/mpi_vi.h"
|
||
|
#include "mpp/mpi_vo.h"
|
||
|
#include "mpp/mpi_venc.h"
|
||
|
#include "mpp/mpi_vpss.h"
|
||
|
#include "mpp/mpi_vdec.h"
|
||
|
#include "mpp/mpi_vda.h"
|
||
|
#include "mpp/mpi_region.h"
|
||
|
#include "mpp/mpi_adec.h"
|
||
|
#include "mpp/mpi_aenc.h"
|
||
|
#include "mpp/mpi_ai.h"
|
||
|
#include "mpp/mpi_ao.h"
|
||
|
#include "mpp/mpi_hdmi.h"
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
#if __cplusplus
|
||
|
extern "C"{
|
||
|
#endif
|
||
|
#endif /* Begin of #ifdef __cplusplus */
|
||
|
|
||
|
/*******************************************************
|
||
|
macro define
|
||
|
*******************************************************/
|
||
|
#define CHECK_CHN_RET(express,Chn,name)\
|
||
|
do{\
|
||
|
HI_S32 Ret;\
|
||
|
Ret = express;\
|
||
|
if (HI_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{\
|
||
|
HI_S32 Ret;\
|
||
|
Ret = express;\
|
||
|
if (HI_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_FORMAT_YUV_SEMIPLANAR_420
|
||
|
|
||
|
#define TW2865_FILE "/dev/tw2865dev"
|
||
|
#define TW2960_FILE "/dev/tw2960dev"
|
||
|
#define TLV320_FILE "/dev/tlv320aic31"
|
||
|
#define NVP6124_FILE "/dev/nvp6124"
|
||
|
|
||
|
|
||
|
#define SAMPLE_VO_DEV_DHD0 0
|
||
|
#define SAMPLE_VO_DEV_DSD0 1
|
||
|
#define SAMPLE_VO_DEV_VIRT0 2
|
||
|
#define SAMPLE_VO_DEV_DSD1 -1
|
||
|
|
||
|
#define SAMPLE_VO_LAYER_VHD0 0
|
||
|
#define SAMPLE_VO_LAYER_VSD0 2
|
||
|
#define SAMPLE_VO_LAYER_VIRT0 3
|
||
|
#define SAMPLE_VO_LAYER_VPIP 1
|
||
|
|
||
|
#define VO_LAYER_PIP 1
|
||
|
#define VO_LAYER_PIP_STA 1
|
||
|
#define VO_LAYER_PIP_END 1
|
||
|
#define VO_DEV_HD_END 0
|
||
|
|
||
|
|
||
|
#define SAMPLE_VO_WBC_BASE 0
|
||
|
#define SAMPLE_VO_LAYER_PRIORITY_BASE 0
|
||
|
#define SAMPLE_VO_LAYER_PRIORITY_PIP 1
|
||
|
#define GRAPHICS_LAYER_HC0 2
|
||
|
|
||
|
#define SAMPLE_AUDIO_PTNUMPERFRM 320
|
||
|
#define SAMPLE_AUDIO_TLV320_DEV 1
|
||
|
#define SAMPLE_AUDIO_TW2865_DEV 0
|
||
|
#define SAMPLE_AUDIO_HDMI_AO_DEV 1
|
||
|
#define SAMPLE_AUDIO_AI_DEV 0
|
||
|
#define SAMPLE_AUDIO_AO_DEV 0
|
||
|
|
||
|
#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 1080
|
||
|
|
||
|
#define D1_WIDTH 720
|
||
|
#define D1_HEIGHT 576
|
||
|
|
||
|
#define _720P_WIDTH 1280
|
||
|
#define _720P_HEIGHT 720
|
||
|
|
||
|
#define SAMPLE_PRT(fmt...) \
|
||
|
do {\
|
||
|
printf("[%s]-%d: ", __FUNCTION__, __LINE__);\
|
||
|
printf(fmt);\
|
||
|
}while(0)
|
||
|
|
||
|
|
||
|
typedef enum sample_vi_mode_e
|
||
|
{
|
||
|
SAMPLE_VI_MODE_16_D1,
|
||
|
SAMPLE_VI_MODE_16_960H,
|
||
|
SAMPLE_VI_MODE_16_1280H,
|
||
|
SAMPLE_VI_MODE_16_HALF720P,
|
||
|
|
||
|
SAMPLE_VI_MODE_8_720P,
|
||
|
SAMPLE_VI_MODE_16_720P,
|
||
|
|
||
|
SAMPLE_VI_MODE_4_1080P,
|
||
|
SAMPLE_VI_MODE_8_1080P,
|
||
|
SAMPLE_VI_MODE_16_1080P,
|
||
|
|
||
|
SAMPLE_VI_MODE_4_3M,
|
||
|
}SAMPLE_VI_MODE_E;
|
||
|
|
||
|
typedef enum sample_vi_6124_mode_e
|
||
|
{
|
||
|
/*nextchip nvp6124/6114a*/
|
||
|
SAMPLE_VI_MODE_6124_960H,
|
||
|
SAMPLE_VI_MODE_6124_HDX, //640x720
|
||
|
SAMPLE_VI_MODE_6124_HD, //720p
|
||
|
SAMPLE_VI_MODE_6124_FHDX, //960x1080
|
||
|
SAMPLE_VI_MODE_6124_FHD, //1080p
|
||
|
SAMPLE_VI_MODE_960H_720P_2MUX,
|
||
|
SAMPLE_VI_MODE_6124_2MUX_FHD, //1080p
|
||
|
SAMPLE_VI_MODE_6124_4MUX_HD, //4mux 720p
|
||
|
|
||
|
}SAMPLE_VI_6124_MODE_E;
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
NVP6124_VI_SD = 0,
|
||
|
NVP6124_VI_720P_2530,
|
||
|
NVP6124_VI_720P_5060,
|
||
|
NVP6124_VI_1080P_2530,
|
||
|
NVP6124_VI_1920H,
|
||
|
NVP6124_VI_BUTT
|
||
|
};
|
||
|
|
||
|
typedef enum sample_vi_6124_mux_e
|
||
|
{
|
||
|
NVP6124_OUTMODE_1MUX_SD = 0,
|
||
|
NVP6124_OUTMODE_1MUX_HD,
|
||
|
NVP6124_OUTMODE_1MUX_HD5060,
|
||
|
NVP6124_OUTMODE_1MUX_FHD,
|
||
|
NVP6124_OUTMODE_2MUX_SD,
|
||
|
NVP6124_OUTMODE_2MUX_HD_X,
|
||
|
NVP6124_OUTMODE_2MUX_HD,
|
||
|
NVP6124_OUTMODE_2MUX_FHD_X,
|
||
|
NVP6124_OUTMODE_4MUX_SD,
|
||
|
NVP6124_OUTMODE_4MUX_HD_X,
|
||
|
NVP6124_OUTMODE_4MUX_HD,
|
||
|
NVP6124_OUTMODE_2MUX_FHD,
|
||
|
NVP6124_OUTMODE_BUTT
|
||
|
}SAMPLE_VI_6124_MUX_E;
|
||
|
|
||
|
typedef struct sample_vi_param_s
|
||
|
{
|
||
|
HI_S32 s32ViDevCnt; // VI Dev Total Count
|
||
|
HI_S32 s32ViDevInterval; // Vi Dev Interval
|
||
|
HI_S32 s32ViChnCnt; // Vi Chn Total Count
|
||
|
HI_S32 s32ViChnInterval; // VI Chn Interval
|
||
|
}SAMPLE_VI_PARAM_S;
|
||
|
|
||
|
typedef enum sample_vi_chn_set_e
|
||
|
{
|
||
|
VI_CHN_SET_NORMAL = 0, /* mirror, filp close */
|
||
|
VI_CHN_SET_MIRROR, /* open MIRROR */
|
||
|
VI_CHN_SET_FILP /* open filp */
|
||
|
}SAMPLE_VI_CHN_SET_E;
|
||
|
|
||
|
typedef enum sample_vo_mode_e
|
||
|
{
|
||
|
VO_MODE_1MUX = 0,
|
||
|
VO_MODE_4MUX = 1,
|
||
|
VO_MODE_9MUX = 2,
|
||
|
VO_MODE_16MUX = 3,
|
||
|
VO_MODE_BUTT
|
||
|
}SAMPLE_VO_MODE_E;
|
||
|
|
||
|
typedef struct hisample_MEMBUF_S
|
||
|
{
|
||
|
VB_BLK hBlock;
|
||
|
VB_POOL hPool;
|
||
|
HI_U32 u32PoolId;
|
||
|
|
||
|
HI_U32 u32PhyAddr;
|
||
|
HI_U8 *pVirAddr;
|
||
|
HI_S32 s32Mdev;
|
||
|
} SAMPLE_MEMBUF_S;
|
||
|
|
||
|
typedef enum sample_rc_e
|
||
|
{
|
||
|
SAMPLE_RC_CBR = 0,
|
||
|
SAMPLE_RC_VBR,
|
||
|
SAMPLE_RC_FIXQP
|
||
|
}SAMPLE_RC_E;
|
||
|
|
||
|
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 struct sample_vo_param_s
|
||
|
{
|
||
|
VO_DEV VoDev;
|
||
|
HI_CHAR acMmzName[20];
|
||
|
HI_U32 u32WndNum;
|
||
|
SAMPLE_VO_MODE_E enVoMode;
|
||
|
VO_PUB_ATTR_S stVoPubAttr;
|
||
|
HI_BOOL bVpssBind;
|
||
|
}SAMPLE_VO_PARAM_S;
|
||
|
|
||
|
typedef struct sample_venc_getstream_s
|
||
|
{
|
||
|
HI_BOOL bThreadStart;
|
||
|
HI_S32 s32Cnt;
|
||
|
}SAMPLE_VENC_GETSTREAM_PARA_S;
|
||
|
|
||
|
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 hiVdecThreadCtrlSignal_E
|
||
|
{
|
||
|
VDEC_CTRL_START,
|
||
|
VDEC_CTRL_PAUSE,
|
||
|
VDEC_CTRL_STOP,
|
||
|
}VdecThreadCtrlSignal_E;
|
||
|
|
||
|
typedef struct hiVdecThreadParam
|
||
|
{
|
||
|
HI_S32 s32ChnId;
|
||
|
PAYLOAD_TYPE_E enType;
|
||
|
HI_CHAR cFileName[100];
|
||
|
HI_S32 s32StreamMode;
|
||
|
HI_S32 s32MilliSec;
|
||
|
HI_S32 s32MinBufSize;
|
||
|
HI_S32 s32IntervalTime;
|
||
|
VdecThreadCtrlSignal_E eCtrlSinal;
|
||
|
HI_U64 u64PtsInit;
|
||
|
HI_U64 u64PtsIncrease;
|
||
|
HI_BOOL bLoopSend;
|
||
|
HI_BOOL bManuSend;
|
||
|
HI_CHAR cUserCmd;
|
||
|
}VdecThreadParam;
|
||
|
|
||
|
typedef enum hiAudioCodecType
|
||
|
{
|
||
|
AUDIO_CODEC_INNER = 0,
|
||
|
AUDIO_CODEC_TLV320,
|
||
|
AUDIO_CODEC_HDMI,
|
||
|
AUDIO_CODEC_TW2865,
|
||
|
AUDIO_CODEC_BUTT
|
||
|
}AudioCodecType;
|
||
|
|
||
|
typedef struct hiHDMI_CALLBACK_ARGS_S
|
||
|
{
|
||
|
HI_HDMI_ID_E enHdmi;
|
||
|
HI_HDMI_VIDEO_FMT_E eForceFmt;
|
||
|
}HDMI_CALLBACK_ARGS_S;
|
||
|
|
||
|
/*******************************************************
|
||
|
function announce
|
||
|
*******************************************************/
|
||
|
HI_S32 SAMPLE_COMM_SYS_GetPicSize(VIDEO_NORM_E enNorm, PIC_SIZE_E enPicSize, SIZE_S *pstSize);
|
||
|
HI_U32 SAMPLE_COMM_SYS_CalcPicVbBlkSize(VIDEO_NORM_E enNorm, PIC_SIZE_E enPicSize, PIXEL_FORMAT_E enPixFmt, HI_U32 u32AlignWidth,COMPRESS_MODE_E enCompFmt);
|
||
|
HI_S32 SAMPLE_COMM_SYS_MemConfig(HI_VOID);
|
||
|
HI_VOID SAMPLE_COMM_SYS_Exit(void);
|
||
|
HI_S32 SAMPLE_COMM_SYS_Init(VB_CONF_S *pstVbConf);
|
||
|
HI_S32 SAMPLE_COMM_SYS_Payload2FilePostfix(PAYLOAD_TYPE_E enPayload, HI_CHAR* szFilePostfix);
|
||
|
|
||
|
HI_S32 SAMPLE_COMM_VI_Mode2Param(SAMPLE_VI_MODE_E enViMode, SAMPLE_VI_PARAM_S *pstViParam);
|
||
|
HI_S32 SAMPLE_COMM_VI_Mode2Size(SAMPLE_VI_MODE_E enViMode, VIDEO_NORM_E enNorm, RECT_S *pstCapRect, SIZE_S *pstDestSize);
|
||
|
VI_DEV SAMPLE_COMM_VI_GetDev(SAMPLE_VI_MODE_E enViMode, VI_CHN ViChn);
|
||
|
HI_S32 SAMPLE_COMM_VI_StartDev(VI_DEV ViDev, SAMPLE_VI_MODE_E enViMode);
|
||
|
HI_S32 SAMPLE_COMM_VI_ChnBindDev(VI_CHN ViChn, SAMPLE_VI_MODE_E enViMode);
|
||
|
HI_S32 SAMPLE_COMM_VI_StartChn(VI_CHN ViChn, RECT_S *pstCapRect, SIZE_S *pstTarSize, SAMPLE_VI_MODE_E enViMode, SAMPLE_VI_CHN_SET_E enViChnSet);
|
||
|
HI_S32 SAMPLE_COMM_VI_Start(SAMPLE_VI_MODE_E enViMode, VIDEO_NORM_E enNorm);
|
||
|
HI_S32 SAMPLE_COMM_VI_Stop(SAMPLE_VI_MODE_E enViMode);
|
||
|
HI_S32 SAMPLE_COMM_VI_BindVpss(SAMPLE_VI_MODE_E enViMode);
|
||
|
HI_S32 SAMPLE_COMM_VI_UnBindVpss(SAMPLE_VI_MODE_E enViMode);
|
||
|
|
||
|
HI_VOID SAMPLE_COMM_VDEC_Sysconf(VB_CONF_S *pstVbConf, SIZE_S *pstSize);
|
||
|
HI_VOID SAMPLE_COMM_VDEC_ModCommPoolConf(VB_CONF_S *pstModVbConf,
|
||
|
PAYLOAD_TYPE_E enType, SIZE_S *pstSize, HI_S32 s32ChnNum);
|
||
|
HI_S32 SAMPLE_COMM_VDEC_InitModCommVb(VB_CONF_S *pstModVbConf);
|
||
|
HI_VOID SAMPLE_COMM_VDEC_ChnAttr(HI_S32 s32ChnNum, VDEC_CHN_ATTR_S *pstVdecChnAttr, PAYLOAD_TYPE_E enType, SIZE_S *pstSize);
|
||
|
HI_VOID SAMPLE_COMM_VDEC_VpssGrpAttr(HI_S32 s32ChnNum, VPSS_GRP_ATTR_S *pstVpssGrpAttr, SIZE_S *pstSize);
|
||
|
HI_VOID SAMPLE_COMM_VDEC_VoAttr(HI_S32 s32ChnNum, VO_DEV VoDev ,VO_PUB_ATTR_S *pstVoPubAttr, VO_VIDEO_LAYER_ATTR_S *pstVoLayerAttr);
|
||
|
HI_VOID SAMPLE_COMM_VDEC_ThreadParam(HI_S32 s32ChnNum, VdecThreadParam *pstVdecSend, VDEC_CHN_ATTR_S *pstVdecChnAttr, char *pStreamFileName);
|
||
|
HI_S32 Sample_COMM_VPSS_StartCover(HI_S32 VpssGrp);
|
||
|
HI_VOID Sample_COMM_SetCrop(HI_S32 VpssGrp);
|
||
|
HI_VOID Sample_MST_GetDefVoAttr(VO_DEV VoDev, VO_PUB_ATTR_S *pstPubAttr, VO_VIDEO_LAYER_ATTR_S *pstLayerAttr,
|
||
|
HI_S32 s32SquareSort, VO_CHN_ATTR_S *astChnAttr);
|
||
|
HI_VOID Sample_MST_StartPIPVideoLayer(VO_DEV VoDev, VO_VIDEO_LAYER_ATTR_S *pstLayerAttr,
|
||
|
VO_CHN_ATTR_S *astChnAttr, HI_S32 s32ChnNum);
|
||
|
HI_VOID SAMPLE_COMM_VDEC_CmdCtrl(HI_S32 s32ChnNum,VdecThreadParam *pstVdecSend);
|
||
|
HI_VOID SAMPLE_COMM_VDEC_StartSendStream(HI_S32 s32ChnNum, VdecThreadParam *pstVdecSend, pthread_t *pVdecThread);
|
||
|
HI_VOID SAMPLE_COMM_VDEC_StopSendStream(HI_S32 s32ChnNum, VdecThreadParam *pstVdecSend, pthread_t *pVdecThread);
|
||
|
HI_VOID* SAMPLE_COMM_VDEC_SendStream(HI_VOID *pArgs);
|
||
|
HI_VOID SAMPLE_COMM_VDEC_StartGetLuma(HI_S32 s32ChnNum, VdecThreadParam *pstVdecSend, pthread_t *pVdecThread);
|
||
|
HI_VOID SAMPLE_COMM_VDEC_StopGetLuma(HI_S32 s32ChnNum, VdecThreadParam *pstVdecSend, pthread_t *pVdecThread);
|
||
|
HI_VOID* SAMPLE_COMM_VDEC_GetChnLuma(HI_VOID *pArgs);
|
||
|
HI_S32 SAMPLE_COMM_VDEC_Start(HI_S32 s32ChnNum, VDEC_CHN_ATTR_S *pstAttr);
|
||
|
HI_S32 SAMPLE_COMM_VDEC_Stop(HI_S32 s32ChnNum);
|
||
|
HI_S32 SAMPLE_COMM_VDEC_BindVpss(VDEC_CHN VdChn, VPSS_GRP VpssGrp);
|
||
|
HI_S32 SAMPLE_COMM_VDEC_UnBindVpss(VDEC_CHN VdChn, VPSS_GRP VpssGrp);
|
||
|
HI_S32 SAMPLE_COMM_VDEC_BindVo(VDEC_CHN VdChn, VO_LAYER VoLayer, VO_CHN VoChn);
|
||
|
HI_S32 SAMPLE_COMM_VDEC_UnBindVo(VDEC_CHN VdChn, VO_LAYER VoLayer, VO_CHN VoChn);
|
||
|
HI_S32 SAMPLE_COMM_VDEC_BindVenc(VDEC_CHN VdChn,VENC_CHN VeChn);
|
||
|
HI_S32 SAMPLE_COMM_VDEC_UnBindVenc(VDEC_CHN VdChn,VENC_CHN VeChn);
|
||
|
HI_S32 SAMPLE_COMM_VDEC_MemConfig(HI_VOID);
|
||
|
|
||
|
HI_S32 SAMPLE_COMM_VPSS_MemConfig();
|
||
|
HI_S32 SAMPLE_COMM_VPSS_Start(HI_S32 s32GrpCnt, SIZE_S *pstSize, HI_S32 s32ChnCnt,VPSS_GRP_ATTR_S *pstVpssGrpAttr);
|
||
|
HI_S32 SAMPLE_COMM_VPSS_Stop(HI_S32 s32GrpCnt, HI_S32 s32ChnCnt) ;
|
||
|
HI_S32 SAMPLE_COMM_DisableVpssPreScale(VPSS_GRP VpssGrp,SIZE_S stSize);
|
||
|
HI_S32 SAMPLE_COMM_EnableVpssPreScale(VPSS_GRP VpssGrp,SIZE_S stSize);
|
||
|
|
||
|
HI_S32 SAMPLE_COMM_VO_MemConfig(VO_DEV VoDev, HI_CHAR *pcMmzName);
|
||
|
HI_S32 SAMPLE_COMM_VO_StartDev(VO_DEV VoDev, VO_PUB_ATTR_S *pstPubAttr);
|
||
|
HI_S32 SAMPLE_COMM_VO_StopDev(VO_DEV VoDev);
|
||
|
HI_S32 SAMPLE_COMM_VO_StartLayer(VO_LAYER VoLayer,const VO_VIDEO_LAYER_ATTR_S *pstLayerAttr);
|
||
|
HI_S32 SAMPLE_COMM_VO_StopLayer(VO_LAYER VoLayer);
|
||
|
HI_S32 SAMPLE_COMM_VO_StartChn(VO_LAYER VoLayer, SAMPLE_VO_MODE_E enMode);
|
||
|
HI_S32 SAMPLE_COMM_VO_StopChn(VO_LAYER VoLayer, SAMPLE_VO_MODE_E enMode);
|
||
|
HI_S32 SAMPLE_COMM_VO_StartWbc(VO_WBC VoWbc,const VO_WBC_ATTR_S *pstWbcAttr);
|
||
|
HI_S32 SAMPLE_COMM_VO_StopWbc(VO_WBC VoWbc);
|
||
|
HI_S32 SAMPLE_COMM_WBC_BindVo(VO_WBC VoWbc,VO_WBC_SOURCE_S *pstWbcSource);
|
||
|
HI_S32 SAMPLE_COMM_VO_BindVoWbc(VO_DEV VoWbcDev, VO_LAYER VoLayer, VO_CHN VoChn);
|
||
|
HI_S32 SAMPLE_COMM_VO_UnBindVoWbc(VO_LAYER VoLayer, VO_CHN VoChn);
|
||
|
HI_S32 SAMPLE_COMM_VO_BindVpss(VO_LAYER VoLayer,VO_CHN VoChn,VPSS_GRP VpssGrp,VPSS_CHN VpssChn);
|
||
|
HI_S32 SAMPLE_COMM_Vpss_BindVpss(VO_LAYER VoLayer,VO_CHN VoChn,VPSS_GRP VpssGrp,VPSS_CHN VpssChn);
|
||
|
HI_S32 SAMPLE_COMM_VO_UnBindVpss(VO_LAYER VoLayer,VO_CHN VoChn,VPSS_GRP VpssGrp,VPSS_CHN VpssChn);
|
||
|
HI_S32 SAMPLE_COMM_VO_BindVi(VO_LAYER VoLayer, VO_CHN VoChn, VI_CHN ViChn);
|
||
|
HI_S32 SAMPLE_COMM_VO_UnBindVi(VO_LAYER VoLayer, VO_CHN VoChn);
|
||
|
HI_S32 SAMPLE_COMM_VO_GetWH(VO_INTF_SYNC_E enIntfSync,HI_U32 *pu32W,HI_U32 *pu32H,HI_U32 *pu32Frm);
|
||
|
HI_S32 SAMPLE_COMM_VO_HdmiCallbackStart(VO_INTF_SYNC_E enIntfSync, HDMI_CALLBACK_ARGS_S *pstCallbackArgs);
|
||
|
HI_S32 SAMPLE_COMM_VO_HdmiStart(VO_INTF_SYNC_E enIntfSync);
|
||
|
HI_S32 SAMPLE_COMM_VO_HdmiStop(HI_VOID);
|
||
|
HI_S32 SAMPLE_COMM_VO_SnapStart(VENC_CHN VencChn, SIZE_S *pstSize);
|
||
|
HI_S32 SAMPLE_COMM_VO_SnapProcess(VENC_CHN VencChn);
|
||
|
|
||
|
HI_S32 SAMPLE_COMM_VO_SaveSnap(VENC_STREAM_S *pstStream);
|
||
|
HI_S32 SAMPLE_COMM_VO_SnapStop(VENC_CHN VencChn);
|
||
|
|
||
|
HI_S32 SAMPLE_COMM_VENC_MemConfig(HI_VOID);
|
||
|
HI_S32 SAMPLE_COMM_VENC_Start(VENC_CHN VencChn, PAYLOAD_TYPE_E enType, VIDEO_NORM_E enNorm, PIC_SIZE_E enSize, SAMPLE_RC_E enRcMode,HI_U32 u32Profile);
|
||
|
HI_S32 SAMPLE_COMM_VENC_Stop(VENC_CHN VencChn);
|
||
|
HI_S32 SAMPLE_COMM_VENC_SnapStart(VENC_CHN VencChn, SIZE_S *pstSize);
|
||
|
HI_S32 SAMPLE_COMM_VENC_SnapProcess(VENC_CHN VencChn, VPSS_GRP VpssGrp, VPSS_CHN VpssChn);
|
||
|
HI_S32 SAMPLE_COMM_VENC_SnapStop(VENC_CHN VencChn);
|
||
|
HI_S32 SAMPLE_COMM_VENC_StartGetStream(HI_S32 s32Cnt);
|
||
|
HI_S32 SAMPLE_COMM_VENC_StopGetStream();
|
||
|
HI_S32 SAMPLE_COMM_VENC_BindVpss(VENC_CHN VencChn,VPSS_GRP VpssGrp,VPSS_CHN VpssChn);
|
||
|
HI_S32 SAMPLE_COMM_VENC_UnBindVpss(VENC_CHN VencChn,VPSS_GRP VpssGrp,VPSS_CHN VpssChn);
|
||
|
HI_S32 SAMPLE_COMM_VENC_BindVo(VO_DEV VoDev,VO_CHN VoChn,VENC_CHN VeChn);
|
||
|
HI_S32 SAMPLE_COMM_VENC_UnBindVo(VENC_CHN GrpChn,VO_DEV VoDev,VO_CHN VoChn);
|
||
|
|
||
|
HI_S32 SAMPLE_COMM_VDA_MdStart(VDA_CHN VdaChn, HI_U32 u32Chn, SIZE_S *pstSize);
|
||
|
HI_S32 SAMPLE_COMM_VDA_OdStart(VDA_CHN VdaChn, HI_U32 u32Chn, SIZE_S *pstSize);
|
||
|
HI_VOID SAMPLE_COMM_VDA_MdStop(VDA_CHN VdaChn, HI_U32 u32Chn);
|
||
|
HI_VOID SAMPLE_COMM_VDA_OdStop(VDA_CHN VdaChn, HI_U32 u32Chn);
|
||
|
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_CreatTrdAiAo(AUDIO_DEV AiDev, AI_CHN AiChn, AUDIO_DEV AoDev, AO_CHN AoChn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_CreatTrdAiAenc(AUDIO_DEV AiDev, AI_CHN AiChn, AENC_CHN AeChn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_CreatTrdAoVolCtrl(AUDIO_DEV AiDev);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_DestoryTrdAi(AUDIO_DEV AiDev, AI_CHN AiChn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_DestoryTrdAencAdec(AENC_CHN AeChn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_DestoryTrdFileAdec(ADEC_CHN AdChn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_DestoryTrdAoVolCtrl(AUDIO_DEV AiDev);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_DestoryAllTrd();
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_AoBindAdec(AUDIO_DEV AoDev, AO_CHN AoChn, ADEC_CHN AdChn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_AoUnbindAdec(AUDIO_DEV AoDev, AO_CHN AoChn, ADEC_CHN AdChn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_AoBindAi(AUDIO_DEV AiDev, AI_CHN AiChn, AUDIO_DEV AoDev, AO_CHN AoChn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_AoUnbindAi(AUDIO_DEV AiDev, AI_CHN AiChn, AUDIO_DEV AoDev, AO_CHN AoChn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_AencBindAi(AUDIO_DEV AiDev, AI_CHN AiChn, AENC_CHN AeChn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_AencUnbindAi(AUDIO_DEV AiDev, AI_CHN AiChn, AENC_CHN AeChn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_CfgAcodec(AIO_ATTR_S *pstAioAttr);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_DisableAcodec();
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_StartAi(AUDIO_DEV AiDevId, HI_S32 s32AiChnCnt,
|
||
|
AIO_ATTR_S* pstAioAttr, AUDIO_SAMPLE_RATE_E enOutSampleRate, HI_BOOL bResampleEn, AI_VQE_CONFIG_S* pstAiVqeAttr);
|
||
|
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_StopAi(AUDIO_DEV AiDevId, HI_S32 s32AiChnCnt,
|
||
|
HI_BOOL bResampleEn, HI_BOOL bVqeEn);
|
||
|
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_StartAo(AUDIO_DEV AoDevId, HI_S32 s32AoChnCnt,
|
||
|
AIO_ATTR_S* pstAioAttr, AUDIO_SAMPLE_RATE_E enInSampleRate, HI_BOOL bResampleEn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_StopAo(AUDIO_DEV AoDevId, HI_S32 s32AoChnCnt, HI_BOOL bResampleEn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_StartAenc(HI_S32 s32AencChnCnt, HI_U32 u32AencPtNumPerFrm, PAYLOAD_TYPE_E enType);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_StopAenc(HI_S32 s32AencChnCnt);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_StartAdec(ADEC_CHN AdChn, PAYLOAD_TYPE_E enType);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_StopAdec(ADEC_CHN AdChn);
|
||
|
HI_S32 SAMPLE_COMM_AUDIO_CfgTlv320(AIO_ATTR_S *pstAioAttr);
|
||
|
|
||
|
HI_S32 SAMPLE_COMM_VENC_StartGetJPEG(HI_S32 s32Cnt);
|
||
|
HI_S32 SAMPLE_COMM_VI_MixCap_Start(SAMPLE_VI_MODE_E enViMode, VIDEO_NORM_E enNorm);
|
||
|
HI_S32 SAMPLE_COMM_VENC_StopGetJPEG();
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
#if __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
#endif /* End of #ifdef __cplusplus */
|
||
|
|
||
|
|
||
|
#endif /* End of #ifndef __SAMPLE_COMMON_H__ */
|