From 69b06ed42809432b5892e29cfc496a77e60b7765 Mon Sep 17 00:00:00 2001 From: Mark Thompson Date: Tue, 12 Apr 2016 23:15:03 +0100 Subject: vaapi_encode: Add support for codec-local options Signed-off-by: Anton Khirnov --- libavcodec/vaapi_encode.c | 1 + libavcodec/vaapi_encode.h | 5 +++++ 2 files changed, 6 insertions(+) (limited to 'libavcodec') diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c index b1f00695c7..c80e638cad 100644 --- a/libavcodec/vaapi_encode.c +++ b/libavcodec/vaapi_encode.c @@ -905,6 +905,7 @@ av_cold int ff_vaapi_encode_init(AVCodecContext *avctx, } ctx->codec = type; + ctx->codec_options = ctx->codec_options_data; ctx->priv_data = av_mallocz(type->priv_data_size); if (!ctx->priv_data) { diff --git a/libavcodec/vaapi_encode.h b/libavcodec/vaapi_encode.h index 9716578e5a..ec552dad0a 100644 --- a/libavcodec/vaapi_encode.h +++ b/libavcodec/vaapi_encode.h @@ -172,6 +172,11 @@ typedef struct VAAPIEncodeContext { int p_counter; int end_of_stream; + // Codec-local options are allocated to follow this structure in + // memory (in the AVCodec definition, set priv_data_size to + // sizeof(VAAPIEncodeContext) + sizeof(VAAPIEncodeFooOptions)). + void *codec_options; + char codec_options_data[0]; } VAAPIEncodeContext; -- cgit v1.2.3