[MPlayer-dev-eng] Status of CoreAVC (last time) and using win32 codecs on x86_64

Carl Eugen Hoyos cehoyos at ag.or.at
Fri Sep 7 21:22:33 CEST 2007


Hi!

Alan Nisota wrote:
[...]

> Mplayer does not seem to have the capability to deal with the fact that 
> CoreAVC does the deinterlacing internally, and so I have been unable to 
> make mplayer work with interlaced AVC streams, but MythTV and Xine can 
> both handle it.  I have no plans to try to fix mplayer for this.

I fixed the decoding of transport streams containing PAFF encoded video
for mplayer -correct-pts -demuxer lavf -vc coreavc (but unfortunately
not for mencoder). It is likely that this change leads to a small (but
constant) A/V desync, because some frames in the beginning of the stream
will be skipped.

In loader/dshow/DS_VideoDecoder.c, the following line has to be added
after "sample->vt->Release((IUnknown*)sample)" (around line 447):
    if (!framecount) return -1;

And the following, inlined patch has to applied to libmpcodecs/vd_dshow.c.

On fast computers, this should allow playback of PAFF encoded videos
with mplayer and coreavc.

Carl Eugen

Index: libmpcodecs/vd_dshow.c
===================================================================
--- libmpcodecs/vd_dshow.c      (Revision 24350)
+++ libmpcodecs/vd_dshow.c      (Arbeitskopie)
@@ -109,7 +109,8 @@
        return NULL;
     }

-    DS_VideoDecoder_DecodeInternal(sh->context, data, len, 0,
mpi->planes[0]);
+    if (DS_VideoDecoder_DecodeInternal(sh->context, data, len, 0,
mpi->planes[0])<0)
+        return NULL;

     return mpi;
 }



More information about the MPlayer-dev-eng mailing list