📄 bifs_node_tables.c
字号:
/* * GPAC - Multimedia Framework C SDK * * Copyright (c) Jean Le Feuvre 2000-2005 * All rights reserved * * This file is part of GPAC / BIFS codec sub-project * * GPAC is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GPAC is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; see the file COPYING. If not, write to * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. * *//* DO NOT MOFIFY - File generated on GMT Fri Dec 22 19:18:46 2006 BY MPEG4Gen for GPAC Version 0.4.3-DEV*/#include <gpac/internal/bifs_tables.h>u32 ALL_GetNodeType(const u32 *table, const u32 count, u32 NodeTag, u32 Version){ u32 i = 0; while (i<count) { if (table[i] == NodeTag) goto found; i++; } return 0;found: if (Version == 2) return i+2; return i+1;}u32 NDT_V1_GetNodeTag(u32 Context_NDT_Tag, u32 NodeType){ if (!NodeType) return 0; /* adjust according to the table version */ /* v1: 0 reserved for extensions */ NodeType -= 1; switch (Context_NDT_Tag) { case NDT_SFWorldNode: if (NodeType >= SFWorldNode_V1_Count) return 0; return SFWorldNode_V1_TypeToTag[NodeType]; case NDT_SF3DNode: if (NodeType >= SF3DNode_V1_Count) return 0; return SF3DNode_V1_TypeToTag[NodeType]; case NDT_SF2DNode: if (NodeType >= SF2DNode_V1_Count) return 0; return SF2DNode_V1_TypeToTag[NodeType]; case NDT_SFStreamingNode: if (NodeType >= SFStreamingNode_V1_Count) return 0; return SFStreamingNode_V1_TypeToTag[NodeType]; case NDT_SFAppearanceNode: if (NodeType >= SFAppearanceNode_V1_Count) return 0; return SFAppearanceNode_V1_TypeToTag[NodeType]; case NDT_SFAudioNode: if (NodeType >= SFAudioNode_V1_Count) return 0; return SFAudioNode_V1_TypeToTag[NodeType]; case NDT_SFBackground3DNode: if (NodeType >= SFBackground3DNode_V1_Count) return 0; return SFBackground3DNode_V1_TypeToTag[NodeType]; case NDT_SFBackground2DNode: if (NodeType >= SFBackground2DNode_V1_Count) return 0; return SFBackground2DNode_V1_TypeToTag[NodeType]; case NDT_SFGeometryNode: if (NodeType >= SFGeometryNode_V1_Count) return 0; return SFGeometryNode_V1_TypeToTag[NodeType]; case NDT_SFColorNode: if (NodeType >= SFColorNode_V1_Count) return 0; return SFColorNode_V1_TypeToTag[NodeType]; case NDT_SFTextureNode: if (NodeType >= SFTextureNode_V1_Count) return 0; return SFTextureNode_V1_TypeToTag[NodeType]; case NDT_SFCoordinateNode: if (NodeType >= SFCoordinateNode_V1_Count) return 0; return SFCoordinateNode_V1_TypeToTag[NodeType]; case NDT_SFCoordinate2DNode: if (NodeType >= SFCoordinate2DNode_V1_Count) return 0; return SFCoordinate2DNode_V1_TypeToTag[NodeType]; case NDT_SFExpressionNode: if (NodeType >= SFExpressionNode_V1_Count) return 0; return SFExpressionNode_V1_TypeToTag[NodeType]; case NDT_SFFaceDefMeshNode: if (NodeType >= SFFaceDefMeshNode_V1_Count) return 0; return SFFaceDefMeshNode_V1_TypeToTag[NodeType]; case NDT_SFFaceDefTablesNode: if (NodeType >= SFFaceDefTablesNode_V1_Count) return 0; return SFFaceDefTablesNode_V1_TypeToTag[NodeType]; case NDT_SFFaceDefTransformNode: if (NodeType >= SFFaceDefTransformNode_V1_Count) return 0; return SFFaceDefTransformNode_V1_TypeToTag[NodeType]; case NDT_SFFAPNode: if (NodeType >= SFFAPNode_V1_Count) return 0; return SFFAPNode_V1_TypeToTag[NodeType]; case NDT_SFFDPNode: if (NodeType >= SFFDPNode_V1_Count) return 0; return SFFDPNode_V1_TypeToTag[NodeType]; case NDT_SFFITNode: if (NodeType >= SFFITNode_V1_Count) return 0; return SFFITNode_V1_TypeToTag[NodeType]; case NDT_SFFogNode: if (NodeType >= SFFogNode_V1_Count) return 0; return SFFogNode_V1_TypeToTag[NodeType]; case NDT_SFFontStyleNode: if (NodeType >= SFFontStyleNode_V1_Count) return 0; return SFFontStyleNode_V1_TypeToTag[NodeType]; case NDT_SFTopNode: if (NodeType >= SFTopNode_V1_Count) return 0; return SFTopNode_V1_TypeToTag[NodeType]; case NDT_SFLinePropertiesNode: if (NodeType >= SFLinePropertiesNode_V1_Count) return 0; return SFLinePropertiesNode_V1_TypeToTag[NodeType]; case NDT_SFMaterialNode: if (NodeType >= SFMaterialNode_V1_Count) return 0; return SFMaterialNode_V1_TypeToTag[NodeType]; case NDT_SFNavigationInfoNode: if (NodeType >= SFNavigationInfoNode_V1_Count) return 0; return SFNavigationInfoNode_V1_TypeToTag[NodeType]; case NDT_SFNormalNode: if (NodeType >= SFNormalNode_V1_Count) return 0; return SFNormalNode_V1_TypeToTag[NodeType]; case NDT_SFTextureCoordinateNode: if (NodeType >= SFTextureCoordinateNode_V1_Count) return 0; return SFTextureCoordinateNode_V1_TypeToTag[NodeType]; case NDT_SFTextureTransformNode: if (NodeType >= SFTextureTransformNode_V1_Count) return 0; return SFTextureTransformNode_V1_TypeToTag[NodeType]; case NDT_SFViewpointNode: if (NodeType >= SFViewpointNode_V1_Count) return 0; return SFViewpointNode_V1_TypeToTag[NodeType]; case NDT_SFVisemeNode: if (NodeType >= SFVisemeNode_V1_Count) return 0; return SFVisemeNode_V1_TypeToTag[NodeType]; default: return 0; }}u32 NDT_V1_GetNumBits(u32 NDT_Tag){ switch (NDT_Tag) { case NDT_SFWorldNode: return SFWorldNode_V1_NUMBITS; case NDT_SF3DNode: return SF3DNode_V1_NUMBITS; case NDT_SF2DNode: return SF2DNode_V1_NUMBITS; case NDT_SFStreamingNode: return SFStreamingNode_V1_NUMBITS; case NDT_SFAppearanceNode: return SFAppearanceNode_V1_NUMBITS; case NDT_SFAudioNode: return SFAudioNode_V1_NUMBITS; case NDT_SFBackground3DNode: return SFBackground3DNode_V1_NUMBITS; case NDT_SFBackground2DNode: return SFBackground2DNode_V1_NUMBITS; case NDT_SFGeometryNode: return SFGeometryNode_V1_NUMBITS; case NDT_SFColorNode: return SFColorNode_V1_NUMBITS; case NDT_SFTextureNode: return SFTextureNode_V1_NUMBITS; case NDT_SFCoordinateNode: return SFCoordinateNode_V1_NUMBITS; case NDT_SFCoordinate2DNode: return SFCoordinate2DNode_V1_NUMBITS; case NDT_SFExpressionNode: return SFExpressionNode_V1_NUMBITS; case NDT_SFFaceDefMeshNode: return SFFaceDefMeshNode_V1_NUMBITS; case NDT_SFFaceDefTablesNode: return SFFaceDefTablesNode_V1_NUMBITS; case NDT_SFFaceDefTransformNode: return SFFaceDefTransformNode_V1_NUMBITS; case NDT_SFFAPNode: return SFFAPNode_V1_NUMBITS; case NDT_SFFDPNode: return SFFDPNode_V1_NUMBITS; case NDT_SFFITNode: return SFFITNode_V1_NUMBITS; case NDT_SFFogNode: return SFFogNode_V1_NUMBITS; case NDT_SFFontStyleNode: return SFFontStyleNode_V1_NUMBITS; case NDT_SFTopNode: return SFTopNode_V1_NUMBITS; case NDT_SFLinePropertiesNode: return SFLinePropertiesNode_V1_NUMBITS; case NDT_SFMaterialNode: return SFMaterialNode_V1_NUMBITS; case NDT_SFNavigationInfoNode: return SFNavigationInfoNode_V1_NUMBITS; case NDT_SFNormalNode: return SFNormalNode_V1_NUMBITS; case NDT_SFTextureCoordinateNode: return SFTextureCoordinateNode_V1_NUMBITS; case NDT_SFTextureTransformNode: return SFTextureTransformNode_V1_NUMBITS; case NDT_SFViewpointNode: return SFViewpointNode_V1_NUMBITS; case NDT_SFVisemeNode: return SFVisemeNode_V1_NUMBITS; default: return 0; }}u32 NDT_V1_GetNodeType(u32 NDT_Tag, u32 NodeTag){ if(!NDT_Tag || !NodeTag) return 0; switch(NDT_Tag) { case NDT_SFWorldNode: return ALL_GetNodeType(SFWorldNode_V1_TypeToTag, SFWorldNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SF3DNode: return ALL_GetNodeType(SF3DNode_V1_TypeToTag, SF3DNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SF2DNode: return ALL_GetNodeType(SF2DNode_V1_TypeToTag, SF2DNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFStreamingNode: return ALL_GetNodeType(SFStreamingNode_V1_TypeToTag, SFStreamingNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFAppearanceNode: return ALL_GetNodeType(SFAppearanceNode_V1_TypeToTag, SFAppearanceNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFAudioNode: return ALL_GetNodeType(SFAudioNode_V1_TypeToTag, SFAudioNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFBackground3DNode: return ALL_GetNodeType(SFBackground3DNode_V1_TypeToTag, SFBackground3DNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFBackground2DNode: return ALL_GetNodeType(SFBackground2DNode_V1_TypeToTag, SFBackground2DNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFGeometryNode: return ALL_GetNodeType(SFGeometryNode_V1_TypeToTag, SFGeometryNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFColorNode: return ALL_GetNodeType(SFColorNode_V1_TypeToTag, SFColorNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFTextureNode: return ALL_GetNodeType(SFTextureNode_V1_TypeToTag, SFTextureNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFCoordinateNode: return ALL_GetNodeType(SFCoordinateNode_V1_TypeToTag, SFCoordinateNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFCoordinate2DNode: return ALL_GetNodeType(SFCoordinate2DNode_V1_TypeToTag, SFCoordinate2DNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFExpressionNode: return ALL_GetNodeType(SFExpressionNode_V1_TypeToTag, SFExpressionNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFFaceDefMeshNode: return ALL_GetNodeType(SFFaceDefMeshNode_V1_TypeToTag, SFFaceDefMeshNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFFaceDefTablesNode: return ALL_GetNodeType(SFFaceDefTablesNode_V1_TypeToTag, SFFaceDefTablesNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFFaceDefTransformNode: return ALL_GetNodeType(SFFaceDefTransformNode_V1_TypeToTag, SFFaceDefTransformNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFFAPNode: return ALL_GetNodeType(SFFAPNode_V1_TypeToTag, SFFAPNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFFDPNode: return ALL_GetNodeType(SFFDPNode_V1_TypeToTag, SFFDPNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFFITNode: return ALL_GetNodeType(SFFITNode_V1_TypeToTag, SFFITNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFFogNode: return ALL_GetNodeType(SFFogNode_V1_TypeToTag, SFFogNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFFontStyleNode: return ALL_GetNodeType(SFFontStyleNode_V1_TypeToTag, SFFontStyleNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFTopNode: return ALL_GetNodeType(SFTopNode_V1_TypeToTag, SFTopNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFLinePropertiesNode: return ALL_GetNodeType(SFLinePropertiesNode_V1_TypeToTag, SFLinePropertiesNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFMaterialNode: return ALL_GetNodeType(SFMaterialNode_V1_TypeToTag, SFMaterialNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFNavigationInfoNode: return ALL_GetNodeType(SFNavigationInfoNode_V1_TypeToTag, SFNavigationInfoNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFNormalNode: return ALL_GetNodeType(SFNormalNode_V1_TypeToTag, SFNormalNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFTextureCoordinateNode: return ALL_GetNodeType(SFTextureCoordinateNode_V1_TypeToTag, SFTextureCoordinateNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFTextureTransformNode: return ALL_GetNodeType(SFTextureTransformNode_V1_TypeToTag, SFTextureTransformNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFViewpointNode: return ALL_GetNodeType(SFViewpointNode_V1_TypeToTag, SFViewpointNode_V1_Count, NodeTag, GF_BIFS_V1); case NDT_SFVisemeNode: return ALL_GetNodeType(SFVisemeNode_V1_TypeToTag, SFVisemeNode_V1_Count, NodeTag, GF_BIFS_V1); default: return 0; }}u32 NDT_V2_GetNodeTag(u32 Context_NDT_Tag, u32 NodeType){ if (!NodeType) return 0; /* adjust according to the table version */ /* v2: 0 reserved for extensions, 1 reserved for protos */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -