📄 iforeader.h
字号:
//// Copyright (c) 2003 by Istv醤 V醨adi//// This file is part of dxr3Player, a DVD player written specifically // for the DXR3 (aka Hollywood+) decoder card.// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// This program 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 General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA#ifndef DXR3PLAYER_IFODUMP_IFOREADER_H#define DXR3PLAYER_IFODUMP_IFOREADER_H//------------------------------------------------------------------------------#include "Reader.h"extern "C" {#include <libmpdvdkit/ifo_types.h>} //------------------------------------------------------------------------------namespace ifodump {//------------------------------------------------------------------------------/** * The main class used to read dumped IFO structures. */class IFOReader : public Reader<IFOReader>{private: /** * Read an 8-bit unsigned value. */ void read(uint8_t& x); /** * Read a 16-bit unsigned value. */ void read(uint16_t& x); /** * Read a 32-bit unsigned value. */ void read(uint32_t& x); /** * Read a 64-bit unsigned value. */ void read(uint64_t& x); /** * Read an array of bytes. */ void read(void* buffer, size_t length); /** * Read a VM command. */ void read(vm_cmd_t& cmd); /** * Read a user operations structure. */ void read(user_ops_t& userOperations); /** * Read a DVD time structure. */ void read(dvd_time_t& t); /** * Read a video attribute structure */ void read(video_attr_t& attr); /** * Read an audio attribute structure */ void read(audio_attr_t& attr); /** * Read a subpicture attribute structure */ void read(subp_attr_t& attr); /** * Read a PGC command table. */ void read(pgc_command_tbl_t& commandTable); /** * Read cell playback information structure. */ void read(cell_playback_t& cellPlayback); /** * Read cell position information structure. */ void read(cell_position_t& cellPosition); /** * Read a PGC structure. */ void read(pgc_t& pgc); /** * Read a Program Chain Information Search Pointer. */ void read(pgci_srp_t& pgciSRP); /** * Read a PGCI */ void read(pgcit_t& pgci); /** * Read a PGCI language unit. */ void read(pgci_lu_t& pgciLanguageUnit); /** * Read a PGCI unit table. */ void read(pgci_ut_t& pgciUnitTable); /** * Read a cell address structure */ void read(cell_adr_t& cellAddress); /** * Read a cell address table. */ void read(c_adt_t& cellAddressTable); /** * Read a VOBU address map. */ void read(vobu_admap_t& vobuAddressMap); /** * Read a VMGI Management table. */ void read(vmgi_mat_t& vmgiMat); /** * Read a playback type. */ void read(playback_type_t& playbackType); /** * Read a title information structure. */ void read(title_info_t& titleInfo); /** * Read a part-of-title search pointer table */ void read(tt_srpt_t& potSPT); /** * Read a parental management information unit */ void read(ptl_mait_country_t& ptlMgmtUnit); /** * Read a parental management information table. */ void read(ptl_mait_t& ptlMgmtTable); /** * Read a VTS attributes structure. */ void read(vts_attributes_t& vtsAttributes); /** * Read a VTS attributes table. */ void read(vts_atrt_t& vtsAttributeTable); /** * Read text data. */ void read(txtdt_t& textData); /** * Read a text data language unit. */ void read(txtdt_lu_t& textDataUnit); /** * Read a text data management information. */ void read(txtdt_mgi_t& textDataMGI); /** * Read the VTS information management table. */ void read(vtsi_mat_t& vtsiMAT); /** * Read a part-of-title unit information structure. */ void read(ptt_info_t& pttInfo); /** * Read a part-of-title information structure. */ void read(ttu_t& ttu); /** * Read a part-of-title search pointer table */ void read(vts_ptt_srpt_t& pttSPT); /** * Read the common part of an IFO. */ void readCommon(ifo_handle_t* ifoHandle);public: /** * Construct the reader. */ IFOReader(FILE* f, bool versioned); /** * Read a VMG. */ void readVMG(ifo_handle_t* ifoHandle); /** * Read a VTS. */ void readVTS(ifo_handle_t* ifoHandle); friend class Reader<IFOReader>;};//------------------------------------------------------------------------------} /* namespace ifodump *///------------------------------------------------------------------------------#endif // DXR3PLAYER_IFODUMP_IFOREADER_H// Local variables:// mode: c++// End:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -