[FFmpeg-cvslog] r17993 - trunk/libavformat/rmdec.c

Måns Rullgård mans
Mon Mar 16 01:09:19 CET 2009


rbultje <subversion at mplayerhq.hu> writes:

> Author: rbultje
> Date: Sun Mar 15 21:14:25 2009
> New Revision: 17993
>
> Log:
> Fix index generation in the way that it was supposed to be used. See the
> discussion in the ML thread "[PATCH] rmdec.c: merge old/new packet reading
> code".
>
> Over time, this code broke somewhat, e.g. seq was never actually written
> into (and was thus always 1, therefore the seq condition was always true),
> whereas it was supposed to be set to the sequence number of the video slice
> in case the video frame is divided over multiple RM packets (slices). The
> problem of this is that packets other than those containing the beginning
> of a video frame would be indexed as well.
> Secondly, flags&2 is supposed to be true for video keyframes and for these
> audio packets containing the start of a block. For some codecs (e.g. AAC),
> that is every single packet, whereas for others (e.g. cook), that is the
> packet containing the first of a series of scrambled packets that are to be
> descrambled together. Indexing any of the following would lead to incomplete
> and thus useless frames. Problem here is that flags would be reset to 2 to
> indicate that the first packet is ready to be returned, and in addition if
> no data was left to be returned (which is always true for the first packet),
> then we wouldn't actually write the index entry anyway.
> All in all, the idea was good and it probably worked at some point, but that
> is long ago. This patch should at the very least make it likely for this code
> to be executed again at the right times, i.e. the way it was originally
> intended to be used.

That, my friends, is a commit message.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-cvslog mailing list