summaryrefslogtreecommitdiff
path: root/gst/ivfparse
diff options
context:
space:
mode:
authorGeorg Ottinger <g.ottinger@gmx.at>2018-06-26 17:45:36 +0200
committerSebastian Dröge <sebastian@centricular.com>2018-06-29 07:31:16 +0200
commit71c5eae508dee9cc2d960682ef45066e8c1227d8 (patch)
treead39e8cb69b8c6cd34dfba9b945694e2c450b3c1 /gst/ivfparse
parenta387f4bc330eeed92425f0b27fe452ee0f91dedf (diff)
downloadgstreamer-plugins-bad-71c5eae508dee9cc2d960682ef45066e8c1227d8.tar.gz
ivfparse: Add the AV01 FOURCC for parsing AV1 IVFs
Adds AV01 FOURCC to the list of allowed media files, in order to allow parsing the IVF Container holding AV1 content. At a later point dynamic resolution change can be supported - therefore the sequence header OBU and frame header OBU of AV1 file must be parsed, which can be done in future with the help of gst-lib gstav1parse. https://bugzilla.gnome.org/show_bug.cgi?id=796677
Diffstat (limited to 'gst/ivfparse')
-rw-r--r--gst/ivfparse/gstivfparse.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gst/ivfparse/gstivfparse.c b/gst/ivfparse/gstivfparse.c
index e0e840117..c50c36197 100644
--- a/gst/ivfparse/gstivfparse.c
+++ b/gst/ivfparse/gstivfparse.c
@@ -200,6 +200,10 @@ fourcc_to_media_type (guint32 fourcc)
break;
case GST_MAKE_FOURCC ('V', 'P', '9', '0'):
return "video/x-vp9";
+ break;
+ case GST_MAKE_FOURCC ('A', 'V', '0', '1'):
+ return "video/x-av1";
+ break;
default:
return NULL;
}
@@ -341,8 +345,12 @@ gst_ivf_parse_handle_frame_data (GstIvfParse * ivf, GstBaseParseFrame * frame,
height = GST_READ_UINT16_LE (map.data + 8) & 0x3fff;
gst_ivf_parse_set_size (ivf, width, height);
}
- } else {
+ } else if (ivf->fourcc == GST_MAKE_FOURCC ('V', 'P', '9', '0')) {
/* Fixme: Add vp9 frame header parsing? */
+ } else if (ivf->fourcc == GST_MAKE_FOURCC ('A', 'V', '0', '1')) {
+ /* Fixme: Add av1 frame header parsing? */
+ /* This would allow to parse dynamic resolution changes */
+ /* implement when gstav1parser is ready */
}
gst_buffer_unmap (frame->out_buffer, &map);
}