[MPlayer-dev-eng] yuv2yuv ??

David Holm dholm at telia.com
Mon Nov 5 06:03:51 CET 2001


A thought (more like question) came to me while pressing the send 
button. Is it even remotely possible to implement such a general 
function and still have an acceptable degree of optimization between 
formats, I've had enough of converters doing say,
yv12toyuv420 by yv12->rgb and then rgb->yuv420.
I'd surely get involved in coming up with a solution, but I'll leave 
conversion algorithms and asm code to others at the moment ;)... I need 
to broathen my knowledge of yuv before attempting anything.

David Holm wrote:

> Ok, I see that there is a huge interest in this, what I would want is 
> a fast (read c+mmx+...+sse2) implementation of this which would 
> convert at least YV12 and YUY2 to planar YUV420 since that is the 
> format of choice by ffmpeg AND most importantly, the format of choice 
> for the dxr3. I'm not too good at this YUV format yet, 4 days ago in 
> knew no more than that it was a way of storing pixels and quite 
> frankly it is taking me quite a while to figure out how to do 
> yuy2->yuv420p, I'll solve it soon though I hope ;).
>
> Anyways, my next point is, libvo->query_format() should return a 
> priority value instead of an integer interpreted as a boolean. For 
> instance, since my dxr3 driver would at 1.st hand prefer MPEGPES and 
> 2:nd hand prefer YUV420P and so on input, why not make a system 
> depending on priorities instead of just booleans?
> Also, MPlayer should be able to figure out by itself that when a libvo 
> supports (say) YV12 input only it should default to the odivx codec, 
> instead of just defaulting to divxds and then telling me the format is 
> unsupported.
>
> //David Holm
>
> P.S. why not a (example) yuv2yuv((bool)planar/packed, 
> y;vertical:horizontal, u;vertical:horizontal...(IMGPXL_*)outfmt, 
> void*dst, int dst_size) letting the yuv2yuv malloc dst. Instead of 
> just creating a million yuy2toyuv420 rgb24tobgr32 uyvy2yv12 and so on 
> and so forth... D.S.
>
> Arpi wrote:
>
>> Hi,
>>
>>> On Friday, 2. November 2001 21:31, you wrote:
>>>
>>>> Hi,
>>>> is there a fast, working yuv2yuv function in mplayer?
>>>>
>>> no.
>>>
>>>> If not, can anyone tell me where to find one?
>>>>
>>> dunno, but maybe Michael or Nick will write one.
>>>
>>> Btw. I'd also like an optimized YV12->YUY2 code so I can send it to 
>>> savage driver maintainer to speed up decoding on savage :) (it 
>>> currently does slow C conversion in driver from anyYUV->YUY2).
>>>
>>
>> we need it anyway for mencoder, as win32 codecs in/out yuy2 while 
>> others yv12
>>
>> and what about a fast bgr24 -> yuy2 ? usefull for codecs with no yuv 
>> support.
>>
>>
>> A'rpi / Astral & ESP-team
>>
>> -- 
>> mailto:arpi at thot.banki.hu
>> http://esp-team.scene.hu
>> _______________________________________________
>> MPlayer-dev-eng mailing list
>> MPlayer-dev-eng at mplayerhq.hu
>> http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
>>
>
>
>
> _______________________________________________
> MPlayer-dev-eng mailing list
> MPlayer-dev-eng at mplayerhq.hu
> http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
>






More information about the MPlayer-dev-eng mailing list