[MPlayer-dev-eng] [PATCH] Supporting DMO decoder from WMP11, multithreaded WMV3/VC1 decoding
Zhou Zongyi
zhouzongyi at pset.suntec.net
Mon Jan 12 06:25:44 CET 2009
Hi,
> This would disable the only use of the out_fmt function parameter. Is
> that parameter useless?
>
> Also after this change 4 lines of code would be triply disabled: the
> code is between comment markers, which are inside "if (0)", which is
> inside "#if 0". Maybe that code could be either deleted or the nesting
> reduced a bit?
Well, I find that my patch breaks audio DMO decoders.
The following code causes problem
hr = This->m_pMedia->vt->SetOutputType(This->m_pMedia, 0, out_fmt, 0);
if (hr)
{
em = "output format no accepted";
break;
}
MPlayer's Video and audio DMO decoder use different ways to set output type. The Video decoder negotiates and sets output type through SetOutputType after call to DMO_FilterCreate, but the Audio decoder sets output format in out_fmt->subtype before call to DMO_FilterCreate. Before the video decoder calls DMO_FilterCreate, it always sets out_fmt->subtype to MEDIASUBTYPE_RGB24 and unfortunately wmvdecod.dll does not accept RGB24 as output format.
Any better ideas?
Zhou Zongyi
More information about the MPlayer-dev-eng
mailing list