openbsd-ports/x11/ogle/patches/patch-mpeg2_video_spu_mixer_c
2009-12-09 10:19:33 +00:00

30 lines
1006 B
Plaintext

$OpenBSD: patch-mpeg2_video_spu_mixer_c,v 1.5 2009/12/09 10:19:33 jakemsr Exp $
--- mpeg2_video/spu_mixer.c.orig Mon Oct 20 13:28:27 2003
+++ mpeg2_video/spu_mixer.c Sun Feb 8 12:15:47 2009
@@ -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_handle_t *spu_info
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_handle_t *spu_info
#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