hvd_define.h
来自「AMLOGIC DPF source code」· C头文件 代码 · 共 280 行
H
280 行
/*************************************************************************
** **
** Copyright (C) 1999 Amlogic,Inc. **
** All rights reserved **
** Filename : hvd_define.h / Group:HvdNavigation / Project: AVOS **
** Revision : 2.0 **
** **
*************************************************************************/
#define HVD_DEFINE_H
#include "dvd_define.h"
/***************************** Define ********************************/
/*
_Define()
*/
//For Navigation Jump
#define BREAK_WHILE 1
#define RESUME_START 2
#define GOTO_STOP 3
#define END_VOBU_STILL 4
//For HVD command
#define CMD_PLAY_END 1 // 0 Parameter
#define CMD_PLAY_POINT 2 // 2 Parameters: title_no, chapter_number
#define SET_SUB_ATTR 3 // 16 Parameters: (Y, Cb, Cr and alpha)* 4
#define SET_BUTTON_NUM 4 // 1 Parameter: Button Number
#define SET_HLI_AREA 5 // 9 Parameters: Button_ID, hli_start_x(2), hli_start_y(2), hli_length_x(2), hli_length_y(2)
#define SET_BUTTON_ACTION 6 // 2 Parameters: Button_ID, Button action ( 0:UP, 1:DOWN, 2:LEFT, 3:RIGHT, 4:ENTER )
#define SET_HLI_BUTTON 7 // 1 Parameter: Highlight Button ID
#define CMD_PLAY_RSM 8 // 0 Parameter
#define SET_STILL_TIME 9 // 1 Parameter: still time (seconds)
#define SET_HLI_ATTR 10 // 16 Parameters: (Y, Cb, Cr and alpha)* 4
#define SET_SEL_ATTR 11 // 16 Parameters: (Y, Cb, Cr and alpha)* 4
#define ENABLE_HLI 12 // 0 Parameter
#define DISABLE_HLI 13 // 0 Parameter
#define CMD_STOP 14 // 0 Parameter
#define SET_AUDIO 15 // 1 Parameter: Audio number
#define SET_CAPTION 16 // 1 Parameter: Subpicture number
#define SET_USER_PROHIBITION 17 // 1 Parameter: Prohibit value
#define TOTAL_HVD_CMD_NUMBER 18
#define CMD_NORMAL 0
#define CMD_SET_STILL 1
#define CMD_PLAY_BEGIN 2
#define CMD_PLAY_FINISH 3
#define CMD_PLAY_STOP 4
#define CMD_PLAY_TIME 5
//For Playback Status
#define PLAY_NORMAL 0x0
#define PLAY_CELL_BEGIN 0x1
#define PLAY_ONLY_VOBU 0x5
#define PLAY_TILL_VOBU_END 0x6
#define PLAY_BEGIN 0x7
/***************************** Typedef *******************************/
/*
_Typedef()
*/
#define __packed
typedef struct{
char FILE_NAME[32];
unsigned START_SECTER;
unsigned length;
} HVD_FILE_INFO;
#define MAX_HVD_FILE_NUMBER 400
typedef struct{
unsigned HVD_FILE_NUMBER;
HVD_FILE_INFO hvd_file_info[MAX_HVD_FILE_NUMBER];
} HVD_FILE;
#define MAX_TITLE_NUMBER 99
typedef struct{
char HVD_VER[8];
char DISC_NAME[32];
char PVR_IFO[32];
unsigned short TITLE_NO;
unsigned char FP_TITLE;
unsigned char FP_CHAPTER;
char MENU_IFO[32];
char TITLE_IFO[MAX_TITLE_NUMBER][32];
} HVD_IFO;
typedef __packed struct
{
unsigned display_mode: 2;
unsigned aspect_ratio: 2;
unsigned tv_system: 2;
unsigned video_compression_mode: 2;
unsigned stream_type: 1;
unsigned reserved1: 1;
unsigned FPS: 1;
unsigned source_picture_resolution: 3;
unsigned scramble_type: 2;
}hvd_v_atr;
typedef __packed struct
{
unsigned reserved: 3;
unsigned scramble_type: 2;
unsigned audio_coding_mode: 3;
unsigned audio_channel_ns: 3;
unsigned stream_type: 1;
unsigned fs: 2;
unsigned quantization_drc: 2;
unsigned language: 16;
}hvd_a_atr;
typedef __packed struct
{
unsigned reserved: 5;
unsigned sub_picture_coding_mode: 3;
unsigned reserved1: 8;
unsigned language: 16;
}hvd_s_atr;
#define MAX_CMD_NUMBER 36
#define MAX_BUTTON_NUM 32
typedef struct{
char HVDT_VER[8];
char TITLE_NAME[32];
char PVR_IFO[32];
unsigned short CHAPTER_NO;
unsigned char VIDEO_FILE_NO;
unsigned char VIDEO_Ns;
hvd_v_atr VIDEO_ATTR[8];
unsigned short AUDIO_Ns;
hvd_a_atr AUDIO_ATTR[8];
unsigned short CAPTION_Ns;
hvd_s_atr CAPTION_ATTR[32];
char PLAYSTREAM[32];
char INDEX_IFO[32];
char PLAYBACK_IFO[32];
char CAPTION_LIB[32];
unsigned char current_vtsn;
unsigned char current_chapter_num;
unsigned char index_valid;
unsigned char command_valid;
unsigned char menu_title;
unsigned start_play_time;
unsigned char currect_sub_file;
unsigned char button_num;
unsigned START_SECTER[12];
unsigned END_SECTER[12];
unsigned total_play_time;
unsigned current_play_time;
unsigned total_sequence_num;
unsigned total_sequence_start[36];
unsigned total_sequence_sector[36];
unsigned total_sequence_length[36];
unsigned CMD_TABLE_NUM;
unsigned CMD_TIME[MAX_CMD_NUMBER];
unsigned CMD_LENGTH[MAX_CMD_NUMBER];
unsigned CMD_START_BYTE[MAX_CMD_NUMBER];
unsigned CMD_RESUME_POSITON;
unsigned short CMD_STILL_TIME;
unsigned short HLI_START_X[MAX_BUTTON_NUM];
unsigned short HLI_START_Y[MAX_BUTTON_NUM];
unsigned short HLI_END_X[MAX_BUTTON_NUM];
unsigned short HLI_END_Y[MAX_BUTTON_NUM];
unsigned short HLI_BUTTON_CMD[MAX_BUTTON_NUM][5];
} HVDT_IFO;
typedef struct {
char CHAPTER_NAME[32];
unsigned CHAPTER_START_TIME;
} CHAPTER_INFO;
typedef struct {
CHAPTER_INFO chapter_info[100];
} CHAPTER_DATA;
typedef struct
{
unsigned char time;
unsigned char chapter;
unsigned char title;
unsigned char stop;
unsigned char fast_forward;
unsigned char fast_backward;
unsigned char slow_forward;
unsigned char slow_backward;
unsigned char pause;
unsigned char step;
unsigned char menu;
unsigned char audio;
unsigned char subtitle;
unsigned char zoom;
unsigned char play_mode;
unsigned char tv_system;
} HVD_PROHIBTED;
typedef struct
{
unsigned char rsm_valid;
unsigned char vtsn;
unsigned char mission;
unsigned char action;
unsigned short sprm1;
unsigned short sprm2;
unsigned rsm_time;
} HVD_RSM_INFO;
typedef struct
{
HVD_RSM_INFO rsm;
unsigned short HvdChapterNo[99];
unsigned NextPlayTime;
unsigned NextPlaySector;
unsigned NextChapterStarTime;
unsigned SequenceAdded;
unsigned short sprm[24];
unsigned char ButtonAction;
unsigned char UpdateTimeFlag;
unsigned char SearchRsmButton;
unsigned char PreCmdExecute; //when set to 1, ignoring the executing time.
unsigned NextExeCmd;
unsigned HvdCmdRet;
unsigned char Sprm2Bak;
unsigned char SpuSetByMenu;
}HVDVAR;
typedef struct
{
unsigned PlaySeq;
unsigned PlayStatus;
unsigned char PlaySpeed;
unsigned char PlayDirection; //0: forward, 1:backward
unsigned SearchTime;
unsigned char ErrorFlag;
unsigned char ForbidFlag;
unsigned char ExitFlag;
}HVDSTATE;
typedef struct
{
unsigned char Flag; //1: Play, 2:Store, 3:Clear
unsigned char Vtsn;
unsigned char PgcNo;
unsigned char PgNo;
unsigned char CellNo;
unsigned char Action;
unsigned short Sprm4;
unsigned short Sprm5;
unsigned short Sprm6;
unsigned short Sprm7;
unsigned short Sprm8;
unsigned Address;
}HVD_POINT_INFO;
typedef struct
{
HVD_POINT_INFO APoint;
HVD_POINT_INFO BPoint;
unsigned char Type;
}HVD_AB_INFO;
typedef struct
{
int fd;
int fd_video;
int fd_decoder;
int fd_target;
OS_EVENT *audio_if;
unsigned logo;
unsigned logosize;
INT32S StillTimer;
INT32S NavTimer;
}HVD_PLAY;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?