diff --git a/gst/isomp4/fourcc.h b/gst/isomp4/fourcc.h index 160e6ca280..43e4f50e19 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 49d59618d8..5407f22f0d 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 96a2394a6a..c4668a1c00 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");