summaryrefslogtreecommitdiff
path: root/ac3dec/ac3_internal.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2002-02-24 18:00:00 +0100
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2002-02-24 18:00:00 +0100
commitfb8e7fa302ef8a73feb6958b0cb32cc54f76e677 (patch)
tree74cf9dd5cd1892aaf1c05db32796eb356d7bc860 /ac3dec/ac3_internal.h
parenta1da0e5c5de55009716e2c327dda16c61c1dae83 (diff)
downloadvdr-patch-lnbsharing-fb8e7fa302ef8a73feb6958b0cb32cc54f76e677.tar.gz
vdr-patch-lnbsharing-fb8e7fa302ef8a73feb6958b0cb32cc54f76e677.tar.bz2
Version 1.0.0pre1vdr-1.0.0pre1
- Added scanning for EPG data for another 4 days on channels that support this (thanks to Oleg Assovski). - Removed '#define VFAT 1' from recording.c (was a leftover from testing). - Fixed the "Low disk space!" message (thanks to Sergei Haller). - Added the TPID to Hessen-3 in 'channels.conf' (thanks to Sergei Haller). - Fixed a crash when replaying with DEBUG_OSD=1 (thanks to Stefan Huelswitt). - Implemented the "First day" parameter for repeating timers. See FORMATS for information about the enhanced 'timers.conf' file format, and MANUAL for a description of the new item in the "Edit Timer" menu and the enhanced functionality of the "Blue" button in the "Timers" menu. - When deleting a recording that is currently still being recorded, the related timer will now automatically be terminated. If this is a repeating timer, it will receive a "First day" setting that skips the timer for this day. - Fixed closing all unused file descriptors when opening a pipe (thanks to Werner Fink). - Instant recordings now take the EPG data from the point in time at 5 minutes from the start time of the recording. In order for this to work the 'active' parameter of a timer now uses the second bit to indicate that this is an "instant" recording (see FORMATS for details). - Fixed the SVDRP GRAB command in case the video device can't be opened (thanks to Adrian Stabiszewski). - At startup the data written into 'epg.data' is now read into the EPG data structures. In order for this to work, the 'E' record has been extended to (optionally) contain the 'table ID' (see FORMATS for details). - The new SVDRP command PUTE can be used to put EPG data into the EPG list. See FORMATS for details about the required data format. - Taking the German umlauts 'as is' when compiled with VFAT. - The new Setup parameter RecordDolbyDigital can be used to generally turn off recording the Dolby Digital audio channels in case you want to save disk space or don't have the equipment to replay Dolby Digital audio. - Reading the 'setup.conf' file no longer terminates in case of an error, but rather attempts to read the rest of the file. - Removed DVD support from the core VDR source, since the current version from Andreas Schultz is already much further developed (DVD menu navigation) and the concept of "additional players" in VDR is going to change in version 1.1.0, where a new "plugin" interface shall allow the easy implementation of new players without having to patch the core VDR source. Until then, Andreas has agreed to provide his DVD support as a completely external patch. - The contents of the distribution archive now contains the directory name with the current version number, as in 'vdr-1.0.0pre1/...' in order to avoid inadvertently overwriting an existing VDR directory with a new version. - Added a missing error message in SVDRP command LSTC in case the given channel can't be found.
Diffstat (limited to 'ac3dec/ac3_internal.h')
-rw-r--r--ac3dec/ac3_internal.h353
1 files changed, 0 insertions, 353 deletions
diff --git a/ac3dec/ac3_internal.h b/ac3dec/ac3_internal.h
deleted file mode 100644
index 259396f..0000000
--- a/ac3dec/ac3_internal.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
- * ac3_internal.h
- *
- * Copyright (C) Aaron Holtzman - May 1999
- *
- * This file is part of ac3dec, a free Dolby AC-3 stream decoder.
- *
- * ac3dec 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, or (at your option)
- * any later version.
- *
- * ac3dec 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 GNU Make; see the file COPYING. If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#ifndef __GNUC__
-#define inline
-#endif
-
-#include <setjmp.h>
-
-/* Exponent strategy constants */
-#define EXP_REUSE (0)
-#define EXP_D15 (1)
-#define EXP_D25 (2)
-#define EXP_D45 (3)
-
-/* Delta bit allocation constants */
-#define DELTA_BIT_REUSE (0)
-#define DELTA_BIT_NEW (1)
-#define DELTA_BIT_NONE (2)
-#define DELTA_BIT_RESERVED (3)
-
-/* samples work structure */
-typedef float stream_samples_t[6][256];
-
-/* global config structure */
-extern ac3_config_t ac3_config;
-/* global error flag */
-extern jmp_buf error_jmp_mark;
-#define HANDLE_ERROR() longjmp (error_jmp_mark, -1)
-
-/* Everything you wanted to know about band structure */
-/*
- * The entire frequency domain is represented by 256 real
- * floating point fourier coefficients. Only the lower 253
- * coefficients are actually utilized however. We use arrays
- * of 256 to be efficient in some cases.
- *
- * The 5 full bandwidth channels (fbw) can have their higher
- * frequencies coupled together. These coupled channels then
- * share their high frequency components.
- *
- * This coupling band is broken up into 18 sub-bands starting
- * at mantissa number 37. Each sub-band is 12 bins wide.
- *
- * There are 50 bit allocation sub-bands which cover the entire
- * frequency range. The sub-bands are of non-uniform width, and
- * approximate a 1/6 octave scale.
- */
-
-/* The following structures are filled in by their corresponding parse_*
- * functions. See http://www.atsc.org/Standards/A52/a_52.pdf for
- * full details on each field. Indented fields are used to denote
- * conditional fields.
- */
-
-typedef struct syncinfo_s
-{
- uint32_t magic;
- /* Sync word == 0x0B77 */
- uint16_t syncword;
- /* crc for the first 5/8 of the sync block */
- /* uint16_t crc1; */
- /* Stream Sampling Rate (kHz) 0 = 48, 1 = 44.1, 2 = 32, 3 = reserved */
- uint16_t fscod;
- /* Frame size code */
- uint16_t frmsizecod;
-
- /* Information not in the AC-3 bitstream, but derived */
- /* Frame size in 16 bit words */
- uint16_t frame_size;
- /* Bit rate in kilobits */
- uint16_t bit_rate;
- /* sampling rate in hertz */
- uint32_t sampling_rate;
-
-} syncinfo_t;
-
-typedef struct bsi_s
-{
- uint32_t magic;
- /* Bit stream identification == 0x8 */
- uint16_t bsid;
- /* Bit stream mode */
- uint16_t bsmod;
- /* Audio coding mode */
- uint16_t acmod;
- /* If we're using the centre channel then */
- /* centre mix level */
- uint16_t cmixlev;
- /* If we're using the surround channel then */
- /* surround mix level */
- uint16_t surmixlev;
- /* If we're in 2/0 mode then */
- /* Dolby surround mix level - NOT USED - */
- uint16_t dsurmod;
- /* Low frequency effects on */
- uint16_t lfeon;
- /* Dialogue Normalization level */
- uint16_t dialnorm;
- /* Compression exists */
- uint16_t compre;
- /* Compression level */
- uint16_t compr;
- /* Language code exists */
- uint16_t langcode;
- /* Language code */
- uint16_t langcod;
- /* Audio production info exists*/
- uint16_t audprodie;
- uint16_t mixlevel;
- uint16_t roomtyp;
- /* If we're in dual mono mode (acmod == 0) then extra stuff */
- uint16_t dialnorm2;
- uint16_t compr2e;
- uint16_t compr2;
- uint16_t langcod2e;
- uint16_t langcod2;
- uint16_t audprodi2e;
- uint16_t mixlevel2;
- uint16_t roomtyp2;
- /* Copyright bit */
- uint16_t copyrightb;
- /* Original bit */
- uint16_t origbs;
- /* Timecode 1 exists */
- uint16_t timecod1e;
- /* Timecode 1 */
- uint16_t timecod1;
- /* Timecode 2 exists */
- uint16_t timecod2e;
- /* Timecode 2 */
- uint16_t timecod2;
- /* Additional bit stream info exists */
- uint16_t addbsie;
- /* Additional bit stream length - 1 (in bytes) */
- uint16_t addbsil;
- /* Additional bit stream information (max 64 bytes) */
- uint8_t addbsi[64];
-
- /* Information not in the AC-3 bitstream, but derived */
- /* Number of channels (excluding LFE)
- * Derived from acmod */
- uint16_t nfchans;
-} bsi_t;
-
-
-/* more pain */
-typedef struct audblk_s
-{
- uint32_t magic1;
- /* block switch bit indexed by channel num */
- uint16_t blksw[5];
- /* dither enable bit indexed by channel num */
- uint16_t dithflag[5];
- /* dynamic range gain exists */
- uint16_t dynrnge;
- /* dynamic range gain */
- uint16_t dynrng;
- /* if acmod==0 then */
- /* dynamic range 2 gain exists */
- uint16_t dynrng2e;
- /* dynamic range 2 gain */
- uint16_t dynrng2;
- /* coupling strategy exists */
- uint16_t cplstre;
- /* coupling in use */
- uint16_t cplinu;
- /* channel coupled */
- uint16_t chincpl[5];
- /* if acmod==2 then */
- /* Phase flags in use */
- uint16_t phsflginu;
- /* coupling begin frequency code */
- uint16_t cplbegf;
- /* coupling end frequency code */
- uint16_t cplendf;
- /* coupling band structure bits */
- uint16_t cplbndstrc[18];
- /* Do coupling co-ords exist for this channel? */
- uint16_t cplcoe[5];
- /* Master coupling co-ordinate */
- uint16_t mstrcplco[5];
- /* Per coupling band coupling co-ordinates */
- uint16_t cplcoexp[5][18];
- uint16_t cplcomant[5][18];
- /* Phase flags for dual mono */
- uint16_t phsflg[18];
- /* Is there a rematrixing strategy */
- uint16_t rematstr;
- /* Rematrixing bits */
- uint16_t rematflg[4];
- /* Coupling exponent strategy */
- uint16_t cplexpstr;
- /* Exponent strategy for full bandwidth channels */
- uint16_t chexpstr[5];
- /* Exponent strategy for lfe channel */
- uint16_t lfeexpstr;
- /* Channel bandwidth for independent channels */
- uint16_t chbwcod[5];
- /* The absolute coupling exponent */
- uint16_t cplabsexp;
- /* Coupling channel exponents (D15 mode gives 18 * 12 /3 encoded exponents */
- uint16_t cplexps[18 * 12 / 3];
- /* Sanity checking constant */
- uint32_t magic2;
- /* fbw channel exponents */
- uint16_t exps[5][252 / 3];
- /* channel gain range */
- uint16_t gainrng[5];
- /* low frequency exponents */
- uint16_t lfeexps[3];
-
- /* Bit allocation info */
- uint16_t baie;
- /* Slow decay code */
- uint16_t sdcycod;
- /* Fast decay code */
- uint16_t fdcycod;
- /* Slow gain code */
- uint16_t sgaincod;
- /* dB per bit code */
- uint16_t dbpbcod;
- /* masking floor code */
- uint16_t floorcod;
-
- /* SNR offset info */
- uint16_t snroffste;
- /* coarse SNR offset */
- uint16_t csnroffst;
- /* coupling fine SNR offset */
- uint16_t cplfsnroffst;
- /* coupling fast gain code */
- uint16_t cplfgaincod;
- /* fbw fine SNR offset */
- uint16_t fsnroffst[5];
- /* fbw fast gain code */
- uint16_t fgaincod[5];
- /* lfe fine SNR offset */
- uint16_t lfefsnroffst;
- /* lfe fast gain code */
- uint16_t lfefgaincod;
-
- /* Coupling leak info */
- uint16_t cplleake;
- /* coupling fast leak initialization */
- uint16_t cplfleak;
- /* coupling slow leak initialization */
- uint16_t cplsleak;
-
- /* delta bit allocation info */
- uint16_t deltbaie;
- /* coupling delta bit allocation exists */
- uint16_t cpldeltbae;
- /* fbw delta bit allocation exists */
- uint16_t deltbae[5];
- /* number of cpl delta bit segments */
- uint16_t cpldeltnseg;
- /* coupling delta bit allocation offset */
- uint16_t cpldeltoffst[8];
- /* coupling delta bit allocation length */
- uint16_t cpldeltlen[8];
- /* coupling delta bit allocation length */
- uint16_t cpldeltba[8];
- /* number of delta bit segments */
- uint16_t deltnseg[5];
- /* fbw delta bit allocation offset */
- uint16_t deltoffst[5][8];
- /* fbw delta bit allocation length */
- uint16_t deltlen[5][8];
- /* fbw delta bit allocation length */
- uint16_t deltba[5][8];
-
- /* skip length exists */
- uint16_t skiple;
- /* skip length */
- uint16_t skipl;
-
- //Removed Feb 2000 -ah
- //added Jul 2000 ++dent
- /* channel mantissas */
- uint16_t chmant[5][256];
-
- /* coupling mantissas */
-// uint16_t cplmant[256];
-
- //Added Jun 2000 -MaXX
- /* coupling floats */
- float cpl_flt[ 256 ];
-
- //Removed Feb 2000 -ah
- //added Jul 2000 ++dent
- /* coupling mantissas */
- uint16_t lfemant[7];
-
-
- /* -- Information not in the bitstream, but derived thereof -- */
-
- /* Number of coupling sub-bands */
- uint16_t ncplsubnd;
-
- /* Number of combined coupling sub-bands
- * Derived from ncplsubnd and cplbndstrc */
- uint16_t ncplbnd;
-
- /* Number of exponent groups by channel
- * Derived from strmant, endmant */
- uint16_t nchgrps[5];
-
- /* Number of coupling exponent groups
- * Derived from cplbegf, cplendf, cplexpstr */
- uint16_t ncplgrps;
-
- /* End mantissa numbers of fbw channels */
- uint16_t endmant[5];
-
- /* Start and end mantissa numbers for the coupling channel */
- uint16_t cplstrtmant;
- uint16_t cplendmant;
-
- /* Decoded exponent info */
- uint16_t fbw_exp[5][256];
- uint16_t cpl_exp[256];
- uint16_t lfe_exp[7];
-
- /* Bit allocation pointer results */
- uint16_t fbw_bap[5][256];
- uint16_t cpl_bap[256];
- uint16_t lfe_bap[7];
-
- uint32_t magic3;
-} audblk_t;
-
-