[MPlayer-dev-eng] [PATCH] YUV support for vo_quartz, at last

Romain Dolbeau dolbeau at irisa.fr
Sat May 1 17:17:57 CEST 2004


Camillo Lugaresi wrote:

> - Make sure all APIs are being called properly. I see NULL is being 
> passed as the destination port to DecompressSequenceBeginS; the 
> documentation does not say that passing NULL is supported, so it's 
> better to use GetWindowPort (I see this is in the code, but commented... 
> why?). Or point me at the docs that say you can pass NULL, I'd be glad 
> to learn something new. :)

IWFM (It Works For Me :-) That's mostly trial-and-error code.
Sometimes things work when they shouldn't, and you don't
change them for fear of breaking something...

> - Ensure you're letting QuickTime do its job in the fastest possible 
> way. I see codecFlagUseImageBuffer is being used, why is that? If there 
> are reasons to use it (even though it can slow things down), they should 
> be stated as comments in the source, so readers aren't left wondering.

The reason is, I never touched QuickTime coding before
vo_quartz, so I put the same flags as I've seen elsewhere.
Incidentally, w/o it, you're right, it seems faster for
packed YUV (doesn't seem any conversion occurs anymore).

 From planar YUV, yuv2packedXinC and hScale_altivec_real
still eats up CPU like mad. Letting QuickTime handle
the planar YUV by itself is *much* faster than forcing
the conversion in mplayer.

> I'd place it before vo_null, but after vo_sdl. SDL has been working well 
> enough; I wouldn't replace it as the default driver unless (until?) 
> vo_quartz proves to have better performance (measurements are needed).

For YV12, it's the same codepath, and about the same speed
(says gprof). For others, i don't know, because I don't know
what kinds of files prefer packed YUV as output. Any suggestion ?

-- 
Romain Dolbeau




More information about the MPlayer-dev-eng mailing list