summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--tv_input.cpp45
-rw-r--r--tvapi/android/Android.mk2
-rw-r--r--tvapi/android/include/ITv.h100
-rw-r--r--tvapi/android/include/ITvClient.h58
-rw-r--r--tvapi/android/include/ITvService.h68
-rw-r--r--tvapi/android/include/Tv.h161
-rw-r--r--tvapi/android/include/tvcmd.h1188
-rw-r--r--tvapi/android/jni/Android.mk132
-rw-r--r--tvapi/android/jni/android_amlogic_tv.cpp911
-rw-r--r--tvapi/android/jni/cfbc_jni.cpp214
-rw-r--r--tvapi/android/jni/cfbc_test.cpp86
-rw-r--r--tvapi/android/libtvbinder/Android.mk48
-rw-r--r--tvapi/android/libtvbinder/ITv.cpp289
-rw-r--r--tvapi/android/libtvbinder/ITvClient.cpp117
-rw-r--r--tvapi/android/libtvbinder/ITvService.cpp101
-rw-r--r--tvapi/android/libtvbinder/Tv.cpp378
-rw-r--r--tvapi/android/tvserver/Android.mk162
-rw-r--r--tvapi/android/tvserver/TvService.cpp8755
-rw-r--r--tvapi/android/tvserver/TvService.h164
-rw-r--r--tvapi/android/tvserver/main.cpp46
-rwxr-xr-x[-rw-r--r--]tvapi/build/include/.gitignore0
-rw-r--r--tvapi/docs/tv.uml12156
-rw-r--r--tvapi/libtv/Android.mk3
-rw-r--r--tvapi/libtv/audio/audio_alsa.cpp2426
-rw-r--r--tvapi/libtv/audio/audio_alsa.h261
-rw-r--r--tvapi/libtv/audio/audio_android.cpp2070
-rw-r--r--tvapi/libtv/audio/audio_android.h157
-rw-r--r--tvapi/libtv/audio/audio_android_effect.cpp1182
-rw-r--r--tvapi/libtv/audio/audio_android_effect.h131
-rw-r--r--tvapi/libtv/audio/audio_api.cpp4940
-rw-r--r--tvapi/libtv/audio/audio_api.h647
-rw-r--r--tvapi/libtv/audio/audio_effect.cpp456
-rw-r--r--tvapi/libtv/audio/audio_effect.h63
-rw-r--r--tvapi/libtv/include/amstream.h526
-rw-r--r--tvapi/libtv/include/amvecm.h136
-rw-r--r--tvapi/libtv/include/cm.h306
-rw-r--r--tvapi/libtv/include/hdmirx_cec.h508
-rw-r--r--tvapi/libtv/include/ve.h438
-rw-r--r--tvapi/libtv/tv/AutoBackLight.cpp426
-rw-r--r--tvapi/libtv/tv/AutoBackLight.h47
-rw-r--r--tvapi/libtv/tv/CAv.cpp484
-rw-r--r--tvapi/libtv/tv/CAv.h194
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.cpp2326
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.h680
-rw-r--r--tvapi/libtv/tv/CFrontEnd.cpp838
-rw-r--r--tvapi/libtv/tv/CFrontEnd.h227
-rw-r--r--tvapi/libtv/tv/CTv.cpp10755
-rw-r--r--tvapi/libtv/tv/CTv.h1269
-rw-r--r--tvapi/libtv/tv/CTvBooking.cpp324
-rw-r--r--tvapi/libtv/tv/CTvBooking.h167
-rw-r--r--tvapi/libtv/tv/CTvDmx.cpp8
-rw-r--r--tvapi/libtv/tv/CTvDmx.h15
-rw-r--r--tvapi/libtv/tv/CTvEpg.cpp260
-rw-r--r--tvapi/libtv/tv/CTvEpg.h280
-rw-r--r--tvapi/libtv/tv/CTvEv.cpp2
-rw-r--r--tvapi/libtv/tv/CTvEv.h314
-rw-r--r--tvapi/libtv/tv/CTvLog.h8
-rw-r--r--tvapi/libtv/tv/CTvRecord.cpp552
-rw-r--r--tvapi/libtv/tv/CTvRecord.h93
-rw-r--r--tvapi/libtv/tv/CTvSatellite.h43
-rw-r--r--tvapi/libtv/tv/CTvScanner.cpp1417
-rw-r--r--tvapi/libtv/tv/CTvScanner.h319
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.cpp1060
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.h351
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.cpp272
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.h469
-rw-r--r--tvapi/libtv/tv/CTvTime.h137
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.cpp250
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.h43
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.cpp974
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.h284
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.cpp706
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.h79
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.conf58
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.cpp106
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.h40
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.cpp694
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.h575
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.cpp300
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.h190
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.cpp714
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.h196
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.cpp482
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.h171
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.cpp88
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.h61
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.cpp1766
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.h1065
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.cpp366
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.h85
-rw-r--r--tvapi/libtv/tvin/CHDMIRxCEC.cpp830
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.cpp448
-rw-r--r--tvapi/libtv/tvin/CTvin.cpp4240
-rw-r--r--tvapi/libtv/tvin/CTvin.h2222
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.cpp54
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.h101
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.cpp706
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.h153
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.cpp160
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.h53
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.cpp258
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.h75
-rw-r--r--tvapi/libtv/tvsetting/CTvSetting.cpp4424
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingCfg.h742
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.cpp38
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.h11
-rw-r--r--tvapi/libtv/tvsetting/TvKeyData.cpp2784
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.cpp3706
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.h338
-rw-r--r--tvapi/libtv/tvutils/CCondition.h87
-rw-r--r--tvapi/libtv/tvutils/CFile.cpp250
-rw-r--r--tvapi/libtv/tvutils/CFile.h53
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.cpp6
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.h9
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.cpp144
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.h44
-rw-r--r--tvapi/libtv/tvutils/CMutex.h116
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.cpp118
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.h98
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.cpp568
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.h45
-rw-r--r--tvapi/libtv/tvutils/CSqlite.cpp126
-rw-r--r--tvapi/libtv/tvutils/CSqlite.h292
-rw-r--r--tvapi/libtv/tvutils/CThread.cpp212
-rw-r--r--tvapi/libtv/tvutils/CThread.h79
-rw-r--r--tvapi/libtv/tvutils/CTvInput.cpp196
-rw-r--r--tvapi/libtv/tvutils/CTvInput.h49
-rw-r--r--tvapi/libtv/tvutils/serial_base.cpp560
-rw-r--r--tvapi/libtv/tvutils/serial_base.h34
-rw-r--r--tvapi/libtv/tvutils/serial_operate.cpp336
-rw-r--r--tvapi/libtv/tvutils/serial_operate.h72
-rw-r--r--tvapi/libtv/tvutils/tvutils.cpp3822
-rw-r--r--tvapi/libtv/tvutils/tvutils.h238
-rw-r--r--tvapi/libtv/tvutils/zepoll.cpp66
-rw-r--r--tvapi/libtv/tvutils/zepoll.h57
-rw-r--r--tvapi/libtv/version/version.cpp188
-rw-r--r--tvapi/libtv/version/version.h22
-rw-r--r--tvapi/libtv/vpp/CPQdb.cpp3183
-rw-r--r--tvapi/libtv/vpp/CPQdb.h321
-rw-r--r--tvapi/libtv/vpp/CVpp.cpp4772
-rw-r--r--tvapi/libtv/vpp/CVpp.h683
-rw-r--r--tvapi/libtv/vpp/pqdata.cpp216
-rw-r--r--tvapi/tvtests/Android.mk98
-rw-r--r--tvapi/tvtests/android_tvtest.cpp30
-rw-r--r--tvapi/tvtests/comm_test.cpp42
-rw-r--r--tvapi/tvtests/ssm_test.cpp420
-rw-r--r--tvapi/tvtests/tvconfig_test.cpp854
147 files changed, 55964 insertions, 55946 deletions
diff --git a/tvapi/libtv/include/amstream.h b/tvapi/libtv/include/amstream.h
index 434c028..c82aae3 100644
--- a/tvapi/libtv/include/amstream.h
+++ b/tvapi/libtv/include/amstream.h
@@ -1,263 +1,263 @@
-#ifndef __AMSTREAM_H__
-#define __AMSTREAM_H__
-
-#include "ve.h"
-
-#define AMSTREAM_IOC_MAGIC 'S'
-
-#define AMSTREAM_IOC_VB_START _IOW(AMSTREAM_IOC_MAGIC, 0x00, int)
-#define AMSTREAM_IOC_VB_SIZE _IOW(AMSTREAM_IOC_MAGIC, 0x01, int)
-#define AMSTREAM_IOC_AB_START _IOW(AMSTREAM_IOC_MAGIC, 0x02, int)
-#define AMSTREAM_IOC_AB_SIZE _IOW(AMSTREAM_IOC_MAGIC, 0x03, int)
-#define AMSTREAM_IOC_VFORMAT _IOW(AMSTREAM_IOC_MAGIC, 0x04, int)
-#define AMSTREAM_IOC_AFORMAT _IOW(AMSTREAM_IOC_MAGIC, 0x05, int)
-#define AMSTREAM_IOC_VID _IOW(AMSTREAM_IOC_MAGIC, 0x06, int)
-#define AMSTREAM_IOC_AID _IOW(AMSTREAM_IOC_MAGIC, 0x07, int)
-#define AMSTREAM_IOC_VB_STATUS _IOR(AMSTREAM_IOC_MAGIC, 0x08, unsigned long)
-#define AMSTREAM_IOC_AB_STATUS _IOR(AMSTREAM_IOC_MAGIC, 0x09, unsigned long)
-#define AMSTREAM_IOC_SYSINFO _IOW(AMSTREAM_IOC_MAGIC, 0x0a, int)
-#define AMSTREAM_IOC_ACHANNEL _IOW(AMSTREAM_IOC_MAGIC, 0x0b, int)
-#define AMSTREAM_IOC_SAMPLERATE _IOW(AMSTREAM_IOC_MAGIC, 0x0c, int)
-#define AMSTREAM_IOC_DATAWIDTH _IOW(AMSTREAM_IOC_MAGIC, 0x0d, int)
-#define AMSTREAM_IOC_TSTAMP _IOW(AMSTREAM_IOC_MAGIC, 0x0e, unsigned long)
-#define AMSTREAM_IOC_VDECSTAT _IOR(AMSTREAM_IOC_MAGIC, 0x0f, unsigned long)
-#define AMSTREAM_IOC_ADECSTAT _IOR(AMSTREAM_IOC_MAGIC, 0x10, unsigned long)
-
-#define AMSTREAM_IOC_PORT_INIT _IO(AMSTREAM_IOC_MAGIC, 0x11)
-#define AMSTREAM_IOC_TRICKMODE _IOW(AMSTREAM_IOC_MAGIC, 0x12, unsigned long)
-
-#define AMSTREAM_IOC_AUDIO_INFO _IOW(AMSTREAM_IOC_MAGIC, 0x13, unsigned long)
-#define AMSTREAM_IOC_TRICK_STAT _IOR(AMSTREAM_IOC_MAGIC, 0x14, unsigned long)
-#define AMSTREAM_IOC_AUDIO_RESET _IO(AMSTREAM_IOC_MAGIC, 0x15)
-#define AMSTREAM_IOC_SID _IOW(AMSTREAM_IOC_MAGIC, 0x16, int)
-#define AMSTREAM_IOC_VPAUSE _IOW(AMSTREAM_IOC_MAGIC, 0x17, int)
-#define AMSTREAM_IOC_AVTHRESH _IOW(AMSTREAM_IOC_MAGIC, 0x18, int)
-#define AMSTREAM_IOC_SYNCTHRESH _IOW(AMSTREAM_IOC_MAGIC, 0x19, int)
-#define AMSTREAM_IOC_SUB_RESET _IOW(AMSTREAM_IOC_MAGIC, 0x1a, int)
-#define AMSTREAM_IOC_SUB_LENGTH _IOR(AMSTREAM_IOC_MAGIC, 0x1b, unsigned long)
-#define AMSTREAM_IOC_SET_DEC_RESET _IOW(AMSTREAM_IOC_MAGIC, 0x1c, int)
-#define AMSTREAM_IOC_TS_SKIPBYTE _IOW(AMSTREAM_IOC_MAGIC, 0x1d, int)
-#define AMSTREAM_IOC_SUB_TYPE _IOW(AMSTREAM_IOC_MAGIC, 0x1e, int)
-#define AMSTREAM_IOC_CLEAR_VIDEO _IOW(AMSTREAM_IOC_MAGIC, 0x1f, int)
-
-#define AMSTREAM_IOC_APTS _IOR(AMSTREAM_IOC_MAGIC, 0x40, unsigned long)
-#define AMSTREAM_IOC_VPTS _IOR(AMSTREAM_IOC_MAGIC, 0x41, unsigned long)
-#define AMSTREAM_IOC_PCRSCR _IOR(AMSTREAM_IOC_MAGIC, 0x42, unsigned long)
-#define AMSTREAM_IOC_SYNCENABLE _IOW(AMSTREAM_IOC_MAGIC, 0x43, unsigned long)
-#define AMSTREAM_IOC_GET_SYNC_ADISCON _IOR(AMSTREAM_IOC_MAGIC, 0x44, unsigned long)
-#define AMSTREAM_IOC_SET_SYNC_ADISCON _IOW(AMSTREAM_IOC_MAGIC, 0x45, unsigned long)
-#define AMSTREAM_IOC_GET_SYNC_VDISCON _IOR(AMSTREAM_IOC_MAGIC, 0x46, unsigned long)
-#define AMSTREAM_IOC_SET_SYNC_VDISCON _IOW(AMSTREAM_IOC_MAGIC, 0x47, unsigned long)
-#define AMSTREAM_IOC_GET_VIDEO_DISABLE _IOR(AMSTREAM_IOC_MAGIC, 0x48, unsigned long)
-#define AMSTREAM_IOC_SET_VIDEO_DISABLE _IOW(AMSTREAM_IOC_MAGIC, 0x49, unsigned long)
-#define AMSTREAM_IOC_SET_PCRSCR _IOW(AMSTREAM_IOC_MAGIC, 0x4a, unsigned long)
-#define AMSTREAM_IOC_GET_VIDEO_AXIS _IOR(AMSTREAM_IOC_MAGIC, 0x4b, unsigned long)
-#define AMSTREAM_IOC_SET_VIDEO_AXIS _IOW(AMSTREAM_IOC_MAGIC, 0x4c, unsigned long)
-#define AMSTREAM_IOC_GET_VIDEO_CROP _IOR(AMSTREAM_IOC_MAGIC, 0x4d, unsigned long)
-#define AMSTREAM_IOC_SET_VIDEO_CROP _IOW(AMSTREAM_IOC_MAGIC, 0x4e, unsigned long)
-
-// VPP.VE IOCTL command list
-#define AMSTREAM_IOC_VE_BEXT _IOW(AMSTREAM_IOC_MAGIC, 0x20, struct ve_bext_s )
-#define AMSTREAM_IOC_VE_DNLP _IOW(AMSTREAM_IOC_MAGIC, 0x21, struct ve_dnlp_s )
-#define AMSTREAM_IOC_VE_HSVS _IOW(AMSTREAM_IOC_MAGIC, 0x22, struct ve_hsvs_s )
-#define AMSTREAM_IOC_VE_CCOR _IOW(AMSTREAM_IOC_MAGIC, 0x23, struct ve_ccor_s )
-#define AMSTREAM_IOC_VE_BENH _IOW(AMSTREAM_IOC_MAGIC, 0x24, struct ve_benh_s )
-#define AMSTREAM_IOC_VE_DEMO _IOW(AMSTREAM_IOC_MAGIC, 0x25, struct ve_demo_s )
-#define AMSTREAM_IOC_VE_VDO_MEAS _IOW(AMSTREAM_IOC_MAGIC, 0x27, struct vdo_meas_s )
-#define AMSTREAM_IOC_VE_DEBUG _IOWR(AMSTREAM_IOC_MAGIC, 0x28, unsigned long long)
-#define AMSTREAM_IOC_VE_REGMAP _IOW(AMSTREAM_IOC_MAGIC, 0x29, struct ve_regmap_s)
-
-// VPP.CM IOCTL command list
-#define AMSTREAM_IOC_CM_REGION _IOW(AMSTREAM_IOC_MAGIC, 0x30, struct cm_region_s)
-#define AMSTREAM_IOC_CM_TOP _IOW(AMSTREAM_IOC_MAGIC, 0x31, struct cm_top_s )
-#define AMSTREAM_IOC_CM_DEMO _IOW(AMSTREAM_IOC_MAGIC, 0x32, struct cm_demo_s )
-#define AMSTREAM_IOC_CM_DEBUG _IOWR(AMSTREAM_IOC_MAGIC, 0x33, unsigned long long)
-#define AMSTREAM_IOC_CM_REGMAP _IOW(AMSTREAM_IOC_MAGIC, 0x34, struct cm_regmap_s)
-
-//VPP.3D IOCTL command list
-#define AMSTREAM_IOC_SET_3D_TYPE _IOW(AMSTREAM_IOC_MAGIC, 0x3c, unsigned int)
-#define AMSTREAM_IOC_GET_3D_TYPE _IOW(AMSTREAM_IOC_MAGIC, 0x3d, unsigned int)
-
-#define AMSTREAM_IOC_SUB_NUM _IOR(AMSTREAM_IOC_MAGIC, 0x50, unsigned long)
-#define AMSTREAM_IOC_SUB_INFO _IOR(AMSTREAM_IOC_MAGIC, 0x51, unsigned long)
-#define AMSTREAM_IOC_GET_BLACKOUT_POLICY _IOR(AMSTREAM_IOC_MAGIC, 0x52, unsigned long)
-#define AMSTREAM_IOC_SET_BLACKOUT_POLICY _IOW(AMSTREAM_IOC_MAGIC, 0x53, unsigned long)
-#define AMSTREAM_IOC_GET_SCREEN_MODE _IOR(AMSTREAM_IOC_MAGIC, 0x58, int)
-#define AMSTREAM_IOC_SET_SCREEN_MODE _IOW(AMSTREAM_IOC_MAGIC, 0x59, int)
-#define AMSTREAM_IOC_GET_VIDEO_DISCONTINUE_REPORT _IOR(AMSTREAM_IOC_MAGIC, 0x5a, int)
-#define AMSTREAM_IOC_SET_VIDEO_DISCONTINUE_REPORT _IOW(AMSTREAM_IOC_MAGIC, 0x5b, int)
-#define AMSTREAM_IOC_VF_STATUS _IOR(AMSTREAM_IOC_MAGIC, 0x60, unsigned long)
-#define AMSTREAM_IOC_CLEAR_VBUF _IO(AMSTREAM_IOC_MAGIC, 0x80)
-
-#define AMSTREAM_IOC_APTS_LOOKUP _IOR(AMSTREAM_IOC_MAGIC, 0x81, unsigned long)
-#define GET_FIRST_APTS_FLAG _IOR(AMSTREAM_IOC_MAGIC, 0x82, long)
-
-#define AMSTREAM_IOC_GET_SYNC_ADISCON_DIFF _IOR(AMSTREAM_IOC_MAGIC, 0x83, unsigned long)
-#define AMSTREAM_IOC_GET_SYNC_VDISCON_DIFF _IOR(AMSTREAM_IOC_MAGIC, 0x84, unsigned long)
-#define AMSTREAM_IOC_SET_SYNC_ADISCON_DIFF _IOW(AMSTREAM_IOC_MAGIC, 0x85, unsigned long)
-#define AMSTREAM_IOC_SET_SYNC_VDISCON_DIFF _IOW(AMSTREAM_IOC_MAGIC, 0x86, unsigned long)
-#define AMSTREAM_IOC_GET_FREERUN_MODE _IOR(AMSTREAM_IOC_MAGIC, 0x87, unsigned long)
-#define AMSTREAM_IOC_SET_FREERUN_MODE _IOW(AMSTREAM_IOC_MAGIC, 0x88, unsigned long)
-#define AMSTREAM_IOC_SET_DEMUX _IOW(AMSTREAM_IOC_MAGIC, 0x90, unsigned long)
-
-#define AMSTREAM_IOC_SET_VIDEO_DELAY_LIMIT_MS _IOW(AMSTREAM_IOC_MAGIC, 0xa0, unsigned long)
-#define AMSTREAM_IOC_GET_VIDEO_DELAY_LIMIT_MS _IOR(AMSTREAM_IOC_MAGIC, 0xa1, unsigned long)
-#define AMSTREAM_IOC_SET_AUDIO_DELAY_LIMIT_MS _IOW(AMSTREAM_IOC_MAGIC, 0xa2, unsigned long)
-#define AMSTREAM_IOC_GET_AUDIO_DELAY_LIMIT_MS _IOR(AMSTREAM_IOC_MAGIC, 0xa3, unsigned long)
-#define AMSTREAM_IOC_GET_AUDIO_CUR_DELAY_MS _IOR(AMSTREAM_IOC_MAGIC, 0xa4, unsigned long)
-#define AMSTREAM_IOC_GET_VIDEO_CUR_DELAY_MS _IOR(AMSTREAM_IOC_MAGIC, 0xa5, unsigned long)
-#define AMSTREAM_IOC_GET_AUDIO_AVG_BITRATE_BPS _IOR(AMSTREAM_IOC_MAGIC, 0xa6, unsigned long)
-#define AMSTREAM_IOC_GET_VIDEO_AVG_BITRATE_BPS _IOR(AMSTREAM_IOC_MAGIC, 0xa7, unsigned long)
-
-#define TRICKMODE_NONE 0x00
-#define TRICKMODE_I 0x01
-#define TRICKMODE_FFFB 0x02
-
-#define TRICK_STAT_DONE 0x01
-#define TRICK_STAT_WAIT 0x00
-
-#define AUDIO_EXTRA_DATA_SIZE (4096)
-#define MAX_SUB_NUM 32
-/*
-enum VIDEO_DEC_TYPE
-{
- VIDEO_DEC_FORMAT_UNKNOW,
- VIDEO_DEC_FORMAT_MPEG4_3,
- VIDEO_DEC_FORMAT_MPEG4_4,
- VIDEO_DEC_FORMAT_MPEG4_5,
- VIDEO_DEC_FORMAT_H264,
- VIDEO_DEC_FORMAT_MJPEG,
- VIDEO_DEC_FORMAT_MP4,
- VIDEO_DEC_FORMAT_H263,
- VIDEO_DEC_FORMAT_REAL_8,
- VIDEO_DEC_FORMAT_REAL_9,
- VIDEO_DEC_FORMAT_WMV3,
- VIDEO_DEC_FORMAT_WVC1,
- VIDEO_DEC_FORMAT_SW,
- VIDEO_DEC_FORMAT_MAX
-};
-*/
-struct buf_status {
- int size;
- int data_len;
- int free_len;
- unsigned int read_pointer;
- unsigned int write_pointer;
-};
-
-
-struct vdec_status {
- unsigned int width;
- unsigned int height;
- unsigned int fps;
- unsigned int error_count;
- unsigned int status;
-};
-
-struct adec_status {
- unsigned int channels;
- unsigned int sample_rate;
- unsigned int resolution;
- unsigned int error_count;
- unsigned int status;
-};
-
-struct am_io_param {
- union {
- int data;
- int id;//get bufstatus? //or others
- };
-
- int len; //buffer size;
-
- union {
- char buf[1];
- struct buf_status status;
- struct vdec_status vstatus;
- struct adec_status astatus;
- };
-};
-struct audio_info {
- int valid;
- int sample_rate;
- int channels;
- int bitrate;
- int codec_id;
- int block_align;
- int extradata_size;
- char extradata[AUDIO_EXTRA_DATA_SIZE];
-};
-
-struct dec_sysinfo {
- unsigned int format;
- unsigned int width;
- unsigned int height;
- unsigned int rate;
- unsigned int extra;
- unsigned int status;
- unsigned int ratio;
- void *param;
- unsigned long long ratio64;
-};
-
-struct subtitle_info {
- unsigned char id;
- unsigned char width;
- unsigned char height;
- unsigned char type;
-};
-
-struct codec_profile_t {
- char *name; // video codec short name
- char *profile; // Attributes,seperated by commas
-};
-#define SUPPORT_VDEC_NUM (8)
-
-int vcodec_profile_register(const struct codec_profile_t *vdec_profile);
-int vcodec_profile_read(char *buf);
-
-#ifdef __KERNEL__
-#ifdef ENABLE_DEMUX_DRIVER
-/*TS demux operation interface*/
-struct tsdemux_ops {
- int (*reset)(void);
- int (*set_reset_flag)(void);
- int (*request_irq)(irq_handler_t handler, void *data);
- int (*free_irq)(void);
- int (*set_vid)(int vpid);
- int (*set_aid)(int apid);
- int (*set_sid)(int spid);
- int (*set_skipbyte)(int skipbyte);
- int (*set_demux)(int dev);
-};
-
-void tsdemux_set_ops(struct tsdemux_ops *ops);
-int tsdemux_set_reset_flag(void);
-
-#endif /*ENABLE_DEMUX_DRIVER*/
-void set_vdec_func(int (*vdec_func)(struct vdec_status *));
-void set_adec_func(int (*adec_func)(struct adec_status *));
-void set_trickmode_func(int (*trickmode_func)(unsigned long trickmode));
-void wakeup_sub_poll(void);
-int wakeup_userdata_poll(int wp, int start_phyaddr, int buf_size);
-int get_sub_type(void);
-#endif
-
-typedef struct tcon_gamma_table_s {
- unsigned short data[256];
-} tcon_gamma_table_t;
-
-typedef struct tcon_rgb_ogo_s {
- unsigned int en;
- int r_pre_offset; // s11.0, range -1024~+1023, default is 0
- int g_pre_offset; // s11.0, range -1024~+1023, default is 0
- int b_pre_offset; // s11.0, range -1024~+1023, default is 0
- unsigned int r_gain; // u1.10, range 0~2047, default is 1024 (1.0x)
- unsigned int g_gain; // u1.10, range 0~2047, default is 1024 (1.0x)
- unsigned int b_gain; // u1.10, range 0~2047, default is 1024 (1.0x)
- int r_post_offset; // s11.0, range -1024~+1023, default is 0
- int g_post_offset; // s11.0, range -1024~+1023, default is 0
- int b_post_offset; // s11.0, range -1024~+1023, default is 0
-} tcon_rgb_ogo_t;
-
-#endif //__AMSTREAM_H__
+#ifndef __AMSTREAM_H__
+#define __AMSTREAM_H__
+
+#include "ve.h"
+
+#define AMSTREAM_IOC_MAGIC 'S'
+
+#define AMSTREAM_IOC_VB_START _IOW(AMSTREAM_IOC_MAGIC, 0x00, int)
+#define AMSTREAM_IOC_VB_SIZE _IOW(AMSTREAM_IOC_MAGIC, 0x01, int)
+#define AMSTREAM_IOC_AB_START _IOW(AMSTREAM_IOC_MAGIC, 0x02, int)
+#define AMSTREAM_IOC_AB_SIZE _IOW(AMSTREAM_IOC_MAGIC, 0x03, int)
+#define AMSTREAM_IOC_VFORMAT _IOW(AMSTREAM_IOC_MAGIC, 0x04, int)
+#define AMSTREAM_IOC_AFORMAT _IOW(AMSTREAM_IOC_MAGIC, 0x05, int)
+#define AMSTREAM_IOC_VID _IOW(AMSTREAM_IOC_MAGIC, 0x06, int)
+#define AMSTREAM_IOC_AID _IOW(AMSTREAM_IOC_MAGIC, 0x07, int)
+#define AMSTREAM_IOC_VB_STATUS _IOR(AMSTREAM_IOC_MAGIC, 0x08, unsigned long)
+#define AMSTREAM_IOC_AB_STATUS _IOR(AMSTREAM_IOC_MAGIC, 0x09, unsigned long)
+#define AMSTREAM_IOC_SYSINFO _IOW(AMSTREAM_IOC_MAGIC, 0x0a, int)
+#define AMSTREAM_IOC_ACHANNEL _IOW(AMSTREAM_IOC_MAGIC, 0x0b, int)
+#define AMSTREAM_IOC_SAMPLERATE _IOW(AMSTREAM_IOC_MAGIC, 0x0c, int)
+#define AMSTREAM_IOC_DATAWIDTH _IOW(AMSTREAM_IOC_MAGIC, 0x0d, int)
+#define AMSTREAM_IOC_TSTAMP _IOW(AMSTREAM_IOC_MAGIC, 0x0e, unsigned long)
+#define AMSTREAM_IOC_VDECSTAT _IOR(AMSTREAM_IOC_MAGIC, 0x0f, unsigned long)
+#define AMSTREAM_IOC_ADECSTAT _IOR(AMSTREAM_IOC_MAGIC, 0x10, unsigned long)
+
+#define AMSTREAM_IOC_PORT_INIT _IO(AMSTREAM_IOC_MAGIC, 0x11)
+#define AMSTREAM_IOC_TRICKMODE _IOW(AMSTREAM_IOC_MAGIC, 0x12, unsigned long)
+
+#define AMSTREAM_IOC_AUDIO_INFO _IOW(AMSTREAM_IOC_MAGIC, 0x13, unsigned long)
+#define AMSTREAM_IOC_TRICK_STAT _IOR(AMSTREAM_IOC_MAGIC, 0x14, unsigned long)
+#define AMSTREAM_IOC_AUDIO_RESET _IO(AMSTREAM_IOC_MAGIC, 0x15)
+#define AMSTREAM_IOC_SID _IOW(AMSTREAM_IOC_MAGIC, 0x16, int)
+#define AMSTREAM_IOC_VPAUSE _IOW(AMSTREAM_IOC_MAGIC, 0x17, int)
+#define AMSTREAM_IOC_AVTHRESH _IOW(AMSTREAM_IOC_MAGIC, 0x18, int)
+#define AMSTREAM_IOC_SYNCTHRESH _IOW(AMSTREAM_IOC_MAGIC, 0x19, int)
+#define AMSTREAM_IOC_SUB_RESET _IOW(AMSTREAM_IOC_MAGIC, 0x1a, int)
+#define AMSTREAM_IOC_SUB_LENGTH _IOR(AMSTREAM_IOC_MAGIC, 0x1b, unsigned long)
+#define AMSTREAM_IOC_SET_DEC_RESET _IOW(AMSTREAM_IOC_MAGIC, 0x1c, int)
+#define AMSTREAM_IOC_TS_SKIPBYTE _IOW(AMSTREAM_IOC_MAGIC, 0x1d, int)
+#define AMSTREAM_IOC_SUB_TYPE _IOW(AMSTREAM_IOC_MAGIC, 0x1e, int)
+#define AMSTREAM_IOC_CLEAR_VIDEO _IOW(AMSTREAM_IOC_MAGIC, 0x1f, int)
+
+#define AMSTREAM_IOC_APTS _IOR(AMSTREAM_IOC_MAGIC, 0x40, unsigned long)
+#define AMSTREAM_IOC_VPTS _IOR(AMSTREAM_IOC_MAGIC, 0x41, unsigned long)
+#define AMSTREAM_IOC_PCRSCR _IOR(AMSTREAM_IOC_MAGIC, 0x42, unsigned long)
+#define AMSTREAM_IOC_SYNCENABLE _IOW(AMSTREAM_IOC_MAGIC, 0x43, unsigned long)
+#define AMSTREAM_IOC_GET_SYNC_ADISCON _IOR(AMSTREAM_IOC_MAGIC, 0x44, unsigned long)
+#define AMSTREAM_IOC_SET_SYNC_ADISCON _IOW(AMSTREAM_IOC_MAGIC, 0x45, unsigned long)
+#define AMSTREAM_IOC_GET_SYNC_VDISCON _IOR(AMSTREAM_IOC_MAGIC, 0x46, unsigned long)
+#define AMSTREAM_IOC_SET_SYNC_VDISCON _IOW(AMSTREAM_IOC_MAGIC, 0x47, unsigned long)
+#define AMSTREAM_IOC_GET_VIDEO_DISABLE _IOR(AMSTREAM_IOC_MAGIC, 0x48, unsigned long)
+#define AMSTREAM_IOC_SET_VIDEO_DISABLE _IOW(AMSTREAM_IOC_MAGIC, 0x49, unsigned long)
+#define AMSTREAM_IOC_SET_PCRSCR _IOW(AMSTREAM_IOC_MAGIC, 0x4a, unsigned long)
+#define AMSTREAM_IOC_GET_VIDEO_AXIS _IOR(AMSTREAM_IOC_MAGIC, 0x4b, unsigned long)
+#define AMSTREAM_IOC_SET_VIDEO_AXIS _IOW(AMSTREAM_IOC_MAGIC, 0x4c, unsigned long)
+#define AMSTREAM_IOC_GET_VIDEO_CROP _IOR(AMSTREAM_IOC_MAGIC, 0x4d, unsigned long)
+#define AMSTREAM_IOC_SET_VIDEO_CROP _IOW(AMSTREAM_IOC_MAGIC, 0x4e, unsigned long)
+
+// VPP.VE IOCTL command list
+#define AMSTREAM_IOC_VE_BEXT _IOW(AMSTREAM_IOC_MAGIC, 0x20, struct ve_bext_s )
+#define AMSTREAM_IOC_VE_DNLP _IOW(AMSTREAM_IOC_MAGIC, 0x21, struct ve_dnlp_s )
+#define AMSTREAM_IOC_VE_HSVS _IOW(AMSTREAM_IOC_MAGIC, 0x22, struct ve_hsvs_s )
+#define AMSTREAM_IOC_VE_CCOR _IOW(AMSTREAM_IOC_MAGIC, 0x23, struct ve_ccor_s )
+#define AMSTREAM_IOC_VE_BENH _IOW(AMSTREAM_IOC_MAGIC, 0x24, struct ve_benh_s )
+#define AMSTREAM_IOC_VE_DEMO _IOW(AMSTREAM_IOC_MAGIC, 0x25, struct ve_demo_s )
+#define AMSTREAM_IOC_VE_VDO_MEAS _IOW(AMSTREAM_IOC_MAGIC, 0x27, struct vdo_meas_s )
+#define AMSTREAM_IOC_VE_DEBUG _IOWR(AMSTREAM_IOC_MAGIC, 0x28, unsigned long long)
+#define AMSTREAM_IOC_VE_REGMAP _IOW(AMSTREAM_IOC_MAGIC, 0x29, struct ve_regmap_s)
+
+// VPP.CM IOCTL command list
+#define AMSTREAM_IOC_CM_REGION _IOW(AMSTREAM_IOC_MAGIC, 0x30, struct cm_region_s)
+#define AMSTREAM_IOC_CM_TOP _IOW(AMSTREAM_IOC_MAGIC, 0x31, struct cm_top_s )
+#define AMSTREAM_IOC_CM_DEMO _IOW(AMSTREAM_IOC_MAGIC, 0x32, struct cm_demo_s )
+#define AMSTREAM_IOC_CM_DEBUG _IOWR(AMSTREAM_IOC_MAGIC, 0x33, unsigned long long)
+#define AMSTREAM_IOC_CM_REGMAP _IOW(AMSTREAM_IOC_MAGIC, 0x34, struct cm_regmap_s)
+
+//VPP.3D IOCTL command list
+#define AMSTREAM_IOC_SET_3D_TYPE _IOW(AMSTREAM_IOC_MAGIC, 0x3c, unsigned int)
+#define AMSTREAM_IOC_GET_3D_TYPE _IOW(AMSTREAM_IOC_MAGIC, 0x3d, unsigned int)
+
+#define AMSTREAM_IOC_SUB_NUM _IOR(AMSTREAM_IOC_MAGIC, 0x50, unsigned long)
+#define AMSTREAM_IOC_SUB_INFO _IOR(AMSTREAM_IOC_MAGIC, 0x51, unsigned long)
+#define AMSTREAM_IOC_GET_BLACKOUT_POLICY _IOR(AMSTREAM_IOC_MAGIC, 0x52, unsigned long)
+#define AMSTREAM_IOC_SET_BLACKOUT_POLICY _IOW(AMSTREAM_IOC_MAGIC, 0x53, unsigned long)
+#define AMSTREAM_IOC_GET_SCREEN_MODE _IOR(AMSTREAM_IOC_MAGIC, 0x58, int)
+#define AMSTREAM_IOC_SET_SCREEN_MODE _IOW(AMSTREAM_IOC_MAGIC, 0x59, int)
+#define AMSTREAM_IOC_GET_VIDEO_DISCONTINUE_REPORT _IOR(AMSTREAM_IOC_MAGIC, 0x5a, int)
+#define AMSTREAM_IOC_SET_VIDEO_DISCONTINUE_REPORT _IOW(AMSTREAM_IOC_MAGIC, 0x5b, int)
+#define AMSTREAM_IOC_VF_STATUS _IOR(AMSTREAM_IOC_MAGIC, 0x60, unsigned long)
+#define AMSTREAM_IOC_CLEAR_VBUF _IO(AMSTREAM_IOC_MAGIC, 0x80)
+
+#define AMSTREAM_IOC_APTS_LOOKUP _IOR(AMSTREAM_IOC_MAGIC, 0x81, unsigned long)
+#define GET_FIRST_APTS_FLAG _IOR(AMSTREAM_IOC_MAGIC, 0x82, long)
+
+#define AMSTREAM_IOC_GET_SYNC_ADISCON_DIFF _IOR(AMSTREAM_IOC_MAGIC, 0x83, unsigned long)
+#define AMSTREAM_IOC_GET_SYNC_VDISCON_DIFF _IOR(AMSTREAM_IOC_MAGIC, 0x84, unsigned long)
+#define AMSTREAM_IOC_SET_SYNC_ADISCON_DIFF _IOW(AMSTREAM_IOC_MAGIC, 0x85, unsigned long)
+#define AMSTREAM_IOC_SET_SYNC_VDISCON_DIFF _IOW(AMSTREAM_IOC_MAGIC, 0x86, unsigned long)
+#define AMSTREAM_IOC_GET_FREERUN_MODE _IOR(AMSTREAM_IOC_MAGIC, 0x87, unsigned long)
+#define AMSTREAM_IOC_SET_FREERUN_MODE _IOW(AMSTREAM_IOC_MAGIC, 0x88, unsigned long)
+#define AMSTREAM_IOC_SET_DEMUX _IOW(AMSTREAM_IOC_MAGIC, 0x90, unsigned long)
+
+#define AMSTREAM_IOC_SET_VIDEO_DELAY_LIMIT_MS _IOW(AMSTREAM_IOC_MAGIC, 0xa0, unsigned long)
+#define AMSTREAM_IOC_GET_VIDEO_DELAY_LIMIT_MS _IOR(AMSTREAM_IOC_MAGIC, 0xa1, unsigned long)
+#define AMSTREAM_IOC_SET_AUDIO_DELAY_LIMIT_MS _IOW(AMSTREAM_IOC_MAGIC, 0xa2, unsigned long)
+#define AMSTREAM_IOC_GET_AUDIO_DELAY_LIMIT_MS _IOR(AMSTREAM_IOC_MAGIC, 0xa3, unsigned long)
+#define AMSTREAM_IOC_GET_AUDIO_CUR_DELAY_MS _IOR(AMSTREAM_IOC_MAGIC, 0xa4, unsigned long)
+#define AMSTREAM_IOC_GET_VIDEO_CUR_DELAY_MS _IOR(AMSTREAM_IOC_MAGIC, 0xa5, unsigned long)
+#define AMSTREAM_IOC_GET_AUDIO_AVG_BITRATE_BPS _IOR(AMSTREAM_IOC_MAGIC, 0xa6, unsigned long)
+#define AMSTREAM_IOC_GET_VIDEO_AVG_BITRATE_BPS _IOR(AMSTREAM_IOC_MAGIC, 0xa7, unsigned long)
+
+#define TRICKMODE_NONE 0x00
+#define TRICKMODE_I 0x01
+#define TRICKMODE_FFFB 0x02
+
+#define TRICK_STAT_DONE 0x01
+#define TRICK_STAT_WAIT 0x00
+
+#define AUDIO_EXTRA_DATA_SIZE (4096)
+#define MAX_SUB_NUM 32
+/*
+enum VIDEO_DEC_TYPE
+{
+ VIDEO_DEC_FORMAT_UNKNOW,
+ VIDEO_DEC_FORMAT_MPEG4_3,
+ VIDEO_DEC_FORMAT_MPEG4_4,
+ VIDEO_DEC_FORMAT_MPEG4_5,
+ VIDEO_DEC_FORMAT_H264,
+ VIDEO_DEC_FORMAT_MJPEG,
+ VIDEO_DEC_FORMAT_MP4,
+ VIDEO_DEC_FORMAT_H263,
+ VIDEO_DEC_FORMAT_REAL_8,
+ VIDEO_DEC_FORMAT_REAL_9,
+ VIDEO_DEC_FORMAT_WMV3,
+ VIDEO_DEC_FORMAT_WVC1,
+ VIDEO_DEC_FORMAT_SW,
+ VIDEO_DEC_FORMAT_MAX
+};
+*/
+struct buf_status {
+ int size;
+ int data_len;
+ int free_len;
+ unsigned int read_pointer;
+ unsigned int write_pointer;
+};
+
+
+struct vdec_status {
+ unsigned int width;
+ unsigned int height;
+ unsigned int fps;
+ unsigned int error_count;
+ unsigned int status;
+};
+
+struct adec_status {
+ unsigned int channels;
+ unsigned int sample_rate;
+ unsigned int resolution;
+ unsigned int error_count;
+ unsigned int status;
+};
+
+struct am_io_param {
+ union {
+ int data;
+ int id;//get bufstatus? //or others
+ };
+
+ int len; //buffer size;
+
+ union {
+ char buf[1];
+ struct buf_status status;
+ struct vdec_status vstatus;
+ struct adec_status astatus;
+ };
+};
+struct audio_info {
+ int valid;
+ int sample_rate;
+ int channels;
+ int bitrate;
+ int codec_id;
+ int block_align;
+ int extradata_size;
+ char extradata[AUDIO_EXTRA_DATA_SIZE];
+};
+
+struct dec_sysinfo {
+ unsigned int format;
+ unsigned int width;
+ unsigned int height;
+ unsigned int rate;
+ unsigned int extra;
+ unsigned int status;
+ unsigned int ratio;
+ void *param;
+ unsigned long long ratio64;
+};
+
+struct subtitle_info {
+ unsigned char id;
+ unsigned char width;
+ unsigned char height;
+ unsigned char type;
+};
+
+struct codec_profile_t {
+ char *name; // video codec short name
+ char *profile; // Attributes,seperated by commas
+};
+#define SUPPORT_VDEC_NUM (8)
+
+int vcodec_profile_register(const struct codec_profile_t *vdec_profile);
+int vcodec_profile_read(char *buf);
+
+#ifdef __KERNEL__
+#ifdef ENABLE_DEMUX_DRIVER
+/*TS demux operation interface*/
+struct tsdemux_ops {
+ int (*reset)(void);
+ int (*set_reset_flag)(void);
+ int (*request_irq)(irq_handler_t handler, void *data);
+ int (*free_irq)(void);
+ int (*set_vid)(int vpid);
+ int (*set_aid)(int apid);
+ int (*set_sid)(int spid);
+ int (*set_skipbyte)(int skipbyte);
+ int (*set_demux)(int dev);
+};
+
+void tsdemux_set_ops(struct tsdemux_ops *ops);
+int tsdemux_set_reset_flag(void);
+
+#endif /*ENABLE_DEMUX_DRIVER*/
+void set_vdec_func(int (*vdec_func)(struct vdec_status *));
+void set_adec_func(int (*adec_func)(struct adec_status *));
+void set_trickmode_func(int (*trickmode_func)(unsigned long trickmode));
+void wakeup_sub_poll(void);
+int wakeup_userdata_poll(int wp, int start_phyaddr, int buf_size);
+int get_sub_type(void);
+#endif
+
+typedef struct tcon_gamma_table_s {
+ unsigned short data[256];
+} tcon_gamma_table_t;
+
+typedef struct tcon_rgb_ogo_s {
+ unsigned int en;
+ int r_pre_offset; // s11.0, range -1024~+1023, default is 0
+ int g_pre_offset; // s11.0, range -1024~+1023, default is 0
+ int b_pre_offset; // s11.0, range -1024~+1023, default is 0
+ unsigned int r_gain; // u1.10, range 0~2047, default is 1024 (1.0x)
+ unsigned int g_gain; // u1.10, range 0~2047, default is 1024 (1.0x)
+ unsigned int b_gain; // u1.10, range 0~2047, default is 1024 (1.0x)
+ int r_post_offset; // s11.0, range -1024~+1023, default is 0
+ int g_post_offset; // s11.0, range -1024~+1023, default is 0
+ int b_post_offset; // s11.0, range -1024~+1023, default is 0
+} tcon_rgb_ogo_t;
+
+#endif //__AMSTREAM_H__