V3.1, some patches integrated...

This commit is contained in:
espie 2001-11-02 17:38:04 +00:00
parent ed9c344725
commit ae54f3c7e8
7 changed files with 11 additions and 313 deletions

View File

@ -1,9 +1,9 @@
# $OpenBSD: Makefile,v 1.3 2001/10/24 12:54:33 espie Exp $
# $OpenBSD: Makefile,v 1.4 2001/11/02 17:38:04 espie Exp $
CATEGORIES= x11
NEED_VERSION= 1.474
COMMENT= "DVD player"
DISTNAME= ogle-0.8.0
DISTNAME= ogle-0.8.1
HOMEPAGE= http://www.dtek.chalmers.se/groups/dvd/
MASTER_SITES= ${HOMEPAGE}dist/

View File

@ -1,3 +1,3 @@
MD5 (ogle-0.8.0.tar.gz) = 164247b83723b68218461c34137c9a4a
RMD160 (ogle-0.8.0.tar.gz) = 1f887ed0291eed7d22fce89536cbcae27ab04774
SHA1 (ogle-0.8.0.tar.gz) = d511507082e46284ff0fd851a68fd22058101d8e
MD5 (ogle-0.8.1.tar.gz) = 0152baeeba763908044fc942117e5dcd
RMD160 (ogle-0.8.1.tar.gz) = 728a3b70bbe4b66d60b711ad804f1d15cb7a54c4
SHA1 (ogle-0.8.1.tar.gz) = bdaaca1cba3f0a9dc8594088bb447484002ca5f8

View File

