diff options
author | He Junyan <junyan.he@intel.com> | 2020-07-07 00:46:23 +0800 |
---|---|---|
committer | Víctor Manuel Jáquez Leal <vjaquez@igalia.com> | 2020-07-29 15:41:40 +0000 |
commit | 35c3de234cec95db9ef620aa72e2587a764ba451 (patch) | |
tree | 6f2b83ab08cd484fae1f800eec4d8984e18b34f7 | |
parent | b86489eb8c13dece2bd389838e2eeea250fa2ff5 (diff) | |
download | gstreamer-vaapi-35c3de234cec95db9ef620aa72e2587a764ba451.tar.gz |
plugins: encode: vp9: Implement vp9's allowed_profiles() func.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/188>
-rw-r--r-- | gst/vaapi/gstvaapiencode_vp9.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gst/vaapi/gstvaapiencode_vp9.c b/gst/vaapi/gstvaapiencode_vp9.c index 053bf53d..45384620 100644 --- a/gst/vaapi/gstvaapiencode_vp9.c +++ b/gst/vaapi/gstvaapiencode_vp9.c @@ -36,6 +36,7 @@ #include "gstcompat.h" #include <gst/vaapi/gstvaapidisplay.h> #include <gst/vaapi/gstvaapiencoder_vp9.h> +#include <gst/vaapi/gstvaapiutils_vpx.h> #include "gstvaapiencode_vp9.h" #include "gstvaapipluginutil.h" #include "gstvaapivideomemory.h" @@ -52,7 +53,8 @@ GST_DEBUG_CATEGORY_STATIC (gst_vaapi_vp9_encode_debug); #define EXTRA_FORMATS {} /* vp9 encode */ -GST_VAAPI_ENCODE_REGISTER_TYPE (vp9, VP9, VP9, EXTRA_FORMATS, NULL); +GST_VAAPI_ENCODE_REGISTER_TYPE (vp9, VP9, VP9, EXTRA_FORMATS, + gst_vaapi_utils_vp9_get_profile_string); static void gst_vaapiencode_vp9_init (GstVaapiEncodeVP9 * encode) @@ -66,6 +68,14 @@ gst_vaapiencode_vp9_finalize (GObject * object) G_OBJECT_CLASS (gst_vaapiencode_vp9_parent_class)->finalize (object); } +static GArray * +gst_vaapiencode_vp9_get_allowed_profiles (GstVaapiEncode * encode, + GstCaps * allowed) +{ + return gst_vaapi_encoder_get_profiles_from_caps (allowed, + gst_vaapi_utils_vp9_get_profile_from_string); +} + static GstCaps * gst_vaapiencode_vp9_get_caps (GstVaapiEncode * base_encode) { @@ -99,6 +109,7 @@ gst_vaapiencode_vp9_class_init (GstVaapiEncodeVP9Class * klass, gpointer data) object_class->set_property = gst_vaapiencode_set_property_subclass; object_class->get_property = gst_vaapiencode_get_property_subclass; + encode_class->get_allowed_profiles = gst_vaapiencode_vp9_get_allowed_profiles; encode_class->get_caps = gst_vaapiencode_vp9_get_caps; encode_class->alloc_encoder = gst_vaapiencode_vp9_alloc_encoder; |