I noticed that YUV overlays don’t work in OS X in a window (there’s just
a black screen), but they do work fullscreen. Is this intentional?
I’m trying to use SMPEG to play back cutscenes. Everything works fine in
Linux/Windows both windowed and fullscreen.
Gregory
Hello Gregory,
Tuesday, September 5, 2006, 11:25:45 PM, you wrote:
I noticed that YUV overlays don’t work in OS X in a window (there’s just
a black screen), but they do work fullscreen. Is this intentional?
I’m trying to use SMPEG to play back cutscenes. Everything works fine in
Linux/Windows both windowed and fullscreen.
I doubt it’s intentional. There are some bugs in the OS X YUV support
(eg crashes on Intel Mac’s - i’ve filed this in bugzilla). I’m not
sure if it’s issues with Quicktime (used to do the conversion) or how
SDL is using it.
A quick fix is to put SDL_putenv(“SDL_VIDEO_YUV_HWACCEL=0”); at the
start of your program - this forces SDL to use software YUV
conversion.–
Best regards,
Peter mailto:@Peter_Mulholland
Hi Peter,On Sep 5, 2006, at 8:00 PM, Peter Mulholland wrote:
I doubt it’s intentional. There are some bugs in the OS X YUV support
(eg crashes on Intel Mac’s - i’ve filed this in bugzilla). I’m not
sure if it’s issues with Quicktime (used to do the conversion) or how
SDL is using it.
A quick fix is to put SDL_putenv(“SDL_VIDEO_YUV_HWACCEL=0”); at the
start of your program - this forces SDL to use software YUV
conversion.
Thanks, I had tried that before and it didn’t work, but I must have
been doing something wrong. Playback works fine windowed with that
env var set.
Gregory
Peter Mulholland <darkmatter freeuk.com> writes:
Hello Gregory,
Tuesday, September 5, 2006, 11:25:45 PM, you wrote:
I noticed that YUV overlays don’t work in OS X in a window (there’s just
a black screen), but they do work fullscreen. Is this intentional?
I’m trying to use SMPEG to play back cutscenes. Everything works fine in
Linux/Windows both windowed and fullscreen.
I doubt it’s intentional. There are some bugs in the OS X YUV support
(eg crashes on Intel Mac’s - i’ve filed this in bugzilla). I’m not
sure if it’s issues with Quicktime (used to do the conversion) or how
SDL is using it.
A quick fix is to put SDL_putenv(“SDL_VIDEO_YUV_HWACCEL=0”); at the
start of your program - this forces SDL to use software YUV
conversion.
The YUV 420 is buggy on MacOS X intel. Here is the patch:
— SDL-1.2.9/src/video/quartz/SDL_QuartzYUV.m 2004-01-04 15:55:35 +0100
+++ SDL-1.2.9-jc/src/video/quartz/SDL_QuartzYUV.m 2006-09-10 11:37:41 +0200
@@ -273,6 +273,8 @@
return NULL;
}
@@ -290,20 +292,20 @@
/* CHECK_ALIGN(pixels[0]); */
pitches[0] = width;
-
yuv_pixmap->componentInfoY.offset = EndianS32_NtoB(offset);
-
yuv_pixmap->componentInfoY.rowBytes = EndianU32_NtoB(width);
offset += width * height;
pixels[plane2] = (Uint8*)yuv_pixmap + offset;
pitches[plane2] = width / 2;
-
yuv_pixmap->componentInfoCb.offset = EndianS32_NtoB(offset);
-
yuv_pixmap->componentInfoCb.rowBytes = EndianU32_NtoB(width / 2);
offset += (width * height / 4);
pixels[plane3] = (Uint8*)yuv_pixmap + offset;
pitches[plane3] = width / 2;