lavc: introduce a new decoding/encoding API with decoupled input/output
authorwm4 <nfxjfg@googlemail.com>
Tue, 22 Mar 2016 18:09:53 +0000 (19:09 +0100)
committerwm4 <nfxjfg@googlemail.com>
Thu, 21 Apr 2016 12:23:36 +0000 (14:23 +0200)
commit7fc329e2dd6226dfecaa4a1d7adf353bf2773726
tree697dd1faba6f7a1104fba355f171da913ca90c78
parenta0b92788a885f4a424d74e04b942ade0cca25403
lavc: introduce a new decoding/encoding API with decoupled input/output

Until now, the decoding API was restricted to outputting 0 or 1 frames
per input packet. It also enforces a somewhat rigid dataflow in general.

This new API seeks to relax these restrictions by decoupling input and
output. Instead of doing a single call on each decode step, which may
consume the packet and may produce output, the new API requires the user
to send input first, and then ask for output.

For now, there are no codecs supporting this API. The API can work with
codecs using the old API, and most code added here is to make them
interoperate. The reverse is not possible, although for audio it might.

From Libav commit 05f66706d182eb0c36af54d72614bf4c33e957a9.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
doc/APIchanges
libavcodec/avcodec.h
libavcodec/internal.h
libavcodec/utils.c
libavcodec/version.h
libavformat/avformat.h