summaryrefslogtreecommitdiff
path: root/libavcodec/vaapi_encode.h
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2016-04-12 23:13:31 +0100
committerAnton Khirnov <anton@khirnov.net>2016-04-15 10:07:04 +0200
commitf6b85523692b0e7d4c4efb8449fa201d313424fe (patch)
treeee84ef7e68d38e4dd1db1c3cff9f1e13d4b64b22 /libavcodec/vaapi_encode.h
parent18019f8cb9663dd1032c65aa453eaec18d641905 (diff)
vaapi_encode: Refactor slightly to allow easier setting of global options
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavcodec/vaapi_encode.h')
-rw-r--r--libavcodec/vaapi_encode.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/libavcodec/vaapi_encode.h b/libavcodec/vaapi_encode.h
index 1aea45884b..9716578e5a 100644
--- a/libavcodec/vaapi_encode.h
+++ b/libavcodec/vaapi_encode.h
@@ -32,6 +32,8 @@ struct VAAPIEncodeType;
struct VAAPIEncodePicture;
enum {
+ MAX_CONFIG_ATTRIBUTES = 4,
+ MAX_GLOBAL_PARAMS = 4,
MAX_PICTURE_REFERENCES = 2,
MAX_PICTURE_SLICES = 1,
MAX_PARAM_BUFFERS = 16,
@@ -128,15 +130,19 @@ typedef struct VAAPIEncodeContext {
AVBufferRef *recon_frames_ref;
AVHWFramesContext *recon_frames;
- VAConfigAttrib *config_attributes;
+ VAConfigAttrib config_attributes[MAX_CONFIG_ATTRIBUTES];
int nb_config_attributes;
+ VAEncMiscParameterBuffer *global_params[MAX_GLOBAL_PARAMS];
+ size_t global_params_size[MAX_GLOBAL_PARAMS];
+ int nb_global_params;
+
// Per-sequence parameter structure (VAEncSequenceParameterBuffer*).
void *codec_sequence_params;
// Per-sequence parameters found in the per-picture parameter
// structure (VAEncPictureParameterBuffer*).
- void *codec_picture_params;
+ void *codec_picture_params;
// Current encoding window, in display (input) order.
VAAPIEncodePicture *pic_start, *pic_end;