[x264-devel] non-existing PPS referenced

Jose M josefo.lists at gmail.com
Fri May 8 03:37:19 CEST 2009


On Thu, May 7, 2009 at 3:31 PM, Loren Merritt <lorenm at u.washington.edu> wrote:
>
> On Thu, 7 May 2009, Jose M wrote:
>
>> I am using x264 through ffmpeg. The encoder is configured to encode
>> continuously at 25 frame gop, I and P frames (320x200).  It encodes fine for
>> days, even weeks, but after a while enters a state where it stops writting a
>> reference frame or maybe just a header.  If the result is played back, it
>> gives the following error:
>> "[h264 @ 0x80d79f0]non-existing PPS referenced" continously.
>
> Missing a frame or a header would not cause that error. x264 only ever uses one PPS id, so even if it somehow stopped writing PPSes, the decoder would still use the one it read from the beginning of the stream.


I am encoding for a continous network streaming application (RTP on a
transport stream), so a client decoder needs a PPS/SPS/IDR to be
written every GOP, otherwise it would not be able to start decoding ,
or doing a mid-stream start. Even if it would get an IDR frame, the
stream would not be error resilient without IDR's at regular
intervals.



>
>> - Which is a "stable" snapshot that can be used.
>
> There is no official snapshot which is any more stable than the latest git checkout.
>
>> - Has anybody found this issue before. Maybe is fixed. I could not find
>> something like that on the newsgroup
>
> No.
>
>
> x264 != ffmpeg, so the first question is whether the same problem occurs when you give the same options to x264cli.
> Does it consistently occur after N weeks, or is it just rare but random?
> Have you performed any test which would distinguish between an encoder bug and a decoder bug?


It is definetely an encoder (x264 or ffmpeg) bug. I analyzed the
stream myself, and with an analyzer, going down to the elementary
stream. NALS 5,7 & 8 are missing (SPS, PPS and IDR), ands the analyzer
complains about the same things missing. Only nonIDRs are found.

Unfortunately the code is part of a system. I am using ffmpeg
transport mux, together with AAC audio. The Audio plays fine, the
streams is also fine, is the video elementary that is bad.

The bug seems to be rare and random. I was hoping that somebody had
the same problems.

I have some other problems that I need help on, but I will make a
different post for them.

I will try the latest code and test again.

Thanks,

-- Jose


More information about the x264-devel mailing list