[Mplayer-dev-eng] Porting to IRIX/Solaris

Jean-Francois Beleyn gianfranco at ulyssis.org
Mon Aug 6 00:04:41 CEST 2001


On Sat, 4 Aug 2001, Arpi wrote:

> Hi,
>
> > Also got a seg fault when i opened an avi (divx), after some time i
> > located the problem at:
> >
> > aviheader.c line 91:
> > sh_video->bih=calloc((chunksize<sizeof(BITMAPINFOHEADER))?sizeof(BITMAPINFOHEADER):chunksize,1);
>
> what is segfaulting? calloc() function or sh_video == NULL ?
>
sh_video == NULL

on line 78:
if(h.fccType==streamtypeVIDEO){
we only need to compare the first 32 bits not the full 64 , so:
 if(((int) h.fccType)==((int) streamtypeVIDEO)){

or maybe make FOURCC and mmioFOURCC 32 bit (int) instead of 64 bit
(DWORD/long) on alpha ?

done the last thing:

#ifndef mmioFOURCC
#ifdef ARCH_ALPHA
#define mmioFOURCC( ch0, ch1, ch2, ch3 )                                \
  ( (int)(unsigned char)(ch0) | ( (int)(unsigned char)(ch1) << 8 ) |    \
  ( (int)(unsigned char)(ch2) << 16 ) | ( (int)(unsigned char)(ch3) << 24
) )
#else
#define mmioFOURCC( ch0, ch1, ch2, ch3 )
\
  ( (long)(unsigned char)(ch0) | ( (long)(unsigned char)(ch1) << 8 ) |
\
  ( (long)(unsigned char)(ch2) << 16 ) | ( (long)(unsigned char)(ch3) <<
24 ) )
#endif /* ARCH_ALPHA */
#endif /* mmioFOURCC */


not sure if it has to be in :
loader/wine/vfw.h
or loader/wine/avifmt.h
or loader/DirectShow/default.h

and

#ifdef ARCH_ALPHA
typedef unsigned int DWORD;
#else
typedef unsigned long DWORD;
#endif

in :
libvo/vo_odivx.c
or loader/wine/windef.h
or loader/DirectShow/default.h
...


> > It's probably a 32 vs 64 bit thing.
> don't think so.
>


now still have no moving picture, but the verbose-messages seems a lot
better (frame, size, rate, ... values seems ok now ) and i got some
(shitty) sound ...

greetings
gianfranco



_______________________________________________
Mplayer-dev-eng mailing list
Mplayer-dev-eng at lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/mplayer-dev-eng



More information about the MPlayer-dev-eng mailing list