targetdev.h
来自「AMLOGIC DPF source code」· C头文件 代码 · 共 151 行
H
151 行
/*******************************************************************
*
* Copyright C 2005 by Amlogic, Inc. All Rights Reserved.
*
* Description:
*
* Author: Amlogic Software
* Created: Fri Nov 11 01:05:46 2005
*
*******************************************************************/
#ifndef TARGETDEV_H_
#define TARGETDEV_H_
/*
* Target device IO command
*/
#define TARGETIO_SRCCTL _IO('T', 1)
#define TARGETIO_DSTCTL _IO('T', 2)
#define TARGETIO_PROCCTL _IO('T', 3)
#define TARGETIO_WRITE _IO('T', 4)
#define TARGETIO_STATUS _IO('T', 5)
#define TARGETIO_FLUSH _IO('T', 6)
#define TARGETIO_MONITOR _IO('T', 7)
#define TARGETIO_RESET _IO('T', 8)
#define TARGETIO_TEST_SPU_ID_CHANGE _IO('T', 9)
/* bit7 ~ bit0: for src type*/
#define TARGET_SRC_MEM 0
#define TARGET_SRC_PBUF 1
#define TARGET_SRC_TYPE_MASK 0xff
/* bit31 ~ bit24: for src control*/
#define TARGET_SRC_WITHCSS 0x01000000
#define TARGET_SRC_CTRL_MASK 0xff000000
#define SRC_CFG_NUM 128
typedef struct src_cfg{
unsigned32 start;
unsigned32 size;
unsigned32 opt; /* bit [1:0]:endian, bit [2] DRM, bit[3] w/ PTS info */
unsigned32 pts;
}src_cfg;
typedef struct target_src_request {
unsigned32 type;
unsigned32 cfg_table_num;
src_cfg cfg_table[SRC_CFG_NUM];
} target_src_request;
/* HIU target type */
#define TARGET_DST_AUDIOBUF 0
#define TARGET_DST_VIDEOBUF 1
#define TARGET_DST_USERBUF 2
#define TARGET_DST_PARSER_DVDPACK 3
#if defined(AML_ATHENA)
#define TARGET_DST_DEMUX_TS 4
#define TARGET_DST_DEMUX_RMSYS 5
#endif
#define DST_BUF_NUM 4
typedef struct dst_buf_cfg{
unsigned32 start;
unsigned32 size;
unsigned32 opt; /* bit [1:0] endian, bit [2] DIVX DRM */
}dst_buf_cfg;
typedef void (*hiu_callback_t)(void *arg);
typedef struct target_callback_param_s
{
hiu_callback_t cb;
void *arg;
}target_callback_param_t;
typedef struct target_dst_request {
unsigned32 type;
unsigned32 stream_id;
dst_buf_cfg descfg[DST_BUF_NUM]; /* TARGET_DST_PASER_DVDPACK, descfg[0] ,descfg[1],
descfg[2] configure the audiobuf, videobuf,
userbuf, sub-pbuf respectly */
} target_dst_request;
#define TARGET_PROC_NONE 0
#define TARGET_PROC_CSS 1
#define TARGET_PROC_DIVXDRM 2
#define TARGET_PROC_HVDDECRYPT 3
typedef struct target_proc_request {
unsigned32 type;
unsigned32 data0;
} target_proc_request;
#define TARGET_STATUS_LEVEL 0
#define TARGET_STATUS_PTS 1
#define TARGET_STATUS_FIRSTPTS 2
#define TARGET_STATUS_STATUS 3
#define TARGET_STATUS_REMAIN 4
typedef struct target_status_request {
unsigned32 type;
unsigned32 data0;
unsigned32 data1;
unsigned32 data2;
unsigned32 data3;
/*for TARGET_DST_PASER_DVDPACK,
data0,data1,data2 is set the level(bytes)
of the audiobuf, videobuf, userbuf respectly*/
} target_status_request;
#define TARGET_MONITOR_AUDIO 0x1
#define TARGET_MONITOR_VIDEO 0x2
#define TARGET_MONITOR_TYPEMASK 0xf
#define TARGET_MONITOR_RELEASE 0x80
#define TARGET_MONITOR_RELEASEAUDIO (TARGET_MONITOR_RELEASE | TARGET_MONITOR_AUDIO)
#define TARGET_MONITOR_RELEASEVIDEO (TARGET_MONITOR_RELEASE | TARGET_MONITOR_VIDEO)
#define TARGET_MONITOR_RELEASEALL (TARGET_MONITOR_RELEASE | TARGET_MONITOR_AUDIO | TARGET_MONITOR_VIDEO)
typedef struct target_monitor_request {
unsigned enable;
unsigned audio_level;
unsigned video_level;
unsigned time;
} target_monitor_request;
#define TARGET_RESET_AUDIO 0x1
#define TARGET_RESET_VIDEO 0x2
#define TARGET_RESET_SUBP 0x4
#define TARGET_RESET_SEAMLESS 0x80
typedef struct target_reset_request {
unsigned flag;
} target_reset_request;
avfs_device_driver hiu_initialize( avfs_device_major_number major, avfs_device_minor_number minor,void * arg);
avfs_device_driver hiu_open( avfs_device_major_number major, avfs_device_minor_number minor,void * arg);
avfs_device_driver hiu_read( avfs_device_major_number major, avfs_device_minor_number minor,void * arg);
avfs_device_driver hiu_write( avfs_device_major_number major, avfs_device_minor_number minor,void * arg);
avfs_device_driver hiu_control( avfs_device_major_number major, avfs_device_minor_number minor,void * arg);
avfs_device_driver hiu_close( avfs_device_major_number major, avfs_device_minor_number minor,void * arg);
#define DEVICE_TABLE_TARGET_DEVICE \
{ \
hiu_initialize, \
hiu_open, \
hiu_close, \
hiu_read, \
hiu_write, \
hiu_control, \
}
#endif /* TARGETDEV_H_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?