V3.1, some patches integrated...
This commit is contained in:
parent
ed9c344725
commit
ae54f3c7e8
@ -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/
|
||||
|
||||
|
@ -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
|
||||
|
@ -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);
|
@ -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
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user