summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2001-08-10 12:42:10 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2001-08-10 12:42:10 +0200
commit4ea2daeebec3b37e34882d4aa84a9eb6a128ae0d (patch)
tree14f68053b78a97e02cfc53e5dbb3d4914d9fcf99
parent89bf34e362217b614869562e45cf3de4a3238648 (diff)
downloadvdr-4ea2daeebec3b37e34882d4aa84a9eb6a128ae0d.tar.gz
vdr-4ea2daeebec3b37e34882d4aa84a9eb6a128ae0d.tar.bz2
Improved AC3 decoding when replaying DVDs
-rw-r--r--CONTRIBUTORS3
-rw-r--r--HISTORY3
-rw-r--r--config.h4
-rw-r--r--dvbapi.c13
4 files changed, 11 insertions, 12 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 437b09d4..6f76971b 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -119,3 +119,6 @@ Wolfgang Henselmann-Weiss <Wolfgang_Henselmann@betaresearch.de>
Uwe Scheffler <UweScheffler@t-online.de>
for his help in keeping 'channels.conf.cable' up to date
+
+Matjaz Thaler <matjaz.thaler@guest.arnes.si>
+ for improving AC3 decoding when replaying DVDs
diff --git a/HISTORY b/HISTORY
index 09c8fa7a..a44ec755 100644
--- a/HISTORY
+++ b/HISTORY
@@ -622,9 +622,10 @@ Video Disk Recorder Revision History
- Fixed calculating the timeout value in cFile::FileReady() (thanks to
Wolfgang Henselmann-Weiss).
-2001-08-08: Version 0.91
+2001-08-10: Version 0.91
- Fixed displaying colored button texts that are too long.
- Suppressing replay progress display when replaying a DVD.
- Updated channels.conf.cable (thanks to Uwe Scheffler).
- Updated French OSD texts (thanks to Jean-Claude Repetto).
+- Improved AC3 decoding when replaying DVDs (thanks to Matjaz Thaler).
diff --git a/config.h b/config.h
index 87440bb0..2f11848c 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 1.57 2001/08/05 15:50:00 kls Exp $
+ * $Id: config.h 1.58 2001/08/10 12:40:43 kls Exp $
*/
#ifndef __CONFIG_H
@@ -19,7 +19,7 @@
#include "eit.h"
#include "tools.h"
-#define VDRVERSION "0.90"
+#define VDRVERSION "0.91"
#define MaxBuffer 10000
diff --git a/dvbapi.c b/dvbapi.c
index 0524f00f..b637b5f8 100644
--- a/dvbapi.c
+++ b/dvbapi.c
@@ -7,7 +7,7 @@
* DVD support initially written by Andreas Schultz <aschultz@warp10.net>
* based on dvdplayer-0.5 by Matjaz Thaler <matjaz.thaler@guest.arnes.si>
*
- * $Id: dvbapi.c 1.101 2001/08/06 16:24:13 kls Exp $
+ * $Id: dvbapi.c 1.102 2001/08/10 12:37:03 kls Exp $
*/
//#define DVDDEBUG 1
@@ -53,7 +53,6 @@ extern "C" {
// The size of the array used to buffer video data:
// (must be larger than MINVIDEODATA - see remux.h)
#define VIDEOBUFSIZE (1024*1024)
-#define AC3_BUFFER_SIZE (6*1024*16)
// The maximum size of a single frame:
#define MAXFRAMESIZE (192*1024)
@@ -1172,7 +1171,6 @@ private:
int logAudioTrack;
int maxAudioTrack;
- ac3_config_t ac3_config;
enum { AC3_STOP, AC3_START, AC3_PLAY } ac3stat;
uchar *ac3data;
int ac3inp;
@@ -1231,10 +1229,7 @@ cDVDplayBuffer::cDVDplayBuffer(cDvbApi *DvbApi, int VideoDev, int AudioDev, cDVD
skipCnt = 0;
logAudioTrack = 0;
canToggleAudioTrack = true;//XXX determine from cDVD!
- ac3_config.num_output_ch = 2;
- // ac3_config.flags = /* mm_accel() | */ MM_ACCEL_MLIB;
- ac3_config.flags = 0;
- ac3_init(&ac3_config);
+ ac3dec_init();
data = new uchar[1024 * DVD_VIDEO_LB_LEN];
ac3data = new uchar[AC3_BUFFER_SIZE];
ac3inp = ac3outp = 0;
@@ -1823,9 +1818,9 @@ void cDVDplayBuffer::handleAC3(unsigned char *sector, int length)
}
else {
if (ac3stat == AC3_PLAY)
- ac3_decode_data(sector, sector+length, 0, &ac3inp, &ac3outp, (char *)ac3data);
+ ac3dec_decode_data(sector, sector + length, 0, &ac3inp, &ac3outp, (char *)ac3data);
else if (ac3stat == AC3_START) {
- ac3_decode_data(sector, sector+length, 1, &ac3inp, &ac3outp, (char *)ac3data);
+ ac3dec_decode_data(sector, sector + length, 1, &ac3inp, &ac3outp, (char *)ac3data);
ac3stat = AC3_PLAY;
}
}