lavf: deobfuscate read_frame_internal().
authorAnton Khirnov <anton@khirnov.net>
Sun, 4 Mar 2012 14:49:26 +0000 (15:49 +0100)
committerAnton Khirnov <anton@khirnov.net>
Mon, 5 Mar 2012 17:47:05 +0000 (18:47 +0100)
commit27c7ca9c12bb42d5c44d46f24cd970469d0ef55a
tree919bcdcd0a17451b2d79edc121a4c05f57ffe86e
parentdcee811505b9f95edad73526d94cabc99331b659
lavf: deobfuscate read_frame_internal().

Split off packet parsing into a separate function. Parse full packets at
once and store them in a queue, eliminating the need for tracking
parsing state in AVStream.

The horrible unreadable loop in read_frame_internal() now isn't weirdly
ordered and doesn't contain evil gotos, so it should be much easier to
understand.

compute_pkt_fields() now invents slightly different timestamps for two
raw vc1 tests, due to has_b_frames being set a bit later. They shouldn't
be more wrong (or right) than previous ones.
libavformat/avformat.h
libavformat/seek.c
libavformat/seek.h
libavformat/utils.c
tests/ref/fate/vc1_sa00040
tests/ref/fate/vc1_sa00050