101 lines
5.7 KiB
C
101 lines
5.7 KiB
C
/*
|
|
* Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved.
|
|
*
|
|
* File Name: cvi_vc_drv_ioctl.h
|
|
* Description:
|
|
*/
|
|
|
|
#ifndef __CVI_VC_DRV_IOCTL_H__
|
|
#define __CVI_VC_DRV_IOCTL_H__
|
|
|
|
#define CVI_VC_DRV_ENCODER_DEV_NAME "cvi_vc_enc"
|
|
#define CVI_VC_DRV_DECODER_DEV_NAME "cvi_vc_dec"
|
|
|
|
#define CVI_VC_DRV_IOCTL_MAGIC 'V'
|
|
/* encoder ioctl */
|
|
#define CVI_VC_VENC_CREATE_CHN _IO(CVI_VC_DRV_IOCTL_MAGIC, 0)
|
|
#define CVI_VC_VENC_DESTROY_CHN _IO(CVI_VC_DRV_IOCTL_MAGIC, 1)
|
|
#define CVI_VC_VENC_RESET_CHN _IO(CVI_VC_DRV_IOCTL_MAGIC, 2)
|
|
#define CVI_VC_VENC_START_RECV_FRAME _IO(CVI_VC_DRV_IOCTL_MAGIC, 3)
|
|
#define CVI_VC_VENC_STOP_RECV_FRAME _IO(CVI_VC_DRV_IOCTL_MAGIC, 4)
|
|
#define CVI_VC_VENC_QUERY_STATUS _IO(CVI_VC_DRV_IOCTL_MAGIC, 5)
|
|
#define CVI_VC_VENC_SET_CHN_ATTR _IO(CVI_VC_DRV_IOCTL_MAGIC, 6)
|
|
#define CVI_VC_VENC_GET_CHN_ATTR _IO(CVI_VC_DRV_IOCTL_MAGIC, 7)
|
|
#define CVI_VC_VENC_GET_STREAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 8)
|
|
#define CVI_VC_VENC_RELEASE_STREAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 9)
|
|
#define CVI_VC_VENC_INSERT_USERDATA _IO(CVI_VC_DRV_IOCTL_MAGIC, 10)
|
|
#define CVI_VC_VENC_SEND_FRAME _IO(CVI_VC_DRV_IOCTL_MAGIC, 11)
|
|
#define CVI_VC_VENC_SEND_FRAMEEX _IO(CVI_VC_DRV_IOCTL_MAGIC, 12)
|
|
#define CVI_VC_VENC_REQUEST_IDR _IO(CVI_VC_DRV_IOCTL_MAGIC, 13)
|
|
#define CVI_VC_VENC_SET_ROI_ATTR _IO(CVI_VC_DRV_IOCTL_MAGIC, 14)
|
|
#define CVI_VC_VENC_GET_ROI_ATTR _IO(CVI_VC_DRV_IOCTL_MAGIC, 15)
|
|
#define CVI_VC_VENC_SET_H264_TRANS _IO(CVI_VC_DRV_IOCTL_MAGIC, 16)
|
|
#define CVI_VC_VENC_GET_H264_TRANS _IO(CVI_VC_DRV_IOCTL_MAGIC, 17)
|
|
#define CVI_VC_VENC_SET_H264_ENTROPY _IO(CVI_VC_DRV_IOCTL_MAGIC, 18)
|
|
#define CVI_VC_VENC_GET_H264_ENTROPY _IO(CVI_VC_DRV_IOCTL_MAGIC, 19)
|
|
#define CVI_VC_VENC_SET_H264_VUI _IO(CVI_VC_DRV_IOCTL_MAGIC, 20)
|
|
#define CVI_VC_VENC_GET_H264_VUI _IO(CVI_VC_DRV_IOCTL_MAGIC, 21)
|
|
#define CVI_VC_VENC_SET_H265_VUI _IO(CVI_VC_DRV_IOCTL_MAGIC, 22)
|
|
#define CVI_VC_VENC_GET_H265_VUI _IO(CVI_VC_DRV_IOCTL_MAGIC, 23)
|
|
#define CVI_VC_VENC_SET_JPEG_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 24)
|
|
#define CVI_VC_VENC_GET_JPEG_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 25)
|
|
#define CVI_VC_VENC_GET_RC_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 26)
|
|
#define CVI_VC_VENC_SET_RC_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 27)
|
|
#define CVI_VC_VENC_SET_REF_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 28)
|
|
#define CVI_VC_VENC_GET_REF_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 29)
|
|
#define CVI_VC_VENC_SET_H265_TRANS _IO(CVI_VC_DRV_IOCTL_MAGIC, 30)
|
|
#define CVI_VC_VENC_GET_H265_TRANS _IO(CVI_VC_DRV_IOCTL_MAGIC, 31)
|
|
#define CVI_VC_VENC_SET_FRAMELOST_STRATEGY _IO(CVI_VC_DRV_IOCTL_MAGIC, 32)
|
|
#define CVI_VC_VENC_GET_FRAMELOST_STRATEGY _IO(CVI_VC_DRV_IOCTL_MAGIC, 33)
|
|
#define CVI_VC_VENC_SET_SUPERFRAME_STRATEGY _IO(CVI_VC_DRV_IOCTL_MAGIC, 34)
|
|
#define CVI_VC_VENC_GET_SUPERFRAME_STRATEGY _IO(CVI_VC_DRV_IOCTL_MAGIC, 35)
|
|
#define CVI_VC_VENC_SET_CHN_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 36)
|
|
#define CVI_VC_VENC_GET_CHN_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 37)
|
|
#define CVI_VC_VENC_SET_MOD_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 38)
|
|
#define CVI_VC_VENC_GET_MOD_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 39)
|
|
#define CVI_VC_VENC_ATTACH_VBPOOL _IO(CVI_VC_DRV_IOCTL_MAGIC, 40)
|
|
#define CVI_VC_VENC_DETACH_VBPOOL _IO(CVI_VC_DRV_IOCTL_MAGIC, 41)
|
|
#define CVI_VC_VENC_SET_CUPREDICTION _IO(CVI_VC_DRV_IOCTL_MAGIC, 42)
|
|
#define CVI_VC_VENC_GET_CUPREDICTION _IO(CVI_VC_DRV_IOCTL_MAGIC, 43)
|
|
#define CVI_VC_VENC_CALC_FRAME_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 44)
|
|
#define CVI_VC_VENC_SET_FRAME_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 45)
|
|
#define CVI_VC_VENC_GET_FRAME_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 46)
|
|
/* decoder ioctl */
|
|
#define CVI_VC_VDEC_CREATE_CHN _IO(CVI_VC_DRV_IOCTL_MAGIC, 47)
|
|
#define CVI_VC_VDEC_DESTROY_CHN _IO(CVI_VC_DRV_IOCTL_MAGIC, 48)
|
|
#define CVI_VC_VDEC_GET_CHN_ATTR _IO(CVI_VC_DRV_IOCTL_MAGIC, 49)
|
|
#define CVI_VC_VDEC_SET_CHN_ATTR _IO(CVI_VC_DRV_IOCTL_MAGIC, 50)
|
|
#define CVI_VC_VDEC_START_RECV_STREAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 51)
|
|
#define CVI_VC_VDEC_STOP_RECV_STREAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 52)
|
|
#define CVI_VC_VDEC_QUERY_STATUS _IO(CVI_VC_DRV_IOCTL_MAGIC, 53)
|
|
#define CVI_VC_VDEC_RESET_CHN _IO(CVI_VC_DRV_IOCTL_MAGIC, 54)
|
|
#define CVI_VC_VDEC_SET_CHN_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 55)
|
|
#define CVI_VC_VDEC_GET_CHN_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 56)
|
|
#define CVI_VC_VDEC_SEND_STREAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 57)
|
|
#define CVI_VC_VDEC_GET_FRAME _IO(CVI_VC_DRV_IOCTL_MAGIC, 58)
|
|
#define CVI_VC_VDEC_RELEASE_FRAME _IO(CVI_VC_DRV_IOCTL_MAGIC, 59)
|
|
#define CVI_VC_VDEC_ATTACH_VBPOOL _IO(CVI_VC_DRV_IOCTL_MAGIC, 60)
|
|
#define CVI_VC_VDEC_DETACH_VBPOOL _IO(CVI_VC_DRV_IOCTL_MAGIC, 61)
|
|
#define CVI_VC_VDEC_SET_MOD_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 62)
|
|
#define CVI_VC_VDEC_GET_MOD_PARAM _IO(CVI_VC_DRV_IOCTL_MAGIC, 63)
|
|
#define CVI_VC_DECODE_H265_TEST _IO(CVI_VC_DRV_IOCTL_MAGIC, 64)
|
|
#define CVI_VC_DECODE_H264_TEST _IO(CVI_VC_DRV_IOCTL_MAGIC, 65)
|
|
#define CVI_VC_ENCODE_MAIN_TEST _IO(CVI_VC_DRV_IOCTL_MAGIC, 66)
|
|
#define CVI_VC_ENC_DEC_JPEG_TEST _IO(CVI_VC_DRV_IOCTL_MAGIC, 67)
|
|
|
|
/* encoder slice split */
|
|
#define CVI_VC_VENC_SET_H264_SLICE_SPLIT _IO(CVI_VC_DRV_IOCTL_MAGIC, 68)
|
|
#define CVI_VC_VENC_GET_H264_SLICE_SPLIT _IO(CVI_VC_DRV_IOCTL_MAGIC, 69)
|
|
#define CVI_VC_VENC_SET_H265_SLICE_SPLIT _IO(CVI_VC_DRV_IOCTL_MAGIC, 70)
|
|
#define CVI_VC_VENC_GET_H265_SLICE_SPLIT _IO(CVI_VC_DRV_IOCTL_MAGIC, 71)
|
|
/* encoder ioctl */
|
|
#define CVI_VC_VENC_GET_H264_Dblk _IO(CVI_VC_DRV_IOCTL_MAGIC, 72)
|
|
#define CVI_VC_VENC_SET_H264_Dblk _IO(CVI_VC_DRV_IOCTL_MAGIC, 73)
|
|
#define CVI_VC_VENC_GET_H265_Dblk _IO(CVI_VC_DRV_IOCTL_MAGIC, 74)
|
|
#define CVI_VC_VENC_SET_H265_Dblk _IO(CVI_VC_DRV_IOCTL_MAGIC, 75)
|
|
|
|
#define CVI_VC_VENC_SET_H264_INTRA_PRED _IO(CVI_VC_DRV_IOCTL_MAGIC, 76)
|
|
#define CVI_VC_VENC_GET_H264_INTRA_PRED _IO(CVI_VC_DRV_IOCTL_MAGIC, 77)
|
|
#endif /* __CVI_VC_DRV_IOCTL_H__ */
|
|
|