summaryrefslogtreecommitdiff
path: root/libavcodec/libkvazaar.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-04-25 01:43:26 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-05-23 14:42:22 +0200
commit95c8a859d97e9902388f5acf5c735b16417a2609 (patch)
tree54600312857481490131b11b8eb97e5cef3d2c46 /libavcodec/libkvazaar.c
parent91567c28fc178d8f3c226b66dd40572f4eadd35c (diff)
avcodec/libkvazaar: Allow user-supplied buffers
Here the packet size is known before allocating the packet, so that supporting user-supplied buffers is trivial. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/libkvazaar.c')
-rw-r--r--libavcodec/libkvazaar.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/libkvazaar.c b/libavcodec/libkvazaar.c
index 14eabe4e05..aabe446a28 100644
--- a/libavcodec/libkvazaar.c
+++ b/libavcodec/libkvazaar.c
@@ -36,6 +36,7 @@
#include "libavutil/opt.h"
#include "avcodec.h"
+#include "encode.h"
#include "internal.h"
#include "packet_internal.h"
@@ -237,7 +238,7 @@ static int libkvazaar_encode(AVCodecContext *avctx,
kvz_data_chunk *chunk = NULL;
uint64_t written = 0;
- retval = ff_alloc_packet2(avctx, avpkt, len_out, len_out);
+ retval = ff_get_encode_buffer(avctx, avpkt, len_out, 0);
if (retval < 0) {
av_log(avctx, AV_LOG_ERROR, "Failed to allocate output packet.\n");
goto done;
@@ -316,7 +317,8 @@ const AVCodec ff_libkvazaar_encoder = {
.long_name = NULL_IF_CONFIG_SMALL("libkvazaar H.265 / HEVC"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_HEVC,
- .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,
+ .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
+ AV_CODEC_CAP_OTHER_THREADS,
.pix_fmts = pix_fmts,
.priv_class = &class,