libde265dec: Only decode the main profile

The src caps of the libde265 is now fixed to I420, and so if the
stream is other format, such as 4:4:4 or 10 bits format, the pipeline
will crash because the dowstream element accesses the video buffer as
I420 format.
We now restrain the input caps to "main" profile, which only contains
4:2:0 8 bits stream.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5573>
This commit is contained in:
He Junyan 2023-10-28 22:55:04 +08:00 committed by GStreamer Marge Bot
parent 8f18fde21a
commit e7479a8c94
2 changed files with 5 additions and 2 deletions

View file

@ -12144,7 +12144,7 @@
"long-name": "HEVC/H.265 decoder",
"pad-templates": {
"sink": {
"caps": "video/x-h265:\n stream-format: { (string)hvc1, (string)hev1, (string)byte-stream }\n alignment: { (string)au, (string)nal }\n",
"caps": "video/x-h265:\n stream-format: { (string)hvc1, (string)hev1, (string)byte-stream }\n alignment: { (string)au, (string)nal }\n profile: main\n",
"direction": "sink",
"presence": "always"
},

View file

@ -55,7 +55,10 @@ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_ALWAYS,
GST_STATIC_CAPS
("video/x-h265, stream-format=(string) { hvc1, hev1, byte-stream }, "
"alignment=(string) { au, nal }")
"alignment=(string) { au, nal }, "
/* TODO: Can support more profiles by adding the according
output formats in src caps. */
"profile=(string) main")
);
static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",