summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-09-30 18:05:38 +0300
committerSebastian Dröge <sebastian@centricular.com>2016-11-01 20:41:22 +0200
commit7b565475bf551c53b8eed46f7086f3b372f1f6c4 (patch)
tree0b073533470f1e1bbaf1690337b50f2b47b58422
parenta2c692148241a7e255593b9b2ebd3bd42421a90b (diff)
qt: Add support for ProRes 4444 XQ
And also 4444 in the muxer. https://bugzilla.gnome.org/show_bug.cgi?id=769048
-rw-r--r--gst/isomp4/fourcc.h1
-rw-r--r--gst/isomp4/gstqtmux.c4
-rw-r--r--gst/isomp4/qtdemux.c6
3 files changed, 11 insertions, 0 deletions
diff --git a/gst/isomp4/fourcc.h b/gst/isomp4/fourcc.h
index 160e6ca28..43e4f50e1 100644
--- a/gst/isomp4/fourcc.h
+++ b/gst/isomp4/fourcc.h
@@ -245,6 +245,7 @@ G_BEGIN_DECLS
#define FOURCC_wide GST_MAKE_FOURCC('w','i','d','e')
#define FOURCC_zlib GST_MAKE_FOURCC('z','l','i','b')
+#define FOURCC_ap4x GST_MAKE_FOURCC('a','p','4','x')
#define FOURCC_ap4h GST_MAKE_FOURCC('a','p','4','h')
#define FOURCC_apch GST_MAKE_FOURCC('a','p','c','h')
#define FOURCC_apcn GST_MAKE_FOURCC('a','p','c','n')
diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c
index 49d59618d..5407f22f0 100644
--- a/gst/isomp4/gstqtmux.c
+++ b/gst/isomp4/gstqtmux.c
@@ -4250,6 +4250,10 @@ gst_qt_mux_video_sink_set_caps (GstQTPad * qtpad, GstCaps * caps)
entry.fourcc = FOURCC_apch;
else if (!g_strcmp0 (variant, "proxy"))
entry.fourcc = FOURCC_apco;
+ else if (!g_strcmp0 (variant, "4444"))
+ entry.fourcc = FOURCC_ap4h;
+ else if (!g_strcmp0 (variant, "4444xq"))
+ entry.fourcc = FOURCC_ap4x;
}
if (!entry.fourcc)
diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c
index 96a2394a6..c4668a1c0 100644
--- a/gst/isomp4/qtdemux.c
+++ b/gst/isomp4/qtdemux.c
@@ -13375,6 +13375,12 @@ qtdemux_video_caps (GstQTDemux * qtdemux, QtDemuxStream * stream,
gst_caps_new_simple ("video/x-prores", "variant", G_TYPE_STRING,
"4444", NULL);
break;
+ case FOURCC_ap4x:
+ _codec ("Apple ProRes 4444 XQ");
+ caps =
+ gst_caps_new_simple ("video/x-prores", "variant", G_TYPE_STRING,
+ "4444xq", NULL);
+ break;
case FOURCC_vc_1:
case FOURCC_ovc1:
_codec ("VC-1");