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.

52 lines
1.9 KiB

/*
* 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: 定义码流缓冲结构体 */
typedef struct {
td_u8 *data; /* *<User space virtual address of buffer */ /* *<CNcomment: 数据buffer用户态虚拟地址 */
td_u32 size; /* *<Data size */ /* *<CNcomment: 数据长度 */
td_mem_handle buf_handle; /* *<Data buffer handle */ /* *<CNcomment: 数据buffer句柄 */
} uapi_stream_buf;
/* *Defines the private Es buffer address */
typedef struct {
td_u64 kernel_vir_addr; /* *<Es Buffer Kernel Virtual Address */ /* *<CNcomment: Buffer内核态虚拟地址 */
td_mem_handle buf_handle; /* *<Es Buffer handle */ /* *<CNcomment: Buffer句柄 */
} uapi_buf_addr;
/* *Defines the structure of the ES buffer */
/* *CNcomment: 定义ES码流缓冲结构体 */
typedef struct {
td_u8 *buf; /* *<User space virtual address of the buffer */ /* *<CNcomment: buffer的用户态虚地址 */
td_u32 buf_len; /* *<Buffer length */ /* *<CNcomment: buffer的长度 */
td_s64 pts; /* *<Time stamp (PTS) value (us). The invalid value is 0xFFFFFFFFFFFFFFFF */
/* *<CNcomment: PTS值, 单位为us, 无效为0xFFFFFFFFFFFFFFFF */
uapi_buf_addr private_es_buf_addr; /* *<Private Es Buffer Address */ /* *<CNcomment: Es buffer私有地址信息 */
} uapi_es_buf;
/* * @} */ /* * <!-- ==== Structure Definition End ==== */
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __UAPI_STREAM_H__ */