cbs: Refcount all the things!
authorMark Thompson <sw@jkqxz.net>
Sun, 11 Feb 2018 00:51:33 +0000 (00:51 +0000)
committerMark Thompson <sw@jkqxz.net>
Tue, 20 Feb 2018 22:04:12 +0000 (22:04 +0000)
commitce5870a3a8f2b10668ee4f04c2ae0287f66f31b2
tree612022db516c9a96d051e9a55c89b503b99d5112
parent13ca5d34ba5c473211daaae0a101123bcaada3e6
cbs: Refcount all the things!

This makes it easier for users of the CBS API to get alloc/free right -
all subelements use the buffer API so that it's clear how to free them.
It also allows eliding some redundant copies: the packet -> fragment copy
disappears after this change if the input packet is refcounted, and more
codec-specific cases are now possible (but not included in this patch).
15 files changed:
libavcodec/cbs.c
libavcodec/cbs.h
libavcodec/cbs_h264.h
libavcodec/cbs_h2645.c
libavcodec/cbs_h265.h
libavcodec/cbs_internal.h
libavcodec/cbs_mpeg2.c
libavcodec/cbs_mpeg2.h
libavcodec/cbs_mpeg2_syntax_template.c
libavcodec/h264_metadata_bsf.c
libavcodec/h265_metadata_bsf.c
libavcodec/mpeg2_metadata_bsf.c
libavcodec/vaapi_encode_h264.c
libavcodec/vaapi_encode_h265.c
libavcodec/vaapi_encode_mpeg2.c