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.
Showing the changes to doc/APIchanges (1 of 6 files). Show all
Unified · Split
| @@ -15,6 +15,11 @@ libavutil: 2015-08-28 · 14 unmodified lines | |||
| 15 | 15 | ||
| 16 | API changes, most recent first: | 16 | API changes, most recent first: |
| 17 | 17 | ||
| 18 | 2016-xx-xx - xxxxxxx - lavc 57.37.100 - avcodec.h | ||
| 19 | Add a new audio/video encoding and decoding API with decoupled input | ||
| 20 | and output -- avcodec_send_packet(), avcodec_receive_frame(), | ||
| 21 | avcodec_send_frame() and avcodec_receive_packet(). | ||
| 22 | |||
| 18 | 2016-xx-xx - xxxxxxx - lavc 57.15.0 - avcodec.h | 23 | 2016-xx-xx - xxxxxxx - lavc 57.15.0 - avcodec.h |
| 19 | Add a new bitstream filtering API working with AVPackets. | 24 | Add a new bitstream filtering API working with AVPackets. |
| 20 | Deprecate the old bistream filtering API. | 25 | Deprecate the old bistream filtering API. |