isomp4: Add support VP9 codec

Add fourcc for VP9 codec and support it by qtdemux and qtmux
See also https://www.webmproject.org/vp9/mp4/

https://bugzilla.gnome.org/show_bug.cgi?id=790026
This commit is contained in:
Seungha Yang 2017-11-13 10:38:06 +09:00 committed by Nicolas Dufresne
parent f89d672eb7
commit 93f19b19d2
4 changed files with 9 additions and 0 deletions

View file

@ -251,6 +251,7 @@ G_BEGIN_DECLS
#define FOURCC_vc_1 GST_MAKE_FOURCC('v','c','-','1')
#define FOURCC_vide GST_MAKE_FOURCC('v','i','d','e')
#define FOURCC_vmhd GST_MAKE_FOURCC('v','m','h','d')
#define FOURCC_vp09 GST_MAKE_FOURCC('v','p','0','9')
#define FOURCC_xvid GST_MAKE_FOURCC('x','v','i','d')
#define FOURCC_wave GST_MAKE_FOURCC('w','a','v','e')
#define FOURCC_wide GST_MAKE_FOURCC('w','i','d','e')

View file

@ -5348,6 +5348,8 @@ gst_qt_mux_video_sink_set_caps (GstQTPad * qtpad, GstCaps * caps)
} else if (strcmp (mimetype, "video/x-vp8") == 0) {
entry.fourcc = FOURCC_VP80;
sync = FALSE;
} else if (strcmp (mimetype, "video/x-vp9") == 0) {
entry.fourcc = FOURCC_vp09;
} else if (strcmp (mimetype, "video/x-dirac") == 0) {
entry.fourcc = FOURCC_drac;
} else if (strcmp (mimetype, "video/x-qt-part") == 0) {

View file

@ -196,6 +196,8 @@ GstQTMuxFormatProp gst_qt_mux_format_list[] = {
COMMON_VIDEO_CAPS_NO_FRAMERATE "; "
"video/x-vp8, "
COMMON_VIDEO_CAPS "; "
"video/x-vp9, "
COMMON_VIDEO_CAPS "; "
"video/x-dirac, "
COMMON_VIDEO_CAPS "; " "video/x-qt-part, " COMMON_VIDEO_CAPS),
GST_STATIC_CAPS (PCM_CAPS_FULL "; "

View file

@ -13940,6 +13940,10 @@ qtdemux_video_caps (GstQTDemux * qtdemux, QtDemuxStream * stream,
_codec ("On2 VP8");
caps = gst_caps_from_string ("video/x-vp8");
break;
case FOURCC_vp09:
_codec ("Google VP9");
caps = gst_caps_from_string ("video/x-vp9");
break;
case FOURCC_apcs:
_codec ("Apple ProRes LT");
caps =