Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gst-plugins-good.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorNicolas Dufresne <nicolas.dufresne@collabora.com>2020-08-12 00:24:11 +0300
committerNicolas Dufresne <nicolas.dufresne@collabora.com>2020-08-12 00:24:11 +0300
commit6b76be620b02cc0f19f9171492fa73e7ca9144c2 (patch)
treee4a9e63523883be1e0068d6bda880d99afd934a3 /sys
parent742d4355113a49c91011ed4a3341a8e9c7e2bd0b (diff)
v4l2h264codec: Map newly defined profile/levels
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/697>
Diffstat (limited to 'sys')
-rw-r--r--sys/v4l2/gstv4l2h264codec.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/sys/v4l2/gstv4l2h264codec.c b/sys/v4l2/gstv4l2h264codec.c
index 26a80ecd1..2ba16f503 100644
--- a/sys/v4l2/gstv4l2h264codec.c
+++ b/sys/v4l2/gstv4l2h264codec.c
@@ -68,6 +68,8 @@ v4l2_profile_from_string (const gchar * profile)
v4l2_profile = V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH;
} else if (g_str_equal (profile, "multiview-high")) {
v4l2_profile = V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH;
+ } else if (g_str_equal (profile, "constrained-high")) {
+ v4l2_profile = V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH;
} else {
GST_WARNING ("Unsupported profile string '%s'", profile);
}
@@ -113,6 +115,8 @@ v4l2_profile_to_string (gint v4l2_profile)
return "stereo-high";
case V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH:
return "multiview-high";
+ case V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH:
+ return "constrained-high";
default:
GST_WARNING ("Unsupported V4L2 profile %i", v4l2_profile);
break;
@@ -158,6 +162,14 @@ v4l2_level_from_string (const gchar * level)
v4l2_level = V4L2_MPEG_VIDEO_H264_LEVEL_5_0;
else if (g_str_equal (level, "5.1"))
v4l2_level = V4L2_MPEG_VIDEO_H264_LEVEL_5_1;
+ else if (g_str_equal (level, "5.2"))
+ v4l2_level = V4L2_MPEG_VIDEO_H264_LEVEL_5_2;
+ else if (g_str_equal (level, "6"))
+ v4l2_level = V4L2_MPEG_VIDEO_H264_LEVEL_6_0;
+ else if (g_str_equal (level, "6.1"))
+ v4l2_level = V4L2_MPEG_VIDEO_H264_LEVEL_6_1;
+ else if (g_str_equal (level, "6.2"))
+ v4l2_level = V4L2_MPEG_VIDEO_H264_LEVEL_6_2;
else
GST_WARNING ("Unsupported level '%s'", level);
@@ -200,6 +212,14 @@ v4l2_level_to_string (gint v4l2_level)
return "5";
case V4L2_MPEG_VIDEO_H264_LEVEL_5_1:
return "5.1";
+ case V4L2_MPEG_VIDEO_H264_LEVEL_5_2:
+ return "5.2";
+ case V4L2_MPEG_VIDEO_H264_LEVEL_6_0:
+ return "6";
+ case V4L2_MPEG_VIDEO_H264_LEVEL_6_1:
+ return "6.1";
+ case V4L2_MPEG_VIDEO_H264_LEVEL_6_2:
+ return "6.2";
default:
GST_WARNING ("Unsupported V4L2 level %i", v4l2_level);
break;