📄 ifowriter.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_IFOWRITER_H#define DXR3PLAYER_IFODUMP_IFOWRITER_H//------------------------------------------------------------------------------#include "Writer.h"//------------------------------------------------------------------------------namespace ifodump {//------------------------------------------------------------------------------/** * The main class used to dump IFO structures. */class IFOWriter : public Writer<IFOWriter>{private: /** * Write out an 8-bit unsigned value. */ void write(uint8_t x); /** * Write out a 16-bit unsigned value. */ void write(uint16_t x); /** * Write out a 32-bit unsigned value. */ void write(uint32_t x); /** * Write out a 64-bit unsigned value. */ void write(uint64_t x); /** * Write out an array of bytes. */ void write(const void* buffer, size_t length); /** * Write a VM command. */ void write(const vm_cmd_t& cmd); /** * Write a user operations structure. */ void write(const user_ops_t& userOperations); /** * Write a DVD time structure. */ void write(const dvd_time_t& t); /** * Write a video attribute structure */ void write(const video_attr_t& attr); /** * Write an audio attribute structure */ void write(const audio_attr_t& attr); /** * Write a subpicture attribute structure */ void write(const subp_attr_t& attr); /** * Write a PGC command table */ void write(const pgc_command_tbl_t& commandTable); /** * Write a cell playback information */ void write(const cell_playback_t& cellPlayback); /** * Write a cell position information structure. */ void write(const cell_position_t& cellPosition); /** * Write a PGC structure. */ void write(const pgc_t& pgc); /** * Write a Program Chain Information Search Pointer. */ void write(const pgci_srp_t& pgciSRP); /** * Write a Program Chain Information Table. */ void write(const pgcit_t& pgci); /** * Write a menu PGCI language unit */ void write(const pgci_lu_t& pgciLanguageUnit); /** * Write a menu PGCI unit table */ void write(const pgci_ut_t& pgciUnitTable); /** * Write a cell address information structure */ void write(const cell_adr_t& cellAddress); /** * Write a cell address table. */ void write(const c_adt_t& cellAddressTable); /** * Write a VOBU address map. */ void write(const vobu_admap_t& vobuAddressMap); /** * Write a VMGI Management Table */ void write(const vmgi_mat_t& vmgiMat); /** * Write a playback type. */ void write(const playback_type_t& playbackType); /** * Write a title information structure */ void write(const title_info_t& titleInfo); /** * Write a part-of-title search pointer table */ void write(const tt_srpt_t& potSPT); /** * Write a parental management information unit */ void write(const ptl_mait_country_t& ptlMgmtUnit); /** * Write a parental management information table. */ void write(const ptl_mait_t& ptlMgmtTable); /** * Write a video title set attributes structure. */ void write(const vts_attributes_t& vtsAttributes); /** * Write a video title set attribute table */ void write(const vts_atrt_t& vtsAttributeTable); /** * Write text data. */ void write(const txtdt_t& textData); /** * Write a text data language unit */ void write(const txtdt_lu_t& textDataUnit); /** * Write a text data manager information. */ void write(const txtdt_mgi_t& textDataMGI); /** * Write a VTS info management table */ void write(const vtsi_mat_t& vtsiMAT); /** * Write a part-of-title unit information structure. */ void write(const ptt_info_t& pttInfo); /** * Write a part-of-title information structure. */ void write(const ttu_t& ttu); /** * Write a part-of-title search pointer table */ void write(const vts_ptt_srpt_t& pttSPT); /** * Write the common part of an IFO */ void writeCommon(const ifo_handle_t* ifoHandle);public: /** * Construct an IFO write with the given FILE. */ IFOWriter(FILE* f); /** * Write a VMG. */ void writeVMG(const ifo_handle_t* ifoHandle); /** * Write a VTS. */ void writeVTS(const ifo_handle_t* ifoHandle); friend class Writer<IFOWriter>;};//------------------------------------------------------------------------------} /* namespace ifodump *///------------------------------------------------------------------------------#endif // DXR3PLAYER_IFODUMP_IFOWRITER_H// Local variables:// mode: c++// End:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -