Initial commit: TXW82x FPV v2.7.0.7-42229 SDK + project sources
This commit is contained in:
79
sdk/include/hal/osd_enc.h
Normal file
79
sdk/include/hal/osd_enc.h
Normal file
@@ -0,0 +1,79 @@
|
||||
#ifndef HAL_OSD_ENC_H
|
||||
#define HAL_OSD_ENC_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef int32(*osdenc_irq_hdl)(uint32 irq_flags, uint32 irq_data, uint32 param);
|
||||
|
||||
enum osdenc_ioctl_cmd {
|
||||
/*! Compatible version: V2;
|
||||
*@ Describe:
|
||||
*
|
||||
*/
|
||||
OSD_IOCTL_TRAN_IDENT_TRANS,
|
||||
|
||||
/*! Compatible version: V2;
|
||||
*@ Describe:
|
||||
*
|
||||
*/
|
||||
OSD_IOCTL_ENC_ADR,
|
||||
|
||||
/*! Compatible version: V2;
|
||||
*@ Describe:
|
||||
*
|
||||
*/
|
||||
OSD_IOCTL_SET_ENC_RLEN,
|
||||
|
||||
/*! Compatible version: V2;
|
||||
*@ Describe:
|
||||
*
|
||||
*/
|
||||
OSD_IOCTL_SET_ENC_FORMAT,
|
||||
|
||||
|
||||
/*! Compatible version: V2;
|
||||
*@ Describe:
|
||||
*
|
||||
*/
|
||||
OSD_IOCTL_GET_ENC_DLEN,
|
||||
|
||||
/*! Compatible version: V2;
|
||||
*@ Describe:
|
||||
*
|
||||
*/
|
||||
OSD_IOCTL_SET_ENC_RUN,
|
||||
};
|
||||
|
||||
struct osdenc_device {
|
||||
struct dev_obj dev;
|
||||
};
|
||||
|
||||
struct osdenc_hal_ops {
|
||||
struct devobj_ops ops;
|
||||
int32(*open)(struct osdenc_device *osd_dev);
|
||||
int32(*suspend)(struct osdenc_device *osd_dev);
|
||||
int32(*resume)(struct osdenc_device *osd_dev);
|
||||
int32(*close)(struct osdenc_device *osd_dev);
|
||||
int32(*ioctl)(struct osdenc_device *osd_dev, enum osdenc_ioctl_cmd ioctl_cmd, uint32 param1, uint32 param2);
|
||||
int32(*request_irq)(struct osdenc_device *osd_dev, uint32 irq_flag, osdenc_irq_hdl irq_hdl, uint32 irq_data);
|
||||
int32(*release_irq)(struct osdenc_device *osd_dev, uint32 irq_flag);
|
||||
};
|
||||
|
||||
int32 osd_enc_suspend(struct osdenc_device *p_osd);
|
||||
int32 osd_enc_resume(struct osdenc_device *p_osd);
|
||||
int32 osd_enc_open(struct osdenc_device *p_osd);
|
||||
int32 osd_enc_close(struct osdenc_device *p_osd);
|
||||
int32 osd_enc_tran_config(struct osdenc_device *p_osd,uint32 head,uint32 head_tran,uint32 diap,uint32 diap_tran);
|
||||
int32 osd_enc_addr(struct osdenc_device *p_osd,uint32 src,uint32 des);
|
||||
int32 osd_enc_src_len(struct osdenc_device *p_osd,uint32 len);
|
||||
int32 osd_enc_set_format(struct osdenc_device *p_osd,uint8 isrgb565);
|
||||
int32 osd_enc_run(struct osdenc_device *p_osd);
|
||||
int32 osd_enc_request_irq(struct osdenc_device *p_osd, uint32 irq_flags, osdenc_irq_hdl irq_hdl, uint32 irq_data);
|
||||
int32 osd_enc_release_irq(struct osdenc_device *p_osd, uint32 irq_flags);
|
||||
int32 osd_enc_dlen(struct osdenc_device *p_osd);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
Reference in New Issue
Block a user