[MPlayer-cygwin] Fast CoreAVC DShow H264 decoder - Need help

Stefan Gürtler helfmir at surfeu.de
Tue Jan 17 17:26:22 CET 2006


John Brown schrieb:
>> I was refering to the error code (r=0x51a3e10) in the Warning
>> Warning: DS_Filter() could not open DirectShow DLL. 
>> (DLL=CoreAVCDecoder.ax, r=0x51a3e10)
> 
> 
> I understood. What I meant to say was that since LoadLibrary failed, the 
> result variable would be unintialized, so that r=0x51a3e10 does not mean 
> anything.
Only strange thig is, where does the value come from? It does not look 
like a radom value to me. But i do not know the default value gcc will 
give to an (uninitialized) local variable of the type HRESULT. MSDN does 
not tell me the header to look for the definition fo HRESULT.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemexceptionclasshresulttopic.asp
I have spent the last 1 1/2 years coding in Java, most of my limited 
c-knowledge is gone.
> 
> 
> Apparently, the code does not append the DLL name to the codecsdir, at 
> least in the case of DirectShow codecs. If that is so, then it should be 
> OK to specify the absolute path in codecs.conf, or you can add your 
> codecs directory to your %PATH%
> 
>> --with-codecsdir=/some/ablsolut/path.
> 
> You mentioned mingw before. If you are using mingw, why are you using a 
> Unix path?

I am using MinGW for compiling and MSys as small POSIX-environment. One 
can do more things in MSys bash than in MS cmd. Unless you spezify only 
relativ paths in ./confiuger, e.g. for the date-dir or codecs-dir, MinGW 
builds will try to use standard paths known from unix/linux/cygwin etc, 
too, when started in MSys bash. Have a look e.g. at the paths, where 
MinGW-compiled mplayer looks for codecs.conf
mplayer -v
Stefan at SAGARA /opt/mplayer_coreavc/bin
$ ./mplayer.exe -v
MPlayer dev-CVS-060116-18:40-3.4.4 (C) 2000-2006 MPlayer Team
CPU: Intel Pentium M Dothan (Family: 6, Stepping: 8)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2


get_path('codecs.conf') -> 
'C:/Programme/msys/1.0/home/Stefan/mplayer/codecs.conf
...


> 
>> New /odl error code r=0x80040111. Looks like I have to work on the 
>> GUIDs, finally.
>>
> I think you reported this error before. To find it in winerror.h, you 
> may have to convert it to decimal. The relevant error values are stored 
> as decimal in my winerror.h at home, while at work, they are in hex. MS 
> Calc will treat this number as an unsigned integer. If you need a signed 
> result, the easiest way is to write a small program with:
> 
> printf("%i\n", (int)0x80040111 );
> 
> Your error is CLASS_E_CLASSNOTAVAILABLE
> 
Yes, you are right. In the beginning, I spezifiyed no guids at all, 
later on the wrong once from VSSH
-> In both cases I get a CLASS_E_CLASSNOTAVAILABLE.
After putting the correckt guids in codecs.conf (see post from comp), 
the error code changed once more.

ERROR: Could not open required DirectShow codec CoreAVCDecoder.ax.
Warning: DS_Filter() source format is not accepted. 
(DLL=CoreAVCDecoder.ax, r=0x1)

There we are stuck right now.

Stefan





More information about the MPlayer-cygwin mailing list