|
|
|
|
/*
|
|
|
|
|
* Copyright (c) Hisilicon Technologies Co., Ltd. 2019-2019. All rights reserved.
|
|
|
|
|
* Description: Define stream-related structures
|
|
|
|
|
* Author: Hisilicon
|
|
|
|
|
* Create: 2019-11-21
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef __UAPI_STREAM_H__
|
|
|
|
|
#define __UAPI_STREAM_H__
|
|
|
|
|
|
|
|
|
|
#include "td_type.h"
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
|
|
/* ************************** Structure Definition *************************** */
|
|
|
|
|
/* * \addtogroup Stream */
|
|
|
|
|
/* * @{ */ /* * <!-- [Stream] */
|
|
|
|
|
|
|
|
|
|
/* *Define the stream buffer */
|
|
|
|
|
/* *CNcomment: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9> */
|
|
|
|
|
typedef struct {
|
|
|
|
|
td_u8 *data; /* *<User space virtual address of buffer */ /* *<CNcomment: <20><><EFBFBD><EFBFBD>buffer<65>û<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ */
|
|
|
|
|
td_u32 size; /* *<Data size */ /* *<CNcomment: <20><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD> */
|
|
|
|
|
td_mem_handle buf_handle; /* *<Data buffer handle */ /* *<CNcomment: <20><><EFBFBD><EFBFBD>buffer<65><72><EFBFBD><EFBFBD> */
|
|
|
|
|
} uapi_stream_buf;
|
|
|
|
|
|
|
|
|
|
/* *Defines the private Es buffer address */
|
|
|
|
|
typedef struct {
|
|
|
|
|
td_u64 kernel_vir_addr; /* *<Es Buffer Kernel Virtual Address */ /* *<CNcomment: Buffer<65>ں<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ */
|
|
|
|
|
td_mem_handle buf_handle; /* *<Es Buffer handle */ /* *<CNcomment: Buffer<65><72><EFBFBD><EFBFBD> */
|
|
|
|
|
} uapi_buf_addr;
|
|
|
|
|
|
|
|
|
|
/* *Defines the structure of the ES buffer */
|
|
|
|
|
/* *CNcomment: <20><><EFBFBD><EFBFBD>ES<45><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9> */
|
|
|
|
|
typedef struct {
|
|
|
|
|
td_u8 *buf; /* *<User space virtual address of the buffer */ /* *<CNcomment: buffer<65><72><EFBFBD>û<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>ַ */
|
|
|
|
|
td_u32 buf_len; /* *<Buffer length */ /* *<CNcomment: buffer<65>ij<EFBFBD><C4B3><EFBFBD> */
|
|
|
|
|
td_s64 pts; /* *<Time stamp (PTS) value (us). The invalid value is 0xFFFFFFFFFFFFFFFF */
|
|
|
|
|
/* *<CNcomment: PTSֵ, <20><>λΪus, <20><>ЧΪ0xFFFFFFFFFFFFFFFF */
|
|
|
|
|
uapi_buf_addr private_es_buf_addr; /* *<Private Es Buffer Address */ /* *<CNcomment: Es buffer˽<72>е<EFBFBD>ַ<EFBFBD><D6B7>Ϣ */
|
|
|
|
|
} uapi_es_buf;
|
|
|
|
|
|
|
|
|
|
/* * @} */ /* * <!-- ==== Structure Definition End ==== */
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
|
|
#endif /* __UAPI_STREAM_H__ */
|