[MPlayer-dev-eng] [PATCH] make lavf demuxer and mplayer demuxerreturn same format extradata.

elupus elupus at ecce.se
Sun Nov 5 14:15:45 CET 2006


> 
> Attached a minimal patch (based on your code) to fix your sample, and
> all other RV20 files (except for rv20errors.rm). This was 
> broken mainly
> by fixing the biSize value passed by real demuxer.
> 
> This patch does not pass the cmsg24 data to lavc RV20 codec, 
> it was not
> done even before RV20 got broken (the diff2 patch does it in case
> anybody wants to experiment with it, but rv20errors still has broken
> size).
> 

I noted something else on that cmsg24 data.

          if (bih->biCompression <= 0x30335652 && type2 >= 0x20200002)
            {
              /* read secondary WxH for the cmsg24[] (see vd_realvid.c) */
              ((unsigned short *)(bih+1))[4] = 4 * (unsigned short) src[0];
              ((unsigned short *)(bih+1))[5] = 4 * (unsigned short) src[1];
            }
          else
            memset(&dst[8], 0, 4);
          track->realmedia = 1;

That is in demux_mkv.c, and then vd_realvid.c it uses that extradata for
cmsg24 and once again multiplies it with 4. Thus the final change would be
8.

/Joakim




More information about the MPlayer-dev-eng mailing list