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 + -
显示快捷键?