[FFmpeg-cvslog] h264dec: Dont display trash before a keyframe.

Michael Niedermayer michaelni at gmx.at
Sun Sep 18 23:30:32 CEST 2011


On Sun, Sep 18, 2011 at 01:47:18PM -0700, John Stebbins wrote:
> 
> On 09/17/2011 10:17 PM, Michael Niedermayer wrote:
> > On Sat, Sep 17, 2011 at 10:14:47PM -0700, John Stebbins wrote:
> >> On 09/17/2011 09:53 PM, Michael Niedermayer wrote:
> >>> this looks odd, like if a () is missing over the +
> >>> also id use a & (x-1) instead of %x but thats just me
> >>>
> >>> [...]
> >>>
> >> oops!  You are correct.  I just created this patch today and am still
> >> testing it.  Good eyes.
> > 
> > tell me once you are done with testing so i can commit+push it
> > 
> > [...]
> 
> Here's a patch that's been tested better this time.

applied & pushed & thanks


> 
> I have a couple samples that exorcise this code pretty well.  One is an h.264 stream that has recovery points with
> recovery_frame_cnt = 0 flagged at B-frames.  Since there is frame re-ordering done, the initial frames output by the
> decoder would be incomplete because the flagged B-frame hasn't reached the output yet.  This stream plays back only
> clean frames due to mn's previous patch.
> 
> The other stream I generated with x264 using intra-refresh.  This stream has only a single IDR at the beginning and
> recovery points with non-zero recovery_frame_cnt throughout the rest.  This stream shows junk when played with mn's
> patch.  Adding my patch cleans this up.
> 
> There is still one remaining issue.  When seeking through such streams, you may hit a recovery point on a slice that
> references a frame that is not available.  ffmpeg errors out on such frames and you get some garbage displayed. The spec
> says these should be treated like this:
> 
> "When decoding starts from the location of the recovery point SEI message, all references to not available reference
> pictures shall be inferred as references to pictures containing only macroblocks coded using Intra macroblock prediction
> modes and having sample values given by Y samples equal to 128, Cb samples equal to 128, and Cr samples equal to
> 128 (mid-level grey)"
>

> I tried to upload my PIR sample to upload.ffmpeg.org, but I get connection refused.  Perhaps a firewall problem?  I'll
> try from home later.

please upload to our trac bugtracker if the file is small enough



[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

it is not once nor twice but times without number that the same ideas make
their appearance in the world. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-cvslog/attachments/20110918/2c435ed9/attachment.asc>


More information about the ffmpeg-cvslog mailing list