6e5d02b09c
Feedback by various people. PgUp/PgDown now work better, various minor improvements. The port now builds correctly even with an installed older version.
30 lines
998 B
Plaintext
30 lines
998 B
Plaintext
$OpenBSD: patch-mpeg2_video_spu_mixer_c,v 1.4 2003/11/13 18:46:47 espie Exp $
|
|
--- mpeg2_video/spu_mixer.c.orig 2003-10-20 22:28:27.000000000 +0200
|
|
+++ mpeg2_video/spu_mixer.c 2003-11-06 07:34:50.000000000 +0100
|
|
@@ -45,6 +45,8 @@
|
|
|
|
|
|
|
|
+int subtitle_pos[150];
|
|
+int subtitle_index = 0;
|
|
|
|
#ifdef DEBUG
|
|
#define GETBYTES(a,b) getbytes(a,b)
|
|
@@ -966,6 +968,7 @@ static void decode_display_data(spu_hand
|
|
y = 0;
|
|
|
|
DPRINTF(5, "vlc decoding\n");
|
|
+ subtitle_index = spu_info->y_start / 64;
|
|
while((fieldoffset[1] < spu_info->DCSQT_offset) && (y < spu_info->height)) {
|
|
unsigned int vlc;
|
|
unsigned int length;
|
|
@@ -1031,7 +1034,7 @@ static void decode_display_data(spu_hand
|
|
#define MIN(x,y) (((x) < (y)) ? (x) : (y))
|
|
#endif
|
|
{
|
|
- const unsigned int line_y = (y + spu_info->y_start) * line_stride;
|
|
+ const unsigned int line_y = (y + spu_info->y_start+subtitle_pos[subtitle_index]) * line_stride;
|
|
// (width * bpp) == line_stride (for rgb or yuv)
|
|
|
|
// bpp == 1
|