Skip to content

lib: restructure the internal implementation of the decode API

James Almer requested to merge jamrial/dav1d:api into master

Process input data as soon as it's fed to dav1d_send_data() instead of storing a single packet and expecting the user to call dav1d_get_picture() in order to trigger the decoding process before they are allowed to feed more data.


This will allow users to feed as many data packets as libdav1d can handle before it's ready to output a picture. This could be considered a behavioral change, but not an API change since it doesn't violate what's stated in the doxy. In fact, it's now more closely honoring the doxy since, if one function returns EAGAIN, the other is guaranteed to return 0. Existing implementations, like ffmpeg wrapper, dav1d CLI, etc, are unaffected as far as i could see.

Edited by James Almer

Merge request reports