@ -1,185 +0,0 @@
$OpenBSD: patch-libao_audio_out_oss_c,v 1.2 2001/10/16 15:15:09 espie Exp $
--- libao/audio_out_oss.c.orig Mon Oct 15 00:37:08 2001
+++ libao/audio_out_oss.c Tue Oct 16 11:22:38 2001
@@ -83,6 +83,119 @@ static inline int16_t convert (int32_t i
return i - 0x43c00000;
}
+unsigned char tr[235] =
+{
+0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22,
+23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63,
+64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 83, 84,
+85, 86, 87, 88, 89, 90, 91, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 119, 120,
+121, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136,
+137, 138, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
+153, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 167, 168, 169,
+170, 171, 172, 173, 174, 175, 176, 177, 179, 180, 181, 182, 183, 184, 185,
+186, 187, 188, 189, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+202, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 216, 217, 218,
+219, 220, 221, 222, 223, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234,
+235, 236, 237, 238, 239, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
+251, 253, 254, 255
+};
+
+static inline void float_to_int235 (float * _f, int16_t * s16, int flags)
+{
+ int i;
+ int32_t * f = (int32_t *) _f;
+
+ switch (flags) {
+ case A52_MONO:
+ for (i = 0; i < 235; i++) {
+ s16[5*i] = s16[5*i+1] = s16[5*i+2] = s16[5*i+3] = 0;
+ s16[5*i+4] = convert (f[tr[i]]);
+ }
+ break;
+ case A52_CHANNEL:
+ case A52_STEREO:
+ case A52_DOLBY:
+ for (i = 0; i < 235; i++) {
+ s16[2*i] = convert (f[tr[i]]);
+ s16[2*i+1] = convert (f[tr[i]+256]);
+ }
+ break;
+ case A52_3F:
+ for (i = 0; i < 235; i++) {
+ s16[5*i] = convert (f[tr[i]]);
+ s16[5*i+1] = convert (f[tr[i]+512]);
+ s16[5*i+2] = s16[5*i+3] = 0;
+ s16[5*i+4] = convert (f[tr[i]+256]);
+ }
+ break;
+ case A52_2F2R:
+ for (i = 0; i < 235; i++) {
+ s16[4*i] = convert (f[tr[i]]);
+ s16[4*i+1] = convert (f[tr[i]+256]);
+ s16[4*i+2] = convert (f[tr[i]+512]);
+ s16[4*i+3] = convert (f[tr[i]+768]);
+ }
+ break;
+ case A52_3F2R:
+ for (i = 0; i < 235; i++) {
+ s16[5*i] = convert (f[tr[i]]);
+ s16[5*i+1] = convert (f[tr[i]+512]);
+ s16[5*i+2] = convert (f[tr[i]+768]);
+ s16[5*i+3] = convert (f[tr[i]+1024]);
+ s16[5*i+4] = convert (f[tr[i]+256]);
+ }
+ break;
+ case A52_MONO | A52_LFE:
+ for (i = 0; i < 235; i++) {
+ s16[6*i] = s16[6*i+1] = s16[6*i+2] = s16[6*i+3] = 0;
+ s16[6*i+4] = convert (f[tr[i]+256]);
+ s16[6*i+5] = convert (f[tr[i]]);
+ }
+ break;
+ case A52_CHANNEL | A52_LFE:
+ case A52_STEREO | A52_LFE:
+ case A52_DOLBY | A52_LFE:
+ for (i = 0; i < 235; i++) {
+ s16[6*i] = convert (f[tr[i]+256]);
+ s16[6*i+1] = convert (f[tr[i]+512]);
+ s16[6*i+2] = s16[6*i+3] = s16[6*i+4] = 0;
+ s16[6*i+5] = convert (f[tr[i]]);
+ }
+ break;
+ case A52_3F | A52_LFE:
+ for (i = 0; i < 235; i++) {
+ s16[6*i] = convert (f[tr[i]+256]);
+ s16[6*i+1] = convert (f[tr[i]+768]);
+ s16[6*i+2] = s16[6*i+3] = 0;
+ s16[6*i+4] = convert (f[tr[i]+512]);
+ s16[6*i+5] = convert (f[tr[i]]);
+ }
+ break;
+ case A52_2F2R | A52_LFE:
+ for (i = 0; i < 235; i++) {
+ s16[6*i] = convert (f[tr[i]+256]);
+ s16[6*i+1] = convert (f[tr[i]+512]);
+ s16[6*i+2] = convert (f[tr[i]+768]);
+ s16[6*i+3] = convert (f[tr[i]+1024]);
+ s16[6*i+4] = 0;
+ s16[6*i+5] = convert (f[tr[i]]);
+ }
+ break;
+ case A52_3F2R | A52_LFE:
+ for (i = 0; i < 235; i++) {
+ s16[6*i] = convert (f[tr[i]+256]);
+ s16[6*i+1] = convert (f[tr[i]+768]);
+ s16[6*i+2] = convert (f[tr[i]+1024]);
+ s16[6*i+3] = convert (f[tr[i]+1280]);
+ s16[6*i+4] = convert (f[tr[i]+512]);
+ s16[6*i+5] = convert (f[tr[i]]);
+ }
+ break;
+ }
+}
+
static inline void float_to_int (float * _f, int16_t * s16, int flags)
{
int i;
@@ -182,6 +295,7 @@ int oss_play (ao_instance_t * _instance,
oss_instance_t * instance = (oss_instance_t *) _instance;
int16_t int16_samples[256*6];
int chans = -1;
+ static int downsample = 0;
#ifdef LIBA52_DOUBLE
float samples[256 * 6];
@@ -222,11 +336,22 @@ int oss_play (ao_instance_t * _instance,
return 1;
}
+ downsample = 0;
tmp = instance->sample_rate;
+ fprintf(stderr, "Sample rate %d\n", instance->sample_rate);
if ((ioctl (instance->fd, SNDCTL_DSP_SPEED, &tmp) < 0) ||
(tmp != instance->sample_rate)) {
fprintf (stderr, "Can not set sample rate\n");
- return 1;
+ if (instance->sample_rate == 48000) {
+ tmp = 44100;
+ if ((ioctl (instance->fd, SNDCTL_DSP_SPEED, &tmp) < 0) ||
+ (tmp != 44100)) {
+ fprintf (stderr, "Can not downsample to 44100\n");
+ return 1;
+ }
+ downsample = 1;
+ } else
+ return 1;
}
instance->flags = flags;
@@ -239,10 +364,13 @@ int oss_play (ao_instance_t * _instance,
instance->flags = A52_STEREO;
} else if (flags != instance->flags)
return 1;
-
- float_to_int (samples, int16_samples, flags);
- write (instance->fd, int16_samples, 256 * sizeof (int16_t) * chans);
-
+ if (downsample) {
+ float_to_int235 (samples, int16_samples, flags);
+ write (instance->fd, int16_samples, 235 * sizeof (int16_t) * chans);
+ } else {
+ float_to_int (samples, int16_samples, flags);
+ write (instance->fd, int16_samples, 256 * sizeof (int16_t) * chans);
+ }
return 0;
}
@@ -270,7 +398,11 @@ ao_instance_t * oss_open (int flags)
instance->set_params = 1;
instance->flags = flags;
+#ifdef __OpenBSD__
+ instance->fd = open ("/dev/audio", O_WRONLY);
+#else
instance->fd = open ("/dev/dsp", O_WRONLY);
+#endif
if (instance->fd < 0) {
fprintf (stderr, "Can not open /dev/dsp\n");
instance->fd = open ("/dev/dsp0", O_WRONLY);

View File

@ -1,102 +0,0 @@
$OpenBSD: patch-mpeg2_video_mmx_idct_S,v 1.1.1.1 2001/10/14 15:35:04 espie Exp $
--- mpeg2_video/mmx_idct.S.orig Sat Oct 13 14:55:21 2001
+++ mpeg2_video/mmx_idct.S Sat Oct 13 14:58:44 2001
@@ -9,10 +9,10 @@
.text
- .align 4
-.globl IDCT_mmx
- .type IDCT_mmx,@function
-IDCT_mmx:
+ .balign 4
+.globl _IDCT_mmx
+ .type _IDCT_mmx,@function
+_IDCT_mmx:
pushl %ebp
movl %esp,%ebp
pushl %ecx
@@ -592,11 +592,11 @@ IDCT_mmx:
popl %ebp
ret
.Lfe1:
- .size IDCT_mmx,.Lfe1-IDCT_mmx
+ .size _IDCT_mmx,.Lfe1-_IDCT_mmx
.data
- .align 16
+ .balign 16
.type preSC,@object
preSC: .short 16384,22725,21407,19266,16384,12873,8867,4520
.short 22725,31521,29692,26722,22725,17855,12299,6270
@@ -607,52 +607,52 @@ preSC: .short 16384,22725,21407,19266,
.short 17734,24598,23170,20853,17734,13933,9597,4892
.short 18081,25080,23624,21261,18081,14206,9785,4988
.size preSC,128
- .align 8
+ .balign 8
.type x0005000200010001,@object
.size x0005000200010001,8
x0005000200010001:
.long 0x00010001,0x00050002
- .align 8
+ .balign 8
.type x0040000000000000,@object
.size x0040000000000000,8
x0040000000000000:
.long 0, 0x00400000
- .align 8
+ .balign 8
.type x5a825a825a825a82,@object
.size x5a825a825a825a82,8
x5a825a825a825a82:
.long 0x5a825a82, 0x5a825a82
- .align 8
+ .balign 8
.type x539f539f539f539f,@object
.size x539f539f539f539f,8
x539f539f539f539f:
.long 0x539f539f,0x539f539f
- .align 8
+ .balign 8
.type x4546454645464546,@object
.size x4546454645464546,8
x4546454645464546:
.long 0x45464546,0x45464546
- .align 8
+ .balign 8
.type x61f861f861f861f8,@object
.size x61f861f861f861f8,8
x61f861f861f861f8:
.long 0x61f861f8,0x61f861f8
- .align 8
+ .balign 8
.type scratch1,@object
.size scratch1,8
scratch1:
.long 0,0
- .align 8
+ .balign 8
.type scratch3,@object
.size scratch3,8
scratch3:
.long 0,0
- .align 8
+ .balign 8
.type scratch5,@object
.size scratch5,8
scratch5:
.long 0,0
- .align 8
+ .balign 8
.type scratch7,@object
.size scratch7,8
scratch7:
@@ -661,5 +661,5 @@ scratch7:
.size x0,8
x0:
.long 0,0
- .align 8
+ .balign 8

View File

@ -1,4 +1,4 @@
$OpenBSD: patch-mpeg2_video_video_output_x11_c,v 1.1 2001/10/24 12:54:33 espie Exp $
$OpenBSD: patch-mpeg2_video_video_output_x11_c,v 1.2 2001/11/02 17:38:04 espie Exp $
--- mpeg2_video/video_output_x11.c.orig Tue Oct 9 01:10:59 2001
+++ mpeg2_video/video_output_x11.c Mon Oct 22 16:44:44 2001
@@ -291,6 +291,7 @@ static void display_init_xv(yuv_image_t
@ -260,19 +260,3 @@ $OpenBSD: patch-mpeg2_video_video_output_x11_c,v 1.1 2001/10/24 12:54:33 espie E
}
/* Don't care about aspect and can't change the window size, use it all. */
@@ -1235,11 +1264,14 @@ void display_exit(void)
XSync(mydisplay,True);
if(use_xshm)
XShmDetach(mydisplay, &shm_info);
- XDestroyImage(window.ximage);
+ if (!use_xv)
+ XDestroyImage(window.ximage);
shmdt(shm_info.shmaddr);
shmctl(shm_info.shmid, IPC_RMID, 0);
+#if DEBUG
fprintf(stderr, "vo: removed shm segment\n");
+#endif
display_process_exit();
}

View File

@ -1,3 +1,3 @@
@comment $OpenBSD: PFRAG.shared,v 1.2 2001/10/28 13:23:21 espie Exp $
@comment $OpenBSD: PFRAG.shared,v 1.3 2001/11/02 17:38:04 espie Exp $
lib/ogle/libdvdcontrol.so.4.0
lib/ogle/libmsgevents.so.3.1

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2001/10/14 15:35:04 espie Exp $
@comment $OpenBSD: PLIST,v 1.2 2001/11/02 17:38:04 espie Exp $
bin/ifo_dump
bin/ogle
include/ogle/dvd.h
@ -19,8 +19,9 @@ lib/ogle/ogle_nav
lib/ogle/ogle_vout
man/man1/ogle.1
man/man5/oglerc.5
share/ogle_conf.dtd
share/oglerc
share/ogle/ogle_conf.dtd
share/ogle/oglerc
%%SHARED%%
@dirrm share/ogle
@dirrm lib/ogle
@dirrm include/ogle