This set follows the same logic as 061a0c14bb, but for the encode API: The new public API will no longer be a wrapper around the old deprecated one, and the internal API used by the encoders now consists of a single receive_packet() callback that pulls frames as required.
Because of the above, PATCH 2/4 can't be applied until all the relevant encoders have been adapted, and said changes squashed into it. This means librav1e, nvenc, amfenc, v4l2_m2m, and vaapi_enc. I have ported librav1e both to test this set and for it to work as an example for the maintainers of the other three encoders in order to get an idea of what they should do. James Almer (4): avcodec: move avcodec_flush_buffers from decode.c to utils.c avcodec/encode: restructure the core encoding code avcodec/encode: restructure the old encode API avcodec/librav1e: adapt to the new internal encode API libavcodec/avcodec.h | 12 +- libavcodec/decode.c | 36 --- libavcodec/encode.c | 497 +++++++++++++++++++++--------------------- libavcodec/encode.h | 39 ++++ libavcodec/internal.h | 8 +- libavcodec/librav1e.c | 65 +++--- libavcodec/utils.c | 52 ++++- 7 files changed, 384 insertions(+), 325 deletions(-) create mode 100644 libavcodec/encode.h -- 2.25.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".