From: <li...@yo...> - 2007-11-24 22:45:03
|
# HG changeset patch # User Darren Salt <li...@yo...> # Date 1195942321 0 # Node ID 383dbb27c47b5656f6d7cc17cff60cdba547bff0 # Parent c67926c9c2eb7158c6147bb763ecc008b6d3de02 # Parent 7de4ca25a32c3e20151485220a8463e7c635f9eb Merge from 1.2 main. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 COPYING --- a/COPYING Sat Nov 24 22:12:01 2007 +0000 +++ b/COPYING Mon Sep 10 00:35:26 2007 +0100 @@ -1,8 +1,8 @@ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -15,7 +15,7 @@ General Public License applies to most o General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to +the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not @@ -55,7 +55,7 @@ patent must be licensed for everyone's f The precise terms and conditions for copying, distribution and modification follow. - + GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION @@ -110,7 +110,7 @@ above, provided that you also meet all o License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) - + These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in @@ -168,7 +168,7 @@ access to copy the source code from the access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. - + 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is @@ -225,7 +225,7 @@ impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. - + 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License @@ -278,7 +278,7 @@ POSSIBILITY OF SUCH DAMAGES. POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest @@ -303,17 +303,16 @@ the "copyright" line and a pointer to wh 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 - + 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., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) year name of author + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. @@ -336,5 +335,5 @@ This General Public License does not per This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General +library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 COPYING.LIB --- a/COPYING.LIB Sat Nov 24 22:12:01 2007 +0000 +++ b/COPYING.LIB Mon Sep 10 00:35:26 2007 +0100 @@ -2,7 +2,7 @@ Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -436,7 +436,7 @@ DAMAGES. END OF TERMS AND CONDITIONS - Appendix: How to Apply These Terms to Your New Libraries + How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that @@ -464,7 +464,7 @@ convey the exclusion of warranty; and ea You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 CREDITS --- a/CREDITS Sat Nov 24 22:12:01 2007 +0000 +++ b/CREDITS Mon Sep 10 00:35:26 2007 +0100 @@ -16,14 +16,12 @@ goom 2k4-0 goom 2k4-0 gsm610 1.0.10 Mike Melanson liba52 0.7.4 -libcdio 0.71 [o] libca 0.0.5 libdvdnav 0.1.10 Michael Roitzsch -libfaad cvs-2005-01-30 [GPL] Miguel Freitas +libfaad 2.6.1 Miguel Freitas libmad 0.15.1b Miguel Freitas libmpeg2 0.2.1 [*] libmpcdec 1.2.5 -libvcd 0.7.21 [o] libxdg-basedir 0.1.3 Diego Pettenò nosefart 1.92 Mike Melanson tvtime 0.9.8.4 Miguel Freitas @@ -31,11 +29,6 @@ vidix cvs 6/03/05 James Stembridge vidix cvs 6/03/05 James Stembridge ----------------------------------------------------------------------- - -[GPL] this is the latest GPL compatible version of FAAD2. later cvs - snapshots have added an advertisement clause so we cannot update until - the situation gets fixed. - [*] common question: lastest version of libmpeg2 is 0.3.1, why don't you update? @@ -64,9 +57,3 @@ you update? update plan for libmpeg2: we should leave our patched libmpeg2 for hardware accelerated decoding (xvmc) only and use "libmpeg2new" (containing updated libmpeg2) for software decoding. - - -[o] These libraries are not well maintained and subsetted from the - packages where they come from. The external versions of libcdio - and libvcdinfo are preferred. You also get regression tests and - CD/VCD diagnostic tools. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 ChangeLog --- a/ChangeLog Sat Nov 24 22:12:01 2007 +0000 +++ b/ChangeLog Mon Sep 10 00:35:26 2007 +0100 @@ -1,5 +1,8 @@ xine-lib (1.1.90) (Unreleased) xine-lib (1.1.90) (Unreleased) * Add support for VDR. + * xine-config is deprecated in favour of pkg-config libxine. + Use "pkgconfig --variable=foo libxine" where you previously used + "xine-config --foo". * Reorder and modify public structures to reduce the holes caused by padding especially on 64-bit architectures. * Remove the buttons array from video_overlay, as the feature linked to that @@ -37,12 +40,28 @@ xine-lib (1.1.90) (Unreleased) * The XML parser no longer ignores <?...?> elements. Such elements are handled as if they were after the XML content for compatibility reasons, though they must appear before it. + * The XML parser handles CDATA elements. + * Text handling within XML is improved. + * DVB subtitles' opacity is now controllable. + * The internal copies of libcdio and libvcd are no longer present, + you need to use an installed copy of them if you want VCD support. xine-lib (1.1.9) (unreleased) * Fix dvd://.../title[.chapter] handling (somewhat broken in 1.1.8). * Fix switching DVB subtitles channels. * DVB sub: switch to dyn mem alloc and allow multiple CLUTs per page. * Check if DVB sub PTS is reliable and show sub immediately if it's not. + * Fix incorrect H.264 detection on successive MPEG1/2 B frames. + * Add UI option to configure FFmpeg's video decoder thread count. + * Improve syncing of audio and video in the presence of bad frames. + * Improve handling of invalid or unknown frame sizes. + * Fixed handling of streamed Flash videos (broken in 1.1.5). + * Fixed division by zero in sputext decoder + * Build fix for when using Linux 2.6.23 headers. [Bug 1820958] + * Implemented decoding of XML character entities with codes >= 256. + This requires conversion to UTF-8 of entities with codes >= 128. + * Fixed ATSC support. [Bug 1749508] + * Fixed a possible DVB plugin crash when switching channels. xine-lib (1.1.8) * Send a channel-changed event to the frontend when receiving the SYNC diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 NEWS --- a/NEWS Sat Nov 24 22:12:01 2007 +0000 +++ b/NEWS Mon Sep 10 00:35:26 2007 +0100 @@ -1,2 +1,5 @@ This file is unused. -This file is unused. -The ChangeLog file lists changes for new versions. +xine-lib 1.2.0 +============== + +As of this release, xine-config is deprecated. You should use pkg-config +libxine instead - see xine-config's man page for details. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 autogen.sh --- a/autogen.sh Sat Nov 24 22:12:01 2007 +0000 +++ b/autogen.sh Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,7 @@ # # 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 -# -# $Id: autogen.sh,v 1.20 2007/03/26 12:52:05 dgp85 Exp $ +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA # # Maintained by Stephen Torri <st...@us...> # diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 configure.ac --- a/configure.ac Sat Nov 24 22:12:01 2007 +0000 +++ b/configure.ac Mon Sep 10 00:35:26 2007 +0100 @@ -377,7 +377,7 @@ dnl ----------------------------------- dnl ----------------------------------- if test x"$GCC" = x"yes"; then - GCC_VERSION="`"$CC" -dumpversion`" + GCC_VERSION="`$CC -dumpversion`" GCC_VERSION_MAJOR="`echo "$GCC_VERSION" | cut -d '.' -f1`" GCC_VERSION_MINOR="`echo "$GCC_VERSION" | cut -d '.' -f2`" GCC_VERSION_PATCHLEVEL="`echo "$GCC_VERSION" | cut -d '.' -f3`" @@ -978,9 +978,14 @@ makeexpand () { echo "$i" } -XINE_PLUGINDIR="$libdir/xine/plugins/$XINE_MAJOR.$XINE_MINOR.$XINE_SUB" -XINE_FONTDIR="${datadir}/xine/libxine$XINE_MAJOR/fonts" -XINE_LOCALEDIR="${datadir}/locale" +xinelibdir='${libdir}/xine' +xinedatadir='${datadir}/xine' +AC_SUBST(xinelibdir) +AC_SUBST(xinedatadir) + +XINE_PLUGINDIR="\${xinelibdir}/plugins/$XINE_MAJOR.$XINE_MINOR.$XINE_SUB" +XINE_FONTDIR="\${xinedatadir}/libxine$XINE_MAJOR/fonts" +XINE_LOCALEDIR='${datadir}/locale' XINE_REL_PLUGINDIR="`makeexpand "$XINE_PLUGINDIR"`" XINE_REL_PLUGINDIR="`makeexpand "$XINE_REL_PLUGINDIR" | sed -e "s,^${prefix}/,,"`" XINE_REL_FONTDIR="`makeexpand "$XINE_FONTDIR" | sed -e "s,^${prefix}/,,"`" @@ -1024,16 +1029,18 @@ AC_SUBST(XINE_LOCALEDIR) AC_SUBST(XINE_LOCALEDIR) dnl Where aclocal m4 files should be installed -XINE_ACFLAGS="-I `makeexpand "${datarootdir}/aclocal"`" +xine_acflags='-I ${datarootdir}/aclocal' +XINE_ACFLAGS="-I ${datarootdir}/aclocal" AC_DEFINE_UNQUOTED([XINE_ACFLAGS], ["$XINE_ACFLAGS"], [Path where aclocal m4 files will be.]) +AC_SUBST(xine_acflags) AC_SUBST(XINE_ACFLAGS) dnl Where architecture independent data (e.g. logo) will/should be installed -XINE_DATADIR="`makeexpand "${datarootdir}/xine"`" +XINE_DATADIR="\${xinedatadir}" AC_SUBST(XINE_DATADIR) dnl Where scripts will/should be installed. -eval XINE_SCRIPTPATH="$XINE_DATADIR/xine/scripts" +XINE_SCRIPTPATH="\${xinedatadir}/scripts" AC_SUBST(XINE_SCRIPTPATH) @@ -1115,10 +1122,6 @@ contrib/Makefile contrib/Makefile contrib/a52dec/Makefile contrib/gsm610/Makefile -contrib/libcdio/Makefile -contrib/libcdio/cdio/Makefile -contrib/libcdio/MSWindows/Makefile -contrib/libcdio/image/Makefile contrib/libdca/Makefile contrib/libdha/Makefile contrib/libdha/bin/Makefile @@ -1128,8 +1131,6 @@ contrib/libfaad/Makefile contrib/libfaad/Makefile contrib/libmad/Makefile contrib/libmpcdec/Makefile -contrib/libvcd/Makefile -contrib/libvcd/libvcd/Makefile contrib/libxdg-basedir/Makefile contrib/nosefart/Makefile contrib/vidix/Makefile @@ -1145,7 +1146,6 @@ misc/fonts/Makefile misc/fonts/Makefile misc/libxine.pc misc/relchk.sh -misc/xine-config misc/xine-lib.spec po/Makefile.in src/Makefile diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/Makefile.am --- a/contrib/Makefile.am Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/Makefile.am Mon Sep 10 00:35:26 2007 +0100 @@ -12,10 +12,6 @@ SUBDIRS += libdha SUBDIRS += libdha endif SUBDIRS += vidix -endif - -if !WITH_EXTERNAL_VCDLIBS -SUBDIRS += libcdio libvcd endif srcdir = $(shell cd @srcdir@; pwd) diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/Makefile.am --- a/contrib/libfaad/Makefile.am Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/Makefile.am Mon Sep 10 00:35:26 2007 +0100 @@ -4,7 +4,9 @@ AM_LDFLAGS = $(xineplug_ldflags) AM_LDFLAGS = $(xineplug_ldflags) if ENABLE_FAAD +if !WITH_EXTERNAL_FAAD noinst_LTLIBRARIES = libfaad.la +endif endif libfaad_la_SOURCES = \ @@ -94,6 +96,7 @@ libfaad_la_SOURCES = \ structs.h \ syntax.h \ tns.h \ + neaacdec.h \ codebook/hcb.h \ codebook/hcb_1.h \ codebook/hcb_2.h \ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/analysis.h --- a/contrib/libfaad/analysis.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/analysis.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: analysis.h,v 1.7 2005/10/29 23:57:06 tmmm Exp $ +** $Id: analysis.h,v 1.18 2007/11/01 12:33:29 menno Exp $ **/ #ifndef __ANALYSIS_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/bits.c --- a/contrib/libfaad/bits.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/bits.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,17 +19,19 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... -** -** $Id: bits.c,v 1.9 2005/10/29 23:57:06 tmmm Exp $ +** For more info contact Nero AG through Mpe...@ne.... +** +** $Id: bits.c,v 1.44 2007/11/01 12:33:29 menno Exp $ **/ #include "common.h" #include "structs.h" #include <stdlib.h> -#include <string.h> #include "bits.h" /* initialize buffer, call once before first getbits or showbits */ @@ -40,25 +42,38 @@ void faad_initbits(bitfile *ld, const vo if (ld == NULL) return; - memset(ld, 0, sizeof(bitfile)); + // useless + //memset(ld, 0, sizeof(bitfile)); if (buffer_size == 0 || _buffer == NULL) { ld->error = 1; - ld->no_more_reading = 1; return; } - ld->buffer = faad_malloc((buffer_size+12)*sizeof(uint8_t)); - memset(ld->buffer, 0, (buffer_size+12)*sizeof(uint8_t)); - memcpy(ld->buffer, _buffer, buffer_size*sizeof(uint8_t)); + ld->buffer = _buffer; ld->buffer_size = buffer_size; - - tmp = getdword((uint32_t*)ld->buffer); - ld->bufa = tmp; - - tmp = getdword((uint32_t*)ld->buffer + 1); + ld->bytes_left = buffer_size; + + if (ld->bytes_left >= 4) + { + tmp = getdword((uint32_t*)ld->buffer); + ld->bytes_left -= 4; + } else { + tmp = getdword_n((uint32_t*)ld->buffer, ld->bytes_left); + ld->bytes_left = 0; + } + ld->bufa = tmp; + + if (ld->bytes_left >= 4) + { + tmp = getdword((uint32_t*)ld->buffer + 1); + ld->bytes_left -= 4; + } else { + tmp = getdword_n((uint32_t*)ld->buffer + 1, ld->bytes_left); + ld->bytes_left = 0; + } ld->bufb = tmp; ld->start = (uint32_t*)ld->buffer; @@ -66,21 +81,12 @@ void faad_initbits(bitfile *ld, const vo ld->bits_left = 32; - ld->bytes_used = 0; - ld->no_more_reading = 0; ld->error = 0; } void faad_endbits(bitfile *ld) { - if (ld) - { - if (ld->buffer) - { - faad_free(ld->buffer); - ld->buffer = NULL; - } - } + // void } uint32_t faad_get_processed_bits(bitfile *ld) @@ -90,12 +96,12 @@ uint32_t faad_get_processed_bits(bitfile uint8_t faad_byte_align(bitfile *ld) { - uint8_t remainder = (uint8_t)((32 - ld->bits_left) % 8); + int remainder = (32 - ld->bits_left) & 0x7; if (remainder) { faad_flushbits(ld, 8 - remainder); - return (8 - remainder); + return (uint8_t)(8 - remainder); } return 0; } @@ -105,20 +111,22 @@ void faad_flushbits_ex(bitfile *ld, uint uint32_t tmp; ld->bufa = ld->bufb; - if (ld->no_more_reading == 0) + if (ld->bytes_left >= 4) [... 23 lines omitted ...] +// if (ld->bytes_left < 0) +// ld->error = 1; } /* rewind to beginning */ @@ -126,30 +134,79 @@ void faad_rewindbits(bitfile *ld) { uint32_t tmp; - tmp = ld->start[0]; -#ifndef ARCH_IS_BIG_ENDIAN - BSWAP(tmp); -#endif - ld->bufa = tmp; - - tmp = ld->start[1]; -#ifndef ARCH_IS_BIG_ENDIAN - BSWAP(tmp); -#endif - ld->bufb = tmp; + ld->bytes_left = ld->buffer_size; + + if (ld->bytes_left >= 4) + { + tmp = getdword((uint32_t*)&ld->start[0]); + ld->bytes_left -= 4; + } else { + tmp = getdword_n((uint32_t*)&ld->start[0], ld->bytes_left); + ld->bytes_left = 0; + } + ld->bufa = tmp; + + if (ld->bytes_left >= 4) + { + tmp = getdword((uint32_t*)&ld->start[1]); + ld->bytes_left -= 4; + } else { + tmp = getdword_n((uint32_t*)&ld->start[1], ld->bytes_left); + ld->bytes_left = 0; + } + ld->bufb = tmp; + ld->bits_left = 32; ld->tail = &ld->start[2]; - ld->bytes_used = 0; - ld->no_more_reading = 0; +} + +/* reset to a certain point */ +void faad_resetbits(bitfile *ld, int bits) +{ + uint32_t tmp; + int words = bits >> 5; + int remainder = bits & 0x1F; + + ld->bytes_left = ld->buffer_size - words*4; + + if (ld->bytes_left >= 4) + { + tmp = getdword(&ld->start[words]); + ld->bytes_left -= 4; + } else { + tmp = getdword_n(&ld->start[words], ld->bytes_left); + ld->bytes_left = 0; + } + ld->bufa = tmp; + + if (ld->bytes_left >= 4) + { + tmp = getdword(&ld->start[words+1]); + ld->bytes_left -= 4; + } else { + tmp = getdword_n(&ld->start[words+1], ld->bytes_left); + ld->bytes_left = 0; + } + ld->bufb = tmp; + + ld->bits_left = 32 - remainder; + ld->tail = &ld->start[words+2]; + + /* recheck for reading too many bytes */ + ld->error = 0; +// if (ld->bytes_left == 0) +// ld->no_more_reading = 1; +// if (ld->bytes_left < 0) +// ld->error = 1; } uint8_t *faad_getbitbuffer(bitfile *ld, uint32_t bits DEBUGDEC) { - uint16_t i; - uint8_t temp; - uint16_t bytes = (uint16_t)bits / 8; - uint8_t remainder = (uint8_t)bits % 8; + int i; + unsigned int temp; + int bytes = bits >> 3; + int remainder = bits & 0x7; uint8_t *buffer = (uint8_t*)faad_malloc((bytes+1)*sizeof(uint8_t)); @@ -160,9 +217,9 @@ uint8_t *faad_getbitbuffer(bitfile *ld, if (remainder) { - temp = (uint8_t)faad_getbits(ld, remainder DEBUGVAR(print,var,dbg)) << (8-remainder); - - buffer[bytes] = temp; + temp = faad_getbits(ld, remainder DEBUGVAR(print,var,dbg)) << (8-remainder); + + buffer[bytes] = (uint8_t)temp; } return buffer; @@ -207,7 +264,8 @@ void faad_initbits_rev(bitfile *ld, void if (ld->bits_left == 0) ld->bits_left = 32; - ld->bytes_used = 0; - ld->no_more_reading = 0; - ld->error = 0; -} + ld->bytes_left = ld->buffer_size; + ld->error = 0; +} + +/* EOF */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/bits.h --- a/contrib/libfaad/bits.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/bits.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,28 +1,31 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com -** +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com +** ** 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 +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: bits.h,v 1.11 2005/10/30 01:21:53 tmmm Exp $ +** $Id: bits.h,v 1.45 2007/11/01 12:33:29 menno Exp $ **/ #ifndef __BITS_H__ @@ -37,8 +40,10 @@ extern "C" { #include <stdio.h> #endif -#define BYTE_NUMBIT 8 -#define bit2byte(a) ((a+7)/BYTE_NUMBIT) +#define BYTE_NUMBIT 8 +#define BYTE_NUMBIT_LD 3 +//#define bit2byte(a) ((a+7)/BYTE_NUMBIT) +#define bit2byte(a) ((a+7)>>BYTE_NUMBIT_LD) typedef struct _bitfile { @@ -47,25 +52,16 @@ typedef struct _bitfile uint32_t bufb; uint32_t bits_left; uint32_t buffer_size; /* size of the buffer in bytes */ - uint32_t bytes_used; - uint8_t no_more_reading; + uint32_t bytes_left; uint8_t error; uint32_t *tail; uint32_t *start; - void *buffer; + const void *buffer; } bitfile; -#if defined(_MSC_VER) -#define BSWAP(a) __asm mov eax,a __asm bswap eax __asm mov a, eax -#elif defined(LINUX) || defined(DJGPP) || defined (__MINGW32__) || defined (__CYGWIN__) -#define BSWAP(a) __asm__ ( "bswapl %0\n" : "=r" (a) : "0" (a) ) -#else -#define BSWAP(a) \ - ((a) = ( ((a)&0xff)<<24) | (((a)&0xff00)<<8) | (((a)>>8)&0xff00) | (((a)>>24)&0xff)) -#endif - -static uint32_t bitmask[] = { +#if 0 +static uint32_t const bitmask[] = { 0x0, 0x1, 0x3, 0x7, 0xF, 0x1F, 0x3F, 0x7F, 0xFF, 0x1FF, 0x3FF, 0x7FF, 0xFFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF, 0x1FFFF, 0x3FFFF, 0x7FFFF, 0xFFFFF, 0x1FFFFF, 0x3FFFFF, @@ -74,6 +70,7 @@ static uint32_t bitmask[] = { /* added bitmask 32, correct?!?!?! */ , 0xFFFFFFFF }; +#endif void faad_initbits(bitfile *ld, const void *buffer, const uint32_t buffer_size); void faad_endbits(bitfile *ld); @@ -83,6 +80,7 @@ uint32_t faad_get_processed_bits(bitfile uint32_t faad_get_processed_bits(bitfile *ld); void faad_flushbits_ex(bitfile *ld, uint32_t bits); void faad_rewindbits(bitfile *ld); +void faad_resetbits(bitfile *ld, int bits); uint8_t *faad_getbitbuffer(bitfile *ld, uint32_t bits DEBUGDEC); #ifdef DRM @@ -93,7 +91,6 @@ uint32_t faad_origbitbuffer_size(bitfile /* circumvent memory alignment errors on ARM */ static INLINE uint32_t getdword(void *mem) { -#ifdef ARM uint32_t tmp; #ifndef ARCH_IS_BIG_ENDIAN ((uint8_t*)&tmp)[0] = ((uint8_t*)mem)[3]; @@ -108,25 +105,52 @@ static INLINE uint32_t getdword(void *me #endif return tmp; +} + +/* reads only n bytes from the stream instead of the standard 4 */ +static /*INLINE*/ uint32_t getdword_n(void *mem, int n) +{ + uint32_t tmp = 0; +#ifndef ARCH_IS_BIG_ENDIAN + switch (n) + { + case 3: + ((uint8_t*)&tmp)[1] = ((uint8_t*)mem)[2]; + case 2: + ((uint8_t*)&tmp)[2] = ((uint8_t*)mem)[1]; + case 1: + ((uint8_t*)&tmp)[3] = ((uint8_t*)mem)[0]; [... 44 lines omitted ...] /* return next n bits (right adjusted) */ -static INLINE uint32_t faad_getbits(bitfile *ld, uint32_t n DEBUGDEC) +static /*INLINE*/ uint32_t faad_getbits(bitfile *ld, uint32_t n DEBUGDEC) { uint32_t ret; - if (ld->no_more_reading || n == 0) + if (n == 0) return 0; ret = faad_showbits(ld, n); @@ -230,21 +254,22 @@ static INLINE void faad_flushbits_rev(bi ld->start--; ld->bits_left += (32 - bits); - ld->bytes_used += 4; - if (ld->bytes_used == ld->buffer_size) - ld->no_more_reading = 1; - if (ld->bytes_used > ld->buffer_size) + if (ld->bytes_left < 4) + { ld->error = 1; - } -} - -static INLINE uint32_t faad_getbits_rev(bitfile *ld, uint32_t n + ld->bytes_left = 0; + } else { + ld->bytes_left -= 4; + } +// if (ld->bytes_left == 0) +// ld->no_more_reading = 1; + } +} + +static /*INLINE*/ uint32_t faad_getbits_rev(bitfile *ld, uint32_t n DEBUGDEC) { uint32_t ret; - - if (ld->no_more_reading) - return 0; if (n == 0) return 0; @@ -261,28 +286,73 @@ static INLINE uint32_t faad_getbits_rev( } #ifdef DRM +/* CRC lookup table for G8 polynome in DRM standard */ +static const uint8_t crc_table_G8[256] = { + 0x0, 0x1d, 0x3a, 0x27, 0x74, 0x69, 0x4e, 0x53, + 0xe8, 0xf5, 0xd2, 0xcf, 0x9c, 0x81, 0xa6, 0xbb, + 0xcd, 0xd0, 0xf7, 0xea, 0xb9, 0xa4, 0x83, 0x9e, + 0x25, 0x38, 0x1f, 0x2, 0x51, 0x4c, 0x6b, 0x76, + 0x87, 0x9a, 0xbd, 0xa0, 0xf3, 0xee, 0xc9, 0xd4, + 0x6f, 0x72, 0x55, 0x48, 0x1b, 0x6, 0x21, 0x3c, + 0x4a, 0x57, 0x70, 0x6d, 0x3e, 0x23, 0x4, 0x19, + 0xa2, 0xbf, 0x98, 0x85, 0xd6, 0xcb, 0xec, 0xf1, + 0x13, 0xe, 0x29, 0x34, 0x67, 0x7a, 0x5d, 0x40, + 0xfb, 0xe6, 0xc1, 0xdc, 0x8f, 0x92, 0xb5, 0xa8, + 0xde, 0xc3, 0xe4, 0xf9, 0xaa, 0xb7, 0x90, 0x8d, + 0x36, 0x2b, 0xc, 0x11, 0x42, 0x5f, 0x78, 0x65, + 0x94, 0x89, 0xae, 0xb3, 0xe0, 0xfd, 0xda, 0xc7, + 0x7c, 0x61, 0x46, 0x5b, 0x8, 0x15, 0x32, 0x2f, + 0x59, 0x44, 0x63, 0x7e, 0x2d, 0x30, 0x17, 0xa, + 0xb1, 0xac, 0x8b, 0x96, 0xc5, 0xd8, 0xff, 0xe2, + 0x26, 0x3b, 0x1c, 0x1, 0x52, 0x4f, 0x68, 0x75, + 0xce, 0xd3, 0xf4, 0xe9, 0xba, 0xa7, 0x80, 0x9d, + 0xeb, 0xf6, 0xd1, 0xcc, 0x9f, 0x82, 0xa5, 0xb8, + 0x3, 0x1e, 0x39, 0x24, 0x77, 0x6a, 0x4d, 0x50, + 0xa1, 0xbc, 0x9b, 0x86, 0xd5, 0xc8, 0xef, 0xf2, + 0x49, 0x54, 0x73, 0x6e, 0x3d, 0x20, 0x7, 0x1a, + 0x6c, 0x71, 0x56, 0x4b, 0x18, 0x5, 0x22, 0x3f, + 0x84, 0x99, 0xbe, 0xa3, 0xf0, 0xed, 0xca, 0xd7, + 0x35, 0x28, 0xf, 0x12, 0x41, 0x5c, 0x7b, 0x66, + 0xdd, 0xc0, 0xe7, 0xfa, 0xa9, 0xb4, 0x93, 0x8e, + 0xf8, 0xe5, 0xc2, 0xdf, 0x8c, 0x91, 0xb6, 0xab, + 0x10, 0xd, 0x2a, 0x37, 0x64, 0x79, 0x5e, 0x43, + 0xb2, 0xaf, 0x88, 0x95, 0xc6, 0xdb, 0xfc, 0xe1, + 0x5a, 0x47, 0x60, 0x7d, 0x2e, 0x33, 0x14, 0x9, + 0x7f, 0x62, 0x45, 0x58, 0xb, 0x16, 0x31, 0x2c, + 0x97, 0x8a, 0xad, 0xb0, 0xe3, 0xfe, 0xd9, 0xc4, +}; + static uint8_t faad_check_CRC(bitfile *ld, uint16_t len) { - uint8_t CRC; - uint16_t r=255; /* Initialize to all ones */ + int bytes, rem; + unsigned int CRC; + unsigned int r=255; /* Initialize to all ones */ /* CRC polynome used x^8 + x^4 + x^3 + x^2 +1 */ #define GPOLY 0435 faad_rewindbits(ld); - CRC = (uint8_t) ~faad_getbits(ld, 8 - DEBUGVAR(1,999,"faad_check_CRC(): CRC")); /* CRC is stored inverted */ - - for (; len>0; len--) + CRC = (unsigned int) ~faad_getbits(ld, 8 + DEBUGVAR(1,999,"faad_check_CRC(): CRC")) & 0xFF; /* CRC is stored inverted */ + + bytes = len >> 3; + rem = len & 0x7; + + for (; bytes > 0; bytes--) + { + r = crc_table_G8[( r ^ faad_getbits(ld, 8 DEBUGVAR(1,998,"")) ) & 0xFF]; + } + for (; rem > 0; rem--) { r = ( (r << 1) ^ (( ( faad_get1bit(ld DEBUGVAR(1,998,"")) & 1) ^ ((r >> 7) & 1)) * GPOLY )) & 0xFF; } if (r != CRC) - { - return 8; + // if (0) + { + return 28; } else { return 0; } diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/cfft.c --- a/contrib/libfaad/cfft.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/cfft.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,28 +1,31 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com -** +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com +** ** 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 +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: cfft.c,v 1.12 2006/09/26 18:00:31 dgp85 Exp $ +** $Id: cfft.c,v 1.35 2007/11/01 12:33:29 menno Exp $ **/ /* @@ -546,7 +549,7 @@ static void passf5(const uint16_t ido, c ComplexMult(&RE(c4), &RE(c5), ti12, ti11, RE(t5), RE(t4)); ComplexMult(&IM(c4), &IM(c5), - ti12, ti12, IM(t5), IM(t4)); + ti12, ti11, IM(t5), IM(t4)); RE(ch[ah+l1]) = RE(c2) + IM(c5); IM(ch[ah+l1]) = IM(c2) - RE(c5); @@ -648,7 +651,7 @@ static void passf5(const uint16_t ido, c ComplexMult(&RE(c4), &RE(c5), ti12, ti11, RE(t5), RE(t4)); ComplexMult(&IM(c4), &IM(c5), - ti12, ti12, IM(t5), IM(t4)); + ti12, ti11, IM(t5), IM(t4)); IM(d2) = IM(c2) - RE(c5); IM(d3) = IM(c3) - RE(c4); @@ -992,13 +995,11 @@ cfft_info *cffti(uint16_t n) void cfftu(cfft_info *cfft) { - if ( ! cfft ) return; - - faad_free(cfft->work); + if (cfft->work) faad_free(cfft->work); #ifndef FIXED_POINT - faad_free(cfft->tab); -#endif - - faad_free(cfft); -} - + if (cfft->tab) faad_free(cfft->tab); +#endif + + if (cfft) faad_free(cfft); +} + diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/cfft.h --- a/contrib/libfaad/cfft.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/cfft.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: cfft.h,v 1.9 2005/10/29 23:57:06 tmmm Exp $ +** $Id: cfft.h,v 1.24 2007/11/01 12:33:29 menno Exp $ **/ #ifndef __CFFT_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/cfft_tab.h --- a/contrib/libfaad/cfft_tab.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/cfft_tab.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,28 +1,31 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com -** +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com +** ** 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 +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: cfft_tab.h,v 1.6 2005/10/29 23:57:06 tmmm Exp $ +** $Id: cfft_tab.h,v 1.21 2007/11/01 12:33:29 menno Exp $ **/ #ifndef __CFFT_TAB_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb.h --- a/contrib/libfaad/codebook/hcb.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: hcb.h,v 1.6 2005/10/29 23:57:08 tmmm Exp $ +** $Id: hcb.h,v 1.8 2007/11/01 12:34:10 menno Exp $ **/ #ifndef __HCB_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb_1.h --- a/contrib/libfaad/codebook/hcb_1.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb_1.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: hcb_1.h,v 1.4 2005/10/29 23:57:08 tmmm Exp $ +** $Id: hcb_1.h,v 1.5 2007/11/01 12:34:11 menno Exp $ **/ /* 2-step huffman table HCB_1 */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb_10.h --- a/contrib/libfaad/codebook/hcb_10.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb_10.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... -** -** $Id: hcb_10.h,v 1.4 2005/10/29 23:57:08 tmmm Exp $ +** For more info contact Nero AG through Mpe...@ne.... +** +** $Id: hcb_10.h,v 1.5 2007/11/01 12:34:11 menno Exp $ **/ /* 2-step huffman table HCB_10 */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb_11.h --- a/contrib/libfaad/codebook/hcb_11.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb_11.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: hcb_11.h,v 1.4 2005/10/29 23:57:08 tmmm Exp $ +** $Id: hcb_11.h,v 1.5 2007/11/01 12:34:11 menno Exp $ **/ /* 2-step huffman table HCB_11 */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb_2.h --- a/contrib/libfaad/codebook/hcb_2.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb_2.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: hcb_2.h,v 1.4 2005/10/29 23:57:08 tmmm Exp $ +** $Id: hcb_2.h,v 1.5 2007/11/01 12:34:11 menno Exp $ **/ /* 2-step huffman table HCB_2 */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb_3.h --- a/contrib/libfaad/codebook/hcb_3.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb_3.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: hcb_3.h,v 1.4 2005/10/29 23:57:08 tmmm Exp $ +** $Id: hcb_3.h,v 1.5 2007/11/01 12:34:11 menno Exp $ **/ /* Binary search huffman table HCB_3 */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb_4.h --- a/contrib/libfaad/codebook/hcb_4.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb_4.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: hcb_4.h,v 1.4 2005/10/29 23:57:08 tmmm Exp $ +** $Id: hcb_4.h,v 1.5 2007/11/01 12:34:11 menno Exp $ **/ /* 2-step huffman table HCB_4 */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb_5.h --- a/contrib/libfaad/codebook/hcb_5.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb_5.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: hcb_5.h,v 1.4 2005/10/29 23:57:08 tmmm Exp $ +** $Id: hcb_5.h,v 1.5 2007/11/01 12:34:11 menno Exp $ **/ /* Binary search huffman table HCB_5 */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb_6.h --- a/contrib/libfaad/codebook/hcb_6.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb_6.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: hcb_6.h,v 1.4 2005/10/29 23:57:08 tmmm Exp $ +** $Id: hcb_6.h,v 1.5 2007/11/01 12:34:11 menno Exp $ **/ /* 2-step huffman table HCB_6 */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb_7.h --- a/contrib/libfaad/codebook/hcb_7.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb_7.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: hcb_7.h,v 1.4 2005/10/29 23:57:08 tmmm Exp $ +** $Id: hcb_7.h,v 1.5 2007/11/01 12:34:11 menno Exp $ **/ /* Binary search huffman table HCB_7 */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb_8.h --- a/contrib/libfaad/codebook/hcb_8.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb_8.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: hcb_8.h,v 1.4 2005/10/29 23:57:08 tmmm Exp $ +** $Id: hcb_8.h,v 1.5 2007/11/01 12:34:11 menno Exp $ **/ /* 2-step huffman table HCB_8 */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb_9.h --- a/contrib/libfaad/codebook/hcb_9.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb_9.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... -** -** $Id: hcb_9.h,v 1.4 2005/10/29 23:57:08 tmmm Exp $ +** For more info contact Nero AG through Mpe...@ne.... +** +** $Id: hcb_9.h,v 1.5 2007/11/01 12:34:11 menno Exp $ **/ /* Binary search huffman table HCB_9 */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/codebook/hcb_sf.h --- a/contrib/libfaad/codebook/hcb_sf.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/codebook/hcb_sf.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... -** -** $Id: hcb_sf.h,v 1.4 2005/10/29 23:57:08 tmmm Exp $ +** For more info contact Nero AG through Mpe...@ne.... +** +** $Id: hcb_sf.h,v 1.7 2007/11/01 12:34:11 menno Exp $ **/ /* Binary search huffman table HCB_SF */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/common.c --- a/contrib/libfaad/common.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/common.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,28 +1,31 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com -** +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com +** ** 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 +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: common.c,v 1.8 2005/10/29 23:57:06 tmmm Exp $ +** $Id: common.c,v 1.26 2007/11/01 12:33:30 menno Exp $ **/ /* just some common functions that could be used anywhere */ @@ -229,16 +232,16 @@ static uint32_t __r2 = 1; * which gives a period of 18.410.713.077.675.721.215. The result is the * XORed values of both generators. */ -uint32_t random_int(void) +uint32_t ne_rng(uint32_t *__r1, uint32_t *__r2) { uint32_t t1, t2, t3, t4; - t3 = t1 = __r1; t4 = t2 = __r2; // Parity calculation is done via table lookup, this is also available + t3 = t1 = *__r1; t4 = t2 = *__r2; // Parity calculation is done via table lookup, this is also available t1 &= 0xF5; t2 >>= 25; // on CPUs without parity, can be implemented in C and avoid unpredictable t1 = Parity [t1]; t2 &= 0x63; // jumps and slow rotate through the carry flag operations. t1 <<= 31; t2 = Parity [t2]; - return (__r1 = (t3 >> 1) | t1 ) ^ (__r2 = (t4 + t4) | t2 ); + return (*__r1 = (t3 >> 1) | t1 ) ^ (*__r2 = (t4 + t4) | t2 ); } uint32_t ones32(uint32_t x) diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/common.h --- a/contrib/libfaad/common.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/common.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,28 +1,31 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com -** +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com +** ** 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 +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: common.h,v 1.17 2006/06/17 20:43:57 dgp85 Exp $ +** $Id: common.h,v 1.72 2007/11/01 12:33:30 menno Exp $ **/ #ifndef __COMMON_H__ @@ -32,13 +35,16 @@ extern "C" { extern "C" { #endif -#ifdef __CYGWIN__ -#define __STRICT_ANSI__ -#endif - -#include "../include/config.h" - +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#if 1 #define INLINE __inline +#else +#define INLINE inline +#endif + #if 0 //defined(_WIN32) && !defined(_WIN32_WCE) #define ALIGN __declspec(align(16)) #else @@ -63,10 +69,13 @@ extern "C" { /* Use if target platform has address generators with autoincrement */ //#define PREFER_POINTERS -#if defined(_WIN32_WCE) || defined(__arm__) +#ifdef _WIN32_WCE #define FIXED_POINT #endif +#ifdef __BFIN__ +#define FIXED_POINT +#endif #define ERROR_RESILIENCE @@ -79,8 +88,6 @@ extern "C" { #define LTP_DEC /* Allow decoding of LD profile AAC */ #define LD_DEC -/* Allow decoding of scalable profiles */ -//#define SCALABLE_DEC /* Allow decoding of Digital Radio Mondiale (DRM) */ //#define DRM //#define DRM_PS @@ -114,20 +121,25 @@ extern "C" { //#define SBR_LOW_POWER #define PS_DEC +#ifdef SBR_LOW_POWER +#undef PS_DEC +#endif + /* FIXED POINT: No MAIN decoding */ #ifdef FIXED_POINT # ifdef MAIN_DEC # undef MAIN_DEC # endif -# ifdef SBR_DEC -# undef SBR_DEC -# endif #endif // FIXED_POINT #ifdef DRM -# ifndef SCALABLE_DEC -# define SCALABLE_DEC -# endif +# ifndef ALLOW_SMALL_FRAMELENGTH +# define ALLOW_SMA... [truncated message content] |
From: <li...@yo...> - 2007-11-24 22:45:04
|
# [node c67926c9c2eb7158c6147bb763ecc008b6d3de02 part 1] diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_dct.c --- a/contrib/libfaad/sbr_dct.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_dct.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,29 +1,37 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com -** +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com +** ** 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 +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_dct.c,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_dct.c,v 1.20 2007/11/01 12:33:34 menno Exp $ **/ + + +/* Most of the DCT/DST codes here are generated using Spiral which is GPL + * For more info see: http://www.spiral.net/ + */ #include "common.h" @@ -479,1386 +487,6 @@ void DCT4_32(real_t *y, real_t *x) y[1] = f397 - f396; } -#ifdef SBR_LOW_POWER - -void DCT2_16_unscaled(real_t *y, real_t *x) -{ - real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10; - real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20; - real_t f21, f22, f23, f24, f25, f26, f27, f28, f31, f32; - real_t f33, f34, f37, f38, f39, f40, f41, f42, f43, f44; - real_t f45, f46, f47, f48, f49, f51, f53, f54, f57, f58; - real_t f59, f60, f61, f62, f63, f64, f65, f66, f67, f68; - real_t f69, f70, f71, f72, f73, f74, f75, f76, f77, f78; - real_t f79, f80, f81, f82, f83, f84, f85, f86, f87, f88; - real_t f89, f90, f91, f92, f95, f96, f97, f98, f101, f102; - real_t f103, f104, f107, f108, f109, f110; - - f0 = x[0] - x[15]; - f1 = x[0] + x[15]; - f2 = x[1] - x[14]; - f3 = x[1] + x[14]; - f4 = x[2] - x[13]; - f5 = x[2] + x[13]; - f6 = x[3] - x[12]; - f7 = x[3] + x[12]; - f8 = x[4] - x[11]; - f9 = x[4] + x[11]; - f10 = x[5] - x[10]; - f11 = x[5] + x[10]; - f12 = x[6] - x[9]; - f13 = x[6] + x[9]; - f14 = x[7] - x[8]; - f15 = x[7] + x[8]; - f16 = f1 - f15; - f17 = f1 + f15; - f18 = f3 - f13; - f19 = f3 + f13; - f20 = f5 - f11; - f21 = f5 + f11; - f22 = f7 - f9; - f23 = f7 + f9; - f24 = f17 - f23; - f25 = f17 + f23; - f26 = f19 - f21; - f27 = f19 + f21; - f28 = f25 - f27; - y[0] = f25 + f27; - y[8] = MUL_F(f28, FRAC_CONST(0.7071067811865476)); - f31 = f24 + f26; - f32 = MUL_C(f24, COEF_CONST(1.3065629648763766)); - f33 = MUL_F(f31, FRAC_CONST(-0.9238795325112866)); - f34 = MUL_F(f26, FRAC_CONST(-0.5411961001461967)); - y[12] = f32 + f33; - y[4] = f34 - f33; - f37 = f16 + f22; - f38 = MUL_C(f16, COEF_CONST(1.1758756024193588)); - f39 = MUL_F(f37, FRAC_CONST(-0.9807852804032304)); - f40 = MUL_F(f22, FRAC_CONST(-0.7856949583871021)); - f41 = f38 + f39; - f42 = f40 - f39; - f43 = f18 + f20; - f44 = MUL_C(f18, COEF_CONST(1.3870398453221473)); - f45 = MUL_F(f43, FRAC_CONST(-0.8314696123025455)); - f46 = MUL_F(f20, FRAC_CONST(-0.2758993792829436)); - f47 = f44 + f45; - f48 = f46 - f45; - f49 = f42 - f48; - y[2] = f42 + f48; - f51 = MUL_F(f49, FRAC_CONST(0.7071067811865476)); - y[14] = f41 - f47; - f53 = f41 + f47; - f54 = MUL_F(f53, FRAC_CONST(0.7071067811865476)); - y[10] = f51 - f54; - y[6] = f51 + f54; - f57 = f2 - f4; - f58 = f2 + f4; - f59 = f6 - f8; - f60 = f6 + f8; [... 2566 lines omitted ...] + COEF_CONST(-1.383549690246582), COEF_CONST(-1.367511272430420), + COEF_CONST(-1.348178386688232), COEF_CONST(-1.325597524642944), + COEF_CONST(-1.299823284149170), COEF_CONST(-1.270917654037476), + COEF_CONST(-1.238950133323669), COEF_CONST(-1.203998088836670), + COEF_CONST(-1.166145324707031), COEF_CONST(-1.125483393669128), + COEF_CONST(-1.082109928131104), COEF_CONST(-1.036129593849182), + COEF_CONST(-0.987653195858002), COEF_CONST(-0.936797380447388), + COEF_CONST(-0.883684754371643), COEF_CONST(-0.828443288803101), + COEF_CONST(-0.771206021308899), COEF_CONST(-0.712110757827759), + COEF_CONST(-0.651300072669983), COEF_CONST(-0.588920354843140), + COEF_CONST(-0.525121808052063), COEF_CONST(-0.460058242082596), + COEF_CONST(-0.393886327743530), COEF_CONST(-0.326765477657318), + COEF_CONST(-0.258857429027557), COEF_CONST(-0.190325915813446), + COEF_CONST(-0.121335685253143), COEF_CONST(-0.052053272724152), + COEF_CONST(0.017354607582092), COEF_CONST(0.086720645427704), + COEF_CONST(0.155877828598022), COEF_CONST(0.224659323692322), + COEF_CONST(0.292899727821350), COEF_CONST(0.360434412956238), + COEF_CONST(0.427100926637650), COEF_CONST(0.492738455533981), + COEF_CONST(0.557188928127289), COEF_CONST(0.620297133922577), + COEF_CONST(0.681910991668701), COEF_CONST(0.741881847381592), + COEF_CONST(0.800065577030182), COEF_CONST(0.856321990489960), + COEF_CONST(0.910515367984772), COEF_CONST(0.962515234947205), + COEF_CONST(1.000000000000000), COEF_CONST(0.998795449733734), + COEF_CONST(0.995184719562531), COEF_CONST(0.989176511764526), + COEF_CONST(0.980785250663757), COEF_CONST(0.970031261444092), + COEF_CONST(0.956940352916718), COEF_CONST(0.941544055938721), + COEF_CONST(0.923879504203796), COEF_CONST(0.903989315032959), + COEF_CONST(0.881921231746674), COEF_CONST(0.857728600502014), + COEF_CONST(0.831469595432281), COEF_CONST(0.803207516670227), + COEF_CONST(0.773010432720184), COEF_CONST(0.740951120853424), + COEF_CONST(0.707106769084930), COEF_CONST(0.671558916568756), + COEF_CONST(0.634393274784088), COEF_CONST(0.595699310302734), + COEF_CONST(0.555570185184479), COEF_CONST(0.514102697372437), + COEF_CONST(0.471396654844284), COEF_CONST(0.427555114030838), + COEF_CONST(0.382683426141739), COEF_CONST(0.336889833211899), + COEF_CONST(0.290284633636475), COEF_CONST(0.242980122566223), + COEF_CONST(0.195090234279633), COEF_CONST(0.146730497479439), + COEF_CONST(0.098017133772373), COEF_CONST(0.049067649990320), + COEF_CONST(-1.000000000000000), COEF_CONST(-1.047863125801086), + COEF_CONST(-1.093201875686646), COEF_CONST(-1.135906934738159), + COEF_CONST(-1.175875544548035), COEF_CONST(-1.213011503219605), + COEF_CONST(-1.247225046157837), COEF_CONST(-1.278433918952942), + COEF_CONST(-1.306562900543213), COEF_CONST(-1.331544399261475), + COEF_CONST(-1.353317975997925), COEF_CONST(-1.371831417083740), + COEF_CONST(-1.387039899826050), COEF_CONST(-1.398906826972961), + COEF_CONST(-1.407403707504273), COEF_CONST(-1.412510156631470), + COEF_CONST(0), COEF_CONST(-1.412510156631470), + COEF_CONST(-1.407403707504273), COEF_CONST(-1.398906826972961), + COEF_CONST(-1.387039899826050), COEF_CONST(-1.371831417083740), + COEF_CONST(-1.353317975997925), COEF_CONST(-1.331544399261475), + COEF_CONST(-1.306562900543213), COEF_CONST(-1.278433918952942), + COEF_CONST(-1.247225046157837), COEF_CONST(-1.213011384010315), + COEF_CONST(-1.175875544548035), COEF_CONST(-1.135907053947449), + COEF_CONST(-1.093201875686646), COEF_CONST(-1.047863125801086), + COEF_CONST(-1.000000000000000), COEF_CONST(-0.949727773666382), + COEF_CONST(-0.897167563438416), COEF_CONST(-0.842446029186249), + COEF_CONST(-0.785694956779480), COEF_CONST(-0.727051079273224), + COEF_CONST(-0.666655659675598), COEF_CONST(-0.604654192924500), + COEF_CONST(-0.541196048259735), COEF_CONST(-0.476434230804443), + COEF_CONST(-0.410524487495422), COEF_CONST(-0.343625843524933), + COEF_CONST(-0.275899350643158), COEF_CONST(-0.207508206367493), + COEF_CONST(-0.138617098331451), COEF_CONST(-0.069392144680023), + COEF_CONST(0), COEF_CONST(0.069392263889313), + COEF_CONST(0.138617157936096), COEF_CONST(0.207508206367493), + COEF_CONST(0.275899469852448), COEF_CONST(0.343625962734222), + COEF_CONST(0.410524636507034), COEF_CONST(0.476434201002121), + COEF_CONST(0.541196107864380), COEF_CONST(0.604654192924500), + COEF_CONST(0.666655719280243), COEF_CONST(0.727051138877869), + COEF_CONST(0.785695075988770), COEF_CONST(0.842446029186249), + COEF_CONST(0.897167563438416), COEF_CONST(0.949727773666382) +}; + +/* size 64 only! */ +void dct4_kernel(real_t * in_real, real_t * in_imag, real_t * out_real, real_t * out_imag) +{ + // Tables with bit reverse values for 5 bits, bit reverse of i at i-th position + const uint8_t bit_rev_tab[32] = { 0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23,15,31 }; + uint32_t i, i_rev; + + /* Step 2: modulate */ + // 3*32=96 multiplications + // 3*32=96 additions + for (i = 0; i < 32; i++) + { + real_t x_re, x_im, tmp; + x_re = in_real[i]; + x_im = in_imag[i]; + tmp = MUL_C(x_re + x_im, dct4_64_tab[i]); + in_real[i] = MUL_C(x_im, dct4_64_tab[i + 64]) + tmp; + in_imag[i] = MUL_C(x_re, dct4_64_tab[i + 32]) + tmp; + } + + /* Step 3: FFT, but with output in bit reverse order */ + fft_dif(in_real, in_imag); + + /* Step 4: modulate + bitreverse reordering */ + // 3*31+2=95 multiplications + // 3*31+2=95 additions + for (i = 0; i < 16; i++) + { + real_t x_re, x_im, tmp; + i_rev = bit_rev_tab[i]; + x_re = in_real[i_rev]; + x_im = in_imag[i_rev]; + + tmp = MUL_C(x_re + x_im, dct4_64_tab[i + 3*32]); + out_real[i] = MUL_C(x_im, dct4_64_tab[i + 5*32]) + tmp; + out_imag[i] = MUL_C(x_re, dct4_64_tab[i + 4*32]) + tmp; + } + // i = 16, i_rev = 1 = rev(16); + out_imag[16] = MUL_C(in_imag[1] - in_real[1], dct4_64_tab[16 + 3*32]); + out_real[16] = MUL_C(in_real[1] + in_imag[1], dct4_64_tab[16 + 3*32]); + for (i = 17; i < 32; i++) + { + real_t x_re, x_im, tmp; + i_rev = bit_rev_tab[i]; + x_re = in_real[i_rev]; + x_im = in_imag[i_rev]; + tmp = MUL_C(x_re + x_im, dct4_64_tab[i + 3*32]); + out_real[i] = MUL_C(x_im, dct4_64_tab[i + 5*32]) + tmp; + out_imag[i] = MUL_C(x_re, dct4_64_tab[i + 4*32]) + tmp; + } + +} + #endif #endif diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_dct.h --- a/contrib/libfaad/sbr_dct.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_dct.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_dct.h,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_dct.h,v 1.19 2007/11/01 12:33:34 menno Exp $ **/ #ifndef __SBR_DCT_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_dec.c --- a/contrib/libfaad/sbr_dec.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_dec.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_dec.c,v 1.9 2006/06/17 20:43:57 dgp85 Exp $ +** $Id: sbr_dec.c,v 1.43 2007/11/01 12:33:34 menno Exp $ **/ @@ -176,6 +179,72 @@ void sbrDecodeEnd(sbr_info *sbr) } } +void sbrReset(sbr_info *sbr) +{ + uint8_t j; + if (sbr->qmfa[0] != NULL) + memset(sbr->qmfa[0]->x, 0, 2 * sbr->qmfa[0]->channels * 10 * sizeof(real_t)); + if (sbr->qmfa[1] != NULL) + memset(sbr->qmfa[1]->x, 0, 2 * sbr->qmfa[1]->channels * 10 * sizeof(real_t)); + if (sbr->qmfs[0] != NULL) + memset(sbr->qmfs[0]->v, 0, 2 * sbr->qmfs[0]->channels * 20 * sizeof(real_t)); + if (sbr->qmfs[1] != NULL) + memset(sbr->qmfs[1]->v, 0, 2 * sbr->qmfs[1]->channels * 20 * sizeof(real_t)); + + for (j = 0; j < 5; j++) + { + if (sbr->G_temp_prev[0][j] != NULL) + memset(sbr->G_temp_prev[0][j], 0, 64*sizeof(real_t)); + if (sbr->G_temp_prev[1][j] != NULL) + memset(sbr->G_temp_prev[1][j], 0, 64*sizeof(real_t)); + if (sbr->Q_temp_prev[0][j] != NULL) + memset(sbr->Q_temp_prev[0][j], 0, 64*sizeof(real_t)); + if (sbr->Q_temp_prev[1][j] != NULL) + memset(sbr->Q_temp_prev[1][j], 0, 64*sizeof(real_t)); + } + + memset(sbr->Xsbr[0], 0, (sbr->numTimeSlotsRate+sbr->tHFGen)*64 * sizeof(qmf_t)); + memset(sbr->Xsbr[1], 0, (sbr->numTimeSlotsRate+sbr->tHFGen)*64 * sizeof(qmf_t)); + + sbr->GQ_ringbuf_index[0] = 0; + sbr->GQ_ringbuf_index[1] = 0; + sbr->header_count = 0; + sbr->Reset = 1; + + sbr->L_E_prev[0] = 0; + sbr->L_E_prev[1] = 0; + sbr->bs_freq_scale = 2; + sbr->bs_alter_scale = 1; + sbr->bs_noise_bands = 2; + sbr->bs_limiter_bands = 2; + sbr->bs_limiter_gains = 2; + sbr->bs_interpol_freq = 1; + sbr->bs_smoothing_mode = 1; + sbr->bs_start_freq = 5; + sbr->bs_amp_res = 1; + sbr->bs_samplerate_mode = 1; + sbr->prevEnvIsShort[0] = -1; + sbr->prevEnvIsShort[1] = -1; + sbr->bsco = 0; + sbr->bsco_prev = 0; + sbr->M_prev = 0; + sbr->bs_start_freq_prev = -1; + + sbr->f_prev[0] = 0; + sbr->f_prev[1] = 0; + for (j = 0; j < MAX_M; j++) + { + sbr->E_prev[0][j] = 0; + sbr->Q_prev[0][j] = 0; + sbr->E_prev[1][j] = 0; + sbr->Q_prev[1][j] = 0; + sbr->bs_add_harmonic_prev[0][j] = 0; + sbr->bs_add_harmonic_prev[1][j] = 0; + } + sbr->bs_add_harmonic_flag_prev[0] = 0; + sbr->bs_add_harmonic_flag_prev[1] = 0; +} + static uint8_t sbr_save_prev_data(sbr_info *sbr, uint8_t ch) { uint8_t i; @@ -226,11 +295,12 @@ static void sbr_save_matrix(sbr_info *sb } } -static void sbr_process_channel(sbr_info *sbr, real_t *channel_buf, qmf_t X[MAX_NTSR][64], - uint8_t ch, uint8_t dont_process, - const uint8_t downSampledSBR) +static uint8_t sbr_process_channel(sbr_info *sbr, real_t *channel_buf, qmf_t X[MAX_NTSR][64], + uint8_t ch, uint8_t dont_process, + const uint8_t downSampledSBR) { int16_t k, l; + uint8_t ret = 0; #ifdef SBR_LOW_POWER ALIGN real_t deg[64]; @@ -278,7 +348,7 @@ static void sbr_process_channel(sbr_info ,ch); #endif -#ifdef SBR_LOW_POWER +#if 0 //def SBR_LOW_POWER for (l = sbr->t_E[ch][0]; l < sbr->t_E[ch][sbr->L_E[ch]]; l++) { for (k = 0; k < sbr->kx; k++) @@ -290,12 +360,16 @@ static void sbr_process_channel(sbr_info #if 1 /* hf adjustment */ - hf_adjustment(sbr, sbr->Xsbr[ch] + ret = hf_adjustment(sbr, sbr->Xsbr[ch] #ifdef SBR_LOW_POWER ,deg #endif ,ch); #endif + if (ret > 0) + { + dont_process = 1; + } } if ((sbr->just_seeked != 0) || dont_process) @@ -367,6 +441,8 @@ static void sbr_process_channel(sbr_info #endif } } + + return ret; } uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_chan, @@ -400,7 +476,7 @@ uint8_t sbrDecodeCoupleFrame(sbr_info *s sbr->just_seeked = 0; } - sbr_process_channel(sbr, left_chan, X, 0, dont_process, downSampledSBR); + sbr->ret += sbr_process_channel(sbr, left_chan, X, 0, dont_process, downSampledSBR); /* subband synthesis */ if (downSampledSBR) { @@ -409,7 +485,7 @@ uint8_t sbrDecodeCoupleFrame(sbr_info *s sbr_qmf_synthesis_64(sbr, sbr->qmfs[0], X, left_chan); } - sbr_process_channel(sbr, right_chan, X, 1, dont_process, downSampledSBR); + sbr->ret += sbr_process_channel(sbr, right_chan, X, 1, dont_process, downSampledSBR); /* subband synthesis */ if (downSampledSBR) { @@ -483,7 +559,7 @@ uint8_t sbrDecodeSingleFrame(sbr_info *s sbr->just_seeked = 0; } - sbr_process_channel(sbr, channel, X, 0, dont_process, downSampledSBR); + sbr->ret += sbr_process_channel(sbr, channel, X, 0, dont_process, downSampledSBR); /* subband synthesis */ if (downSampledSBR) { @@ -526,8 +602,8 @@ uint8_t sbrDecodeSingleFramePS(sbr_info uint8_t l, k; uint8_t dont_process = 0; uint8_t ret = 0; - ALIGN qmf_t X_left[38][64] = {{{0}}}; - ALIGN qmf_t X_right[38][64] = {{{0}}}; /* must set this to 0 */ + ALIGN qmf_t X_left[38][64] = {{0}}; + ALIGN qmf_t X_right[38][64] = {{0}}; /* must set this to 0 */ if (sbr == NULL) return 20; @@ -558,7 +634,7 @@ uint8_t sbrDecodeSingleFramePS(sbr_info sbr->qmfs[1] = qmfs_init((downSampledSBR)?32:64); } - sbr_process_channel(sbr, left_channel, X_left, 0, dont_process, downSampledSBR); + sbr->ret += sbr_process_channel(sbr, left_channel, X_left, 0, dont_process, downSampledSBR); /* copy some extra data for PS */ for (l = 32; l < 38; l++) @@ -574,7 +650,7 @@ uint8_t sbrDecodeSingleFramePS(sbr_info #ifdef DRM_PS if (sbr->Is_DRM_SBR) { - drm_ps_decode(sbr->drm_ps, (sbr->ret > 0), sbr->sample_rate, X_left, X_right); + drm_ps_decode(sbr->drm_ps, (sbr->ret > 0), X_left, X_right); } else { #endif #ifdef PS_DEC diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_dec.h --- a/contrib/libfaad/sbr_dec.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_dec.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,28 +1,31 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com -** +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com +** ** 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 +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... -** -** $Id: sbr_dec.h,v 1.7 2005/10/29 23:57:07 tmmm Exp $ +** For more info contact Nero AG through Mpe...@ne.... +** +** $Id: sbr_dec.h,v 1.39 2007/11/01 12:33:34 menno Exp $ **/ #ifndef __SBR_DEC_H__ @@ -183,6 +186,7 @@ typedef struct #endif #if (defined(PS_DEC) || defined(DRM_PS)) uint8_t ps_used; + uint8_t psResetFlag; #endif /* to get it compiling */ @@ -231,6 +235,7 @@ sbr_info *sbrDecodeInit(uint16_t framele #endif ); void sbrDecodeEnd(sbr_info *sbr); +void sbrReset(sbr_info *sbr); uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_chan, const uint8_t just_seeked, const uint8_t downSampledSBR); diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_e_nf.c --- a/contrib/libfaad/sbr_e_nf.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_e_nf.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_e_nf.c,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_e_nf.c,v 1.21 2007/11/01 12:33:35 menno Exp $ **/ #include "common.h" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_e_nf.h --- a/contrib/libfaad/sbr_e_nf.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_e_nf.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_e_nf.h,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_e_nf.h,v 1.18 2007/11/01 12:33:35 menno Exp $ **/ #ifndef __SBR_E_NF_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_fbt.c --- a/contrib/libfaad/sbr_fbt.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_fbt.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_fbt.c,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_fbt.c,v 1.21 2007/11/01 12:33:35 menno Exp $ **/ /* Calculate frequency band tables */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_fbt.h --- a/contrib/libfaad/sbr_fbt.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_fbt.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_fbt.h,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_fbt.h,v 1.18 2007/11/01 12:33:35 menno Exp $ **/ #ifndef __SBR_FBT_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_hfadj.c --- a/contrib/libfaad/sbr_hfadj.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_hfadj.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_hfadj.c,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_hfadj.c,v 1.22 2007/11/01 12:33:35 menno Exp $ **/ /* High Frequency adjustment */ @@ -39,8 +42,8 @@ /* static function declarations */ -static void estimate_current_envelope(sbr_info *sbr, sbr_hfadj_info *adj, - qmf_t Xsbr[MAX_NTSRHFG][64], uint8_t ch); +static uint8_t estimate_current_envelope(sbr_info *sbr, sbr_hfadj_info *adj, + qmf_t Xsbr[MAX_NTSRHFG][64], uint8_t ch); static void calculate_gain(sbr_info *sbr, sbr_hfadj_info *adj, uint8_t ch); #ifdef SBR_LOW_POWER static void calc_gain_groups(sbr_info *sbr, sbr_hfadj_info *adj, real_t *deg, uint8_t ch); @@ -49,13 +52,14 @@ static void hf_assembly(sbr_info *sbr, s static void hf_assembly(sbr_info *sbr, sbr_hfadj_info *adj, qmf_t Xsbr[MAX_NTSRHFG][64], uint8_t ch); -void hf_adjustment(sbr_info *sbr, qmf_t Xsbr[MAX_NTSRHFG][64] +uint8_t hf_adjustment(sbr_info *sbr, qmf_t Xsbr[MAX_NTSRHFG][64] #ifdef SBR_LOW_POWER - ,real_t *deg /* aliasing degree */ -#endif - ,uint8_t ch) + ,real_t *deg /* aliasing degree */ +#endif + ,uint8_t ch) { ALIGN sbr_hfadj_info adj = {{{0}}}; + uint8_t ret = 0; if (sbr->bs_frame_class[ch] == FIXFIX) { @@ -72,7 +76,9 @@ void hf_adjustment(sbr_info *sbr, qmf_t sbr->l_A[ch] = sbr->L_E[ch] + 1 - sbr->bs_pointer[ch]; } - estimate_current_envelope(sbr, &adj, Xsbr, ch); + ret = estimate_current_envelope(sbr, &adj, Xsbr, ch); + if (ret > 0) + return 1; calculate_gain(sbr, &adj, ch); @@ -82,6 +88,8 @@ void hf_adjustment(sbr_info *sbr, qmf_t #endif hf_assembly(sbr, &adj, Xsbr, ch); + + return 0; } static uint8_t get_S_mapped(sbr_info *sbr, uint8_t ch, uint8_t l, uint8_t current_band) @@ -125,8 +133,8 @@ static uint8_t get_S_mapped(sbr_info *sb return 0; } -static void estimate_current_envelope(sbr_info *sbr, sbr_hfadj_info *adj, - qmf_t Xsbr[MAX_NTSRHFG][64], uint8_t ch) +static uint8_t estimate_current_envelope(sbr_info *sbr, sbr_hfadj_info *adj, + qmf_t Xsbr[MAX_NTSRHFG][64], uint8_t ch) { uint8_t m, l, j, k, k_l, k_h, p; real_t nrg, div; @@ -141,6 +149,9 @@ static void estimate_current_envelope(sb u_i = sbr->t_E[ch][l+1]; div = (real_t)(u_i - l_i); + + if (div == 0) + div = 1; for (m = 0; m < sbr->M; m++) { @@ -191,6 +202,9 @@ static void estimate_current_envelope(sb u_i = sbr->t_E[ch][l+1]; div = (real_t)((u_i - l_i)*(k_h - k_l)); + + if (div == 0) + div = 1; for (i = l_i + sbr->tHFAdj; i < u_i + sbr->tHFAdj; i++) { @@ -225,6 +239,8 @@ static void estimate_current_envelope(sb } } } + + return 0; } #ifdef FIXED_POINT @@ -1342,15 +1358,27 @@ static void calc_gain_groups(sbr_info *s { uint8_t l, k, i; uint8_t grouping; + uint8_t S_mapped; for (l = 0; l < sbr->L_E[ch]; l++) { + uint8_t current_res_band = 0; i = 0; grouping = 0; + S_mapped = get_S_mapped(sbr, ch, l, current_res_band); + for (k = sbr->kx; k < sbr->kx + sbr->M - 1; k++) { - if (deg[k + 1] && adj->S_mapped[l][k-sbr->kx] == 0) + if (k == sbr->f_table_res[sbr->f[ch][l]][current_res_band+1]) + { + /* step to next resolution band */ + current_res_band++; + + S_mapped = get_S_mapped(sbr, ch, l, current_res_band); + } + + if (deg[k + 1] && S_mapped == 0) { if (grouping == 0) { @@ -1361,7 +1389,7 @@ static void calc_gain_groups(sbr_info *s } else { if (grouping) { - if (adj->S_mapped[l][k-sbr->kx]) + if (S_mapped) { sbr->f_group[l][i] = k; } else { diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_hfadj.h --- a/contrib/libfaad/sbr_hfadj.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_hfadj.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_hfadj.h,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_hfadj.h,v 1.19 2007/11/01 12:33:35 menno Exp $ **/ #ifndef __SBR_HFADJ_H__ @@ -40,11 +43,11 @@ typedef struct } sbr_hfadj_info; -void hf_adjustment(sbr_info *sbr, qmf_t Xsbr[MAX_NTSRHFG][64] +uint8_t hf_adjustment(sbr_info *sbr, qmf_t Xsbr[MAX_NTSRHFG][64] #ifdef SBR_LOW_POWER - ,real_t *deg + ,real_t *deg #endif - ,uint8_t ch); + ,uint8_t ch); #ifdef __cplusplus diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_hfgen.c --- a/contrib/libfaad/sbr_hfgen.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_hfgen.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_hfgen.c,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_hfgen.c,v 1.26 2007/11/01 12:33:35 menno Exp $ **/ /* High Frequency generation */ @@ -35,7 +38,6 @@ #include "sbr_syntax.h" #include "sbr_hfgen.h" #include "sbr_fbt.h" - /* static function declarations */ #ifdef SBR_LOW_POWER diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_hfgen.h --- a/contrib/libfaad/sbr_hfgen.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_hfgen.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_hfgen.h,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_hfgen.h,v 1.20 2007/11/01 12:33:35 menno Exp $ **/ #ifndef __SBR_HFGEN_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_huff.c --- a/contrib/libfaad/sbr_huff.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_huff.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... -** -** $Id: sbr_huff.c,v 1.7 2005/10/29 23:57:07 tmmm Exp $ +** For more info contact Nero AG through Mpe...@ne.... +** +** $Id: sbr_huff.c,v 1.21 2007/11/01 12:33:35 menno Exp $ **/ #include "common.h" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_huff.h --- a/contrib/libfaad/sbr_huff.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_huff.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_huff.h,v 1.7 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_huff.h,v 1.21 2007/11/01 12:33:35 menno Exp $ **/ #ifndef __SBR_HUFF_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_noise.h --- a/contrib/libfaad/sbr_noise.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_noise.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_noise.h,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_noise.h,v 1.17 2007/11/01 12:33:35 menno Exp $ **/ #ifndef __SBR_NOISE_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_qmf.c --- a/contrib/libfaad/sbr_qmf.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_qmf.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,28 +1,31 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com -** +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com +** ** 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 +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_qmf.c,v 1.7 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_qmf.c,v 1.32 2007/11/01 12:33:36 menno Exp $ **/ #include "common.h" @@ -72,7 +75,7 @@ void sbr_qmf_analysis_32(sbr_info *sbr, #else ALIGN real_t y[32]; #endif - uint16_t in = 0; + uint32_t in = 0; uint8_t l; /* qmf subsample l */ @@ -251,7 +254,7 @@ void sbr_qmf_synthesis_32(sbr_info *sbr, { ALIGN real_t x[16]; ALIGN real_t y[16]; - int16_t n, k, out = 0; + int32_t n, k, out = 0; uint8_t l; /* qmf subsample l */ @@ -320,7 +323,7 @@ void sbr_qmf_synthesis_64(sbr_info *sbr, { ALIGN real_t x[64]; ALIGN real_t y[64]; - int16_t n, k, out = 0; + int32_t n, k, out = 0; uint8_t l; @@ -392,7 +395,7 @@ void sbr_qmf_synthesis_32(sbr_info *sbr, #ifndef FIXED_POINT real_t scale = 1.f/64.f; #endif - int16_t n, k, out = 0; + int32_t n, k, out = 0; uint8_t l; @@ -475,7 +478,7 @@ void sbr_qmf_synthesis_64(sbr_info *sbr, #ifndef FIXED_POINT real_t scale = 1.f/64.f; #endif - int16_t n, k, out = 0; + int32_t n, k, out = 0; uint8_t l; diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_qmf.h --- a/contrib/libfaad/sbr_qmf.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_qmf.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_qmf.h,v 1.7 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_qmf.h,v 1.25 2007/11/01 12:33:36 menno Exp $ **/ #ifndef __SBR_QMF_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_qmf_c.h --- a/contrib/libfaad/sbr_qmf_c.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_qmf_c.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,28 +1,31 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com -** +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com +** ** 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 +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... -** -** $Id: sbr_qmf_c.h,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** For more info contact Nero AG through Mpe...@ne.... +** +** $Id: sbr_qmf_c.h,v 1.17 2007/11/01 12:33:36 menno Exp $ **/ #ifndef __SBR_QMF_C_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_syntax.c --- a/contrib/libfaad/sbr_syntax.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_syntax.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_syntax.c,v 1.7 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_syntax.c,v 1.38 2007/11/01 12:33:36 menno Exp $ **/ #include "common.h" @@ -45,6 +48,7 @@ #endif #include "analysis.h" +/* static function declarations */ /* static function declarations */ static void sbr_header(bitfile *ld, sbr_info *sbr); static uint8_t calc_sbr_tables(sbr_info *sbr, uint8_t start_freq, uint8_t stop_freq, @@ -131,15 +135,22 @@ static uint8_t calc_sbr_tables(sbr_info } /* table 2 */ -uint8_t sbr_extension_data(bitfile *ld, sbr_info *sbr, uint16_t cnt) +uint8_t sbr_extension_data(bitfile *ld, sbr_info *sbr, uint16_t cnt, + uint8_t psResetFlag) { uint8_t result = 0; uint16_t num_align_bits = 0; - uint16_t num_sbr_bits = (uint16_t)faad_get_processed_bits(ld); + uint16_t num_sbr_bits1 = (uint16_t)faad_get_processed_bits(ld); + uint16_t num_sbr_bits2; uint8_t saved_start_freq, saved_samplerate_mode; uint8_t saved_stop_freq, saved_freq_scale; uint8_t saved_alter_scale, saved_xover_band; + +#if (defined(PS_DEC) || defined(DRM_PS)) + if (psResetFlag) + sbr->psResetFlag = psResetFlag; +#endif #ifdef DRM if (!sbr->Is_DRM_SBR) @@ -206,28 +217,40 @@ uint8_t sbr_extension_data(bitfile *ld, { calc_sbr_tables(sbr, saved_start_freq, saved_stop_freq, saved_samplerate_mode, saved_freq_scale, - saved_alter_scale, saved_xover_band); + saved_alter_scale, saved_xover_band); } - /* we should be able to safely set result to 0 now */ - result = 0; + /* we should be able to safely set result to 0 now, */ + /* but practise indicates this doesn't work well */ } } else { result = 1; } + num_sbr_bits2 = (uint16_t)faad_get_processed_bits(ld) - num_sbr_bits1; + + /* check if we read more bits then were available for sbr */ + if (8*cnt < num_sbr_bits2) + { + faad_resetbits(ld, num_sbr_bits1 + 8*cnt); + num_sbr_bits2 = 8*cnt; + +#ifdef PS_DEC + /* turn off PS for the unfortunate case that we randomly read some + * PS data that looks correct */ + sbr->ps_used = 0; +#endif + + /* Make sure it doesn't decode SBR in this frame, or we'll get glitches */ + return 1; + } + #ifdef DRM if (!sbr->Is_DRM_SBR) #endif - { - num_sbr_bits = (uint16_t)faad_get_processed_bits(ld) - num_sbr_bits; - - /* check if we read more bits then were available for sbr */ - if (8*cnt < num_sbr_bits) - return 1; - + { /* -4 does not apply, bs_extension_type is re-read in this function */ - num_align_bits = 8*cnt /*- 4*/ - num_sbr_bits; + num_align_bits = 8*cnt /*- 4*/ - num_sbr_bits2; while (num_align_bits > 7) { @@ -364,11 +387,14 @@ static uint8_t sbr_single_channel_elemen #ifdef DRM /* bs_coupling, from sbr_channel_pair_base_element(bs_amp_res) */ if (sbr->Is_DRM_SBR) + { faad_get1bit(ld); + } #endif if ((result = sbr_grid(ld, sbr, 0)) > 0) return result; + sbr_dtdf(ld, sbr, 0); invf_mode(ld, sbr, 0); sbr_envelope(ld, sbr, 0); @@ -431,7 +457,11 @@ static uint8_t sbr_single_channel_elemen } else { /* to be safe make it 3, will switch to "default" * in sbr_extension() */ +#ifdef DRM + return 1; +#else sbr->bs_extension_id = 3; +#endif } } #endif @@ -829,12 +859,21 @@ static uint16_t sbr_extension(bitfile *l { sbr->ps = ps_init(get_sr_index(sbr->sample_rate)); } + if (sbr->psResetFlag) + { + sbr->ps->header_read = 0; + } ret = ps_data(sbr->ps, ld, &header); /* enable PS if and only if: a header has been decoded */ if (sbr->ps_used == 0 && header == 1) { sbr->ps_used = 1; + } + + if (header == 1) + { + sbr->psResetFlag = 0; } return ret; diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_syntax.h --- a/contrib/libfaad/sbr_syntax.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_syntax.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_syntax.h,v 1.7 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_syntax.h,v 1.23 2007/11/01 12:33:36 menno Exp $ **/ #ifndef __SBR_SYNTAX_H__ @@ -55,7 +58,8 @@ extern "C" { #define NOISE_FLOOR_OFFSET 6 -uint8_t sbr_extension_data(bitfile *ld, sbr_info *sbr, uint16_t cnt); +uint8_t sbr_extension_data(bitfile *ld, sbr_info *sbr, uint16_t cnt, + uint8_t resetFlag); #ifdef __cplusplus } diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_tf_grid.c --- a/contrib/libfaad/sbr_tf_grid.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_tf_grid.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... -** -** $Id: sbr_tf_grid.c,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** For more info contact Nero AG through Mpe...@ne.... +** +** $Id: sbr_tf_grid.c,v 1.19 2007/11/01 12:33:36 menno Exp $ **/ /* Time/Frequency grid */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sbr_tf_grid.h --- a/contrib/libfaad/sbr_tf_grid.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sbr_tf_grid.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sbr_tf_grid.h,v 1.5 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sbr_tf_grid.h,v 1.17 2007/11/01 12:33:36 menno Exp $ **/ #ifndef __SBR_TF_GRID_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/sine_win.h --- a/contrib/libfaad/sine_win.h Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/sine_win.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,6 +1,6 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com ** ** 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 @@ -19,10 +19,13 @@ ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: sine_win.h,v 1.6 2005/10/29 23:57:07 tmmm Exp $ +** $Id: sine_win.h,v 1.19 2007/11/01 12:33:36 menno Exp $ **/ #ifndef __SINE_WIN_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libfaad/specrec.c --- a/contrib/libfaad/specrec.c Sat Nov 24 22:12:01 2007 +0000 +++ b/contrib/libfaad/specrec.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,28 +1,31 @@ /* ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding -** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com -** +** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com +** ** 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 +** along with this program; if not, write to the Free Software ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ** ** Any non-GPL usage of this software or parts of this software is strictly ** forbidden. ** +** The "appropriate copyright message" mentioned in section 2c of the GPLv2 +** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com" +** ** Commercial non-GPL licensing of this software is possible. -** For more info contact Ahead Software through Mpe...@ne.... +** For more info contact Nero AG through Mpe...@ne.... ** -** $Id: specrec.c,v 1.10 2006/06/17 20:43:57 dgp85 Exp $ +** $Id: specrec.c,v 1.60 2007/11/01 12:33:36 menno Exp $ **/ /* @@ -327,6 +330,11 @@ uint8_t window_grouping_info(NeAACDecHan } #endif + if (ics->max_sfb > ics->num_swb) + { + return 32; + } + /* preparation of sect_sfb_offset for long blocks */ /* also copy the last value! */ #ifdef LD_DEC @@ -348,6 +356,7 @@ uint8_t window_grouping_info(NeAACDecHan } ics->sect_sfb_offset[0][ics->num_swb] = hDecoder->frameLength; ics->swb_offset[ics->num_swb] = hDecoder->frameLength; + ics->swb_offset_max = hDecoder->frameLength; } else { #endif for (i = 0; i < ics->num_swb; i++) @@ -357,6 +366,7 @@ uint8_t window_grouping_info(NeAACDecHan } ics->sect_sfb_offset[0][ics->num_swb] = hDecoder->frameLength; ics->swb_offset[ics->num_swb] = hDecoder->frameLength; + ics->swb_offset_max = hDecoder->frameLength; #ifdef LD_DEC } #endif @@ -367,9 +377,15 @@ uint8_t window_grouping_info(NeAACDecHan ics->window_group_length[ics->num_window_groups-1] = 1; ics->num_swb = num_swb_128_window[sf_index]; + if (ics->max_sfb > ics->num_swb) + { + retur... [truncated message content] |
From: <li...@yo...> - 2007-11-24 22:45:04
|
# [node c67926c9c2eb7158c6147bb763ecc008b6d3de02 part 8] diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/pbc.c --- a/contrib/libvcd/pbc.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,880 +0,0 @@ -/* - $Id: pbc.c,v 1.3 2005/01/01 02:43:59 rockyb Exp $ - - Copyright (C) 2000, 2004 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <string.h> -#include <stddef.h> -#include <math.h> - -#include <cdio/cdio.h> -#include <cdio/bytesex.h> - -/* Public headers */ -#include <libvcd/logging.h> -#include <libvcd/files.h> -#include <libvcd/types.h> -#include <libvcd/info.h> - -/* FIXME! Make this really private. */ -#include <libvcd/files_private.h> - -/* Private headers */ -#include "vcd_assert.h" -#include "obj.h" -#include "pbc.h" -#include "util.h" - -static const char _rcsid[] = "$Id: pbc.c,v 1.3 2005/01/01 02:43:59 rockyb Exp $"; - -static uint8_t -_wtime (int seconds) -{ - if (seconds < 0) - return 255; - - if (seconds <= 60) - return seconds; - - if (seconds <= 2000) - { - double _tmp; - - _tmp = seconds; - _tmp -= 60; - _tmp /= 10; - _tmp += 60; - - return rint (_tmp); - } - - vcd_warn ("wait time of %ds clipped to 2000s", seconds); - - return 254; -} - -static pbc_t * -_vcd_pbc_byid(const VcdObj *obj, const char item_id[]) -{ - CdioListNode *node; - - _CDIO_LIST_FOREACH (node, obj->pbc_list) - { - pbc_t *_pbc = _cdio_list_node_data (node); - - if (_pbc->id && !strcmp (item_id, _pbc->id)) - return _pbc; - } - - /* not found */ - return NULL; -} - -unsigned -_vcd_pbc_lid_lookup (const VcdObj *obj, const char item_id[]) -{ - CdioListNode *node; - unsigned n = 1; - - _CDIO_LIST_FOREACH (node, obj->pbc_list) - { - pbc_t *_pbc = _cdio_list_node_data (node); - - vcd_assert (n < 0x8000); - - if (_pbc->id && !strcmp (item_id, _pbc->id)) - return n; - - n++; - } - - /* not found */ - return 0; -} - -static void -_set_area_helper (pbc_area_t *dest, const pbc_area_t *src, const char sel_id[]) -{ - memset (dest, 0, sizeof (pbc_area_t)); - - if (src) - { - if (src->x1 || src->x2 || src->y1 || src->y2) /* not disabled */ - { - if (src->x1 >= src->x2) - vcd_error ("selection '%s': area x1 >= x2 (%d >= %d)", [... 628 lines omitted ...] - PsdEndListDescriptor *_md = buf; - - _md->type = PSD_TYPE_END_LIST; - - if (_vcd_obj_has_cap_p (obj, _CAP_4C_SVCD)) - { - _md->next_disc = _pbc->next_disc; - - if (_pbc->image_id) - { - uint16_t _pin = _vcd_pbc_pin_lookup (obj, _pbc->image_id); - mpeg_segment_t *_segment; - - if (!_pbc->next_disc) - vcd_warn ("PSD: endlist '%s': change disc picture given," - " but next volume is 0", _pbc->id); - - if (!_pin) - vcd_error ("PSD: referenced play item '%s' not found", - _pbc->item_id); - - _md->change_pic = uint16_to_be (_pin); - - /* sanity checks */ - - _segment = _vcd_obj_get_segment_by_id ((VcdObj *) obj, - _pbc->image_id); - - if (!_segment) - vcd_warn ("PSD: endlist '%s': referenced play item '%s'" - " is not a segment play item", - _pbc->id, _pbc->image_id); - else if (_segment->info->shdr[0].seen - || !(_segment->info->shdr[1].seen || _segment->info->shdr[2].seen)) - vcd_warn ("PSD: endlist '%s': referenced play item '%s'" - " should be a still picture", - _pbc->id, _pbc->image_id); - } - } - else if (_pbc->next_disc || _pbc->image_id) - vcd_warn ("extended end list attributes ignored for non-SVCD"); - } - break; - - default: - vcd_assert_not_reached (); - break; - } -} - -pbc_t * -vcd_pbc_new (enum pbc_type_t type) -{ - pbc_t *_pbc; - - _pbc = _vcd_malloc (sizeof (pbc_t)); - _pbc->type = type; - - switch (type) - { - case PBC_PLAYLIST: - _pbc->item_id_list = _cdio_list_new (); - break; - - case PBC_SELECTION: - _pbc->select_id_list = _cdio_list_new (); - _pbc->select_area_list = _cdio_list_new (); - break; - - case PBC_END: - break; - - default: - vcd_assert_not_reached (); - break; - } - - return _pbc; -} - -/* - */ - -bool -_vcd_pbc_finalize (VcdObj *obj) -{ - CdioListNode *node; - unsigned offset = 0, offset_ext = 0; - unsigned lid; - - lid = 1; - _CDIO_LIST_FOREACH (node, obj->pbc_list) - { - pbc_t *_pbc = _cdio_list_node_data (node); - unsigned length, length_ext = 0; - - length = _vcd_pbc_node_length (obj, _pbc, false); - if (_vcd_obj_has_cap_p (obj, _CAP_PBC_X)) - length_ext = _vcd_pbc_node_length (obj, _pbc, true); - - /* round them up to... */ - length = _vcd_ceil2block (length, INFO_OFFSET_MULT); - if (_vcd_obj_has_cap_p (obj, _CAP_PBC_X)) - length_ext = _vcd_ceil2block (length_ext, INFO_OFFSET_MULT); - - /* node may not cross sector boundary! */ - offset = _vcd_ofs_add (offset, length, ISO_BLOCKSIZE); - if (_vcd_obj_has_cap_p (obj, _CAP_PBC_X)) - offset_ext = _vcd_ofs_add (offset_ext, length_ext, ISO_BLOCKSIZE); - - /* save start offsets */ - _pbc->offset = offset - length; - if (_vcd_obj_has_cap_p (obj, _CAP_PBC_X)) - _pbc->offset_ext = offset_ext - length_ext; - - _pbc->lid = lid; - - lid++; - } - - obj->psd_size = offset; - if (_vcd_obj_has_cap_p (obj, _CAP_PBC_X)) - obj->psdx_size = offset_ext; - - vcd_debug ("pbc: psd size %d (extended psd %d)", offset, offset_ext); - - return true; -} diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/pbc.h --- a/contrib/libvcd/pbc.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,157 +0,0 @@ -/* - $Id: pbc.h,v 1.3 2005/01/01 02:43:59 rockyb Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 __VCD_PBC_H__ -#define __VCD_PBC_H__ - -#include <libvcd/types.h> - -/* Private includes */ -#include "data_structures.h" -#include "util.h" -#include "vcd.h" - -enum pbc_type_t { - PBC_INVALID = 0, - PBC_PLAYLIST, - PBC_SELECTION, - PBC_END -}; - -typedef struct psd_area_t pbc_area_t; /* fixme */ -#define pbc_area_t_SIZEOF struct_psd_area_t_SIZEOF - -static inline pbc_area_t * -vcd_pbc_area_new (uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2) -{ - pbc_area_t *_new_area = _vcd_malloc (sizeof (pbc_area_t)); - - _new_area->x1 = x1; - _new_area->y1 = y1; - _new_area->x2 = x2; - _new_area->y2 = y2; - - return _new_area; -} - -/* typedef struct _pbc_t pbc_t; */ - -struct _pbc_t { - enum pbc_type_t type; - - char *id; - - bool rejected; - - /* pbc ref check */ - bool referenced; - - /* used for play/selection lists */ - char *prev_id; - char *next_id; - char *retn_id; - - /* used for play lists */ - double playing_time; - int wait_time; - int auto_pause_time; - CdioList *item_id_list; /* char */ - - /* used for selection lists */ - enum selection_type_t { - _SEL_NORMAL = 0, - _SEL_MULTI_DEF, - _SEL_MULTI_DEF_NO_NUM - } selection_type; - - pbc_area_t *prev_area; - pbc_area_t *next_area; - pbc_area_t *return_area; - pbc_area_t *default_area; /* depends on selection_type */ - CdioList *select_area_list; /* pbc_area_t */ - - unsigned bsn; - char *default_id; - char *timeout_id; - int timeout_time; - unsigned loop_count; - bool jump_delayed; - char *item_id; - CdioList *select_id_list; /* char */ - - /* used for end lists */ - char *image_id; - unsigned next_disc; - - /* computed values */ - unsigned lid; - unsigned offset; - unsigned offset_ext; -}; - -enum item_type_t { - ITEM_TYPE_NOTFOUND = 0, - ITEM_TYPE_NOOP, - ITEM_TYPE_TRACK, - ITEM_TYPE_ENTRY, - ITEM_TYPE_SEGMENT, - ITEM_TYPE_PBC -}; - -/* functions */ - -pbc_t * -vcd_pbc_new (enum pbc_type_t type); - -pbc_t * -_vcd_pbc_init (pbc_t *_pbc); - -void -vcd_pbc_destroy (pbc_t *obj); - -unsigned -_vcd_pbc_lid_lookup (const VcdObj *obj, const char item_id[]); - -enum item_type_t -_vcd_pbc_lookup (const VcdObj *obj, const char item_id[]); - -uint16_t -_vcd_pbc_pin_lookup (const VcdObj *obj, const char item_id[]); - -unsigned -_vcd_pbc_list_calc_size (const pbc_t *_pbc, bool extended); - -bool -_vcd_pbc_finalize (VcdObj *obj); - -bool -_vcd_pbc_available (const VcdObj *obj); - -uint16_t -_vcd_pbc_max_lid (const VcdObj *obj); - -void -_vcd_pbc_node_write (const VcdObj *obj, const pbc_t *_pbc, void *buf, - bool extended); - -void -_vcd_pbc_check_unreferenced (const VcdObj *obj); - -#endif /* __VCD_PBC_H__ */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/salloc.c --- a/contrib/libvcd/salloc.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,212 +0,0 @@ -/* - $Id: salloc.c,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <string.h> -#include <stdlib.h> - -#include <cdio/cdio.h> - -/* Public headers */ -#include <libvcd/types.h> -#include <libvcd/logging.h> - -/* Private headers */ -#include "vcd_assert.h" -#include "salloc.h" -#include "util.h" - -static const char _rcsid[] = "$Id: salloc.c,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $"; - -#define VCD_SALLOC_CHUNK_SIZE 16 - -struct _VcdSalloc -{ - uint8_t *data; - uint32_t len; - uint32_t alloced_chunks; -}; - -static void -_vcd_salloc_set_size (VcdSalloc *bitmap, uint32_t newlen) -{ - uint32_t new_alloced_chunks; - - vcd_assert (bitmap != NULL); - vcd_assert (newlen >= bitmap->len); - - new_alloced_chunks = newlen / VCD_SALLOC_CHUNK_SIZE; - if (newlen % VCD_SALLOC_CHUNK_SIZE) - new_alloced_chunks++; - - if (bitmap->alloced_chunks < new_alloced_chunks) - { - bitmap->data = - realloc (bitmap->data, new_alloced_chunks * VCD_SALLOC_CHUNK_SIZE); - memset (bitmap->data + (VCD_SALLOC_CHUNK_SIZE * bitmap->alloced_chunks), - 0, - VCD_SALLOC_CHUNK_SIZE * (new_alloced_chunks - - bitmap->alloced_chunks)); - bitmap->alloced_chunks = new_alloced_chunks; - } - - bitmap->len = newlen; -} - -static bool -_vcd_salloc_is_set (const VcdSalloc *bitmap, uint32_t sector) -{ - unsigned _byte = sector / 8; - unsigned _bit = sector % 8; - - if (_byte < bitmap->len) - return (bitmap->data[_byte] & (1 << _bit)) != 0; - else - return false; -} - -static void -_vcd_salloc_set (VcdSalloc *bitmap, uint32_t sector) -{ - unsigned _byte = sector / 8; - unsigned _bit = sector % 8; - - if (_byte >= bitmap->len) - { - unsigned oldlen = bitmap->len; - _vcd_salloc_set_size (bitmap, _byte + 1); - memset (bitmap->data + oldlen, 0x00, _byte + 1 - oldlen); - } - - bitmap->data[_byte] |= (1 << _bit); -} - -static void -_vcd_salloc_unset (VcdSalloc *bitmap, uint32_t sector) -{ - unsigned _byte = sector / 8; - unsigned _bit = sector % 8; - - if (_byte >= bitmap->len) - vcd_assert_not_reached (); - - bitmap->data[_byte] &= ~(1 << _bit); -} - -/* exported */ - -uint32_t _vcd_salloc (VcdSalloc *bitmap, uint32_t hint, uint32_t size) -{ - if (!size) - { - size++; - vcd_warn - ("request of 0 sectors allocment fixed up to 1 sector (this is harmless)"); - } - - vcd_assert (size > 0); - - if (hint != SECTOR_NIL) - { - uint32_t i; - for (i = 0; i < size; i++) - if (_vcd_salloc_is_set (bitmap, hint + i)) - return SECTOR_NIL; - - /* everything's ok for allocing */ - - i = size; - while (i) - _vcd_salloc_set (bitmap, hint + (--i)); - /* we begin with highest byte, in order to minimizing - realloc's in sector_set */ - - return hint; - } - - /* find the lowest possible ... */ - - hint = 0; - - while (_vcd_salloc (bitmap, hint, size) == SECTOR_NIL) - hint++; - - return hint; -} - -void -_vcd_salloc_free (VcdSalloc *bitmap, uint32_t sec, uint32_t size) -{ - uint32_t i; - - for (i = 0; i < size; i++) - { - vcd_assert (_vcd_salloc_is_set (bitmap, sec + i)); - - _vcd_salloc_unset (bitmap, sec + i); - } -} - -VcdSalloc * -_vcd_salloc_new (void) -{ - VcdSalloc *newobj = _vcd_malloc (sizeof (VcdSalloc)); - return newobj; -} - -void -_vcd_salloc_destroy (VcdSalloc *bitmap) -{ - vcd_assert (bitmap != NULL); - - free (bitmap->data); - free (bitmap); -} - -uint32_t _vcd_salloc_get_highest (const VcdSalloc *bitmap) -{ - uint8_t last; - unsigned n; - - vcd_assert (bitmap != NULL); - - last = bitmap->data[bitmap->len - 1]; - - vcd_assert (last != 0); - - n = 8; - while (n) - if ((1 << --n) & last) - break; - - return (bitmap->len - 1) * 8 + n; -} - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/salloc.h --- a/contrib/libvcd/salloc.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -/* - $Id: salloc.h,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -/* sector allocation management */ - -#ifndef _SALLOC_H_ -#define _SALLOC_H_ - -#include <libvcd/types.h> - -#define SECTOR_NIL ((uint32_t)(-1)) - -typedef struct _VcdSalloc VcdSalloc; - -VcdSalloc * -_vcd_salloc_new (void); - -void -_vcd_salloc_destroy (VcdSalloc *bitmap); - -uint32_t -_vcd_salloc (VcdSalloc *bitmap, uint32_t hint, uint32_t size); - -void -_vcd_salloc_free (VcdSalloc *bitmap, uint32_t sec, uint32_t size); - -uint32_t -_vcd_salloc_get_highest (const VcdSalloc *bitmap); - -#endif /* _SALLOC_H_ */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/sector.c --- a/contrib/libvcd/sector.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,268 +0,0 @@ -/* - $Id: sector.c,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - (C) 1998 Heiko Eissfeldt <he...@co...> - portions used & Chris Smith - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <string.h> - -#include <cdio/cdio.h> - -#include <libvcd/types.h> - -#include <libvcd/sector.h> - -/* Private includes */ -#include "vcd_assert.h" -#include "bytesex.h" -#include "salloc.h" -#include "sector_private.h" - -static const char _rcsid[] = "$Id: sector.c,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $"; - -static const uint8_t sync_pattern[12] = { - 0x00, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0x00 -}; - -static void -build_address (void *buf, sectortype_t sectortype, uint32_t address) -{ - raw_cd_sector_t *sector = buf; - - vcd_assert (sizeof(raw_cd_sector_t) == CDIO_CD_FRAMESIZE_RAW-DATA_LEN); - - cdio_lba_to_msf(address, &(sector->msf)); - - switch(sectortype) { - case MODE_0: - sector->mode = 0; - break; - case MODE_2: - case MODE_2_FORM_1: - case MODE_2_FORM_2: - sector->mode = 2; - break; - default: - vcd_assert_not_reached (); - break; - } -} - -/* From cdrtools-1.11a25 */ -static uint32_t -build_edc(const uint8_t inout[], int from, int upto) -{ - const uint8_t *p = inout+from; - uint32_t result = 0; - - upto -= from-1; - upto /= 4; - while (--upto >= 0) { - result = EDC_crctable[(result ^ *p++) & 0xffL] ^ (result >> 8); - result = EDC_crctable[(result ^ *p++) & 0xffL] ^ (result >> 8); - result = EDC_crctable[(result ^ *p++) & 0xffL] ^ (result >> 8); - result = EDC_crctable[(result ^ *p++) & 0xffL] ^ (result >> 8); - } - return (result); -} - -/* From cdrtools-1.11a40 */ -static void -encode_L2_Q(uint8_t inout[4 + L2_RAW + 4 + 8 + L2_P + L2_Q]) -{ - uint8_t *dps; - uint8_t *dp; - uint8_t *Q; - int i, j; - - Q = inout + 4 + L2_RAW + 4 + 8 + L2_P; - - dps = inout; - for (j = 0; j < 26; j++) { - uint16_t a, b; - - a = b = 0; - dp = dps; - for (i = 0; i < 43; i++) { - - /* LSB */ - a ^= L2sq[i][*dp++]; - - /* MSB */ - b ^= L2sq[i][*dp]; - - dp += 2*44-1; - if (dp >= &inout[(4 + L2_RAW + 4 + 8 + L2_P)]) { - dp -= (4 + L2_RAW + 4 + 8 + L2_P); - } - } - Q[0] = a >> 8; - Q[26*2] = a; - Q[1] = b >> 8; - Q[26*2+1] = b; [... 16 lines omitted ...] - uint16_t a; - uint16_t b; - - a = b = 0; - dp = inout; - for (i = 19; i < 43; i++) { - - /* LSB */ - a ^= L2sq[i][*dp++]; - - /* MSB */ - b ^= L2sq[i][*dp]; - - dp += 2*43 -1; - } - P[0] = a >> 8; - P[43*2] = a; - P[1] = b >> 8; - P[43*2+1] = b; - - P += 2; - inout += 2; - } -} - -/* Layer 2 Product code en/decoder */ -static void -do_encode_L2 (void *buf, sectortype_t sectortype, uint32_t address) -{ - raw_cd_sector_t *raw_sector = buf; - - vcd_assert (buf != NULL); - - vcd_assert (sizeof (sync_pattern) == SYNC_LEN); - vcd_assert (sizeof (mode2_form1_sector_t) == CDIO_CD_FRAMESIZE_RAW); - vcd_assert (sizeof (mode2_form2_sector_t) == CDIO_CD_FRAMESIZE_RAW); - vcd_assert (sizeof (mode0_sector_t) == CDIO_CD_FRAMESIZE_RAW); - vcd_assert (sizeof (raw_cd_sector_t) == SYNC_LEN+HEADER_LEN); - - memset (raw_sector, 0, SYNC_LEN+HEADER_LEN); - memcpy (raw_sector->sync, sync_pattern, sizeof (sync_pattern)); - - switch (sectortype) { - case MODE_0: - { - mode0_sector_t *sector = buf; - - memset(sector->data, 0, sizeof(sector->data)); - } - break; - case MODE_2: - break; - case MODE_2_FORM_1: - { - mode2_form1_sector_t *sector = buf; - - sector->edc = uint32_to_le(build_edc(buf, 16, 16+8+2048-1)); - - encode_L2_P((uint8_t*)buf+SYNC_LEN); - encode_L2_Q((uint8_t*)buf+SYNC_LEN); - } - break; - case MODE_2_FORM_2: - { - mode2_form2_sector_t *sector = buf; - - sector->edc = uint32_to_le(build_edc(buf, 16, 16+8+2324-1)); - } - break; - default: - vcd_assert_not_reached (); - } - - build_address (buf, sectortype, address); -} - -void -_vcd_make_mode2 (void *raw_sector, const void *data, uint32_t extent, - uint8_t fnum, uint8_t cnum, uint8_t sm, uint8_t ci) -{ - uint8_t *subhdr = (uint8_t*)raw_sector+16; - - vcd_assert (raw_sector != NULL); - vcd_assert (data != NULL); - vcd_assert (extent != SECTOR_NIL); - - memset (raw_sector, 0, CDIO_CD_FRAMESIZE_RAW); - - subhdr[0] = subhdr[4] = fnum; - subhdr[1] = subhdr[5] = cnum; - subhdr[2] = subhdr[6] = sm; - subhdr[3] = subhdr[7] = ci; - - if (sm & SM_FORM2) - { - memcpy ((char*)raw_sector+CDIO_CD_XA_SYNC_HEADER, data, - M2F2_SECTOR_SIZE); - do_encode_L2 (raw_sector, MODE_2_FORM_2, extent+CDIO_PREGAP_SECTORS); - } - else - { - memcpy ((char*)raw_sector+CDIO_CD_XA_SYNC_HEADER, data, - CDIO_CD_FRAMESIZE); - do_encode_L2 (raw_sector, MODE_2_FORM_1, extent+CDIO_PREGAP_SECTORS); - } -} - -void -_vcd_make_raw_mode2 (void *raw_sector, const void *data, uint32_t extent) -{ - vcd_assert (raw_sector != NULL); - vcd_assert (data != NULL); - vcd_assert (extent != SECTOR_NIL); - - memset (raw_sector, 0, CDIO_CD_FRAMESIZE_RAW); - - memcpy ((char*)raw_sector+12+4, data, M2RAW_SECTOR_SIZE); - do_encode_L2 (raw_sector, MODE_2, extent+CDIO_PREGAP_SECTORS); -} - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/sector_private.h --- a/contrib/libvcd/sector_private.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1348 +0,0 @@ -/* - $Id: sector_private.h,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - (C) 1998 Heiko Eissfeldt <he...@co...> - - 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 __VCD_CD_SECTOR_PRIVATE_H__ -#define __VCD_CD_SECTOR_PRIVATE_H__ - -#define RS_L12_BITS 8 - -#define L2_RAW (1024*2) -#define L2_Q (26*2*2) -#define L2_P (43*2*2) - -typedef enum { - MODE_0, - MODE_2, - MODE_2_FORM_1, - MODE_2_FORM_2 -} sectortype_t; - -#define SYNC_LEN 12 -#define DATA_LEN 2336 -#define HEADER_LEN 4 - -typedef struct { - uint8_t sync[SYNC_LEN]; - msf_t msf; - uint8_t mode; - uint8_t user_data[EMPTY_ARRAY_SIZE]; -} raw_cd_sector_t; - -#define raw_cd_sector_t_SIZEOF (SYNC_LEN+HEADER_LEN) - -typedef struct { - uint8_t sync[SYNC_LEN]; - msf_t msf; - uint8_t mode; -} sector_header_t; - -#define sector_header_t_SIZEOF (SYNC_LEN+HEADER_LEN) - -typedef struct { - sector_header_t sector_header; - uint8_t data[M2RAW_SECTOR_SIZE]; -} mode0_sector_t; - -#define mode0_sector_t_SIZEOF CDIO_CD_FRAMESIZE_RAW - -typedef struct { - sector_header_t sector_header; - uint8_t subheader[CDIO_CD_SUBHEADER_SIZE]; - uint8_t data[CDIO_CD_FRAMESIZE]; - uint32_t edc; - uint8_t l2_p[L2_P]; - uint8_t l2_q[L2_Q]; -} mode2_form1_sector_t; - -#define mode2_form1_sector_t_SIZEOF CDIO_CD_FRAMESIZE_RAW - -typedef struct { - sector_header_t sector_header; - uint8_t subheader[CDIO_CD_SUBHEADER_SIZE]; - uint8_t data[M2F2_SECTOR_SIZE]; - uint32_t edc; -} mode2_form2_sector_t; - -#define mode2_form2_sector_t_SIZEOF CDIO_CD_FRAMESIZE_RAW - -/*****************************************************************/ -/* */ -/* CRC LOOKUP TABLE */ -/* ================ */ -/* The following CRC lookup table was generated automagically */ -/* by the Rocksoft^tm Model CRC Algorithm Table Generation */ -/* Program V1.0 using the following model parameters: */ -/* */ -/* Width : 4 bytes. */ -/* Poly : 0x8001801BL */ -/* Reverse : TRUE. */ -/* */ -/* For more information on the Rocksoft^tm Model CRC Algorithm, */ -/* see the document titled "A Painless Guide to CRC Error */ -/* Detection Algorithms" by Ross Williams */ -/* (ro...@gu....). This document is likely to be */ -/* in the FTP archive "ftp.adelaide.edu.au/pub/rocksoft". */ -/* */ -/*****************************************************************/ - -static const uint32_t EDC_crctable[256] = -{ - 0x00000000U, 0x90910101U, 0x91210201U, 0x01B00300U, - 0x92410401U, 0x02D00500U, 0x03600600U, 0x93F10701U, - 0x94810801U, 0x04100900U, 0x05A00A00U, 0x95310B01U, - 0x06C00C00U, 0x96510D01U, 0x97E10E01U, 0x07700F00U, - 0x99011001U, 0x09901100U, 0x08201200U, 0x98B11301U, - 0x0B401400U, 0x9BD11501U, 0x9A611601U, 0x0AF01700U, - 0x0D801800U, 0x9D111901U, 0x9CA11A01U, 0x0C301B00U, - 0x9FC11C01U, 0x0F501D00U, 0x0EE01E00U, 0x9E711F01U, - 0x82012001U, 0x12902100U, 0x13202200U, 0x83B12301U, - 0x10402400U, 0x80D12501U, 0x81612601U, 0x11F02700U, - 0x16802800U, 0x86112901U, 0x87A12A01U, 0x17302B00U, - 0x84C12C01U, 0x14502D00U, 0x15E02E00U, 0x85712F01U, - 0x1B003000U, 0x8B913101U, 0x8A213201U, 0x1AB03300U, - 0x89413401U, 0x19D03500U, 0x18603600U, 0x88F13701U, - 0x8F813801U, 0x1F103900U, 0x1EA03A00U, 0x8E313B01U, - 0x1DC03C00U, 0x8D513D01U, 0x8CE13E01U, 0x1C703F00U, - 0xB4014001U, 0x24904100U, 0x25204200U, 0xB5B14301U, [... 1096 lines omitted ...] - 62795, 51829, 36173, 45683, 62257, 52239, 29109, 20107, 4041, 12535, - 26784, 22430, 5852, 10722, 37976, 43878, 59940, 54554, 23178, 26036, - 9462, 7112, 42610, 39244, 55310, 59184, 48999, 32857, 49435, 65061, - 17311, 31905, 15843, 733, 16094, 480, 16546, 32668, 49702, 64792, - 48218, 33636, 56115, 58381, 42319, 39537, 10187, 6389, 22967, 26249, - 59673, 54823, 38757, 43099, 5601, 10975, 27549, 21667, 3316, 13258, - 29320, 19894, 61452, 53042, 36464, 45390, - }, - { 0, 7966, 15932, 8482, 31864, 25446, 16964, 23898, 63728, 59374, - 50892, 55762, 33928, 39830, 47796, 42410, 60925, 62179, 54209, 52447, - 37253, 36507, 44985, 45223, 5389, 2579, 11057, 13359, 26997, 30315, - 22345, 18519, 51175, 55545, 63963, 59077, 48031, 42113, 34211, 39613, - 16151, 8201, 299, 7733, 17263, 23665, 32083, 25165, 10778, 13572, - 5158, 2872, 22114, 18812, 26718, 30528, 53994, 52724, 60630, 62408, - 44690, 45452, 37038, 36784, 37843, 36045, 44527, 45809, 61355, 61621, - 53655, 52873, 27427, 29757, 21791, 18945, 5979, 2117, 10599, 13945, - 32302, 24880, 16402, 24332, 598, 7496, 15466, 9076, 34526, 39360, - 47330, 43004, 64166, 58808, 50330, 56196, 21556, 19242, 27144, 29974, - 10316, 14162, 5744, 2414, 44228, 46042, 37624, 36326, 53436, 53154, - 61056, 61854, 47561, 42711, 34805, 39147, 50609, 55983, 64397, 58515, - 16697, 24103, 32517, 24603, 15681, 8799, 893, 7267, 15291, 9381, - 1415, 6809, 18371, 22749, 31231, 26337, 49995, 56405, 64887, 57961, - 48947, 41005, 33039, 40465, 54854, 51544, 59514, 63332, 43582, 46368, - 37890, 35612, 11958, 12712, 4234, 3988, 21198, 19920, 27890, 29676, - 64604, 58178, 49760, 56702, 32804, 40762, 48664, 41222, 1196, 7090, - 14992, 9614, 30932, 26570, 18152, 23030, 4513, 3775, 12189, 12419, - 28121, 29383, 21477, 19707, 59729, 63055, 55149, 51315, 38185, 35383, - 43797, 46091, 43112, 46966, 38484, 35146, 54288, 51982, 59948, 62770, - 20632, 20358, 28324, 29114, 11488, 13310, 4828, 3522, 17813, 23179, - 31657, 25783, 14829, 9971, 2001, 6351, 48485, 41595, 33625, 40007, - 49437, 56835, 65313, 57407, 28559, 28817, 20915, 20141, 5111, 3305, - 11723, 13013, 38783, 34913, 43331, 46685, 60167, 62489, 54587, 51749, - 33394, 40300, 48206, 41808, 65034, 57620, 49206, 57128, 31362, 26012, - 17598, 23456, 1786, 6628, 14534, 10200, - }, - { 0, 3854, 7708, 4370, 15416, 13110, 8740, 11562, 30832, 30590, - 26220, 26978, 17480, 19270, 23124, 21850, 61664, 65518, 61180, 57842, - 52440, 50134, 53956, 56778, 34960, 34718, 38540, 39298, 46248, 48038, - 43700, 42426, 64989, 62163, 58305, 60623, 49637, 52971, 57337, 53495, - 34221, 35491, 39857, 38079, 47509, 46747, 42889, 43143, 3389, 563, - 4897, 7215, 12549, 15883, 12057, 8215, 30029, 31299, 27473, 25695, - 18805, 18043, 22377, 22631, 59303, 59561, 63931, 63157, 56223, 54417, - 50563, 51853, 40919, 37081, 33227, 36549, 41967, 44257, 48627, 45821, - 5959, 6217, 2395, 1621, 11135, 9329, 13667, 14957, 28471, 24633, - 28971, 32293, 21263, 23553, 19731, 16925, 6778, 5492, 1126, 2920, - 9794, 10572, 14430, 14160, 25098, 27908, 31766, 29464, 24114, 20796, - 16430, 20256, 60058, 58772, 62598, 64392, 54946, 55724, 51390, 51120, - 37610, 40420, 36086, 33784, 44754, 41436, 45262, 49088, 54099, 56413, - 52559, 49729, 61291, 57445, 61815, 65145, 43811, 42029, 46399, 47665, - 38683, 38933, 35079, 34313, 9139, 11453, 15791, 12961, 8075, 4229, - 407, 3737, 23491, 21709, 17887, 19153, 26619, 26869, 31207, 30441, - 11918, 8576, 12434, 16284, 4790, 7608, 3242, 932, 22270, 23024, - 18658, 18412, 27334, 26056, 29914, 31700, 56942, 53600, 49266, 53116, - 57942, 60760, 64586, 62276, 42526, 43280, 47106, 46860, 39462, 38184, - 33850, 35636, 13556, 15354, 10984, 9702, 2252, 1986, 5840, 6622, - 19588, 17290, 21144, 23958, 28860, 32690, 28320, 25006, 50196, 51994, - 55816, 54534, 63532, 63266, 58928, 59710, 48228, 45930, 41592, 44406, - 32860, 36690, 40512, 37198, 51497, 50727, 55093, 55355, 62737, 64031, - 60173, 58371, 45401, 48727, 44869, 41035, 36193, 33391, 37757, 40051, - 14793, 14023, 10197, 10459, 1521, 2815, 7149, 5347, 16825, 20151, - 24485, 20651, 32129, 29327, 25501, 27795, - }, - { 0, 1798, 3596, 2314, 7192, 6942, 4628, 5394, 14384, 16182, - 13884, 12602, 9256, 9006, 10788, 11554, 28768, 30566, 32364, 31082, - 27768, 27518, 25204, 25970, 18512, 20310, 18012, 16730, 21576, 21326, - 23108, 23874, 57536, 59334, 61132, 59850, 64728, 64478, 62164, 62930, - 55536, 57334, 55036, 53754, 50408, 50158, 51940, 52706, 37024, 38822, - 40620, 39338, 36024, 35774, 33460, 34226, 43152, 44950, 42652, 41370, - 46216, 45966, 47748, 48514, 56733, 55963, 54161, 54423, 49541, 50819, - 53129, 51343, 58797, 58027, 60321, 60583, 63925, 65203, 63417, 61631, - 44541, 43771, 41969, 42231, 45541, 46819, 49129, 47343, 38349, 37579, - 39873, 40135, 35285, 36563, 34777, 32991, 15709, 14939, 13137, 13399, - 8517, 9795, 12105, 10319, 1389, 619, 2913, 3175, 6517, 7795, - 6009, 4223, 19773, 19003, 17201, 17463, 20773, 22051, 24361, 22575, - 29965, 29195, 31489, 31751, 26901, 28179, 26393, 24607, 42791, 40993, - 43307, 44589, 47935, 48185, 46387, 45621, 40727, 38929, 37147, 38429, - 33551, 33801, 36099, 35333, 55111, 53313, 55627, 56909, 52063, 52313, - 50515, 49749, 61303, 59505, 57723, 59005, 62319, 62569, 64867, 64101, - 18407, 16609, 18923, 20205, 23551, 23801, 22003, 21237, 32727, 30929, - 29147, 30429, 25551, 25801, 28099, 27333, 14215, 12417, 14731, 16013, - 11167, 11417, 9619, 8853, 4023, 2225, 443, 1725, 5039, 5289, - 7587, 6821, 31418, 32188, 29878, 29616, 26274, 24996, 26798, 28584, - 17034, 17804, 19590, 19328, 24210, 22932, 20638, 22424, 2778, 3548, - 1238, 976, 5826, 4548, 6350, 8136, 13034, 13804, 15590, 15328, - 12018, 10740, 8446, 10232, 39546, 40316, 38006, 37744, 34402, 33124, - 34926, 36712, 41546, 42316, 44102, 43840, 48722, 47444, 45150, 46936, - 59930, 60700, 58390, 58128, 62978, 61700, 63502, 65288, 53802, 54572, - 56358, 56096, 52786, 51508, 49214, 51000, - }, - { 0, 770, 1540, 1286, 3080, 3850, 2572, 2318, 6160, 6930, - 7700, 7446, 5144, 5914, 4636, 4382, 12320, 13090, 13860, 13606, - 15400, 16170, 14892, 14638, 10288, 11058, 11828, 11574, 9272, 10042, - 8764, 8510, 24640, 25410, 26180, 25926, 27720, 28490, 27212, 26958, - 30800, 31570, 32340, 32086, 29784, 30554, 29276, 29022, 20576, 21346, - 22116, 21862, 23656, 24426, 23148, 22894, 18544, 19314, 20084, 19830, - 17528, 18298, 17020, 16766, 49280, 50050, 50820, 50566, 52360, 53130, - 51852, 51598, 55440, 56210, 56980, 56726, 54424, 55194, 53916, 53662, - 61600, 62370, 63140, 62886, 64680, 65450, 64172, 63918, 59568, 60338, - 61108, 60854, 58552, 59322, 58044, 57790, 41152, 41922, 42692, 42438, - 44232, 45002, 43724, 43470, 47312, 48082, 48852, 48598, 46296, 47066, - 45788, 45534, 37088, 37858, 38628, 38374, 40168, 40938, 39660, 39406, - 35056, 35826, 36596, 36342, 34040, 34810, 33532, 33278, 40221, 40479, - 39705, 38939, 37141, 37399, 38673, 37907, 34061, 34319, 33545, 32779, - 35077, 35335, 36609, 35843, 44349, 44607, 43833, 43067, 41269, 41527, - 42801, 42035, 46381, 46639, 45865, 45099, 47397, 47655, 48929, 48163, - 64861, 65119, 64345, 63579, 61781, 62039, 63313, 62547, 58701, 58959, - 58185, 57419, 59717, 59975, 61249, 60483, 52605, 52863, 52089, 51323, - 49525, 49783, 51057, 50291, 54637, 54895, 54121, 53355, 55653, 55911, - 57185, 56419, 23965, 24223, 23449, 22683, 20885, 21143, 22417, 21651, - 17805, 18063, 17289, 16523, 18821, 19079, 20353, 19587, 28093, 28351, - 27577, 26811, 25013, 25271, 26545, 25779, 30125, 30383, 29609, 28843, - 31141, 31399, 32673, 31907, 15837, 16095, 15321, 14555, 12757, 13015, - 14289, 13523, 9677, 9935, 9161, 8395, 10693, 10951, 12225, 11459, - 3581, 3839, 3065, 2299, 501, 759, 2033, 1267, 5613, 5871, - 5097, 4331, 6629, 6887, 8161, 7395, - }, -}; - -#endif /* __VCD_CD_SECTOR_PRIVATE_H__ */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/stream.c --- a/contrib/libvcd/stream.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,276 +0,0 @@ -/* - $Id: stream.c,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <stdarg.h> - -#include <cdio/cdio.h> - -/* #define STREAM_DEBUG */ - -/* Public headers */ - -#include <libvcd/logging.h> - -/* Private headers */ -#include "vcd_assert.h" -#include "stream.h" -#include "util.h" - -static const char _rcsid[] = "$Id: stream.c,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $"; - -/* - * DataSource implementations - */ - -struct _VcdDataSink { - void* user_data; - vcd_data_sink_io_functions op; - int is_open; - long position; -}; - -static void -_vcd_data_sink_open_if_necessary(VcdDataSink *obj) -{ - vcd_assert (obj != NULL); - - if (!obj->is_open) { - if (obj->op.open(obj->user_data)) - vcd_error("could not opening output stream..."); - else { - obj->is_open = 1; - obj->position = 0; - } - } -} - -VcdDataSink* -vcd_data_sink_new(void *user_data, const vcd_data_sink_io_functions *funcs) -{ - VcdDataSink *new_obj; - - new_obj = _vcd_malloc(sizeof(VcdDataSink)); - - new_obj->user_data = user_data; - memcpy(&(new_obj->op), funcs, sizeof(vcd_data_sink_io_functions)); - - return new_obj; -} - -long -vcd_data_sink_seek(VcdDataSink* obj, long offset) -{ - vcd_assert (obj != NULL); - - _vcd_data_sink_open_if_necessary(obj); - - if (obj->position != offset) { - vcd_warn("had to reposition DataSink from %ld to %ld!", obj->position, offset); - obj->position = offset; - return obj->op.seek(obj->user_data, offset); - } - - return 0; -} - -long -vcd_data_sink_write(VcdDataSink* obj, const void *ptr, long size, long nmemb) -{ - long written; - - vcd_assert (obj != NULL); - - _vcd_data_sink_open_if_necessary(obj); - - written = obj->op.write(obj->user_data, ptr, size*nmemb); - obj->position += written; - - return written; -} - -long -vcd_data_sink_printf (VcdDataSink *obj, const char format[], ...) -{ - char buf[4096] = { 0, }; - long retval; - int len; - - va_list args; - va_start (args, format); - [... 24 lines omitted ...] -void -vcd_data_sink_destroy(VcdDataSink* obj) -{ - vcd_assert (obj != NULL); - - vcd_data_sink_close(obj); - - obj->op.free(obj->user_data); -} - -/* - * DataSource implementations - */ - -struct _VcdDataSource { - void* user_data; - vcd_data_source_io_functions op; - int is_open; - long position; -}; - -static void -_vcd_data_source_open_if_necessary(VcdDataSource *obj) -{ - vcd_assert (obj != NULL); - - if (!obj->is_open) { - if (obj->op.open(obj->user_data)) - vcd_error ("could not opening input stream..."); - else { -#ifdef STREAM_DEBUG - vcd_debug ("opened source..."); -#endif - obj->is_open = 1; - obj->position = 0; - } - } -} - -long -vcd_data_source_seek(VcdDataSource* obj, long offset) -{ - vcd_assert (obj != NULL); - - _vcd_data_source_open_if_necessary(obj); - - if (obj->position != offset) { -#ifdef STREAM_DEBUG - vcd_warn("had to reposition DataSource from %ld to %ld!", obj->position, offset); -#endif - obj->position = offset; - return obj->op.seek(obj->user_data, offset); - } - - return 0; -} - -VcdDataSource* -vcd_data_source_new(void *user_data, const vcd_data_source_io_functions *funcs) -{ - VcdDataSource *new_obj; - - new_obj = _vcd_malloc (sizeof (VcdDataSource)); - - new_obj->user_data = user_data; - memcpy(&(new_obj->op), funcs, sizeof(vcd_data_source_io_functions)); - - return new_obj; -} - -long -vcd_data_source_read(VcdDataSource* obj, void *ptr, long size, long nmemb) -{ - long read_bytes; - - vcd_assert (obj != NULL); - - _vcd_data_source_open_if_necessary(obj); - - read_bytes = obj->op.read(obj->user_data, ptr, size*nmemb); - obj->position += read_bytes; - - return read_bytes; -} - -long -vcd_data_source_stat(VcdDataSource* obj) -{ - vcd_assert (obj != NULL); - - _vcd_data_source_open_if_necessary(obj); - - return obj->op.stat(obj->user_data); -} - -void -vcd_data_source_close(VcdDataSource* obj) -{ - vcd_assert (obj != NULL); - - if (obj->is_open) { -#ifdef STREAM_DEBUG - vcd_debug ("closed source..."); -#endif - obj->op.close(obj->user_data); - obj->is_open = 0; - obj->position = 0; - } -} - -void -vcd_data_source_destroy(VcdDataSource* obj) -{ - vcd_assert (obj != NULL); - - vcd_data_source_close(obj); - - obj->op.free(obj->user_data); -} - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/stream.h --- a/contrib/libvcd/stream.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,123 +0,0 @@ -/* - $Id: stream.h,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 __VCD_STREAM_H__ -#define __VCD_STREAM_H__ - -#include <libvcd/types.h> - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/* typedef'ed IO functions prototypes */ - -typedef int(*vcd_data_open_t)(void *user_data); - -typedef long(*vcd_data_read_t)(void *user_data, void *buf, long count); - -typedef long(*vcd_data_write_t)(void *user_data, const void *buf, - long count); - -typedef long(*vcd_data_seek_t)(void *user_data, long offset); - -typedef long(*vcd_data_stat_t)(void *user_data); - -typedef int(*vcd_data_close_t)(void *user_data); - -typedef void(*vcd_data_free_t)(void *user_data); - - -/* abstract data sink */ - -typedef struct _VcdDataSink VcdDataSink; - -typedef struct { - vcd_data_open_t open; - vcd_data_seek_t seek; - vcd_data_write_t write; - vcd_data_close_t close; - vcd_data_free_t free; -} vcd_data_sink_io_functions; - -VcdDataSink* -vcd_data_sink_new(void *user_data, const vcd_data_sink_io_functions *funcs); - -long -vcd_data_sink_write(VcdDataSink* obj, const void *ptr, long size, long nmemb); - -long -vcd_data_sink_printf (VcdDataSink *obj, const char format[], ...) GNUC_PRINTF(2, 3); - -long -vcd_data_sink_seek(VcdDataSink* obj, long offset); - -void -vcd_data_sink_destroy(VcdDataSink* obj); - -void -vcd_data_sink_close(VcdDataSink* obj); - -/* abstract data source */ - -typedef struct _VcdDataSource VcdDataSource; - -typedef struct { - vcd_data_open_t open; - vcd_data_seek_t seek; - vcd_data_stat_t stat; - vcd_data_read_t read; - vcd_data_close_t close; - vcd_data_free_t free; -} vcd_data_source_io_functions; - -VcdDataSource* -vcd_data_source_new(void *user_data, const vcd_data_source_io_functions *funcs); - -long -vcd_data_source_read(VcdDataSource* obj, void *ptr, long size, long nmemb); - -long -vcd_data_source_seek(VcdDataSource* obj, long offset); - -long -vcd_data_source_stat(VcdDataSource* obj); - -void -vcd_data_source_destroy(VcdDataSource* obj); - -void -vcd_data_source_close(VcdDataSource* obj); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* __VCD_STREAM_H__ */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/stream_stdio.c --- a/contrib/libvcd/stream_stdio.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,236 +0,0 @@ -/* - $Id: stream_stdio.c,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <sys/stat.h> -#include <errno.h> - -#include <cdio/cdio.h> - -#include <libvcd/logging.h> - -/* Private headers */ -#include "stream_stdio.h" -#include "util.h" - -static const char _rcsid[] = "$Id: stream_stdio.c,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $"; - -#define VCD_STREAM_STDIO_BUFSIZE (128*1024) - -typedef struct { - char *pathname; - FILE *fd; - char *fd_buf; - off_t st_size; /* used only for source */ -} _UserData; - -static int -_stdio_open_source (void *user_data) -{ - _UserData *const ud = user_data; - - if ((ud->fd = fopen (ud->pathname, "rb"))) - { - ud->fd_buf = _vcd_malloc (VCD_STREAM_STDIO_BUFSIZE); - setvbuf (ud->fd, ud->fd_buf, _IOFBF, VCD_STREAM_STDIO_BUFSIZE); - } - - return (ud->fd == NULL); -} - -static int -_stdio_open_sink (void *user_data) -{ - _UserData *const ud = user_data; - - if ((ud->fd = fopen (ud->pathname, "wb"))) - { - ud->fd_buf = _vcd_malloc (VCD_STREAM_STDIO_BUFSIZE); - setvbuf (ud->fd, ud->fd_buf, _IOFBF, VCD_STREAM_STDIO_BUFSIZE); - } - - return (ud->fd == NULL); -} - -static int -_stdio_close(void *user_data) -{ - _UserData *const ud = user_data; - - if (fclose (ud->fd)) - vcd_error ("fclose (): %s", strerror (errno)); - - ud->fd = NULL; - - free (ud->fd_buf); - ud->fd_buf = NULL; - - return 0; -} - -static void -_stdio_free(void *user_data) -{ - _UserData *const ud = user_data; - - if (ud->pathname) - free(ud->pathname); - - if (ud->fd) /* should be NULL anyway... */ - _stdio_close(user_data); - - free(ud); -} - -static long -_stdio_seek(void *user_data, long offset) -{ - _UserData *const ud = user_data; - - if (fseek (ud->fd, offset, SEEK_SET)) - vcd_error ("fseek (): %s", strerror (errno)); - - return offset; -} - -static long -_stdio_stat(void *user_data) -{ - const _UserData *const ud = user_data; - - return ud->st_size; -} - -static long -_stdio_read(void *user_data, void *buf, long count) -{ - _UserData *const ud = user_data; - long read; - - read = fread(buf, 1, count, ud->fd); - - if (read != count) - { /* fixme -- ferror/feof */ - if (feof (ud->fd)) - { - vcd_debug ("fread (): EOF encountered"); - clearerr (ud->fd); - } - else if (ferror (ud->fd)) - { - vcd_error ("fread (): %s", strerror (errno)); - clearerr (ud->fd); - } - else - vcd_debug ("fread (): short read and no EOF?!?"); - } - - return read; -} - -static long -_stdio_write(void *user_data, const void *buf, long count) -{ - _UserData *const ud = user_data; - long written; - - written = fwrite(buf, 1, count, ud->fd); - - if (written != count) - vcd_error ("fwrite (): %s", strerror (errno)); - - return written; -} - -VcdDataSource* -vcd_data_source_new_stdio(const char pathname[]) -{ - VcdDataSource *new_obj = NULL; - vcd_data_source_io_functions funcs = { 0, }; - _UserData *ud = NULL; - struct stat statbuf; - - if (stat (pathname, &statbuf) == -1) - { - vcd_error ("could not stat() file `%s': %s", pathname, strerror (errno)); - return NULL; - } - - ud = _vcd_malloc (sizeof (_UserData)); - - ud->pathname = strdup(pathname); - ud->st_size = statbuf.st_size; /* let's hope it doesn't change... */ - - funcs.open = _stdio_open_source; - funcs.seek = _stdio_seek; - funcs.stat = _stdio_stat; - funcs.read = _stdio_read; - funcs.close = _stdio_close; - funcs.free = _stdio_free; - - new_obj = vcd_data_source_new(ud, &funcs); - - return new_obj; -} - - -VcdDataSink* -vcd_data_sink_new_stdio(const char pathname[]) -{ - VcdDataSink *new_obj = NULL; - vcd_data_sink_io_functions funcs; - _UserData *ud = NULL; - struct stat statbuf; - - if (stat (pathname, &statbuf) != -1) - vcd_warn ("file `%s' exist already, will get overwritten!", pathname); - - ud = _vcd_malloc (sizeof (_UserData)); - - memset (&funcs, 0, sizeof (funcs)); - - ud->pathname = strdup (pathname); - - funcs.open = _stdio_open_sink; - funcs.seek = _stdio_seek; - funcs.write = _stdio_write; - funcs.close = _stdio_close; - funcs.free = _stdio_free; - - new_obj = vcd_data_sink_new (ud, &funcs); - - return new_obj; -} - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/stream_stdio.h --- a/contrib/libvcd/stream_stdio.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ -/* - $Id: stream_stdio.h,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 __VCD_STREAM_STDIO_H__ -#define __VCD_STREAM_STDIO_H__ - -/* Private headers */ -#include "stream.h" - -VcdDataSink* -vcd_data_sink_new_stdio(const char pathname[]); - -VcdDataSource* -vcd_data_source_new_stdio(const char pathname[]); - -#endif /* __VCD_STREAM_STDIO_H__ */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/util.c --- a/contrib/libvcd/util.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ -/* - $Id: util.c,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <ctype.h> -#include <stdlib.h> -#include <stdio.h> -#include <string.h> - -/* Private includes */ -#include "vcd_assert.h" -#include "bytesex.h" -#include "util.h" - -static const char _rcsid[] = "$Id: util.c,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $"; - -size_t -_vcd_strlenv(char **str_array) -{ - size_t n = 0; - - vcd_assert (str_array != NULL); - - while(str_array[n]) - n++; - - return n; -} - -void -_vcd_strfreev(char **strv) -{ - int n; - - vcd_assert (strv != NULL); - - for(n = 0; strv[n]; n++) - free(strv[n]); - - free(strv); -} - -char * -_vcd_strjoin (char *strv[], unsigned count, const char delim[]) -{ - size_t len; - char *new_str; - unsigned n; - - vcd_assert (strv != NULL); - vcd_assert (delim != NULL); - - len = (count-1) * strlen (delim); - - for (n = 0;n < count;n++) - len += strlen (strv[n]); - - len++; - - new_str = _vcd_malloc (len); - new_str[0] = '\0'; - - for (n = 0;n < count;n++) - { - if (n) - strcat (new_str, delim); - strcat (new_str, strv[n]); - } - - return new_str; -} - -char ** -_vcd_strsplit(const char str[], char delim) /* fixme -- non-reentrant */ -{ - int n; - char **strv = NULL; - char *_str, *p; - char _delim[2] = { 0, 0 }; - - vcd_assert (str != NULL); - - _str = strdup(str); - _delim[0] = delim; - - vcd_assert (_str != NULL); - - n = 1; - p = _str; - while(*p) - if (*(p++) == delim) - n++; - - strv = _vcd_malloc (sizeof (char *) * (n+1)); - - n = 0; - while((p = strtok(n ? NULL : _str, _delim)) != NULL) - strv[n++] = strdup(p); - - free(_str); - - return strv; -} - -void * -_vcd_malloc (size_t size) -{ - void *new_mem = malloc (size); - - vcd_assert (new_mem != NULL); - - memset (new_mem, 0, size); - - return new_mem; -} - -void * -_vcd_memdup (const void *mem, size_t count) -{ - void *new_mem = NULL; - - if (mem) - { - new_mem = _vcd_malloc (count); - memcpy (new_mem, mem, count); - } - - return new_mem; -} - -char * -_vcd_strdup_upper (const char str[]) -{ - char *new_str = NULL; - - if (str) - { - char *p; - - p = new_str = strdup (str); - - while (*p) - { - *p = toupper (*p); - p++; - } - } - - return new_str; -} - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/util.h --- a/contrib/libvcd/util.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -/* - $Id: util.h,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 __VCD_UTIL_H__ -#define __VCD_UTIL_H__ - -#include <stdlib.h> -#include <libvcd/types.h> - -#ifndef __CDIO_UTIL_H__ -#undef MAX -#define MAX(a, b) (((a) > (b)) ? (a) : (b)) - -#undef MIN -#define MIN(a, b) (((a) < (b)) ? (a) : (b)) - -#undef IN -#define IN(x, low, high) ((x) >= (low) && (x) <= (high)) - -#undef CLAMP -#define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) - -#endif - -static inline unsigned -_vcd_len2blocks (unsigned len, int blocksize) -{ - unsigned blocks; - - blocks = len / blocksize; - if (len % blocksize) - blocks++; - - return blocks; -} - -/* round up to next block boundary */ -static inline unsigned -_vcd_ceil2block (unsigned offset, int blocksize) -{ - return _vcd_len2blocks (offset, blocksize) * blocksize; -} - -static inline unsigned -_vcd_ofs_add (unsigned offset, unsigned length, int blocksize) -{ - if (blocksize - (offset % blocksize) < length) - offset = _vcd_ceil2block (offset, blocksize); - - offset += length; - - return offset; -} - -size_t -_vcd_strlenv(char **str_array); - -char * -_vcd_strjoin (char *strv[], unsigned count, const char delim[]); - -char ** -_vcd_strsplit(const char str[], char delim); - -void -_vcd_strfreev(char **strv); - -void * -_vcd_malloc (size_t size); - -void * -_vcd_memdup (const void *mem, size_t count); - -char * -_vcd_strdup_upper (const char str[]); - -static inline const char * -_vcd_bool_str (bool b) -{ - return b ? "yes" : "no"; -} - -#endif /* __VCD_UTIL_H__ */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/vcd.c --- a/contrib/libvcd/vcd.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2412 +0,0 @@ -/* - $Id: vcd.c,v 1.4 2006/12/08 16:26:10 mshopf Exp $ - - Copyright (C) 2000, 2004 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <ctype.h> -#include <math.h> - -#include <cdio/cdio.h> -#include <cdio/iso9660.h> - -/* public headers */ -#include <libvcd/types.h> -#include <libvcd/info.h> - -#include <libvcd/files.h> -#include <libvcd/sector.h> -#include <libvcd/logging.h> - -/* Private headers */ -#include "assert.h" -#include "dict.h" -#include "directory.h" -#include "obj.h" -#include "pbc.h" -#include "salloc.h" -#include "util.h" -#include "vcd.h" - -static const char _rcsid[] = "$Id: vcd.c,v 1.4 200... [truncated message content] |
From: <li...@yo...> - 2007-11-24 22:45:05
|
# [node c67926c9c2eb7158c6147bb763ecc008b6d3de02 part 5] diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/MSWindows/aspi32.h --- a/contrib/libcdio/MSWindows/aspi32.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,249 +0,0 @@ -/* Win32 aspi specific */ -/* - $Id: aspi32.h,v 1.2 2005/01/01 02:43:58 rockyb Exp $ - - Copyright (C) 2003, 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -#define ASPI_HAID 0 -#define ASPI_TARGET 0 -#define DTYPE_CDROM 0x05 - -#define SENSE_LEN 0x0E -#define SC_HA_INQUIRY 0x00 -#define SC_GET_DEV_TYPE 0x01 -#define SC_EXEC_SCSI_CMD 0x02 -#define SC_GET_DISK_INFO 0x06 - -//***************************************************************************** -// %%% SRB Status %%% -//***************************************************************************** - -#define SS_PENDING 0x00 // SRB being processed -#define SS_COMP 0x01 // SRB completed without error -#define SS_ABORTED 0x02 // SRB aborted -#define SS_ABORT_FAIL 0x03 // Unable to abort SRB -#define SS_ERR 0x04 // SRB completed with error - -#define SS_INVALID_CMD 0x80 // Invalid ASPI command -#define SS_INVALID_HA 0x81 // Invalid host adapter number -#define SS_NO_DEVICE 0x82 // SCSI device not installed - -#define SS_INVALID_SRB 0xE0 // Invalid parameter set in SRB -#define SS_OLD_MANAGER 0xE1 // ASPI manager doesn't support Windows -#define SS_BUFFER_ALIGN 0xE1 // Buffer not aligned (replaces - // OLD_MANAGER in Win32) -#define SS_ILLEGAL_MODE 0xE2 // Unsupported Windows mode -#define SS_NO_ASPI 0xE3 // No ASPI managers resident -#define SS_FAILED_INIT 0xE4 // ASPI for windows failed init -#define SS_ASPI_IS_BUSY 0xE5 // No resources available to execute - // cmd -#define SS_BUFFER_TOO_BIG 0xE6 // Buffer size to big to handle! -#define SS_MISMATCHED_COMPONENTS 0xE7 // The DLLs/EXEs of ASPI don't version - // check -#define SS_NO_ADAPTERS 0xE8 // No host adapters to manage -#define SS_INSUFFICIENT_RESOURCES 0xE9 // Couldn't allocate resources needed - // to init -#define SS_ASPI_IS_SHUTDOWN 0xEA // Call came to ASPI after - // PROCESS_DETACH -#define SS_BAD_INSTALL 0xEB // The DLL or other components are installed wrong - -//***************************************************************************** -// %%% Host Adapter Status %%% -//***************************************************************************** - -#define HASTAT_OK 0x00 // Host adapter did not detect an - // error -#define HASTAT_SEL_TO 0x11 // Selection Timeout -#define HASTAT_DO_DU 0x12 // Data overrun data underrun -#define HASTAT_BUS_FREE 0x13 // Unexpected bus free -#define HASTAT_PHASE_ERR 0x14 // Target bus phase sequence - // failure -#define HASTAT_TIMEOUT 0x09 // Timed out while SRB was - // waiting to beprocessed. -#define HASTAT_COMMAND_TIMEOUT 0x0B // Adapter timed out processing SRB. -#define HASTAT_MESSAGE_REJECT 0x0D // While processing SRB, the - // adapter received a MESSAGE -#define HASTAT_BUS_RESET 0x0E // A bus reset was detected. -#define HASTAT_PARITY_ERROR 0x0F // A parity error was detected. -#define HASTAT_REQUEST_SENSE_FAILED 0x10 // The adapter failed in issuing -#define SS_NO_ADAPTERS 0xE8 -#define SRB_DIR_IN 0x08 -#define SRB_DIR_OUT 0x10 -#define SRB_EVENT_NOTIFY 0x40 - -#define SECTOR_TYPE_MODE2 0x14 -#define READ_CD_USERDATA_MODE2 0x10 - -#define READ_TOC 0x43 -#define READ_TOC_FORMAT_TOC 0x0 - -#pragma pack(1) - -struct SRB_GetDiskInfo -{ - unsigned char SRB_Cmd; - unsigned char SRB_Status; - unsigned char SRB_HaId; - unsigned char SRB_Flags; - unsigned long SRB_Hdr_Rsvd; - unsigned char SRB_Target; - unsigned char SRB_Lun; - unsigned char SRB_DriveFlags; - unsigned char SRB_Int13HDriveInfo; - unsigned char SRB_Heads; - unsigned char SRB_Sectors; - unsigned char SRB_Rsvd1[22]; -}; - -struct SRB_GDEVBlock -{ - unsigned char SRB_Cmd; - unsigned char SRB_Status; - unsigned char SRB_HaId; - unsigned char SRB_Flags; - unsigned long SRB_Hdr_Rsvd; - unsigned char SRB_Target; - unsigned char SRB_Lun; - unsigned char SRB_DeviceType; - unsigned char SRB_Rsvd1; -}; - -struct SRB_ExecSCSICmd -{ - unsigned char SRB_Cmd; - unsigned char SRB_Status; - unsigned char SRB_HaId; - unsigned char SRB_Flags; - unsigned long SRB_Hdr_Rsvd; - unsigned char SRB_Target; - unsigned char SRB_Lun; - unsigned short SRB_Rsvd1; - unsigned long SRB_BufLen; - unsigned char *SRB_BufPointer; - unsigned char SRB_SenseLen; - unsigned char SRB_CDBLen; - unsigned char SRB_HaStat; - unsigned char SRB_TargStat; - unsigned long *SRB_PostProc; - unsigned char SRB_Rsvd2[20]; - unsigned char CDBByte[16]; - unsigned char SenseArea[SENSE_LEN+2]; -}; - -/***************************************************************************** - %%% SRB - HOST ADAPTER INQUIRY - SC_HA_INQUIRY (0) %%% -*****************************************************************************/ - -typedef struct // Offset -{ // HX/DEC - BYTE SRB_Cmd; // 00/000 ASPI command code = SC_HA_INQUIRY - BYTE SRB_Status; // 01/001 ASPI command status byte - BYTE SRB_HaId; // 02/002 ASPI host adapter number - BYTE SRB_Flags; // 03/003 ASPI request flags - DWORD SRB_Hdr_Rsvd; // 04/004 Reserved, MUST = 0 - BYTE HA_Count; // 08/008 Number of host adapters present - BYTE HA_SCSI_ID; // 09/009 SCSI ID of host adapter - BYTE HA_ManagerId[16]; // 0A/010 String describing the manager - BYTE HA_Identifier[16]; // 1A/026 String describing the host adapter - BYTE HA_Unique[16]; // 2A/042 Host Adapter Unique parameters - WORD HA_Rsvd1; // 3A/058 Reserved, MUST = 0 -} -SRB_HAInquiry; - -/*! - Get disc type associated with cd object. -*/ -discmode_t get_discmode_aspi (_img_private_t *p_env); - -/*! - Return the the kind of drive capabilities of device. - - Note: string is malloc'd so caller should free() then returned - string when done with it. - - */ -char * get_mcn_aspi (const _img_private_t *env); - -/*! - Get the format (XA, DATA, AUDIO) of a track. -*/ -track_format_t get_track_format_aspi(const _img_private_t *env, - track_t i_track); - -/*! - Initialize internal structures for CD device. - */ -bool init_aspi (_img_private_t *env); - -/* - Read cdtext information for a CdIo object . - - return true on success, false on error or CD-TEXT information does - not exist. -*/ -bool init_cdtext_aspi (_img_private_t *env); - -const char *is_cdrom_aspi(const char drive_letter); - -/*! - Reads an audio device using the DeviceIoControl method into data - starting from lsn. Returns 0 if no error. - */ -int read_audio_sectors_aspi (_img_private_t *obj, void *data, lsn_t lsn, - unsigned int nblocks); -/*! - Reads a single mode1 sector using the DeviceIoControl method into - data starting from lsn. Returns 0 if no error. - */ -int read_mode1_sector_aspi (const _img_private_t *env, void *data, - lsn_t lsn, bool b_form2); -/*! - Reads a single mode2 sector from cd device into data starting - from lsn. Returns 0 if no error. - */ -int read_mode2_sector_aspi (const _img_private_t *env, void *data, lsn_t lsn, - bool b_form2); - -/*! - Read and cache the CD's Track Table of Contents and track info. - Return true if successful or false if an error. -*/ -bool read_toc_aspi (_img_private_t *env); - -/*! - Run a SCSI MMC command. - - env private CD structure - i_timeout time in milliseconds we will wait for the command - to complete. If this value is -1, use the default - time-out value. - p_buf Buffer for data, both sending and receiving - i_buf Size of buffer - e_direction direction the transfer is to go. - cdb CDB bytes. All values that are needed should be set on - input. We'll figure out what the right CDB length should be. - - Return 0 if command completed successfully. - */ -int run_scsi_cmd_aspi( const void *p_user_data, - unsigned int i_timeout, - unsigned int i_cdb, - const scsi_mmc_cdb_t * p_cdb, - scsi_mmc_direction_t e_direction, - unsigned int i_buf, /*in/out*/ void *p_buf ); - diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/MSWindows/win32.c --- a/contrib/libcdio/MSWindows/win32.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,805 +0,0 @@ -/* - $Id: win32.c,v 1.3 2006/09/26 22:10:24 dgp85 Exp $ - - Copyright (C) 2003, 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -/* This file contains Win32-specific code and implements low-level - control of the CD drive. Inspired by vlc's cdrom.h code -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -static const char _rcsid[] = "$Id: win32.c,v 1.3 2006/09/26 22:10:24 dgp85 Exp $"; - -#include <cdio/cdio.h> -#include <cdio/sector.h> -#include <cdio/util.h> -#include <cdio/scsi_mmc.h> -#include "cdio_assert.h" -#include "cdio_private.h" /* protoype for cdio_is_device_win32 */ - -#include <string.h> - -#ifdef HAVE_WIN32_CDROM - -#include <ctype.h> -#include <stdio.h> - -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif - -#ifdef HAVE_ERRNO_H -#include <errno.h> -#endif - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -#ifdef HAVE_FCNTL_H -#include <fcntl.h> -#endif - -#include <windows.h> -#include <winioctl.h> -#include "win32.h" - -#ifdef HAVE_SYS_STAT_H -#include <sys/stat.h> -#endif - -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif - -#if defined (MSVC) || defined (_XBOX) -#undef IN -#else -#include "aspi32.h" -#endif - -#ifdef _XBOX -#include "stdint.h" -#include <xtl.h> -#define WIN_NT 1 -#else -#define WIN_NT ( GetVersion() < 0x80000000 ) -#endif - -/* General ioctl() CD-ROM command function */ -static bool -_cdio_mciSendCommand(int id, UINT msg, DWORD flags, void *arg) -{ -#ifdef _XBOX - return false; -#else - MCIERROR mci_error; - - mci_error = mciSendCommand(id, msg, flags, (DWORD)arg); - if ( mci_error ) { - char error[256]; - - mciGetErrorString(mci_error, error, 256); - cdio_warn("mciSendCommand() error: %s", error); - } - return(mci_error == 0); -#endif -} - -static access_mode_t -str_to_access_mode_win32(const char *psz_access_mode) -{ - const access_mode_t default_access_mode = - WIN_NT ? _AM_IOCTL : _AM_ASPI; - - if (NULL==psz_access_mode) return default_access_mode; - - if (!strcmp(psz_access_mode, "ioctl")) - return _AM_IOCTL; - else if (!strcmp(psz_access_mode, "ASPI")) { -#ifdef _XBOX - return _AM_ASPI; -#else - cdio_warn ("XBOX doesn't support access type: %s. Default used instead.", - psz_access_mode); - return default_access_mode; -#endif [... 553 lines omitted ...] - && (source_name[len-1] == ':')) - return true; - - if ( ! WIN_NT ) return false; - - /* Test to see if of form: \\.\x: */ - return ( (len == 6) - && source_name[0] == '\\' && source_name[1] == '\\' - && source_name[2] == '.' && source_name[3] == '\\' - && isalpha(source_name[len-2]) - && (source_name[len-1] == ':') ); -#else - return false; -#endif -} - -/*! - Initialization routine. This is the only thing that doesn't - get called via a function pointer. In fact *we* are the - ones to set that up. - */ -CdIo * -cdio_open_win32 (const char *psz_source_name) -{ -#ifdef HAVE_WIN32_CDROM - if ( WIN_NT ) { - return cdio_open_am_win32(psz_source_name, "ioctl"); - } else { - return cdio_open_am_win32(psz_source_name, "ASPI"); - } -#else - return NULL; -#endif /* HAVE_WIN32_CDROM */ -} - -/*! - Initialization routine. This is the only thing that doesn't - get called via a function pointer. In fact *we* are the - ones to set that up. - */ -CdIo * -cdio_open_am_win32 (const char *psz_orig_source, const char *psz_access_mode) -{ - -#ifdef HAVE_WIN32_CDROM - CdIo *ret; - _img_private_t *_data; - char *psz_source; - - cdio_funcs _funcs; - - memset( &_funcs, 0, sizeof(_funcs) ); - - _funcs.eject_media = _cdio_eject_media; - _funcs.free = _free_win32; - _funcs.get_arg = _get_arg_win32; - _funcs.get_cdtext = get_cdtext_generic; - _funcs.get_default_device = cdio_get_default_device_win32; - _funcs.get_devices = cdio_get_devices_win32; - _funcs.get_discmode = get_discmode_win32; - _funcs.get_drive_cap = scsi_mmc_get_drive_cap_generic; - _funcs.get_first_track_num= get_first_track_num_generic; - _funcs.get_hwinfo = NULL; - _funcs.get_mcn = _cdio_get_mcn; - _funcs.get_num_tracks = get_num_tracks_generic; - _funcs.get_track_format = _cdio_get_track_format; - _funcs.get_track_green = _cdio_get_track_green; - _funcs.get_track_lba = NULL; /* This could be implemented if need be. */ - _funcs.get_track_msf = _cdio_get_track_msf; - _funcs.lseek = NULL; - _funcs.read = NULL; - _funcs.read_audio_sectors = _cdio_read_audio_sectors; - _funcs.read_mode1_sector = _cdio_read_mode1_sector; - _funcs.read_mode1_sectors = _cdio_read_mode1_sectors; - _funcs.read_mode2_sector = _cdio_read_mode2_sector; - _funcs.read_mode2_sectors = _cdio_read_mode2_sectors; - _funcs.read_toc = &read_toc_win32; - _funcs.run_scsi_mmc_cmd = &run_scsi_cmd_win32; - _funcs.set_arg = set_arg_win32; - _funcs.stat_size = stat_size_win32; - - _data = _cdio_malloc (sizeof (_img_private_t)); - _data->access_mode = str_to_access_mode_win32(psz_access_mode); - _data->gen.init = false; - _data->gen.fd = -1; - - if (NULL == psz_orig_source) { - psz_source=cdio_get_default_device_win32(); - if (NULL == psz_source) return NULL; - set_arg_win32(_data, "source", psz_source); - free(psz_source); - } else { - if (cdio_is_device_win32(psz_orig_source)) - set_arg_win32(_data, "source", psz_orig_source); - else { - /* The below would be okay if all device drivers worked this way. */ -#if 0 - cdio_info ("source %s is a not a device", psz_orig_source); -#endif - return NULL; - } - } - - ret = cdio_new ((void *)_data, &_funcs); - if (ret == NULL) return NULL; - - if (_cdio_init_win32(_data)) - return ret; - else { - _free_win32 (_data); - return NULL; - } - -#else - return NULL; -#endif /* HAVE_WIN32_CDROM */ - -} - -bool -cdio_have_win32 (void) -{ -#ifdef HAVE_WIN32_CDROM - return true; -#else - return false; -#endif /* HAVE_WIN32_CDROM */ -} diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/MSWindows/win32.h --- a/contrib/libcdio/MSWindows/win32.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,170 +0,0 @@ -/* - $Id: win32.h,v 1.2 2005/01/01 02:43:58 rockyb Exp $ - - Copyright (C) 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -#include "cdio_private.h" - -#pragma pack() - -typedef struct { - lsn_t start_lsn; - UCHAR Control : 4; - UCHAR Format; - cdtext_t cdtext; /* CD-TEXT */ -} track_info_t; - -typedef enum { - _AM_NONE, - _AM_IOCTL, - _AM_ASPI, -} access_mode_t; - -typedef struct { - /* Things common to all drivers like this. - This must be first. */ - generic_img_private_t gen; - - access_mode_t access_mode; - - /* Some of the more OS specific things. */ - /* Entry info for each track, add 1 for leadout. */ - track_info_t tocent[CDIO_CD_MAX_TRACKS+1]; - - HANDLE h_device_handle; /* device descriptor */ - long hASPI; - short i_sid; - short i_lun; - long (*lpSendCommand)( void* ); - - bool b_ioctl_init; - bool b_aspi_init; - -} _img_private_t; - -/*! - Get disc type associated with cd object. -*/ -discmode_t get_discmode_win32ioctl (_img_private_t *p_env); - -/*! - Reads an audio device using the DeviceIoControl method into data - starting from lsn. Returns 0 if no error. -*/ -int read_audio_sectors_win32ioctl (_img_private_t *obj, void *data, lsn_t lsn, - unsigned int nblocks); -/*! - Reads a single mode2 sector using the DeviceIoControl method into - data starting from lsn. Returns 0 if no error. - */ -int read_mode2_sector_win32ioctl (const _img_private_t *env, void *data, - lsn_t lsn, bool b_form2); - -/*! - Reads a single mode1 sector using the DeviceIoControl method into - data starting from lsn. Returns 0 if no error. - */ -int read_mode1_sector_win32ioctl (const _img_private_t *env, void *data, - lsn_t lsn, bool b_form2); - -const char *is_cdrom_win32ioctl (const char drive_letter); - -/*! - Run a SCSI MMC command. - - env private CD structure - i_timeout_ms time in milliseconds we will wait for the command - to complete. If this value is -1, use the default - time-out value. - p_buf Buffer for data, both sending and receiving - i_buf Size of buffer - e_direction direction the transfer is to go. - cdb CDB bytes. All values that are needed should be set on - input. We'll figure out what the right CDB length should be. - - Return 0 if command completed successfully. - */ -int run_scsi_cmd_win32ioctl( const void *p_user_data, - unsigned int i_timeout, - unsigned int i_cdb, - const scsi_mmc_cdb_t * p_cdb, - scsi_mmc_direction_t e_direction, - unsigned int i_buf, /*in/out*/ void *p_buf ); - -/*! - Initialize internal structures for CD device. - */ -bool init_win32ioctl (_img_private_t *env); - -/*! - Read and cache the CD's Track Table of Contents and track info. - Return true if successful or false if an error. -*/ -bool read_toc_win32ioctl (_img_private_t *env); - -/*! - Return the media catalog number MCN. - - Note: string is malloc'd so caller should free() then returned - string when done with it. - - */ -char *get_mcn_win32ioctl (const _img_private_t *env); - -/* - Read cdtext information for a CdIo object . - - return true on success, false on error or CD-TEXT information does - not exist. -*/ -bool init_cdtext_win32ioctl (_img_private_t *env); - -/*! - Return the the kind of drive capabilities of device. - - Note: string is malloc'd so caller should free() then returned - string when done with it. - - */ -void get_drive_cap_aspi (const _img_private_t *env, - cdio_drive_read_cap_t *p_read_cap, - cdio_drive_write_cap_t *p_write_cap, - cdio_drive_misc_cap_t *p_misc_cap); - -/*! - Return the the kind of drive capabilities of device. - - Note: string is malloc'd so caller should free() then returned - string when done with it. - - */ -void get_drive_cap_win32ioctl (const _img_private_t *env, - cdio_drive_read_cap_t *p_read_cap, - cdio_drive_write_cap_t *p_write_cap, - cdio_drive_misc_cap_t *p_misc_cap); - -/*! - Get the format (XA, DATA, AUDIO) of a track. -*/ -track_format_t get_track_format_win32ioctl(const _img_private_t *env, - track_t i_track); - -void set_cdtext_field_win32(void *user_data, track_t i_track, - track_t i_first_track, - cdtext_field_t e_field, const char *psz_value); - diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/MSWindows/win32_ioctl.c --- a/contrib/libcdio/MSWindows/win32_ioctl.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,739 +0,0 @@ -/* - $Id: win32_ioctl.c,v 1.1 2005/01/01 02:43:58 rockyb Exp $ - - Copyright (C) 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -/* This file contains Win32-specific code using the DeviceIoControl - access method. -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -static const char _rcsid[] = "$Id: win32_ioctl.c,v 1.1 2005/01/01 02:43:58 rockyb Exp $"; - -#ifdef HAVE_WIN32_CDROM - -#if defined (_XBOX) -#include "inttypes.h" -#include "NtScsi.h" -#include "undocumented.h" -#define FORMAT_ERROR(i_err, psz_msg) \ - psz_msg=(char *)LocalAlloc(LMEM_ZEROINIT, 255); \ - sprintf(psz_msg, "error file %s: line %d (%s) %d\n", - _FILE__, __LINE__, __PRETTY_FUNCTION__, i_err) -#else -#include <ddk/ntddstor.h> -#include <ddk/ntddscsi.h> -#include <ddk/scsi.h> -#define FORMAT_ERROR(i_err, psz_msg) \ - FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, \ - NULL, i_err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), \ - (LPSTR) psz_msg, 0, NULL) -#endif - -#ifdef WIN32 -#include <windows.h> -#endif - -#include <stdio.h> -#include <stddef.h> /* offsetof() macro */ -#include <sys/stat.h> -#include <errno.h> -#include <sys/types.h> - -#include <cdio/cdio.h> -#include <cdio/sector.h> -#include "cdio_assert.h" -#include <cdio/scsi_mmc.h> -#include "cdtext_private.h" -#include "cdio/logging.h" - -/* Win32 DeviceIoControl specifics */ -/***** FIXME: #include ntddcdrm.h from Wine, but probably need to - modify it a little. -*/ - -#ifndef IOCTL_CDROM_BASE -# define IOCTL_CDROM_BASE FILE_DEVICE_CD_ROM -#endif -#ifndef IOCTL_CDROM_READ_TOC -#define IOCTL_CDROM_READ_TOC \ - CTL_CODE(IOCTL_CDROM_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS) -#endif -#ifndef IOCTL_CDROM_RAW_READ -#define IOCTL_CDROM_RAW_READ CTL_CODE(IOCTL_CDROM_BASE, 0x000F, \ - METHOD_OUT_DIRECT, FILE_READ_ACCESS) -#endif - -#ifndef IOCTL_CDROM_READ_Q_CHANNEL -#define IOCTL_CDROM_READ_Q_CHANNEL \ - CTL_CODE(IOCTL_CDROM_BASE, 0x000B, METHOD_BUFFERED, FILE_READ_ACCESS) -#endif - -typedef struct { - SCSI_PASS_THROUGH Spt; - ULONG Filler; - UCHAR SenseBuf[32]; - UCHAR DataBuf[512]; -} SCSI_PASS_THROUGH_WITH_BUFFERS; - -typedef struct _TRACK_DATA { - UCHAR Format; - UCHAR Control : 4; - UCHAR Adr : 4; - UCHAR TrackNumber; - UCHAR Reserved1; - UCHAR Address[4]; -} TRACK_DATA, *PTRACK_DATA; - -typedef struct _CDROM_TOC { - UCHAR Length[2]; - UCHAR FirstTrack; - UCHAR LastTrack; - TRACK_DATA TrackData[CDIO_CD_MAX_TRACKS+1]; -} CDROM_TOC, *PCDROM_TOC; - -typedef struct _TRACK_DATA_FULL { - UCHAR SessionNumber; - UCHAR Control : 4; - UCHAR Adr : 4; - UCHAR TNO; - UCHAR POINT; /* Tracknumber (of session?) or lead-out/in (0xA0, 0xA1, 0xA2) */ - UCHAR Min; /* Only valid if disctype is CDDA ? */ - UCHAR Sec; /* Only valid if disctype is CDDA ? */ - UCHAR Frame; /* Only valid if disctype is CDDA ? */ - UCHAR Zero; /* Always zero */ - UCHAR PMIN; /* start min, if POINT is a track; if lead-out/in 0xA0: First Track */ - UCHAR PSEC; [... 487 lines omitted ...] - p_env->tocent[ cdrom_toc_full.TrackData[i].POINT - 1 ].start_lsn = - cdio_msf3_to_lba( - cdrom_toc_full.TrackData[i].PMIN, - cdrom_toc_full.TrackData[i].PSEC, - cdrom_toc_full.TrackData[i].PFRAME ); - p_env->tocent[ cdrom_toc_full.TrackData[i].POINT - 1 ].Control = - cdrom_toc_full.TrackData[i].Control; - p_env->tocent[ cdrom_toc_full.TrackData[i].POINT - 1 ].Format = - i_track_format; - - cdio_debug("p_sectors: %i, %lu", i, - (unsigned long int) (p_env->tocent[i].start_lsn)); - - if (cdrom_toc_full.TrackData[i].POINT == p_env->gen.i_tracks) - i_seen_flag|=0x08; - } - - if ( 0x0F == i_seen_flag ) break; - } - if ( 0x0F == i_seen_flag ) { - p_env->gen.toc_init = true; - return true; - } - return false; -} - -/*! - Read and cache the CD's Track Table of Contents and track info. - Return true if successful or false if an error. -*/ -bool -read_toc_win32ioctl (_img_private_t *p_env) -{ - CDROM_TOC cdrom_toc; - DWORD dwBytesReturned; - unsigned int i; - - if ( ! p_env ) return false; - - if ( read_fulltoc_win32mmc(p_env) ) return true; - - /* SCSI-MMC READ_TOC (FULTOC) read failed. Try reading TOC via - DeviceIoControl instead */ - if( DeviceIoControl( p_env->h_device_handle, - IOCTL_CDROM_READ_TOC, - NULL, 0, &cdrom_toc, sizeof(CDROM_TOC), - &dwBytesReturned, NULL ) == 0 ) { - char *psz_msg = NULL; - long int i_err = GetLastError(); - FORMAT_ERROR(i_err, psz_msg); - if (psz_msg) { - cdio_warn("could not read TOC (%ld): %s", i_err, psz_msg); - LocalFree(psz_msg); - } else - cdio_warn("could not read TOC (%ld)", i_err); - return false; - } - - p_env->gen.i_first_track = cdrom_toc.FirstTrack; - p_env->gen.i_tracks = cdrom_toc.LastTrack - cdrom_toc.FirstTrack + 1; - - for( i = 0 ; i <= p_env->gen.i_tracks ; i++ ) { - p_env->tocent[ i ].start_lsn = - cdio_msf3_to_lba( cdrom_toc.TrackData[i].Address[1], - cdrom_toc.TrackData[i].Address[2], - cdrom_toc.TrackData[i].Address[3] ); - p_env->tocent[ i ].Control = cdrom_toc.TrackData[i].Control; - p_env->tocent[ i ].Format = cdrom_toc.TrackData[i].Format; - cdio_debug("p_sectors: %i, %lu", i, - (unsigned long int) (p_env->tocent[i].start_lsn)); - } - p_env->gen.toc_init = true; - return true; -} - -/*! - Return the media catalog number MCN. - - Note: string is malloc'd so caller should free() then returned - string when done with it. - - */ -char * -get_mcn_win32ioctl (const _img_private_t *env) { - - DWORD dwBytesReturned; - SUB_Q_MEDIA_CATALOG_NUMBER mcn; - CDROM_SUB_Q_DATA_FORMAT q_data_format; - - memset( &mcn, 0, sizeof(mcn) ); - - q_data_format.Format = CDIO_SUBCHANNEL_MEDIA_CATALOG; - - q_data_format.Track=1; - - if( DeviceIoControl( env->h_device_handle, - IOCTL_CDROM_READ_Q_CHANNEL, - &q_data_format, sizeof(q_data_format), - &mcn, sizeof(mcn), - &dwBytesReturned, NULL ) == 0 ) { - cdio_warn( "could not read Q Channel at track %d", 1); - } else if (mcn.Mcval) - return strdup(mcn.MediaCatalog); - return NULL; -} - -/*! - Get the format (XA, DATA, AUDIO) of a track. -*/ -track_format_t -get_track_format_win32ioctl(const _img_private_t *env, track_t i_track) -{ - /* This is pretty much copied from the "badly broken" cdrom_count_tracks - in linux/cdrom.c. - */ - - if (env->tocent[i_track - env->gen.i_first_track].Control & 0x04) { - if (env->tocent[i_track - env->gen.i_first_track].Format == 0x10) - return TRACK_FORMAT_CDI; - else if (env->tocent[i_track - env->gen.i_first_track].Format == 0x20) - return TRACK_FORMAT_XA; - else - return TRACK_FORMAT_DATA; - } else - return TRACK_FORMAT_AUDIO; -} - -#endif /*HAVE_WIN32_CDROM*/ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/Makefile.am --- a/contrib/libcdio/Makefile.am Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -include $(top_srcdir)/misc/Makefile.common - -AM_CFLAGS = $(DEFAULT_OCFLAGS) $(VISIBILITY_FLAG) -AM_LDFLAGS = $(xineplug_ldflags) - -SUBDIRS = cdio MSWindows image - -INCLUDES = $(LIBCDIO_CFLAGS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/lib -I$(top_builddir)/lib - -noinst_HEADERS = \ - cdio_assert.h \ - _cdio_stdio.h \ - scsi_mmc.h \ - cdio_private.h \ - _cdio_stream.h \ - iso9660_private.h \ - portable.h - -noinst_LTLIBRARIES = libcdio.la libiso9660.la - -libcdio_la_SOURCES = \ - _cdio_bsdi.c \ - _cdio_generic.c \ - _cdio_linux.c \ - _cdio_osx.c \ - _cdio_stdio.c \ - _cdio_stdio.h \ - _cdio_stream.c \ - _cdio_stream.h \ - _cdio_sunos.c \ - cd_types.c \ - cdio.c \ - cdtext.c \ - cdtext_private.h \ - ds.c \ - FreeBSD/freebsd.c \ - FreeBSD/freebsd.h \ - FreeBSD/freebsd_cam.c \ - FreeBSD/freebsd_ioctl.c \ - generic.h \ - image.h \ - image/bincue.c \ - image/cdrdao.c \ - image_common.h \ - image/nrg.c \ - image/nrg.h \ - MSWindows/aspi32.c \ - MSWindows/aspi32.h \ - MSWindows/win32_ioctl.c \ - MSWindows/win32.c \ - MSWindows/win32.h \ - logging.c \ - scsi_mmc.c \ - scsi_mmc_private.h \ - sector.c \ - util.c - -libiso9660_la_SOURCES = \ - iso9660.c \ - iso9660_private.h \ - iso9660_fs.c \ - xa.c diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/_cdio_bsdi.c --- a/contrib/libcdio/_cdio_bsdi.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,846 +0,0 @@ -/* - $Id: _cdio_bsdi.c,v 1.3 2005/01/01 02:43:57 rockyb Exp $ - - Copyright (C) 2001 Herbert Valerio Riedel <hv...@gn...> - Copyright (C) 2002, 2003, 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -/* This file contains BSDI-specific code and implements low-level - control of the CD drive. -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -static const char _rcsid[] = "$Id: _cdio_bsdi.c,v 1.3 2005/01/01 02:43:57 rockyb Exp $"; - -#include <cdio/logging.h> -#include <cdio/sector.h> -#include <cdio/util.h> -#include "cdio_assert.h" -#include "cdio_private.h" - -#define DEFAULT_CDIO_DEVICE "/dev/rsr0c" -#include <string.h> - -#ifdef HAVE_BSDI_CDROM - -#include <stdio.h> -#include <stdlib.h> -#include <errno.h> -#include <unistd.h> -#include <fcntl.h> - -/*#define USE_ETC_FSTAB*/ -#ifdef USE_ETC_FSTAB -#include <fstab.h> -#endif - -#include <dvd.h> -#include <sys/stat.h> -#include <sys/types.h> -#include <sys/ioctl.h> -#include </sys/dev/scsi/scsi.h> -#include </sys/dev/scsi/scsi_ioctl.h> -#include "cdtext_private.h" - -typedef enum { - _AM_NONE, - _AM_IOCTL, -} access_mode_t; - -typedef struct { - /* Things common to all drivers like this. - This must be first. */ - generic_img_private_t gen; - - access_mode_t access_mode; - - /* Some of the more OS specific things. */ - /* Track information */ - struct cdrom_tochdr tochdr; - struct cdrom_tocentry tocent[CDIO_CD_MAX_TRACKS+1]; - -} _img_private_t; - -/* Define the Cdrom Generic Command structure */ -typedef struct cgc -{ - scsi_mmc_cdb_t cdb; - u_char *buf; - int buflen; - int rw; - unsigned int timeout; - scsi_user_sense_t *sus; -} cgc_t; - - -/* - This code adapted from Steven M. Schultz's libdvd -*/ -static int -run_scsi_cmd_bsdi(const void *p_user_data, unsigned int i_timeout_ms, - unsigned int i_cdb, const scsi_mmc_cdb_t *p_cdb, - scsi_mmc_direction_t e_direction, - unsigned int i_buf, /*in/out*/ void *p_buf ) -{ - const _img_private_t *p_env = p_user_data; - int i_status, i_asc; - struct scsi_user_cdb suc; - struct scsi_sense *sp; - - again: - suc.suc_flags = SCSI_MMC_DATA_READ == e_direction ? - SUC_READ : SUC_WRITE; - suc.suc_cdblen = i_cdb; - memcpy(suc.suc_cdb, p_cdb, i_cdb); - suc.suc_data = p_buf; - suc.suc_datalen = i_buf; - suc.suc_timeout = msecs2secs(i_timeout_ms); - if (ioctl(p_env->gen.fd, SCSIRAWCDB, &suc) == -1) - return(errno); - i_status = suc.suc_sus.sus_status; - -#if 0 - /* - * If the device returns a scsi sense error and debugging is enabled print - * some hopefully useful information on stderr. - */ - if (i_status && debug) [... 594 lines omitted ...] - exists = cdio_is_cdrom(drive, NULL); - if ( exists ) { - cdio_add_device_list(&drives, drive, &num_drives); - } - } - cdio_add_device_list(&drives, NULL, &num_drives); - return drives; -#endif /*HAVE_BSDI_CDROM*/ -} - -/*! - Return a string containing the default CD device if none is specified. - */ -char * -cdio_get_default_device_bsdi(void) -{ - return strdup(DEFAULT_CDIO_DEVICE); -} - -/*! - Initialization routine. This is the only thing that doesn't - get called via a function pointer. In fact *we* are the - ones to set that up. - */ -CdIo * -cdio_open_am_bsdi (const char *psz_source_name, const char *psz_access_mode) -{ - if (psz_access_mode != NULL) - cdio_warn ("there is only one access mode for bsdi. Arg %s ignored", - psz_access_mode); - return cdio_open_bsdi(psz_source_name); -} - - -/*! - Initialization routine. This is the only thing that doesn't - get called via a function pointer. In fact *we* are the - ones to set that up. - */ -CdIo * -cdio_open_bsdi (const char *psz_orig_source) -{ - -#ifdef HAVE_BSDI_CDROM - CdIo *ret; - _img_private_t *_data; - char *psz_source; - - cdio_funcs _funcs = { - .eject_media = _eject_media_bsdi, - .free = cdio_generic_free, - .get_arg = _get_arg_bsdi, - .get_cdtext = get_cdtext_generic, - .get_default_device = cdio_get_default_device_bsdi, - .get_devices = cdio_get_devices_bsdi, - .get_drive_cap = scsi_mmc_get_drive_cap_generic, - .get_discmode = get_discmode_generic, - .get_first_track_num= get_first_track_num_generic, - .get_hwinfo = NULL, - .get_mcn = _get_mcn_bsdi, - .get_num_tracks = get_num_tracks_generic, - .get_track_format = get_track_format_bsdi, - .get_track_green = _get_track_green_bsdi, - .get_track_lba = NULL, /* This could be implemented if need be. */ - .get_track_msf = _get_track_msf_bsdi, - .lseek = cdio_generic_lseek, - .read = cdio_generic_read, - .read_audio_sectors = _read_audio_sectors_bsdi, - .read_mode1_sector = _read_mode1_sector_bsdi, - .read_mode1_sectors = _read_mode1_sectors_bsdi, - .read_mode2_sector = _read_mode2_sector_bsdi, - .read_mode2_sectors = _read_mode2_sectors_bsdi, - .read_toc = &read_toc_bsdi, - .run_scsi_mmc_cmd = &run_scsi_cmd_bsdi, - .set_arg = _set_arg_bsdi, - .stat_size = _stat_size_bsdi - }; - - _data = _cdio_malloc (sizeof (_img_private_t)); - _data->access_mode = _AM_IOCTL; - _data->gen.init = false; - _data->gen.fd = -1; - _data->gen.toc_init = false; - _data->gen.b_cdtext_init = false; - _data->gen.b_cdtext_error = false; - - if (NULL == psz_orig_source) { - psz_source=cdio_get_default_device_linux(); - if (NULL == psz_source) return NULL; - _set_arg_bsdi(_data, "source", psz_source); - free(psz_source); - } else { - if (cdio_is_device_generic(psz_orig_source)) - _set_arg_bsdi(_data, "source", psz_orig_source); - else { - /* The below would be okay if all device drivers worked this way. */ -#if 0 - cdio_info ("source %s is not a device", psz_orig_source); -#endif - return NULL; - } - } - - ret = cdio_new ( (void *) _data, &_funcs); - if (ret == NULL) return NULL; - - if (_cdio_init(_data)) - return ret; - else { - cdio_generic_free (_data); - return NULL; - } - -#else - return NULL; -#endif /* HAVE_BSDI_CDROM */ - -} - -bool -cdio_have_bsdi (void) -{ -#ifdef HAVE_BSDI_CDROM - return true; -#else - return false; -#endif /* HAVE_BSDI_CDROM */ -} diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/_cdio_generic.c --- a/contrib/libcdio/_cdio_generic.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,426 +0,0 @@ -/* - $Id: _cdio_generic.c,v 1.3 2005/01/01 02:43:57 rockyb Exp $ - - Copyright (C) 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -/* This file contains generic implementations of device-dirver routines. -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -static const char _rcsid[] = "$Id: _cdio_generic.c,v 1.3 2005/01/01 02:43:57 rockyb Exp $"; - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif /*HAVE_UNISTD_H*/ - -#include <fcntl.h> - -#include <sys/stat.h> -#include <sys/types.h> - -#include <cdio/sector.h> -#include <cdio/util.h> -#include <cdio/logging.h> -#include "cdio_assert.h" -#include "cdio_private.h" -#include "_cdio_stdio.h" -#include "portable.h" - -/*! - Eject media -- there's nothing to do here. We always return 2. - Should we also free resources? - */ -int -cdio_generic_bogus_eject_media (void *user_data) { - /* Sort of a stub here. Perhaps log a message? */ - return 2; -} - - -/*! - Release and free resources associated with cd. - */ -void -cdio_generic_free (void *p_user_data) -{ - generic_img_private_t *p_env = p_user_data; - track_t i_track; - - if (NULL == p_env) return; - free (p_env->source_name); - - for (i_track=0; i_track < p_env->i_tracks; i_track++) { - cdtext_destroy(&(p_env->cdtext_track[i_track])); - } - - if (p_env->fd >= 0) - close (p_env->fd); - - free (p_env); -} - -/*! - Initialize CD device. - */ -bool -cdio_generic_init (void *user_data) -{ - generic_img_private_t *p_env = user_data; - if (p_env->init) { - cdio_warn ("init called more than once"); - return false; - } - - p_env->fd = open (p_env->source_name, O_RDONLY, 0); - - if (p_env->fd < 0) - { - cdio_warn ("open (%s): %s", p_env->source_name, strerror (errno)); - return false; - } - - p_env->init = true; - p_env->toc_init = false; - p_env->b_cdtext_init = false; - p_env->b_cdtext_error = false; - p_env->i_joliet_level = 0; /* Assume no Joliet extensions initally */ - return true; -} - -/*! - Reads a single form1 sector from cd device into data starting - from lsn. Returns 0 if no error. - */ -int -cdio_generic_read_form1_sector (void * user_data, void *data, lsn_t lsn) -{ - if (0 > cdio_generic_lseek(user_data, CDIO_CD_FRAMESIZE*lsn, SEEK_SET)) - return -1; - if (0 > cdio_generic_read(user_data, data, CDIO_CD_FRAMESIZE)) - return -1; - return 0; [... 174 lines omitted ...] - track_t i_track; - discmode_t discmode=CDIO_DISC_MODE_NO_INFO; - - if (!p_env->toc_init) - p_env->cdio->op.read_toc (p_user_data); - - if (!p_env->toc_init) - return CDIO_DISC_MODE_NO_INFO; - - for (i_track = p_env->i_first_track; - i_track < p_env->i_first_track + p_env->i_tracks ; - i_track ++) { - track_format_t track_fmt = - p_env->cdio->op.get_track_format(p_env, i_track); - - switch(track_fmt) { - case TRACK_FORMAT_AUDIO: - switch(discmode) { - case CDIO_DISC_MODE_NO_INFO: - discmode = CDIO_DISC_MODE_CD_DA; - break; - case CDIO_DISC_MODE_CD_DA: - case CDIO_DISC_MODE_CD_MIXED: - case CDIO_DISC_MODE_ERROR: - /* No change*/ - break; - default: - discmode = CDIO_DISC_MODE_CD_MIXED; - } - break; - case TRACK_FORMAT_XA: - switch(discmode) { - case CDIO_DISC_MODE_NO_INFO: - discmode = CDIO_DISC_MODE_CD_XA; - break; - case CDIO_DISC_MODE_CD_XA: - case CDIO_DISC_MODE_CD_MIXED: - case CDIO_DISC_MODE_ERROR: - /* No change*/ - break; - default: - discmode = CDIO_DISC_MODE_CD_MIXED; - } - break; - case TRACK_FORMAT_DATA: - switch(discmode) { - case CDIO_DISC_MODE_NO_INFO: - discmode = CDIO_DISC_MODE_CD_DATA; - break; - case CDIO_DISC_MODE_CD_DATA: - case CDIO_DISC_MODE_CD_MIXED: - case CDIO_DISC_MODE_ERROR: - /* No change*/ - break; - default: - discmode = CDIO_DISC_MODE_CD_MIXED; - } - break; - case TRACK_FORMAT_ERROR: - default: - discmode = CDIO_DISC_MODE_ERROR; - } - } - return discmode; -} - -/*! - Return the number of of the first track. - CDIO_INVALID_TRACK is returned on error. -*/ -track_t -get_first_track_num_generic(void *p_user_data) -{ - generic_img_private_t *p_env = p_user_data; - - if (!p_env->toc_init) - p_env->cdio->op.read_toc (p_user_data); - - return p_env->toc_init ? p_env->i_first_track : CDIO_INVALID_TRACK; -} - - -/*! - Return the number of tracks in the current medium. -*/ - track_t -get_num_tracks_generic(void *p_user_data) -{ - generic_img_private_t *p_env = p_user_data; - - if (!p_env->toc_init) - p_env->cdio->op.read_toc (p_user_data); - - return p_env->toc_init ? p_env->i_tracks : CDIO_INVALID_TRACK; -} - -void -set_cdtext_field_generic(void *user_data, track_t i_track, - track_t i_first_track, - cdtext_field_t e_field, const char *psz_value) -{ - char **pp_field; - generic_img_private_t *env = user_data; - - if( i_track == 0 ) - pp_field = &(env->cdtext.field[e_field]); - - else - pp_field = &(env->cdtext_track[i_track-i_first_track].field[e_field]); - - *pp_field = strdup(psz_value); -} - -/*! - Read CD-Text information for a CdIo object . - - return true on success, false on error or CD-TEXT information does - not exist. -*/ -bool -init_cdtext_generic (generic_img_private_t *p_env) -{ - return scsi_mmc_init_cdtext_private( p_env, - p_env->cdio->op.run_scsi_mmc_cmd, - set_cdtext_field_generic - ); -} - diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/_cdio_linux.c --- a/contrib/libcdio/_cdio_linux.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1197 +0,0 @@ -/* - $Id: _cdio_linux.c,v 1.4 2006/09/26 22:18:44 dgp85 Exp $ - - Copyright (C) 2001 Herbert Valerio Riedel <hv...@gn...> - Copyright (C) 2002, 2003, 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -/* This file contains Linux-specific code and implements low-level - control of the CD drive. -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -static const char _rcsid[] = "$Id: _cdio_linux.c,v 1.4 2006/09/26 22:18:44 dgp85 Exp $"; - -#include <string.h> - -#include <cdio/sector.h> -#include <cdio/util.h> -#include <cdio/types.h> -#include <cdio/scsi_mmc.h> -#include <cdio/cdtext.h> -#include "cdtext_private.h" -#include "cdio_assert.h" -#include "cdio_private.h" - -#ifdef HAVE_LINUX_CDROM - -#if defined(HAVE_LINUX_VERSION_H) -# include <linux/version.h> -# if LINUX_VERSION_CODE >= KERNEL_VERSION(2,2,16) -# define __CDIO_LINUXCD_BUILD -# else -# error "You need a kernel greater than 2.2.16 to have CDROM support" -# endif -#else -# error "You need <linux/version.h> to have CDROM support" -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <errno.h> -#include <unistd.h> -#include <fcntl.h> -#include <mntent.h> - -#include <linux/cdrom.h> -#include <scsi/scsi.h> -#include <scsi/sg.h> -#include <scsi/scsi_ioctl.h> -#include <sys/mount.h> - -#include <sys/stat.h> -#include <sys/types.h> -#include <sys/ioctl.h> - -typedef enum { - _AM_NONE, - _AM_IOCTL, - _AM_READ_CD, - _AM_READ_10 -} access_mode_t; - -typedef struct { - /* Things common to all drivers like this. - This must be first. */ - generic_img_private_t gen; - - access_mode_t access_mode; - - /* Some of the more OS specific things. */ - /* Entry info for each track, add 1 for leadout. */ - struct cdrom_tocentry tocent[CDIO_CD_MAX_TRACKS+1]; - - struct cdrom_tochdr tochdr; - -} _img_private_t; - -/* Some ioctl() errno values which occur when the tray is empty */ -#define ERRNO_TRAYEMPTY(errno) \ - ((errno == EIO) || (errno == ENOENT) || (errno == EINVAL)) - -/**** prototypes for static functions ****/ -static bool is_cdrom_linux(const char *drive, char *mnttype); -static bool read_toc_linux (void *p_user_data); -static int run_scsi_cmd_linux( const void *p_user_data, - unsigned int i_timeout, - unsigned int i_cdb, - const scsi_mmc_cdb_t *p_cdb, - scsi_mmc_direction_t e_direction, - unsigned int i_buf, - /*in/out*/ void *p_buf ); -static access_mode_t - -str_to_access_mode_linux(const char *psz_access_mode) -{ - const access_mode_t default_access_mode = _AM_IOCTL; - - if (NULL==psz_access_mode) return default_access_mode; - - if (!strcmp(psz_access_mode, "IOCTL")) - return _AM_IOCTL; - else if (!strcmp(psz_access_mode, "READ_CD")) - return _AM_READ_CD; - else if (!strcmp(psz_access_mode, "READ_10")) - return _AM_READ_10; - else { - cdio_warn ("unknown access type: %s. Default IOCTL used.", [... 945 lines omitted ...] - for ( j=checklist2[i][1]; exists; ++j ) { - sprintf(drive, "/dev/%s", &checklist2[i][3]); - insert = strchr(drive, '?'); - if ( insert != NULL ) { - *insert = j; - } - if ( (exists=is_cdrom_linux(drive, NULL)) > 0 ) { - return(strdup(drive)); - } - } - } - return NULL; -#endif /*HAVE_LINUX_CDROM*/ -} -/*! - Initialization routine. This is the only thing that doesn't - get called via a function pointer. In fact *we* are the - ones to set that up. - */ -CdIo * -cdio_open_linux (const char *psz_source_name) -{ - return cdio_open_am_linux(psz_source_name, NULL); -} - -/*! - Initialization routine. This is the only thing that doesn't - get called via a function pointer. In fact *we* are the - ones to set that up. - */ -CdIo * -cdio_open_am_linux (const char *psz_orig_source, const char *access_mode) -{ - -#ifdef HAVE_LINUX_CDROM - CdIo *ret; - _img_private_t *_data; - char *psz_source; - - cdio_funcs _funcs = { - .eject_media = eject_media_linux, - .free = cdio_generic_free, - .get_arg = get_arg_linux, - .get_cdtext = get_cdtext_generic, - .get_default_device = cdio_get_default_device_linux, - .get_devices = cdio_get_devices_linux, - .get_discmode = get_discmode_linux, -#if USE_LINUX_CAP - .get_drive_cap = get_drive_cap_linux, -#else - .get_drive_cap = scsi_mmc_get_drive_cap_generic, -#endif - .get_first_track_num= get_first_track_num_generic, - .get_hwinfo = NULL, - .get_mcn = get_mcn_linux, - .get_num_tracks = get_num_tracks_generic, - .get_track_format = get_track_format_linux, - .get_track_green = get_track_green_linux, - .get_track_lba = NULL, /* This could be implemented if need be. */ - .get_track_msf = get_track_msf_linux, - .lseek = cdio_generic_lseek, - .read = cdio_generic_read, - .read_audio_sectors = _read_audio_sectors_linux, - .read_mode1_sector = _read_mode1_sector_linux, - .read_mode1_sectors = _read_mode1_sectors_linux, - .read_mode2_sector = _read_mode2_sector_linux, - .read_mode2_sectors = _read_mode2_sectors_linux, - .read_toc = read_toc_linux, - .run_scsi_mmc_cmd = run_scsi_cmd_linux, - .set_arg = set_arg_linux, - .stat_size = stat_size_linux - }; - - _data = _cdio_malloc (sizeof (_img_private_t)); - - _data->access_mode = str_to_access_mode_linux(access_mode); - _data->gen.init = false; - _data->gen.toc_init = false; - _data->gen.fd = -1; - _data->gen.b_cdtext_init = false; - _data->gen.b_cdtext_error = false; - - if (NULL == psz_orig_source) { - psz_source=cdio_get_default_device_linux(); - if (NULL == psz_source) { - free(_data); - return NULL; - } - set_arg_linux(_data, "source", psz_source); - free(psz_source); - } else { - if (cdio_is_device_generic(psz_orig_source)) - set_arg_linux(_data, "source", psz_orig_source); - else { - /* The below would be okay if all device drivers worked this way. */ -#if 0 - cdio_info ("source %s is not a device", psz_orig_source); -#endif - free(_data); - return NULL; - } - } - - ret = cdio_new ((void *)_data, &_funcs); - if (ret == NULL) return NULL; - - if (cdio_generic_init(_data)) { - return ret; - } else { - cdio_generic_free (_data); - return NULL; - } - -#else - return NULL; -#endif /* HAVE_LINUX_CDROM */ - -} - -bool -cdio_have_linux (void) -{ -#ifdef HAVE_LINUX_CDROM - return true; -#else - return false; -#endif /* HAVE_LINUX_CDROM */ -} diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/_cdio_osx.c --- a/contrib/libcdio/_cdio_osx.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1470 +0,0 @@ -/* - $Id: _cdio_osx.c,v 1.4 2005/01/01 02:43:57 rockyb Exp $ - - Copyright (C) 2003, 2004 Rocky Bernstein <ro...@pa...> - from vcdimager code: - Copyright (C) 2001 Herbert Valerio Riedel <hv...@gn...> - and VideoLAN code Copyright (C) 1998-2001 VideoLAN - Authors: Johan Bilien <jo...@vi...> - Gildas Bazin <gb...@ne...> - Jon Lech Johansen <jo...@na...> - Derk-Jan Hartman <hartman at videolan.org> - Justin F. Hallett <th...@so...> - - 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 -*/ - -/* This file contains OSX-specific code and implements low-level - control of the CD drive. -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -static const char _rcsid[] = "$Id: _cdio_osx.c,v 1.4 2005/01/01 02:43:57 rockyb Exp $"; - -#include <cdio/logging.h> -#include <cdio/sector.h> -#include <cdio/util.h> -#include "cdio_assert.h" -#include "cdio_private.h" - -#include <string.h> - -#ifdef HAVE_DARWIN_CDROM -#undef VERSION - -#include <CoreFoundation/CoreFoundation.h> -#include <IOKit/IOKitLib.h> -#include <IOKit/storage/IOStorageDeviceCharacteristics.h> - -#include <mach/mach.h> -#include <Carbon/Carbon.h> -#include <IOKit/scsi-commands/SCSITaskLib.h> -#include <IOKit/IOCFPlugIn.h> -#include <mach/mach_error.h> - -#include <stdio.h> -#include <stdlib.h> -#include <errno.h> -#include <unistd.h> -#include <fcntl.h> - -#include <sys/stat.h> -#include <sys/types.h> -#include <sys/ioctl.h> - - -#include <paths.h> -#include <CoreFoundation/CoreFoundation.h> -#include <IOKit/IOKitLib.h> -#include <IOKit/IOBSD.h> -#include <IOKit/scsi-commands/IOSCSIMultimediaCommandsDevice.h> -#include <IOKit/storage/IOCDTypes.h> -#include <IOKit/storage/IODVDTypes.h> -#include <IOKit/storage/IOMedia.h> -#include <IOKit/storage/IOCDMedia.h> -#include <IOKit/storage/IODVDMedia.h> -#include <IOKit/storage/IOCDMediaBSDClient.h> -#include <IOKit/storage/IODVDMediaBSDClient.h> -#include <IOKit/storage/IOStorageDeviceCharacteristics.h> - -#define kIOCDBlockStorageDeviceClassString "IOCDBlockStorageDevice" - -/* Note leadout is normally defined 0xAA, But on OSX 0xA0 is "lead in" while - 0xA2 is "lead out". Don't ask me why. */ -#define OSX_CDROM_LEADOUT_TRACK 0xA2 - -#define TOTAL_TRACKS (p_env->i_last_track - p_env->gen.i_first_track + 1) - -#define CDROM_CDI_TRACK 0x1 -#define CDROM_XA_TRACK 0x2 - -typedef enum { - _AM_NONE, - _AM_OSX, -} access_mode_t; - -#define MAX_SERVICE_NAME 1000 -typedef struct { - /* Things common to all drivers like this. - This must be first. */ - generic_img_private_t gen; - - access_mode_t access_mode; - - /* Track information */ - CDTOC *pTOC; - int i_descriptors; - track_t i_last_track; /* highest track number */ - track_t i_last_session; /* highest session number */ - track_t i_first_session; /* first session number */ - lsn_t *pp_lba; - io_service_t MediaClass_service; - char psz_MediaClass_service[MAX_SERVICE_NAME]; - SCSITaskDeviceInterface **pp_scsiTaskDeviceInterface; - -} _img_private_t; - -static bool read_toc_osx (void *p_user_data); - -/**** [... 1218 lines omitted ...] - { - CFRelease( str_bsd_path ); - IOObjectRelease( next_media ); - IOObjectRelease( media_iterator ); - return strdup( psz_buf ); - } - - CFRelease( str_bsd_path ); - IOObjectRelease( next_media ); - - } while( ( next_media = IOIteratorNext( media_iterator ) ) != 0 ); - } - IOObjectRelease( media_iterator ); - return NULL; -#endif /* HAVE_DARWIN_CDROM */ -} - -/*! - Initialization routine. This is the only thing that doesn't - get called via a function pointer. In fact *we* are the - ones to set that up. - */ -CdIo * -cdio_open_am_osx (const char *psz_source_name, const char *psz_access_mode) -{ - - if (psz_access_mode != NULL) - cdio_warn ("there is only one access mode for OS X. Arg %s ignored", - psz_access_mode); - return cdio_open_osx(psz_source_name); -} - - -/*! - Initialization routine. This is the only thing that doesn't - get called via a function pointer. In fact *we* are the - ones to set that up. - */ -CdIo * -cdio_open_osx (const char *psz_orig_source) -{ - -#ifdef HAVE_DARWIN_CDROM - CdIo *ret; - _img_private_t *_data; - char *psz_source; - - cdio_funcs _funcs = { - .eject_media = _eject_media_osx, - .free = _free_osx, - .get_arg = _get_arg_osx, - .get_cdtext = get_cdtext_osx, - .get_default_device = cdio_get_default_device_osx, - .get_devices = cdio_get_devices_osx, - .get_discmode = get_discmode_osx, - .get_drive_cap = get_drive_cap_osx, - .get_first_track_num= get_first_track_num_generic, - .get_hwinfo = get_hwinfo_osx, - .get_mcn = get_mcn_osx, - .get_num_tracks = get_num_tracks_generic, - .get_track_format = get_track_format_osx, - .get_track_green = get_track_green_osx, - .get_track_lba = get_track_lba_osx, - .get_track_msf = NULL, - .lseek = cdio_generic_lseek, - .read = cdio_generic_read, - .read_audio_sectors = _get_read_audio_sectors_osx, - .read_mode1_sector = _get_read_mode1_sector_osx, - .read_mode1_sectors = _get_read_mode1_sectors_osx, - .read_mode2_sector = _get_read_mode2_sector_osx, - .read_mode2_sectors = _get_read_mode2_sectors_osx, - .read_toc = read_toc_osx, - .run_scsi_mmc_cmd = run_scsi_cmd_osx, - .set_arg = _set_arg_osx, - .stat_size = _stat_size_osx - }; - - _data = _cdio_malloc (sizeof (_img_private_t)); - _data->access_mode = _AM_OSX; - _data->MediaClass_service = 0; - _data->gen.init = false; - _data->gen.fd = -1; - _data->gen.toc_init = false; - _data->gen.b_cdtext_init = false; - _data->gen.b_cdtext_error = false; - - if (NULL == psz_orig_source) { - psz_source=cdio_get_default_device_osx(); - if (NULL == psz_source) return NULL; - _set_arg_osx(_data, "source", psz_source); - free(psz_source); - } else { - if (cdio_is_device_generic(psz_orig_source)) - _set_arg_osx(_data, "source", psz_orig_source); - else { - /* The below would be okay ... [truncated message content] |
From: <li...@yo...> - 2007-11-24 22:45:06
|
# [node c67926c9c2eb7158c6147bb763ecc008b6d3de02 part 4] diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_macosx.m --- a/src/video_out/video_out_macosx.m Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_macosx.m Mon Sep 10 00:35:26 2007 +0100 @@ -16,8 +16,6 @@ * 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 - * - * $Id: video_out_macosx.m,v 1.15 2006/06/02 22:18:58 dsalt Exp $ * * This output driver makes use of xine's objective-c video_output * classes located in the macosx folder. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_none.c --- a/src/video_out/video_out_none.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_none.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: video_out_none.c,v 1.27 2006/07/10 22:08:44 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * Was originally part of toxine frontend. * ...but has now been adapted to xine coding style standards ;) diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_opengl.c --- a/src/video_out/video_out_opengl.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_opengl.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,15 +15,12 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * - * $Id: video_out_opengl.c,v 1.59 2006/07/10 22:08:44 dgp85 Exp $ - * * video_out_opengl.c, OpenGL based interface for xine * * Written by Matthias Hopf <ma...@ms...>, * based on the xshm and xv video output plugins. - * */ /* #define LOG */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_pgx32.c --- a/src/video_out/video_out_pgx32.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_pgx32.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,15 +15,12 @@ * * 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 - * - * $Id: video_out_pgx32.c,v 1.17 2006/07/10 22:08:44 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * video_out_pgx32.c, Sun PGX32 output plugin for xine * * written and currently maintained by * Robin Kay <komadori [at] gekkou [dot] co [dot] uk> - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_pgx64.c --- a/src/video_out/video_out_pgx64.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_pgx64.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: video_out_pgx64.c,v 1.78 2006/07/10 22:08:44 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * video_out_pgx64.c, Sun XVR100/PGX64/PGX24 output plugin for xine * @@ -25,7 +23,6 @@ * Robin Kay <komadori [at] gekkou [dot] co [dot] uk> * * Sun XVR-100 framebuffer graciously donated by Jake Goerzen. - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_sdl.c --- a/src/video_out/video_out_sdl.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_sdl.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: video_out_sdl.c,v 1.48 2006/07/10 22:08:44 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * video_out_sdl.c, Simple DirectMedia Layer * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_stk.c --- a/src/video_out/video_out_stk.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_stk.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: video_out_stk.c,v 1.19 2006/07/10 22:08:44 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * video_out_stk.c, Libstk Surface Video Driver * more info on Libstk at http://www.libstk.org diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_syncfb.c --- a/src/video_out/video_out_syncfb.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_syncfb.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,8 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * - * $Id: video_out_syncfb.c,v 1.108 2006/12/19 19:10:51 dsalt Exp $ - * * video_out_syncfb.c, SyncFB (for Matrox G200/G400 cards) interface for xine * * based on video_out_xv.c by (see file for original authors) diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_vidix.c --- a/src/video_out/video_out_vidix.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_vidix.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,8 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * - * $Id: video_out_vidix.c,v 1.75 2006/12/19 19:10:51 dsalt Exp $ - * * video_out_vidix.c * * xine video_out driver to vidix library by Miguel Freitas 30/05/2002 @@ -26,7 +24,6 @@ * based on video_out_xv.c, video_out_syncfb.c and video_out_pgx64.c * * some vidix specific code from mplayer (file vosub_vidix.c) - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_xcbshm.c --- a/src/video_out/video_out_xcbshm.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_xcbshm.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,8 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * - * $Id: video_out_xcbshm.c,v 1.3 2007/03/25 23:13:53 dgp85 Exp $ - * * video_out_xcbshm.c, X11 shared memory extension interface for xine * * based on mpeg2dec code from @@ -133,11 +131,6 @@ typedef struct { */ static void create_ximage(xshm_driver_t *this, xshm_frame_t *frame, int width, int height) { - if (width <= 0) - width = 1; - if (height <= 0) - height = 1; - frame->bytes_per_line = ((this->bpp * width + this->scanline_pad - 1) & (~(this->scanline_pad - 1))) >> 3; diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_xcbxv.c --- a/src/video_out/video_out_xcbxv.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_xcbxv.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: video_out_xcbxv.c,v 1.6 2007/03/29 18:58:21 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * video_out_xcbxv.c, X11 video extension interface for xine * @@ -207,11 +205,6 @@ static void create_ximage(xv_driver_t *t xcb_xv_query_image_attributes_reply_t *query_attributes_reply; unsigned int length; - - if (width <= 0) - width = 1; - if (height <= 0) - height = 1; if (this->use_pitch_alignment) { width = (width + 7) & ~0x7; diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_xshm.c --- a/src/video_out/video_out_xshm.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_xshm.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,17 +15,14 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * - * $Id: video_out_xshm.c,v 1.150 2007/03/25 23:13:53 dgp85 Exp $ - * * video_out_xshm.c, X11 shared memory extension interface for xine * * based on mpeg2dec code from * Aaron Holtzman <aho...@es...> * * xine-specific code by Guenter Bartsch <bar...@st...> - * */ #ifdef HAVE_CONFIG_H @@ -174,11 +171,6 @@ static XImage *create_ximage (xshm_drive static XImage *create_ximage (xshm_driver_t *this, XShmSegmentInfo *shminfo, int width, int height) { XImage *myimage = NULL; - - if (width <= 0) - width = 1; - if (height <= 0) - height = 1; if (this->use_shm) { diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_xv.c --- a/src/video_out/video_out_xv.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_xv.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: video_out_xv.c,v 1.224 2007/03/29 19:01:03 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * video_out_xv.c, X11 video extension interface for xine * @@ -251,11 +249,6 @@ static XvImage *create_ximage (xv_driver int width, int height, int format) { unsigned int xv_format; XvImage *image = NULL; - - if (width <= 0) - width = 1; - if (height <= 0) - height = 1; if (this->use_pitch_alignment) { lprintf ("use_pitch_alignment old width=%d",width); diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_xvmc.c --- a/src/video_out/video_out_xvmc.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_xvmc.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,8 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * - * $Id: video_out_xvmc.c,v 1.29 2007/03/25 23:07:23 dgp85 Exp $ - * * video_out_xvmc.c, X11 video motion compensation extension interface for xine * * based on mpeg2dec code from diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/video_out_xxmc.c --- a/src/video_out/video_out_xxmc.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/video_out_xxmc.c Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,7 @@ * * 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 - * - * $Id: video_out_xxmc.c,v 1.23 2007/03/25 23:13:53 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * video_out_xxmc.c, X11 decoding accelerated video extension interface for xine * @@ -33,7 +31,6 @@ * X11 unscaled overlay support by Miguel Freitas - Nov 2003 * XvMC VLD implementation by Thomas Hellström - 2004, 2005. * XvMC merge by Thomas Hellström - Sep 2004 - * */ @@ -605,11 +602,6 @@ static XvImage *create_ximage (xxmc_driv int width, int height, int format) { unsigned int xv_format; XvImage *image = NULL; - - if (width <= 0) - width = 1; - if (height <= 0) - height = 1; if (this->use_pitch_alignment) { width = (width + 7) & ~0x7; diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/x11osd.c --- a/src/video_out/x11osd.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/x11osd.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: x11osd.c,v 1.15 2005/09/25 00:44:04 miguelfreitas Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * x11osd.c, use X11 Nonrectangular Window Shape Extension to draw xine OSD * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/x11osd.h --- a/src/video_out/x11osd.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/x11osd.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: x11osd.h,v 1.4 2004/04/10 15:31:10 miguelfreitas Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * x11osd.h, use X11 Nonrectangular Window Shape Extension to draw xine OSD * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/xcbosd.c --- a/src/video_out/xcbosd.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/xcbosd.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: xcbosd.c,v 1.1 2007/02/15 15:19:33 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * xcbosd.c, use X11 Nonrectangular Window Shape Extension to draw xine OSD * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/xcbosd.h --- a/src/video_out/xcbosd.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/xcbosd.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: xcbosd.h,v 1.1 2007/02/15 15:19:33 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * xcbosd.h, use X11 Nonrectangular Window Shape Extension to draw xine OSD * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/xvmc_mocomp.c --- a/src/video_out/xvmc_mocomp.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/xvmc_mocomp.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: xvmc_mocomp.c,v 1.4 2005/05/06 07:42:21 totte67 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * XvMC image support by Jack Kelliher */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/xvmc_vld.c --- a/src/video_out/xvmc_vld.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/xvmc_vld.c Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,7 @@ * * 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 - * - * $Id: xvmc_vld.c,v 1.4 2005/05/06 07:42:21 totte67 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * xvmc_vld.c, X11 decoding accelerated video extension interface for xine * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/xxmc.h --- a/src/video_out/xxmc.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/xxmc.h Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,7 @@ * * 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 - * - * $Id: xxmc.h,v 1.9 2005/09/25 00:44:04 miguelfreitas Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * video_out_xxmc.c, X11 decoding accelerated video extension interface for xine * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/yuv2rgb.c --- a/src/video_out/yuv2rgb.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/yuv2rgb.c Mon Sep 10 00:35:26 2007 +0100 @@ -21,9 +21,7 @@ * * 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 - * - * $Id: yuv2rgb.c,v 1.52 2006/06/20 01:07:59 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #include "config.h" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/yuv2rgb_mlib.c --- a/src/video_out/yuv2rgb_mlib.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/yuv2rgb_mlib.c Mon Sep 10 00:35:26 2007 +0100 @@ -19,7 +19,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #include "config.h" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/video_out/yuv2rgb_mmx.c --- a/src/video_out/yuv2rgb_mmx.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/video_out/yuv2rgb_mmx.c Mon Sep 10 00:35:26 2007 +0100 @@ -19,7 +19,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #include "config.h" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/Makefile.am --- a/src/xine-engine/Makefile.am Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/Makefile.am Mon Sep 10 00:35:26 2007 +0100 @@ -18,7 +18,7 @@ noinst_HEADERS = bswap.h ffmpeg_bswap.h xineinclude_HEADERS = buffer.h metronom.h configfile.h vo_scale.h \ audio_out.h resample.h video_out.h xine_internal.h spu_decoder.h \ - video_overlay.h osd.h scratch.h xine_plugin.h xineintl.h \ + video_overlay.h osd.h spu.h scratch.h xine_plugin.h xineintl.h \ plugin_catalog.h audio_decoder.h video_decoder.h post.h \ io_helper.h broadcaster.h info_helper.h refcounter.h alphablend.h @@ -27,7 +27,7 @@ libxine_la_SOURCES = xine.c metronom.c c libxine_la_SOURCES = xine.c metronom.c configfile.c buffer.c \ load_plugins.c video_decoder.c buffer_types.c \ audio_decoder.c video_out.c audio_out.c resample.c events.c \ - video_overlay.c osd.c scratch.c demux.c vo_scale.c \ + video_overlay.c osd.c spu.c scratch.c demux.c vo_scale.c \ xine_interface.c post.c tvmode.c broadcaster.c io_helper.c \ input_rip.c input_cache.c info_helper.c refcounter.c \ alphablend.c audio_conversions.c diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/accel_xvmc.h --- a/src/xine-engine/accel_xvmc.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/accel_xvmc.h Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,7 @@ * * 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 - * - * $Id: accel_xvmc.h,v 1.3 2005/05/06 07:42:21 totte67 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * * Common acceleration definitions for XvMC. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/alphablend.c --- a/src/xine-engine/alphablend.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/alphablend.c Mon Sep 10 00:35:26 2007 +0100 @@ -17,7 +17,7 @@ * * 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., 675 Mass Ave, Cambridge, MA 02139, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA. * *------------------------------------------------------------ * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/alphablend.h --- a/src/xine-engine/alphablend.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/alphablend.h Mon Sep 10 00:35:26 2007 +0100 @@ -14,7 +14,7 @@ * * 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., 675 Mass Ave, Cambridge, MA 02139, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA. * * The author may be reached as <de...@li...> * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/audio_decoder.c --- a/src/xine-engine/audio_decoder.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/audio_decoder.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: audio_decoder.c,v 1.139 2007/02/20 00:34:57 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * * functions that implement audio decoding diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/audio_decoder.h --- a/src/xine-engine/audio_decoder.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/audio_decoder.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: audio_decoder.h,v 1.13 2004/09/26 22:54:52 valtri Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * xine audio decoder plugin interface - * */ #ifndef HAVE_AUDIO_DECODER_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/audio_out.c --- a/src/xine-engine/audio_out.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/audio_out.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with self program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ /** @@ -55,7 +55,6 @@ * Copyright (C) 2002 Felipe Rivera <liebremx at users sourceforge net> * * heavily modified by guenter bartsch 2003 for use in libxine - * */ #ifndef __sun diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/audio_out.h --- a/src/xine-engine/audio_out.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/audio_out.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: audio_out.h,v 1.77 2006/09/26 05:19:48 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifndef HAVE_AUDIO_OUT_H #define HAVE_AUDIO_OUT_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/broadcaster.c --- a/src/xine-engine/broadcaster.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/broadcaster.c Mon Sep 10 00:35:26 2007 +0100 @@ -17,10 +17,8 @@ * * 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 - * - * $Id: broadcaster.c,v 1.15 2007/01/19 01:23:06 dgp85 Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA + * * broadcaster.c - xine network broadcaster * * how it works: @@ -32,7 +30,6 @@ * - streams played on master will appear on every slave. * if master is not meant to use video/audio devices it may be started with * 'xine -V none -A none' - * */ #include <stdio.h> diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/broadcaster.h --- a/src/xine-engine/broadcaster.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/broadcaster.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * - * $Id: broadcaster.h,v 1.3 2006/09/26 05:19:48 dgp85 Exp $ - * * broadcaster.h - * */ #ifndef HAVE_BROADCASTER_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/bswap.h --- a/src/xine-engine/bswap.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/bswap.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifndef __BSWAP_H__ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/buffer.c --- a/src/xine-engine/buffer.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/buffer.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: buffer.c,v 1.37 2006/12/25 21:59:32 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * * contents: @@ -28,7 +26,6 @@ * free buffer pool management routines * * FIFO buffer structures/routines - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/buffer.h --- a/src/xine-engine/buffer.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/buffer.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: buffer.h,v 1.162 2007/01/14 16:53:37 klan Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * * contents: @@ -28,7 +26,6 @@ * free buffer pool management routines * * FIFO buffer structures/routines - * */ #ifndef HAVE_BUFFER_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/buffer_types.c --- a/src/xine-engine/buffer_types.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/buffer_types.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,16 +15,13 @@ * * 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 - * - * $Id: buffer_types.c,v 1.107 2006/12/26 03:18:56 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * * contents: * * buffer types management. * convert FOURCC and audioformattag to BUF_xxx defines - * */ #ifdef HAVE_CONFIG_H @@ -59,6 +56,7 @@ static const video_db_t video_db[] = { ME_FOURCC('P', 'I', 'M', '1'), ME_FOURCC('m', 'p', 'g', '2'), ME_FOURCC('m', 'p', 'g', '1'), + ME_FOURCC(0x02, 0, 0, 0x10), 0 }, BUF_VIDEO_MPEG, @@ -596,6 +594,14 @@ static const video_db_t video_db[] = { 0 }, BUF_VIDEO_VP6, + "On2 VP6" +}, +{ + { + ME_FOURCC('V','P','6','F'), + 0 + }, + BUF_VIDEO_VP6F, "On2 VP6" }, { @@ -1212,3 +1218,4 @@ void _x_waveformatex_le2me( xine_wavefor wavex->wBitsPerSample = le2me_16(wavex->wBitsPerSample); wavex->cbSize = le2me_16(wavex->cbSize); } + diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/configfile.c --- a/src/xine-engine/configfile.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/configfile.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: configfile.c,v 1.85 2007/02/22 15:49:16 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * config object (was: file) management - implementation - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/configfile.h --- a/src/xine-engine/configfile.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/configfile.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: configfile.h,v 1.42 2007/02/22 15:49:16 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * config file management - * */ #ifndef HAVE_CONFIGFILE_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/demux.c --- a/src/xine-engine/demux.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/demux.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,10 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * Demuxer helper functions * hide some xine engine details from demuxers and reduce code duplication - * - * $Id: demux.c,v 1.66 2007/01/18 23:28:46 dgp85 Exp $ */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/events.c --- a/src/xine-engine/events.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/events.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: events.c,v 1.32 2006/10/16 22:18:24 valtri Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * Event handling functions - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/info_helper.c --- a/src/xine-engine/info_helper.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/info_helper.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,10 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * stream metainfo helper functions * hide some xine engine details from demuxers and reduce code duplication - * - * $Id: info_helper.c,v 1.19 2006/10/16 22:18:24 valtri Exp $ */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/info_helper.h --- a/src/xine-engine/info_helper.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/info_helper.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * stream metainfo helper functions * hide some xine engine details from demuxers and reduce code duplication diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/input_cache.c --- a/src/xine-engine/input_cache.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/input_cache.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,14 +15,12 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * Buffered Input Plugin (request optimizer). * * The goal of this input plugin is to reduce * the number of calls to the real input plugin. - * - * $Id: input_cache.c,v 1.14 2007/02/20 00:34:57 dgp85 Exp $ */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/input_rip.c --- a/src/xine-engine/input_rip.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/input_rip.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * Rip Input Plugin for catching streams * @@ -28,8 +28,6 @@ * * - it's possible speeder saving streams in the xine without playing: * xine stream_mrl#save:file.raw\;noaudio\;novideo - * - * $Id: input_rip.c,v 1.34 2007/02/20 00:34:57 dgp85 Exp $ */ /* TODO: diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/io_helper.c --- a/src/xine-engine/io_helper.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/io_helper.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * abortable i/o helper functions */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/io_helper.h --- a/src/xine-engine/io_helper.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/io_helper.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * abortable i/o helper functions */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/load_plugins.c --- a/src/xine-engine/load_plugins.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/load_plugins.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,13 +15,10 @@ * * 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 - * - * $Id: load_plugins.c,v 1.230 2007/02/19 23:33:33 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * * Load input/demux/audio_out/video_out/codec plugins - * */ #ifdef HAVE_CONFIG_H @@ -156,7 +153,6 @@ static void dec_node_ref(plugin_node_t * /* * plugin list/catalog management functions - * */ static int get_decoder_priority(xine_t *this, plugin_node_t *node) { diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/lrb.c --- a/src/xine-engine/lrb.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/lrb.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,7 @@ * * 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 - * - * $Id: lrb.c,v 1.8 2003/12/09 00:02:36 f1rmb Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/lrb.h --- a/src/xine-engine/lrb.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/lrb.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,13 +15,10 @@ * * 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 - * - * $Id: lrb.h,v 1.4 2003/12/09 00:02:36 f1rmb Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * lrb : limited ring buffer * used for temporal buffer, limited to n elements - * */ #ifndef HAVE_LRB_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/metronom.c --- a/src/xine-engine/metronom.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/metronom.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: metronom.c,v 1.144 2007/02/20 00:34:57 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/metronom.h --- a/src/xine-engine/metronom.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/metronom.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: metronom.h,v 1.64 2006/09/26 05:19:49 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * metronom: general pts => virtual calculation/assoc * @@ -37,7 +35,6 @@ * video_pts and audio_vpts are not given for every frame. * - corrections to the frame rate may be needed to cope with bad * encoded streams. - * */ #ifndef HAVE_METRONOM_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/osd.c --- a/src/xine-engine/osd.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/osd.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * OSD stuff (text and graphic primitives) */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/osd.h --- a/src/xine-engine/osd.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/osd.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,9 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * OSD stuff (text and graphic primitives) - * $Id: osd.h,v 1.27 2006/09/26 05:19:49 dgp85 Exp $ */ #ifndef HAVE_OSD_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/plugin_catalog.h --- a/src/xine-engine/plugin_catalog.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/plugin_catalog.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: plugin_catalog.h,v 1.21 2006/09/26 05:19:49 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * xine-internal header: Definitions for plugin lists - * */ #ifndef _PLUGIN_CATALOG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/post.c --- a/src/xine-engine/post.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/post.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: post.c,v 1.32 2006/01/27 07:46:15 tmattern Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ /* diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/post.h --- a/src/xine-engine/post.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/post.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: post.h,v 1.26 2007/02/20 01:13:08 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * post plugin definitions - * */ #ifndef XINE_POST_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/refcounter.c --- a/src/xine-engine/refcounter.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/refcounter.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,7 @@ * * 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 - * - * $Id: refcounter.c,v 1.2 2006/09/26 05:19:49 dgp85 Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #define LOG_MODULE "refcounter" #define LOG_VERBOSE diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/refcounter.h --- a/src/xine-engine/refcounter.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/refcounter.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,7 @@ * * 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 - * - * $Id: refcounter.h,v 1.2 2006/09/26 05:19:49 dgp85 Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifndef HAVE_REFCOUNTER_H #define HAVE_REFCOUNTER_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/resample.c --- a/src/xine-engine/resample.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/resample.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: resample.c,v 1.10 2006/09/26 05:19:49 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/resample.h --- a/src/xine-engine/resample.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/resample.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: resample.h,v 1.6 2006/09/26 05:19:49 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * utilitiy functions for audio drivers * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/scratch.c --- a/src/xine-engine/scratch.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/scratch.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: scratch.c,v 1.24 2007/01/19 00:12:22 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * top-level xine functions - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/scratch.h --- a/src/xine-engine/scratch.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/scratch.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: scratch.h,v 1.13 2007/01/19 00:12:22 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * scratch buffer for log output - * */ #ifndef HAVE_SCRATCH_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/tvmode.c --- a/src/xine-engine/tvmode.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/tvmode.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: tvmode.c,v 1.17 2003/12/09 00:02:37 f1rmb Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * tvmode - TV output selection * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/video_decoder.c --- a/src/xine-engine/video_decoder.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/video_decoder.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,7 @@ * * 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 - * - * $Id: video_decoder.c,v 1.163 2007/02/20 00:34:58 dgp85 Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/video_decoder.h --- a/src/xine-engine/video_decoder.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/video_decoder.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: video_decoder.h,v 1.14 2004/09/26 22:54:52 valtri Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * xine video decoder plugin interface - * */ #ifndef HAVE_VIDEO_DECODER_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/video_out.c --- a/src/xine-engine/video_out.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/video_out.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: video_out.c,v 1.228 2007/04/01 01:03:06 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * frame allocation / queuing / scheduling / output functions */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/video_out.h --- a/src/xine-engine/video_out.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/video_out.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: video_out.h,v 1.114 2006/09/26 05:19:49 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * * xine version of video_out.h @@ -29,7 +27,6 @@ * * vo_port : generic frame_handling code, uses * a vo_driver for output - * */ #ifndef HAVE_VIDEO_OUT_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/video_overlay.c --- a/src/xine-engine/video_overlay.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/video_overlay.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,7 @@ * * 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 - * - * $Id: video_overlay.c,v 1.41 2006/09/26 00:28:14 dgp85 Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #include <stdlib.h> diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/video_overlay.h --- a/src/xine-engine/video_overlay.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/video_overlay.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,7 @@ * * 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 - * - * $Id: video_overlay.h,v 1.21 2006/09/26 05:19:49 dgp85 Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifndef HAVE_VIDEO_OVERLAY_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/vo_scale.c --- a/src/xine-engine/vo_scale.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/vo_scale.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,8 @@ * * 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 - * - * $Id: vo_scale.c,v 1.39 2006/09/26 08:00:02 dgp85 Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA + * * Contains common code to calculate video scaling parameters. * In short, it will map frame dimensions to screen/window size. * Takes into account aspect ratio correction and zooming. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/vo_scale.h --- a/src/xine-engine/vo_scale.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/vo_scale.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,8 @@ * * 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 - * - * $Id: vo_scale.h,v 1.14 2006/09/26 05:19:49 dgp85 Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA + * * vo_scale.h * * keeps video scaling information diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/xine.c --- a/src/xine-engine/xine.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/xine.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: xine.c,v 1.342 2007/02/20 00:37:02 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ /* @@ -70,6 +68,7 @@ #include "metronom.h" #include "configfile.h" #include "osd.h" +#include "spu.h" #include "xineutils.h" #include "compat.h" @@ -729,9 +728,10 @@ xine_stream_t *xine_stream_new (xine_t * /* * osd */ - if (vo) + if (vo) { + _x_spu_misc_init (this); stream->osd_renderer = _x_osd_renderer_init(stream); - else + } else stream->osd_renderer = NULL; /* diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/xine_interface.c --- a/src/xine-engine/xine_interface.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/xine_interface.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,13 +15,10 @@ * * 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 - * - * $Id: xine_interface.c,v 1.104 2007/03/26 11:48:01 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * convenience/abstraction layer, functions to implement * libxine's public interface - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/xine_internal.h --- a/src/xine-engine/xine_internal.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/xine_internal.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,7 @@ * * 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 - * - * $Id: xine_internal.h,v 1.181 2007/01/18 23:28:46 dgp85 Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifndef HAVE_XINE_INTERNAL_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/xine_plugin.h --- a/src/xine-engine/xine_plugin.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/xine_plugin.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: xine_plugin.h,v 1.23 2007/01/19 02:49:31 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * generic plugin definitions - * */ #ifndef XINE_PLUGIN_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-engine/xineintl.h --- a/src/xine-engine/xineintl.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-engine/xineintl.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,7 @@ * * 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 - * - * $Id: xineintl.h,v 1.9 2005/02/19 13:11:53 valtri Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifndef HAVE_XINEINTL_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/xine-utils/Makefile.am --- a/src/xine-utils/Makefile.am Sat Nov 24 22:12:01 2007 +0000 +++ b/src/xine-utils/Makefile.am Mon Sep 10 00:35:26 2007 +0100 @@ -32,6 +32,7 @@ libxineutils_la_SOURCES = $(pppc_files) cpu_accel.c \ color.c \ copy.c \ + crc.c \ list.c \ memcpy.c \ monitor.c \ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2e... [truncated message content] |
From: <li...@yo...> - 2007-11-24 22:45:06
|
# [node c67926c9c2eb7158c6147bb763ecc008b6d3de02 part 3] diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/dxr3/dxr3_decode_spu.c --- a/src/dxr3/dxr3_decode_spu.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/dxr3/dxr3_decode_spu.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: dxr3_decode_spu.c,v 1.56 2006/07/10 22:08:13 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ /* dxr3 spu decoder plugin. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/dxr3/dxr3_decode_video.c --- a/src/dxr3/dxr3_decode_video.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/dxr3/dxr3_decode_video.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: dxr3_decode_video.c,v 1.64 2006/07/10 22:08:13 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ /* dxr3 video decoder plugin. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/dxr3/dxr3_mpeg_encoders.c --- a/src/dxr3/dxr3_mpeg_encoders.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/dxr3/dxr3_mpeg_encoders.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: dxr3_mpeg_encoders.c,v 1.25 2007/03/10 17:25:13 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ /* mpeg encoders for the dxr3 video out plugin. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/dxr3/dxr3_scr.c --- a/src/dxr3/dxr3_scr.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/dxr3/dxr3_scr.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: dxr3_scr.c,v 1.19 2004/08/16 15:52:24 mroi Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ /* dxr3 scr plugin. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/dxr3/dxr3_scr.h --- a/src/dxr3/dxr3_scr.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/dxr3/dxr3_scr.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: dxr3_scr.h,v 1.7 2004/01/04 22:26:29 mroi Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #include "xine_internal.h" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/dxr3/dxr3_spu_encoder.c --- a/src/dxr3/dxr3_spu_encoder.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/dxr3/dxr3_spu_encoder.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: dxr3_spu_encoder.c,v 1.9 2005/09/24 19:08:26 miguelfreitas Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #include <stdio.h> diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/dxr3/video_out_dxr3.c --- a/src/dxr3/video_out_dxr3.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/dxr3/video_out_dxr3.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: video_out_dxr3.c,v 1.117 2006/07/17 17:19:51 dsalt Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ /* mpeg1 encoding video out plugin for the dxr3. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/dxr3/video_out_dxr3.h --- a/src/dxr3/video_out_dxr3.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/dxr3/video_out_dxr3.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: video_out_dxr3.h,v 1.25 2005/09/25 00:44:04 miguelfreitas Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/Makefile.am --- a/src/input/Makefile.am Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/Makefile.am Mon Sep 10 00:35:26 2007 +0100 @@ -20,7 +20,7 @@ endif xineinclude_HEADERS = input_plugin.h -noinst_HEADERS = net_buf_ctrl.h mms.h mmsh.h pnm.h media_helper.h videodev2.h http_helper.h +noinst_HEADERS = net_buf_ctrl.h mms.h mmsh.h pnm.h media_helper.h http_helper.h if ENABLE_DVB diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/base64.c --- a/src/input/base64.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/base64.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,11 +15,10 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * Base64 encoding modified for Musicbrainz * relicensed under the GNU General Public License for use in xine-lib - * */ /* -------------------------------------------------------------------------- @@ -39,9 +38,7 @@ You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - $Id: base64.c,v 1.2 2004/05/05 18:44:19 mroi Exp $ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA ----------------------------------------------------------------------------*/ /* @@ -84,7 +81,6 @@ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * */ #include <ctype.h> diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/base64.h --- a/src/input/base64.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/base64.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,11 +15,10 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * Base64 encoding modified for Musicbrainz * relicensed under the GNU General Public License for use in xine-lib - * */ /* -------------------------------------------------------------------------- @@ -39,9 +38,7 @@ You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - $Id: base64.h,v 1.1 2004/05/05 09:11:39 hadess Exp $ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA ----------------------------------------------------------------------------*/ /* @@ -84,7 +81,6 @@ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF * CONTRACT, TORT (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * */ #ifndef BASE64_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/http_helper.c --- a/src/input/http_helper.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/http_helper.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,11 +15,9 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * URL helper functions - * - * $Id: http_helper.c,v 1.9 2006/11/19 15:38:47 dgp85 Exp $ */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/http_helper.h --- a/src/input/http_helper.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/http_helper.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,11 +15,9 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * URL helper functions - * - * $Id: http_helper.h,v 1.3 2004/12/24 01:59:12 dsalt Exp $ */ #ifndef HTTP_HELPER_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_cdda.c --- a/src/input/input_cdda.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_cdda.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,10 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * Compact Disc Digital Audio (CDDA) Input Plugin * by Mike Melanson (mel...@pc...) - * - * $Id: input_cdda.c,v 1.94 2007/03/10 00:48:59 dgp85 Exp $ */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_dvb.c --- a/src/input/input_dvb.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_dvb.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * * Input plugin for Digital TV (Digital Video Broadcast - DVB) devices, @@ -330,8 +330,6 @@ typedef struct { osd_object_t *background; xine_event_queue_t *event_queue; - /* CRC table for PAT rebuilding */ - unsigned long crc32_table[256]; /* scratch buffer for forward seeking */ char seek_buf[BUFSIZE]; @@ -449,28 +447,6 @@ static void print_info(const char* estri printf("input_dvb: %s\n", estring); } #endif - -static void ts_build_crc32_table(dvb_input_plugin_t *this) { - uint32_t i, j, k; - - for( i = 0 ; i < 256 ; i++ ) { - k = 0; - for (j = (i << 24) | 0x800000 ; j != 0x80000000 ; j <<= 1) { - k = (k << 1) ^ (((k ^ j) & 0x80000000) ? 0x04c11db7 : 0); - } - this->crc32_table[i] = k; - } -} - -static uint32_t ts_compute_crc32(dvb_input_plugin_t *this, uint8_t *data, - uint32_t length, uint32_t crc32) { - uint32_t i; - - for(i = 0; i < length; i++) { - crc32 = (crc32 << 8) ^ this->crc32_table[(crc32 >> 24) ^ data[i]]; - } - return crc32; -} static unsigned int getbits(unsigned char *buffer, unsigned int bitpos, unsigned int bitcount) @@ -2480,7 +2456,7 @@ static void ts_rewrite_packets (dvb_inpu originalPkt[11]=(this->channels[this->channel].pmtpid >> 8) & 0xff; originalPkt[12]=this->channels[this->channel].pmtpid & 0xff; - crc= ts_compute_crc32 (this, originalPkt+1, 12, 0xffffffff); + crc= _x_compute_crc32 (originalPkt+1, 12, 0xffffffff); originalPkt[13]=(crc>>24) & 0xff; originalPkt[14]=(crc>>16) & 0xff; @@ -3095,8 +3071,6 @@ static int dvb_plugin_open(input_plugin_ snprintf(str, 256, "%s", this->channels[this->channel].name); _x_meta_info_set(this->stream, XINE_META_INFO_TITLE, str); - /* compute CRC table for rebuilding pat */ - ts_build_crc32_table(this); /* Clear all pids, the pmt will tell us which to use */ for (x = 0; x < MAX_FILTERS; x++){ @@ -3198,26 +3172,38 @@ static char **dvb_class_get_autoplay_lis dvb_input_class_t *class = (dvb_input_class_t *) this_gen; channel_t *channels=NULL; char foobuffer[BUFSIZE]; - int ch, apch, num_channels; + int ch, apch, num_channels = 0; int default_channel = -1; xine_cfg_entry_t lastchannel_enable = {0}; xine_cfg_entry_t lastchannel; - num_channels = 0; - - if (!(channels = load_channels(class->xine, NULL, &num_channels, 0))) { - static char *placefile = NULL; + /* need to probe card here to get fe_type to read in channels.conf */ + tuner_t *tuner; + xine_cfg_entry_t adapter; + + xine_config_lookup_entry(class->xine, "media.dvb.adapter", &adapter); + + if (!(tuner = tuner_init(class->xine,adapter.num_value))) { + xprintf(class->xine, XINE_VERBOSITY_LOG, _("input_dvb: cannot open dvb device\n")); + class->mrls[0]="Sorry, No DVB input device found."; + *num_files=1; + return class->mrls; + } + + if (!(channels = load_channels(class->xine, NULL, &num_channels, tuner->feinfo.type))) { /* channels.conf not found in .xine */ - class->mrls[0]="Sorry, no channels.conf found."; - class->mrls[1]="Please run the scan utility from the DVB"; - class->mrls[2]="drivers apps package and place the file in"; - if (!placefile) - asprintf (&placefile, "%s/"PACKAGE"/", xdgConfigHome(class->xine->basedir_handle)); - class->mrls[3]=placefile; - *num_files=4; + class->mrls[0]="Sorry, No valid channels.conf found"; + class->mrls[1]="for the selected DVB device."; + class->mrls[2]="Please run the dvbscan utility"; + class->mrls[3]="from the dvb drivers apps package"; + class->mrls[4]="and place the file in ~/.xine/"; + *num_files=5; + tuner_dispose(tuner); return class->mrls; } + tuner_dispose(tuner); + if (xine_config_lookup_entry(class->xine, "media.dvb.remember_channel", &lastchannel_enable) && lastchannel_enable.num_value && xine_config_lookup_entry(class->xine, "media.dvb.last_channel", &lastchannel)) diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_dvd.c --- a/src/input/input_dvd.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_dvd.c Mon Sep 10 00:35:26 2007 +0100 @@ -16,10 +16,7 @@ * * 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 - * - * $Id: input_dvd.c,v 1.216 2007/02/20 01:04:07 dgp85 Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ /* This file was origninally part of the xine-dvdnav project diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_file.c --- a/src/input/input_file.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_file.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: input_file.c,v 1.122 2007/03/29 19:47:17 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_gnome_vfs.c --- a/src/input/input_gnome_vfs.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_gnome_vfs.c Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,7 @@ * * 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 - * - * $Id: input_gnome_vfs.c,v 1.34 2007/01/19 01:05:25 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_http.c --- a/src/input/input_http.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_http.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,11 +15,9 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * input plugin for http network streams - * - * $Id: input_http.c,v 1.129 2007/03/17 16:47:16 dgp85 Exp $ */ #ifdef HAVE_CONFIG_H @@ -64,7 +62,7 @@ #define TAG_ICY_NOTICE2 "icy-notice2:" #define TAG_ICY_METAINT "icy-metaint:" #define TAG_CONTENT_TYPE "Content-Type:" -#define TAG_LASTFM_SERVER "Server: last.fm Streaming Server" +#define TAG_LASTFM_SERVER "Server: last.fm " typedef struct { input_plugin_t input_plugin; diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_mms.c --- a/src/input/input_mms.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_mms.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: input_mms.c,v 1.70 2007/02/20 00:51:39 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * mms input plugin based on work from major mms */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_net.c --- a/src/input/input_net.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_net.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,10 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * Read from a tcp network stream over a lan (put a tweaked mp1e encoder the * other end and you can watch tv anywhere in the house ..) - * - * $Id: input_net.c,v 1.70 2007/01/19 01:05:25 dgp85 Exp $ * * how to set up mp1e for use with this plugin: * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_plugin.h --- a/src/input/input_plugin.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_plugin.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: input_plugin.h,v 1.64 2007/01/19 01:05:25 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifndef HAVE_INPUT_PLUGIN_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_pnm.c --- a/src/input/input_pnm.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_pnm.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * pnm input plugin by joschka */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_pvr.c --- a/src/input/input_pvr.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_pvr.c Mon Sep 10 00:35:26 2007 +0100 @@ -17,7 +17,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * pvr input plugin for WinTV-PVR 250/350 pci cards using driver from: * http://ivtv.sf.net @@ -37,8 +37,6 @@ * * usage: * xine pvr:/<prefix_to_tmp_files>\!<prefix_to_saved_files>\!<max_page_age> - * - * $Id: input_pvr.c,v 1.65 2007/01/19 01:05:25 dgp85 Exp $ */ /************************************************************************** @@ -100,7 +98,7 @@ #include <time.h> #include <pthread.h> #include <sys/ioctl.h> -#include "videodev2.h" +#include <linux/videodev2.h> #define XINE_ENABLE_EXPERIMENTAL_FEATURES diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_rtp.c --- a/src/input/input_rtp.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_rtp.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * Xine input plugin for multicast video streams. * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_rtsp.c --- a/src/input/input_rtsp.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_rtsp.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * rtsp input plugin */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_smb.c --- a/src/input/input_smb.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_smb.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: input_smb.c,v 1.16 2007/01/26 17:06:05 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_stdin_fifo.c --- a/src/input/input_stdin_fifo.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_stdin_fifo.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: input_stdin_fifo.c,v 1.70 2007/02/20 00:34:56 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_v4l.c --- a/src/input/input_v4l.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_v4l.c Mon Sep 10 00:35:26 2007 +0100 @@ -16,7 +16,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * v4l input plugin */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/input_vcd.c --- a/src/input/input_vcd.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/input_vcd.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,10 +15,7 @@ * * 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 - * - * $Id: input_vcd.c,v 1.89 2007/03/16 16:32:58 dgp85 Exp $ - * + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/decoder.c --- a/src/input/libdvdnav/decoder.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/decoder.c Mon Sep 10 00:35:26 2007 +0100 @@ -18,9 +18,6 @@ * 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 - * - * $Id: decoder.c,v 1.14 2004/03/16 11:43:38 mroi Exp $ - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/decoder.h --- a/src/input/libdvdnav/decoder.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/decoder.h Mon Sep 10 00:35:26 2007 +0100 @@ -17,9 +17,6 @@ * 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 - * - * $Id: decoder.h,v 1.9 2004/03/16 11:43:38 mroi Exp $ - * */ #ifndef DECODER_H_INCLUDED diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/dvd_types.h --- a/src/input/libdvdnav/dvd_types.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/dvd_types.h Mon Sep 10 00:35:26 2007 +0100 @@ -17,9 +17,6 @@ * 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 - * - * $Id: dvd_types.h,v 1.4 2003/04/29 15:58:30 jcdutton Exp $ - * */ /* diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/dvdnav.c --- a/src/input/libdvdnav/dvdnav.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/dvdnav.c Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,6 @@ * 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 - * - * $Id: dvdnav.c,v 1.34 2005/10/15 14:04:05 jcdutton Exp $ - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/dvdnav.h --- a/src/input/libdvdnav/dvdnav.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/dvdnav.h Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,6 @@ * 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 - * - * $Id: dvdnav.h,v 1.15 2005/10/14 21:02:16 miguelfreitas Exp $ - * */ /* diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/dvdnav_events.h --- a/src/input/libdvdnav/dvdnav_events.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/dvdnav_events.h Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,6 @@ * 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 - * - * $Id: dvdnav_events.h,v 1.11 2003/04/07 18:10:48 mroi Exp $ - * */ /* diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/dvdnav_internal.h --- a/src/input/libdvdnav/dvdnav_internal.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/dvdnav_internal.h Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,6 @@ * 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 - * - * $Id: dvdnav_internal.h,v 1.18 2006/09/26 20:31:40 dgp85 Exp $ - * */ #ifndef DVDNAV_INTERNAL_H_INCLUDED diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/highlight.c --- a/src/input/libdvdnav/highlight.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/highlight.c Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,6 @@ * 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 - * - * $Id: highlight.c,v 1.17 2004/03/16 11:43:38 mroi Exp $ - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/navigation.c --- a/src/input/libdvdnav/navigation.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/navigation.c Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,6 @@ * 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 - * - * $Id: navigation.c,v 1.11 2004/06/20 16:59:13 mroi Exp $ - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/read_cache.c --- a/src/input/libdvdnav/read_cache.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/read_cache.c Mon Sep 10 00:35:26 2007 +0100 @@ -17,9 +17,6 @@ * 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 - * - * $Id: read_cache.c,v 1.12 2004/03/16 11:43:38 mroi Exp $ - * */ /* * There was a multithreaded read ahead cache in here for some time, but diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/read_cache.h --- a/src/input/libdvdnav/read_cache.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/read_cache.h Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,6 @@ * 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 - * - * $Id: read_cache.h,v 1.1 2002/08/08 17:49:21 richwareham Exp $ - * */ #ifndef __DVDNAV_READ_CACHE_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/remap.c --- a/src/input/libdvdnav/remap.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/remap.c Mon Sep 10 00:35:26 2007 +0100 @@ -14,8 +14,6 @@ * 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 - * - * $Id: remap.c,v 1.6 2006/12/08 16:26:10 mshopf Exp $ */ #include <stdlib.h> diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/remap.h --- a/src/input/libdvdnav/remap.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/remap.h Mon Sep 10 00:35:26 2007 +0100 @@ -14,8 +14,6 @@ * 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 - * - * $Id: remap.h,v 1.2 2003/02/20 16:02:00 mroi Exp $ */ #ifndef __REMAP__H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/searching.c --- a/src/input/libdvdnav/searching.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/searching.c Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,6 @@ * 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 - * - * $Id: searching.c,v 1.20 2006/09/17 13:01:08 valtri Exp $ - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/settings.c --- a/src/input/libdvdnav/settings.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/settings.c Mon Sep 10 00:35:26 2007 +0100 @@ -16,9 +16,6 @@ * 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 - * - * $Id: settings.c,v 1.7 2004/03/16 11:43:38 mroi Exp $ - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/vm.c --- a/src/input/libdvdnav/vm.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/vm.c Mon Sep 10 00:35:26 2007 +0100 @@ -19,9 +19,6 @@ * 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 - * - * $Id: vm.c,v 1.32 2004/12/20 19:27:20 mroi Exp $ - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/vm.h --- a/src/input/libdvdnav/vm.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/vm.h Mon Sep 10 00:35:26 2007 +0100 @@ -18,9 +18,6 @@ * 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 - * - * $Id: vm.h,v 1.11 2004/10/05 19:07:10 hadess Exp $ - * */ #ifndef VM_H_INCLUDED diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/vmcmd.c --- a/src/input/libdvdnav/vmcmd.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/vmcmd.c Mon Sep 10 00:35:26 2007 +0100 @@ -18,9 +18,6 @@ * 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 - * - * $Id: vmcmd.c,v 1.6 2004/03/16 11:43:38 mroi Exp $ - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libdvdnav/vmcmd.h --- a/src/input/libdvdnav/vmcmd.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libdvdnav/vmcmd.h Mon Sep 10 00:35:26 2007 +0100 @@ -17,9 +17,6 @@ * 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 - * - * $Id: vmcmd.h,v 1.7 2003/05/11 13:44:05 jcdutton Exp $ - * */ #ifndef VMCMD_H_INCLUDED diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libreal/asmrp.c --- a/src/input/libreal/asmrp.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libreal/asmrp.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: asmrp.c,v 1.10 2006/12/25 15:39:31 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * a parser for real's asm rules * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libreal/asmrp.h --- a/src/input/libreal/asmrp.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libreal/asmrp.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: asmrp.h,v 1.3 2006/11/29 19:43:01 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * a parser for real's asm rules * diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libreal/real.c --- a/src/input/libreal/real.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libreal/real.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,13 +15,10 @@ * * 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 - * - * $Id: real.c,v 1.26 2007/01/19 01:19:06 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * special functions for real streams. * adopted from joschkas real tools. - * */ #include <stdio.h> diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libreal/real.h --- a/src/input/libreal/real.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libreal/real.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,13 +15,10 @@ * * 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 - * - * $Id: real.h,v 1.5 2004/04/24 16:55:42 miguelfreitas Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * special functions for real streams. * adopted from joschkas real tools. - * */ #ifndef HAVE_REAL_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libreal/rmff.c --- a/src/input/libreal/rmff.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libreal/rmff.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: rmff.c,v 1.8 2006/06/20 01:07:58 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * functions for real media file format * adopted from joschkas real tools diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libreal/rmff.h --- a/src/input/libreal/rmff.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libreal/rmff.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: rmff.h,v 1.5 2004/04/06 19:20:16 valtri Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * some functions for real media file headers * adopted from joschkas real tools diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libreal/sdpplin.c --- a/src/input/libreal/sdpplin.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libreal/sdpplin.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: sdpplin.c,v 1.8 2006/12/25 16:21:56 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * sdp/sdpplin parser. - * */ #define LOG_MODULE "sdpplin" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/libreal/sdpplin.h --- a/src/input/libreal/sdpplin.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/libreal/sdpplin.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: sdpplin.h,v 1.2 2003/12/09 00:02:30 f1rmb Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * sdp/sdpplin parser. - * */ #ifndef HAVE_SDPPLIN_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/librtsp/rtsp.c --- a/src/input/librtsp/rtsp.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/librtsp/rtsp.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: rtsp.c,v 1.21 2006/06/20 01:07:58 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * a minimalistic implementation of rtsp protocol, * *not* RFC 2326 compilant yet. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/librtsp/rtsp.h --- a/src/input/librtsp/rtsp.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/librtsp/rtsp.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: rtsp.h,v 1.4 2003/12/09 00:02:31 f1rmb Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * a minimalistic implementation of rtsp protocol, * *not* RFC 2326 compilant yet. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/librtsp/rtsp_session.c --- a/src/input/librtsp/rtsp_session.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/librtsp/rtsp_session.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: rtsp_session.c,v 1.19 2006/12/22 18:08:10 klan Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * high level interface to rtsp servers. */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/librtsp/rtsp_session.h --- a/src/input/librtsp/rtsp_session.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/librtsp/rtsp_session.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: rtsp_session.h,v 1.7 2006/12/18 21:31:47 klan Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * high level interface to rtsp servers. */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/media_helper.c --- a/src/input/media_helper.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/media_helper.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/media_helper.h --- a/src/input/media_helper.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/media_helper.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/mms.c --- a/src/input/mms.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/mms.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: mms.c,v 1.65 2007/02/20 00:34:56 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * MMS over TCP protocol * based on work from major mms diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/mms.h --- a/src/input/mms.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/mms.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: mms.h,v 1.13 2007/01/03 15:09:42 klan Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * libmms public header */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/mmsh.c --- a/src/input/mmsh.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/mmsh.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: mmsh.c,v 1.42 2007/01/11 16:20:55 klan Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * MMS over HTTP protocol * written by Thibaut Mattern diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/mmsh.h --- a/src/input/mmsh.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/mmsh.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: mmsh.h,v 1.6 2007/01/09 20:51:00 klan Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * libmmsh public header */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/net_buf_ctrl.c --- a/src/input/net_buf_ctrl.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/net_buf_ctrl.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * network buffering control */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/net_buf_ctrl.h --- a/src/input/net_buf_ctrl.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/net_buf_ctrl.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * network buffering control */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/pnm.c --- a/src/input/pnm.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/pnm.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: pnm.c,v 1.22 2006/06/20 01:46:41 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * pnm protocol implementation * based upon code from joschka diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/pnm.h --- a/src/input/pnm.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/pnm.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,9 +15,7 @@ * * 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 - * - * $Id: pnm.h,v 1.5 2003/12/09 00:02:30 f1rmb Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * pnm util functions header by joschka */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/sha1.c --- a/src/input/sha1.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/sha1.c Mon Sep 10 00:35:26 2007 +0100 @@ -9,8 +9,6 @@ * Further modifications to include the "UNRAVEL" stuff, below * * This code is in the public domain - * - * $Id: sha1.c,v 1.1 2004/05/05 09:11:39 hadess Exp $ */ #include <string.h> diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/sha1.h --- a/src/input/sha1.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/sha1.h Mon Sep 10 00:35:26 2007 +0100 @@ -3,7 +3,6 @@ /* from Peter C. Gutmann's implementation as found in */ /* Applied Cryptography by Bruce Schneier */ /* This code is in the public domain */ -/* $Id: sha1.h,v 1.1 2004/05/05 09:11:39 hadess Exp $ */ #ifndef SHA_H #define SHA_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/vcd/Makefile.am --- a/src/input/vcd/Makefile.am Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/vcd/Makefile.am Mon Sep 10 00:35:26 2007 +0100 @@ -1,16 +1,4 @@ include $(top_srcdir)/misc/Makefile.comm include $(top_srcdir)/misc/Makefile.common - -$(top_builddir)/contrib/libcdio/libcdio.la: - $(MAKE) -C $(top_builddir)/contrib/libcdio - -$(top_builddir)/contrib/libcdio/libiso9660.la: - $(MAKE) -C $(top_builddir)/contrib/libcdio - -$(top_builddir)/contrib/libvcd/libvcd.la: - $(MAKE) -C $(top_builddir)/contrib/libvcd - -$(top_builddir)/contrib/libvcd/libvcdinfo.la: - $(MAKE) -C $(top_builddir)/contrib/libvcd AM_CFLAGS = $(DEFAULT_OCFLAGS) $(VISIBILITY_FLAG) AM_LDFLAGS = $(xineplug_ldflags) diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/vcd/vcdio.c --- a/src/input/vcd/vcdio.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/vcd/vcdio.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ 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 + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/vcd/vcdio.h --- a/src/input/vcd/vcdio.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/vcd/vcdio.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ 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 + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/vcd/vcdplayer.c --- a/src/input/vcd/vcdplayer.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/vcd/vcdplayer.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ 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 + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/vcd/vcdplayer.h --- a/src/input/vcd/vcdplayer.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/vcd/vcdplayer.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,7 +15,7 @@ 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 + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/vcd/xine-extra.c --- a/src/input/vcd/xine-extra.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/vcd/xine-extra.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,5 +1,4 @@ /* - $Id: xine-extra.c,v 1.5 2006/09/09 17:41:45 dgp85 Exp $ Copyright (C) 2002 Rocky Bernstein <ro...@pa...> @@ -15,7 +14,7 @@ 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 + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA These are routines that probably should be in xine, but for whatever reason aren't - yet. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/vcd/xine-extra.h --- a/src/input/vcd/xine-extra.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/vcd/xine-extra.h Mon Sep 10 00:35:26 2007 +0100 @@ -1,5 +1,4 @@ /* - $Id: xine-extra.h,v 1.2 2006/04/21 23:15:45 dsalt Exp $ Copyright (C) 2002 Rocky Bernstein <ro...@pa...> @@ -15,7 +14,7 @@ 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 + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA These are routines that probably should be in xine, but for whatever reason aren't - yet. diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/input/vcd/xineplug_inp_vcd.c --- a/src/input/vcd/xineplug_inp_vcd.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/input/vcd/xineplug_inp_vcd.c Mon Sep 10 00:35:26 2007 +0100 @@ -1,5 +1,4 @@ /* - $Id: xineplug_inp_vcd.c,v 1.53 2007/02/08 02:40:23 dsalt Exp $ Copyright (C) 2002, 2003, 2004, 2005 Rocky Bernstein <ro...@pa...> @@ -15,7 +14,7 @@ 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 + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA */ /* diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/libffmpeg/ff_audio_decoder.c --- a/src/libffmpeg/ff_audio_decoder.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/libffmpeg/ff_audio_decoder.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: audio_decoder.c,v 1.33 2007/01/28 18:38:33 miguelfreitas Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * xine audio decoder plugin using ffmpeg - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/libffmpeg/ff_dvaudio_decoder.c --- a/src/libffmpeg/ff_dvaudio_decoder.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/libffmpeg/ff_dvaudio_decoder.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,9 @@ * * 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 - * - * $Id: dvaudio_decoder.c,v 1.11 2006/07/10 22:08:29 dgp85 Exp $ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * dv audio decoder based on patch by Dan Dennedy <da...@de...> - * */ #ifdef HAVE_CONFIG_H diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/libffmpeg/ff_mpeg_parser.c --- a/src/libffmpeg/ff_mpeg_parser.c Sat Nov 24 22:12:01 2007 +0000 +++ b/src/libffmpeg/ff_mpeg_parser.c Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,10 @@ * * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA * * Simple MPEG-ES parser/framer by Thibaut Mattern (tma...@no...) * based on libmpeg2 decoder. - * - * $Id: mpeg_parser.c,v 1.7 2007/03/29 18:52:45 dgp85 Exp $ */ #define LOG_MODULE "mpeg_parser" #define LOG_VERBOSE diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 src/libffmpeg/ff_mpeg_parser.h --- a/src/libffmpeg/ff_mpeg_parser.h Sat Nov 24 22:12:01 2007 +0000 +++ b/src/libffmpeg/ff_mpeg_parser.h Mon Sep 10 00:35:26 2007 +0100 @@ -15,12 +15,10 @@ * * You should have received a copy of the GNU General Public License * along with this program; if no... [truncated message content] |
From: <li...@yo...> - 2007-11-24 22:45:06
|
# [node c67926c9c2eb7158c6147bb763ecc008b6d3de02 part 2] diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 po/es.po --- a/po/es.po Sat Nov 24 22:12:01 2007 +0000 +++ b/po/es.po Mon Sep 10 00:35:26 2007 +0100 @@ -4,13 +4,14 @@ # # Juan Manuel García Molina <jua...@wa...>, 2002. # Carlos E. Robinson M. <car...@us...>, 2006, 2007. +# Cer: <<== marcas de revision. msgid "" msgstr "" "Project-Id-Version: xine-lib-1.1.4\n" "Report-Msgid-Bugs-To: xin...@li...\n" -"POT-Creation-Date: 2007-06-02 13:14+0200\n" -"PO-Revision-Date: 2007-02-28 14:07+0100\n" -"Last-Translator: Carlos E. Robinson M. <car...@us...>\n" +"POT-Creation-Date: 2007-10-29 17:31+0000\n" +"PO-Revision-Date: 2007-10-28 00:11+0200\n" +"Last-Translator: Carlos E. Robinson <car...@us...>\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,51 +21,47 @@ msgstr "" "X-Poedit-Language: Spanish\n" "X-Poedit-Country: SPAIN\n" "X-Poedit-SourceCharset: utf-8\n" -"X-Poedit-Basepath: /home/cer/compilaciones/xine/xine-lib-1.1.4\n" +"X-Poedit-Basepath: /home/cer/Documents/babel/xine-lib/po/\n" #: lib/hstrerror.c:17 -#, fuzzy msgid "No error" -msgstr "error desconocido" +msgstr "Sin error" #: lib/hstrerror.c:18 -#, fuzzy msgid "Unknown host" -msgstr "error desconocido" +msgstr "Host desconocido" #: lib/hstrerror.c:19 msgid "No address associated with name" -msgstr "" +msgstr "No hay dirección asociada con el nombre" #: lib/hstrerror.c:20 -#, fuzzy msgid "Unknown server error" -msgstr "error desconocido" +msgstr "Error de servidor desconocido" #: lib/hstrerror.c:21 msgid "Host name lookup failure" -msgstr "" +msgstr "Fallo de búsqueda de nombre del host" #: lib/hstrerror.c:22 -#, fuzzy msgid "Unknown error" -msgstr "error desconocido" - -#: src/audio_out/audio_alsa_out.c:351 +msgstr "Error desconocido" + +#: src/audio_out/audio_alsa_out.c:353 #, c-format msgid "audio_alsa_out:Already open...WHY!" msgstr "audio_alsa_out:Ya está abierto...¡PORQUÉ!" -#: src/audio_out/audio_alsa_out.c:379 +#: src/audio_out/audio_alsa_out.c:381 #, c-format msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "audio_alsa_out: snd_pcm_open() de %s falló: %s\n" -#: src/audio_out/audio_alsa_out.c:381 +#: src/audio_out/audio_alsa_out.c:383 msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "audio_alsa_out: >>> comprobar si otro programa ya usa PCM <<<\n" -#: src/audio_out/audio_alsa_out.c:394 +#: src/audio_out/audio_alsa_out.c:396 #, c-format msgid "" "audio_alsa_out: broken configuration for this PCM: no configurations " @@ -73,11 +70,11 @@ msgstr "" "audio_alsa_out: configuración rota para éste PCM: no hay configuraciones " "disponibles: %s\n" -#: src/audio_out/audio_alsa_out.c:1286 +#: src/audio_out/audio_alsa_out.c:1294 msgid "notify changes to the hardware mixer" msgstr "notificar cambios al mezclador en hardware" -#: src/audio_out/audio_alsa_out.c:1287 +#: src/audio_out/audio_alsa_out.c:1295 msgid "" "When the hardware mixer changes, your application will receive a " "notification so that it can update its graphical representation of the mixer " @@ -87,16 +84,16 @@ msgstr "" "notificiación de modo que pueda actualizar su representación gráfica de los " "ajustes del mezclador al vuelo." -#: src/audio_out/audio_alsa_out.c:1352 +#: src/audio_out/audio_alsa_out.c:1360 #, c-format msgid "snd_lib_error_set_handler() failed: %d" msgstr "snd_lib_error_set_handler() falló: %d" -#: src/audio_out/audio_alsa_out.c:1359 +#: src/audio_out/audio_alsa_out.c:1367 msgid "sound card can do mmap" msgstr "la tarjeta de sonido puede hacer mmap" -#: src/audio_out/audio_alsa_out.c:1360 +#: src/audio_out/audio_alsa_out.c:1368 msgid "" "Enable this, if your sound card and alsa driver support memory mapped IO.\n" "You can try enabling it and check, if everything works. If it does, this " @@ -107,11 +104,11 @@ msgstr "" "Puede probar a activarlo y verficar, si todo funciona. Si lo hace, esto " "aumentará el rendimiento." -#: src/audio_out/audio_alsa_out.c:1369 +#: src/audio_out/audio_alsa_out.c:1377 msgid "device used for mono output" msgstr "dispositivo usado para salida mono" [... 4413 lines omitted ...] +#~ msgid "" +#~ "video_out_xshm: shared memory error (address error) when allocating " +#~ "image \n" +#~ "video_out_xshm: => not using MIT Shared Memory extension.\n" +#~ msgstr "" +#~ "video_out_xshm: error de memoria compartida (error de dirección) al " +#~ "ubicar imagen\n" +#~ "video_out_xshm: => no usando la extensión de memoria compartida MIT (MIT " +#~ "Shared Memory).\n" + +#~ msgid "" +#~ "video_out_xshm: x11 error during shared memory XImage creation\n" +#~ "video_out_xshm: => not using MIT Shared Memory extension.\n" +#~ msgstr "" +#~ "video_out_xshm: x11 error durante creación de XImage en memoria " +#~ "compartida\n" +#~ "video_out_xshm: => no usando la extensión de memoria compartida MIT (MIT " +#~ "Shared Memory).\n" + +#~ msgid "" +#~ "video_out_xshm: MIT shared memory extension not present on display.\n" +#~ msgstr "" +#~ "video_out_xshm: la extensión de memoria compartida del MIT (MIT Shared " +#~ "Memory) no está presente en la pantalla.\n" + +#~ msgid "video_out_xshm: your video mode was not recognized, sorry :-(\n" +#~ msgstr "" +#~ "video_out_xshm: su modo de vídeoo no fué reconocido, lo siento :-(\n" + +#~ msgid "" +#~ "video_out_xv: XvShmCreateImage failed\n" +#~ "video_out_xv: => not using MIT Shared Memory extension.\n" +#~ msgstr "" +#~ "video_out_xv: falló XvShmCreateImage\n" +#~ "video_out_xv: => no usando la extensión de memoria compartida MIT (MIT " +#~ "Shared Memory).\n" + +#~ msgid "" +#~ "video_out_xv: XvShmCreateImage returned a zero size\n" +#~ "video_out_xv: => not using MIT Shared Memory extension.\n" +#~ msgstr "" +#~ "video_out_xv: XvShmCreateImage retornó un tamaño cero\n" +#~ "video_out_xv: => no usando la extensión de memoria compartida MIT (MIT " +#~ "Shared Memory).\n" + +#~ msgid "" +#~ "video_out_xv: x11 error during shared memory XImage creation\n" +#~ "video_out_xv: => not using MIT Shared Memory extension.\n" +#~ msgstr "" +#~ "video_out_xv: x11 error durante creación de XImage en memoria compartida\n" +#~ "video_out_xv: => no usando la extensión de memoria compartida MIT (MIT " +#~ "Shared Memory).\n" + +#~ msgid "" +#~ "video_out_xv: Xv extension is present but I couldn't find a usable yuv12 " +#~ "port.\n" +#~ " Looks like your graphics hardware driver doesn't support " +#~ "Xv?!\n" +#~ msgstr "" +#~ "video_out_xv: la extensión Xv está presente pero no pude encontrar un " +#~ "puerto yuv12 usable.\n" +#~ " ¡¿Parece que su driver de hardware gráfico no soporta Xv?!\n" + +#~ msgid "video_out_xv: this adaptor supports the yv12 format.\n" +#~ msgstr "video_out_xv: éste adaptador soporta el formato yv12.\n" + +#~ msgid "video_out_xv: this adaptor supports the yuy2 format.\n" +#~ msgstr "video_out_xv: éste adaptador soporta el formato yuy2.\n" + +#~ msgid "" +#~ "video_out_xxmc: XvShmCreateImage failed\n" +#~ "video_out_xxmc: => not using MIT Shared Memory extension.\n" +#~ msgstr "" +#~ "video_out_xxmc: falló XvShmCreateImage \n" +#~ "video_out_xxmc: => no se usará la extensión \"MIT Shared Memory" +#~ "\" (memoria compartida MIT).\n" + +#~ msgid "" +#~ "video_out_xxmc: XvShmCreateImage returned a zero size\n" +#~ "video_out_xxmc: => not using MIT Shared Memory extension.\n" +#~ msgstr "" +#~ "video_out_xxmc: XvShmCreateImage retornó un tamaño cero\n" +#~ "video_out_xxmc: => no se usará la extensión \"MIT Shared Memory" +#~ "\" (memoria compartida MIT).\n" + +#~ msgid "" +#~ "video_out_xxmc: shared memory error in shmget: %s\n" +#~ "video_out_xxmc: => not using MIT Shared Memory extension.\n" +#~ msgstr "" +#~ "video_out_xxmc: error de memoria compartida en \"shmget\": %s\n" +#~ "video_out_xxmc: => no se usará la extensión \"MIT Shared Memory" +#~ "\" (memoria compartida MIT).\n" + +#~ msgid "" +#~ "video_out_xxmc: x11 error during shared memory XImage creation\n" +#~ "video_out_xxmc: => not using MIT Shared Memory extension.\n" +#~ msgstr "" +#~ "video_out_xxmc: x11 error durante la creación de \"XImage\" en memoria " +#~ "compartida\n" +#~ "video_out_xxmc: => no se usará la extensión \"MIT Shared Memory" +#~ "\" (memoria compartida MIT).\n" + +#~ msgid "video_out_xxmc: Xv extension not present.\n" +#~ msgstr "video_out_xxmc: extensión Xv no presente.\n" + +#~ msgid "" +#~ "video_out_xxmc: Xv extension is present but I couldn't find a usable " +#~ "yuv12 port.\n" +#~ " Looks like your graphics hardware driver doesn't support " +#~ "Xv?!\n" +#~ msgstr "" +#~ "video_out_xxmc: la extensión Xv está presente pero no pude encontrar un " +#~ "puerto yuv12 usable.\n" +#~ " ¿Parece como que su driver de hardware gráfico no soporta " +#~ "Xv?!\n" + +#~ msgid "" +#~ "video_out_xxmc: using Xv port %ld from adaptor %s for hardware colorspace " +#~ "conversion and scaling.\n" +#~ msgstr "" +#~ "video_out_xxmc: usando el puerto %ld de Xv del adaptador %s para " +#~ "conversión y escalado del espacio de color en hardware.\n" + +#~ msgid "video_out_xxmc: this adaptor supports the yv12 format.\n" +#~ msgstr "video_out_xxmc: éste adaptador soporta el formato yv12.\n" + +#~ msgid "video_out_xxmc: this adaptor supports the yuy2 format.\n" +#~ msgstr "video_out_xxmc: éste adaptador soporta el formato yuy2.\n" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 po/eu.po --- a/po/eu.po Sat Nov 24 22:12:01 2007 +0000 +++ b/po/eu.po Mon Sep 10 00:35:26 2007 +0100 @@ -8,7 +8,7 @@ msgstr "" msgstr "" "Project-Id-Version: xine-lib-1\n" "Report-Msgid-Bugs-To: xin...@li...\n" -"POT-Creation-Date: 2007-06-02 13:14+0200\n" +"POT-Creation-Date: 2007-10-29 17:31+0000\n" "PO-Revision-Date: 2005-02-17 14:29+0100\n" "Last-Translator: Piarres Beobide <pi...@be...>\n" "Language-Team: lubrezale <lib...@li...>\n" @@ -43,22 +43,22 @@ msgid "Unknown error" msgid "Unknown error" msgstr "Errore ezezaguna" -#: src/audio_out/audio_alsa_out.c:351 +#: src/audio_out/audio_alsa_out.c:353 #, c-format msgid "audio_alsa_out:Already open...WHY!" msgstr "audio_alsa_out:Dagoeneko irekirik...ZERGATIK!" -#: src/audio_out/audio_alsa_out.c:379 +#: src/audio_out/audio_alsa_out.c:381 #, c-format msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "%s audio_alsa_out: snd_pcm_open()-ek huts egin du: %s\n" -#: src/audio_out/audio_alsa_out.c:381 +#: src/audio_out/audio_alsa_out.c:383 msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" "audio_alsa_out: >>> Egiaztatu beste programa batek PCM darabilkien<<<\n" -#: src/audio_out/audio_alsa_out.c:394 +#: src/audio_out/audio_alsa_out.c:396 #, c-format msgid "" "audio_alsa_out: broken configuration for this PCM: no configurations " @@ -67,11 +67,11 @@ msgstr "" "audio_alsa_out: PCM onentzat apurturiko konfigurazioa: Ez dago konfigurazio " "erabilgarririk: %s\n" -#: src/audio_out/audio_alsa_out.c:1286 +#: src/audio_out/audio_alsa_out.c:1294 msgid "notify changes to the hardware mixer" msgstr "hardware nahasleari aldaketen berri eman" -#: src/audio_out/audio_alsa_out.c:1287 +#: src/audio_out/audio_alsa_out.c:1295 msgid "" "When the hardware mixer changes, your application will receive a " "notification so that it can update its graphical representation of the mixer " @@ -80,16 +80,16 @@ msgstr "" "Hardware nahaslea aldatzerakoan, zure aplikazioak honen berri jasoko du eta " "nahaslearen irudi grafikoa denbora errealean eraldatuko du." -#: src/audio_out/audio_alsa_out.c:1352 +#: src/audio_out/audio_alsa_out.c:1360 #, c-format msgid "snd_lib_error_set_handler() failed: %d" msgstr "snd_lib_error_set_handler() hutsa: %d" -#: src/audio_out/audio_alsa_out.c:1359 +#: src/audio_out/audio_alsa_out.c:1367 msgid "sound card can do mmap" msgstr "soinu txartelak mmap egin dezake" -#: src/audio_out/audio_alsa_out.c:1360 +#: src/audio_out/audio_alsa_out.c:1368 msgid "" "Enable this, if your sound card and alsa driver support memory mapped IO.\n" "You can try enabling it and check, if everything works. If it does, this " @@ -100,11 +100,11 @@ msgstr "" "Gaitu eta frogaru dezakezu beldurrik gabe, denak behar bezala funtzionatu " "ezkero portamoldea obetuko du." -#: src/audio_out/audio_alsa_out.c:1369 +#: src/audio_out/audio_alsa_out.c:1377 msgid "device used for mono output" msgstr "mono irteerarako erabiliko den gailua" -#: src/audio_out/audio_alsa_out.c:1370 +#: src/audio_out/audio_alsa_out.c:1378 msgid "" "xine will use this alsa device to output mono sound.\n" "See the alsa documentation for information on alsa devices." @@ -113,11 +113,11 @@ msgstr "" "Irakurri alsa dokumentazioa alsa gailuei buruzko informazio gehiago behar " "izan ezkero." -#: src/audio_out/audio_alsa_out.c:1378 +#: src/audio_out/audio_alsa_out.c:1386 msgid "device used for stereo output" msgstr "Estereo irteerak erabiltzen duen gailua" -#: src/audio_out/audio_alsa_out.c:1379 +#: src/audio_out/audio_alsa_out.c:1387 msgid "" "xine will use this alsa device to output stereo sound.\n" "See the alsa documentation for information on alsa devices." @@ -126,11 +126,11 @@ msgstr "" "Irakurri alsa dokumentazioa alsa gailuei buruzko informazio gehiago behar " "izan ezkero." -#: src/audio_out/audio_alsa_out.c:1387 +#: src/audio_out/audio_alsa_out.c:1395 msgid "device used for 4-channel output" msgstr "4 kanaletako irteerak erabiltzen duen gailua" -#: src/audio_out/audio_alsa_out.c:1388 +#: src/audio_out/audio_alsa_out.c:1396 msgid "" "xine will use this alsa device to output 4 channel (4.0) surround sound.\n" "See the alsa documentation for information on alsa devices." @@ -139,11 +139,11 @@ msgstr "" "Irakurri alsa dokumentazioa alsa gailei buruzko informazio gehiago behar " "izan ezkero." -#: src/audio_out/audio_alsa_out.c:1397 src/audio_out/audio_alsa_out.c:1407 +#: src/audio_out/audio_alsa_out.c:1405 src/audio_out/audio_alsa_out.c:1415 msgid "device used for 5.1-channel output" msgstr "5.1 kanaletako irteerak erabiltzen duen gailua" -#: src/audio_out/audio_alsa_out.c:1398 +#: src/audio_out/audio_alsa_out.c:1406 msgid "" "xine will use this alsa device to output 5 channel plus LFE (5.1) surround " [... 2761 lines omitted ...] -#: src/xine-engine/xine.c:1159 +#: src/xine-engine/xine.c:1218 #, c-format msgid "xine: found demuxer plugin: %s\n" msgstr "" -#: src/xine-engine/xine.c:1179 +#: src/xine-engine/xine.c:1238 #, c-format msgid "xine: demuxer failed to start\n" msgstr "" -#: src/xine-engine/xine.c:1244 +#: src/xine-engine/xine.c:1303 #, c-format msgid "xine_play: no demux available\n" msgstr "" -#: src/xine-engine/xine.c:1314 +#: src/xine-engine/xine.c:1373 #, c-format msgid "xine_play: demux failed to start\n" msgstr "" -#: src/xine-engine/xine.c:1592 +#: src/xine-engine/xine.c:1651 #, c-format msgid "xine: The specified save_dir \"%s\" might be a security risk.\n" msgstr "" "xine: Ezarritako \"%s\" gordetze karpeta (save_dir) segurtasun arrisku bat " "izan daiteke.\n" -#: src/xine-engine/xine.c:1597 +#: src/xine-engine/xine.c:1656 msgid "The specified save_dir might be a security risk." msgstr "" "Ezarritako gordetze karpeta (save_dir) segurtasun arrisku bat izan daiteke." -#: src/xine-engine/xine.c:1626 +#: src/xine-engine/xine.c:1685 msgid "xine: locale not supported by C library\n" msgstr "xine: lokala ez du C liburutegiak onartzen\n" -#: src/xine-engine/xine.c:1635 +#: src/xine-engine/xine.c:1694 msgid "media format detection strategy" msgstr "medio formatu atzemate modua" -#: src/xine-engine/xine.c:1636 +#: src/xine-engine/xine.c:1695 msgid "" "xine offers various methods to detect the media format of input to play. The " "individual values are:\n" @@ -5107,11 +5202,11 @@ msgstr "" "extension\n" "Izen luzapen bidez bakarrik atzemna.\n" -#: src/xine-engine/xine.c:1654 +#: src/xine-engine/xine.c:1713 msgid "directory for saving streams" msgstr "korronteak gordetzeko karpeta" -#: src/xine-engine/xine.c:1655 +#: src/xine-engine/xine.c:1714 msgid "" "When using the stream save feature, files will be written only into this " "directory.\n" @@ -5121,11 +5216,11 @@ msgid "" "content in any file." msgstr "" -#: src/xine-engine/xine.c:1666 +#: src/xine-engine/xine.c:1725 msgid "allow implicit changes to the configuration (e.g. by MRL)" msgstr "Onartu aldaketa inplizitoak konfiguraketan (adib. MRL bidez)" -#: src/xine-engine/xine.c:1667 +#: src/xine-engine/xine.c:1726 msgid "" "If enabled, you allow xine to change your configuration without explicit " "actions from your side. For example configuration changes demanded by MRLs " @@ -5135,26 +5230,26 @@ msgid "" "configuration, you might end with a totally messed up xine." msgstr "" -#: src/xine-engine/xine.c:1681 +#: src/xine-engine/xine.c:1740 msgid "Timeout for network stream reading (in seconds)" msgstr "" -#: src/xine-engine/xine.c:1682 +#: src/xine-engine/xine.c:1741 msgid "" "Specifies the timeout when reading from network streams, in seconds. Too low " "values might stop streaming when the source is slow or the bandwidth is " "occupied, too high values will freeze the player if the connection is lost." msgstr "" -#: src/xine-engine/xine.c:2034 +#: src/xine-engine/xine.c:2093 msgid "messages" msgstr "mezuak" -#: src/xine-engine/xine.c:2035 +#: src/xine-engine/xine.c:2094 msgid "plugin" msgstr "plugina" -#: src/xine-engine/xine.c:2036 +#: src/xine-engine/xine.c:2095 msgid "trace" msgstr "aztarna" @@ -5230,6 +5325,13 @@ msgstr "" #: src/xine-utils/memcpy.c:507 msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "memcpy metodoak frogatzen (txeikiena obea da)\n" + +#~ msgid "xine audio output plugin using kde artsd" +#~ msgstr "xine audio irteera plugina kde artsd erabiliaz" + +#, fuzzy +#~ msgid "dvbsub: cannot create timer thread\n" +#~ msgstr "input_rtp: Ezin da hari berria sortu (%s)\n" #~ msgid "deinterlace method (deprecated)" #~ msgstr "ez-elkarlituriko metodoa (zaharkiturik)" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 po/fr.po --- a/po/fr.po Sat Nov 24 22:12:01 2007 +0000 +++ b/po/fr.po Mon Sep 10 00:35:26 2007 +0100 @@ -6,7 +6,7 @@ msgstr "" msgstr "" "Project-Id-Version: xine-lib 0.9.13\n" "Report-Msgid-Bugs-To: xin...@li...\n" -"POT-Creation-Date: 2007-06-02 13:14+0200\n" +"POT-Creation-Date: 2007-10-29 17:31+0000\n" "PO-Revision-Date: 2002-06-07 15:08 +0200\n" "Last-Translator: Daniel Caujolle-Bert <seg...@cl...>\n" "Language-Team: French <fr...@li...>\n" @@ -39,117 +39,117 @@ msgid "Unknown error" msgid "Unknown error" msgstr "" -#: src/audio_out/audio_alsa_out.c:351 +#: src/audio_out/audio_alsa_out.c:353 #, c-format msgid "audio_alsa_out:Already open...WHY!" msgstr "" -#: src/audio_out/audio_alsa_out.c:379 +#: src/audio_out/audio_alsa_out.c:381 #, c-format msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "" -#: src/audio_out/audio_alsa_out.c:381 +#: src/audio_out/audio_alsa_out.c:383 msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" -#: src/audio_out/audio_alsa_out.c:394 +#: src/audio_out/audio_alsa_out.c:396 #, c-format msgid "" "audio_alsa_out: broken configuration for this PCM: no configurations " "available: %s\n" msgstr "" -#: src/audio_out/audio_alsa_out.c:1286 +#: src/audio_out/audio_alsa_out.c:1294 msgid "notify changes to the hardware mixer" msgstr "" -#: src/audio_out/audio_alsa_out.c:1287 +#: src/audio_out/audio_alsa_out.c:1295 msgid "" "When the hardware mixer changes, your application will receive a " "notification so that it can update its graphical representation of the mixer " "settings on the fly." msgstr "" -#: src/audio_out/audio_alsa_out.c:1352 +#: src/audio_out/audio_alsa_out.c:1360 #, c-format msgid "snd_lib_error_set_handler() failed: %d" msgstr "" -#: src/audio_out/audio_alsa_out.c:1359 +#: src/audio_out/audio_alsa_out.c:1367 msgid "sound card can do mmap" msgstr "" -#: src/audio_out/audio_alsa_out.c:1360 +#: src/audio_out/audio_alsa_out.c:1368 msgid "" "Enable this, if your sound card and alsa driver support memory mapped IO.\n" "You can try enabling it and check, if everything works. If it does, this " "will increase performance." msgstr "" -#: src/audio_out/audio_alsa_out.c:1369 +#: src/audio_out/audio_alsa_out.c:1377 msgid "device used for mono output" msgstr "périphérique utilisé pour la sortie mono" -#: src/audio_out/audio_alsa_out.c:1370 +#: src/audio_out/audio_alsa_out.c:1378 msgid "" "xine will use this alsa device to output mono sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1378 +#: src/audio_out/audio_alsa_out.c:1386 msgid "device used for stereo output" msgstr "périphérique utilisé pour la sortie stéréo" -#: src/audio_out/audio_alsa_out.c:1379 +#: src/audio_out/audio_alsa_out.c:1387 msgid "" "xine will use this alsa device to output stereo sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1387 +#: src/audio_out/audio_alsa_out.c:1395 msgid "device used for 4-channel output" msgstr "périphérique utilisé pour la sortie 4 canaux" -#: src/audio_out/audio_alsa_out.c:1388 +#: src/audio_out/audio_alsa_out.c:1396 msgid "" "xine will use this alsa device to output 4 channel (4.0) surround sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1397 src/audio_out/audio_alsa_out.c:1407 +#: src/audio_out/audio_alsa_out.c:1405 src/audio_out/audio_alsa_out.c:1415 msgid "device used for 5.1-channel output" msgstr "périphérique utilisé pour la sortie 5.1 canaux" -#: src/audio_out/audio_alsa_out.c:1398 +#: src/audio_out/audio_alsa_out.c:1406 msgid "" "xine will use this alsa device to output 5 channel plus LFE (5.1) surround " "sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1408 +#: src/audio_out/audio_alsa_out.c:1416 msgid "" "xine will use this alsa device to output undecoded digital surround sound. " "This can be used be external surround decoders.\n" "See the alsa documentation for information on alsa devices." [... 2698 lines omitted ...] msgid "xine: couldn't find demux for >%s<\n" msgstr "" -#: src/xine-engine/xine.c:1159 +#: src/xine-engine/xine.c:1218 #, c-format msgid "xine: found demuxer plugin: %s\n" msgstr "" -#: src/xine-engine/xine.c:1179 +#: src/xine-engine/xine.c:1238 #, c-format msgid "xine: demuxer failed to start\n" msgstr "" -#: src/xine-engine/xine.c:1244 +#: src/xine-engine/xine.c:1303 #, c-format msgid "xine_play: no demux available\n" msgstr "" -#: src/xine-engine/xine.c:1314 +#: src/xine-engine/xine.c:1373 #, c-format msgid "xine_play: demux failed to start\n" msgstr "" -#: src/xine-engine/xine.c:1592 +#: src/xine-engine/xine.c:1651 #, c-format msgid "xine: The specified save_dir \"%s\" might be a security risk.\n" msgstr "" -#: src/xine-engine/xine.c:1597 +#: src/xine-engine/xine.c:1656 msgid "The specified save_dir might be a security risk." msgstr "" -#: src/xine-engine/xine.c:1626 +#: src/xine-engine/xine.c:1685 msgid "xine: locale not supported by C library\n" msgstr "" -#: src/xine-engine/xine.c:1635 +#: src/xine-engine/xine.c:1694 msgid "media format detection strategy" msgstr "" -#: src/xine-engine/xine.c:1636 +#: src/xine-engine/xine.c:1695 msgid "" "xine offers various methods to detect the media format of input to play. The " "individual values are:\n" @@ -4677,11 +4772,11 @@ msgid "" "Detect by file name extension only.\n" msgstr "" -#: src/xine-engine/xine.c:1654 +#: src/xine-engine/xine.c:1713 msgid "directory for saving streams" msgstr "" -#: src/xine-engine/xine.c:1655 +#: src/xine-engine/xine.c:1714 msgid "" "When using the stream save feature, files will be written only into this " "directory.\n" @@ -4691,11 +4786,11 @@ msgid "" "content in any file." msgstr "" -#: src/xine-engine/xine.c:1666 +#: src/xine-engine/xine.c:1725 msgid "allow implicit changes to the configuration (e.g. by MRL)" msgstr "" -#: src/xine-engine/xine.c:1667 +#: src/xine-engine/xine.c:1726 msgid "" "If enabled, you allow xine to change your configuration without explicit " "actions from your side. For example configuration changes demanded by MRLs " @@ -4705,26 +4800,26 @@ msgid "" "configuration, you might end with a totally messed up xine." msgstr "" -#: src/xine-engine/xine.c:1681 +#: src/xine-engine/xine.c:1740 msgid "Timeout for network stream reading (in seconds)" msgstr "" -#: src/xine-engine/xine.c:1682 +#: src/xine-engine/xine.c:1741 msgid "" "Specifies the timeout when reading from network streams, in seconds. Too low " "values might stop streaming when the source is slow or the bandwidth is " "occupied, too high values will freeze the player if the connection is lost." msgstr "" -#: src/xine-engine/xine.c:2034 +#: src/xine-engine/xine.c:2093 msgid "messages" msgstr "messages" -#: src/xine-engine/xine.c:2035 +#: src/xine-engine/xine.c:2094 msgid "plugin" msgstr "" -#: src/xine-engine/xine.c:2036 +#: src/xine-engine/xine.c:2095 msgid "trace" msgstr "" @@ -4799,6 +4894,14 @@ msgstr "" #: src/xine-utils/memcpy.c:507 msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "" + +#, fuzzy +#~ msgid "xine audio output plugin using kde artsd" +#~ msgstr "plugin de sortie audio de xine utilisant esd" + +#, fuzzy +#~ msgid "dvbsub: cannot create timer thread\n" +#~ msgstr "input_rtp: ne peux pas créer le nouveau thread (%s)\n" #, fuzzy #~ msgid "audio_oss_out: open() %s failed: %s\n" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 po/it.po --- a/po/it.po Sat Nov 24 22:12:01 2007 +0000 +++ b/po/it.po Mon Sep 10 00:35:26 2007 +0100 @@ -9,7 +9,7 @@ msgstr "" msgstr "" "Project-Id-Version: it\n" "Report-Msgid-Bugs-To: xin...@li...\n" -"POT-Creation-Date: 2007-06-02 13:14+0200\n" +"POT-Creation-Date: 2007-10-29 17:31+0000\n" "PO-Revision-Date: 2006-06-18 23:05+0200\n" "Last-Translator: Diego 'Flameeyes' Pettenò <fla...@ge...>\n" "Language-Team: Italian\n" @@ -43,22 +43,22 @@ msgid "Unknown error" msgid "Unknown error" msgstr "Errore sconosciuto" -#: src/audio_out/audio_alsa_out.c:351 +#: src/audio_out/audio_alsa_out.c:353 #, c-format msgid "audio_alsa_out:Already open...WHY!" msgstr "audio_alsa_out: già aperto...PERCHÈ!" -#: src/audio_out/audio_alsa_out.c:379 +#: src/audio_out/audio_alsa_out.c:381 #, c-format msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "audio_alsa_out: snd_pcm_open() di %s non riuscito: %s\n" -#: src/audio_out/audio_alsa_out.c:381 +#: src/audio_out/audio_alsa_out.c:383 msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" "audio_alsa_out: >>> controlla se un altro programma sta già usando PCM <<<\n" -#: src/audio_out/audio_alsa_out.c:394 +#: src/audio_out/audio_alsa_out.c:396 #, c-format msgid "" "audio_alsa_out: broken configuration for this PCM: no configurations " @@ -67,11 +67,11 @@ msgstr "" "audio_alsa_out: configurazione errata per questo PCM: nessuna configurazione " "disponibile: %s\n" -#: src/audio_out/audio_alsa_out.c:1286 +#: src/audio_out/audio_alsa_out.c:1294 msgid "notify changes to the hardware mixer" msgstr "notifica modifiche al mixer hardware" -#: src/audio_out/audio_alsa_out.c:1287 +#: src/audio_out/audio_alsa_out.c:1295 msgid "" "When the hardware mixer changes, your application will receive a " "notification so that it can update its graphical representation of the mixer " @@ -81,16 +81,16 @@ msgstr "" "una notifica così che possa aggiornare la propria rappresentazione delle " "impostazioni del mixer al volo." -#: src/audio_out/audio_alsa_out.c:1352 +#: src/audio_out/audio_alsa_out.c:1360 #, c-format msgid "snd_lib_error_set_handler() failed: %d" msgstr "snd_lib_error_set_handler() non riuscita: %d" -#: src/audio_out/audio_alsa_out.c:1359 +#: src/audio_out/audio_alsa_out.c:1367 msgid "sound card can do mmap" msgstr "la scheda audio può usare mmap" -#: src/audio_out/audio_alsa_out.c:1360 +#: src/audio_out/audio_alsa_out.c:1368 msgid "" "Enable this, if your sound card and alsa driver support memory mapped IO.\n" "You can try enabling it and check, if everything works. If it does, this " @@ -101,11 +101,11 @@ msgstr "" "Si può provare ad abilitarlo e vedere se funziona, in qual caso migliorerà " "le prestazioni." -#: src/audio_out/audio_alsa_out.c:1369 +#: src/audio_out/audio_alsa_out.c:1377 msgid "device used for mono output" msgstr "dispositivo usato per output mono" -#: src/audio_out/audio_alsa_out.c:1370 +#: src/audio_out/audio_alsa_out.c:1378 msgid "" "xine will use this alsa device to output mono sound.\n" "See the alsa documentation for information on alsa devices." @@ -113,11 +113,11 @@ msgstr "" "xine utilizzerà questo dispositivo ALSA per riprodurre suono mono.\n" "Si veda la documentazione ALSA per informazioni sui dispositivi." -#: src/audio_out/audio_alsa_out.c:1378 +#: src/audio_out/audio_alsa_out.c:1386 msgid "device used for stereo output" msgstr "dispositivo usato per output stereo" -#: src/audio_out/audio_alsa_out.c:1379 +#: src/audio_out/audio_alsa_out.c:1387 msgid "" "xine will use this alsa device to output stereo sound.\n" "See the alsa documentation for information on alsa devices." @@ -125,11 +125,11 @@ msgstr "" "xine utilizzerà questo dispositivo ALSA per riprodurre suono stereo.\n" "Si veda la documentazione ALSA per informazioni sui dispositivi." -#: src/audio_out/audio_alsa_out.c:1387 +#: src/audio_out/audio_alsa_out.c:1395 msgid "device used for 4-channel output" msgstr "dispositivo usato per output a 4 canali" -#: src/audio_out/audio_alsa_out.c:1388 +#: src/audio_out/audio_alsa_out.c:1396 msgid "" "xine will use this alsa device to output 4 channel (4.0) surround sound.\n" "See the alsa documentation for information on alsa devices." @@ -138,11 +138,11 @@ msgstr "" "canali (4.0.\n" "Si veda la documentazione ALSA per informazioni sui dispositivi." -#: src/audio_out/audio_alsa_out.c:1397 src/audio_out/audio_alsa_out.c:1407 +#: src/audio_out/audio_alsa_out.c:1405 src/audio_out/audio_alsa_out.c:1415 msgid "device used for 5.1-channel output" msgstr "dispositivo usato per output a canale 5.1" -#: src/audio_out/audio_alsa_out.c:1398 +#: src/audio_out/audio_alsa_out.c:1406 msgid "" "xine will use this alsa device to output 5 channel plus LFE (5.1) surround " [... 2805 lines omitted ...] -#: src/xine-engine/xine.c:1159 +#: src/xine-engine/xine.c:1218 #, c-format msgid "xine: found demuxer plugin: %s\n" msgstr "xine: trovato plugin demuxer: %s\n" -#: src/xine-engine/xine.c:1179 +#: src/xine-engine/xine.c:1238 #, c-format msgid "xine: demuxer failed to start\n" msgstr "xine: avvio del demuxer fallito.\n" -#: src/xine-engine/xine.c:1244 +#: src/xine-engine/xine.c:1303 #, c-format msgid "xine_play: no demux available\n" msgstr "xine_play: nessun demux disponibile\n" -#: src/xine-engine/xine.c:1314 +#: src/xine-engine/xine.c:1373 #, c-format msgid "xine_play: demux failed to start\n" msgstr "xine: avvio del demuxer fallito.\n" -#: src/xine-engine/xine.c:1592 +#: src/xine-engine/xine.c:1651 #, c-format msgid "xine: The specified save_dir \"%s\" might be a security risk.\n" msgstr "" "xine: La directory di salvataggio specificata \"%s\" potrebbe essere un " "rischio per la sicurezza.\n" -#: src/xine-engine/xine.c:1597 +#: src/xine-engine/xine.c:1656 msgid "The specified save_dir might be a security risk." msgstr "" "La directory di salvataggio specificata potrebbe essere un rischio per la " "sicurezza." -#: src/xine-engine/xine.c:1626 +#: src/xine-engine/xine.c:1685 msgid "xine: locale not supported by C library\n" msgstr "xine: locale non supportarto dalla liberaria C\n" -#: src/xine-engine/xine.c:1635 +#: src/xine-engine/xine.c:1694 msgid "media format detection strategy" msgstr "Strategia di riconoscimento del formato di contenuto" -#: src/xine-engine/xine.c:1636 +#: src/xine-engine/xine.c:1695 msgid "" "xine offers various methods to detect the media format of input to play. The " "individual values are:\n" @@ -5640,11 +5737,11 @@ msgstr "" "extension\n" "Riconosce solo tramite estensione del file.\n" -#: src/xine-engine/xine.c:1654 +#: src/xine-engine/xine.c:1713 msgid "directory for saving streams" msgstr "Cartella di salvataggio degli stream" -#: src/xine-engine/xine.c:1655 +#: src/xine-engine/xine.c:1714 msgid "" "When using the stream save feature, files will be written only into this " "directory.\n" @@ -5660,12 +5757,12 @@ msgstr "" "arbitrario. Per questo si deve essere attenti che la directory che si " "specifica sia robusta per qualsiasi contenuto di ogni file." -#: src/xine-engine/xine.c:1666 +#: src/xine-engine/xine.c:1725 msgid "allow implicit changes to the configuration (e.g. by MRL)" msgstr "" "permetti modifiche implicite alla configurazione (per esmepio tramite MRL)" -#: src/xine-engine/xine.c:1667 +#: src/xine-engine/xine.c:1726 msgid "" "If enabled, you allow xine to change your configuration without explicit " "actions from your side. For example configuration changes demanded by MRLs " @@ -5682,26 +5779,26 @@ msgstr "" "arbitrariamente la propria configurazione si può finire con uno xine " "completamente caotico." -#: src/xine-engine/xine.c:1681 +#: src/xine-engine/xine.c:1740 msgid "Timeout for network stream reading (in seconds)" msgstr "" -#: src/xine-engine/xine.c:1682 +#: src/xine-engine/xine.c:1741 msgid "" "Specifies the timeout when reading from network streams, in seconds. Too low " "values might stop streaming when the source is slow or the bandwidth is " "occupied, too high values will freeze the player if the connection is lost." msgstr "" -#: src/xine-engine/xine.c:2034 +#: src/xine-engine/xine.c:2093 msgid "messages" msgstr "messaggi" -#: src/xine-engine/xine.c:2035 +#: src/xine-engine/xine.c:2094 msgid "plugin" msgstr "plugin" -#: src/xine-engine/xine.c:2036 +#: src/xine-engine/xine.c:2095 msgid "trace" msgstr "traccia" @@ -5774,6 +5871,12 @@ msgstr "" #: src/xine-utils/memcpy.c:507 msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "Test di velocità dei metodi memcpy (più piccolo è migliore):\n" + +#~ msgid "xine audio output plugin using kde artsd" +#~ msgstr "plugin output audio di xine che usa artsd di KDE" + +#~ msgid "dvbsub: cannot create timer thread\n" +#~ msgstr "dvbsub: impossibile creare thread timer\n" #~ msgid "deinterlace method (deprecated)" #~ msgstr "metodo di deinterlacciamento (deprecato)" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 po/libxine2.pot --- a/po/libxine2.pot Sat Nov 24 22:12:01 2007 +0000 +++ b/po/libxine2.pot Mon Sep 10 00:35:26 2007 +0100 @@ -8,7 +8,7 @@ msgstr "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: xin...@li...\n" -"POT-Creation-Date: 2007-06-02 13:14+0200\n" +"POT-Creation-Date: 2007-10-29 17:31+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL...@li...>\n" @@ -41,117 +41,117 @@ msgid "Unknown error" msgid "Unknown error" msgstr "" -#: src/audio_out/audio_alsa_out.c:351 +#: src/audio_out/audio_alsa_out.c:353 #, c-format msgid "audio_alsa_out:Already open...WHY!" msgstr "" -#: src/audio_out/audio_alsa_out.c:379 +#: src/audio_out/audio_alsa_out.c:381 #, c-format msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "" -#: src/audio_out/audio_alsa_out.c:381 +#: src/audio_out/audio_alsa_out.c:383 msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" -#: src/audio_out/audio_alsa_out.c:394 +#: src/audio_out/audio_alsa_out.c:396 #, c-format msgid "" "audio_alsa_out: broken configuration for this PCM: no configurations " "available: %s\n" msgstr "" -#: src/audio_out/audio_alsa_out.c:1286 +#: src/audio_out/audio_alsa_out.c:1294 msgid "notify changes to the hardware mixer" msgstr "" -#: src/audio_out/audio_alsa_out.c:1287 +#: src/audio_out/audio_alsa_out.c:1295 msgid "" "When the hardware mixer changes, your application will receive a " "notification so that it can update its graphical representation of the mixer " "settings on the fly." msgstr "" -#: src/audio_out/audio_alsa_out.c:1352 +#: src/audio_out/audio_alsa_out.c:1360 #, c-format msgid "snd_lib_error_set_handler() failed: %d" msgstr "" -#: src/audio_out/audio_alsa_out.c:1359 +#: src/audio_out/audio_alsa_out.c:1367 msgid "sound card can do mmap" msgstr "" -#: src/audio_out/audio_alsa_out.c:1360 +#: src/audio_out/audio_alsa_out.c:1368 msgid "" "Enable this, if your sound card and alsa driver support memory mapped IO.\n" "You can try enabling it and check, if everything works. If it does, this " "will increase performance." msgstr "" -#: src/audio_out/audio_alsa_out.c:1369 +#: src/audio_out/audio_alsa_out.c:1377 msgid "device used for mono output" msgstr "" -#: src/audio_out/audio_alsa_out.c:1370 +#: src/audio_out/audio_alsa_out.c:1378 msgid "" "xine will use this alsa device to output mono sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1378 +#: src/audio_out/audio_alsa_out.c:1386 msgid "device used for stereo output" msgstr "" -#: src/audio_out/audio_alsa_out.c:1379 +#: src/audio_out/audio_alsa_out.c:1387 msgid "" "xine will use this alsa device to output stereo sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1387 +#: src/audio_out/audio_alsa_out.c:1395 msgid "device used for 4-channel output" msgstr "" -#: src/audio_out/audio_alsa_out.c:1388 +#: src/audio_out/audio_alsa_out.c:1396 msgid "" "xine will use this alsa device to output 4 channel (4.0) surround sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1397 src/audio_out/audio_alsa_out.c:1407 +#: src/audio_out/audio_alsa_out.c:1405 src/audio_out/audio_alsa_out.c:1415 msgid "device used for 5.1-channel output" msgstr "" -#: src/audio_out/audio_alsa_out.c:1398 +#: src/audio_out/audio_alsa_out.c:1406 msgid "" "xine will use this alsa device to output 5 channel plus LFE (5.1) surround " "sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1408 +#: src/audio_out/audio_alsa_out.c:1416 msgid "" "xine will use this alsa device to output undecoded digital surround sound. " "This can be used be external surround decoders.\n" "See the alsa documentation for information on alsa devices." [... 2669 lines omitted ...] -#: src/xine-engine/xine.c:1116 +#: src/xine-engine/xine.c:1175 #, c-format msgid "xine: error while parsing MRL\n" msgstr "" -#: src/xine-engine/xine.c:1123 +#: src/xine-engine/xine.c:1182 #, c-format msgid "xine: changing option '%s' from MRL isn't permitted\n" msgstr "" -#: src/xine-engine/xine.c:1143 +#: src/xine-engine/xine.c:1202 #, c-format msgid "xine: couldn't find demux for >%s<\n" msgstr "" -#: src/xine-engine/xine.c:1159 +#: src/xine-engine/xine.c:1218 #, c-format msgid "xine: found demuxer plugin: %s\n" msgstr "" -#: src/xine-engine/xine.c:1179 +#: src/xine-engine/xine.c:1238 #, c-format msgid "xine: demuxer failed to start\n" msgstr "" -#: src/xine-engine/xine.c:1244 +#: src/xine-engine/xine.c:1303 #, c-format msgid "xine_play: no demux available\n" msgstr "" -#: src/xine-engine/xine.c:1314 +#: src/xine-engine/xine.c:1373 #, c-format msgid "xine_play: demux failed to start\n" msgstr "" -#: src/xine-engine/xine.c:1592 +#: src/xine-engine/xine.c:1651 #, c-format msgid "xine: The specified save_dir \"%s\" might be a security risk.\n" msgstr "" -#: src/xine-engine/xine.c:1597 +#: src/xine-engine/xine.c:1656 msgid "The specified save_dir might be a security risk." msgstr "" -#: src/xine-engine/xine.c:1626 +#: src/xine-engine/xine.c:1685 msgid "xine: locale not supported by C library\n" msgstr "" -#: src/xine-engine/xine.c:1635 +#: src/xine-engine/xine.c:1694 msgid "media format detection strategy" msgstr "" -#: src/xine-engine/xine.c:1636 +#: src/xine-engine/xine.c:1695 msgid "" "xine offers various methods to detect the media format of input to play. The " "individual values are:\n" @@ -4625,11 +4722,11 @@ msgid "" "Detect by file name extension only.\n" msgstr "" -#: src/xine-engine/xine.c:1654 +#: src/xine-engine/xine.c:1713 msgid "directory for saving streams" msgstr "" -#: src/xine-engine/xine.c:1655 +#: src/xine-engine/xine.c:1714 msgid "" "When using the stream save feature, files will be written only into this " "directory.\n" @@ -4639,11 +4736,11 @@ msgid "" "content in any file." msgstr "" -#: src/xine-engine/xine.c:1666 +#: src/xine-engine/xine.c:1725 msgid "allow implicit changes to the configuration (e.g. by MRL)" msgstr "" -#: src/xine-engine/xine.c:1667 +#: src/xine-engine/xine.c:1726 msgid "" "If enabled, you allow xine to change your configuration without explicit " "actions from your side. For example configuration changes demanded by MRLs " @@ -4653,26 +4750,26 @@ msgid "" "configuration, you might end with a totally messed up xine." msgstr "" -#: src/xine-engine/xine.c:1681 +#: src/xine-engine/xine.c:1740 msgid "Timeout for network stream reading (in seconds)" msgstr "" -#: src/xine-engine/xine.c:1682 +#: src/xine-engine/xine.c:1741 msgid "" "Specifies the timeout when reading from network streams, in seconds. Too low " "values might stop streaming when the source is slow or the bandwidth is " "occupied, too high values will freeze the player if the connection is lost." msgstr "" -#: src/xine-engine/xine.c:2034 +#: src/xine-engine/xine.c:2093 msgid "messages" msgstr "" -#: src/xine-engine/xine.c:2035 +#: src/xine-engine/xine.c:2094 msgid "plugin" msgstr "" -#: src/xine-engine/xine.c:2036 +#: src/xine-engine/xine.c:2095 msgid "trace" msgstr "" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 po/pl.po --- a/po/pl.po Sat Nov 24 22:12:01 2007 +0000 +++ b/po/pl.po Mon Sep 10 00:35:26 2007 +0100 @@ -7,7 +7,7 @@ msgstr "" msgstr "" "Project-Id-Version: pl_PL\n" "Report-Msgid-Bugs-To: xin...@li...\n" -"POT-Creation-Date: 2007-06-02 13:14+0200\n" +"POT-Creation-Date: 2007-10-29 17:31+0000\n" "PO-Revision-Date: 2003-05-24 12:36+0200\n" "Last-Translator: Bartłomiej Muryn <_4...@ir...>\n" "Language-Team: Polish <pl...@li...>\n" @@ -42,48 +42,48 @@ msgid "Unknown error" msgid "Unknown error" msgstr "" -#: src/audio_out/audio_alsa_out.c:351 +#: src/audio_out/audio_alsa_out.c:353 #, c-format msgid "audio_alsa_out:Already open...WHY!" msgstr "" -#: src/audio_out/audio_alsa_out.c:379 +#: src/audio_out/audio_alsa_out.c:381 #, c-format msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "" -#: src/audio_out/audio_alsa_out.c:381 +#: src/audio_out/audio_alsa_out.c:383 msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" -#: src/audio_out/audio_alsa_out.c:394 +#: src/audio_out/audio_alsa_out.c:396 #, c-format msgid "" "audio_alsa_out: broken configuration for this PCM: no configurations " "available: %s\n" msgstr "" -#: src/audio_out/audio_alsa_out.c:1286 +#: src/audio_out/audio_alsa_out.c:1294 msgid "notify changes to the hardware mixer" msgstr "" -#: src/audio_out/audio_alsa_out.c:1287 +#: src/audio_out/audio_alsa_out.c:1295 msgid "" "When the hardware mixer changes, your application will receive a " "notification so that it can update its graphical representation of the mixer " "settings on the fly." msgstr "" -#: src/audio_out/audio_alsa_out.c:1352 +#: src/audio_out/audio_alsa_out.c:1360 #, c-format msgid "snd_lib_error_set_handler() failed: %d" msgstr "" -#: src/audio_out/audio_alsa_out.c:1359 +#: src/audio_out/audio_alsa_out.c:1367 msgid "sound card can do mmap" msgstr "" -#: src/audio_out/audio_alsa_out.c:1360 +#: src/audio_out/audio_alsa_out.c:1368 msgid "" "Enable this, if your sound card and alsa driver support memory mapped IO.\n" "You can try enabling it and check, if everything works. If it does, this " @@ -92,33 +92,33 @@ msgstr "" # src/audio_out/audio_alsa_out.c:181 src/audio_out/audio_alsa_out.c:728 # src/audio_out/audio_alsa_out.c:913 src/audio_out/audio_alsa_out.c:957 -#: src/audio_out/audio_alsa_out.c:1369 +#: src/audio_out/audio_alsa_out.c:1377 msgid "device used for mono output" msgstr "urządzenie użyte w trybie mono" -#: src/audio_out/audio_alsa_out.c:1370 +#: src/audio_out/audio_alsa_out.c:1378 msgid "" "xine will use this alsa device to output mono sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" # src/audio_out/audio_alsa_out.c:191 src/audio_out/audio_alsa_out.c:920 -#: src/audio_out/audio_alsa_out.c:1378 +#: src/audio_out/audio_alsa_out.c:1386 msgid "device used for stereo output" msgstr "urządzenie użyte w trybie stereo" -#: src/audio_out/audio_alsa_out.c:1379 +#: src/audio_out/audio_alsa_out.c:1387 msgid "" "xine will use this alsa device to output stereo sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" # src/audio_out/audio_alsa_out.c:201 src/audio_out/audio_alsa_out.c:927 -#: src/audio_out/audio_alsa_out.c:1387 +#: src/audio_out/audio_alsa_out.c:1395 msgid "device used for 4-channel output" msgstr "urządzenie użyte do wyjścia 4-kanałowego" -#: src/audio_out/audio_alsa_out.c:1388 +#: src/audio_out/audio_alsa_out.c:1396 msgid "" "xine will use this alsa device to output 4 channel (4.0) surround sound.\n" "See the alsa documentation for information on alsa devices." @@ -126,39 +126,39 @@ msgstr "" # src/audio_out/audio_alsa_out.c:221 src/audio_out/audio_alsa_out.c:232 # src/audio_out/audio_alsa_out.c:941 src/audio_out/audio_alsa_out.c:948 -#: src/audio_out/audio_alsa_out.c:1397 src/audio_out/audio_alsa_out.c:1407 +#: src/audio_out/audio_alsa_out.c:1405 src/audio_out/audio_alsa_out.c:1415 msgid "device used for 5.1-channel output" msgstr "urządzenie użyte do wyjścia 5.1-kanałowego" -#: src/audio_out/audio_alsa_out.c:1398 +#: src/audio_out/audio_alsa_out.c:1406 msgid "" "xine will use this alsa device to output 5 channel plus LFE (5.1) surround " "sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1408 [... 2828 lines omitted ...] msgid "xine: found demuxer plugin: %s\n" msgstr "xine: nie mogę znaleźć demultiplexera dla >%s<\n" # src/xine-engine/xine.c:471 -#: src/xine-engine/xine.c:1179 +#: src/xine-engine/xine.c:1238 #, c-format msgid "xine: demuxer failed to start\n" msgstr "xine: zawiódł start demultiplexera\n" # src/xine-engine/xine.c:471 -#: src/xine-engine/xine.c:1244 +#: src/xine-engine/xine.c:1303 #, c-format msgid "xine_play: no demux available\n" msgstr "xine_play: brak dostępnego demultiplexera\n" # src/xine-engine/xine.c:471 -#: src/xine-engine/xine.c:1314 +#: src/xine-engine/xine.c:1373 #, c-format msgid "xine_play: demux failed to start\n" msgstr "xine_play: zawiódł start demultiplexera\n" -#: src/xine-engine/xine.c:1592 +#: src/xine-engine/xine.c:1651 #, c-format msgid "xine: The specified save_dir \"%s\" might be a security risk.\n" msgstr "" -#: src/xine-engine/xine.c:1597 +#: src/xine-engine/xine.c:1656 msgid "The specified save_dir might be a security risk." msgstr "" -#: src/xine-engine/xine.c:1626 +#: src/xine-engine/xine.c:1685 msgid "xine: locale not supported by C library\n" msgstr "" -#: src/xine-engine/xine.c:1635 +#: src/xine-engine/xine.c:1694 msgid "media format detection strategy" msgstr "" -#: src/xine-engine/xine.c:1636 +#: src/xine-engine/xine.c:1695 msgid "" "xine offers various methods to detect the media format of input to play. The " "individual values are:\n" @@ -4980,11 +5076,11 @@ msgid "" "Detect by file name extension only.\n" msgstr "" -#: src/xine-engine/xine.c:1654 +#: src/xine-engine/xine.c:1713 msgid "directory for saving streams" msgstr "" -#: src/xine-engine/xine.c:1655 +#: src/xine-engine/xine.c:1714 msgid "" "When using the stream save feature, files will be written only into this " "directory.\n" @@ -4994,11 +5090,11 @@ msgid "" "content in any file." msgstr "" -#: src/xine-engine/xine.c:1666 +#: src/xine-engine/xine.c:1725 msgid "allow implicit changes to the configuration (e.g. by MRL)" msgstr "" -#: src/xine-engine/xine.c:1667 +#: src/xine-engine/xine.c:1726 msgid "" "If enabled, you allow xine to change your configuration without explicit " "actions from your side. For example configuration changes demanded by MRLs " @@ -5008,11 +5104,11 @@ msgid "" "configuration, you might end with a totally messed up xine." msgstr "" -#: src/xine-engine/xine.c:1681 +#: src/xine-engine/xine.c:1740 msgid "Timeout for network stream reading (in seconds)" msgstr "" -#: src/xine-engine/xine.c:1682 +#: src/xine-engine/xine.c:1741 msgid "" "Specifies the timeout when reading from network streams, in seconds. Too low " "values might stop streaming when the source is slow or the bandwidth is " @@ -5020,16 +5116,16 @@ msgstr "" msgstr "" # src/xine-engine/xine.c:1025 -#: src/xine-engine/xine.c:2034 +#: src/xine-engine/xine.c:2093 msgid "messages" msgstr "wiadomości" # src/xine-engine/xine.c:1026 -#: src/xine-engine/xine.c:2035 +#: src/xine-engine/xine.c:2094 msgid "plugin" msgstr "wtyczka" -#: src/xine-engine/xine.c:2036 +#: src/xine-engine/xine.c:2095 msgid "trace" msgstr "" @@ -5101,6 +5197,15 @@ msgstr "" #: src/xine-utils/memcpy.c:507 msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "" + +# src/audio_out/audio_esd_out.c:441 +#~ msgid "xine audio output plugin using kde artsd" +#~ msgstr "wtyczka wyjścia dźwięku używająca kde artsd" + +# src/xine-engine/video_out.c:890 +#, fuzzy +#~ msgid "dvbsub: cannot create timer thread\n" +#~ msgstr "video_out: nie mogę utworzyć wątku (%s)\n" # src/input/input_vcd.c:1184 #, fuzzy diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 po/pt_BR.po --- a/po/pt_BR.po Sat Nov 24 22:12:01 2007 +0000 +++ b/po/pt_BR.po Mon Sep 10 00:35:26 2007 +0100 @@ -6,7 +6,7 @@ msgstr "" msgstr "" "Project-Id-Version: xine-lib 0.9.13\n" "Report-Msgid-Bugs-To: xin...@li...\n" -"POT-Creation-Date: 2007-06-02 13:14+0200\n" +"POT-Creation-Date: 2007-10-29 17:31+0000\n" "PO-Revision-Date: 2002-01-22 18:31GMT-3\n" "Last-Translator: Marcelo Roberto Jimenez <mro...@ce...>\n" "Language-Team: Portuguese (Brazilian) <pt...@li...>\n" @@ -40,117 +40,117 @@ msgid "Unknown error" msgid "Unknown error" msgstr "" -#: src/audio_out/audio_alsa_out.c:351 +#: src/audio_out/audio_alsa_out.c:353 #, c-format msgid "audio_alsa_out:Already open...WHY!" msgstr "" -#: src/audio_out/audio_alsa_out.c:379 +#: src/audio_out/audio_alsa_out.c:381 #, c-format msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "" -#: src/audio_out/audio_alsa_out.c:381 +#: src/audio_out/audio_alsa_out.c:383 msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "" -#: src/audio_out/audio_alsa_out.c:394 +#: src/audio_out/audio_alsa_out.c:396 #, c-format msgid "" "audio_alsa_out: broken configuration for this PCM: no configurations " "available: %s\n" msgstr "" -#: src/audio_out/audio_alsa_out.c:1286 +#: src/audio_out/audio_alsa_out.c:1294 msgid "notify changes to the hardware mixer" msgstr "" -#: src/audio_out/audio_alsa_out.c:1287 +#: src/audio_out/audio_alsa_out.c:1295 msgid "" "When the hardware mixer changes, your application will receive a " "notification so that it can update its graphical representation of the mixer " "settings on the fly." msgstr "" -#: src/audio_out/audio_alsa_out.c:1352 +#: src/audio_out/audio_alsa_out.c:1360 #, c-format msgid "snd_lib_error_set_handler() failed: %d" msgstr "" -#: src/audio_out/audio_alsa_out.c:1359 +#: src/audio_out/audio_alsa_out.c:1367 msgid "sound card can do mmap" msgstr "" -#: src/audio_out/audio_alsa_out.c:1360 +#: src/audio_out/audio_alsa_out.c:1368 msgid "" "Enable this, if your sound card and alsa driver support memory mapped IO.\n" "You can try enabling it and check, if everything works. If it does, this " "will increase performance." msgstr "" -#: src/audio_out/audio_alsa_out.c:1369 +#: src/audio_out/audio_alsa_out.c:1377 msgid "device used for mono output" msgstr "" -#: src/audio_out/audio_alsa_out.c:1370 +#: src/audio_out/audio_alsa_out.c:1378 msgid "" "xine will use this alsa device to output mono sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1378 +#: src/audio_out/audio_alsa_out.c:1386 msgid "device used for stereo output" msgstr "" -#: src/audio_out/audio_alsa_out.c:1379 +#: src/audio_out/audio_alsa_out.c:1387 msgid "" "xine will use this alsa device to output stereo sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1387 +#: src/audio_out/audio_alsa_out.c:1395 msgid "device used for 4-channel output" msgstr "" -#: src/audio_out/audio_alsa_out.c:1388 +#: src/audio_out/audio_alsa_out.c:1396 msgid "" "xine will use this alsa device to output 4 channel (4.0) surround sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1397 src/audio_out/audio_alsa_out.c:1407 +#: src/audio_out/audio_alsa_out.c:1405 src/audio_out/audio_alsa_out.c:1415 msgid "device used for 5.1-channel output" msgstr "" -#: src/audio_out/audio_alsa_out.c:1398 +#: src/audio_out/audio_alsa_out.c:1406 msgid "" "xine will use this alsa device to output 5 channel plus LFE (5.1) surround " "sound.\n" "See the alsa documentation for information on alsa devices." msgstr "" -#: src/audio_out/audio_alsa_out.c:1408 +#: src/audio_out/audio_alsa_out.c:1416 msgid "" "xine will use this alsa device to output undecoded digital surround sound. " "This can be used be external surround decoders.\n" "See the alsa documentation for information on alsa devices." [... 2701 lines omitted ...] -#: src/xine-engine/xine.c:1143 +#: src/xine-engine/xine.c:1202 #, fuzzy, c-format msgid "xine: couldn't find demux for >%s<\n" msgstr "xine: não conseguí achar o demuxer para >%s<\n" -#: src/xine-engine/xine.c:1159 +#: src/xine-engine/xine.c:1218 #, fuzzy, c-format msgid "xine: found demuxer plugin: %s\n" msgstr "xine: usando o plugin de demuxer >%s< para este MRL.\n" -#: src/xine-engine/xine.c:1179 +#: src/xine-engine/xine.c:1238 #, fuzzy, c-format msgid "xine: demuxer failed to start\n" msgstr "xine_play: demuxer falhou em começar\n" -#: src/xine-engine/xine.c:1244 +#: src/xine-engine/xine.c:1303 #, fuzzy, c-format msgid "xine_play: no demux available\n" msgstr "xine_play: demuxer falhou em começar\n" -#: src/xine-engine/xine.c:1314 +#: src/xine-engine/xine.c:1373 #, fuzzy, c-format msgid "xine_play: demux failed to start\n" msgstr "xine_play: demuxer falhou em começar\n" -#: src/xine-engine/xine.c:1592 +#: src/xine-engine/xine.c:1651 #, c-format msgid "xine: The specified save_dir \"%s\" might be a security risk.\n" msgstr "" -#: src/xine-engine/xine.c:1597 +#: src/xine-engine/xine.c:1656 msgid "The specified save_dir might be a security risk." msgstr "" -#: src/xine-engine/xine.c:1626 +#: src/xine-engine/xine.c:1685 msgid "xine: locale not supported by C library\n" msgstr "" -#: src/xine-engine/xine.c:1635 +#: src/xine-engine/xine.c:1694 msgid "media format detection strategy" msgstr "" -#: src/xine-engine/xine.c:1636 +#: src/xine-engine/xine.c:1695 msgid "" "xine offers various methods to detect the media format of input to play. The " "individual values are:\n" @@ -4680,11 +4776,11 @@ msgid "" "Detect by file name extension only.\n" msgstr "" -#: src/xine-engine/xine.c:1654 +#: src/xine-engine/xine.c:1713 msgid "directory for saving streams" msgstr "" -#: src/xine-engine/xine.c:1655 +#: src/xine-engine/xine.c:1714 msgid "" "When using the stream save feature, files will be written only into this " "directory.\n" @@ -4694,11 +4790,11 @@ msgid "" "content in any file." msgstr "" -#: src/xine-engine/xine.c:1666 +#: src/xine-engine/xine.c:1725 msgid "allow implicit changes to the configuration (e.g. by MRL)" msgstr "" -#: src/xine-engine/xine.c:1667 +#: src/xine-engine/xine.c:1726 msgid "" "If enabled, you allow xine to change your configuration without explicit " "actions from your side. For example configuration changes demanded by MRLs " @@ -4708,26 +4804,26 @@ msgid "" "configuration, you might end with a totally messed up xine." msgstr "" -#: src/xine-engine/xine.c:1681 +#: src/xine-engine/xine.c:1740 msgid "Timeout for network stream reading (in seconds)" msgstr "" -#: src/xine-engine/xine.c:1682 +#: src/xine-engine/xine.c:1741 msgid "" "Specifies the timeout when reading from network streams, in seconds. Too low " "values might stop streaming when the source is slow or the bandwidth is " "occupied, too high values will freeze the player if the connection is lost." msgstr "" -#: src/xine-engine/xine.c:2034 +#: src/xine-engine/xine.c:2093 msgid "messages" msgstr "menssagens" -#: src/xine-engine/xine.c:2035 +#: src/xine-engine/xine.c:2094 msgid "plugin" msgstr "plugin" -#: src/xine-engine/xine.c:2036 +#: src/xine-engine/xine.c:2095 msgid "trace" msgstr "" @@ -4800,6 +4896,10 @@ msgstr "" #: src/xine-utils/memcpy.c:507 msgid "Benchmarking memcpy methods (smaller is better):\n" msgstr "" + +#, fuzzy +#~ msgid "dvbsub: cannot create timer thread\n" +#~ msgstr "demux_qt: não consigo criar um novo thread (%s)\n" #, fuzzy #~ msgid "audio_oss_out: open() %s failed: %s\n" diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 po/sk.po --- a/po/sk.po Sat Nov 24 22:12:01 2007 +0000 +++ b/po/sk.po Mon Sep 10 00:35:26 2007 +0100 @@ -6,7 +6,7 @@ msgstr "" msgstr "" "Project-Id-Version: xine-lib 1.0\n" "Report-Msgid-Bugs-To: xin...@li...\n" -"POT-Creation-Date: 2007-06-02 13:14+0200\n" +"POT-Creation-Date: 2007-10-29 17:31+0000\n" "PO-Revision-Date: 2004-09-15 13:53+0100\n" "Last-Translator: \n" "Language-Team: Slovak <sk...@li...>\n" @@ -45,21 +45,21 @@ msgid "Unknown error" msgid "Unknown error" msgstr "Udalosť neznámeho typu: " -#: src/audio_out/audio_alsa_out.c:351 +#: src/audio_out/audio_alsa_out.c:353 #, c-format msgid "audio_alsa_out:Already open...WHY!" msgstr "audio_alsa_out:Už otvorené...PREČO!" -#: src/audio_out/audio_alsa_out.c:379 +#: src/audio_out/audio_alsa_out.c:381 #, c-format msgid "audio_alsa_out: snd_pcm_open() of %s failed: %s\n" msgstr "audio_alsa_out: snd_pcm_open() z %s zlyhal: %s\n" -#: src/audio_out/audio_alsa_out.c:381 +#: src/audio_out/audio_alsa_out.c:383 msgid "audio_alsa_out: >>> check if another program already uses PCM <<<\n" msgstr "audio_alsa_out: >>> skontrolujte či už iný program používa PCM <<<\n" -#: src/audio_out/audio_alsa_out.c:394 +#: src/audio_out/audio_alsa_out.c:396 #, c-format msgid "" "audio_alsa_out: broken configuration for this PCM: no configurations " @@ -68,96 +68,96 @@ msgstr "" "audio_alsa_out: poškodená konfigurácia pre toto PCM: konfigurácia " "nedostupná: %s\n" -#: src/audio_out/audio_alsa_out.c:1286 +#: src/audio_out/audio_alsa_out.c:1294 msgid "notify changes to the hardware mixer" msgstr "" -#: src/audio_out/audio_alsa_out.c:1287 +#: src/audio_out/audio_alsa_out.c:1295 msgid "" "When the hardware mixer changes, your application will receive a " "notification so that it can update its graphical... [truncated message content] |
From: <li...@yo...> - 2007-11-24 22:45:10
|
# [node c67926c9c2eb7158c6147bb763ecc008b6d3de02 part 7] diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/bytesex.h --- a/contrib/libvcd/bytesex.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,145 +0,0 @@ -/* - $Id: bytesex.h,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 __VCD_BYTESEX_H__ -#define __VCD_BYTESEX_H__ - -#include <cdio/cdio.h> -#include <libvcd/types.h> -#include <libvcd/logging.h> - -/* Private includes */ -#include "bytesex_asm.h" - -/* generic byteswap routines */ - -#define UINT16_SWAP_LE_BE_C(val) ((uint16_t) ( \ - (((uint16_t) (val) & (uint16_t) 0x00ffU) << 8) | \ - (((uint16_t) (val) & (uint16_t) 0xff00U) >> 8))) - -#define UINT32_SWAP_LE_BE_C(val) ((uint32_t) ( \ - (((uint32_t) (val) & (uint32_t) 0x000000ffU) << 24) | \ - (((uint32_t) (val) & (uint32_t) 0x0000ff00U) << 8) | \ - (((uint32_t) (val) & (uint32_t) 0x00ff0000U) >> 8) | \ - (((uint32_t) (val) & (uint32_t) 0xff000000U) >> 24))) - -#define UINT64_SWAP_LE_BE_C(val) ((uint64_t) ( \ - (((uint64_t) (val) & (uint64_t) UINT64_C(0x00000000000000ff)) << 56) | \ - (((uint64_t) (val) & (uint64_t) UINT64_C(0x000000000000ff00)) << 40) | \ - (((uint64_t) (val) & (uint64_t) UINT64_C(0x0000000000ff0000)) << 24) | \ - (((uint64_t) (val) & (uint64_t) UINT64_C(0x00000000ff000000)) << 8) | \ - (((uint64_t) (val) & (uint64_t) UINT64_C(0x000000ff00000000)) >> 8) | \ - (((uint64_t) (val) & (uint64_t) UINT64_C(0x0000ff0000000000)) >> 24) | \ - (((uint64_t) (val) & (uint64_t) UINT64_C(0x00ff000000000000)) >> 40) | \ - (((uint64_t) (val) & (uint64_t) UINT64_C(0xff00000000000000)) >> 56))) - -#ifndef UINT16_SWAP_LE_BE -# define UINT16_SWAP_LE_BE UINT16_SWAP_LE_BE_C -#endif - -#ifndef UINT32_SWAP_LE_BE -# define UINT32_SWAP_LE_BE UINT32_SWAP_LE_BE_C -#endif - -#ifndef UINT64_SWAP_LE_BE -# define UINT64_SWAP_LE_BE UINT64_SWAP_LE_BE_C -#endif - -inline static -uint16_t uint16_swap_le_be (const uint16_t val) -{ - return UINT16_SWAP_LE_BE (val); -} - -inline static -uint32_t uint32_swap_le_be (const uint32_t val) -{ - return UINT32_SWAP_LE_BE (val); -} - -inline static -uint64_t uint64_swap_le_be (const uint64_t val) -{ - return UINT64_SWAP_LE_BE (val); -} - -# define UINT8_TO_BE(val) ((uint8_t) (val)) -# define UINT8_TO_LE(val) ((uint8_t) (val)) -#ifdef WORDS_BIGENDIAN -# define UINT16_TO_BE(val) ((uint16_t) (val)) -# define UINT16_TO_LE(val) ((uint16_t) UINT16_SWAP_LE_BE(val)) - -# define UINT32_TO_BE(val) ((uint32_t) (val)) -# define UINT32_TO_LE(val) ((uint32_t) UINT32_SWAP_LE_BE(val)) - -# define UINT64_TO_BE(val) ((uint64_t) (val)) -# define UINT64_TO_LE(val) ((uint64_t) UINT64_SWAP_LE_BE(val)) -#else -# define UINT16_TO_BE(val) ((uint16_t) UINT16_SWAP_LE_BE(val)) -# define UINT16_TO_LE(val) ((uint16_t) (val)) - -# define UINT32_TO_BE(val) ((uint32_t) UINT32_SWAP_LE_BE(val)) -# define UINT32_TO_LE(val) ((uint32_t) (val)) - -# define UINT64_TO_BE(val) ((uint64_t) UINT64_SWAP_LE_BE(val)) -# define UINT64_TO_LE(val) ((uint64_t) (val)) -#endif - -/* symmetric conversions */ -#define UINT8_FROM_BE(val) (UINT8_TO_BE (val)) -#define UINT8_FROM_LE(val) (UINT8_TO_LE (val)) -#define UINT16_FROM_BE(val) (UINT16_TO_BE (val)) -#define UINT16_FROM_LE(val) (UINT16_TO_LE (val)) -#define UINT32_FROM_BE(val) (UINT32_TO_BE (val)) -#define UINT32_FROM_LE(val) (UINT32_TO_LE (val)) -#define UINT64_FROM_BE(val) (UINT64_TO_BE (val)) -#define UINT64_FROM_LE(val) (UINT64_TO_LE (val)) - -/* converter function template */ -#define CVT_TO_FUNC(bits) \ - static inline uint ## bits ## _t \ - uint ## bits ## _to_be (uint ## bits ## _t val) \ - { return UINT ## bits ## _TO_BE (val); } \ - static inline uint ## bits ## _t \ - uint ## bits ## _to_le (uint ## bits ## _t val) \ - { return UINT ## bits ## _TO_LE (val); } \ - -CVT_TO_FUNC(8) -CVT_TO_FUNC(16) -CVT_TO_FUNC(32) -CVT_TO_FUNC(64) - -#undef CVT_TO_FUNC - -#define uint16_from_be(val) (uint16_to_be (val)) -#define uint16_from_le(val) (uint16_to_le (val)) -#define uint32_from_be(val) (uint32_to_be (val)) -#define uint32_from_le(val) (uint32_to_le (val)) - -#endif /* __VCD_BYTESEX_H__ */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/bytesex_asm.h --- a/contrib/libvcd/bytesex_asm.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,123 +0,0 @@ -/* - $Id: bytesex_asm.h,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2001 Sven Ottemann <ac-...@fr...> - 2001 Herbert Valerio Riedel <hv...@gn...> - - 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 __VCD_BYTESEX_ASM_H__ -#define __VCD_BYTESEX_ASM_H__ -#if !defined(DISABLE_ASM_OPTIMIZE) - -#include <libvcd/types.h> - -#if defined(__powerpc__) && defined(__GNUC__) - -inline static -uint32_t uint32_swap_le_be_asm(const uint32_t a) -{ - uint32_t b; - - __asm__ ("lwbrx %0,0,%1" - :"=r"(b) - :"r"(&a), "m"(a)); - - return b; -} - -inline static -uint16_t uint16_swap_le_be_asm(const uint16_t a) -{ - uint32_t b; - - __asm__ ("lhbrx %0,0,%1" - :"=r"(b) - :"r"(&a), "m"(a)); - - return b; -} - -#define UINT16_SWAP_LE_BE uint16_swap_le_be_asm -#define UINT32_SWAP_LE_BE uint32_swap_le_be_asm - -#elif defined(__mc68000__) && defined(__STORMGCC__) - -inline static -uint32_t uint32_swap_le_be_asm(uint32_t a __asm__("d0")) -{ - /* __asm__("rolw #8,%0; swap %0; rolw #8,%0" : "=d" (val) : "0" (val)); */ - - __asm__("move.l %1,d0;rol.w #8,d0;swap d0;rol.w #8,d0;move.l d0,%0" - :"=r"(a) - :"r"(a)); - - return(a); -} - -inline static -uint16_t uint16_swap_le_be_asm(uint16_t a __asm__("d0")) -{ - __asm__("move.l %1,d0;rol.w #8,d0;move.l d0,%0" - :"=r"(a) - :"r"(a)); - - return(a); -} - -#define UINT16_SWAP_LE_BE uint16_swap_le_be_asm -#define UINT32_SWAP_LE_BE uint32_swap_le_be_asm - -#elif 0 && defined(__i386__) && defined(__GNUC__) - -inline static -uint32_t uint32_swap_le_be_asm(uint32_t a) -{ - __asm__("xchgb %b0,%h0\n\t" /* swap lower bytes */ - "rorl $16,%0\n\t" /* swap words */ - "xchgb %b0,%h0" /* swap higher bytes */ - :"=q" (a) - : "0" (a)); - - return(a); -} - -inline static -uint16_t uint16_swap_le_be_asm(uint16_t a) -{ - __asm__("xchgb %b0,%h0" /* swap bytes */ - : "=q" (a) - : "0" (a)); - - return(a); -} - -#define UINT16_SWAP_LE_BE uint16_swap_le_be_asm -#define UINT32_SWAP_LE_BE uint32_swap_le_be_asm - -#endif - -#endif /* !defined(DISABLE_ASM_OPTIMIZE) */ -#endif /* __VCD_BYTESEX_ASM_H__ */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/data_structures.c --- a/contrib/libvcd/data_structures.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,342 +0,0 @@ -/* - $Id: data_structures.c,v 1.3 2005/01/01 02:43:59 rockyb Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - Copyright (C) 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdlib.h> -#include <string.h> - -#include <cdio/cdio.h> - -/* Public headers */ -#include <libvcd/types.h> - -/* Private headers */ -#include "vcd_assert.h" -#include "data_structures.h" -#include "util.h" - -static const char _rcsid[] = "$Id: data_structures.c,v 1.3 2005/01/01 02:43:59 rockyb Exp $"; - -struct _CdioList -{ - unsigned length; - - CdioListNode *begin; - CdioListNode *end; -}; - -struct _CdioListNode -{ - CdioList *list; - - CdioListNode *next; - - void *data; -}; - -/* impl */ - -static bool -_bubble_sort_iteration (CdioList *list, _cdio_list_cmp_func cmp_func) -{ - CdioListNode **pnode; - bool changed = false; - - for (pnode = &(list->begin); - (*pnode) != NULL && (*pnode)->next != NULL; - pnode = &((*pnode)->next)) - { - CdioListNode *node = *pnode; - - if (cmp_func (node->data, node->next->data) <= 0) - continue; /* n <= n->next */ - - /* exch n n->next */ - *pnode = node->next; - node->next = node->next->next; - (*pnode)->next = node; - - changed = true; - - if (node->next == NULL) - list->end = node; - } - - return changed; -} - -void _vcd_list_sort (CdioList *list, _cdio_list_cmp_func cmp_func) -{ - /* fixme -- this is bubble sort -- worst sorting algo... */ - - vcd_assert (list != NULL); - vcd_assert (cmp_func != 0); - - while (_bubble_sort_iteration (list, cmp_func)); -} - -/* node ops */ - -CdioListNode * -_vcd_list_at (CdioList *list, int idx) -{ - CdioListNode *node = _cdio_list_begin (list); - - if (idx < 0) - return _vcd_list_at (list, _cdio_list_length (list) + idx); - - vcd_assert (idx >= 0); - - while (node && idx) - { - node = _cdio_list_node_next (node); - idx--; - } - - return node; -} - -/* - * n-way tree based on list -- somewhat inefficent - */ - -struct _VcdTree [... 90 lines omitted ...] - return old_data; -} - -VcdTreeNode * -_vcd_tree_node_append_child (VcdTreeNode *pnode, void *cdata) -{ - VcdTreeNode *nnode; - - vcd_assert (pnode != NULL); - - if (!pnode->children) - pnode->children = _cdio_list_new (); - - nnode = _vcd_malloc (sizeof (VcdTreeNode)); - - _cdio_list_append (pnode->children, nnode); - - nnode->data = cdata; - nnode->parent = pnode; - nnode->tree = pnode->tree; - nnode->listnode = _cdio_list_end (pnode->children); - - return nnode; -} - -VcdTreeNode * -_vcd_tree_node_first_child (VcdTreeNode *node) -{ - vcd_assert (node != NULL); - - if (!node->children) - return NULL; - - return _cdio_list_node_data (_cdio_list_begin (node->children)); -} - -VcdTreeNode * -_vcd_tree_node_next_sibling (VcdTreeNode *node) -{ - vcd_assert (node != NULL); - - return _cdio_list_node_data (_cdio_list_node_next (node->listnode)); -} - -void -_vcd_tree_node_sort_children (VcdTreeNode *node, _vcd_tree_node_cmp_func cmp_func) -{ - vcd_assert (node != NULL); - - if (node->children) - _vcd_list_sort (node->children, (_cdio_list_cmp_func) cmp_func); -} - -void -_vcd_tree_node_traverse (VcdTreeNode *node, - _vcd_tree_node_traversal_func trav_func, - void *user_data) /* pre-order */ -{ - VcdTreeNode *child; - - vcd_assert (node != NULL); - - trav_func (node, user_data); - - _VCD_CHILD_FOREACH (child, node) - { - _vcd_tree_node_traverse (child, trav_func, user_data); - } -} - -void -_vcd_tree_node_traverse_bf (VcdTreeNode *node, - _vcd_tree_node_traversal_func trav_func, - void *user_data) /* breath-first */ -{ - CdioList *queue; - - vcd_assert (node != NULL); - - queue = _cdio_list_new (); - - _cdio_list_prepend (queue, node); - - while (_cdio_list_length (queue)) - { - CdioListNode *lastnode = _cdio_list_end (queue); - VcdTreeNode *treenode = _cdio_list_node_data (lastnode); - VcdTreeNode *childnode; - - _cdio_list_node_free (lastnode, false); - - trav_func (treenode, user_data); - - _VCD_CHILD_FOREACH (childnode, treenode) - { - _cdio_list_prepend (queue, childnode); - } - } - - _cdio_list_free (queue, false); -} - -VcdTreeNode *_vcd_tree_node_parent (VcdTreeNode *node) -{ - return node->parent; -} - -VcdTreeNode *_vcd_tree_node_root (VcdTreeNode *node) -{ - return node->tree->root; -} - -bool _vcd_tree_node_is_root (VcdTreeNode *node) -{ - return (node->parent == NULL); -} - -/* eof */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ - diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/data_structures.h --- a/contrib/libvcd/data_structures.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ -/* - $Id: data_structures.h,v 1.3 2005/01/01 02:43:59 rockyb Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 __VCD_DATA_STRUCTURES_H__ -#define __VCD_DATA_STRUCTURES_H__ - -#include <cdio/ds.h> -#include <libvcd/types.h> - -/* node ops */ - -CdioListNode *_vcd_list_at (CdioList *list, int idx); - -void _vcd_list_sort (CdioList *list, _cdio_list_cmp_func cmp_func); - -/* n-way tree */ - -typedef struct _VcdTree VcdTree; -typedef struct _VcdTreeNode VcdTreeNode; - -#define _VCD_CHILD_FOREACH(child, parent) \ - for (child = _vcd_tree_node_first_child (parent); child; child = _vcd_tree_node_next_sibling (child)) - -typedef int (*_vcd_tree_node_cmp_func) (VcdTreeNode *node1, - VcdTreeNode *node2); - -typedef void (*_vcd_tree_node_traversal_func) (VcdTreeNode *node, - void *user_data); - -VcdTree *_vcd_tree_new (void *root_data); - -void _vcd_tree_destroy (VcdTree *tree, bool free_data); - -VcdTreeNode *_vcd_tree_root (VcdTree *tree); - -void _vcd_tree_node_sort_children (VcdTreeNode *node, - _vcd_tree_node_cmp_func cmp_func); - -void *_vcd_tree_node_data (VcdTreeNode *node); - -void _vcd_tree_node_destroy (VcdTreeNode *node, bool free_data); - -void *_vcd_tree_node_set_data (VcdTreeNode *node, void *new_data); - -VcdTreeNode *_vcd_tree_node_append_child (VcdTreeNode *pnode, void *cdata); - -VcdTreeNode *_vcd_tree_node_first_child (VcdTreeNode *node); - -VcdTreeNode *_vcd_tree_node_next_sibling (VcdTreeNode *node); - -VcdTreeNode *_vcd_tree_node_parent (VcdTreeNode *node); - -VcdTreeNode *_vcd_tree_node_root (VcdTreeNode *node); - -bool _vcd_tree_node_is_root (VcdTreeNode *node); - -void _vcd_tree_node_traverse (VcdTreeNode *node, - _vcd_tree_node_traversal_func trav_func, - void *user_data); - -void -_vcd_tree_node_traverse_bf (VcdTreeNode *node, - _vcd_tree_node_traversal_func trav_func, - void *user_data); - -#endif /* __VCD_DATA_STRUCTURES_H__ */ - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ - diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/dict.h --- a/contrib/libvcd/dict.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,165 +0,0 @@ -/* - $Id: dict.h,v 1.3 2005/01/01 02:43:59 rockyb Exp $ - - Copyright (C) 2000, 2004 Herbert Valerio Riedel <hv...@gn...> - - 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 __VCD_DICT_H__ -#define __VCD_DICT_H__ - -/* Public headers */ -#include <libvcd/types.h> - -/* Private headers */ -#include "vcd_assert.h" -#include "obj.h" -#include "util.h" - -struct _dict_t -{ - char *key; - uint32_t sector; - uint32_t length; - void *buf; - uint8_t flags; -}; - -static void -_dict_insert (VcdObj *obj, const char key[], uint32_t sector, uint32_t length, - uint8_t end_flags) -{ - struct _dict_t *_new_node; - - vcd_assert (key != NULL); - vcd_assert (length > 0); - - if ((sector =_vcd_salloc (obj->iso_bitmap, sector, length)) == SECTOR_NIL) - vcd_assert_not_reached (); - - _new_node = _vcd_malloc (sizeof (struct _dict_t)); - - _new_node->key = strdup (key); - _new_node->sector = sector; - _new_node->length = length; - _new_node->buf = _vcd_malloc (length * ISO_BLOCKSIZE); - _new_node->flags = end_flags; - - _cdio_list_prepend (obj->buffer_dict_list, _new_node); -} - -static -int _dict_key_cmp (struct _dict_t *a, char *b) -{ - vcd_assert (a != NULL); - vcd_assert (b != NULL); - - return !strcmp (a->key, b); -} - -static -int _dict_sector_cmp (struct _dict_t *a, uint32_t *b) -{ - vcd_assert (a != NULL); - vcd_assert (b != NULL); - - return (a->sector <= *b && (*b - a->sector) < a->length); -} - -static const struct _dict_t * -_dict_get_bykey (VcdObj *obj, const char key[]) -{ - CdioListNode *node; - - vcd_assert (obj != NULL); - vcd_assert (key != NULL); - - node = _cdio_list_find (obj->buffer_dict_list, - (_cdio_list_iterfunc) _dict_key_cmp, - (char *) key); - - if (node) - return _cdio_list_node_data (node); - - return NULL; -} - -static const struct _dict_t * -_dict_get_bysector (VcdObj *obj, uint32_t sector) -{ - CdioListNode *node; - - vcd_assert (obj != NULL); - vcd_assert (sector != SECTOR_NIL); - - node = _cdio_list_find (obj->buffer_dict_list, - (_cdio_list_iterfunc) _dict_sector_cmp, - §or); - - if (node) - return _cdio_list_node_data (node); - - return NULL; -} - -static uint8_t -_dict_get_sector_flags (VcdObj *obj, uint32_t sector) -{ - const struct _dict_t *p; - - vcd_assert (sector != SECTOR_NIL); - - p = _dict_get_bysector (obj, sector); - - if (p) - return (((sector - p->sector)+1 == p->length) - ? p->flags : 0); - - return 0; -} - -static void * -_dict_get_sector (VcdObj *obj, uint32_t sector) -{ - const struct _dict_t *p; - - vcd_assert (sector != SECTOR_NIL); - - p = _dict_get_bysector (obj, sector); - - if (p) - return ((char *)p->buf) + ((sector - p->sector) * ISO_BLOCKSIZE); - - return NULL; -} - -static void -_dict_clean (VcdObj *obj) -{ - CdioListNode *node; - - while ((node = _cdio_list_begin (obj->buffer_dict_list))) - { - struct _dict_t *p = _cdio_list_node_data (node); - - free (p->key); - free (p->buf); - - _cdio_list_node_free (node, true); - } -} - -#endif /* __VCD_DICT_H__ */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/directory.c --- a/contrib/libvcd/directory.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,507 +0,0 @@ -/* - $Id: directory.c,v 1.4 2006/09/26 19:26:57 dgp85 Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdlib.h> -#include <string.h> - -/* Public headers */ -#include <cdio/bytesex.h> -#include <cdio/iso9660.h> -#include <libvcd/logging.h> - -/* Private headers */ -#include "vcd_assert.h" -#include "directory.h" -#include "util.h" - -static const char _rcsid[] = "$Id: directory.c,v 1.4 2006/09/26 19:26:57 dgp85 Exp $"; - -/* CD-ROM XA */ - -/* tree data structure */ - -typedef struct -{ - bool is_dir; - char *name; - uint16_t version; - uint16_t xa_attributes; - uint8_t xa_filenum; - uint32_t extent; - uint32_t size; - unsigned pt_id; -} data_t; - -typedef VcdTreeNode VcdDirNode; - -#define EXTENT(anode) (DATAP(anode)->extent) -#define SIZE(anode) (DATAP(anode)->size) -#define PT_ID(anode) (DATAP(anode)->pt_id) - -#define DATAP(anode) ((data_t*) _vcd_tree_node_data (anode)) - -/* important date to celebrate (for me at least =) - -- until user customization is implemented... */ -static const time_t _vcd_time = 269222400L; - -/* implementation */ - -static void -traverse_get_dirsizes(VcdDirNode *node, void *data) -{ - data_t *d = DATAP(node); - unsigned *sum = data; - - if (d->is_dir) - { - vcd_assert (d->size % ISO_BLOCKSIZE == 0); - - *sum += (d->size / ISO_BLOCKSIZE); - } -} - -static unsigned -get_dirsizes (VcdDirNode* dirnode) -{ - unsigned result = 0; - - _vcd_tree_node_traverse (dirnode, traverse_get_dirsizes, &result); - - return result; -} - -static void -traverse_update_dirextents (VcdDirNode *dirnode, void *data) -{ - data_t *d = DATAP(dirnode); - - if (d->is_dir) - { - VcdDirNode* child; - unsigned dirextent = d->extent; - - vcd_assert (d->size % ISO_BLOCKSIZE == 0); - - dirextent += d->size / ISO_BLOCKSIZE; - - _VCD_CHILD_FOREACH (child, dirnode) - { - data_t *d = DATAP(child); - - vcd_assert (d != NULL); - - if (d->is_dir) - { - d->extent = dirextent; - dirextent += get_dirsizes (child); - } - } - } -} - -static void -update_dirextents (VcdDirectory *dir, uint32_t extent) [... 255 lines omitted ...] - -static void -traverse_vcd_directory_dump_entries (VcdDirNode *node, void *data) -{ - data_t *d = DATAP(node); - iso9660_xa_t xa_su; - - uint32_t root_extent = EXTENT(_vcd_tree_node_root (node)); - - uint32_t parent_extent = - (!_vcd_tree_node_is_root (node)) - ? EXTENT(_vcd_tree_node_parent (node)) - : EXTENT(node); - - uint32_t parent_size = - (!_vcd_tree_node_is_root (node)) - ? SIZE(_vcd_tree_node_parent (node)) - : SIZE(node); - - void *dirbufp = (char*) data + ISO_BLOCKSIZE * (parent_extent - root_extent); - - iso9660_xa_init (&xa_su, 0, 0, d->xa_attributes, d->xa_filenum); - - if (!_vcd_tree_node_is_root (node)) - { - char *pathname = (d->is_dir - ? strdup (d->name) - : iso9660_pathname_isofy (d->name, d->version)); - - iso9660_dir_add_entry_su (dirbufp, pathname, d->extent, d->size, - d->is_dir ? ISO_DIRECTORY : ISO_FILE, - &xa_su, sizeof (xa_su), - &_vcd_time); - - free (pathname); - } - - /* if this is a directory, create the new directory node */ - if (d->is_dir) - { - dirbufp = (char*)data + ISO_BLOCKSIZE * (d->extent - root_extent); - - iso9660_dir_init_new_su (dirbufp, - d->extent, d->size, &xa_su, sizeof (xa_su), - parent_extent, parent_size, &xa_su, - sizeof (xa_su), &_vcd_time); - } -} - -void -_vcd_directory_dump_entries (VcdDirectory *dir, void *buf, uint32_t extent) -{ - vcd_assert (dir != NULL); - - update_sizes (dir); /* better call it one time more than one less */ - update_dirextents (dir, extent); - - _vcd_tree_node_traverse (_vcd_tree_root (dir), - traverse_vcd_directory_dump_entries, buf); -} - -typedef struct -{ - void *ptl; - void *ptm; -} _vcd_directory_dump_pathtables_t; - -static void -_dump_pathtables_helper (_vcd_directory_dump_pathtables_t *args, - data_t *d, uint16_t parent_id) -{ - uint16_t id_l, id_m; - - vcd_assert (args != NULL); - vcd_assert (d != NULL); - - vcd_assert (d->is_dir); - - id_l = iso9660_pathtable_l_add_entry (args->ptl, d->name, d->extent, - parent_id); - - id_m = iso9660_pathtable_m_add_entry (args->ptm, d->name, d->extent, - parent_id); - - vcd_assert (id_l == id_m); - - d->pt_id = id_m; -} - -static void -traverse_vcd_directory_dump_pathtables (VcdDirNode *node, void *data) -{ - _vcd_directory_dump_pathtables_t *args = data; - - if (DATAP (node)->is_dir) - { - VcdDirNode* parent = _vcd_tree_node_parent (node); - uint16_t parent_id = parent ? PT_ID (parent) : 1; - - _dump_pathtables_helper (args, DATAP (node), parent_id); - } -} - -void -_vcd_directory_dump_pathtables (VcdDirectory *dir, void *ptl, void *ptm) -{ - _vcd_directory_dump_pathtables_t args; - - vcd_assert (dir != NULL); - - iso9660_pathtable_init (ptl); - iso9660_pathtable_init (ptm); - - args.ptl = ptl; - args.ptm = ptm; - - _vcd_tree_node_traverse_bf (_vcd_tree_root (dir), - traverse_vcd_directory_dump_pathtables, &args); -} - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/directory.h --- a/contrib/libvcd/directory.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -/* - $Id: directory.h,v 1.2 2004/04/11 12:20:32 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 _DIRECTORY_H_ -#define _DIRECTORY_H_ - -#include <libvcd/types.h> - -/* Private headers */ -#include "data_structures.h" - -/* opaque data structure representing the ISO directory tree */ -typedef VcdTree VcdDirectory; - -VcdDirectory * -_vcd_directory_new (void); - -void -_vcd_directory_destroy (VcdDirectory *dir); - -int -_vcd_directory_mkdir (VcdDirectory *dir, const char pathname[]); - -int -_vcd_directory_mkfile (VcdDirectory *dir, const char pathname[], - uint32_t start, uint32_t size, - bool form2_flag, uint8_t filenum); - -uint32_t -_vcd_directory_get_size (VcdDirectory *dir); - -void -_vcd_directory_dump_entries (VcdDirectory *dir, void *buf, uint32_t extent); - -void -_vcd_directory_dump_pathtables (VcdDirectory *dir, void *ptl, void *ptm); - -#endif /* _DIRECTORY_H_ */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/files.c --- a/contrib/libvcd/files.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1020 +0,0 @@ -/* - $Id: files.c,v 1.4 2006/09/26 21:18:18 dgp85 Exp $ - - Copyright (C) 2000, 2004 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <string.h> -#include <stdlib.h> -#include <stddef.h> -#include <math.h> - -#include <cdio/cdio.h> -#include <cdio/bytesex.h> -#include <cdio/util.h> - -/* Public headers */ -#include <libvcd/files.h> -#include <libvcd/types.h> -#include <libvcd/logging.h> - -/* FIXME! Make this local */ -#include <libvcd/files_private.h> - -/* Private headers */ -#include "vcd_assert.h" -#include "mpeg_stream.h" -#include "obj.h" -#include "pbc.h" -#include "util.h" - -static const char _rcsid[] = "$Id: files.c,v 1.4 2006/09/26 21:18:18 dgp85 Exp $"; - -inline static bool -_pal_p (const struct vcd_mpeg_stream_vid_info *_info) -{ - return (_info->vsize == 288 || _info->vsize == 576); -} - -static int -_derive_vid_type (const struct vcd_mpeg_stream_info *_info, bool svcd) -{ - if (_info->shdr[0].seen) - return _pal_p (&_info->shdr[0]) ? 0x7 : 0x3; - - if (_info->shdr[2].seen) - { - if (svcd) - vcd_warn ("stream with 0xE2 still stream id not allowed for IEC62107 compliant SVCDs"); - return _pal_p (&_info->shdr[2]) ? 0x6 : 0x2; - } - - if (_info->shdr[1].seen) - return _pal_p (&_info->shdr[1]) ? 0x5 : 0x1; - - return 0; -} - -static int -_derive_ogt_type (const struct vcd_mpeg_stream_info *_info, bool svcd) -{ - - if (!svcd) - return 0; - - if ((_info->ogt[3] || _info->ogt[2]) - && _info->ogt[1] && _info->ogt[0]) - return 0x3; - - if (_info->ogt[1] && _info->ogt[0]) - return 0x2; - - if (_info->ogt[0]) - return 0x1; - - vcd_debug ("OGT streams available: %d %d %d %d", - _info->ogt[0], _info->ogt[1], - _info->ogt[2], _info->ogt[3]); - - return 0x0; -} - -static int -_derive_aud_type (const struct vcd_mpeg_stream_info *_info, bool svcd) -{ - if (!_info->ahdr[0].seen) - return 0; /* no MPEG audio */ - - if (svcd) - { - if (_info->ahdr[2].seen) - return 3; /* MC */ - - if (_info->ahdr[1].seen) - return 2; /* 2 streams */ - - return 1; /* just one stream */ - } - else - switch (_info->ahdr[0].mode) - { - case MPEG_SINGLE_CHANNEL: - return 1; - break; - - case MPEG_STEREO: - case MPEG_JOINT_STEREO: [... 768 lines omitted ...] - - n = 0; - _CDIO_LIST_FOREACH (node, obj->mpeg_track_list) - { - const mpeg_track_t *track = _cdio_list_node_data (node); - uint32_t *_table; - const unsigned scanpoints = _get_scandata_count (track->info); - const unsigned _table_ofs = - (_tmp_offset * sizeof (msf_t)) + _begin_offset; - unsigned point; - - scandata_dat3->mpeg_track_offsets[n].track_num = n + 2; - scandata_dat3->mpeg_track_offsets[n].table_offset = uint16_to_be (_table_ofs); - - _table = _get_scandata_table (track->info); - - for (point = 0; point < scanpoints; point++) - { - uint32_t lsect = _table[point]; - - lsect += obj->iso_size; - lsect += track->relative_start_extent; - lsect += obj->track_front_margin; - - /* vcd_debug ("lsect %d %d", point, lsect); */ - - cdio_lba_to_msf(cdio_lsn_to_lba(lsect), - &(scandata_dat4->scandata_table[_tmp_offset + point])); - } - - free (_table); - - _tmp_offset += scanpoints; - n++; - } - - /* struct 4 */ - - -} - -vcd_type_t -vcd_files_info_detect_type (const void *info_buf) -{ - const InfoVcd_t *_info = info_buf; - vcd_type_t _type = VCD_TYPE_INVALID; - - vcd_assert (info_buf != NULL); - - if (!strncmp (_info->ID, INFO_ID_VCD, sizeof (_info->ID))) - switch (_info->version) - { - case INFO_VERSION_VCD2: - if (_info->sys_prof_tag != INFO_SPTAG_VCD2) - vcd_warn ("INFO.VCD: unexpected system profile tag %d encountered", - _info->version); - _type = VCD_TYPE_VCD2; - break; - - case INFO_VERSION_VCD: - /* case INFO_VERSION_VCD11: */ - switch (_info->sys_prof_tag) - { - case INFO_SPTAG_VCD: - _type = VCD_TYPE_VCD; - break; - case INFO_SPTAG_VCD11: - _type = VCD_TYPE_VCD11; - break; - default: - vcd_warn ("INFO.VCD: unexpected system profile tag %d " - "encountered, assuming VCD 1.1", _info->sys_prof_tag); - break; - } - break; - - default: - vcd_warn ("unexpected VCD version %d encountered -- assuming VCD 2.0", - _info->version); - break; - } - else if (!strncmp (_info->ID, INFO_ID_SVCD, sizeof (_info->ID))) - switch (_info->version) - { - case INFO_VERSION_SVCD: - if (_info->sys_prof_tag != INFO_SPTAG_SVCD) - vcd_warn ("INFO.SVD: unexpected system profile tag value %d " - "-- assuming SVCD", _info->sys_prof_tag); - _type = VCD_TYPE_SVCD; - break; - - default: - vcd_warn ("INFO.SVD: unexpected version value %d seen " - " -- still assuming SVCD", _info->version); - _type = VCD_TYPE_SVCD; - break; - } - else if (!strncmp (_info->ID, INFO_ID_HQVCD, sizeof (_info->ID))) - switch (_info->version) - { - case INFO_VERSION_HQVCD: - if (_info->sys_prof_tag != INFO_SPTAG_HQVCD) - vcd_warn ("INFO.SVD: unexpected system profile tag value -- assuming hqvcd"); - _type = VCD_TYPE_HQVCD; - break; - - default: - vcd_warn ("INFO.SVD: unexpected version value %d seen " - "-- still assuming HQVCD", _info->version); - _type = VCD_TYPE_HQVCD; - break; - } - else - vcd_warn ("INFO.SVD: signature not found"); - - return _type; -} - -/* eof */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/image.c --- a/contrib/libvcd/image.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -/* - $Id: image.c,v 1.3 2005/01/01 02:43:59 rockyb Exp $ - - Copyright (C) 2001 Herbert Valerio Riedel <hv...@gn...> - 2002 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <cdio/cdio.h> - -/* Public headers */ -#include <libvcd/sector.h> -#include <cdio/iso9660.h> - -/* Private headers */ -#include "vcd_assert.h" -#include "image_sink.h" -#include "util.h" - -static const char _rcsid[] = "$Id: image.c,v 1.3 2005/01/01 02:43:59 rockyb Exp $"; - -/* - * VcdImageSink routines next. - */ - -struct _VcdImageSink { - void *user_data; - vcd_image_sink_funcs op; -}; - -VcdImageSink * -vcd_image_sink_new (void *user_data, const vcd_image_sink_funcs *funcs) -{ - VcdImageSink *new_obj; - - new_obj = _vcd_malloc (sizeof (VcdImageSink)); - - new_obj->user_data = user_data; - new_obj->op = *funcs; - - return new_obj; -} - -void -vcd_image_sink_destroy (VcdImageSink *obj) -{ - vcd_assert (obj != NULL); - - obj->op.free (obj->user_data); - free (obj); -} - -int -vcd_image_sink_set_cuesheet (VcdImageSink *obj, const CdioList *vcd_cue_list) -{ - vcd_assert (obj != NULL); - - return obj->op.set_cuesheet (obj->user_data, vcd_cue_list); -} - -int -vcd_image_sink_write (VcdImageSink *obj, void *buf, lsn_t lsn) -{ - vcd_assert (obj != NULL); - - return obj->op.write (obj->user_data, buf, lsn); -} - -/*! - Set the arg "key" with "value" in the target device. -*/ - -int -vcd_image_sink_set_arg (VcdImageSink *obj, const char key[], - const char value[]) -{ - vcd_assert (obj != NULL); - vcd_assert (obj->op.set_arg != NULL); - vcd_assert (key != NULL); - - return obj->op.set_arg (obj->user_data, key, value); -} - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/image_bincue.c --- a/contrib/libvcd/image_bincue.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,259 +0,0 @@ -/* - $Id: image_bincue.c,v 1.3 2005/01/01 02:43:59 rockyb Exp $ - - Copyright (C) 2001, 2004 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - - -#include <stdlib.h> -#include <string.h> - -#include <cdio/cdio.h> -#include <cdio/bytesex.h> -#include <cdio/iso9660.h> - -/* Public headers */ -#include <libvcd/sector.h> -#include <libvcd/logging.h> - -/* Private headers */ -#include "vcd_assert.h" -#include "image_sink.h" -#include "stream_stdio.h" -#include "util.h" - -static const char _rcsid[] = "$Id: image_bincue.c,v 1.3 2005/01/01 02:43:59 rockyb Exp $"; - -/* reader */ - -#define DEFAULT_VCD_DEVICE "videocd.bin" - -/**************************************************************************** - * writer - */ - -typedef struct { - bool sector_2336_flag; - VcdDataSink *bin_snk; - VcdDataSink *cue_snk; - char *bin_fname; - char *cue_fname; - - bool init; -} _img_bincue_snk_t; - -static void -_sink_init (_img_bincue_snk_t *_obj) -{ - if (_obj->init) - return; - - if (!(_obj->bin_snk = vcd_data_sink_new_stdio (_obj->bin_fname))) - vcd_error ("init failed"); - - if (!(_obj->cue_snk = vcd_data_sink_new_stdio (_obj->cue_fname))) - vcd_error ("init failed"); - - _obj->init = true; -} - -static void -_sink_free (void *user_data) -{ - _img_bincue_snk_t *_obj = user_data; - - vcd_data_sink_destroy (_obj->bin_snk); - vcd_data_sink_destroy (_obj->cue_snk); - free (_obj->bin_fname); - free (_obj->cue_fname); - free (_obj); -} - -static int -_set_cuesheet (void *user_data, const CdioList *vcd_cue_list) -{ - _img_bincue_snk_t *_obj = user_data; - CdioListNode *node; - int track_no, index_no; - const vcd_cue_t *_last_cue = 0; - - _sink_init (_obj); - - vcd_data_sink_printf (_obj->cue_snk, "FILE \"%s\" BINARY\r\n", - _obj->bin_fname); - - track_no = 0; - index_no = 0; - _CDIO_LIST_FOREACH (node, (CdioList *) vcd_cue_list) - { - const vcd_cue_t *_cue = _cdio_list_node_data (node); - char *psz_msf; - - msf_t _msf = { 0, 0, 0 }; - - switch (_cue->type) - { - case VCD_CUE_TRACK_START: - track_no++; - index_no = 0; - - vcd_data_sink_printf (_obj->cue_snk, - " TRACK %2.2d MODE2/%d\r\n" - " FLAGS DCP\r\n", - track_no, (_obj->sector_2336_flag ? 2336 : 2352)); - - if (_last_cue && _last_cue->type == VCD_CUE_PREGAP_START) - { [... 7 lines omitted ...] - } - - index_no++; - - cdio_lba_to_msf (_cue->lsn, &_msf); - psz_msf = cdio_msf_to_str(&_msf); - - vcd_data_sink_printf (_obj->cue_snk, - " INDEX %2.2d %s\r\n", - index_no, psz_msf); - free(psz_msf); - break; - - case VCD_CUE_PREGAP_START: - /* handled in next iteration */ - break; - - case VCD_CUE_SUBINDEX: - vcd_assert (_last_cue != 0); - - index_no++; - vcd_assert (index_no <= CDIO_CD_MAX_TRACKS); - - cdio_lba_to_msf (_cue->lsn, &_msf); - psz_msf = cdio_msf_to_str(&_msf); - - vcd_data_sink_printf (_obj->cue_snk, - " INDEX %2.2d %s\r\n", - index_no, psz_msf); - free(psz_msf); - break; - - case VCD_CUE_END: - vcd_data_sink_close (_obj->cue_snk); - return 0; - break; - - case VCD_CUE_LEADIN: - break; - } - - _last_cue = _cue; - } - - vcd_assert_not_reached (); - - return -1; -} - -static int -_vcd_image_bincue_write (void *user_data, const void *data, lsn_t lsn) -{ - const char *buf = data; - _img_bincue_snk_t *_obj = user_data; - long offset = lsn; - - _sink_init (_obj); - - offset *= _obj->sector_2336_flag ? M2RAW_SECTOR_SIZE : CDIO_CD_FRAMESIZE_RAW; - - vcd_data_sink_seek(_obj->bin_snk, offset); - - if (_obj->sector_2336_flag) - vcd_data_sink_write(_obj->bin_snk, buf + 12 + 4, M2RAW_SECTOR_SIZE, 1); - else - vcd_data_sink_write(_obj->bin_snk, buf, CDIO_CD_FRAMESIZE_RAW, 1); - - return 0; -} - -static int -_sink_set_arg (void *user_data, const char key[], const char value[]) -{ - _img_bincue_snk_t *_obj = user_data; - - if (!strcmp (key, "bin")) - { - free (_obj->bin_fname); - - if (!value) - return -2; - - _obj->bin_fname = strdup (value); - } - else if (!strcmp (key, "cue")) - { - free (_obj->cue_fname); - - if (!value) - return -2; - - _obj->cue_fname = strdup (value); - } - else if (!strcmp (key, "sector")) - { - if (!strcmp (value, "2336")) - _obj->sector_2336_flag = true; - else if (!strcmp (value, "2352")) - _obj->sector_2336_flag = false; - else - return -2; - } - else - return -1; - - return 0; -} - -VcdImageSink * -vcd_image_sink_new_bincue (void) -{ - _img_bincue_snk_t *_data; - - vcd_image_sink_funcs _funcs = { - .set_cuesheet = _set_cuesheet, - .write = _vcd_image_bincue_write, - .free = _sink_free, - .set_arg = _sink_set_arg - }; - - _data = _vcd_malloc (sizeof (_img_bincue_snk_t)); - - _data->bin_fname = strdup ("videocd.bin"); - _data->cue_fname = strdup ("videocd.cue"); - - return vcd_image_sink_new (_data, &_funcs); -} - diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/image_cdrdao.c --- a/contrib/libvcd/image_cdrdao.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,313 +0,0 @@ -/* - $Id: image_cdrdao.c,v 1.3 2005/01/01 02:43:59 rockyb Exp $ - - Copyright (C) 2001 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -/* Public headers */ -#include <cdio/iso9660.h> -#include <cdio/bytesex.h> -#include <libvcd/sector.h> -#include <libvcd/logging.h> - -/* Private headers */ -#include "vcd_assert.h" -#include "image_sink.h" -#include "stream_stdio.h" -#include "util.h" -#include "vcd.h" - -static const char _rcsid[] = "$Id: image_cdrdao.c,v 1.3 2005/01/01 02:43:59 rockyb Exp $"; - -/* reader */ - -/**************************************************************************** - * writer - */ - -typedef struct { - bool sector_2336_flag; - char *toc_fname; - char *img_base; - - VcdDataSink *last_bin_snk; - int last_snk_idx; - bool last_pause; - - CdioList *vcd_cue_list; -} _img_cdrdao_snk_t; - -static void -_sink_free (void *user_data) -{ - _img_cdrdao_snk_t *_obj = user_data; - - /* fixme -- destroy cue list */ - - vcd_data_sink_destroy (_obj->last_bin_snk); - free (_obj->toc_fname); - free (_obj->img_base); - free (_obj); -} - -static int -_set_cuesheet (void *user_data, const CdioList *vcd_cue_list) -{ - _img_cdrdao_snk_t *_obj = user_data; - VcdDataSink *toc_snk = vcd_data_sink_new_stdio (_obj->toc_fname); - - CdioListNode *node; - - int track_no, index_no; - const vcd_cue_t *_last_cue = 0; - unsigned last_track_lsn = 0; - - vcd_data_sink_printf (toc_snk, - "// CDRDAO TOC\n" - "// generated by %s\n\n" - "CD_ROM_XA\n", vcd_version_string (false)); - - _obj->vcd_cue_list = _cdio_list_new (); - - index_no = track_no = 0; - _CDIO_LIST_FOREACH (node, (CdioList *) vcd_cue_list) - { - const vcd_cue_t *_cue = _cdio_list_node_data (node); - - /* copy cue list while traversing */ - { - vcd_cue_t *_cue2 = _vcd_malloc (sizeof (vcd_cue_t)); - *_cue2 = *_cue; - _cdio_list_append (_obj->vcd_cue_list, _cue2); - } - - switch (_cue->type) - { - case VCD_CUE_TRACK_START: - track_no++; - index_no = 0; - - last_track_lsn = _cue->lsn; - - vcd_data_sink_printf (toc_snk, - "\n// Track %d\n" - "TRACK %s\n COPY\n", - track_no, - (_obj->sector_2336_flag ? "MODE2_FORM_MIX" : "MODE2_RAW")); - - if (_last_cue && _last_cue->type == VCD_CUE_PREGAP_START) - vcd_data_sink_printf (toc_snk, - " DATAFILE \"%s_%.2d_pregap.img\"\n" - " START\n", - _obj->img_base, track_no); [... 61 lines omitted ...] - - int num = 0, in_track = 0; - _CDIO_LIST_FOREACH (node, _obj->vcd_cue_list) - { - const vcd_cue_t *_cue = _cdio_list_node_data (node); - - switch (_cue->type) - { - case VCD_CUE_PREGAP_START: - case VCD_CUE_END: - case VCD_CUE_TRACK_START: - if (_cue->lsn && IN (lsn, _last, _cue->lsn - 1)) - { - vcd_assert (in_track == 0); - in_track = num; - _ofs = _last; - _pregap = _lpregap; - } - - _last = _cue->lsn; - _lpregap = (_cue->type == VCD_CUE_PREGAP_START); - - if (_cue->type == VCD_CUE_TRACK_START) - num++; - break; - - default: - /* noop */ - break; - } - } - - vcd_assert (in_track != 0); - vcd_assert (_obj->last_snk_idx <= in_track); - - if (_obj->last_snk_idx != in_track - || _obj->last_pause != _pregap) - { - char buf[4096] = { 0, }; - - if (_obj->last_bin_snk) - vcd_data_sink_destroy (_obj->last_bin_snk); - - snprintf (buf, sizeof (buf), - "%s_%.2d%s.img", - _obj->img_base, - (_pregap ? in_track + 1 : in_track), - (_pregap ? "_pregap" : "")); - - _obj->last_bin_snk = vcd_data_sink_new_stdio (buf); - _obj->last_snk_idx = in_track; - _obj->last_pause = _pregap; - } - - vcd_assert (lsn >= _ofs); - offset = lsn - _ofs; - } - - offset *= _obj->sector_2336_flag ? M2RAW_SECTOR_SIZE : CDIO_CD_FRAMESIZE_RAW; - - vcd_data_sink_seek(_obj->last_bin_snk, offset); - - if (_obj->sector_2336_flag) - vcd_data_sink_write(_obj->last_bin_snk, buf + 12 + 4, M2RAW_SECTOR_SIZE, 1); - else - vcd_data_sink_write(_obj->last_bin_snk, buf, CDIO_CD_FRAMESIZE_RAW, 1); - - return 0; -} - -static int -_sink_set_arg (void *user_data, const char key[], const char value[]) -{ - _img_cdrdao_snk_t *_obj = user_data; - - if (!strcmp (key, "toc")) - { - free (_obj->toc_fname); - - if (!value) - return -2; - - _obj->toc_fname = strdup (value); - } - else if (!strcmp (key, "img_base")) - { - free (_obj->img_base); - - if (!value) - return -2; - - _obj->img_base = strdup (value); - } - else if (!strcmp (key, "sector")) - { - if (!strcmp (value, "2336")) - _obj->sector_2336_flag = true; - else if (!strcmp (value, "2352")) - _obj->sector_2336_flag = false; - else - return -2; - } - else - return -1; - - return 0; -} - -VcdImageSink * -vcd_image_sink_new_cdrdao (void) -{ - _img_cdrdao_snk_t *_data; - - vcd_image_sink_funcs _funcs = { - .set_cuesheet = _set_cuesheet, - .write = _vcd_image_cdrdao_write, - .free = _sink_free, - .set_arg = _sink_set_arg - }; - - _data = _vcd_malloc (sizeof (_img_cdrdao_snk_t)); - - _data->toc_fname = strdup ("videocd.toc"); - _data->img_base = strdup ("videocd"); - - return vcd_image_sink_new (_data, &_funcs); -} - diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/image_nrg.c --- a/contrib/libvcd/image_nrg.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,352 +0,0 @@ -/* - $Id: image_nrg.c,v 1.4 2006/09/27 05:41:40 dgp85 Exp $ - - Copyright (C) 2001, 2003, 2004 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -/*! This code implements low-level access functions for Nero's native - CD-image format residing inside a disk file (*.nrg). -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include <cdio/cdio.h> -#include <cdio/bytesex.h> -#include <cdio/iso9660.h> - -/* Public headers */ -#include <libvcd/sector.h> -#include <libvcd/logging.h> - -/* Private headers */ -#include "vcd_assert.h" -#include "image_sink.h" -#include "stream_stdio.h" -#include "util.h" - -static const char _rcsid[] = "$Id: image_nrg.c,v 1.4 2006/09/27 05:41:40 dgp85 Exp $"; - -/* structures used */ - -/* this ugly image format is typical for lazy win32 programmers... at - least structure were set big endian, so at reverse - engineering wasn't such a big headache... */ - -PRAGMA_BEGIN_PACKED -typedef struct { - uint32_t start GNUC_PACKED; - uint32_t length GNUC_PACKED; - uint32_t type GNUC_PACKED; /* only 0x3 seen so far... - -> MIXED_MODE2 2336 blocksize */ - uint32_t start_lsn GNUC_PACKED; /* does not include any pre-gaps! */ - uint32_t _unknown GNUC_PACKED; /* wtf is this for? -- always zero... */ -} _etnf_array_t; - -/* finally they realized that 32bit offsets are a bit outdated for IA64 *eg* */ -typedef struct { - uint64_t start GNUC_PACKED; - uint64_t length GNUC_PACKED; - uint32_t type GNUC_PACKED; - uint32_t start_lsn GNUC_PACKED; - uint64_t _unknown GNUC_PACKED; /* wtf is this for? -- always zero... */ -} _etn2_array_t; - -typedef struct { - uint8_t _unknown1 GNUC_PACKED; /* 0x41 == 'A' */ - uint8_t track GNUC_PACKED; /* binary or BCD?? */ - uint8_t index GNUC_PACKED; /* makes 0->1 transitions */ - uint8_t _unknown2 GNUC_PACKED; /* ?? */ - uint32_t lsn GNUC_PACKED; -} _cuex_array_t; - -typedef struct { - uint32_t id GNUC_PACKED; - uint32_t len GNUC_PACKED; - char data[EMPTY_ARRAY_SIZE] GNUC_PACKED; -} _chunk_t; - -PRAGMA_END_PACKED - -/* to be converted into BE */ -#define CUEX_ID 0x43554558 -#define CUES_ID 0x43554553 -#define DAOX_ID 0x44414f58 -#define DAOI_ID 0x44414f49 -#define END1_ID 0x454e4421 -#define ETN2_ID 0x45544e32 -#define ETNF_ID 0x45544e46 -#define NER5_ID 0x4e455235 -#define NERO_ID 0x4e45524f -#define SINF_ID 0x53494e46 - -/**************************************************************************** - * writer - */ - -typedef struct { - VcdDataSink *nrg_snk; - char *nrg_fname; - - CdioList *vcd_cue_list; - int tracks; - uint32_t cue_end_lsn; - - bool init; -} _img_nrg_snk_t; - -static void -_sink_init (_img_nrg_snk_t *_obj) -{ - if (_obj->init) - return; - - if (!(_obj->nrg_snk = vcd_data_sink_new_stdio (_obj->nrg_fname))) - vcd_error ("init failed"); [... 100 lines omitted ...] -} - -static int -_write_tail (_img_nrg_snk_t *_obj, uint32_t offset) -{ - CdioListNode *node; - int _size; - _chunk_t _chunk; - - vcd_data_sink_seek (_obj->nrg_snk, offset); - - _size = _obj->tracks * sizeof (_etnf_array_t); - _chunk.id = UINT32_TO_BE (ETNF_ID); - _chunk.len = uint32_to_be (_size); - - vcd_data_sink_write (_obj->nrg_snk, &_chunk, sizeof (_chunk_t), 1); - - _CDIO_LIST_FOREACH (node, _obj->vcd_cue_list) - { - vcd_cue_t *_cue = _cdio_list_node_data (node); - - if (_cue->type == VCD_CUE_TRACK_START) - { - vcd_cue_t *_cue2 = - _cdio_list_node_data (_cdio_list_node_next (node)); - - _etnf_array_t _etnf = { 0, }; - - _etnf.type = UINT32_TO_BE (0x3); - _etnf.start_lsn = uint32_to_be (_map (_obj, _cue->lsn)); - _etnf.start = uint32_to_be (_map (_obj, _cue->lsn) * M2RAW_SECTOR_SIZE); - - _etnf.length = uint32_to_be ((_cue2->lsn - _cue->lsn) * M2RAW_SECTOR_SIZE); - - vcd_data_sink_write (_obj->nrg_snk, &_etnf, sizeof (_etnf_array_t), 1); - } - - } - - { - uint32_t tracks = uint32_to_be (_obj->tracks); - - _chunk.id = UINT32_TO_BE (SINF_ID); - _chunk.len = UINT32_TO_BE (sizeof (uint32_t)); - vcd_data_sink_write (_obj->nrg_snk, &_chunk, sizeof (_chunk_t), 1); - - vcd_data_sink_write (_obj->nrg_snk, &tracks, sizeof (uint32_t), 1); - } - - _chunk.id = UINT32_TO_BE (END1_ID); - _chunk.len = UINT32_TO_BE (0); - vcd_data_sink_write (_obj->nrg_snk, &_chunk, sizeof (_chunk_t), 1); - - _chunk.id = UINT32_TO_BE (NERO_ID); - _chunk.len = uint32_to_be (offset); - vcd_data_sink_write (_obj->nrg_snk, &_chunk, sizeof (_chunk_t), 1); - - return 0; -} - -static int -_vcd_image_nrg_write (void *user_data, const void *data, lsn_t lsn) -{ - const char *buf = data; - _img_nrg_snk_t *_obj = user_data; - uint32_t _lsn = _map (_obj, lsn); - - _sink_init (_obj); - - if (_lsn == -1) - { - /* vcd_debug ("ignoring %d", lsn); */ - return 0; - } - - vcd_data_sink_seek(_obj->nrg_snk, _lsn * M2RAW_SECTOR_SIZE); - vcd_data_sink_write(_obj->nrg_snk, buf + 12 + 4, M2RAW_SECTOR_SIZE, 1); - - if (_obj->cue_end_lsn - 1 == lsn) - { - vcd_debug ("ENDLSN reached! (%lu == %lu)", - (long unsigned int) lsn, (long unsigned int) _lsn); - return _write_tail (_obj, (_lsn + 1) * M2RAW_SECTOR_SIZE); - } - - return 0; -} - -static int -_sink_set_arg (void *user_data, const char key[], const char value[]) -{ - _img_nrg_snk_t *_obj = user_data; - - if (!strcmp (key, "nrg")) - { - free (_obj->nrg_fname); - - if (!value) - return -2; - - _obj->nrg_fname = strdup (value); - } - else - return -1; - - return 0; -} - -VcdImageSink * -vcd_image_sink_new_nrg (void) -{ - _img_nrg_snk_t *_data; - - vcd_image_sink_funcs _funcs = { - .set_cuesheet = _set_cuesheet, - .write = _vcd_image_nrg_write, - .free = _sink_free, - .set_arg = _sink_set_arg - }; - - _data = _vcd_malloc (sizeof (_img_nrg_snk_t)); - _data->nrg_fname = strdup ("videocd.nrg"); - - vcd_warn ("opening TAO NRG image for writing; TAO (S)VCD are NOT 100%% compliant!"); - - return vcd_image_sink_new (_data, &_funcs); -} - diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libvcd/image_sink.h --- a/contrib/libvcd/image_sink.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -/* - $Id: image_sink.h,v 1.3 2005/01/01 02:43:59 rockyb Exp $ - - Copyright (C) 2001 Herbert Valerio Riedel <hv...@gn...> - - 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 Licens... [truncated message content] |
From: <li...@yo...> - 2007-11-24 22:45:10
|
# [node c67926c9c2eb7158c6147bb763ecc008b6d3de02 part 6] diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/cdio/sector.h --- a/contrib/libcdio/cdio/sector.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,326 +0,0 @@ -/* - $Id: sector.h,v 1.3 2005/01/01 02:43:58 rockyb Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - Copyright (C) 2003, 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ -/*! - \file sector.h - \brief Things related to CD-ROM layout: tracks, sector sizes, MSFs, LBAs. - - A CD-ROM physical sector size is 2048, 2052, 2056, 2324, 2332, 2336, - 2340, or 2352 bytes long. - - Sector types of the standard CD-ROM data formats: - -\verbatim - format sector type user data size (bytes) - ----------------------------------------------------------------------------- - 1 (Red Book) CD-DA 2352 (CDIO_CD_FRAMESIZE_RAW) - 2 (Yellow Book) Mode1 Form1 2048 (CDIO_CD_FRAMESIZE) - 3 (Yellow Book) Mode1 Form2 2336 (M2RAW_SECTOR_SIZE) - 4 (Green Book) Mode2 Form1 2048 (CDIO_CD_FRAMESIZE) - 5 (Green Book) Mode2 Form2 2328 (2324+4 spare bytes) - - - The layout of the standard CD-ROM data formats: - ----------------------------------------------------------------------------- - - audio (red): | audio_sample_bytes | - | 2352 | - - - data (yellow, mode1): | sync - head - data - EDC - zero - ECC | - | 12 - 4 - 2048 - 4 - 8 - 276 | - - - data (yellow, mode2): | sync - head - data | - | 12 - 4 - 2336 | - - - XA data (green, mode2 form1): | sync - head - sub - data - EDC - ECC | - | 12 - 4 - 8 - 2048 - 4 - 276 | - - - XA data (green, mode2 form2): | sync - head - sub - data - Spare | - | 12 - 4 - 8 - 2324 - 4 | -\endverbatim - - -*/ - -#ifndef _CDIO_SECTOR_H_ -#define _CDIO_SECTOR_H_ - -#ifdef __cplusplus - extern "C" { -#endif - -#include <cdio/types.h> - -/*! track modes (Table 350) - reference: MMC-3 draft revsion - 10g -*/ -typedef enum { - AUDIO, /**< 2352 byte block length */ - MODE1, /**< 2048 byte block length */ - MODE1_RAW, /**< 2352 byte block length */ - MODE2, /**< 2336 byte block length */ - MODE2_FORM1, /**< 2048 byte block length */ - MODE2_FORM2, /**< 2324 byte block length */ - MODE2_FORM_MIX, /**< 2336 byte block length */ - MODE2_RAW /**< 2352 byte block length */ -} trackmode_t; - -/*! disc modes. The first combined from MMC-3 5.29.2.8 (Send CUESHEET) - and GNU/Linux /usr/include/linux/cdrom.h and we've added DVD. - */ -typedef enum { - CDIO_DISC_MODE_CD_DA, /**< CD-DA */ - CDIO_DISC_MODE_CD_DATA, /**< CD-ROM form 1 */ - CDIO_DISC_MODE_CD_XA, /**< CD-ROM XA form2 */ - CDIO_DISC_MODE_CD_MIXED, /**< Some combo of above. */ - CDIO_DISC_MODE_DVD_ROM, /**< DVD ROM (e.g. movies) */ - CDIO_DISC_MODE_DVD_RAM, /**< DVD-RAM */ - CDIO_DISC_MODE_DVD_R, /**< DVD-R */ - CDIO_DISC_MODE_DVD_RW, /**< DVD-RW */ - CDIO_DISC_MODE_DVD_PR, /**< DVD+R */ - CDIO_DISC_MODE_DVD_PRW, /**< DVD+RW */ - CDIO_DISC_MODE_DVD_OTHER, /**< Unknown/unclassified DVD type */ - CDIO_DISC_MODE_NO_INFO, - CDIO_DISC_MODE_ERROR -} discmode_t; - -/*! Information that can be obtained through a Read Subchannel - command. - */ -#define CDIO_SUBCHANNEL_SUBQ_DATA 0 -#define CDIO_SUBCHANNEL_CURRENT_POSITION 1 -#define CDIO_SUBCHANNEL_MEDIA_CATALOG 2 -#define CDIO_SUBCHANNEL_TRACK_ISRC 3 - -/*! track flags - * Q Sub-channel Control Field (4.2.3.3) - */ -typedef enum { - NONE = 0x00, /* no flags set */ - PRE_EMPHASIS = 0x01, /* audio track recorded with pre-emphasis */ - COPY_PERMITTED = 0x02, /* digital copy permitted */ - DATA = 0x04, /* data track */ - FOUR_CHANNEL_AUDIO = 0x08, /* 4 audio channels */ - SCMS = 0x10 /* SCMS (5.29.2.7) */ -} flag_t; - -#define CDIO_PREGAP_SECTORS 150 -#define CDIO_POSTGAP_SECTORS 150 [... 74 lines omitted ...] -/*! Smallest LSN in a CD */ -#define CDIO_CD_MIN_LSN -450150 - - -#define CDIO_CD_FRAMES_PER_MIN \ - (CDIO_CD_FRAMES_PER_SEC*CDIO_CD_SECS_PER_MIN) - -#define CDIO_CD_74MIN_SECTORS (UINT32_C(74)*CDIO_CD_FRAMES_PER_MIN) -#define CDIO_CD_80MIN_SECTORS (UINT32_C(80)*CDIO_CD_FRAMES_PER_MIN) -#define CDIO_CD_90MIN_SECTORS (UINT32_C(90)*CDIO_CD_FRAMES_PER_MIN) - -#define CDIO_CD_MAX_SECTORS \ - (UINT32_C(100)*CDIO_CD_FRAMES_PER_MIN-CDIO_PREGAP_SECTORS) - -#define msf_t_SIZEOF 3 - -/*! - Convert an LBA into a string representation of the MSF. - \warning cdio_lba_to_msf_str returns new allocated string */ -char *cdio_lba_to_msf_str (lba_t lba); - -/*! - Convert an MSF into a string representation of the MSF. - \warning cdio_msf_to_msf_str returns new allocated string */ -char *cdio_msf_to_str (const msf_t *msf); - -/*! - Convert an LBA into the corresponding LSN. -*/ -lba_t cdio_lba_to_lsn (lba_t lba); - -/*! - Convert an LBA into the corresponding MSF. -*/ -void cdio_lba_to_msf(lba_t lba, msf_t *msf); - -/*! - Convert an LSN into the corresponding LBA. - CDIO_INVALID_LBA is returned if there is an error. -*/ -lba_t cdio_lsn_to_lba (lsn_t lsn); - -/*! - Convert an LSN into the corresponding MSF. -*/ -void cdio_lsn_to_msf (lsn_t lsn, msf_t *msf); - -/*! - Convert a MSF into the corresponding LBA. - CDIO_INVALID_LBA is returned if there is an error. -*/ -lba_t cdio_msf_to_lba (const msf_t *msf); - -/*! - Convert a MSF into the corresponding LSN. - CDIO_INVALID_LSN is returned if there is an error. -*/ -lsn_t cdio_msf_to_lsn (const msf_t *msf); - -/*! - Convert a MSF - broken out as 3 integer components into the - corresponding LBA. - CDIO_INVALID_LBA is returned if there is an error. -*/ -lba_t cdio_msf3_to_lba (unsigned int minutes, unsigned int seconds, - unsigned int frames); - -/*! - Convert a string of the form MM:SS:FF into the corresponding LBA. - CDIO_INVALID_LBA is returned if there is an error. -*/ -lba_t cdio_mmssff_to_lba (const char *psz_mmssff); - -/*! - Return true if discmode is some sort of CD. -*/ -bool cdio_is_discmode_cdrom (discmode_t discmode); - -/*! - Return true if discmode is some sort of DVD. -*/ -bool cdio_is_discmode_dvd (discmode_t discmode); - - -#ifdef __cplusplus - } -#endif - -static inline bool discmode_is_cd(discmode_t discmode) -{ - switch (discmode) { - case CDIO_DISC_MODE_CD_DA: - case CDIO_DISC_MODE_CD_DATA: - case CDIO_DISC_MODE_CD_XA: - case CDIO_DISC_MODE_CD_MIXED: - return true; - default: - return false; - } -} - -static inline bool discmode_is_dvd(discmode_t discmode) -{ - switch (discmode) { - case CDIO_DISC_MODE_DVD_ROM: - case CDIO_DISC_MODE_DVD_RAM: - case CDIO_DISC_MODE_DVD_R: - case CDIO_DISC_MODE_DVD_RW: - case CDIO_DISC_MODE_DVD_PR: - case CDIO_DISC_MODE_DVD_PRW: - case CDIO_DISC_MODE_DVD_OTHER: - return true; - default: - return false; - } -} - - -#endif /* _CDIO_SECTOR_H_ */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/cdio/types.h --- a/contrib/libcdio/cdio/types.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,379 +0,0 @@ -/* - $Id: types.h,v 1.3 2005/01/01 02:43:58 rockyb Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - Copyright (C) 2002, 2003, 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -/** \file types.h - * \brief Common type definitions used pervasively in libcdio. - */ - - -#ifndef __CDIO_TYPES_H__ -#define __CDIO_TYPES_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - /* provide some C99 definitions */ - -#if defined(HAVE_SYS_TYPES_H) -#include <sys/types.h> -#endif - -#if defined(HAVE_STDINT_H) -# include <stdint.h> -#elif defined(HAVE_INTTYPES_H) -# include <inttypes.h> -#elif defined(AMIGA) || defined(__linux__) - typedef u_int8_t uint8_t; - typedef u_int16_t uint16_t; - typedef u_int32_t uint32_t; - typedef u_int64_t uint64_t; -#else - /* warning ISO/IEC 9899:1999 <stdint.h> was missing and even <inttypes.h> */ - /* fixme */ -#endif /* HAVE_STDINT_H */ - - /* default HP/UX macros are broken */ -#if defined(__hpux__) -# undef UINT16_C -# undef UINT32_C -# undef UINT64_C -# undef INT64_C -#endif - - /* if it's still not defined, take a good guess... should work for - most 32bit and 64bit archs */ - -#ifndef UINT16_C -# define UINT16_C(c) c ## U -#endif - -#ifndef UINT32_C -# if defined (SIZEOF_INT) && SIZEOF_INT == 4 -# define UINT32_C(c) c ## U -# elif defined (SIZEOF_LONG) && SIZEOF_LONG == 4 -# define UINT32_C(c) c ## UL -# else -# define UINT32_C(c) c ## U -# endif -#endif - -#ifndef UINT64_C -# if defined (SIZEOF_LONG) && SIZEOF_LONG == 8 -# define UINT64_C(c) c ## UL -# elif defined (SIZEOF_INT) && SIZEOF_INT == 8 -# define UINT64_C(c) c ## U -# else -# define UINT64_C(c) c ## ULL -# endif -#endif - -#ifndef INT64_C -# if defined (SIZEOF_LONG) && SIZEOF_LONG == 8 -# define INT64_C(c) c ## L -# elif defined (SIZEOF_INT) && SIZEOF_INT == 8 -# define INT64_C(c) c -# else -# define INT64_C(c) c ## LL -# endif -#endif - -#if defined(HAVE_STDBOOL_H) -#include <stdbool.h> -#else - /* ISO/IEC 9899:1999 <stdbool.h> missing -- enabling workaround */ - -# ifndef __cplusplus - typedef enum - { - false = 0, - true = 1 - } _cdio_Bool; - -# define false false -# define true true -# define bool _cdio_Bool -# endif -#endif - - /* some GCC optimizations -- gcc 2.5+ */ - -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) -#define GNUC_PRINTF( format_idx, arg_idx ) \ - __attribute__((format (printf, format_idx, arg_idx))) -#define GNUC_SCANF( format_idx, arg_idx ) \ - __attribute__((format (scanf, format_idx, arg_idx))) -#define GNUC_FORMAT( arg_idx ) \ [... 127 lines omitted ...] -#define CDIO_MCN_SIZE 13 - - /*! - Type to hold ASCII bytes in a media catalog number (MCN). - We include an extra 0 byte so these can be used as C strings. - */ - typedef char cdio_mcn_t[CDIO_MCN_SIZE+1]; - - - /*! - Number of ASCII bytes in International Standard Recording Codes (ISRC) - */ -#define CDIO_ISRC_SIZE 12 - - /*! - Type to hold ASCII bytes in a media catalog number (MCN). - We include an extra 0 byte so these can be used as C strings. - */ - typedef char cdio_isrc_t[CDIO_ISRC_SIZE+1]; - - typedef int cdio_fs_anal_t; - - /*! The type of an drive capability bit mask. See below for values*/ - typedef uint32_t cdio_drive_read_cap_t; - typedef uint32_t cdio_drive_write_cap_t; - typedef uint32_t cdio_drive_misc_cap_t; - - /*! - \brief Drive types returned by cdio_get_drive_cap() - - NOTE: Setting a bit here means the presence of a capability. - */ - -#define CDIO_DRIVE_CAP_ERROR 0x40000 /**< Error */ -#define CDIO_DRIVE_CAP_UNKNOWN 0x80000 /**< Dunno. It can be on if we - have only partial information - or are not completely certain - */ - -#define CDIO_DRIVE_CAP_MISC_CLOSE_TRAY 0x00001 /**< caddy systems can't - close... */ -#define CDIO_DRIVE_CAP_MISC_EJECT 0x00002 /**< but can eject. */ -#define CDIO_DRIVE_CAP_MISC_LOCK 0x00004 /**< disable manual eject */ -#define CDIO_DRIVE_CAP_MISC_SELECT_SPEED 0x00008 /**< programmable speed */ -#define CDIO_DRIVE_CAP_MISC_SELECT_DISC 0x00010 /**< select disc from - juke-box */ -#define CDIO_DRIVE_CAP_MISC_MULTI_SESSION 0x00020 /**< read sessions>1 */ -#define CDIO_DRIVE_CAP_MISC_MEDIA_CHANGED 0x00080 /**< media changed */ -#define CDIO_DRIVE_CAP_MISC_RESET 0x00100 /**< hard reset device */ -#define CDIO_DRIVE_CAP_MCN 0x00200 /**< can read MCN */ -#define CDIO_DRIVE_CAP_ISRC 0x00200 /**< can read ISRC */ -#define CDIO_DRIVE_CAP_MISC_FILE 0x20000 /**< drive is really a file, - i.e a CD file image */ - - /*! Reading masks.. */ -#define CDIO_DRIVE_CAP_READ_AUDIO 0x00001 /**< drive can play CD audio */ -#define CDIO_DRIVE_CAP_READ_CD_DA 0x00002 /**< drive can read CD-DA */ -#define CDIO_DRIVE_CAP_READ_CD_G 0x00004 /**< drive can read CD+G */ -#define CDIO_DRIVE_CAP_READ_CD_R 0x00008 /**< drive can read CD-R */ -#define CDIO_DRIVE_CAP_READ_CD_RW 0x00010 /**< drive can read CD-RW */ -#define CDIO_DRIVE_CAP_READ_DVD_R 0x00020 /**< drive can read DVD-R */ -#define CDIO_DRIVE_CAP_READ_DVD_PR 0x00040 /**< drive can read DVD+R */ -#define CDIO_DRIVE_CAP_READ_DVD_RAM 0x00080 /**< drive can read DVD-RAM */ -#define CDIO_DRIVE_CAP_READ_DVD_ROM 0x00100 /**< drive can read DVD-ROM */ -#define CDIO_DRIVE_CAP_READ_DVD_RW 0x00200 /**< drive can read DVD-RW */ -#define CDIO_DRIVE_CAP_READ_DVD_RPW 0x00400 /**< drive can read DVD+RW */ -#define CDIO_DRIVE_CAP_READ_C2_ERRS 0x00800 /**< has C2 error correction */ - - /*! Writing masks.. */ -#define CDIO_DRIVE_CAP_WRITE_CD_R 0x00001 /**< drive can write CD-R */ -#define CDIO_DRIVE_CAP_WRITE_CD_RW 0x00002 /**< drive can write CD-R */ -#define CDIO_DRIVE_CAP_WRITE_DVD_R 0x00004 /**< drive can write DVD-R */ -#define CDIO_DRIVE_CAP_WRITE_DVD_PR 0x00008 /**< drive can write DVD+R */ -#define CDIO_DRIVE_CAP_WRITE_DVD_RAM 0x00010 /**< drive can write DVD-RAM */ -#define CDIO_DRIVE_CAP_WRITE_DVD_RW 0x00020 /**< drive can write DVD-RW */ -#define CDIO_DRIVE_CAP_WRITE_DVD_RPW 0x00040 /**< drive can write DVD+RW */ -#define CDIO_DRIVE_CAP_WRITE_MT_RAINIER 0x00080 /**< Mount Rainier */ -#define CDIO_DRIVE_CAP_WRITE_BURN_PROOF 0x00100 /**< burn proof */ - -/**< Masks derived from above... */ -#define CDIO_DRIVE_CAP_WRITE_CD ( \ - CDIO_DRIVE_CAP_WRITE_CD_R \ - | CDIO_DRIVE_CAP_WRITE_CD_RW \ - ) -/**< Has some sort of CD writer ability */ - -/**< Masks derived from above... */ -#define CDIO_DRIVE_CAP_WRITE_DVD ( \ - | CDIO_DRIVE_CAP_WRITE_DVD_R \ - | CDIO_DRIVE_CAP_WRITE_DVD_PR \ - | CDIO_DRIVE_CAP_WRITE_DVD_RAM \ - | CDIO_DRIVE_CAP_WRITE_DVD_RW \ - | CDIO_DRIVE_CAP_WRITE_DVD_RPW \ - ) -/**< Has some sort of DVD writer ability */ - -#define CDIO_DRIVE_CAP_WRITE \ - (CDIO_DRIVE_CAP_WRITE_CD | CDIO_DRIVE_CAP_WRITE_DVD) -/**< Has some sort of DVD or CD writing ability */ - - /*! - track flags - Q Sub-channel Control Field (4.2.3.3) - */ - typedef enum { - CDIO_TRACK_FLAG_NONE = 0x00, /**< no flags set */ - CDIO_TRACK_FLAG_PRE_EMPHASIS = 0x01, /**< audio track recorded with - pre-emphasis */ - CDIO_TRACK_FLAG_COPY_PERMITTED = 0x02, /**< digital copy permitted */ - CDIO_TRACK_FLAG_DATA = 0x04, /**< data track */ - CDIO_TRACK_FLAG_FOUR_CHANNEL_AUDIO = 0x08, /**< 4 audio channels */ - CDIO_TRACK_FLAG_SCMS = 0x10 /**< SCMS (5.29.2.7) */ -} cdio_track_flag; - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* __CDIO_TYPES_H__ */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/cdio/util.h --- a/contrib/libcdio/cdio/util.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,136 +0,0 @@ -/* - $Id: util.h,v 1.3 2005/01/01 02:43:58 rockyb Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - Copyright (C) 2004 Rocky Bernstein <ro...@pa...> - - 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 __CDIO_UTIL_H__ -#define __CDIO_UTIL_H__ - -/*! - \file util.h - \brief Miscellaneous utility functions. - - Warning: this will probably get removed/replaced by using glib.h -*/ -#include <stdlib.h> - -#undef MAX -#define MAX(a, b) (((a) > (b)) ? (a) : (b)) - -#undef MIN -#define MIN(a, b) (((a) < (b)) ? (a) : (b)) - -#undef IN -#define IN(x, low, high) ((x) >= (low) && (x) <= (high)) - -#undef CLAMP -#define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) - -static inline unsigned -_cdio_len2blocks (unsigned len, int blocksize) -{ - unsigned blocks; - - blocks = len / blocksize; - if (len % blocksize) - blocks++; - - return blocks; -} - -/* round up to next block boundary */ -static inline unsigned -_cdio_ceil2block (unsigned offset, int blocksize) -{ - return _cdio_len2blocks (offset, blocksize) * blocksize; -} - -static inline unsigned -_cdio_ofs_add (unsigned offset, unsigned length, int blocksize) -{ - if (blocksize - (offset % blocksize) < length) - offset = _cdio_ceil2block (offset, blocksize); - - offset += length; - - return offset; -} - -static inline const char * -_cdio_bool_str (bool b) -{ - return b ? "yes" : "no"; -} - -#ifdef __cplusplus -extern "C" { -#endif - -void * -_cdio_malloc (size_t size); - -void * -_cdio_memdup (const void *mem, size_t count); - -char * -_cdio_strdup_upper (const char str[]); - -void -_cdio_strfreev(char **strv); - -char * -_cdio_strjoin (char *strv[], unsigned count, const char delim[]); - -size_t -_cdio_strlenv(char **str_array); - -char ** -_cdio_strsplit(const char str[], char delim); - -uint8_t cdio_to_bcd8(uint8_t n); -uint8_t cdio_from_bcd8(uint8_t p); - -#if defined(__GNUC__) && __GNUC__ >= 3 -static inline __attribute__((deprecated)) -uint8_t to_bcd8(uint8_t n) { - return cdio_to_bcd8(n); -} -static inline __attribute__((deprecated)) -uint8_t from_bcd8(uint8_t p) { - return cdio_from_bcd8(p); -} -#else -#define to_bcd8 cdio_to_bcd8 -#define from_bcd8 cdio_from_bcd8 -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __CDIO_UTIL_H__ */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/cdio/version.h --- a/contrib/libcdio/cdio/version.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -/* $Id: version.h,v 1.2 2004/04/11 12:20:31 miguelfreitas Exp $ */ -/** \file version.h - * \brief A file simply containing the library version number. - */ - -/*! CDIO_VERSION can as a string in programs to show what version is used. */ -#define CDIO_VERSION "0.68" - -/*! LIBCDIO_VERSION_NUM can be used for testing in the C preprocessor */ -#define LIBCDIO_VERSION_NUM 68 diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/cdio/xa.h --- a/contrib/libcdio/cdio/xa.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,151 +0,0 @@ -/* - $Id: xa.h,v 1.3 2005/01/01 02:43:58 rockyb Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - Copyright (C) 2003, 2004 Rocky Bernstein <ro...@pa...> - - See also iso9660.h by Eric Youngdale (1993) and in cdrtools. These - are - - Copyright 1993 Yggdrasil Computing, Incorporated - Copyright (c) 1999,2000 J. Schilling - - 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 -*/ -/*! - \file xa.h - \brief Things related to the ISO-9660 XA (Extended Attributes) format -*/ - - -#ifndef __CDIO_XA_H__ -#define __CDIO_XA_H__ - -#include <cdio/types.h> - -#define ISO_XA_MARKER_STRING "CD-XA001" -#define ISO_XA_MARKER_OFFSET 1024 - -/* XA attribute definitions */ -#define XA_PERM_RSYS 0x0001 /**< System Group Read */ -#define XA_PERM_XSYS 0x0004 /**< System Group Execute */ - -#define XA_PERM_RUSR 0x0010 /**< User (owner) Read */ -#define XA_PERM_XUSR 0x0040 /**< User (owner) Execute */ - -#define XA_PERM_RGRP 0x0100 /**< Group Read */ -#define XA_PERM_XGRP 0x0400 /**< Group Execute */ - -#define XA_PERM_ROTH 0x1000 /**< Other (world) Read */ -#define XA_PERM_XOTH 0x4000 /**< Other (world) Execute */ - -#define XA_ATTR_MODE2FORM1 (1 << 11) -#define XA_ATTR_MODE2FORM2 (1 << 12) -#define XA_ATTR_INTERLEAVED (1 << 13) -#define XA_ATTR_CDDA (1 << 14) -#define XA_ATTR_DIRECTORY (1 << 15) - -/* some aggregations */ -#define XA_PERM_ALL_READ (XA_PERM_RUSR | XA_PERM_RSYS | XA_PERM_RGRP) -#define XA_PERM_ALL_EXEC (XA_PERM_XUSR | XA_PERM_XSYS | XA_PERM_XGRP) -#define XA_PERM_ALL_ALL (XA_PERM_ALL_READ | XA_PERM_ALL_EXEC) - -#define XA_FORM1_DIR (XA_ATTR_DIRECTORY | XA_ATTR_MODE2FORM1 | XA_PERM_ALL_ALL) -#define XA_FORM1_FILE (XA_ATTR_MODE2FORM1 | XA_PERM_ALL_ALL) -#define XA_FORM2_FILE (XA_ATTR_MODE2FORM2 | XA_PERM_ALL_ALL) - -/*! \brief "Extended Architecture according to the Philips Yellow Book. - -CD-ROM EXtended Architecture is a modification to the CD-ROM -specification that defines two new types of sectors. CD-ROM XA was -developed jointly by Sony, Philips, and Microsoft, and announced in -August 1988. Its specifications were published in an extension to the -Yellow Book. CD-i, Photo CD, Video CD and CD-EXTRA have all -subsequently been based on CD-ROM XA. - -CD-XA defines another way of formatting sectors on a CD-ROM, including -headers in the sectors that describe the type (audio, video, data) and -some additional info (markers, resolution in case of a video or audio -sector, file numbers, etc). - -The data written on a CD-XA is consistent with and can be in ISO-9660 -file system format and therefore be readable by ISO-9660 file system -translators. But also a CD-I player can also read CD-XA discs even if -its own `Green Book' file system only resembles ISO 9660 and isn't -fully compatible. - - Note structure is big-endian. -*/ -typedef struct iso9660_xa -{ - uint16_t group_id; /**< 0 */ - uint16_t user_id; /**< 0 */ - uint16_t attributes; /**< XA_ATTR_ */ - uint8_t signature[2]; /**< { 'X', 'A' } */ - uint8_t filenum; /**< file number, see also XA subheader */ - uint8_t reserved[5]; /**< zero */ -} GNUC_PACKED iso9660_xa_t; - - -/*! - Returns a string which interpreting the extended attribute xa_attr. - For example: - \verbatim - d---1xrxrxr - ---2--r-r-r - -a--1xrxrxr - \endverbatim - - A description of the characters in the string follows - The 1st character is either "d" if the entry is a directory, or "-" if not - The 2nd character is either "a" if the entry is CDDA (audio), or "-" if not - The 3rd character is either "i" if the entry is interleaved, or "-" if not - The 4th character is either "2" if the entry is mode2 form2 or "-" if not - The 5th character is either "1" if the entry is mode2 form1 or "-" if not - Note that an entry will either be in mode2 form1 or mode form2. That - is you will either see "2-" or "-1" in the 4th & 5th positions. - - The 6th and 7th characters refer to permissions for a user while the - the 8th and 9th characters refer to permissions for a group while, and - the 10th and 11th characters refer to permissions for everyone. - - In each of these pairs the first character (6, 8, 10) is "x" if the - entry is executable. For a directory this means the directory is - allowed to be listed or "searched". - The second character of a pair (7, 9, 11) is "r" if the entry is allowed - to be read. -*/ -const char * -iso9660_get_xa_attr_str (uint16_t xa_attr); - -/*! - Allocates and initalizes a new iso9600_xa_t variable and returns - it. The caller should free the returned result. - - @see iso9660_xa -*/ -iso9660_xa_t * -iso9660_xa_init (iso9660_xa_t *_xa, uint16_t uid, uint16_t gid, uint16_t attr, - uint8_t filenum); - -#endif /* __CDIO_XA_H__ */ - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/cdio_assert.h --- a/contrib/libcdio/cdio_assert.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -/* - $Id: cdio_assert.h,v 1.2 2004/04/11 12:20:31 miguelfreitas Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 __CDIO_ASSERT_H__ -#define __CDIO_ASSERT_H__ - -#if defined(__GNUC__) - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <cdio/types.h> -#include <cdio/logging.h> - -#define cdio_assert(expr) \ - { \ - if (GNUC_UNLIKELY (!(expr))) cdio_log (CDIO_LOG_ASSERT, \ - "file %s: line %d (%s): assertion failed: (%s)", \ - __FILE__, __LINE__, __PRETTY_FUNCTION__, #expr); \ - } - -#define cdio_assert_not_reached() \ - { \ - cdio_log (CDIO_LOG_ASSERT, \ - "file %s: line %d (%s): should not be reached", \ - __FILE__, __LINE__, __PRETTY_FUNCTION__); \ - } - -#else /* non GNU C */ - -#include <assert.h> - -#define cdio_assert(expr) \ - assert(expr) - -#define cdio_assert_not_reached() \ - assert(0) - -#endif - -#endif /* __CDIO_ASSERT_H__ */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/cdio_private.h --- a/contrib/libcdio/cdio_private.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,315 +0,0 @@ -/* - $Id: cdio_private.h,v 1.3 2005/01/01 02:43:57 rockyb Exp $ - - Copyright (C) 2003, 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -/* Internal routines for CD I/O drivers. */ - - -#ifndef __CDIO_PRIVATE_H__ -#define __CDIO_PRIVATE_H__ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <cdio/cdio.h> -#include <cdio/cdtext.h> -#include "scsi_mmc_private.h" - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - /* Opaque type */ - typedef struct _CdioDataSource CdioDataSource; - -#ifdef __cplusplus -} - -#endif /* __cplusplus */ - -#include "generic.h" - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - - typedef struct { - - /*! - Eject media in CD drive. If successful, as a side effect we - also free obj. Return 0 if success and 1 for failure. - */ - int (*eject_media) (void *env); - - /*! - Release and free resources associated with cd. - */ - void (*free) (void *env); - - /*! - Return the value associated with the key "arg". - */ - const char * (*get_arg) (void *env, const char key[]); - - /*! - Get cdtext information for a CdIo object. - - @param obj the CD object that may contain CD-TEXT information. - @return the CD-TEXT object or NULL if obj is NULL - or CD-TEXT information does not exist. - - If i_track is 0 or CDIO_CDROM_LEADOUT_TRACK the track returned - is the information assocated with the CD. - */ - const cdtext_t * (*get_cdtext) (void *env, track_t i_track); - - /*! - Return an array of device names. if CdIo is NULL (we haven't - initialized a specific device driver), then find a suitable device - driver. - - NULL is returned if we couldn't return a list of devices. - */ - char ** (*get_devices) (void); - - /*! - Return a string containing the default CD device if none is specified. - */ - char * (*get_default_device)(void); - - /*! - Get disc mode associated with cd_obj. - */ - discmode_t (*get_discmode) (void *p_env); - - /*! - Return the what kind of device we've got. - - See cd_types.h for a list of bitmasks for the drive type; - */ - void (*get_drive_cap) (const void *env, - cdio_drive_read_cap_t *p_read_cap, - cdio_drive_write_cap_t *p_write_cap, - cdio_drive_misc_cap_t *p_misc_cap); - /*! - Return the number of of the first track. - CDIO_INVALID_TRACK is returned on error. - */ - track_t (*get_first_track_num) (void *p_env); - - /*! - Get the CD-ROM hardware info via a SCSI MMC INQUIRY command. - False is returned if we had an error getting the information. - */ - bool (*get_hwinfo) ( const CdIo *p_cdio, - /* out*/ cdio_hwinfo_t *p_hw_info ); - [... 63 lines omitted ...] - int (*read_audio_sectors) (void *env, void *buf, lsn_t lsn, - unsigned int nblocks); - - /*! - Reads a single mode2 sector from cd device into buf starting - from lsn. Returns 0 if no error. - */ - int (*read_mode2_sector) (void *env, void *buf, lsn_t lsn, - bool mode2_form2); - - /*! - Reads nblocks of mode2 sectors from cd device into data starting - from lsn. - Returns 0 if no error. - */ - int (*read_mode2_sectors) (void *p_env, void *p_buf, lsn_t lsn, - bool mode2_form2, unsigned int nblocks); - - /*! - Reads a single mode1 sector from cd device into buf starting - from lsn. Returns 0 if no error. - */ - int (*read_mode1_sector) (void *p_env, void *p_buf, lsn_t lsn, - bool mode1_form2); - - /*! - Reads nblocks of mode1 sectors from cd device into data starting - from lsn. - Returns 0 if no error. - */ - int (*read_mode1_sectors) (void *p_env, void *p_buf, lsn_t lsn, - bool mode1_form2, unsigned int nblocks); - - bool (*read_toc) ( void *p_env ) ; - - /*! - Run a SCSI MMC command. - - cdio CD structure set by cdio_open(). - i_timeout_ms time in milliseconds we will wait for the command - to complete. - cdb_len number of bytes in cdb (6, 10, or 12). - cdb CDB bytes. All values that are needed should be set on - input. - b_return_data TRUE if the command expects data to be returned in - the buffer - len Size of buffer - buf Buffer for data, both sending and receiving - - Returns 0 if command completed successfully. - */ - scsi_mmc_run_cmd_fn_t run_scsi_mmc_cmd; - - /*! - Set the arg "key" with "value" in the source device. - */ - int (*set_arg) (void *env, const char key[], const char value[]); - - /*! - Return the size of the CD in logical block address (LBA) units. - */ - uint32_t (*stat_size) (void *env); - - } cdio_funcs; - - - /*! Implementation of CdIo type */ - struct _CdIo { - driver_id_t driver_id; /**< Particular driver opened. */ - cdio_funcs op; /**< driver-specific routines handling - implementation*/ - void *env; /**< environment. Passed to routine above. */ - }; - - /* This is used in drivers that must keep their own internal - position pointer for doing seeks. Stream-based drivers (like bincue, - nrg, toc, network) would use this. - */ - typedef struct - { - off_t buff_offset; /* buffer offset in disk-image seeks. */ - track_t index; /* Current track index in tocent. */ - lba_t lba; /* Current LBA */ - } internal_position_t; - - CdIo * cdio_new (generic_img_private_t *p_env, cdio_funcs *funcs); - - /* The below structure describes a specific CD Input driver */ - typedef struct - { - driver_id_t id; - unsigned int flags; - const char *name; - const char *describe; - bool (*have_driver) (void); - CdIo *(*driver_open) (const char *psz_source_name); - CdIo *(*driver_open_am) (const char *psz_source_name, - const char *psz_access_mode); - char *(*get_default_device) (void); - bool (*is_device) (const char *psz_source_name); - char **(*get_devices) (void); - } CdIo_driver_t; - - /* The below array gives of the drivers that are currently available for - on a particular host. */ - extern CdIo_driver_t CdIo_driver[CDIO_MAX_DRIVER]; - - /* The last valid entry of Cdio_driver. -1 means uninitialzed. -2 - means some sort of error. - */ - extern int CdIo_last_driver; - - /* The below array gives all drivers that can possibly appear. - on a particular host. */ - extern CdIo_driver_t CdIo_all_drivers[CDIO_MAX_DRIVER+1]; - - /*! - Add/allocate a drive to the end of drives. - Use cdio_free_device_list() to free this device_list. - */ - void cdio_add_device_list(char **device_list[], const char *drive, - unsigned int *i_drives); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* __CDIO_PRIVATE_H__ */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/cdtext.c --- a/contrib/libcdio/cdtext.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,228 +0,0 @@ -/* - $Id: cdtext.c,v 1.1 2005/01/01 02:43:57 rockyb Exp $ - - Copyright (C) 2004 Rocky Bernstein <ro...@pa...> - toc reading routine adapted from cuetools - Copyright (C) 2003 Svend Sanjay Sorensen <sso...@fa...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <cdio/cdtext.h> -#include <cdio/logging.h> -#include "cdtext_private.h" - -#ifdef HAVE_STDLIB_H -#include <stdlib.h> -#endif - -#ifdef HAVE_STRING_H -#include <string.h> -#endif - -/*! Note: the order and number items (except CDTEXT_INVALID) should - match the cdtext_field_t enumeration. */ -const char *cdtext_keywords[] = - { - "ARRANGER", - "COMPOSER", - "DISC_ID", - "GENRE", - "ISRC", - "MESSAGE", - "PERFORMER", - "SIZE_INFO", - "SONGWRITER", - "TITLE", - "TOC_INFO", - "TOC_INFO2", - "UPC_EAN", - }; - - -/*! Return string representation of the enum values above */ -const char * -cdtext_field2str (cdtext_field_t i) -{ - if (i >= MAX_CDTEXT_FIELDS) - return "Invalid CDTEXT field index"; - else - return cdtext_keywords[i]; -} - - -/*! Free memory assocated with cdtext*/ -void -cdtext_destroy (cdtext_t *cdtext) -{ - cdtext_field_t i; - - for (i=0; i < MAX_CDTEXT_FIELDS; i++) { - if (cdtext->field[i]) free(cdtext->field[i]); - } -} - -/*! - returns the CDTEXT value associated with key. NULL is returned - if key is CDTEXT_INVALID or the field is not set. - */ -const char * -cdtext_get (cdtext_field_t key, const cdtext_t *cdtext) -{ - if (key == CDTEXT_INVALID) return NULL; - return cdtext->field[key]; -} - -/*! Initialize a new cdtext structure. - When the structure is no longer needed, release the - resources using cdtext_delete. -*/ -void -cdtext_init (cdtext_t *cdtext) -{ - cdtext_field_t i; - - for (i=0; i < MAX_CDTEXT_FIELDS; i++) { - cdtext->field[i] = NULL; - } -} - -/*! - returns 0 if field is a CD-TEXT keyword, returns non-zero otherwise -*/ -cdtext_field_t -cdtext_is_keyword (const char *key) -{ -#if 0 - char *item; - - item = bsearch(key, - cdtext_keywords, 12, - sizeof (char *), - (int (*)(const void *, const void *)) - strcmp); - return (NULL != item) ? 0 : 1; -#else - unsigned int i; - - for (i = 0; i < 13 ; i++) - if (0 == strcmp (cdtext_keywords[i], key)) { - return i; - } - return CDTEXT_INVALID; -#endif -} - -/*! sets cdtext's keyword entry to field. - */ -void -cdtext_set (cdtext_field_t key, const char *value, cdtext_t *cdtext) -{ - if (NULL == value || key == CDTEXT_INVALID) return; - - if (cdtext->field[key]) free (cdtext->field[key]); - cdtext->field[key] = strdup (value); - -} - -#define SET_CDTEXT_FIELD(FIELD) \ - (*set_cdtext_field_fn)(user_data, i_track, i_first_track, FIELD, buffer); - -/* - parse all CD-TEXT data retrieved. -*/ -bool -cdtext_data_init(void *user_data, track_t i_first_track, - unsigned char *wdata, - set_cdtext_field_fn_t set_cdtext_field_fn) -{ - CDText_data_t *pdata; - int i; - int j; - char buffer[256]; - int idx; - int i_track; - bool b_ret = false; - - memset( buffer, 0x00, sizeof(buffer) ); - idx = 0; - - pdata = (CDText_data_t *) (&wdata[4]); - for( i=0; i < CDIO_CDTEXT_MAX_PACK_DATA; i++ ) { - -#if TESTED - if ( pdata->bDBC ) { - cdio_warn("Double-byte characters not supported"); - return false; - } -#endif - - if( pdata->seq != i ) - break; - - if( (pdata->type >= 0x80) - && (pdata->type <= 0x85) && (pdata->block == 0) ) { - i_track = pdata->i_track; - - for( j=0; j < CDIO_CDTEXT_MAX_TEXT_DATA; j++ ) { - if( pdata->text[j] == 0x00 ) { - bool b_field_set=true; - switch( pdata->type) { - case CDIO_CDTEXT_TITLE: - SET_CDTEXT_FIELD(CDTEXT_TITLE); - break; - case CDIO_CDTEXT_PERFORMER: - SET_CDTEXT_FIELD(CDTEXT_PERFORMER); - break; - case CDIO_CDTEXT_SONGWRITER: - SET_CDTEXT_FIELD(CDTEXT_SONGWRITER); - break; - case CDIO_CDTEXT_COMPOSER: - SET_CDTEXT_FIELD(CDTEXT_COMPOSER); - break; - case CDIO_CDTEXT_ARRANGER: - SET_CDTEXT_FIELD(CDTEXT_ARRANGER); - break; - case CDIO_CDTEXT_MESSAGE: - SET_CDTEXT_FIELD(CDTEXT_MESSAGE); - break; - case CDIO_CDTEXT_DISCID: - SET_CDTEXT_FIELD(CDTEXT_DISCID); - break; - case CDIO_CDTEXT_GENRE: - SET_CDTEXT_FIELD(CDTEXT_GENRE); - break; - default : b_field_set = false; - } - if (b_field_set) { - b_ret = true; - i_track++; - idx = 0; - } - } else { - buffer[idx++] = pdata->text[j]; - } - buffer[idx] = 0x00; - } - } - pdata++; - } - return b_ret; -} - diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/cdtext_private.h --- a/contrib/libcdio/cdtext_private.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,119 +0,0 @@ -/* - $Id: cdtext_private.h,v 1.1 2005/01/01 02:43:57 rockyb Exp $ - - Copyright (C) 2004 Rocky Bernstein <ro...@pa...> - - 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 __CDIO_CDTEXT_PRIVATE_H__ -#define __CDIO_CDTEXT_PRIVATE_H__ - -#include <cdio/cdio.h> -#include <cdio/cdtext.h> - -#define CDIO_CDTEXT_MAX_PACK_DATA 255 -#define CDIO_CDTEXT_MAX_TEXT_DATA 12 - -/* From table J.2 - Pack Type Indicator Definitions from - Working Draft NCITS XXX T10/1364-D Revision 10G. November 12, 2001. -*/ -/* Title of Alubm name (ID=0) or Track Titles (ID != 0) */ -#define CDIO_CDTEXT_TITLE 0x80 - -/* Name(s) of the performer(s) in ASCII */ -#define CDIO_CDTEXT_PERFORMER 0x81 - -/* Name(s) of the songwriter(s) in ASCII */ -#define CDIO_CDTEXT_SONGWRITER 0x82 - -/* Name(s) of the Composers in ASCII */ -#define CDIO_CDTEXT_COMPOSER 0x83 - -/* Name(s) of the Arrangers in ASCII */ -#define CDIO_CDTEXT_ARRANGER 0x84 - -/* Message(s) from content provider and/or artist in ASCII */ -#define CDIO_CDTEXT_MESSAGE 0x85 - -/* Disc Identificatin information */ -#define CDIO_CDTEXT_DISCID 0x86 - -/* Genre Identification and Genre Information */ -#define CDIO_CDTEXT_GENRE 0x87 - -/* Table of Content Information */ -#define CDIO_CDTEXT_TOC 0x88 - -/* Second Table of Content Information */ -#define CDIO_CDTEXT_TOC2 0x89 - -/* 0x8A, 0x8B, 0x8C are reserved - 0x8D Reserved for content provider only. - */ - -/* UPC/EAN code of the album and ISRC code of each track */ -#define CDIO_CDTEXT_UPC 0x8E - -/* Size information of the Block */ -#define CDIO_CDTEXT_BLOCKSIZE 0x8F - - -PRAGMA_BEGIN_PACKED - -struct CDText_data -{ - uint8_t type; - track_t i_track; - uint8_t seq; -#ifdef WORDS_BIGENDIAN - uint8_t bDBC: 1; /* double byte character */ - uint8_t block: 3; /* block number 0..7 */ - uint8_t characterPosition:4; /* character position */ -#else - uint8_t characterPosition:4; /* character position */ - uint8_t block :3; /* block number 0..7 */ - uint8_t bDBC :1; /* double byte character */ -#endif - char text[CDIO_CDTEXT_MAX_TEXT_DATA]; - uint8_t crc[2]; -} GNUC_PACKED; - -PRAGMA_END_PACKED - -typedef struct CDText_data CDText_data_t; - -typedef void (*set_cdtext_field_fn_t) (void *user_data, track_t i_track, - track_t i_first_track, - cdtext_field_t field, - const char *buffer); - -/* - Internal routine to parse all CD-TEXT data retrieved. -*/ -bool cdtext_data_init(void *user_data, track_t i_first_track, - unsigned char *wdata, - set_cdtext_field_fn_t set_cdtext_field_fn); - - -#endif /* __CDIO_CDTEXT_PRIVATE_H__ */ - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/ds.c --- a/contrib/libcdio/ds.c Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,249 +0,0 @@ -/* - $Id: ds.c,v 1.3 2005/01/01 02:43:57 rockyb Exp $ - - Copyright (C) 2000 Herbert Valerio Riedel <hv...@gn...> - - 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 -*/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdlib.h> -#include <string.h> - -#include <cdio/ds.h> -#include <cdio/util.h> -#include <cdio/types.h> -#include "cdio_assert.h" - -static const char _rcsid[] = "$Id: ds.c,v 1.3 2005/01/01 02:43:57 rockyb Exp $"; - -struct _CdioList -{ - unsigned length; - - CdioListNode *begin; - CdioListNode *end; -}; - -struct _CdioListNode -{ - CdioList *list; - - CdioListNode *next; - - void *data; -}; - -/* impl */ - -CdioList * -_cdio_list_new (void) -{ - CdioList *new_obj = _cdio_malloc (sizeof (CdioList)); - - return new_obj; -} - -void -_cdio_list_free (CdioList *list, int free_data) -{ - while (_cdio_list_length (list)) - _cdio_list_node_free (_cdio_list_begin (list), free_data); - - free (list); -} - -unsigned -_cdio_list_length (const CdioList *list) -{ - cdio_assert (list != NULL); - - return list->length; -} - -void -_cdio_list_prepend (CdioList *list, void *data) -{ - CdioListNode *new_node; - - cdio_assert (list != NULL); - - new_node = _cdio_malloc (sizeof (CdioListNode)); - - new_node->list = list; - new_node->next = list->begin; - new_node->data = data; - - list->begin = new_node; - if (list->length == 0) - list->end = new_node; - - list->length++; -} - -void -_cdio_list_append (CdioList *list, void *data) -{ - cdio_assert (list != NULL); - - if (list->length == 0) - { - _cdio_list_prepend (list, data); - } - else - { - CdioListNode *new_node = _cdio_malloc (sizeof (CdioListNode)); - - new_node->list = list; - new_node->next = NULL; - new_node->data = data; - - list->end->next = new_node; - list->end = new_node; - - list->length++; - } -} - -void -_cdio_list_foreach (CdioList *list, _cdio_list_iterfunc func, void *user_data) -{ - CdioListNode *node; - - cdio_assert (list != NULL); - cdio_assert (func != 0); - - for (node = _cdio_list_begin (list); - node != NULL; - node = _cdio_list_node_next (node)) - func (_cdio_list_node_data (node), user_data); -} - -CdioListNode * -_cdio_list_find (CdioList *list, _cdio_list_iterfunc cmp_func, void *user_data) -{ - CdioListNode *node; - - cdio_assert (list != NULL); - cdio_assert (cmp_func != 0); - - for (node = _cdio_list_begin (list); - node != NULL; - node = _cdio_list_node_next (node)) - if (cmp_func (_cdio_list_node_data (node), user_data)) - break; - - return node; -} - -CdioListNode * -_cdio_list_begin (const CdioList *list) -{ - cdio_assert (list != NULL); - - return list->begin; -} - -CdioListNode * -_cdio_list_end (CdioList *list) -{ - cdio_assert (list != NULL); - - return list->end; -} - -CdioListNode * -_cdio_list_node_next (CdioListNode *node) -{ - if (node) - return node->next; - - return NULL; -} - -void -_cdio_list_node_free (CdioListNode *node, int free_data) -{ - CdioList *list; - CdioListNode *prev_node; - - cdio_assert (node != NULL); - - list = node->list; - - cdio_assert (_cdio_list_length (list) > 0); - - if (free_data) - free (_cdio_list_node_data (node)); - - if (_cdio_list_length (list) == 1) - { - cdio_assert (list->begin == list->end); - - list->end = list->begin = NULL; - list->length = 0; - free (node); - return; - } - - cdio_assert (list->begin != list->end); - - if (list->begin == node) - { - list->begin = node->next; - free (node); - list->length--; - return; - } - - for (prev_node = list->begin; prev_node->next; prev_node = prev_node->next) - if (prev_node->next == node) - break; - - cdio_assert (prev_node->next != NULL); - - if (list->end == node) - list->end = prev_node; - - prev_node->next = node->next; - - list->length--; - - free (node); -} - -void * -_cdio_list_node_data (CdioListNode *node) -{ - if (node) - return node->data; - - return NULL; -} - -/* eof */ - - -/* - * Local variables: - * c-file-style: "gnu" - * tab-width: 8 - * indent-tabs-mode: nil - * End: - */ - diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/generic.h --- a/contrib/libcdio/generic.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ -/* - $Id: generic.h,v 1.1 2005/01/01 02:43:57 rockyb Exp $ - - Copyright (C) 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -/* Internal routines for CD I/O drivers. */ - - -#ifndef __CDIO_GENERIC_H__ -#define __CDIO_GENERIC_H__ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <cdio/cdio.h> -#include <cdio/cdtext.h> -#include <cdio/iso9660.h> - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - /*! - Things common to private device structures. Even though not all - devices may have some of these fields, by listing common ones - we facilitate writing generic routines and even cut-and-paste - code. - */ - typedef struct { - char *source_name; /**< Name used in open. */ - bool init; /**< True if structure has been initialized */ - bool toc_init; /**< True if TOC read in */ - bool b_cdtext_init; /**< True if CD-Text read in */ - bool b_cdtext_error; /**< True if trouble reading CD-Text */ - - int ioctls_debugged; /**< for debugging */ - - /* Only one of data_source or fd is used; fd is for CD-ROM - devices and the data_source for stream reading (bincue, nrg, toc, - network). - */ - CdioDataSource *data_source; - int fd; /**< File descriptor of device */ - track_t i_first_track; /**< The starting track number. */ - track_t i_tracks; /**< The number of tracks. */ - - uint8_t i_joliet_level; /**< 0 = no Joliet extensions. - 1-3: Joliet level. */ - iso9660_pvd_t pvd; - iso9660_svd_t svd; - CdIo *cdio; /**< a way to call general cdio routines. */ - cdtext_t cdtext; /**< CD-Text for disc. */ - cdtext_t cdtext_track[CDIO_CD_MAX_TRACKS+1]; /*CD-TEXT for each track*/ - - } generic_img_private_t; - - /*! - Bogus eject media when there is no ejectable media, e.g. a disk image - We always return 2. Should we also free resources? - */ - int cdio_generic_bogus_eject_media (void *env); - - /*! - Release and free resources associated with cd. - */ - void cdio_generic_free (void *env); - - /*! - Initialize CD device. - */ - bool cdio_generic_init (void *env); - - /*! - Reads into buf the next size bytes. - Returns -1 on error. - Is in fact libc's read(). - */ - off_t cdio_generic_lseek (void *env, off_t offset, int whence); - - /*! - Reads into buf the next size bytes. - Returns -1 on error. - Is in fact libc's read(). - */ - ssize_t cdio_generic_read (void *env, void *buf, size_t size); - - /*! - Reads a single form1 sector from cd device into data starting - from lsn. Returns 0 if no error. - */ - int cdio_generic_read_form1_sector (void * user_data, void *data, - lsn_t lsn); - - /*! - Release and free resources associated with stream or disk image. - */ - void cdio_generic_stdio_free (void *env); - - /*! - Return true if source_name could be a device containing a CD-ROM on - Win32 - */ - bool cdio_is_device_win32(const char *source_name); - - - /*! - Return true if source_name could be a device containing a CD-ROM on - most Unix servers with block and character devices. - */ - bool cdio_is_device_generic(const char *source_name); - - - /*! - Like above, but don't give a warning device doesn't exist. - */ - bool cdio_is_device_quiet_generic(const char *source_name); - - /*! - Get cdtext information for a CdIo object . - - @param obj the CD object that may contain CD-TEXT information. - @return the CD-TEXT object or NULL if obj is NULL - or CD-TEXT information does not exist. - */ - const cdtext_t *get_cdtext_generic (void *p_user_data, track_t i_track); - - /*! - Return the number of of the first track. - CDIO_INVALID_TRACK is returned on error. - */ - track_t get_first_track_num_generic(void *p_user_data); - - /*! - Return the number of tracks in the current medium. - */ - track_t get_num_tracks_generic(void *p_user_data); - - /*! - Get disc type associated with cd object. - */ - discmode_t get_discmode_generic (void *p_user_data ); - - /*! - Same as above but only handles CD cases - */ - discmode_t get_discmode_cd_generic (void *p_user_data ); - - void set_cdtext_field_generic(void *user_data, track_t i_track, - track_t i_first_track, - cdtext_field_t e_field, const char *psz_value); - /*! - Read cdtext information for a CdIo object . - - return true on success, false on error or CD-Text information does - not exist. - */ - bool init_cdtext_generic (generic_img_private_t *p_env); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* __CDIO_GENERIC_H__ */ diff -r 383dbb27c47b5656f6d7cc17cff60cdba547bff0 -r c67926c9c2eb7158c6147bb763ecc008b6d3de02 contrib/libcdio/image.h --- a/contrib/libcdio/image.h Sat Nov 24 22:12:01 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -/* - $Id: image.h,v 1.1 2005/01/01 02:43:57 rockyb Exp $ - - Copyright (C) 2004 Rocky Bernstein <ro...@pa...> - - 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 -*/ - -/*! - Header for image drivers. In contrast to image_common.h which contains - routines, this header like most C headers does not depend on anything - defined before it is included. -*/ - -#ifndef __CDIO_IMAGE_H__ -#define __CDIO_IMAGE_H__ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <cdio/types.h> -#include <cdio/cdtext.h> -#include "cdio_private.h" -#include <cdio/sector.h> - -/*! - The universal format for information about a track for CD image readers - It may be that some fields can be derived from other fields. - Over time this structure may get cleaned up. Possibly this can be - expanded/reused for real CD formats. -*/ - -typedef struct { - track_t track_num; /**< Probably is index+1 */ - msf_t start_msf; - lba_t start_lba; - int start_index; - lba_t length; - lba_t pregap; /**< pre-gap with zero audio data */ - int sec_count; /**< Number of sectors in this track. Does not - include pregap */ - int num_indices; - flag_t flags; /**< "[NO] COPY", "4CH", "[NO] PREMPAHSIS" */ - char *isrc; /**< IRSC Code (5.22.4) exactly 12 bytes */ - char *filename; - CdioDataSource *data_source; - track_format_t track_format; - bool track_green; - cdtext_t cdtext; /**< CD-TEXT */ - - trackmode_t mode; - uint16_t datasize; /**< How much is in the portion we return - back? */ - uint16_t datastart; /**< Offset from begining that data starts */ - uint16_t endsize; /**< How much stuff at the end to skip over. - This stuff may have error correction - (EDC, or ECC).*/ - uint16_t b... [truncated message content] |