[MPlayer-dev-eng] mencoder and stream errors.

Michael Niedermayer michaelni at gmx.at
Mon May 31 03:29:10 CEST 2010


On Tue, May 18, 2010 at 09:47:06AM -0700, Bill Pringlemeir wrote:
> I have filed a bug http://bugzilla.mplayerhq.hu/show_bug.cgi?id=1613
> 
> I think I have a handle on what the general issue is.
> mpeg_decode_mb() returns an error to mpeg_decode_slice().  This skips
> the ff_draw_horiz_band() call in the same so the 'vf_scale' module
> never gets called with this slice [see libavcodec/mpeg12.c].
> 
[...]
> Is there some other area of the decoder that might go haywire if a slice
> is skipped?  Ie, some b-frame or p-frame decoding that might have some
> i-frame gap or something like that?  Or maybe one of the other video filters 
> is stepping on a variable or something like that.  I had tried to reduce the 
> size of a sample, but the current smallest file I have is 
> 

> There are various solutions to the scaler to stop the SEGV, but I think something 
> else is going on as well.  

the scaler doesnt support holes between slices, neither does the filter system

if you want to fix this, the minimal fix would be to detect holes in
ff_draw_horiz_band()
and fill that holes by calling draw_horiz_band with the last_picture
a patch for that is welcome (should be quite easy)

for non b frames its possible to do better in terms of error concealment
by stoping and waiting till the end before pushing the slices through
but thats not mandatory atm

also -noslices should avoid this issue, and either way if your stream
is damaged you dont want to use slices as it can reduce quality due to
making error concealment harder
but it still should be fixed of course

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20100531/93653e17/attachment.pgp>


More information about the MPlayer-dev-eng mailing list