mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 06:46:38 +00:00
avcodecmap: Add support for SpeedHQ video codec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/79>
This commit is contained in:
parent
e1928898c8
commit
f7371f8691
2 changed files with 31 additions and 1 deletions
|
@ -19166,7 +19166,7 @@
|
||||||
"long-name": "libav NewTek SpeedHQ decoder",
|
"long-name": "libav NewTek SpeedHQ decoder",
|
||||||
"pad-templates": {
|
"pad-templates": {
|
||||||
"sink": {
|
"sink": {
|
||||||
"caps": "unknown/unknown:\n",
|
"caps": "video/x-speedhq:\n",
|
||||||
"direction": "sink",
|
"direction": "sink",
|
||||||
"presence": "always"
|
"presence": "always"
|
||||||
},
|
},
|
||||||
|
|
|
@ -1413,6 +1413,21 @@ gst_ffmpeg_codecid_to_caps (enum AVCodecID codec_id,
|
||||||
"video/x-cineform", NULL);
|
"video/x-cineform", NULL);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case AV_CODEC_ID_SPEEDHQ:
|
||||||
|
if (context && context->codec_tag) {
|
||||||
|
gchar *variant = g_strdup_printf ("%" GST_FOURCC_FORMAT,
|
||||||
|
GST_FOURCC_ARGS (context->codec_tag));
|
||||||
|
caps =
|
||||||
|
gst_ff_vid_caps_new (context, NULL, codec_id, encode,
|
||||||
|
"video/x-speedhq", "variant", G_TYPE_STRING, variant, NULL);
|
||||||
|
g_free (variant);
|
||||||
|
} else {
|
||||||
|
caps =
|
||||||
|
gst_ff_vid_caps_new (context, NULL, codec_id, encode,
|
||||||
|
"video/x-speedhq", NULL);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case AV_CODEC_ID_AAC:
|
case AV_CODEC_ID_AAC:
|
||||||
{
|
{
|
||||||
caps =
|
caps =
|
||||||
|
@ -3415,6 +3430,18 @@ gst_ffmpeg_caps_with_codecid (enum AVCodecID codec_id,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case AV_CODEC_ID_SPEEDHQ:
|
||||||
|
{
|
||||||
|
const gchar *variant;
|
||||||
|
|
||||||
|
if (context && (variant = gst_structure_get_string (str, "variant"))
|
||||||
|
&& strlen (variant) == 4) {
|
||||||
|
|
||||||
|
context->codec_tag =
|
||||||
|
GST_MAKE_FOURCC (variant[0], variant[1], variant[2], variant[3]);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -4070,6 +4097,9 @@ gst_ffmpeg_caps_to_codecid (const GstCaps * caps, AVCodecContext * context)
|
||||||
} else if (!strcmp (mimetype, "video/x-cineform")) {
|
} else if (!strcmp (mimetype, "video/x-cineform")) {
|
||||||
id = AV_CODEC_ID_CFHD;
|
id = AV_CODEC_ID_CFHD;
|
||||||
video = TRUE;
|
video = TRUE;
|
||||||
|
} else if (!strcmp (mimetype, "video/x-speedhq")) {
|
||||||
|
id = AV_CODEC_ID_SPEEDHQ;
|
||||||
|
video = TRUE;
|
||||||
} else if (!strcmp (mimetype, "video/x-indeo")) {
|
} else if (!strcmp (mimetype, "video/x-indeo")) {
|
||||||
gint indeoversion = 0;
|
gint indeoversion = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue