bitreader.h | bitreader.h | |||
---|---|---|---|---|
#ifndef BITREADER_H_INCLUDED | ||||
#define BITREADER_H_INCLUDED | ||||
/* | /* | |||
* Copyright (C) 2000, 2001, 2002 H | * Copyright (C) 2000, 2001, 2002 Håkan Hjort <d95hjort@dtek.chalmers.se>. | |||
* | ||||
* This file is part of libdvdread. | ||||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * libdvdread is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * libdvdread is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU General Public License for more details. | * GNU General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License along | |||
* along with this program; if not, write to the Free Software | * with libdvdread; if not, write to the Free Software Foundation, Inc., | |||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |||
A | ||||
*/ | */ | |||
#ifndef LIBDVDREAD_BITREADER_H | ||||
#define LIBDVDREAD_BITREADER_H | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
typedef struct { | typedef struct { | |||
uint8_t *start; | uint8_t *start; | |||
uint32_t byte_position; | uint32_t byte_position; | |||
uint32_t bit_position; | uint32_t bit_position; | |||
uint8_t byte; | uint8_t byte; | |||
} getbits_state_t; | } getbits_state_t; | |||
int dvdread_getbits_init(getbits_state_t *state, uint8_t *start); | int dvdread_getbits_init(getbits_state_t *state, uint8_t *start); | |||
uint32_t dvdread_getbits(getbits_state_t *state, uint32_t number_of_bits); | uint32_t dvdread_getbits(getbits_state_t *state, uint32_t number_of_bits); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
}; | }; | |||
#endif | #endif | |||
#endif /* BITREADER_H_INCLUDED */ | #endif /* LIBDVDREAD_BITREADER_H */ | |||
End of changes. 7 change blocks. | ||||
10 lines changed or deleted | 11 lines changed or added | |||
dvd_reader.h | dvd_reader.h | |||
---|---|---|---|---|
#ifndef DVD_READER_H_INCLUDED | ||||
#define DVD_READER_H_INCLUDED | ||||
/* | /* | |||
* Copyright (C) 2001, 2002 Billy Biggs <vektor@dumbterm.net>, | * Copyright (C) 2001, 2002 Billy Biggs <vektor@dumbterm.net>, | |||
* H | * Håkan Hjort <d95hjort@dtek.chalmers.se>, | |||
* Bj | * Björn Englund <d4bjorn@dtek.chalmers.se> | |||
* | ||||
* This file is part of libdvdread. | ||||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * libdvdread is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * 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 | * the Free Software Foundation; either version 2 of the License, or | |||
* your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, but | * libdvdread is distributed in the hope that it will be useful, | |||
* WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* General Public License for more details. | * GNU General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License along | |||
* along with this program; if not, write to the Free Software | * with libdvdread; if not, write to the Free Software Foundation, Inc., | |||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |||
A | ||||
*/ | */ | |||
#ifndef LIBDVDREAD_DVD_READER_H | ||||
#define LIBDVDREAD_DVD_READER_H | ||||
#ifdef _MSC_VER | #ifdef _MSC_VER | |||
#include <config.h> | #include <config.h> | |||
#include <stdio.h> | #include <stdio.h> | |||
#include <stdlib.h> | #include <stdlib.h> | |||
#endif | #endif | |||
#include <sys/types.h> | #include <sys/types.h> | |||
#include <inttypes.h> | #include <inttypes.h> | |||
skipping to change at line 71 | skipping to change at line 73 | |||
* Opaque type that is used as a handle for one instance of an opened DVD. | * Opaque type that is used as a handle for one instance of an opened DVD. | |||
*/ | */ | |||
typedef struct dvd_reader_s dvd_reader_t; | typedef struct dvd_reader_s dvd_reader_t; | |||
/** | /** | |||
* Opaque type for a file read handle, much like a normal fd or FILE *. | * Opaque type for a file read handle, much like a normal fd or FILE *. | |||
*/ | */ | |||
typedef struct dvd_file_s dvd_file_t; | typedef struct dvd_file_s dvd_file_t; | |||
/** | /** | |||
* Public type that is used to provide statistics on a handle. | ||||
*/ | ||||
typedef struct { | ||||
off_t size; /**< Total size of file in bytes */ | ||||
int nr_parts; /**< Number of file parts */ | ||||
off_t parts_size[9]; /**< Size of each part in bytes */ | ||||
} dvd_stat_t; | ||||
/** | ||||
* Opens a block device of a DVD-ROM file, or an image file, or a directory | * Opens a block device of a DVD-ROM file, or an image file, or a directory | |||
* name for a mounted DVD or HD copy of a DVD. | * name for a mounted DVD or HD copy of a DVD. | |||
* | * | |||
* If the given file is a block device, or is the mountpoint for a block | * If the given file is a block device, or is the mountpoint for a block | |||
* device, then that device is used for CSS authentication using libdvdcss. | * device, then that device is used for CSS authentication using libdvdcss. | |||
* If no device is available, then no CSS authentication is performed, | * If no device is available, then no CSS authentication is performed, | |||
* and we hope that the image is decrypted. | * and we hope that the image is decrypted. | |||
* | * | |||
* If the path given is a directory, then the files in that directory may b e | * If the path given is a directory, then the files in that directory may b e | |||
* in any one of these formats: | * in any one of these formats: | |||
skipping to change at line 113 | skipping to change at line 124 | |||
void DVDClose( dvd_reader_t * ); | void DVDClose( dvd_reader_t * ); | |||
/** | /** | |||
* | * | |||
*/ | */ | |||
typedef enum { | typedef enum { | |||
DVD_READ_INFO_FILE, /**< VIDEO_TS.IFO or VTS_XX_0.IFO (title) */ | DVD_READ_INFO_FILE, /**< VIDEO_TS.IFO or VTS_XX_0.IFO (title) */ | |||
DVD_READ_INFO_BACKUP_FILE, /**< VIDEO_TS.BUP or VTS_XX_0.BUP (title) */ | DVD_READ_INFO_BACKUP_FILE, /**< VIDEO_TS.BUP or VTS_XX_0.BUP (title) */ | |||
DVD_READ_MENU_VOBS, /**< VIDEO_TS.VOB or VTS_XX_0.VOB (title) */ | DVD_READ_MENU_VOBS, /**< VIDEO_TS.VOB or VTS_XX_0.VOB (title) */ | |||
DVD_READ_TITLE_VOBS /**< VTS_XX_[1-9].VOB (title). All files in | DVD_READ_TITLE_VOBS /**< VTS_XX_[1-9].VOB (title). All files in | |||
the title set are opened and read as a | the title set are opened and read as a | |||
single file. */ | single file. */ | |||
} dvd_read_domain_t; | } dvd_read_domain_t; | |||
/** | /** | |||
* Stats a file on the DVD given the title number and domain. | ||||
* The information about the file is stored in a dvd_stat_t | ||||
* which contains information about the size of the file and | ||||
* the number of parts in case of a multipart file and the respective | ||||
* sizes of the parts. | ||||
* A multipart file is for instance VTS_02_1.VOB, VTS_02_2.VOB, VTS_02_3.VO | ||||
B | ||||
* The size of VTS_02_1.VOB will be stored in stat->parts_size[0], | ||||
* VTS_02_2.VOB in stat->parts_size[1], ... | ||||
* The total size (sum of all parts) is stored in stat->size and | ||||
* stat->nr_parts will hold the number of parts. | ||||
* Only DVD_READ_TITLE_VOBS (VTS_??_[1-9].VOB) can be multipart files. | ||||
* | ||||
* This function is only of use if you want to get the size of each file | ||||
* in the filesystem. These sizes are not needed to use any other | ||||
* functions in libdvdread. | ||||
* | ||||
* @param dvd A dvd read handle. | ||||
* @param titlenum Which Video Title Set should be used, VIDEO_TS is 0. | ||||
* @param domain Which domain. | ||||
* @param stat Pointer to where the result is stored. | ||||
* @return If successful 0, otherwise -1. | ||||
* | ||||
* int DVDFileStat(dvd, titlenum, domain, stat); | ||||
*/ | ||||
int DVDFileStat(dvd_reader_t *, int, dvd_read_domain_t, dvd_stat_t *); | ||||
/** | ||||
* Opens a file on the DVD given the title number and domain. | * Opens a file on the DVD given the title number and domain. | |||
* | * | |||
* If the title number is 0, the video manager information is opened | * If the title number is 0, the video manager information is opened | |||
* (VIDEO_TS.[IFO,BUP,VOB]). Returns a file structure which may be | * (VIDEO_TS.[IFO,BUP,VOB]). Returns a file structure which may be | |||
* used for reads, or 0 if the file was not found. | * used for reads, or 0 if the file was not found. | |||
* | * | |||
* @param dvd A dvd read handle. | * @param dvd A dvd read handle. | |||
* @param titlenum Which Video Title Set should be used, VIDEO_TS is 0. | * @param titlenum Which Video Title Set should be used, VIDEO_TS is 0. | |||
* @param domain Which domain. | * @param domain Which domain. | |||
* @return If successful a a file read handle is returned, otherwise 0. | * @return If successful a a file read handle is returned, otherwise 0. | |||
skipping to change at line 230 | skipping to change at line 268 | |||
* If the VolumeIdentifier is truncated because of this | * If the VolumeIdentifier is truncated because of this | |||
* it will still be null terminated. | * it will still be null terminated. | |||
* @param volsetid The buffer to put the VolumeSetIdentifier into. | * @param volsetid The buffer to put the VolumeSetIdentifier into. | |||
* The VolumeIdentifier is 128 bytes as | * The VolumeIdentifier is 128 bytes as | |||
* stored in the UDF PrimaryVolumeDescriptor. | * stored in the UDF PrimaryVolumeDescriptor. | |||
* Note that this is not a null terminated string. | * Note that this is not a null terminated string. | |||
* @param volsetid_size At most volsetid_size bytes will be copied to volse tid. | * @param volsetid_size At most volsetid_size bytes will be copied to volse tid. | |||
* @return 0 on success, -1 on error. | * @return 0 on success, -1 on error. | |||
*/ | */ | |||
int DVDUDFVolumeInfo( dvd_reader_t *, char *, unsigned int, | int DVDUDFVolumeInfo( dvd_reader_t *, char *, unsigned int, | |||
unsigned char *, unsigned int ); | unsigned char *, unsigned int ); | |||
int DVDFileSeekForce( dvd_file_t *, int offset, int force_size); | int DVDFileSeekForce( dvd_file_t *, int offset, int force_size); | |||
/** | /** | |||
* Get the ISO9660 VolumeIdentifier and VolumeSetIdentifier | * Get the ISO9660 VolumeIdentifier and VolumeSetIdentifier | |||
* | * | |||
* * Only use this function as fallback if DVDUDFVolumeInfo returns 0 * | * * Only use this function as fallback if DVDUDFVolumeInfo returns 0 * | |||
* * this will happen on a disc mastered only with a iso9660 filesystem * | * * this will happen on a disc mastered only with a iso9660 filesystem * | |||
* * All video DVD discs have UDF filesystem * | * * All video DVD discs have UDF filesystem * | |||
* | * | |||
skipping to change at line 256 | skipping to change at line 294 | |||
* If the VolumeIdentifier is truncated because of this | * If the VolumeIdentifier is truncated because of this | |||
* it will still be null terminated. | * it will still be null terminated. | |||
* @param volsetid The buffer to put the VolumeSetIdentifier into. | * @param volsetid The buffer to put the VolumeSetIdentifier into. | |||
* The VolumeIdentifier is 128 bytes as | * The VolumeIdentifier is 128 bytes as | |||
* stored in the ISO9660 PrimaryVolumeDescriptor. | * stored in the ISO9660 PrimaryVolumeDescriptor. | |||
* Note that this is not a null terminated string. | * Note that this is not a null terminated string. | |||
* @param volsetid_size At most volsetid_size bytes will be copied to volse tid. | * @param volsetid_size At most volsetid_size bytes will be copied to volse tid. | |||
* @return 0 on success, -1 on error. | * @return 0 on success, -1 on error. | |||
*/ | */ | |||
int DVDISOVolumeInfo( dvd_reader_t *, char *, unsigned int, | int DVDISOVolumeInfo( dvd_reader_t *, char *, unsigned int, | |||
unsigned char *, unsigned int ); | unsigned char *, unsigned int ); | |||
/** | /** | |||
* Sets the level of caching that is done when reading from a device | * Sets the level of caching that is done when reading from a device | |||
* | * | |||
* @param dvd A read handle to get the disc ID from | * @param dvd A read handle to get the disc ID from | |||
* @param level The level of caching wanted. | * @param level The level of caching wanted. | |||
* -1 - returns the current setting. | * -1 - returns the current setting. | |||
* 0 - UDF Cache turned off. | * 0 - UDF Cache turned off. | |||
* 1 - (default level) Pointers to IFO files and some data fro m | * 1 - (default level) Pointers to IFO files and some data fro m | |||
* PrimaryVolumeDescriptor are cached. | * PrimaryVolumeDescriptor are cached. | |||
* | * | |||
* @return The level of caching. | * @return The level of caching. | |||
*/ | */ | |||
int DVDUDFCacheLevel( dvd_reader_t *, int ); | int DVDUDFCacheLevel( dvd_reader_t *, int ); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
}; | }; | |||
#endif | #endif | |||
#endif /* DVD_READER_H_INCLUDED */ | #endif /* LIBDVDREAD_DVD_READER_H */ | |||
End of changes. 12 change blocks. | ||||
21 lines changed or deleted | 59 lines changed or added | |||
dvd_udf.h | dvd_udf.h | |||
---|---|---|---|---|
#ifndef DVD_UDF_H_INCLUDED | ||||
#define DVD_UDF_H_INCLUDED | ||||
/* | /* | |||
* This code is based on dvdudf by: | * This code is based on dvdudf by: | |||
* Christian Wolff <scarabaeus@convergence.de>. | * Christian Wolff <scarabaeus@convergence.de>. | |||
* | * | |||
* Modifications by: | * Modifications by: | |||
* Billy Biggs <vektor@dumbterm.net>. | * Billy Biggs <vektor@dumbterm.net>. | |||
* Bj | * Björn Englund <d4bjorn@dtek.chalmers.se>. | |||
* | * | |||
* dvdudf: parse and read the UDF volume information of a DVD Video | * dvdudf: parse and read the UDF volume information of a DVD Video | |||
* Copyright (C) 1999 Christian Wolff for convergence integrated media | * Copyright (C) 1999 Christian Wolff for convergence integrated media | |||
* GmbH The author can be reached at scarabaeus@convergence.de, the | * GmbH The author can be reached at scarabaeus@convergence.de, the | |||
* project's page is at http://linuxtv.org/dvd/ | * project's page is at http://linuxtv.org/dvd/ | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This file is part of libdvdread. | |||
* | ||||
* libdvdread is free software; you can redistribute it and/or modify | ||||
* it under the terms of the GNU General Public License as published by | * 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 | * the Free Software Foundation; either version 2 of the License, or | |||
* your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, but | * libdvdread is distributed in the hope that it will be useful, | |||
* WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* General Public License for more details. | * GNU General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License along | |||
* along with this program; if not, write to the Free Software | * with libdvdread; if not, write to the Free Software Foundation, Inc., | |||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |||
* 02111-1307, USA. Or, point your browser to | ||||
* http://www.gnu.org/copyleft/gpl.html | ||||
*/ | */ | |||
#ifndef LIBDVDREAD_DVD_UDF_H | ||||
#define LIBDVDREAD_DVD_UDF_H | ||||
#include <inttypes.h> | #include <inttypes.h> | |||
#include "dvd_reader.h" | #include "dvdread/dvd_reader.h" | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/** | /** | |||
* Looks for a file on the UDF disc/imagefile and returns the block number | * Looks for a file on the UDF disc/imagefile and returns the block number | |||
* where it begins, or 0 if it is not found. The filename should be an | * where it begins, or 0 if it is not found. The filename should be an | |||
* absolute pathname on the UDF filesystem, starting with '/'. For example , | * absolute pathname on the UDF filesystem, starting with '/'. For example , | |||
* '/VIDEO_TS/VTS_01_1.IFO'. On success, filesize will be set to the size of | * '/VIDEO_TS/VTS_01_1.IFO'. On success, filesize will be set to the size of | |||
* the file in bytes. | * the file in bytes. | |||
*/ | */ | |||
uint32_t UDFFindFile( dvd_reader_t *device, char *filename, uint32_t *size ); | uint32_t UDFFindFile( dvd_reader_t *device, char *filename, uint32_t *size ); | |||
void FreeUDFCache(void *cache); | void FreeUDFCache(void *cache); | |||
int UDFGetVolumeIdentifier(dvd_reader_t *device, | int UDFGetVolumeIdentifier(dvd_reader_t *device, | |||
char *volid, unsigned int volid_size); | char *volid, unsigned int volid_size); | |||
int UDFGetVolumeSetIdentifier(dvd_reader_t *device, | int UDFGetVolumeSetIdentifier(dvd_reader_t *device, | |||
uint8_t *volsetid, unsigned int volsetid_size) ; | uint8_t *volsetid, unsigned int volsetid_size ); | |||
void *GetUDFCacheHandle(dvd_reader_t *device); | void *GetUDFCacheHandle(dvd_reader_t *device); | |||
void SetUDFCacheHandle(dvd_reader_t *device, void *cache); | void SetUDFCacheHandle(dvd_reader_t *device, void *cache); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
}; | }; | |||
#endif | #endif | |||
#endif /* DVD_UDF_H_INCLUDED */ | #endif /* LIBDVDREAD_DVD_UDF_H */ | |||
End of changes. 10 change blocks. | ||||
20 lines changed or deleted | 20 lines changed or added | |||
ifo_print.h | ifo_print.h | |||
---|---|---|---|---|
/* | /* | |||
* This program is free software; you can redistribute it and/or modify | * This file is part of libdvdread. | |||
* | ||||
* libdvdread is free software; you can redistribute it and/or modify | ||||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * libdvdread is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU General Public License for more details. | * GNU General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License along | |||
* along with this program; if not, write to the Free Software | * with libdvdread; if not, write to the Free Software Foundation, Inc., | |||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, U | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |||
SA | ||||
* | ||||
* $Id: ifo_print.h 1135 2008-09-06 21:55:51Z rathann $ | ||||
* | ||||
*/ | */ | |||
#ifndef IFO_PRINT_H_INCLUDED | #ifndef LIBDVDREAD_IFO_PRINT_H | |||
#define IFO_PRINT_H_INCLUDED | #define LIBDVDREAD_IFO_PRINT_H | |||
#include <inttypes.h> | #include <inttypes.h> | |||
#include "ifo_types.h" | #include "ifo_types.h" | |||
void ifo_print(dvd_reader_t *dvd, int title); | void ifo_print(dvd_reader_t *dvd, int title); | |||
void dvdread_print_time(dvd_time_t *dtime); | void dvdread_print_time(dvd_time_t *dtime); | |||
#endif /* IFO_PRINT_H_INCLUDED */ | #endif /* LIBDVDREAD_IFO_PRINT_H */ | |||
/* | ||||
* $Log$ | ||||
* Revision 1.1 2004/01/11 21:43:13 mroi | ||||
* big build system changes | ||||
* * cleaned up all Makefiles and added a Makefile.common | ||||
* * added relchk script | ||||
* * moved libdvdread files to a dvdread subdir | ||||
* * moved DVD VM to a vm subdir | ||||
* * removed unused code in read_cache.c | ||||
* | ||||
* Revision 1.4 2004/01/01 15:13:13 jcdutton | ||||
* Put ifo_print.c and .h back in. | ||||
* | ||||
* Revision 1.2 2003/04/28 15:17:17 jcdutton | ||||
* Update ifodump to work with new libdvdnav cvs, instead of needing libdvd | ||||
read. | ||||
* | ||||
* Revision 1.1.1.1 2002/08/28 09:48:35 jcdutton | ||||
* Initial import into CVS. | ||||
* | ||||
* | ||||
* | ||||
*/ | ||||
End of changes. 5 change blocks. | ||||
11 lines changed or deleted | 9 lines changed or added | |||
ifo_read.h | ifo_read.h | |||
---|---|---|---|---|
#ifndef IFO_READ_H_INCLUDED | ||||
#define IFO_READ_H_INCLUDED | ||||
/* | /* | |||
* Copyright (C) 2000, 2001, 2002 Bj | * Copyright (C) 2000, 2001, 2002 Björn Englund <d4bjorn@dtek.chalmers.se>, | |||
* H | * Håkan Hjort <d95hjort@dtek.chalmers.se> | |||
* | ||||
* This file is part of libdvdread. | ||||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * libdvdread is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * libdvdread is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU General Public License for more details. | * GNU General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License along | |||
* along with this program; if not, write to the Free Software | * with libdvdread; if not, write to the Free Software Foundation, Inc., | |||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |||
A | ||||
*/ | */ | |||
#ifndef LIBDVDREAD_IFO_READ_H | ||||
#define LIBDVDREAD_IFO_READ_H | ||||
#include "ifo_types.h" | #include "ifo_types.h" | |||
#include "dvd_reader.h" | #include "dvdread/dvd_reader.h" | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/** | /** | |||
* handle = ifoOpen(dvd, title); | * handle = ifoOpen(dvd, title); | |||
* | * | |||
* Opens an IFO and reads in all the data for the IFO file corresponding to the | * Opens an IFO and reads in all the data for the IFO file corresponding to the | |||
* given title. If title 0 is given, the video manager IFO file is read. | * given title. If title 0 is given, the video manager IFO file is read. | |||
skipping to change at line 227 | skipping to change at line 229 | |||
void ifoFree_VTS_TMAPT(ifo_handle_t *); | void ifoFree_VTS_TMAPT(ifo_handle_t *); | |||
void ifoFree_C_ADT(ifo_handle_t *); | void ifoFree_C_ADT(ifo_handle_t *); | |||
void ifoFree_TITLE_C_ADT(ifo_handle_t *); | void ifoFree_TITLE_C_ADT(ifo_handle_t *); | |||
void ifoFree_VOBU_ADMAP(ifo_handle_t *); | void ifoFree_VOBU_ADMAP(ifo_handle_t *); | |||
void ifoFree_TITLE_VOBU_ADMAP(ifo_handle_t *); | void ifoFree_TITLE_VOBU_ADMAP(ifo_handle_t *); | |||
void ifoFree_TXTDT_MGI(ifo_handle_t *); | void ifoFree_TXTDT_MGI(ifo_handle_t *); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
}; | }; | |||
#endif | #endif | |||
#endif /* IFO_READ_H_INCLUDED */ | #endif /* LIBDVDREAD_IFO_READ_H */ | |||
End of changes. 8 change blocks. | ||||
12 lines changed or deleted | 13 lines changed or added | |||
ifo_types.h | ifo_types.h | |||
---|---|---|---|---|
#ifndef IFO_TYPES_H_INCLUDED | ||||
#define IFO_TYPES_H_INCLUDED | ||||
/* | /* | |||
* Copyright (C) 2000, 2001 Bj | * Copyright (C) 2000, 2001 Björn Englund <d4bjorn@dtek.chalmers.se>, | |||
* H | * Håkan Hjort <d95hjort@dtek.chalmers.se> | |||
* | ||||
* This file is part of libdvdread. | ||||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * libdvdread is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * libdvdread is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU General Public License for more details. | * GNU General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License along | |||
* along with this program; if not, write to the Free Software | * with libdvdread; if not, write to the Free Software Foundation, Inc., | |||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |||
A | ||||
*/ | */ | |||
#ifndef LIBDVDREAD_IFO_TYPES_H | ||||
#define LIBDVDREAD_IFO_TYPES_H | ||||
#include <inttypes.h> | #include <inttypes.h> | |||
#include "dvd_reader.h" | #include "dvdread/dvd_reader.h" | |||
#undef ATTRIBUTE_PACKED | #undef ATTRIBUTE_PACKED | |||
#undef PRAGMA_PACK_BEGIN | #undef PRAGMA_PACK_BEGIN | |||
#undef PRAGMA_PACK_END | #undef PRAGMA_PACK_END | |||
#if defined(__GNUC__) | #if defined(__GNUC__) | |||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) | #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) | |||
#define ATTRIBUTE_PACKED __attribute__ ((packed)) | #define ATTRIBUTE_PACKED __attribute__ ((packed)) | |||
#define PRAGMA_PACK 0 | #define PRAGMA_PACK 0 | |||
#endif | #endif | |||
skipping to change at line 119 | skipping to change at line 121 | |||
unsigned char channel_assignment : 3; | unsigned char channel_assignment : 3; | |||
unsigned char version : 2; | unsigned char version : 2; | |||
unsigned char mc_intro : 1; /* probably 0: true, 1:false */ | unsigned char mc_intro : 1; /* probably 0: true, 1:false */ | |||
unsigned char mode : 1; /* Karaoke mode 0: solo 1: duet */ | unsigned char mode : 1; /* Karaoke mode 0: solo 1: duet */ | |||
} karaoke; | } karaoke; | |||
struct ATTRIBUTE_PACKED { | struct ATTRIBUTE_PACKED { | |||
unsigned char unknown5 : 4; | unsigned char unknown5 : 4; | |||
unsigned char dolby_encoded : 1; /* suitable for surround decodi ng */ | unsigned char dolby_encoded : 1; /* suitable for surround decodi ng */ | |||
unsigned char unknown6 : 3; | unsigned char unknown6 : 3; | |||
} surround; | } surround; | |||
} app_info; | } ATTRIBUTE_PACKED app_info; | |||
} ATTRIBUTE_PACKED audio_attr_t; | } ATTRIBUTE_PACKED audio_attr_t; | |||
/** | /** | |||
* MultiChannel Extension | * MultiChannel Extension | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
unsigned int zero1 : 7; | unsigned int zero1 : 7; | |||
unsigned int ach0_gme : 1; | unsigned int ach0_gme : 1; | |||
unsigned int zero2 : 7; | unsigned int zero2 : 7; | |||
skipping to change at line 204 | skipping to change at line 206 | |||
/** | /** | |||
* Cell Playback Information. | * Cell Playback Information. | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
unsigned int block_mode : 2; | unsigned int block_mode : 2; | |||
unsigned int block_type : 2; | unsigned int block_type : 2; | |||
unsigned int seamless_play : 1; | unsigned int seamless_play : 1; | |||
unsigned int interleaved : 1; | unsigned int interleaved : 1; | |||
unsigned int stc_discontinuity: 1; | unsigned int stc_discontinuity: 1; | |||
unsigned int seamless_angle : 1; | unsigned int seamless_angle : 1; | |||
unsigned int playback_mode : 1; /**< When set, enter StillMode after each VOBU */ | unsigned int playback_mode : 1; /**< When set, enter StillMode after each VOBU */ | |||
unsigned int restricted : 1; /**< ?? drop out of fastforward? */ | unsigned int restricted : 1; /**< ?? drop out of fastforward? */ | |||
unsigned int unknown2 : 6; | unsigned int unknown2 : 6; | |||
uint8_t still_time; | uint8_t still_time; | |||
uint8_t cell_cmd_nr; | uint8_t cell_cmd_nr; | |||
dvd_time_t playback_time; | dvd_time_t playback_time; | |||
uint32_t first_sector; | uint32_t first_sector; | |||
uint32_t first_ilvu_end_sector; | uint32_t first_ilvu_end_sector; | |||
uint32_t last_vobu_start_sector; | uint32_t last_vobu_start_sector; | |||
uint32_t last_sector; | uint32_t last_sector; | |||
skipping to change at line 463 | skipping to change at line 466 | |||
uint16_t zero_1; | uint16_t zero_1; | |||
uint32_t last_byte; | uint32_t last_byte; | |||
title_info_t *title; | title_info_t *title; | |||
} ATTRIBUTE_PACKED tt_srpt_t; | } ATTRIBUTE_PACKED tt_srpt_t; | |||
#define TT_SRPT_SIZE 8U | #define TT_SRPT_SIZE 8U | |||
/** | /** | |||
* Parental Management Information Unit Table. | * Parental Management Information Unit Table. | |||
* Level 1 (US: G), ..., 7 (US: NC-17), 8 | * Level 1 (US: G), ..., 7 (US: NC-17), 8 | |||
*/ | */ | |||
typedef uint16_t pf_level_t[8]; | #define PTL_MAIT_NUM_LEVEL 8 | |||
typedef uint16_t pf_level_t[PTL_MAIT_NUM_LEVEL]; | ||||
/** | /** | |||
* Parental Management Information Unit Table. | * Parental Management Information Unit Table. | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
uint16_t country_code; | uint16_t country_code; | |||
uint16_t zero_1; | uint16_t zero_1; | |||
uint16_t pf_ptl_mai_start_byte; | uint16_t pf_ptl_mai_start_byte; | |||
uint16_t zero_2; | uint16_t zero_2; | |||
pf_level_t *pf_ptl_mai; /* table of (nr_of_vtss + 1), video_ts is first * / | pf_level_t *pf_ptl_mai; /* table of (nr_of_vtss + 1), video_ts is first * / | |||
skipping to change at line 731 | skipping to change at line 735 | |||
/* VTSI */ | /* VTSI */ | |||
vtsi_mat_t *vtsi_mat; | vtsi_mat_t *vtsi_mat; | |||
vts_ptt_srpt_t *vts_ptt_srpt; | vts_ptt_srpt_t *vts_ptt_srpt; | |||
pgcit_t *vts_pgcit; | pgcit_t *vts_pgcit; | |||
vts_tmapt_t *vts_tmapt; | vts_tmapt_t *vts_tmapt; | |||
c_adt_t *vts_c_adt; | c_adt_t *vts_c_adt; | |||
vobu_admap_t *vts_vobu_admap; | vobu_admap_t *vts_vobu_admap; | |||
} ifo_handle_t; | } ifo_handle_t; | |||
#endif /* IFO_TYPES_H_INCLUDED */ | #endif /* LIBDVDREAD_IFO_TYPES_H */ | |||
End of changes. 11 change blocks. | ||||
14 lines changed or deleted | 17 lines changed or added | |||
nav_print.h | nav_print.h | |||
---|---|---|---|---|
#ifndef NAV_PRINT_H_INCLUDED | ||||
#define NAV_PRINT_H_INCLUDED | ||||
/* | /* | |||
* Copyright (C) 2001, 2002 Billy Biggs <vektor@dumbterm.net>, | * Copyright (C) 2001, 2002 Billy Biggs <vektor@dumbterm.net>, | |||
* H | * Håkan Hjort <d95hjort@dtek.chalmers.se> | |||
* | ||||
* This file is part of libdvdread. | ||||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * libdvdread is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * 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 | * the Free Software Foundation; either version 2 of the License, or | |||
* your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, but | * libdvdread is distributed in the hope that it will be useful, | |||
* WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* General Public License for more details. | * GNU General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License along | |||
* along with this program; if not, write to the Free Software | * with libdvdread; if not, write to the Free Software Foundation, Inc., | |||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |||
A | ||||
*/ | */ | |||
#ifndef LIBDVDREAD_NAV_PRINT_H | ||||
#define LIBDVDREAD_NAV_PRINT_H | ||||
#include "nav_types.h" | #include "nav_types.h" | |||
/** | /** | |||
* Pretty printing of the NAV packets, PCI and DSI structs. | * Pretty printing of the NAV packets, PCI and DSI structs. | |||
*/ | */ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
skipping to change at line 50 | skipping to change at line 52 | |||
/** | /** | |||
* Prints information contained in the DSI to stdout. | * Prints information contained in the DSI to stdout. | |||
* | * | |||
* @param dsi Pointer to the DSI data structure to be printed. | * @param dsi Pointer to the DSI data structure to be printed. | |||
*/ | */ | |||
void navPrint_DSI(dsi_t *); | void navPrint_DSI(dsi_t *); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
}; | }; | |||
#endif | #endif | |||
#endif /* NAV_PRINT_H_INCLUDED */ | #endif /* LIBDVDREAD_NAV_PRINT_H */ | |||
End of changes. 7 change blocks. | ||||
16 lines changed or deleted | 17 lines changed or added | |||
nav_read.h | nav_read.h | |||
---|---|---|---|---|
#ifndef NAV_READ_H_INCLUDED | ||||
#define NAV_READ_H_INCLUDED | ||||
/* | /* | |||
* Copyright (C) 2000, 2001, 2002 H | * Copyright (C) 2000, 2001, 2002 Håkan Hjort <d95hjort@dtek.chalmers.se>. | |||
* | ||||
* This file is part of libdvdread. | ||||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * libdvdread is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * libdvdread is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU General Public License for more details. | * GNU General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License along | |||
* along with this program; if not, write to the Free Software | * with libdvdread; if not, write to the Free Software Foundation, Inc., | |||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |||
A | ||||
*/ | */ | |||
#ifndef LIBDVDREAD_NAV_READ_H | ||||
#define LIBDVDREAD_NAV_READ_H | ||||
#include "nav_types.h" | #include "nav_types.h" | |||
/** | /** | |||
* Parsing of NAV data, PCI and DSI parts. | * Parsing of NAV data, PCI and DSI parts. | |||
*/ | */ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
skipping to change at line 51 | skipping to change at line 53 | |||
* Reads the DSI packet data pointed to into dsi struct. | * Reads the DSI packet data pointed to into dsi struct. | |||
* | * | |||
* @param dsi Pointer to the DSI data structure to be filled in. | * @param dsi Pointer to the DSI data structure to be filled in. | |||
* @param bufffer Pointer to the buffer of the on disc DSI data. | * @param bufffer Pointer to the buffer of the on disc DSI data. | |||
*/ | */ | |||
void navRead_DSI(dsi_t *, unsigned char *); | void navRead_DSI(dsi_t *, unsigned char *); | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
}; | }; | |||
#endif | #endif | |||
#endif /* NAV_READ_H_INCLUDED */ | #endif /* LIBDVDREAD_NAV_READ_H */ | |||
End of changes. 7 change blocks. | ||||
10 lines changed or deleted | 11 lines changed or added | |||
nav_types.h | nav_types.h | |||
---|---|---|---|---|
#ifndef NAV_TYPES_H_INCLUDED | ||||
#define NAV_TYPES_H_INCLUDED | ||||
/* | /* | |||
* Copyright (C) 2000, 2001, 2002 H | * Copyright (C) 2000, 2001, 2002 Håkan Hjort <d95hjort@dtek.chalmers.se> | |||
* | * | |||
* The data structures in this file should represent the layout of the | * The data structures in this file should represent the layout of the | |||
* pci and dsi packets as they are stored in the stream. Information | * pci and dsi packets as they are stored in the stream. Information | |||
* found by reading the source to VOBDUMP is the base for the structure | * found by reading the source to VOBDUMP is the base for the structure | |||
* and names of these data types. | * and names of these data types. | |||
* | * | |||
* VOBDUMP: a program for examining DVD .VOB files. | * VOBDUMP: a program for examining DVD .VOB files. | |||
* Copyright 1998, 1999 Eric Smith <eric@brouhaha.com> | * Copyright 1998, 1999 Eric Smith <eric@brouhaha.com> | |||
* | * | |||
* VOBDUMP is free software; you can redistribute it and/or modify it | * VOBDUMP is free software; you can redistribute it and/or modify it | |||
skipping to change at line 27 | skipping to change at line 24 | |||
* published by the Free Software Foundation. Note that I am not | * published by the Free Software Foundation. Note that I am not | |||
* granting permission to redistribute or modify VOBDUMP under the terms | * granting permission to redistribute or modify VOBDUMP under the terms | |||
* of any later version of the General Public License. | * of any later version of the General Public License. | |||
* | * | |||
* This program is distributed in the hope that it will be useful (or at | * This program is distributed in the hope that it will be useful (or at | |||
* least amusing), but WITHOUT ANY WARRANTY; without even the implied | * least amusing), but WITHOUT ANY WARRANTY; without even the implied | |||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | |||
* the GNU General Public License for more details. | * the GNU General Public License for more details. | |||
* | * | |||
* You should have received a copy of the GNU General Public License | * You should have received a copy of the GNU General Public License | |||
* along with this program; if not, write to the Free Software | * along with this program; if not, write to the Free Software Foundation, | |||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 | * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |||
* USA | ||||
*/ | */ | |||
#ifndef LIBDVDREAD_NAV_TYPES_H | ||||
#define LIBDVDREAD_NAV_TYPES_H | ||||
#include <inttypes.h> | #include <inttypes.h> | |||
#include "ifo_types.h" /* only dvd_time_t, vm_cmd_t and user_ops_t */ | #include "ifo_types.h" /* only dvd_time_t, vm_cmd_t and user_ops_t */ | |||
/* The length including the substream id byte. */ | /* The length including the substream id byte. */ | |||
#define PCI_BYTES 0x3d4 | #define PCI_BYTES 0x3d4 | |||
#define DSI_BYTES 0x3fa | #define DSI_BYTES 0x3fa | |||
#define PS2_PCI_SUBSTREAM_ID 0x00 | #define PS2_PCI_SUBSTREAM_ID 0x00 | |||
#define PS2_DSI_SUBSTREAM_ID 0x01 | #define PS2_DSI_SUBSTREAM_ID 0x01 | |||
skipping to change at line 192 | skipping to change at line 191 | |||
uint32_t vob_v_e_e_ptm; /**< video end ptm in vob */ | uint32_t vob_v_e_e_ptm; /**< video end ptm in vob */ | |||
struct { | struct { | |||
uint32_t stp_ptm1; | uint32_t stp_ptm1; | |||
uint32_t stp_ptm2; | uint32_t stp_ptm2; | |||
uint32_t gap_len1; | uint32_t gap_len1; | |||
uint32_t gap_len2; | uint32_t gap_len2; | |||
} vob_a[8]; | } vob_a[8]; | |||
} ATTRIBUTE_PACKED sml_pbi_t; | } ATTRIBUTE_PACKED sml_pbi_t; | |||
/** | /** | |||
* Seamless Angle Infromation for one angle | * Seamless Angle Information for one angle | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
uint32_t address; /**< offset to next ILVU, high bit is before/after */ | uint32_t address; /**< offset to next ILVU, high bit is before/after */ | |||
uint16_t size; /**< byte size of the ILVU pointed to by address */ | uint16_t size; /**< byte size of the ILVU pointed to by address */ | |||
} ATTRIBUTE_PACKED sml_agl_data_t; | } ATTRIBUTE_PACKED sml_agl_data_t; | |||
/** | /** | |||
* Seamless Angle Infromation | * Seamless Angle Information | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
sml_agl_data_t data[9]; | sml_agl_data_t data[9]; | |||
} ATTRIBUTE_PACKED sml_agli_t; | } ATTRIBUTE_PACKED sml_agli_t; | |||
/** | /** | |||
* VOBU Search Information | * VOBU Search Information | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
uint32_t next_video; /**< Next vobu that contains video */ | uint32_t next_video; /**< Next vobu that contains video */ | |||
skipping to change at line 244 | skipping to change at line 243 | |||
sml_agli_t sml_agli; | sml_agli_t sml_agli; | |||
vobu_sri_t vobu_sri; | vobu_sri_t vobu_sri; | |||
synci_t synci; | synci_t synci; | |||
uint8_t zero1[471]; | uint8_t zero1[471]; | |||
} ATTRIBUTE_PACKED dsi_t; | } ATTRIBUTE_PACKED dsi_t; | |||
#if PRAGMA_PACK | #if PRAGMA_PACK | |||
#pragma pack() | #pragma pack() | |||
#endif | #endif | |||
#endif /* NAV_TYPES_H_INCLUDED */ | #endif /* LIBDVDREAD_NAV_TYPES_H */ | |||
End of changes. 8 change blocks. | ||||
11 lines changed or deleted | 10 lines changed or added | |||