74 lines
2.9 KiB
C
Executable File
74 lines
2.9 KiB
C
Executable File
/*
|
|
Copyright Novatek Microelectronics Corp. 2005~2018. All rights reserved.
|
|
|
|
@file hd_filein_lib.h
|
|
@ingroup mFileIn
|
|
|
|
@note Nothing.
|
|
|
|
@date 2019/07/17
|
|
*/
|
|
|
|
#ifndef HD_FILEIN_LIB_H
|
|
#define HD_FILEIN_LIB_H
|
|
|
|
#include "kwrap/debug.h"
|
|
#include "kwrap/error_no.h"
|
|
#include "kflow_common/isf_flow_def.h"
|
|
#include "hd_common.h"
|
|
|
|
#define ISF_FILEIN_IN_NUM 2
|
|
#define ISF_FILEIN_OUT_NUM 2
|
|
|
|
typedef enum {
|
|
HD_FILEIN_PARAM_FILEHDL, ///< file handle
|
|
HD_FILEIN_PARAM_FILESIZE, ///< total file size
|
|
HD_FILEIN_PARAM_FILEDUR, ///< total file duration (sec)
|
|
HD_FILEIN_PARAM_FILEFMT, ///< file format
|
|
HD_FILEIN_PARAM_BLK_TIME, ///< play time per one block (e.g. 1 sec per block)
|
|
HD_FILEIN_PARAM_TT_BLKNUM, ///< total block number
|
|
HD_FILEIN_PARAM_PL_BLKNUM, ///< preload block number
|
|
HD_FILEIN_PARAM_RSV_BLKNUM, ///< reserve block number (as buffer area)
|
|
HD_FILEIN_PARAM_NEED_MEMSIZE, ///< get internal need mem size
|
|
HD_FILEIN_PARAM_BLK_INFO, ///< file block starting addr
|
|
HD_FILEIN_PARAM_MEM_RANGE, ///< allocated mem addr & size
|
|
HD_FILEIN_PARAM_CUR_VDOBS, ///< current used video bs addr & size
|
|
HD_FILEIN_PARAM_EVENT_CB, ///< callback event
|
|
HD_FILEIN_PARAM_CONTAINER, ///< media container
|
|
HD_FILEIN_PARAM_VDO_FR, ///< video frame rate (fps)
|
|
HD_FILEIN_PARAM_AUD_FR, ///< audio frame rate (fps)
|
|
HD_FILEIN_PARAM_VDO_TTFRM, ///< video total frame
|
|
HD_FILEIN_PARAM_AUD_TTFRM, ///< audio total frame
|
|
HD_FILEIN_PARAM_USER_BLK_DIRECTLY, ///< user define filein block size directly
|
|
HD_FILEIN_PARAM_BLK_SIZE, ///< size per block
|
|
} HD_FILEIN_PARAM;
|
|
|
|
// NMediaPlay FileIn Buffer Info
|
|
typedef struct {
|
|
UINT32 start_addr; ///< start address
|
|
UINT32 blk_size; ///< buffer size per unit time
|
|
UINT32 tt_blknum;
|
|
} HD_FILEIN_BLKINFO, *PHD_FILEIN_BLKINFO;
|
|
|
|
typedef struct {
|
|
UINT32 addr;
|
|
UINT32 size;
|
|
UINT32 read_state;
|
|
} HD_FILEIN_READBUF_INFO, *PHD_FILEIN_READBUF_INFO;
|
|
|
|
/********************************************************************
|
|
EXTERN VARIABLES & FUNCTION PROTOTYPES DECLARATIONS
|
|
********************************************************************/
|
|
HD_RESULT hd_filein_open(HD_PATH_ID path_id);
|
|
HD_RESULT hd_filein_start(HD_PATH_ID path_id);
|
|
HD_RESULT hd_filein_stop(HD_PATH_ID path_id);
|
|
HD_RESULT hd_filein_close(HD_PATH_ID path_id);
|
|
HD_RESULT hd_filein_get(HD_PATH_ID path_id, UINT32 param, UINT32 *value);
|
|
HD_RESULT hd_filein_set(HD_PATH_ID path_id, UINT32 param, UINT32 value);
|
|
HD_RESULT hd_filein_push_in_buf(HD_PATH_ID path_id, UINT32 *pBuf, INT32 wait_ms);
|
|
HD_RESULT hd_filein_pull_out_buf(HD_PATH_ID path_id, UINT32 *pBuf, INT32 wait_ms);
|
|
HD_RESULT hd_filein_uninit(VOID);
|
|
|
|
#endif //HD_FILEIN_LIB_H
|
|
|