mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 21:28:45 +00:00
qtmux: add CineForm support
https://bugzilla.gnome.org/show_bug.cgi?id=780024
This commit is contained in:
parent
6cb8c802f4
commit
534be3313c
5 changed files with 14 additions and 0 deletions
|
@ -254,6 +254,7 @@ G_BEGIN_DECLS
|
||||||
#define FOURCC_wide GST_MAKE_FOURCC('w','i','d','e')
|
#define FOURCC_wide GST_MAKE_FOURCC('w','i','d','e')
|
||||||
#define FOURCC_zlib GST_MAKE_FOURCC('z','l','i','b')
|
#define FOURCC_zlib GST_MAKE_FOURCC('z','l','i','b')
|
||||||
|
|
||||||
|
#define FOURCC_cfhd GST_MAKE_FOURCC('C','F','H','D')
|
||||||
#define FOURCC_ap4x GST_MAKE_FOURCC('a','p','4','x')
|
#define FOURCC_ap4x GST_MAKE_FOURCC('a','p','4','x')
|
||||||
#define FOURCC_ap4h GST_MAKE_FOURCC('a','p','4','h')
|
#define FOURCC_ap4h GST_MAKE_FOURCC('a','p','4','h')
|
||||||
#define FOURCC_apch GST_MAKE_FOURCC('a','p','c','h')
|
#define FOURCC_apch GST_MAKE_FOURCC('a','p','c','h')
|
||||||
|
|
|
@ -4380,6 +4380,9 @@ gst_qt_mux_video_sink_set_caps (GstQTPad * qtpad, GstCaps * caps)
|
||||||
qtmux->interleave_time = 500 * GST_MSECOND;
|
qtmux->interleave_time = 500 * GST_MSECOND;
|
||||||
if (!qtmux->interleave_bytes_set)
|
if (!qtmux->interleave_bytes_set)
|
||||||
qtmux->interleave_bytes = width > 720 ? 4 * 1024 * 1024 : 2 * 1024 * 1024;
|
qtmux->interleave_bytes = width > 720 ? 4 * 1024 * 1024 : 2 * 1024 * 1024;
|
||||||
|
} else if (strcmp (mimetype, "video/x-cineform") == 0) {
|
||||||
|
entry.fourcc = FOURCC_cfhd;
|
||||||
|
sync = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!entry.fourcc)
|
if (!entry.fourcc)
|
||||||
|
|
|
@ -84,6 +84,10 @@
|
||||||
"variant = (string) {standard, lt, hq, proxy, 4444, 4444xq}, " \
|
"variant = (string) {standard, lt, hq, proxy, 4444, 4444xq}, " \
|
||||||
COMMON_VIDEO_CAPS
|
COMMON_VIDEO_CAPS
|
||||||
|
|
||||||
|
#define CINEFORM_CAPS \
|
||||||
|
"video/x-cineform, " \
|
||||||
|
COMMON_VIDEO_CAPS
|
||||||
|
|
||||||
#define SVQ_CAPS \
|
#define SVQ_CAPS \
|
||||||
"video/x-svq, " \
|
"video/x-svq, " \
|
||||||
"svqversion = (int) 3, " \
|
"svqversion = (int) 3, " \
|
||||||
|
@ -178,6 +182,7 @@ GstQTMuxFormatProp gst_qt_mux_format_list[] = {
|
||||||
COMMON_VIDEO_CAPS "; "
|
COMMON_VIDEO_CAPS "; "
|
||||||
MPEG4V_CAPS "; "
|
MPEG4V_CAPS "; "
|
||||||
PRORES_CAPS "; "
|
PRORES_CAPS "; "
|
||||||
|
CINEFORM_CAPS "; "
|
||||||
H263_CAPS "; "
|
H263_CAPS "; "
|
||||||
H264_CAPS "; "
|
H264_CAPS "; "
|
||||||
H265_CAPS "; "
|
H265_CAPS "; "
|
||||||
|
|
|
@ -13747,6 +13747,10 @@ qtdemux_video_caps (GstQTDemux * qtdemux, QtDemuxStream * stream,
|
||||||
gst_caps_new_simple ("video/x-prores", "variant", G_TYPE_STRING,
|
gst_caps_new_simple ("video/x-prores", "variant", G_TYPE_STRING,
|
||||||
"4444xq", NULL);
|
"4444xq", NULL);
|
||||||
break;
|
break;
|
||||||
|
case FOURCC_cfhd:
|
||||||
|
_codec ("GoPro CineForm");
|
||||||
|
caps = gst_caps_from_string ("video/x-cineform");
|
||||||
|
break;
|
||||||
case FOURCC_vc_1:
|
case FOURCC_vc_1:
|
||||||
case FOURCC_ovc1:
|
case FOURCC_ovc1:
|
||||||
_codec ("VC-1");
|
_codec ("VC-1");
|
||||||
|
|
|
@ -94,6 +94,7 @@ static const QtNodeType qt_node_types[] = {
|
||||||
{FOURCC_dfLa, "dfLa", 0, qtdemux_dump_dfLa},
|
{FOURCC_dfLa, "dfLa", 0, qtdemux_dump_dfLa},
|
||||||
{FOURCC_wave, "wave", QT_FLAG_CONTAINER},
|
{FOURCC_wave, "wave", QT_FLAG_CONTAINER},
|
||||||
{FOURCC_appl, "appl", QT_FLAG_CONTAINER},
|
{FOURCC_appl, "appl", QT_FLAG_CONTAINER},
|
||||||
|
{FOURCC_cfhd, "cfhd", QT_FLAG_CONTAINER},
|
||||||
{FOURCC_esds, "esds", 0},
|
{FOURCC_esds, "esds", 0},
|
||||||
{FOURCC_hnti, "hnti", QT_FLAG_CONTAINER},
|
{FOURCC_hnti, "hnti", QT_FLAG_CONTAINER},
|
||||||
{FOURCC_rtp_, "rtp ", 0, qtdemux_dump_unknown},
|
{FOURCC_rtp_, "rtp ", 0, qtdemux_dump_unknown},
|
||||||
|
|
Loading…
Reference in a new issue