vcd_define.h

来自「AMLOGIC DPF source code」· C头文件 代码 · 共 402 行 · 第 1/2 页

H
402
字号
/*************************************************************************
**                                                                      **
**  Copyright (C) 1999 Amlogic,Inc.                                     **
**  All rights reserved                                                 **
**      Filename : Vcd_define.h / Project: AVOS                         **
**      Revision : 1.0                                                  **
**                                                                      **
*************************************************************************/
#ifndef VCD_DEFINE_H
#define VCD_DEFINE_H
#endif

/*****************************   Define   ********************************/
/*
_Define()
*/
//#define VCD_PRINT

#define VCDMAX_Q_NUM           16

#define VCDUNKNOWN             0x00
#define VCD20                  0x01
#define VCD11                  0x02
#define SVCD                   0x03
#define CVD                    0x04
#define DVCD                   0x05

#define VCD_IDLE               1
#define VCD_PLAY_START         2
#define VCD_PLAY               3
#define VCD_PLAY_DONE          4
#define VCD_PAUSE              5
#define VCD_FF                 6
#define VCD_FB                 7
#define VCD_STOP               8
#define VCD_STEP               9
#define VCD_SF                 10

#define VCD_READ_READY         1
#define VCD_READING            2
#define VCD_READ_DONE          3

#define VCD_PBCOFF             0
#define VCD_PBCON              1

#define VCD_FORWARD            0
#define VCD_BACKWARD           1

#define VCD_PLAYLIST           0x10
#define VCD_SELECTLIST         0x18
#define VCD_ENDLIST            0x1f

#define VCD_WAIT               0
#define VCD_INFINITWAIT        1
#define VCD_NOWAIT             2

#define VCD_LOOP               0
#define VCD_INFINITLOOP        1

#define VCD_CREATENEWPSD       0
#define VCD_ITEMSTARTPLAY      1
#define VCD_ITEMPLAYING        2
#define VCD_ITEMAUTOPAUSE      3
#define VCD_ITEMPLAYEND        4
#define VCD_ITEMWAIT           5
#define VCD_ITEMNoWAIT         6
#define VCD_ITEMIDLE           7

#define VCD_BLK_SEND           0
#define VCD_BLK_STOP           1

#define VCD_NORMAL             0
#define VCD_HIGH               1

#define VCD_DUMP_TIMER         10
#define VCD_COLLECT_TIMER      250

#define VCD_SECTORBLOCK        16  // 16 secotors per reading
#define VCD_SECONDBLOCK        75  // 75 secotors per reading
#define VCD_TASK_STK_SIZE      512 // Size of each task's stacks (# of WORDs)
#define VCD_BUFFSIZE           2048*8
#define VCD_SYNC_BUFFSIZE      12*VCD_SECONDBLOCK

#define VCD_VIDEO_GARBAGE_SIZE 0x300
#define VCD_AUDIO_GARBAGE_SIZE 0x300

#define VCD_VIDEO_EMPTY_LEVEL  0
#define VCD_AUDIO_EMPTY_LEVEL  0x60

#define VCD_TARGET_MONITOR_TIMER    10

#define VCD_CMD_TIMEOUT_VALUE       5

/*****************************   Typedef   *******************************/
/*
_Typedef()
*/
#define __packed

#pragma Pack(1)
typedef __packed struct
{
    INT8U       Track;
    INT8U       Min;
    INT8U       Sec;
    INT8U       Frm;
} VCDTRACKTIME;

typedef __packed struct
{
    INT8U        Min;
    INT8U        Sec;
    INT8U        Frm;
} VCDTIME;

typedef __packed struct
{
    INT8U        SystemIdentify[8];
    INT8U        version;
    INT8U        SystemProfileTag;
//  INT16U       Version;
    INT8U        Album[16];
    INT16U       AlbumNumber;
    INT16U       AlbumSetSeqNum;
    INT8U        TrackMontionPicSizeMap[13];
    INT8U        StatusFlag;
    INT32U       PsdSize;
    VCDTIME      FirstSegment;
    INT8U        OffsetMulti;
    INT16U       MaxListID;
    INT16U       MaxSegmentNum;
    INT8U        SegmentPlayItemContentTab[1980];
    INT8U        ExtendStatusFlag;
    INT8U        DiscType;
    INT8U        ReservedInfo[10];
} VCDDISCINFO;

typedef __packed struct
{
    INT8U        FileIdentify[8];
    INT16U       Version;
    INT16U       EntryNum;
    VCDTRACKTIME EntryTab[500];
    INT8U        ReservedEntry[36];
} VCDDISCENTRY;

typedef __packed struct
{
    INT8U        PsdDump[2324];
}VCDPSDDUMP;

typedef __packed struct
{
    INT8U        FileIdentify[8];
    INT16U       Version;
    INT16U       SearchNum;
    INT16U       TrackNum;
    INT16U       SegmentNum;
    INT8U        PointK;
    VCDTIME      *Address;
} VCDSEARCH;
#pragma Pack()

#pragma Pack(4)
typedef struct
{
    INT8U       Track;
    INT8U       Min;
    INT8U       Sec;
    INT8U       Frm;
} VCDTRACKADDR;

typedef struct
{
    INT8U        ListHeader;
    INT8U        ListID;
    INT16U       PrevListOffset;
    INT16U       NextListOffset;
    INT16U       ReturnListOffset;
    INT16U       DefaultListOffset;
    INT16U       TimeOutListOffset;
    INT16U       NumOffset[100];
    INT8U        WaitStatus;
    INT8U        AutoPauseWaitStatus;
    INT16U       PlayItemWaitTimer;
    INT16U       AutoPauseWaitTimer;
    INT32U       ItemPlayTimer;
    INT8U        LoopStatus;
    INT8U        LoopCount;
    INT8U        JumpStatus;
    
    INT8U        PlayItemNum;
    INT8U        NowPlayItem;
    INT16U       PlayItem[256];
}VCDPSD;

typedef struct
{
    VCDTRACKADDR Start;
    VCDTRACKADDR End;
    INT32U       start_time;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?