⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 psi_private.h

📁 Zoran V966 DVD 解码 Soc芯片的源程序
💻 H
字号:
/****************************************************************************************
 *  Copyright (c) 2005 ZORAN Corporation, All Rights Reserved
 *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
 *
 *  File: $Workfile: psi_private.h $             
 *
 * Description: 
 * ============
 * 
 * 
 * Log:
 * ====
 * $Revision: $
 * Last Modified by $Author: $ at $Modtime: $ 
 ****************************************************************************************
 * Updates:
 ****************************************************************************************/
#include "Config.h"		// Global Configuration - do not remove!

#ifdef FTA_SUPPORT

#ifndef __PSI_PRIVATE_H_
#define __PSI_PRIVATE_H_

#include "Include\sysdefs.h"
#include "Playcore\FTA\PSI\psi_tables.h"

/////////////////////////////////////////////////////////////////////////////////////////////////
// Macros

#define PSI_NUM_OF_TABLES	3

#define SECTION_SIZE		1024

#define TDT_PID				0x14
#define TDT_TABLE_ID		0x70
#define TOT_TABLE_ID		0x73

#define PAT_PID				0
#define PAT_TABLE_ID		0

#define SDT_PID				0x11
#define SDT_TABLE_ID		0x42

#define NIT_PID				0x10
#define NIT_TABLE_ID		0x40

#define PMT_TABLE_ID		2

#define PSI_ILLEGAL_VALUE	0xffff

#define PSI_PARSE_PID(buffer)			(((buffer[0] & 0x1F) << 8) | (buffer[1] & 0xFF))

#define PSI_PARSE_TABLE_ID_EXT(buffer)	(((buffer[0] & 0xFF) << 8) | (buffer[1] & 0xFF))

#define PSI_PARSE_SECTION_SIZE(buffer)	(((buffer[0] & 0x0F) << 8) | (buffer[1] & 0xFF))

/////////////////////////////////////////////////////////////////////////////////////////////////
// Enumerations & Typedefs

// The table reset function prototype
typedef void (*PSI_TABLE_RESET_FCT)(void);

// The table parsing function prototype
typedef BOOL (*PSI_TABLE_PARSE_FCT)(UINT32 ulSectionBuff, UINT16 uiSectionOffset);

/////////////////////////////////////////////////////////////////////////////////////////////////
// Structures

typedef struct
{
	UINT16 data;
	UINT16 mask;
} FILTER_FIELD;

typedef struct
{
	UINT32 ulBuffAddr;
	UINT16 uiBuffSize;
#ifdef _DEBUG	
	CHAR* tableName;
#endif
} TABLES_LUT_ENTRY;

typedef struct 
{
	union
	{
		PAT_SECTION* sPatSection;
		PMT_SECTION* sPmtSection;
		SDT_SECTION* sSdtSection;
	} section;

	UINT16 sTableIdExt;					// The table ID extension - can be transport ID, program ID, etc.
	UINT8 cNumberOfSections;			// The total number of acquired sections
	UINT8 cTotalNumberOfSections;		// The total number of existing sections
} PSI_TABLE;

typedef struct 
{
	PSI_TABLE_PARSE_FCT	pTableParseFct;
	PSI_TABLE_RESET_FCT	pTableResetFct;
} TABLE_FCT;

typedef struct 
{
	PSI_TABLE		 sTable;
	TABLE_FCT		 fTableFct;
	FILTER_FIELD	 sTableExt;
	FILTER_FIELD	 sTableId;
	UINT16			 sTablePid;
	BOOL			 bTableActive;
	BOOL			 bTableCreated;
	PSI_TABLE_STATE	 bTableAcquired;
	UINT8			 uiTableCpuDspIndex;
} PSI_TABLES_INFO;

#endif // __PSI_PRIVATE_H_
#endif // FTA_SUPPORT

⌨️ 快捷键说明

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